单词袋中使用的单词以及keras标记器中的频率

问题描述 投票:0回答:1

我只是想知道,如何识别或获取单词列表以及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
tensorflow keras tokenize
1个回答
0
投票
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
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.