如何在 Python 中将 Tensorflow 文本与空白标记器一起使用?
通过调用‘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,因此它被称为二元语法。
- 标记存储在列表中,并显示在控制台上。