Russian tagset converters library
Project description
russian-tagsets - библиотека для преобразования между различными форматами обозначения грамматической информации для слов русского языка. Лицензия - MIT.
На данный момент поддерживается (с разной степенью корректности) преобразование между следующими форматами:
OpenCorpora (в.т.ч. русские словари pymorphy2);
A Positional Tagset for Russian (Jirka Hana and Anna Feldman, 2010);
НКРЯ;
Universal Dependencies (v1.4, v2.0, Dialog-2017);
Идея такая: для каждого формата в библиотеке определяется несколько функций, которые преобразуют тег в другие форматы; если какое-то преобразование явным образом не определено, russian-tagsets пытается построить цепочку преобразований, приводящую к нужному результату.
Установка
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--")
Разработка
Исходный код: https://github.com/kmike/russian-tagsets
Баг-трекер: https://github.com/kmike/russian-tagsets/issues
Для запуска тестов выполните
tox
из папки с репозиторием.
Changes
0.6 (2017-06-18)
OpenCorpora -> Universal Dependencies conversion support (UD 1.4, UD 2.0, Dialog 2017 tagset).
convert function accepts optional word argument - conversion rules may now depend on a word itself, not only on its tag;
Python 3.2, 3.3 and 2.6 support is dropped;
packaging improvements.
0.5.2 (2014-08-19)
Handle “abbr” grammeme in OpenCorpora -> RusCorpora conversion.
0.5.1 (2014-04-23)
Added support for Init OpenCorpora grammeme.
0.5 (2014-04-22)
Added support for initials in OpenCorpora -> RusCorpora conversion rules;
small code cleanup.
0.4 (2014-03-14)
Improved OpenCorpora -> RusCorpora rules;
Anph grammeme is added to OpenCorpora rules.
0.3.1 (2013-04-12)
Improved OpenCorpora -> RusCorpora rules.
0.3 (2013-03-21)
Improved OpenCorpora -> RusCorpora rules.
0.2 (2013-02-07)
OpenCorpora -> RusCorpora conversion;
DSL for writing conversion routines.
0.1 (2012-10-07)
Initial release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.