/natasha

Rule-based named entity recognition library for russian language

Primary LanguagePythonMIT LicenseMIT

Natasha Build Status Documentation Status PyPI

Natasha - библиотека для поиска и извлечения именованных сущностей (Named-entity recognition) из текстов на русском языке. На данный момент разбираются упоминания персон, даты и суммы денег.

Установка

Natasha поддерживает Python 2.7+ / 3.3+ и PyPy.

$ pip install natasha

Если вы используете CPython, рекомендуется также поставить pymorphy2[fast]:

$ pip install pymorphy2[fast]

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

from natasha import NamesExtractor
	

text = '''
Простите, еще несколько цитат из приговора. «…Отрицал существование
Иисуса и пророка Мухаммеда», «наделял Иисуса Христа качествами
ожившего мертвеца — зомби» [и] «качествами покемонов —
представителей бестиария японской мифологии, тем самым совершил
преступление, предусмотренное статьей 148 УК РФ
'''
extractor = NamesExtractor()
matches = extractor(text)
for match in matches:
    print(match.span, match.fact)

(69, 75) Name(first='иисус', last=None, middle=None, nick=None)
(86, 95) Name(first='мухаммед', last=None, middle=None, nick=None)
(107, 120) Name(first='иисус', last='христос', middle=None, nick=None)

Про атрибуты объекта match и другие типы экстракторов написано в документации.

Дополнительная информация

Лицензия

Исходный код распространяется под лицензией MIT.