Skip to content

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

 
 
 

Contributors

Languages

  • Python 100.0%