NLTK Corpus Twitter_samples的持续导入错误

时间:2016-03-02 07:02:28

标签: python python-2.7 twitter nltk spyder

我正在使用此脚本尝试从nltk包导入python的twitter_samples。我目前在Anaconda环境中使用python 2.7。 我正在使用Spyder来运行代码。

import nltk
nltk.download('twitter_samples')
from nltk.corpus import twitter_samples
print twitter_samples.fileid()

当我运行它时,我将此作为回报:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Person\Anaconda3\envs\py27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 685, in runfile
    execfile(filename, namespace)
  File "C:\Users\Person\Anaconda3\envs\py27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 71, in execfile
    exec(compile(scripttext, filename, 'exec'), glob, loc)
  File "C:/Users/Ben/Anaconda3/attemptNLTK_download.py", line 9, in <module>
    from nltk.corpus import twitter_samples
ImportError: cannot import name twitter_samples

但是当我导入movie_reviews时它工作正常。

from nltk.corpus import movie_reviews

我不知道为什么这不起作用。我按照建议将环境变量添加到我的系统NLTK_DATA为C:\ nltk_data,但是没有修复它。它位于默认位置(C:\ nltk_data)。

也许有办法进入&#34;导入&#34;语料库直接不使用导入...数据在我的C盘上,我可以看到它,我只是无法通过导入功能访问它。

我试图使用这些数据来训练分类器的正/负陈述/推文。

1 个答案:

答案 0 :(得分:1)

根据NLTK twitter HOWTO,命令x1=[] fopen=open("testxxx",'r') for line in fopen: x=line.split() x1.append(x) print x1 是正确的,因此导入错误的最可能原因是您的nltk版本已过期。

nltk的Twitter软件包很新;它是在2015年9月以3.0.5版本添加的,但是&#34;改进了#34;从那时起以各种方式。现在nltk是版本3.2,但是当前的Anaconda发行版附带nltk 3.1。你有哪一个?您可以通过打印[['i', 'have', 'a', 'dog'], ['i', 'have', 'a', 'cat'], []] 来检查nltk版本。

要更新到Anaconda分发的最新版本,请启动Anaconda命令提示符并运行此命令:

from nltk.corpus import twitter_samples

Anaconda在发布后的几天内更新到当前版本的nltk,所以我希望它们能够继续使用未来的版本,除非出现一些兼容性问题。