Python word_tokenize

Аз съм съвсем нов в Python. Опитвам се да намеря честотни разпределения на моя текст. Ето кода,

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, тогава или ще получите някаква форма на GUI, или ако не сте в състояние да имате достъп до GUI (например ако сте в SSHd без X-препращане), тогава ще да бъде интерфейс на командния ред. Можете да използвате това, за да изтеглите данните. Бих препоръчал просто да изтеглите всичко, освен ако не сте натоварени за място.

След като стартирате 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