如何使用Python在Tensorflow中执行Unicode操作?
首先获取字符串的长度,然后将其设置为其他值(默认值为’byte’)。使用“encode”方法将码点向量转换为编码的字符串标量。这样做是为了确定每个编码字符串中的Unicode码点。
更多Python相关文章,请阅读:Python 教程
处理自然语言的模型处理具有不同字符集的不同语言。Unicode被认为是用于表示来自几乎所有语言的字符的标准编码系统。每个字符都是用介于0和0x10FFFF之间的唯一整数码点进行编码的。Unicode字符串是零个或多个编码值的序列。
让我们了解如何使用Python表示Unicode字符串,并使用Unicode等效项对其进行操作。首先,我们使用标准字符串操作的Unicode等效项将Unicode字符串根据脚本检测分成令牌。
我们使用Google Colaboratory运行下面的代码。Google Colab或Colaboratory可以通过浏览器运行Python代码,需要零配置,并免费访问GPU(图形处理单元)。Colaboratory建立在Jupyter Notebook之上。
print("在UTF-8编码中,最后一个字符需要约4个字节")
thanks = u'Hello 😊'.encode('UTF-8')
num_bytes = tf.strings.length(thanks).numpy()
num_chars = tf.strings.length(thanks, unit='UTF8_CHAR').numpy()
print('{} 字节;{} 个UTF-8字符'.format(num_bytes, num_chars))
代码来源:https://www.tensorflow.org/tutorials/load_data/unicode
输出
在UTF-8编码中,最后一个字符需要约4个字节
10 字节;7 个UTF-8字符
说明
- tf.strings.length操作有一个参数unit,用于指示需要计算的长度方法。
- 默认单位为“BYTE”,但可以设置为其他值,例如“UTF8_CHAR”或“UTF16_CHAR”。
- 这样做是为了找到每个编码字符串中的Unicode码点的数量。
极客教程