在NLTK中compat和使用Browser浏览NLTK Wordnet数据库以进行命名时出现导入错误



此处的用例扩展-NLTK单词旅鼠化

我的电脑上安装了nltk(书中的所有模块和语料库)。我的用例是探索和对比我的数据集的一些引理和词干方法(我尝试了Porter引理,它起了作用)

正如@Chthonic Project在这里描述的那样,我试图在Wordnet中使用旅鼠化NLTK单词旅鼠化。但是它指向的源代码(请参见此处http://nltk.org/_modules/nltk/app/wordnet_app.html),需要来自nltk的compat模块。

from nltk import compat
ImportError: cannot import name compat

我在谷歌上搜索了compat的导入错误(它看起来像compatibility?),下面是我在我的ubuntu盒子上尝试的内容:-

sudo find-name compat*,返回下面的文件。我还尝试了sudo find-name"trac"-typed,它什么都不返回。

我发现我应该在类似的文件夹/usr/lib/python2.4/site-packages/trac-0.11-1-py2.4.egg/trac/tests/functional/中找到一些带有"trac/tests/functional/fixes"的模块

来源:http://biodegradablegeek.com/2008/08/workaround-for-importerror-cannot-import-name-compat-issue-in-trac-011x/#sthash.NhAThk6e.dpuf

问题:

1.我缺少什么这是trac/tests的问题吗?

2.有没有一种方法可以使用wordnet进行命名(从nltk.corpus导入wordnet作为wn运行正常。导入错误解决后,我该如何使用此模块http://nltk.org/_modules/nltk/app/wordnet_app.html(当我用compat遇到导入错误时,我正试图从这个页面本地构建源,即文件browser.py)

提示:如果你正在提供一个解决方案,还请提到如何在我的windows环境中解决这个问题(根据上下文,我可以交替使用windows和ubuntu)

我从find中看到的文件-name compat*

ekta@ekta-VirtualBox:/usr/lib/python2.7$ sudo find . -name compat*
./dist-packages/numpy/numarray/compat.pyc
./dist-packages/numpy/numarray/compat.py
./dist-packages/numpy/distutils/compat.pyc
./dist-packages/numpy/distutils/compat.py
./dist-packages/numpy/compat
./dist-packages/numpy/oldnumeric/compat.pyc
./dist-packages/numpy/oldnumeric/compat.py
./dist-packages/twisted/python/compat.pyc
./dist-packages/twisted/python/compat.py
./dist-packages/gtk-2.0/gtk/compat.pyc
./dist-packages/gtk-2.0/gtk/compat.py

我在python 2.7 上

在NLTK中使用WordNet(实际上是Morphy)进行引理很简单:

from nltk.corpus import wordnet as wn
wn.morphy('runs') # "run"
wn.morphy('leaves') # "leaf"

wordnet_app是WordNet浏览器,而不是NLTK WordNet API:您不需要它!Chthonic Project谈论的是衍生相关的形式,而不是旅语化,这是两种不同的东西。

顺便说一句,wordnet_appcompat的问题是,您复制了一个与nltk发行版不兼容的文件的最新版本(compat是一个最近的nltk模块,灵感来自六个模块,有助于过渡到Python 3。)。如果您需要wordnet_app,不要复制源代码,只需使用nltk发行版中的版本即可!)

最新更新