如何使用 Tensorflow 将不规则张量的单词代码点分割回句子?
pythonserver side programmingprogrammingtensorflow
不规则张量的单词代码点可以用以下方法分割:分割是指将文本分割成类似单词的单元。这在使用空格字符分隔单词的情况下使用,但有些语言(如中文和日语)不使用空格。有些语言(如德语)包含较长的复合词,需要将其分割才能分析其含义。
将单词的代码点分割回句子。下一步是检查单词中字符的代码点是否存在于句子中。如果存在,则会创建一个不规则的张量,并将句子编码回标准编码。
阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?
让我们了解如何使用 Python 表示 Unicode 字符串,并使用 Unicode 等效项来操作这些字符串。首先,我们在标准字符串操作的 Unicode 等效项的帮助下,根据脚本检测将 Unicode 字符串分离为标记。
我们正在使用 Google Colaboratory 运行以下代码。 Google Colab 或 Colaboratory 可帮助在浏览器上运行 Python 代码,无需配置,并可免费访问 GPU(图形处理单元)。Colaboratory 是在 Jupyter Notebook 之上构建的。
print("将单词代码点分割回句子") print("检查单词中字符的代码点是否存在于句子中") sentence_word_char_codepoint = tf.RaggedTensor.from_row_lengths( values=word_char_codepoint, row_lengths=sentence_num_words) print(sentence_word_char_codepoint) print("将其编码回 UTF-8") tf.strings.unicode_encode(sentence_word_char_codepoint, 'UTF-8').to_list()
代码来源:https://www.tensorflow.org/tutorials/load_data/unicode
输出
将单词代码点分割回句子 检查单词中字符的代码点是否存在于句子中 <tf.RaggedTensor [[[72, 101, 108, 108, 111], [44, 32], [116, 104, 101, 114, 101], [46]], [[19990, 30028], [12371, 12435, 12395, 12385, 12399]]]> 将其编码回 UTF-8 [[b'Hello', b', ', b'there', b'.'], [b'\xe4\xb8\x96\xe7\x95\x8c', b'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf']]
解释
- 代码点被分割成句子。
- 确定字符的代码点是否存在于句子中。
- 解码后的数据被编码回UTF-8编码。