首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动安装开放多语言世界网(NLTK)

手动安装开放多语言世界网(NLTK)
EN

Stack Overflow用户
提问于 2022-01-18 10:29:54
回答 1查看 1.1K关注 0票数 2

我正在使用一台只能访问专用网络的计算机,它不能从命令行发送指令。因此,每当我必须安装Python包时,我都必须手动安装(我甚至不能使用Pypi)。幸运的是,NLTK允许我手动下载语料库(从这里),并通过将它们放在正确的文件夹中“安装”它们(如解释的这里)。

现在,我需要完全按照这个答案中所说的做

代码语言:javascript
复制
>>> cane_lemmas = wn.lemmas("cane", lang="ita")
>>> print(cane_lemmas) 

引理(‘dog.n.01.甘蔗’),引理(‘Cramp.n.02.甘蔗’),引理(‘槌.n.01.甘蔗’),引理(‘bad_person.n.01.cane’),引理(‘无法胜任’n.01.甘蔗‘)

要做到这一点,我认为下载文件"52.打开多语言Wordnet",在C:\nltk_data\corpora中解压缩它,并在导入后运行前面提到的代码就足够了。

代码语言:javascript
复制
from nltk.corpus import wordnet as wn

但是,当我运行代码时:

代码语言:javascript
复制
>>> cane_lemmas = wn.lemmas("cane", lang="ita")
>>> print(cane_lemmas) 

我知道这个错误:

WordNetError:线;它在1812年战争中赢得了对英国护卫舰的辉煌胜利,无疑是美国海军历史上最著名的战舰;它已经被重建并锚定在波士顿的查尔斯敦海军场:价值不足以解开(预期2艘,第1艘)。

但是,如果我跑:

代码语言:javascript
复制
>>> cane_lemmas = wn.lemmas("dog", lang="eng")
>>> print(cane_lemmas) 

我正确地得到:

引理(‘dog.n.01.狗’),引理(‘frump.n.01.狗’),引理(‘dog.n.03.狗’),引理(‘cad.n.01.狗’),引理(‘Frank.n.02.狗’),引理(‘pawl.n.01.狗’),引理(‘andiron.n.01.狗’),引理(‘chase.v.01.狗’)

我做错了什么?

我使用python 3.7.4和nltk 3.4.5

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-19 09:46:32

要确定,能否验证当前的nltk_data文件夹结构?正确的结构是:

代码语言:javascript
复制
nltk_data
+ corpora
  + wordnet
    + adj.exc
    + adv.exc
    + ...
  + omw
    + ...
    + ita
      + citation.bib
      + LICENSE
      + ...
    + ...

然而,在大多数情况下,问题是由于不正确的nltk_data安装,NLTK会通知您安装有问题(您必须执行例如nltk.download("wordnet")来解决它)

我认为,为了执行您的建议,您必须同时下载wordnetomw

请记住,NLTK现在支持两个版本的OMW (也有omw-1.4.,但只在NLTK3.6.7中添加了对此的支持)。此外,有三个版本的wordnet:wordnetwordnet2021wordnet31wordnet_ic。但是,我认为您应该可以只使用omwwordnet

有关数据/包的更多信息,请参见nltk_data

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70754036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档