Russian morphological tagset converters library.
Python
Clone or download
Latest commit 560f434 Jun 18, 2017

README.rst

russian-tagsets

russian-tagsets - библиотека для преобразования между различными форматами обозначения грамматической информации для слов русского языка. Лицензия - MIT.

На данный момент поддерживается (с разной степенью корректности) преобразование между следующими форматами:

Идея такая: для каждого формата в библиотеке определяется несколько функций, которые преобразуют тег в другие форматы; если какое-то преобразование явным образом не определено, russian-tagsets пытается построить цепочку преобразований, приводящую к нужному результату.

Warning

Преобразование почти никогда не выходит осуществить без потерь; если можно эту библиотеку не использовать, то лучше и не использовать.

Установка

pip install russian-tagsets

Использование

"Автоматический" режим (библиотека пытается найти пути преобразования):

>>> from russian_tagsets import converters
>>> to_aot = converters.converter('opencorpora-int', 'aot')
>>> to_aot("NOUN,anim,masc plur,nomn")
С,од,мр,мн,им

Поддерживаемые напрямую форматы:

>>> converters.get_supported()
[('positional', 'aot'),
 ('aot', 'positional'),
 ('aot', 'dialog2010'),
 ('dialog2010', 'aot'),
 ('opencorpora-int', 'opencorpora-ext'),
 ('opencorpora-int', 'ruscorpora'),
 ('opencorpora-int', 'ud14'),
 ('opencorpora-int', 'ud20'),
 ('opencorpora-int', 'dialog2017'),
 ('opencorpora-ext', 'opencorpora-int'),
 ('opencorpora-ext', 'aot')]

"Ручной" режим (быстрее, преобразование только напрямую):

>>> import russian_tagsets
>>> russian_tagsets.aot.to_positional(u"С,од,мр,мн,им")
Tag("NNMAP1-------A--")

Разработка

Для запуска тестов выполните

tox

из папки с репозиторием.