我正在尝试在无法连接到互联网的SUSE Linux机器上运行nltk。
我已经成功安装了nltk,但是当我提交
时它会运行>>> tagged = nltk.pos_tag(tokens)
我收到此错误:
LookupError:
************************************************** ********************
资源'tokenizer / punkt / english.pickle'没有 找到。请使用NLTK 下载器获取资源:
我无法使用下载器,因为我无法将该盒子连接到互联网。
有没有人可以安装必要的软件包?
答案 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
您应该可以从非气密的机器下载,并将其移动到闪存驱动器上。