Skip to content

Latest commit

 

History

History
46 lines (41 loc) · 4.04 KB

README.md

File metadata and controls

46 lines (41 loc) · 4.04 KB

Build and run unit tests

XMorphy

Анализатор базируется на словаре OpenCorpora с конвертацией морфологических тегов в систему UD. Для снятия омонимии используется метод CNN.

Возможности

  • Морфологический анализ словарных и несловарных слов
  • Снятие омонимии по контексту и без контекста
  • Разбор слова по составу (морфемный разбор)

Зависимости

  • git-lfs
  • Компилятор с поддержкой C++17

Сборка

  1. git submodule sync && git submodule update --init --recursive
  2. git lfs pull
  3. mkdir build
  4. cd build
  5. cmake ..
  6. 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  |
+-----------+-------------+-------------+----------------------------------------------------------+--------+-------------+---------------------------+