【问题标题】:Resource corpora/wordnet not found (running quepy dbpedia example app)找不到资源语料库/wordnet(运行 quepy dbpedia 示例应用程序)
【发布时间】:2015-08-20 22:01:41
【问题描述】:

我已经搜索了网络(包括显示与 Heroku、Anaconda 等类似问题但常见根本原因 - 资源语料库/wordnet 未找到的 6 个链接)并尽我所能,包括但不限于 -

  1. 将下载目录(随后通过以下 3 种方法设置 nltk_data 路径)3 次更改为 /usr/lib/nltk_data、/home/ubuntu/nltk_data 和 /home/ubuntu/quepy/nltk_data。
  2. 通过 (i) 更改所有三个路径所需的 quepy 应用程序中 settings.py 中的 NLTK_DATA_PATH (ii) 对所有三个路径使用 nltk.data.path.append 命令 (iii) 使用导出 NLTK_DATA 更​​改路径所有三个路径的命令
  3. 我什至继续递归地为 nltk_data 目录的内容授予 644 权限
  4. 使用带有特定路径的 python -m nltk.downloader AND nltk.download 命令来安装和配置路径(它们都做同样的事情)

即使经过 3 个小时的尝试,我仍然无处可去。如果有人能指出我如何在以下位置成功运行 Quepy 示例(python main.py“谁是汤姆克鲁斯?”),我将不胜感激:quepy/examples/dbpedia。这不是 Quepy 的问题,但为什么它在地球上找不到资源。

这是确切的错误 -

Resource u'corpora/wordnet' not found.  Please use the NLTK
Downloader to obtain the resource:  >>> nltk.download()

Searched in:

  - 'home/ubuntu/nltk_data'

注意 -

  • 我在另一台机器上成功安装了它,没有问题,它运行正常,但在初始机器上,问题仍未解决,步骤完全相同,应用程序的确切版本及其相关工具/依赖项。

  • 即使没有在错误日志中显示,我的类路径也以斜杠开头,正如 nltk.data.path 所观察到的那样

【问题讨论】:

  • 让 nltk 决定在哪里存储文件以及在哪里访问它们。查看答案。
  • 它根本不是重复的@alvas,但感谢链接,我也试图让 nltk 决定并给出它下载到 quepy 应用程序的路径,但没有任何成功。
  • 您能提供回溯吗?可能会有帮助。
  • 你真的应该(总是)努力缩小你的问题。编写一个加载一个资源的两行脚本,例如from nltk.corpus import wordnet; x=wordnet.all_lemma_names()。在此处显示程序和完整的错误跟踪。还要说明你的 nltk_data 目录实际在哪里。

标签: python nltk wordnet


【解决方案1】:

您的路径似乎不完整。在 Unix 文件系统中,完整路径总是以斜杠开头:/path/to/file/is/well-formed/example.txt。在您学习的过程中,最好使用ls 在 shell(即命令行)中检查您的完整路径。

$ ls /path/to/example/file.txt
/path/to/example/file.txt
$ ls /this/one/is/not/there.txt
ls: /this/one/is/not/there.txt: No such file or directory

如果你得到No such file or directory,那么你的路径是错误的。

【讨论】:

  • 对不起,让我编辑我的问题,我的所有类路径都以斜线开头,我只是没有把它完全写在问题中,可能是我的潜意识虽然它是微不足道的事情,但感谢您指出@bebop。
  • 您遗漏了哪些其他重要细节?显示一个实际的简短脚本,否则没有人可以帮助您。
  • ubuntu@ip-xxx-xx-xx-xxx:~$ python Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from nltk.corpus import wordnet >>> x=wordnet.all_lemma_names() >>> x <dictionary-keyiterator object at 0x7f18c5fe2680> 我已经知道它在 python 中工作并且它能够正确地找到资源但是当我在 Quepy 外部使用它时,我得到了问题中列出的错误。很抱歉,我无法在代码块中发布它。即便如此,我也使用了反引号。 @bebop @tripleee @alvas
【解决方案2】:

如果您确定这不是 Quepy 的问题,请递归地将权限更改为 755 并查看是否有任何新错误。

【讨论】:

  • 把权限改成755的结果是什么?我们需要确认在文件访问方面没有错误配置。
猜你喜欢
  • 2012-12-07
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
相关资源
最近更新 更多