for i, (word, count) in enumerate(m_tokenizer.word_counts.items()):
if i < m_tokenizer.num_words-1:
print((word, count)) # print or store in an object
我只是想知道,如何识别或获取单词列表以及keras标记器考虑的单词袋频率。考虑下面的例子
from tensorflow.keras.preprocessing import text
my_list = [["a", "a", "a", "b","c"], ["b", "c","c", "b", "c" "a"]]
这里我选择的唱头大小为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
我只是想知道,如何识别或获取单词列表以及keras标记器考虑的单词袋频率。考虑下面来自tensorflow.keras ....]的示例
m_tokenizer.word_counts
访问原始文本中所有单词的计数器。它返回OrderedDict([('a', 4), ('b', 3), ('c', 4)])
for i, (word, count) in enumerate(m_tokenizer.word_counts.items()):
if i < m_tokenizer.num_words-1:
print((word, count)) # print or store in an object
for i, (word, count) in enumerate(m_tokenizer.word_counts.items()):
if i < m_tokenizer.num_words-1:
print((word, count)) # print or store in an object