如何使用 Python 在 Tensorflow 中执行 Unicode 操作?
pythonserver side programmingprogrammingtensorflow
可以通过首先获取字符串的长度并将其设置为其他值(默认值为"byte")来执行 Unicode 操作。‘encode’ 方法用于将代码点向量转换为编码字符串标量。这样做是为了确定每个编码字符串中的 Unicode 代码点。
阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?
处理自然语言的模型可以处理具有不同字符集的不同语言。Unicode 被视为标准编码系统,用于表示几乎所有语言的字符。每个字符都借助 0 到 0x10FFFF 之间的唯一整数代码点进行编码。 Unicode 字符串是零个或多个代码值的序列。
让我们了解如何使用 Python 表示 Unicode 字符串,并使用 Unicode 等效项来操作这些字符串。首先,我们借助标准字符串操作的 Unicode 等效项,根据脚本检测将 Unicode 字符串分离为标记。
我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 有助于在浏览器上运行 Python 代码,并且无需配置,可以免费访问 GPU(图形处理单元)。 Colaboratory 已在 Jupyter Notebook 上构建。
print("The final character takes about 4 bytes in UTF-8 encoding") thanks = u'Hello 😊'.encode('UTF-8') num_bytes = tf.strings.length(thanks).numpy() num_chars = tf.strings.length(thanks, unit='UTF8_CHAR').numpy() print('{} bytes; {} UTF-8 characters'.format(num_bytes, num_chars))
代码来源:https://www.tensorflow.org/tutorials/load_data/unicode
输出
The final character takes about 4 bytes in UTF-8 encoding 10 bytes; 7 UTF-8 characters
解释
- tf.strings.length 操作有一个参数 unit,指示需要计算长度的方法。
- 单位默认为"BYTE",但可以设置为其他值,例如"UTF8_CHAR"或"UTF16_CHAR"。
- 这样做是为了查找每个编码字符串中的 Unicode 代码点数量。