如何使用 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 代码点数量。

相关文章