如何使用 Tensorflow 和 Tensorflow 文本对字符串数据进行标记?
可以使用 Tensorflow 文本在 ‘WhitespaceTokenizer’ 的帮助下对字符串数据进行标记,这是一个创建的标记器,之后使用 ‘WhitespaceTokenizer’ 中的 ‘tokenize’ 方法在字符串上调用。
阅读更多: 什么是 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 类)。这包括一个选项,用于获取原始字符串中的字节偏移量。这有助于了解创建标记的原始字符串中的字节。
所有标记器都返回 RaggedTensors,其最内层的标记维度映射到原始的单个字符串。结果形状的等级增加了一。以下是一个例子:
示例
print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("The tokenized data is converted to a list")
print(tokens.to_list())
代码来源 −https://www.tensorflow.org/tutorials/tensorflow_text/intro
输出
Whitespace tokenizer is being called WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/util/dispatch.py:201: batch_gather (from tensorflow.python.ops.array_ops) is deprecated and will be removed after 2017-10-25. Instructions for updating: `tf.batch_gather` is deprecated, please use `tf.gather` with `batch_dims=-1` instead. The tokenized data is converted to a list [[b'everything', b'not', b'saved', b'will', b'be', b'lost.'], [b'Sad\xe2\x98\xb9']]
解释
上述代码实现了一个基本的标记器。
此标记器根据 ICU(Unicode 国际化组件)定义的空白字符拆分 UTF-8 字符串。

