如何在Python中使用Tensorflow text分割UTF-8字串?
可以使用Tensorflow text分割UTF-8字串。這可以透過‘UnicodeScriptTokenizer’來實現。建立‘UnicodeScriptTokenizer’後,在其上呼叫‘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,其最內層維度是對映到原始單個字串的標記。結果形狀的秩增加一。
示例
print("Unicode script tokenizer is being called") tokenizer = text.UnicodeScriptTokenizer() 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
輸出
Unicode script tokenizer is being called The tokenized data is converted to a list [[b'everything', b'not', b'saved', b'will', b'be', b'lost', b'.'], [b'Sad', b'\xe2\x98\xb9']]
解釋
分詞器根據Unicode指令碼邊界分割UTF-8字串。
指令碼程式碼對應於國際Unicode元件(ICU)UScriptCode值。
它類似於WhitespaceTokenizer,不同之處在於它也會將標點符號(USCRIPT_COMMON)與語言文字分開,並將不同的語言文字彼此分開。