NLTK 语料库的持续导入错误 Twitter_samples

Persistent Import Error for NLTK Corpus Twitter_samples

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

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

当我 运行 它时,我将其作为 return 得到:

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).

也许有一种方法可以直接 "import" 语料库而不使用导入...数据在我的 C 驱动器上,我可以看到它,我只是无法通过导入功能访问它。

我正在尝试使用这些数据为 positive/negative statements/tweets 训练分类器。

命令from nltk.corpus import twitter_samples是正确的,根据NLTK的twitter HOWTO,所以导入错误最可能的原因是你的nltk版本已经过时了。

nltk的twitter包比较新;它于 2015 年 9 月添加到 3.0.5 版,但此后以各种方式添加 "improved"。现在 nltk 的版本是 3.2,但是当前的 Anaconda 发行版附带 nltk 3.1。 你有哪一个?您可以通过打印 nltk.__version__.

来检查 nltk 版本

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

% conda update nltk

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