如何在 Python 中使用 TensorFlow 执行 Unicode 操作?
Unicode 操作可以通过首先获取字符串的长度,并将其设置为其他值来执行(默认值为“byte”)。“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://tensorflowcn.cn/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,它指示需要计算长度的方法。
- unit 默认值为“BYTE”,但可以设置为其他值,例如“UTF8_CHAR”或“UTF16_CHAR”。
- 这样做是为了查找每个编码字符串中的 Unicode 代码点数。
广告