如何在 Python 中使用空格分詞器與 Tensorflow text 結合?


Tensorflow text 可以透過呼叫“WhitespaceTokenizer”來使用空格分詞器,它建立一個分詞器,該分詞器用於對字串使用“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 類)。這包括獲取原始字串中位元組偏移量的選項。這有助於瞭解建立標記時原始字串中的位元組。

N-gram 是當給定大小為 n 的滑動視窗時,連續的單詞。當組合標記時,支援三種縮減機制。對於文字,可以使用 Reduction.STRING_JOIN。它將字串附加到彼此。預設分隔符字元為空格,但可以透過 string_separater 引數更改。

其他縮減方法用於數值,它們是 Reduction.SUM 和 Reduction.MEAN。

示例

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['Everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Here, n is 2, hence it is bigram")
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print("The bigrams are converted to a list")
print(bigrams.to_list())

輸出

Whitespace tokenizer is being called
Here, n is 2, hence it is bigram
The bigrams are converted to a list
[[b'Everything not', b'not saved', b'saved will', b'will be', b'be lost.'], []]

解釋

  • 呼叫空格分詞器。
  • “n”的值設定為 2,因此它被稱為二元語法。
  • 標記儲存在列表中,並在控制檯上顯示。

更新於: 2021年2月22日

232 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.