為了"讓機器聽的懂人話", 我們可以透過神經網路讓程式去學習人類說話的方式, 進而理解對話中的意圖, 而整個學習的過程, 可以簡化成文字前處理 > 學習 > 驗證
以往在前處理階段, 通常都是使用NLTK作分詞, 算N-Gram, Normalize 等等...
現在Tensorflow.Text(TF.Text) 出來後, 除了NLTK之外我們也可以使用TF.Text 來處理文字
分詞
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['The cat sat on the mat.', 'i like cats'])
print(tokens.to_list())
N-grams
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['The cat sat on the mat.', 'i like cats'])
# Ngrams, in this case bi-gram (n = 2)
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print(bigrams.to_list())
結論
大家若想嘗鮮的話, 可以使用以下指令來安裝TF.Text
pip install tensorflow-text
注意: TF.Text需要搭配TF 2.0以上的版本才能正常執行
雖然目前功能還不多, 但相信這問題將來一定會被改善, 說不定之後可以像Facebook PyText那樣, 直接呼叫API就可以訓練語意理解的模型
Ref:
https://www.tensorflow.org/beta/tutorials/tensorflow_text/intro
https://medium.com/tensorflow/introducing-tf-text-438c8552bd5e
留言
張貼留言