TensorFlow 現(xiàn)在可以支持 Unicode,這是一種標(biāo)準(zhǔn)編碼系統(tǒng),可以表示幾乎所有語言的字符。處理自然語言時(shí),了解字符的編碼方式非常重要。在像英語這樣的小字符集的語言中,每個(gè)字符都可以使用 ASCII 進(jìn)行表示。但是這種方法對(duì)于其他語言來說并不實(shí)用,例如中文,這些語言有數(shù)千個(gè)字符。即使處理英文文本,Emojis 等特殊字符也不能用 ASCII 表示。
定義字符及其編碼的最常用標(biāo)準(zhǔn)是 Unicode,它幾乎支持所有語言。對(duì)于 Unicode,每個(gè)字符使用唯一的整數(shù) code point 表示,其值介于 0 和 0x10FFFF 之間。當(dāng)按順序放置 code point 時(shí),將形成 Unicode 字符串。
Unicode tutorial colab展示了如何在 TensorFlow 中表示 Unicode 字符串。使用 TensorFlow 時(shí),有兩種標(biāo)準(zhǔn)方式來表示 Unicode 字符串:
作為整數(shù)向量,其中每個(gè)位置包含單個(gè) code point
作為字符串,使用字符編碼將 code point 序列編碼到字符串中。有許多字符編碼,其中一些最常見的是 UTF-8,UTF-16 等
以下代碼分別使用 code point、UTF-8 和 UTF-16 顯示字符串 “語言處理” 的編碼。
當(dāng)然,您可能需要在各種表示方式之間進(jìn)行轉(zhuǎn)換,而 TensorFlow 1.13 已添加了執(zhí)行此操作的函數(shù):
tf.strings.unicode_decode: 將字符串標(biāo)量轉(zhuǎn)換為 code point 的向量(https://www.tensorflow.org/versions/r1.13/api_docs/python/tf/strings/unicode_decode)
tf.strings.unicode_encode: 將 code point 向量轉(zhuǎn)換為字符串標(biāo)量(https://www.tensorflow.org/versions/r1.13/api_docs/python/tf/strings/unicode_decode)
tf.strings.unicode_transcode: 將字符串標(biāo)量轉(zhuǎn)換為不同的編碼(https://www.tensorflow.org/versions/r1.13/api_docs/python/tf/strings/unicode_transcode)
因此,如果要將上述示例中的 UTF-8 解碼為 code point 向量,則可以執(zhí)行以下操作:
當(dāng)解碼包含多個(gè)字符串的 Tensor 時(shí),字符串可能具有不同的長(zhǎng)度。 unicode_decode 將結(jié)果作為 RaggedTensor 返回,其中內(nèi)部維度的長(zhǎng)度根據(jù)每個(gè)字符串中的字符數(shù)而變化。
-
編碼
+關(guān)注
關(guān)注
6文章
969瀏覽量
55781 -
Unicode
+關(guān)注
關(guān)注
0文章
25瀏覽量
12738 -
tensorflow
+關(guān)注
關(guān)注
13文章
330瀏覽量
61183
原文標(biāo)題:TensorFlow 支持 Unicode 編碼
文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RTT使用unicode編碼,編譯不通過是為什么?
一種新的IEEE 802.16系統(tǒng)調(diào)制編碼模式切換方案
STM32是否支持漢字的Unicode碼儲(chǔ)存??
Unicode和GB2312編碼互轉(zhuǎn)VI
Labview GBK字符轉(zhuǎn)Unicode編碼 (支持混合字符)
TensorFlow常用Python擴(kuò)展包
一種基于GSM和Zigbee技術(shù)的無線安防系統(tǒng)
一種安全的糾錯(cuò)網(wǎng)絡(luò)編碼
UNICODE,GBK,UTF-8區(qū)別
Unicode編碼介紹
字符Unicode標(biāo)準(zhǔn)編碼計(jì)算器免費(fèi)下載

基于雙向MIMO中繼系統(tǒng)的一種預(yù)編碼策略

一種實(shí)現(xiàn)在FPGA的編碼器設(shè)計(jì)方法

ascii和utf8的區(qū)別_ASCII編碼與UTF-8的關(guān)系

評(píng)論