如何在Python中使用tf.text检查一个字符串是否具有特定的属性?

如何在Python中使用tf.text检查一个字符串是否具有特定的属性?

可以使用“wordshape”方法以及特定条件,例如“HAS_TITLE_CASE”、“IS_NUMERIC_VALUE”或“HAS_SOME_PUNCT_OR_SYMBOL”来检查一个字符串是否具有特定的属性。

我们将使用Keras序列API,它有助于构建用于处理纯堆栈层的顺序模型,其中每个层恰好有一个输入张量和一个输出张量。

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

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

我们使用Google Colaboratory来运行以下代码。 Google Colab或Colaboratory可在浏览器中运行Python代码,无需任何配置即可免费访问GPU(图形处理单元)。Colaboratory是在Jupyter Notebook的基础上构建的。

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

某些自然语言理解模型中常用的一个特性是查看文本字符串是否具有特定属性。Wordshape定义了各种有用的基于正则表达式的辅助函数,用于匹配输入文本中各种相关模式。以下是一些示例。

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

示例

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
print("Tokens being generated")
tokens = tokenizer.tokenize(['Everything that is not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Checking if it is capitalized")
f1 = text.wordshape(tokens, text.WordShape.HAS_TITLE_CASE)
print("Checking if all the letters are uppercase")
f2 = text.wordshape(tokens, text.WordShape.IS_UPPERCASE)
print("Checking if the tokens contain punctuation")
f3 = text.wordshape(tokens, text.WordShape.HAS_SOME_PUNCT_OR_SYMBOL)
print("Checking if the token is a number")
f4 = text.wordshape(tokens, text.WordShape.IS_NUMERIC_VALUE)
print("Printing the results")
print(f1.to_list())
print(f2.to_list())
print(f3.to_list())
print(f4.to_list())

代码信用− https://www.tensorflow.org/tutorials/tensorflow_text/intro

输出

调用空白字符分词器
生成令牌
检查是否首字母大写
检查所有字母是否都是大写
检查令牌是否包含标点符号
检查令牌是否为数字
打印结果
[[True, False, False, False, False, False, False, False], [True]]
[[False, False, False, False, False, False, False, False], [False]]
[[False, False, False, False, False, False, False, True], [True]]
[[False, False, False, False, False, False, False, False], [False]]

解释

  • 调用“WhitespaceTokenizer”并生成令牌。
  • 检查字母是否为大写字母。
  • 还检查其是否包含标点符号,以及是否为数字。
  • 在这些计算之后,显示布尔值。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程