Skip to main content

Russian tagset converters library

Project description

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

Release history Release notifications

This version
History Node

0.6

History Node

0.5.2

History Node

0.5.1

History Node

0.5

History Node

0.4

History Node

0.3.1

History Node

0.3

History Node

0.2

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
russian-tagsets-0.6.tar.gz (23.3 kB) Copy SHA256 hash SHA256 Source None Jun 18, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page