如何在 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,因此它被稱為二元語法。
- 標記儲存在列表中,並在控制檯上顯示。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP