NLP Academy · Урок

Извлечение сущностей с помощью spaCy

Составьте список сущностей и их меток

Урок 2 из 413 шагов

«Извлечение сущностей с помощью spaCy» — бесплатный урок NLP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения NLP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс NLP Academy содержит 4 уроков всего.

spaCy делает всю работу

В spaCy есть обученный компонент NER, который находит сущности за Вас. Вы передаёте ему текст и получаете обратно фрагменты с метками. 🐍

Загрузка модели

Сначала загрузите конвейер, включающий NER. Небольшая английская модель en_core_web_sm — удобная отправная точка для быстрого знакомства.

import spacy
nlp = spacy.load("en_core_web_sm")

Обработка текста

Передайте строку в конвейер, чтобы получить объект Doc. В Doc хранятся токены, предложения и сущности, найденные spaCy.

doc = nlp("Sundar Pichai leads Google in California.")

Свойство ents

Каждый Doc предоставляет doc.ents — кортеж найденных сущностей. Переберите его, чтобы рассмотреть каждую сущность отдельно.

for ent in doc.ents:
    print(ent)

Чтение текста

У каждой сущности есть атрибут .text, содержащий точно совпавшие слова. Это исходный фрагмент, извлечённый из Вашего предложения.

print(ent.text)  # e.g. Sundar Pichai

Чтение метки

Используйте .label_ с конечным символом подчёркивания, чтобы получить читаемую строку метки, например PERSON, ORG или GPE.

print(ent.label_)  # e.g. PERSON

Объединение результатов

Небольшой цикл выводит и текст, и метку каждой сущности, превращая предложение в аккуратные структурированные данные.

for ent in doc.ents:
    print(ent.text, ent.label_)

Позиции символов

Сущности также предоставляют start_char и end_char — смещения в исходной строке. Это удобно для последующей подсветки совпадений.

print(ent.start_char, ent.end_char)

Объяснение метки

Забыли, что означает GPE? Вызовите spacy.explain, чтобы получить понятное описание любой метки сущности.

spacy.explain("GPE")  # 'Countries, cities, states'

Сущности — это фрагменты

Каждая сущность — это объект Span, фрагмент Doc. Поэтому она ведёт себя как небольшой документ, который можно дополнительно изучать токен за токеном.

Сбор в список

Быстрое списковое включение собирает все сущности в список кортежей, готовый для сохранения, подсчёта или включения в отчёт.

results = [(e.text, e.label_) for e in doc.ents]

Быстрая проверка

Какой атрибут возвращает читаемую метку сущности?

Итоги

Загрузите модель, запустите nlp() для текста, а затем переберите doc.ents, читая .text и .label_. Это основа работы NER в spaCy. ✅

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Извлечение сущностей с помощью spaCy» бесплатный?

Да — полный текст урока «Извлечение сущностей с помощью spaCy» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс NLP Academy, подпишись на CoddyKit PRO. Курс NLP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Извлечение сущностей с помощью spaCy»?

Составьте список сущностей и их меток Ты практикуешь NLP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать NLP Academy?

Предыдущий опыт не требуется. NLP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Извлечение сущностей с помощью spaCy»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке NLP Academy?

Да. Каждый урок NLP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что считается сущностью
  2. Извлечение сущностей с помощью spaCy
  3. Визуализация сущностей с помощью displaCy
  4. Добавление пользовательских правил для сущностей
← Назад к NLP Academy