如何使用 Tensorflow 与 tf.data API 和 tokenizer 协同工作?
‘tf.data’ API 可用于对字符串进行 token 化。Tokenization 是将字符串分解为 token 的方法。这些标记可以是单词、数字或标点符号。
阅读更多: 什么是 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。有多个 tokenizer,每个 tokenizer 都实现 TokenizerWithOffsets(扩展了 Tokenizer 类)。这包括一个选项,用于获取原始字符串中的字节偏移量。这有助于了解创建 token 的原始字符串中的字节。
示例
print("Tokenizer with tf.data API")
docs = tf.data.Dataset.from_tensor_slices([['Never tell me about the odds.'], ["It's not trye!"]])
print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
tokenized_docs = docs.map(lambda x: tokenizer.tokenize(x))
iterator = iter(tokenized_docs)
print(next(iterator).to_list())
print(next(iterator).to_list())
代码来源 −https://www.tensorflow.org/tutorials/tensorflow_text/intro
输出
Tokenizer with tf.data API Whitespace tokenizer is being called [[b'Never', b'tell', b'me', b'about', b'the', b'odds.']] [[b"It's", b'not', b'trye!']]
解释
- tf.data API 与 tokenizer 一起使用。
- 完成后,将在输入上调用空白 tokenizer。
- 对 token 进行迭代,然后将其存储在列表中。

