【发布时间】:2020-05-26 15:27:32
【问题描述】:
我只想知道,如何识别或获取单词列表及其频率,这些单词被 keras 标记器考虑为词袋。 考虑下面的例子
from tensorflow.keras.preprocessing import text
my_list = [["a", "a", "a", "b","c"], ["b", "c","c", "b", "c" "a"]]
这里我选择 vocab size 为 2。一个用于填充,另一个用于 my_list 中出现频率最高的单词。
m_tokenizer = text.Tokenizer(num_words=2)
m_tokenizer.fit_on_texts(my_list)
使用分词器的词袋
bow = tokenizer.text_to_matrix(my_list)
弓
array([[0., 1.],
[0., 1.]])
我可以轻松地获得所有单词的字典以及它们在内部使用的分词器的索引。 m_tokenizer.word_index
{'a': 1, 'c': 2, 'b': 3}
现在我想知道当我选择 num_words=2 时,标记器使用哪些单词以及它们在语料库中的频率来构建单词包?(显然第一个用于填充) 例如,这里使用在 my_list 中具有最大频率,它用于形成弓。现在我可以用一种方法来帮助我获取一个给我的字典(或者可能是什么)
{"a":4} # as count of a is 4 is my_list
【问题讨论】:
标签: tensorflow keras tokenize