Как сделать текстовый поиск по нормированным формам слова используя морфологические словари (ispell/aspell) в Python?

Здравствуйте,

нужен инструмент, который бы помог переводить слова с помощью морфологического словаря в начальную форму. Если кто знает поиск в Postgres с помощью ts_vector (www.postgresql.org/docs/9.1/static/textsearch-dict... ), так это именно то, что мне нужно создать, но только в Python под Windows и после *nix.

ЗЫ: Копал в сторону hunspell и библиотеку pyhunspell. Никак не смог скомпилировать, так как разумного компилятора под C/C++ нет, только под CygWin, а тот компилирует только под платформу CygWin, и невозможно после запускать что-либо под виндой. Не говорю уже о очень большом количестве всяческих костылей, которые я встретил.

Спасибо.
  • Вопрос задан
  • 3126 просмотров
Пригласить эксперта
Ответы на вопрос 3
qmax
@qmax
программер
Опаньке!
А ispell/aspell разве морфологические?
Ответ написан
yttrium
@yttrium
В PostgreSQL рекомендую попробовать расширение pgtrgm. С помощью которого можно реализовать поиск с опечатками в запросе. На небольших запросах мне удалось достичь большей скорости чем при использовании чистого ts_vector. В той же статье описывают схему при использовании триграм в содружестве с полнотекстовым поиском.
Есть ещё nltk.stem.snowball.RussianStemmer. Но он не такой быстрый. И с Python3 он ещё не совсем дружит.
Как-то подслушал что с activepython проблем меньше в винде, пакеты предкомпилированные.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы