2

如何使用 FreqDist 中的 fd.items() 总结词频数?

>>> fd = FreqDist(text) 
>>> most_freq_w = fd.keys()[:10] #gives me the most 10 frequent words in the text
>>> #here I should sum up numbers of each of these 10 freq words appear in the text

例如,如果每个单词most_freq_w出现 10 次,结果应该是100

!!!我不需要文本中所有单词的数量,只需要最常用的 10 个

4

4 回答 4

4

我不熟悉nltk,但由于FreqDist派生自dict,那么以下应该可以工作:

v = fd.values()
v.sort()
count = sum(v[-10:])
于 2010-11-17T17:28:52.680 回答
2

要查找单词在语料库中出现的次数(您的文本):

raw="<your file>"
tokens = nltk.word_tokenize(raw)
fd = FreqDist(tokens)
print fd['<your word here>'] 
于 2013-08-10T21:34:11.463 回答
2

它有一个漂亮的打印功能

    fd.pprint() 

会做的。

于 2015-11-19T18:02:35.117 回答
0

IfFreqDist是单词到频率的映射:

sum(map(fd.get, most_freq_w))
于 2010-11-17T18:58:11.550 回答