如何使用TensorFlow结合tf.data API和分词器?


‘tf.data’ API 可用于对字符串进行分词。分词是将字符串分解成标记的方法。这些标记可以是单词、数字或标点符号。

阅读更多: 什么是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("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://tensorflowcn.cn/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与分词器一起使用。
  • 完成此操作后,将对输入调用空格分词器。
  • 迭代标记,然后将其存储在列表中。

更新于: 2021年2月22日

172 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告