Resumir o número de palavras frequência usando freqdist, python
-
25-09-2019 - |
Pergunta
Como resumir o número de palavras frequência usando fd.items () do 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
por exemplo, se cada palavra em most_freq_w
aparecem 10 vezes, o resultado deve ser 100
!!! Eu não preciso desse número de todas as palavras no texto, apenas os 10 mais frequentes
Solução
Não estou familiarizado com nltk
, mas desde FreqDist
deriva de dict
, então o seguinte deve funcionar:
v = fd.values()
v.sort()
count = sum(v[-10:])
Outras dicas
Para encontrar o número de vezes que uma palavra aparece no corpus (sua peça de texto):
raw="<your file>"
tokens = nltk.word_tokenize(raw)
fd = FreqDist(tokens)
print fd['<your word here>']
Tem um recurso bonito de impressão
fd.pprint()
vai fazer isso.
Se FreqDist
é um mapeamento de palavras para suas frequências:
sum(map(fd.get, most_freq_w))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow