Найти - Пользователи
Полная версия: Использование nltk для анализа текста
Начало » Python для новичков » Использование nltk для анализа текста
1
cheshire_cat
Добрый день! Помогите, пожалуйста!
Нужно проанализировать текст, разбив его на отдельные слова (игнорируя знаки препинания) и подсчитать количество вхождений каждого отдельного слова в текст в виде ('Слово', ‘кол-во вхождений’). После этого вывести слова в порядке убывания (от более частого повторяющегося слова к менее). Слово и количество вхождений выводить с новой строки.
Частично задачу решил так:

 import string,re
import nltk
from nltk import FreqDist 
word_tokenize = re.compile(r"([^\w_\u2019\u2010\u002F\u0027-]|[+])")  
punctuation = string.punctuation + '\u2014\u2013\u2012\u2010\u2212' + '«»‹›‘’“”„`'
book = open('text.txt')
text = book.read()
def nltk_tokenizer(text):
    for token in nltk.word_tokenize(text):
        if token and not token.isspace() and not token in punctuation:
            yield token 
 
tokens = [word for word in nltk_tokenizer(text)] 
tokens = FreqDist(tokens).items()
for one_by_one in tokens:
	print one_by_one

Не понимаю, как вывести эти строки в порядке убывания. Помогите, пожалуйста!

delvin-fil
Будьте любезны, возьмите код в тег code python, ибо нечитаемо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB