我正在使用一台只能访问专用网络的计算机,它不能从命令行发送指令。因此,每当我必须安装Python包时,我都必须手动安装(我甚至不能使用Pypi)。幸运的是,NLTK允许我手动下载语料库(从这里),并通过将它们放在正确的文件夹中“安装”它们(如解释的这里)。
现在,我需要完全按照这个答案中所说的做
>>> 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中解压缩它,并在导入后运行前面提到的代码就足够了。
from nltk.corpus import wordnet as wn但是,当我运行代码时:
>>> cane_lemmas = wn.lemmas("cane", lang="ita")
>>> print(cane_lemmas) 我知道这个错误:
WordNetError:线;它在1812年战争中赢得了对英国护卫舰的辉煌胜利,无疑是美国海军历史上最著名的战舰;它已经被重建并锚定在波士顿的查尔斯敦海军场:价值不足以解开(预期2艘,第1艘)。
但是,如果我跑:
>>> 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
发布于 2022-01-19 09:46:32
要确定,能否验证当前的nltk_data文件夹结构?正确的结构是:
nltk_data
+ corpora
+ wordnet
+ adj.exc
+ adv.exc
+ ...
+ omw
+ ...
+ ita
+ citation.bib
+ LICENSE
+ ...
+ ...然而,在大多数情况下,问题是由于不正确的nltk_data安装,NLTK会通知您安装有问题(您必须执行例如nltk.download("wordnet")来解决它)
我认为,为了执行您的建议,您必须同时下载wordnet和omw:
omw:数据/gh-页面/包/社团/omw.zipwordnet:数据/gh-页面/包/语料库/wordnet.zip请记住,NLTK现在支持两个版本的OMW (也有omw-1.4.,但只在NLTK3.6.7中添加了对此的支持)。此外,有三个版本的wordnet:wordnet,wordnet2021,wordnet31和wordnet_ic。但是,我认为您应该可以只使用omw和wordnet。
有关数据/包的更多信息,请参见nltk_data。
https://stackoverflow.com/questions/70754036
复制相似问题