我的代码:
import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
错误消息:
[ec2-user@ip-172-31-31-31 sentiment]$ python mapper_local_v1.0.py
Traceback (most recent call last):
File "mapper_local_v1.0.py", line 16, in <module>
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
File "/usr/lib/python2.6/site-packages/nltk/data.py", line 774, in load
opened_resource = _open(resource_url)
File "/usr/lib/python2.6/site-packages/nltk/data.py", line 888, in _open
return find(path_, path + ['']).open()
File "/usr/lib/python2.6/site-packages/nltk/data.py", line 618, in find
raise LookupError(resource_not_found)
LookupError:
Resource u'tokenizers/punkt/english.pickle' not found. Please
use the NLTK Downloader to obtain the resource:
>>>nltk.download()
Searched in:
- '/home/ec2-user/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''
我试图在Unix机器上运行这个程序:
根据错误消息,我从我的unix机器登录到python shell,然后我使用了以下命令:
import nltk
nltk.download()
然后我使用d-down loader和l-list选项下载了所有可用的东西,但问题仍然存在。
我尽力在互联网上找到解决方案,但我得到了与我在上述步骤中提到的相同的解决方案。
答案 0 :(得分:159)
答案 1 :(得分:53)
如果您只想下载punkt
型号:
import nltk
nltk.download('punkt')
如果您不确定所需的数据/型号,可以从NLTK安装热门数据集,模型和标记:
import nltk
nltk.download('popular')
使用上述命令,无需使用GUI下载数据集。
答案 2 :(得分:30)
我得到了解决方案:
import nltk
nltk.download()
下载&GT; d
下载哪个包(l = list; x =取消)? 标识符&GT; PUNKT
答案 3 :(得分:24)
从shell中你可以执行:
sudo python -m nltk.downloader punkt
如果您想安装流行的NLTK语料库/模型:
sudo python -m nltk.downloader popular
如果您要安装所有 NLTK语料库/模型:
sudo python -m nltk.downloader all
列出您已下载的资源:
python -c 'import os; import nltk; print os.listdir(nltk.data.find("corpora"))'
python -c 'import os; import nltk; print os.listdir(nltk.data.find("tokenizers"))'
答案 4 :(得分:9)
最近我发生了同样的事情,你只需要下载&#34; punkt&#34;包,它应该工作。
执行&#34; list&#34; (l)在&#34;下载了所有可用的东西&#34;之后,所有内容都标记为以下行?:
[*] punkt............... Punkt Tokenizer Models
如果你看到这一行与星号,这意味着你拥有它,并且nltk应该能够加载它。
答案 5 :(得分:7)
import nltk
nltk.download('punkt')
打开Python提示并运行上述语句。
sent_tokenize 功能使用来自 PunktSentenceTokenizer 的实例 nltk.tokenize.punkt 模块。这个实例已经过训练,效果很好 许多欧洲语言。所以它知道标点符号和字符标记的结尾 句子和新句子的开头。
答案 6 :(得分:5)
输入
进入python控制台$ python
在您的终端中。然后,在python shell中键入以下两个命令以安装相应的包:
&GT;&GT; nltk.download( 'PUNKT') &GT;&GT; nltk.download( 'averaged_perceptron_tagger')
这解决了我的问题。
答案 7 :(得分:3)
尽管导入了以下内容,我还是出错了,
import nltk
nltk.download()
但是对于Google colab,这解决了我的问题。
!python3 -c "import nltk; nltk.download('all')"
答案 8 :(得分:2)
我的问题是我以root用户身份调用nltk.download('all')
,但最终使用nltk的进程是另一位无权访问/ root / nltk_data的用户,其中下载了内容。
所以我只是递归地将所有内容从下载位置复制到NLTK希望找到它的路径之一:
cp -R /root/nltk_data/ /home/ubuntu/nltk_data
答案 9 :(得分:2)
执行以下代码:
import nltk
nltk.download()
此后,NLTK下载程序将弹出。
答案 10 :(得分:1)
将以下行添加到您的脚本中。这将自动下载朋克数据。
import nltk
nltk.download('punkt')
答案 11 :(得分:1)
对我来说,没有任何上述工作,所以我只是手动从网站http://www.nltk.org/nltk_data/下载了所有文件,我也将它们手工放在一个文件&#34; tokenizers&#34;在&#34; nltk_data&#34;内部夹。不是一个漂亮的解决方案,但仍是一个解
答案 12 :(得分:1)
您需要重新排列文件夹
将您的tokenizers
文件夹移至nltk_data
文件夹。
如果您的nltk_data
文件夹包含corpora
文件夹包含tokenizers
文件夹
答案 13 :(得分:1)
简单的nltk.download()不会解决此问题。我尝试了下面的内容,它对我有用:
在nltk文件夹中创建一个tokenizers文件夹,并将你的punkt文件夹复制到tokenizers文件夹中。
这将有效。 the folder structure needs to be as shown in the picture
答案 14 :(得分:0)
我遇到了同样的问题。下载完所有内容后,仍然可以“下载”。有错误。我在我的Windows机器上搜索了C:\ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers中的包,我可以看到&#39; punkt.zip&#39;在那里。我意识到拉链还没有被提取到C:\ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk中。 一旦我解开拉链,就像音乐一样。
答案 15 :(得分:0)
添加以下代码行后,该问题将得到解决:
nltk.download('punkt')
答案 16 :(得分:0)
只需确保您使用的是Jupyter
笔记本,请在笔记本中执行以下操作:
import nltk
nltk.download()
然后将出现一个弹出窗口(显示信息https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml) 从那里,您必须下载所有内容。
然后重新运行代码。
答案 17 :(得分:0)
对我来说,它可以通过使用“ nltk:”解决。
http://www.nltk.org/howto/data.html
Failed loading english.pickle with nltk.data.load
sent_tokenizer=nltk.data.load('nltk:tokenizers/punkt/english.pickle')