找不到资源语料库/wordnet(运行 quepy dbpedia 示例应用程序)

Posted

技术标签:

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

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

    将下载目录(随后通过以下 3 种方法设置 nltk_data 路径)3 次更改为 /usr/lib/nltk_data、/home/ubuntu/nltk_data 和 /home/ubuntu/quepy/nltk_data。 通过 (i) 更改所有三个路径所需的 quepy 应用程序中 settings.py 中的 NLTK_DATA_PATH (ii) 对所有三个路径使用 nltk.data.path.append 命令 (iii) 使用导出 NLTK_DATA 更​​改路径所有三个路径的命令 我什至继续递归地为 nltk_data 目录的内容授予 644 权限 使用带有特定路径的 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 目录实际在哪里。 【参考方案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的结果是什么?我们需要确认在文件访问方面没有错误配置。

以上是关于找不到资源语料库/wordnet(运行 quepy dbpedia 示例应用程序)的主要内容,如果未能解决你的问题,请参考以下文章

NLTK学习笔记:文本语料资源和WordNet汇总

NLTK wordnet 接口中的第 0 个同义词集

免费资源100+个自然语言处理数据集大放送,再不愁找不到数据!

语料库与语言知识库

运行 proguard 后找不到资源异常

《统计自然语言处理基础》容易忘记的知识点