如何使用Tensorflow文本在Python中使用unicode_split()按字符分割字符串?
可以使用Tensorflow文本的“unicode_split”方法,首先通过对拆分字符串进行编码,然后将函数调用分配给变量来按字符分割字符串。此变量保存函数调用的结果。
更多Python相关文章,请阅读:Python 教程
我们将使用Keras Sequential API,该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(“分隔编码字符”)
tokens = tf.strings.unicode_split([u“仅今年前”.encode('UTF-8')],'UTF-8')
print(“令牌化数据已转换为列表”)
print(tokens.to_list())
代码来源− https://www.tensorflow.org/tutorials/tensorflow_text/intro
输出
编码字符已拆分
令牌化数据已转换为列表
[[b'\xe4\xbb\x85',b'\xe4\xbb\x8a',b'\xe5\xb9\xb4',b'\xe5\x89\x8d']]
说明
-
所有标记化器都返回RaggedTensors,其中最内层维度的标记映射到原始单个字符串。
-
结果形状的秩增加了一。
-
当在不使用空格分段单词的语言中进行标记化时,通常按字符拆分。
-
这可以使用在Tensorflow核心中找到的unicode_split操作来完成。
-
调用unicode_split之后,将标记化数据添加到列表中。