XMorphy
XMorphy copied to clipboard
Морфологический анализатор русского языка
XMorphy
Анализатор базируется на словаре OpenCorpora с конвертацией морфологических тегов в систему UD. Для снятия омонимии используется метод CNN.
Возможности
- Морфологический анализ словарных и несловарных слов
- Снятие омонимии по контексту и без контекста
- Разбор слова по составу (морфемный разбор)
Зависимости
- git-lfs
- Компилятор с поддержкой C++17
Сборка
-
git submodule sync && git submodule update --init --recursive
-
git lfs pull
-
mkdir build
-
cd build
-
cmake ..
-
make -j4
Использование бинарника
$ xmorphy -c -m
мама мыла раму
+------+-------------+-------------+------------------------------------------------------------------------------+--------+-------------+----------------------+
| Form | Normal form | Speech Part | Morphotags | Source | Probability | Morphemic parse |
+------+-------------+-------------+------------------------------------------------------------------------------+--------+-------------+----------------------+
| мама | мама | NOUN | Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing | DICT | 1.000000 | мам:ROOT/а:END |
+------+-------------+-------------+------------------------------------------------------------------------------+--------+-------------+----------------------+
| мыла | мыть | VERB | Aspect=Imp|Gender=Fem|Mood=Ind|Number=Sing|Tense=Past|VerbForm=Fin|Voice=Act | DICT | 1.000000 | мы:ROOT/л:SUFF/а:END |
+------+-------------+-------------+------------------------------------------------------------------------------+--------+-------------+----------------------+
| раму | рама | NOUN | Animacy=Inan|Case=Acc|Gender=Fem|Number=Sing | DICT | 1.000000 | рам:ROOT/у:END |
+------+-------------+-------------+------------------------------------------------------------------------------+--------+-------------+----------------------+
дизельный полярный ледокол
+-----------+-------------+-------------+----------------------------------------------------------+--------+-------------+---------------------------+
| Form | Normal form | Speech Part | Morphotags | Source | Probability | Morphemic parse |
+-----------+-------------+-------------+----------------------------------------------------------+--------+-------------+---------------------------+
| дизельный | дизельный | ADJ | Case=Nom|Degree=Pos|Gender=Masc|Number=Sing | DICT | 1,000000 | дизель:ROOT/н:SUFF/ый:END |
+-----------+-------------+-------------+----------------------------------------------------------+--------+-------------+---------------------------+
| полярный | полярный | ADJ | Animacy=Inan|Case=Acc|Degree=Pos|Gender=Masc|Number=Sing | DICT | 1,000000 | пол:ROOT/ярн:SUFF/ый:END |
+-----------+-------------+-------------+----------------------------------------------------------+--------+-------------+---------------------------+
| ледокол | ледокол | NOUN | Animacy=Inan|Case=Acc|Gender=Masc|Number=Sing | DICT | 1,000000 | лед:ROOT/о:LINK/кол:ROOT |
+-----------+-------------+-------------+----------------------------------------------------------+--------+-------------+---------------------------+