Skip to content
forked from natasha/natasha

Наташа извлекает именованные сущности из текста на русском языке

License

Notifications You must be signed in to change notification settings

Pythoning/natasha

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Natasha

Наташа извлекает именованные сущности из текста на русском языке, включая (но не ограничиваясь):

Физ. лица: Иванов Иван Иванович, Иван Иванов, Иван Петрович, Ваня
Организации: ПАО «Газпром», ИП Иванов Иван Иванович, агентство Bloomberg
События: фестиваль «Ковчег спасения», шоу «Пятая империя»
Гео-объекты: Москва, Ленинградская область, Российская Федерация, Северо-Кавказский ФО
Объекты времени: 21 мая 1996 года, 21.05.1996, 21 мая, сегодня, в конце года
Денежные единицы: 200 рублей, 1 млрд. долларов

Алгоритм работы (выделение сущностей по заданным правилам, используя морфологический разбор) похож на Томита-парсер от Яндекса.

Установка

$ pip install natasha

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

Для первого знакомства можно использовать онлайн версию.

from natasha import Combinator, DEFAULT_GRAMMARS
from natasha.grammars import Geo, Date

# DEFAULT_GRAMMARS содержит стандартный набор правил:
# [
#    <enum 'Money'>,
#    <enum 'Person'>,
#    <enum 'Geo'>,
#    <enum 'Date'>,
#    <enum 'Brand'>,
#    <enum 'Event'>
# ]

# Можно использовать их частично или использовать свои правила
MY_GRAMMARS_LIST = [
    Geo,
    Date,
]

text = "23 августа в Нижнем Новгороде пройдет очередной день"

combinator = Combinator(MY_GRAMMARS_LIST)
for (grammar, rule, tokens) in combinator.extract(text):
    print("Тип:", grammar)
    print("Правило:", rule)
    print("Токены:", tokens)

Лицензия

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

About

Наташа извлекает именованные сущности из текста на русском языке

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%