TensorFlow 和 TensorFlow Text 如何用於分詞字串資料?


Tensorflow text 可以藉助“WhitespaceTokenizer”來分詞字串資料,這是一個建立的標記器,之後在字串上呼叫“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 類)。這包括獲取原始字串中位元組偏移量的選項。這有助於瞭解建立標記時原始字串中的位元組。

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

示例

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
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

輸出

Whitespace tokenizer is being called
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/util/dispatch.py:201: batch_gather (from tensorflow.python.ops.array_ops) is deprecated and will be removed after 2017-10-25.
Instructions for updating:
`tf.batch_gather` is deprecated, please use `tf.gather` with `batch_dims=-1` instead.
The tokenized data is converted to a list
[[b'everything', b'not', b'saved', b'will', b'be', b'lost.'], [b'Sad\xe2\x98\xb9']]

解釋

  • 以上程式碼實現了基本的標記器。

  • 此標記器根據 ICU(Unicode 國際元件)定義的空格字元拆分 UTF-8 字串。

更新於: 2021 年 2 月 22 日

190 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告