关于tensorflow:Keras分词器Tokenizer的方法介绍

11次阅读

共计 879 个字符,预计需要花费 3 分钟才能阅读完成。

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

正文完
 0