Keras分词器Tokenizer的方法介绍

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中。

你可能感兴趣的:(Keras分词器Tokenizer的方法介绍)