Python word_tokenize

时间:2015-01-03 20:52:29

标签: python nltk 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()上。 如果你能提供帮助,我将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:8)

您的问题是您尝试在脚本中运行nltk.download(),并且GUI显示在您网页后面的某处。

通常,nltk.download()通常在Python解释器中运行,它允许您下载各种数据集和语料库(corpii?:P)以与nltk一起使用。您通常只需要执行一次此操作,只有在您想要更新语料库时才再次使用它。 每次运行脚本时都不必运行它。

假设您已经在Python解释器中运行nltk.download(),那么您将获得某种形式的GUI,或者如果您无法访问GUI(例如,如果您在没有X的情况下进行SSH连接) -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命名空间中。