Суммируйте количество слов частоты, используя FreqDist, Python
-
25-09-2019 - |
Вопрос
Как суммировать количество слов частоты с использованием FD.Items () от FRAQDIST?
>>> 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 наиболее частых
Решение
Я не знаком с nltk
, но с тех пор FreqDist
происходит от dict
, Затем следует работать следующее:
v = fd.values()
v.sort()
count = sum(v[-10:])
Другие советы
Чтобы найти количество раз, когда в корпусе появляется слово (ваш текст):
raw="<your file>"
tokens = nltk.word_tokenize(raw)
fd = FreqDist(tokens)
print fd['<your word here>']
Имеет симпатичную функцию печати
fd.pprint()
сделаю это.
Если FreqDist
это отображение слов на их частоты:
sum(map(fd.get, most_freq_w))
Не связан с StackOverflow