Распознавание именованных сущностей (Named Entity Recognition) — выделение из текста именованных сущностей, таких как имена людей, места, организации и даты. Это имеет множество практических применений, включая извлечение информации, классификацию текстов, анализ социальных медиа и многое другое. В этой статье мы рассмотрим, как реализовать Named Entity Recognition с использованием Python и библиотеки spaCy.
Перед тем как начать работу с распознаванием именованных сущностей, давайте установим библиотеку spaCy:
!pip install spacy
После установки spaCy нам также понадобится модель для аннотации текста и извлечения именованных сущностей. Для этого мы будем использовать модель 'ru_core_news_sm', предназначенную для русского языка:
!python -m spacy download ru_core_news_sm
Теперь, когда у нас есть все необходимое, давайте посмотрим на пример кода, демонстрирующий использование spaCy для распознавания именованных сущностей в русском тексте:
import spacy
Загрузим модель для русского языка:
nlp = spacy.load("ru_core_news_sm")
Создадим пример текста для анализа:
text = "Владимир Путин родился 7 октября 1952 года в Ленинграде. Столица России — Москва."
Проанализируем текст с помощью spaCy:
doc = nlp(text)
for ent in doc.ents:
print(ent.text, ent.label_)
Владимир Путин PER
7 октября 1952 года DATE
Ленинград LOC
России LOC
Москва LOC
Здесь PER обозначает персону (человека), LOC — локацию, а DATE — дату.
Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.
© Лена Капаца. Все права защищены.