Keras分词器Tokenizer的方法介绍
Tokenizer是一个用于向量化文本,或将文本转换为序列(即单词在字典中的下标构成的列表,从1算起)的类。Tokenizer实际上只是生成了一个字典,并且统计了词频等信息,并没有把文本转成需要的向量表示。tok = keras.preprocessing.text.Tokenizer()
生成词典tok.fit_on_texts
somestr = ['ha ha gua angry','howa ha gua excited']
tok.fit_on_texts(somestr)
查看单词索引tok.word_index
将句子序列转换成token矩阵tok.texts_to_matrix
tok.texts_to_matrix(somestr)#binary的向量,如果dictionary的下标为i 的那个词在这个string中出现了,那么就给一个1,否则给0。
tok.texts_to_matrix(somestr,mode='count')#float32的向量,1换成了该词在当前句子出现的次数
tok.texts_to_matrix(somestr,mode='freq')#loat32的向量,1换成了该词在当前句子出现的概率的词频
句子转换成单词索引序列tok.texts_to_sequences
tok.texts_to_sequences(somestr)
tok.document_count 分词器被训练的文档(文本或者序列)数量
tok.word_counts 按照数量由大到小Order排列的token及其数量。
科学使用Tokenizer的方法是,首先用Tokenizer的 fit_on_texts 方法学习出文本的字典,然后word_index 就是对应的单词和数字的映射关系dict,通过这个dict可以将每个string的每个词转成数字,可以用texts_to_sequences,这是我们需要的,然后通过padding的方法补成同样长度,在用keras中自带的embedding层进行一个向量化,并输入到LSTM中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。