Морфологический анализатор pymorphy2

pymorphy2 написан на языке Python (работает под 2.x и 3.x). Он умеет:

  1. приводить слово к нормальной форме (например, “люди -> человек”, или “гулял -> гулять”).
  2. ставить слово в нужную форму. Например, ставить слово во множественное число, менять падеж слова и т.д.
  3. возвращать грамматическую информацию о слове (число, род, падеж, часть речи и т.д.)

При работе используется словарь OpenCorpora; для незнакомых слов строятся гипотезы. Библиотека достаточно быстрая: в настоящий момент скорость работы - от нескольких тыс слов/сек до > 100тыс слов/сек (в зависимости от выполняемой операции, интерпретатора и установленных пакетов); потребление памяти - 10...20Мб; полностью поддерживается буква ё.

Лицензия - MIT.

Цели и задачи

  • Поддержка всех возможностей pymorphy (не готово);
  • более актуальные и точные словари из OpenCorpora;
  • большая скорость работы (50x-500x) при таком же или меньшем потреблении памяти;
  • преобразование слов из одной формы в другую между разными частями речи;
  • выделение поддержки django в отдельный пакет (не готово);
  • полная поддержка буквы ё;
  • возможность обновления словарей;
  • ранжирование результатов разбора (готово только частично);
  • снятие неоднозначности разбора (?) (не готово).