Ошибка импорта для сравнения в NLTK и использования BrowServer для просмотра базы данных Wordnet NLTK для лемматизации

Расширение до варианта использования здесь - лемматизирующий слова NLTK

У меня на компьютере установлен nltk (со всеми модулями и корпусом из книги). Мой вариант использования - изучить и сопоставить некоторые подходы к лемматизации и основам для моего набора данных (я попробовал лемматизацию Портера, которая сработала)

Я пытался использовать лемматизацию с Wordnet, как описано в @Chthonic Project здесь NLTK слова лемматизации. Однако исходный код, на который он указывает (см. Здесь http://nltk.org/_modules/nltk/app/wordnet_app.html), нуждается в совместимом модуле из nltk.

from nltk import compat
ImportError: cannot import name compat

Я погуглил ошибку импорта compat(и это выглядело как совместимость?) И вот что я попробовал на моем Ubuntu Box:-

Судо найти. -name compat *, который возвращает файлы ниже. Я также попытался sudo найти -name "trac" -типа d, который ничего не возвращает.

Я вижу, что я должен был найти некоторые модули с "trac/tests/functions /fixes" в аналогичной папке /usr/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/ Тесты / функционал /

Источник: http://biodegradablegeek.com/2008/08/workaround-for-importerror-cannot-import-name-compat-issue-in-trac-011x/

Вопросы:

1. Чего мне не хватает? И это проблема с trac / tests?

2. Есть ли способ использовать wordnet для лемматизации (из nltk.corpus импортировать wordnet, так как wn работает просто отлично. После публикации ошибка импорта решена, как мне использовать этот модуль http://nltk.org/_modules/nltk/app/wordnet_app.html (я пытался создать исходный код на этой странице, т.е. это файл browserver.py, когда я сталкиваюсь с ошибкой импорта с помощью compat)

Совет. Если вы предлагаете решение, укажите также, как решить эту проблему в моей среде Windows (в зависимости от контекста я использую как windows, так и ubuntu).

Файлы, которые я вижу из находки. имя *

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

Я на питоне 2.7

1 ответ

Лемматизировать с использованием WordNet (собственно, Морфи) в NLTK очень просто:

from nltk.corpus import wordnet as wn

wn.morphy('runs') # "run"
wn.morphy('leaves') # "leaf"

wordnet_app это браузер WordNet, а не NLTK WordNet API: он вам не нужен! Chthonic Project говорил о деривационных формах, а не о лемматизме, которые являются двумя разными вещами.

Кстати, проблема у вас была с wordnet_app а также compat является то, что вы скопировали последнюю версию файла, которая была несовместима с вашим дистрибутивом nltk (compat - это недавний модуль NLTK, вдохновленный шестью, который помогает переходу на Python 3.). Если тебе надо wordnet_app, не копируйте исходный код, просто используйте версию в своем дистрибутиве NLTK!)

Другие вопросы по тегам