Суммируйте количество слов по частоте, используя FreqDist, python - PullRequest
2 голосов
/ 17 ноября 2010

Как суммировать частоту слов, используя fd.items () из FreqDist?

>>> 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 голосов
/ 17 ноября 2010

Я не знаком с nltk, но поскольку FreqDist происходит от dict, то должно работать следующее:

v = fd.values()
v.sort()
count = sum(v[-10:])
2 голосов
/ 19 ноября 2015

Имеет красивую функцию печати

    fd.pprint() 

сделает это.

2 голосов
/ 11 августа 2013

Чтобы узнать, сколько раз слово появляется в корпусе (ваш текст):

raw="<your file>"
tokens = nltk.word_tokenize(raw)
fd = FreqDist(tokens)
print fd['<your word here>'] 
0 голосов
/ 17 ноября 2010

Если FreqDist - отображение слов на их частоты:

sum(map(fd.get, most_freq_w))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...