如何使用 UnicodeScriptTokenizer 与 Tensorflow text 对数据进行编码?
可以使用“UnicodeScriptTokenizer”对数据进行标记化。可以获得每个句子中每个单词的起始和结束偏移量。
阅读更多: 什么是 TensorFlow 以及 Keras 如何与 TensorFlow 协作创建神经网络?
我们将使用 Keras Sequential API,它有助于构建一个顺序模型,该模型用于处理层级结构的堆叠,其中每一层都只有一个输入张量和一个输出张量。
包含至少一层卷积层的神经网络称为卷积神经网络。我们可以使用卷积神经网络构建学习模型。
TensorFlow Text 包含与文本相关的类和操作的集合,可用于 TensorFlow 2.0。TensorFlow Text 可用于预处理序列建模。
我们正在使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置,并可免费访问 GPU(图形处理单元)。Colaboratory 是建立在 Jupyter Notebook 之上的。
标记化是将字符串分解成标记的方法。这些标记可以是单词、数字或标点符号。
重要的接口包括 Tokenizer 和 TokenizerWithOffsets,每个接口都分别具有一个 tokenize 和 tokenize_with_offsets 方法。有多个标记器,每个标记器都实现了 TokenizerWithOffsets(它扩展了 Tokenizer 类)。这包括一个获取原始字符串中字节偏移量的选项。这有助于了解创建标记时原始字符串中的字节。
示例
print("Unicode script tokenizer is being called")
tokenizer = text.UnicodeScriptTokenizer()
(tokens, start_offsets, end_offsets) = tokenizer.tokenize_with_offsets(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("The tokenized data is converted to a list")
print(tokens.to_list())
print("The beginning offsets of characters are stored in a list ")
print(start_offsets.to_list())
print("The ending offsets of characters are stored in a list ")
print(end_offsets.to_list())代码来源 −https://tensorflowcn.cn/tutorials/tensorflow_text/intro
输出
Unicode script tokenizer is being called The tokenized data is converted to a list [[b'everything', b'not', b'saved', b'will', b'be', b'lost', b'.'], [b'Sad', b'\xe2\x98\xb9']] The beginning offsets of characters are stored in a list [[0, 11, 15, 21, 26, 29, 33], [0, 3]] The ending offsets of characters are stored in a list [[10, 14, 20, 25, 28, 33, 34], [3, 6]]
解释
在对字符串进行标记化时,了解标记在原始字符串中的来源位置非常重要。
因此,每个实现 TokenizerWithOffsets 的标记器都具有一个 tokenize_with_offsets 方法。
此方法会返回字节偏移量以及标记。
start_offsets 将指示每个标记在原始字符串中开始处的字节数。
end_offsets 将指示每个标记结束点之后的字节数。
需要注意的是,起始偏移量是包含的,而结束偏移量是不包含的。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP