- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到了一个 php 脚本的问题,该脚本说找不到文件/root/nltk_data/tokenizers/punkt/english.pickle 。但是我确认文件在这里。我多次下载了整个数据集)
php 脚本实际上运行一个 python 脚本,nltk(一个 python 模块)说它找不到/root/nltk_data/tokenizers/punkt/english.pickle
$dir = dirname(__FILE__);
$command = "/usr/bin/python ". $dir . "/test.py";
exec($command, $output);
另一方面,当我从命令行运行 python 脚本时,它工作得很好并且能够访问文件。
python test.py
是否可以让 php 看到这些文件?我 chmod 777 文件,但这没有帮助。
脚本包含:
#!/usr/bin/env/ python
import nltk
try:
tokens = nltk.word_tokenize("I like apples.")
tagged = nltk.pos_tag(tokens)
print "OK!"
#print ' * '.join(tokens)
except Exception:
print "error!"
pass
错误日志:
Traceback (most recent call last):
File "/var/zpanel/hostdata/zadmin/public_html/my_domain_com/test.py", line 39, in <module>
tagged = nltk.pos_tag(tokens)
File "/usr/local/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg/nltk/tag/__init__.py", line 99, in pos_tag
tagger = load(_POS_TAGGER)
File "/usr/local/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg/nltk/data.py", line 605, in load
resource_val = pickle.load(_open(resource_url))
File "/usr/local/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg/nltk/data.py", line 686, in _open
return find(path).open()
File "/usr/local/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg/nltk/data.py", line 467, in find
raise LookupError(resource_not_found)
LookupError:
Resource taggers/maxent_treebank_pos_tagger/english.pickle not found. Please use the NLTK Downloader to obtain the resource:
>>> nltk.download()
Searched in:
- '/root/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
最佳答案
Resource ... not found
错误有两个原因:
nltk_data
的路径设置不正确或 nltk_data
未下载nltk_data
目录已过时。解决方案:
你的问题是因为你的原因 2. 所以最简单的方法是删除 nltk_data
目录中的所有内容,然后使用 python -c "import nltk; nltk.download 重新下载所有内容('全部')”
。
此外,您使用的是过时的 nltk
代码,因此我建议您更新到 NLTK 版本 3.x,因为从 NLTK 2.x 到 NLTK 3.x 有重大变化
问题:
nltk_data
目录的数据结构如下:
nltk_data/tokenizers/punkt/english.pickle
但是最新的nltk_data
是:
nltk_data/taggers/maxent_treebank_pos_tagger/english.pickle
这表明您的 nltk_data 没有更新,尽管您使用的是更高版本的 NLTK 代码。
原因1,见下文
您在这些路径上没有 nltk_data
目录:
- '/root/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
为确保您拥有 postman :
$ python
>>> import nltk
>>> nltk.download('maxent_treebank_pos_tagger')
[nltk_data] Downloading package maxent_treebank_pos_tagger to
[nltk_data] /home/alvas/nltk_data...
[nltk_data] Package maxent_treebank_pos_tagger is already up-to-
[nltk_data] date!
True
现在您将看到 nltk 保存数据的位置,对我来说,它是 /home/alvas/nltk_data
要知道 nltk 搜索目录的路径:
$ python
>>> import nltk
>>> nltk.data.path
['/home/alvas/nltk_data', '/usr/share/nltk_data', '/usr/local/share/nltk_data', '/usr/lib/nltk_data', '/usr/local/lib/nltk_data']
您也可以手动找到nltk_data
目录在系统中的保存位置,并将其添加到nltk.data.path
,例如如果 nltk_data 保存在 /home/alvas/work_stuff/
中:
>>> nltk.data.path.append(`/home/alvas/work_stuff/`)
为确保您拥有中央安装,请执行以下操作:
sudo python -m nltk.downloader -d /usr/share/nltk_data all
关于php - NLTK 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27730715/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!