【发布时间】:2017-01-09 12:14:07
【问题描述】:
这是我的代码,只是使用 nltk 执行一些标记化。
import nltk
from nltk.corpus import stopwords
tokens = nltk.word_tokenize(doc, language='english')
# remove all the stopwords
filtered = [w for w in tokens if (w not in stopwords.words('english')) and (w.isalnum())]
我已经下载了 punkt 包。我还尝试将正确的文件夹复制并粘贴到错误消息所搜索的位置。 这是我在其他类似问题中看到的错误。
找不到资源 u'tokenizers/punkt/english.pickle'。
请使用 NLTK 下载器获取资源:>>>
nltk.download() 搜索:
- '/root/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''
我什至尝试重新安装整个 nltk 和软件包,但没有成功。 有关环境的有用信息: - 通过 Pycharm IDE 的终端运行 -操作系统:Ubuntu 15 -nltk 使用 pip 安装 -nltk_data 安装在默认位置 /home/user/nltk_data
请不要告诉我使用 nltk.download('punkt') 因为我有它。 感谢您的帮助。
【问题讨论】:
-
尝试在计算机范围内搜索文件并检查它是否下载到正确的目录中。查找 / |grep punkt/english.pickle
-
还有另一个神奇的问题:它在作为单个脚本运行时完美运行,但在更大的软件中调用时会引发该异常。 @Rafi 我做到了,它就在那里????
-
在我们为您提供帮助之前,您必须回答几个问题。更大的软件是什么?您是如何运行它的(通过 IDE 或在终端上)?你在用窗户吗?您使用的是哪个操作系统?你是如何安装 NLTK(anaconda 或 pip)的?你在哪里运行你的 python 脚本?你把 nltk_data 目录保存在哪里了?
-
按顺序,该软件包含一些 python 文件,这些文件对其他文件执行基本操作(如果我删除这些 nltk 行,它会完美运行);我通过pycharm IDE的终端运行它(我不能直接用IDE的简单“运行”运行它,因为我需要root权限;我使用的是ubuntu 15(在ubuntu 16上也有同样的问题);我使用pip安装了nltk;我用按钮运行(不是终端)运行脚本,它可以工作;nltk_data 在默认位置 /home/user/nltk_data 中是 sacra,我试图将它复制到不同的位置,错误消息中的“建议”。感谢您的关注
-
请通过编辑问题添加信息,而不是放在评论中,谢谢=)