如何在Python中使用Tensorflow文本和空格分词器?

如何在Python中使用Tensorflow文本和空格分词器?

可以通过调用“WhitespaceTokenizer”使用Tensorflow文本和空格分词器,它创建一个分词器,并使用“tokenize”方法处理字符串。

更多Python相关文章,请阅读:Python 教程

我们将使用Keras Sequential API,它对于构建顺序模型非常有用,该模型用于处理始终具有一个输入张量和一个输出张量的层栈。

至少包含一层的神经网络称为卷积层。我们可以 使用卷积神经网络来构建学习模型。

TensorFlow Text包含与TensorFlow 2.0一起使用的一系列与文本相关的类和操作。 TensorFlow文本可用于 预处理序列建模。

我们使用Google Colaboratory来运行以下代码。 Google Colab或Colaboratory可帮助在浏览器上运行Python代码,并且不需要任何配置,并提供免费访问GPU(图形处理单元)。 Colaboratory是在Jupyter Notebook上构建的。

分词是将字符串分解为标记的方法。这些标记可以是单词,数字或标点符号。关键接口包括Tokenizer和TokenizerWithOffsets,它们分别具有单个方法tokenize和tokenize_with_offsets。有多个分词器,每个分词器都实现了TokenizerWithOffsets(它扩展了Tokenizer类)。这包括一个选项,可获得原始字符串中的字节偏移量。这有助于了解创建令牌的原始字节字符串。

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

其他还有与数值相关的缩减方法,它们是Reduction.SUM和Reduction.MEAN。

例子

print("正在调用空格分词器")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['Everything not saved will be lost.', 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,因此称为二元组。
  • 标记存储在列表中,并在控制台上显示。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程