Извлечение сущностей с помощью spaCy
Составьте список сущностей и их меток
«Извлечение сущностей с помощью 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 — локальная установка не требуется.
Все уроки этого курса
- Что считается сущностью
- Извлечение сущностей с помощью spaCy
- Визуализация сущностей с помощью displaCy
- Добавление пользовательских правил для сущностей