Skip to content
Russian morphological tagset converters library.
Python
Find file
Latest commit 194a020 @kmike badges
Failed to load latest commit information.
russian_tagsets handle abbr grammeme
.gitignore gitignore
.hgignore more hgignore
.hgtags Added tag 0.5.2 for changeset 3953eafde53b
.travis.yml TST add Travis CI
CHANGES.rst handle abbr grammeme
LICENSE
MANIFEST.in bump version
README.rst badges
setup.py bump version
tox.ini bump version

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()
[(u'positional', u'aot'),
 (u'opencorpora-ext', u'opencorpora-int'),
 (u'opencorpora-ext', u'aot'),
 (u'aot', u'positional'),
 (u'aot', u'dialog2010'),
 (u'dialog2010', u'aot'),
 (u'opencorpora-int', u'ruscorpora'),
 (u'opencorpora-int', u'opencorpora-ext')]

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

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

Разработка

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

tox

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

Something went wrong with that request. Please try again.