Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 14, 2017 22:16:56

cheshire_cat
Зарегистрирован: 2017-06-14
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование nltk для анализа текста

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

 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

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

Отредактировано cheshire_cat (Июнь 15, 2017 08:08:28)

Офлайн

#2 Июнь 15, 2017 04:09:53

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Использование nltk для анализа текста

Будьте любезны, возьмите код в тег code python, ибо нечитаемо.



 import __hello__

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version