如何在 Python 中将 Tensorflow 文本与空白标记器一起使用?

tensorflowpythonserver side programmingprogramming

通过调用‘WhitespaceTokenizer’’,可以将 Tensorflow 文本与空白标记器一起使用,这将创建一个标记器,该标记器与‘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 类)。这包括一个选项,用于获取原始字符串中的字节偏移量。这有助于了解创建标记的原始字符串中的字节。

当给定大小为 n 的滑动窗口时,N-gram 是连续的单词。当标记组合时,支持三种缩减机制。对于文本,可以使用 Reduction.STRING_JOIN。它将字符串附加到彼此。默认分隔符是空格,但可以使用 string_separater 参数进行更改。

其他归约方法与数值一起使用,它们是 Reduction.SUM 和 Reduction.MEAN。

示例

print("正在调用空白标记器")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['未保存的所有内容都将丢失。', u'Sad☹'.encode('UTF-8')])
print("此处,n 为 2,因此它是二元语法")
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print("二元语法被转换为列表")
print(bigrams.to_list())

输出

正在调用空白标记器
此处,n 为 2,因此它是二元语法
二元语法被转换为列表
[[b'Everything not', b'not saved', b'saved will', b'will be', b'be lost.'], []]

解释

  • 调用空白标记器。
  • ‘n’ 的值设置为 2,因此它被称为二元语法。
  • 标记存储在列表中,并显示在控制台上。

相关文章