Python word_tokenize

Я совсем новичок в питоне. Я пытаюсь найти частотные распределения моего текста. Вот код,

import nltk
nltk.download()
import os
os.getcwd()
text_file=open(r"ecelebi\1.txt","r")
p = text_file.read()
words = nltk.tokenize.word_tokenize(p)
fdist= FreqDist(words)
print(fdist)

Проблема в том, что программа не дает никаких ошибок или решений. Он просто возвращает это

>>> ================================ RESTART ================================
>>> 
showing info http://nltk.github.com/nltk_data/

Я думаю, проблема в word_tokenize(). Буду признателен, если поможете. Спасибо.


person Eda    schedule 03.01.2015    source источник


Ответы (1)


Ваша проблема в том, что вы пытаетесь запустить nltk.download() в скрипте, а графический интерфейс спрятан где-то за вашими страницами.

Как правило, nltk.download() обычно запускается в интерпретаторе Python, он позволяет загружать различные наборы данных и корпуса (corpii? :P) для использования с nltk. Обычно вам нужно сделать это только один раз, используя его снова, только если вы хотите обновить свои корпуса. Вам не нужно запускать его каждый раз, когда вы запускаете скрипт.

Предполагая, что вы запустили nltk.download() в интерпретаторе Python, вы либо получите какую-то форму графического интерфейса, либо, если у вас нет доступа к графическому интерфейсу (например, если вы используете SSHd без X-forwarding), тогда он будет быть интерфейсом командной строки. Вы можете использовать это для загрузки данных. Я бы порекомендовал просто загрузить все это, если вы не ограничены в пространстве.

После того, как вы запустите nltk.download() и загрузите все, что, по вашему мнению, вам понадобится, приведенный ниже код должен работать.

import nltk
import os

os.getcwd()
text_file=open(r"ecelebi\1.txt","r")

p = text_file.read()
words = nltk.tokenize.word_tokenize(p)

fdist= nltk.FreqDist(words)
print(fdist)

Обратите внимание, что это команда nltk.FreqDist, а не FreqDist, поскольку функция находится в пространстве имен nltk.

person Ffisegydd    schedule 03.01.2015