如何在离线Linux机器上安装nltk的english.pickle

时间:2012-07-19 08:08:08

标签: python linux offline nltk pickle

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

我已经成功安装了nltk,但是当我提交

时它会运行
>>> tagged = nltk.pos_tag(tokens)

我收到此错误:

  

LookupError:
       ************************************************** ********************
  资源'tokenizer / punkt / english.pickle'没有   找到。请使用NLTK   下载器获取资源:

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

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

3 个答案:

答案 0 :(得分:4)

将数据下载到nltk_data目录。哪个系统因系统而异,但您可以通过以下方式找到:

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

english.pickle应位于<nltk_data>/taggers/的子文件夹中。最简单的方法是在具有互联网访问权限的计算机上使用下载程序,然后将其复制并放在同一个子文件夹中。只有english.pickle的一个版本,你可以在Windows机器上下载,没问题。

答案 1 :(得分:2)

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

答案 2 :(得分:1)

供参考(截至2017年),可在GitHub的此链接找到punkt tokenizers:

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

您应该可以从非气密的机器下载,并将其移动到闪存驱动器上。