如何在 Python 中使用 Tensorflow text 和 `unicode_split()` 函式按字元分割字串?
Tensorflow text可以使用`unicode_split`方法按字元分割字串,方法是先編碼要分割的字串,然後將函式呼叫賦值給一個變數。這個變數儲存函式呼叫的結果。
閱讀更多: 什麼是 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 類)。這包括獲取原始字串中的位元組偏移量的選項。這有助於瞭解建立標記的原始字串中的位元組。
示例
print("The encoded characters are split")
tokens = tf.strings.unicode_split([u"僅今年前".encode('UTF-8')], 'UTF-8')
print("The tokenized data is converted to a list")
print(tokens.to_list())程式碼來源 −https://www.tensorflow.org/tutorials/tensorflow_text/intro
輸出
The encoded characters are split The tokenized data is converted to a list [[b'\xe4\xbb\x85', b'\xe4\xbb\x8a', b'\xe5\xb9\xb4', b'\xe5\x89\x8d']]
解釋
所有分詞器都返回 RaggedTensors,其最內層維度中的標記對映到原始單個字串。
結果形狀的秩增加一。
在不使用空格來分割單詞的情況下對語言進行分詞時,通常會按字元分割。
這可以使用 Tensorflow 核心中的 unicode_split 操作來完成。
呼叫 unicode_split 後,分詞資料將新增到列表中。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP