Суммируйте количество слов частоты, используя FreqDist, Python

StackOverflow https://stackoverflow.com/questions/4206979

Вопрос

Как суммировать количество слов частоты с использованием 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))
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top