我在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()上。 如果你能提供帮助,我将不胜感激。 谢谢。
答案 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
命名空间中。