Keras 文本预处理 text sequence
生活随笔
收集整理的這篇文章主要介紹了
Keras 文本预处理 text sequence
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
預處理
句子分割、ohe-hot:
from keras.preprocessing import text from keras.preprocessing.text import Tokenizer tokenizer = Tokenizer(num_words=4) #num_words:None或整數,個人理解就是對統計單詞出現數量后選擇次數多的前n個單詞,后面的單詞都不做處理。 tokenizer.fit_on_texts(texts) print( tokenizer.word_index) #單詞對應的index print( tokenizer.texts_to_sequences(texts)) # 使用字典將對應詞轉成index。shape為 (文檔數,每條文檔的長度) {'some': 1, 'thing': 2, 'to': 3, 'eat': 4, 'drink': 5, 'food': 6} [[1, 2, 3], [1, 1, 2, 3], [2, 3]] print( tokenizer.texts_to_matrix(texts)) # 轉成one-hot,與前面的不同。shape為[len(texts),num_words] print( tokenizer.word_counts) #單詞在所有文檔中的總數量,如果num_words=4,應該選擇some thing to print( tokenizer.word_docs) #單詞出現在文檔中的數量 print( tokenizer.index_docs) #index對應單詞出現在文檔中的數量 [[0. 1. 1. 1.][0. 1. 1. 1.][0. 0. 1. 1.]] OrderedDict([('some', 3), ('thing', 3), ('to', 3), ('eat', 2), ('drink', 1), ('food', 1)]) {'thing': 3, 'some': 2, 'eat': 2, 'to': 3, 'drink': 1, 'food': 1} {2: 3, 1: 2, 4: 2, 3: 3, 5: 1, 6: 1} from keras.preprocessing import text from keras.preprocessing.text import Tokenizertext1='some thing to eat' text2='some some thing to drink' text3='thing to eat food' texts=[text1, text2, text3]print(text.text_to_word_sequence(text3))print(text.one_hot(text2,20)) #n表示編碼值在1到n之間 print(text.one_hot(text2,5)) ['thing', 'to', 'eat', 'food'] [5, 5, 9, 19, 9] [2, 2, 1, 3, 4]總結
以上是生活随笔為你收集整理的Keras 文本预处理 text sequence的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python find
- 下一篇: keras pad_sequences