如何在 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 代码点数。

更新于: 2021年2月20日

106 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告