在Tensorflow中,文字資料的分割是什麼?


分詞是指將文字分割成類似單詞的單元。當使用空格字元來分隔單詞時,就會用到這種方法,但一些語言,如中文和日語,不使用空格。一些語言,如德語,包含需要分割才能分析其含義的長複合詞。

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

處理自然語言的模型處理具有不同字元集的不同語言。Unicode被認為是標準編碼系統,用於表示幾乎所有語言的字元。每個字元都使用一個唯一的整數程式碼點進行編碼,該程式碼點介於0和0x10FFFF之間。Unicode字串是零個或多個程式碼值的序列。

讓我們瞭解如何使用Python表示Unicode字串,並使用Unicode等效項操作它們。首先,我們藉助標準字串運算的Unicode等效項,根據指令碼檢測將Unicode字串分割成標記。

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

print("Below is the sentence that is processed")
sentence_texts = [u'Hello, there.', u'世界こんにちは']
print("The code point values for characters in the sentence")
sentence_char_codepoint = tf.strings.unicode_decode(sentence_texts, 'UTF-8')
print(sentence_char_codepoint)
print("The unicode script values for characters in the sentence")
sentence_char_script = tf.strings.unicode_script(sentence_char_codepoint)
print(sentence_char_script)

程式碼來源:https://www.tensorflow.org/tutorials/load_data/unicode

輸出

Below is the sentence that is processed
The code point values for characters in the sentence

The unicode script values for characters in the sentence
<tf.RaggedTensor [[25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 0], [17, 17, 20, 20, 20, 20, 20]]>

解釋

  • 分詞是指將文字分割成類似單詞的單元的任務。
  • 當使用空格字元來分隔單詞時,就會用到這種方法,但一些語言,如中文和日語,不使用空格。
  • 一些語言,如德語,包含需要分割才能分析其含義的長複合詞。
  • 對於網路上的文字,不同的語言和文字通常混合在一起,例如“NY株価”(紐約證券交易所)。
  • 無需使用機器學習模型,透過更改指令碼以近似單詞邊界,可以進行粗略的分詞。
  • 這適用於諸如“NY株価”之類的字串。它適用於大多數使用空格的語言,因為各種指令碼的空格字元被分類為USCRIPT_COMMON,這是一種與任何實際文字的指令碼程式碼不同的特殊指令碼程式碼。
  • 在上面的程式碼中,生成了每個句子中每個字元的程式碼點。
  • 接下來,生成了每個句子中每個字元的Unicode指令碼。

更新於: 2021年2月20日

134 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.