如何使用 Python 中的 unicode_split() 将 Tensorflow 文本按字符拆分字符串?
可以使用‘unicode_split’方法将 Tensorflow 文本按字符拆分字符串,方法是先对拆分的字符串进行编码,然后将函数调用分配给变量。此变量保存函数调用的结果。
阅读更多: 什么是 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 类)。这包括一个将字节偏移量获取到原始字符串中的选项。这有助于了解创建 token 的原始字符串中的字节。
示例
print("编码字符被拆分") tokens = tf.strings.unicode_split([u"仅今年前".encode('UTF-8')], 'UTF-8') print("标记化的数据已转换为列表") print(tokens.to_list())
代码来源 −https://www.tensorflow.org/tutorials/tensorflow_text/intro
输出
编码字符被拆分 标记化的数据已转换为列表 [[b'\xe4\xbb\x85', b'\xe4\xbb\x8a', b'\xe5\xb9\xb4', b'\xe5\x89\x8d']]
解释
所有标记器都返回 RaggedTensors,其中标记的最内层维度映射到原始单个字符串。
结果形状的等级增加了一个。
在不使用空格来分割单词的情况下对语言进行标记时,通常按字符进行拆分。
这可以使用 Tensorflow 核心中的 unicode_split 操作来完成。
一旦调用 unicode_split,标记化的数据就会添加到列表中。