Распознавание именованных сущностей (NER)

NER (Named Entity Recognition) — задача автоматического извлечения из текста конкретных объектов: имён людей, организаций, дат, сумм, адресов, номеров документов. В контексте чат-ботов NER позволяет получать структурированные данные из свободного текста пользователя без анкет и форм.

Что распознаёт NER

Стандартные типы сущностей для русского языка:

  • PER — персона: «Иван Петров», «директора Смирнова»
  • ORG — организация: «ООО Ромашка», «Сбербанк»
  • LOC — место: «Санкт-Петербург», «ул. Ленсовета, 76»
  • DATE / TIME — дата и время: «в пятницу», «15 июня в 14:30»
  • MONEY — суммы: «5 000 рублей», «50 тыс.»
  • PHONE — телефоны: «+7 921 123-45-67»

Как NER реализуется в боте

Два подхода. Первый — специализированная NER-модель (DeepPavlov, natasha, spaCy с русской моделью): работает быстро (5–20 мс), не требует вызова LLM API, хорошо справляется со стандартными типами сущностей. Второй — LLM с structured output: модель возвращает JSON с извлечёнными сущностями. Медленнее и дороже, но лучше справляется с нестандартными или контекстно-зависимыми сущностями.

В HR-боте NER извлекает из текста резюме: ФИО, стаж, навыки, предыдущие должности — и передаёт их в AmoCRM как поля контакта. 0 ручного ввода рекрутером. Читать кейс.

NER для нормализации дат и сумм

Пользователи называют даты по-разному: «послезавтра», «в следующий понедельник», «15-го». NER с нормализацией переводит все форматы в стандартный ISO: 2026-05-27. Аналогично для сумм: «полтора миллиона» → 1 500 000. Это критично для передачи данных в CRM и booking-системы, которые принимают только стандартные форматы.

NER в чат-ботах: практическое применение

В диалоговых системах NER извлекает структурированные данные из свободного текста пользователя. Например, из фразы «хочу записаться к Иванову 15 марта в 14:00» NER выделяет: PERSON=«Иванов», DATE=«15 марта», TIME=«14:00». Эти данные передаются в CRM или систему записи без дополнительных уточняющих вопросов. Точность NER на типовых русскоязычных доменах (медицина, e-commerce) — 85–95% при fine-tuning на доменных данных.

Инструменты NER для русского языка

  • natasha / navec — открытые модели, хорошо работают на стандартных типах сущностей (персоны, организации, даты)
  • spaCy + ru_core_news_lg — зрелая экосистема с кастомным дообучением
  • LLM как NER — GPT-4 справляется с извлечением без обучения, но дороже в эксплуатации
Сергей Полухин

Сергей Полухин

Co-Founder & CTO PapAI Soft · профиль

Частые вопросы

Как NER справляется с опечатками и сленгом?

Современные модели на основе BERT/RoBERTa устойчивы к типичным опечаткам благодаря субтокенизации (BPE/WordPiece). Сленг и профессиональные аббревиатуры требуют дообучения или расширения словаря. Практический подход — нормализация входного текста (spell-checking) перед NER.

Нужен ли отдельный NER-модуль или достаточно LLM?

LLM справляется с NER без обучения через few-shot промптинг и достаточно точен для большинства задач. Специализированный NER-модуль быстрее (10–50ms vs 500–2000ms у LLM) и дешевле в эксплуатации. Выбор зависит от нагрузки: при >100 запросов/сек специализированный модуль оправдан.

Связанные термины

  • NLU — NER как часть задачи понимания текста
  • Чат-бот — применение NER для сбора данных в диалоге
  • CRM-интеграция — куда NER передаёт извлечённые данные
  • LLM — языковая модель как NER-движок с structured output

Где применяется

Разработка ИИ-ассистентов → ИИ-консультант →

Хотите настроить автоматическое извлечение данных? Обсудим задачу.

Связаться с нами