如何在Python中使用Tensorflow text分割UTF-8字串?


可以使用Tensorflow text分割UTF-8字串。這可以透過‘UnicodeScriptTokenizer’來實現。建立‘UnicodeScriptTokenizer’後,在其上呼叫‘tokenize’方法即可對字串進行分割。

瞭解更多: 什麼是TensorFlow以及Keras如何與TensorFlow一起建立神經網路?

我們將使用Keras Sequential API,它有助於構建一個順序模型,用於處理簡單的層堆疊,其中每一層只有一個輸入張量和一個輸出張量。

包含至少一層卷積層的神經網路稱為卷積神經網路。我們可以使用卷積神經網路來構建學習模型。

TensorFlow Text包含一系列與文字相關的類和操作,可用於TensorFlow 2.0。TensorFlow Text可用於預處理序列建模。

我們使用Google Colaboratory執行以下程式碼。Google Colab或Colaboratory有助於在瀏覽器上執行Python程式碼,無需任何配置,並可免費訪問GPU(圖形處理單元)。Colaboratory構建在Jupyter Notebook之上。

分詞是將字串分解成標記的方法。這些標記可以是單詞、數字或標點符號。

重要的介面包括Tokenizer和TokenizerWithOffsets,它們分別具有單個方法tokenize和tokenize_with_offsets。有多個分詞器,每個分詞器都實現了TokenizerWithOffsets(它擴充套件了Tokenizer類)。這包括獲取原始字串中位元組偏移量的選項。這有助於瞭解建立標記的原始字串中的位元組。

所有分詞器都返回RaggedTensors,其最內層維度是對映到原始單個字串的標記。結果形狀的秩增加一。

示例

print("Unicode script tokenizer is being called")
tokenizer = text.UnicodeScriptTokenizer()
tokens = tokenizer.tokenize(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("The tokenized data is converted to a list")
print(tokens.to_list())

程式碼來源 −https://www.tensorflow.org/tutorials/tensorflow_text/intro

輸出

Unicode script tokenizer is being called
The tokenized data is converted to a list
[[b'everything', b'not', b'saved', b'will', b'be', b'lost', b'.'], [b'Sad', b'\xe2\x98\xb9']]

解釋

  • 分詞器根據Unicode指令碼邊界分割UTF-8字串。

  • 指令碼程式碼對應於國際Unicode元件(ICU)UScriptCode值。

  • 它類似於WhitespaceTokenizer,不同之處在於它也會將標點符號(USCRIPT_COMMON)與語言文字分開,並將不同的語言文字彼此分開。

更新於:2021年2月22日

262 次檢視

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告