9

我正在尝试在无法连接到 Internet 的 SUSE Linux 机器上运行 nltk。

我已经成功安装 nltk 并且它运行但是当我提交时

>>> tagged = nltk.pos_tag(tokens)

我收到此错误:

查找错误:
************************************************ ************************
找不到资源“tokenizers/punkt/english.pickle”。请使用 NLTK 下载器获取资源:

我无法使用下载器,因为我无法将盒子连接到互联网。

有谁可以安装必要的软件包?

4

3 回答 3

4

数据被下载到nltk_data目录中。一个系统与另一个系统的不同之处在于,您可以通过执行以下操作来了解:

import nltk
print nltk.data.find('.')

english.pickle应该在 的子文件夹中<nltk_data>/taggers/。最简单的方法是在可以访问 Internet 的机器上使用下载器,然后将其复制并放在同一个子文件夹中。只有一个版本english.pickle,你可以在 Windows 机器上下载它,没问题。

于 2012-07-20T19:14:41.157 回答
2

下载器将文件存储在特定文件夹中。我想可以在在线机器上下载并将文件复制到离线机器上的等效位置。在我的机器上,它下载到/usr/local/lib/nltk_data.

于 2012-07-19T09:07:30.727 回答
1

出于参考目的(截至 2017 年),可在 GitHub 的此链接中找到 punkt 标记器:

https://github.com/nltk/nltk_data/blob/gh-pages/packages/tokenizers/punkt.zip

您应该能够从非气隙机器下载,并将其移动到闪存驱动器上。

于 2017-03-29T14:10:20.017 回答