Skip to main content

Russian tagset converters library

Project description

https://img.shields.io/pypi/v/russian-tagsets.svg https://img.shields.io/pypi/l/russian-tagsets.svg https://img.shields.io/travis/kmike/russian-tagsets.svg

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

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

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for russian-tagsets, version 0.6
Filename, size File type Python version Upload date Hashes
Filename, size russian-tagsets-0.6.tar.gz (23.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page