NER: как модель находит имена, даты и организации в тексте

NER (Named Entity Recognition) — задача NLP, которая находит в тексте имена, организации, даты и другие сущности. Разбираем, какие типы сущностей выделяет NER, как устроена BIO-разметка данных для обучения и по каким метрикам оценивают качество готовой модели.

Автор: Редакция DataMarkupОпубликовано: 2026-07-14

Что такое NER (Named Entity Recognition)?

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

В отличие от классификации, которая описывает текст одной общей меткой, NER работает на уровне отдельных фрагментов внутри предложения и одновременно ищет сущности разных типов. Именно эта способность делает NER основой для извлечения структурированной информации из свободного текста — договоров, обращений клиентов, медицинских заключений или новостных статей.

Название задачи прижилось из англоязычной литературы по компьютерной лингвистике конца 1990-х годов, но сама идея — искать в тексте упоминания конкретных объектов реального мира — заметно старше и лежит в основе большинства систем автоматической обработки документов.

Сегодня NER редко используют в одиночку: чаще это первый шаг более крупного пайплайна — извлечения фактов, построения графа знаний или заполнения полей CRM-системы из свободного текста обращения. Без надёжного NER на входе такие системы вынуждены полагаться на ручной ввод данных или простые regex-правила, которые ломаются при малейшем отклонении от шаблона формулировки.

Какие типы сущностей выделяет NER?

Базовый набор типов сущностей включает персону, организацию, локацию, дату и денежную сумму, а под конкретную задачу таксономию расширяют своими категориями — например, названиями продуктов, номерами документов или медицинскими терминами. Чем ýже отрасль, тем специфичнее набор сущностей, которые нужно научить модель находить.

Тип сущности Метка Пример из текста
Персона PER Мария Петрова, Иванов
Организация ORG ООО «Ромашка», Сбербанк
Локация LOC Москва, улица Ленина
Дата и время DATE 12 марта 2026 года
Денежная сумма MONEY 25 000 рублей
Продукт PRODUCT кредитная карта, iPhone 15

Готовые модели неплохо находят базовые типы вроде персон и дат, но специфичные категории — диагнозы, статьи закона, артикулы товаров — почти всегда требуют собственной таксономии и датасета, размеченного под конкретный домен заказчика. В медицинских текстах, например, отдельно выделяют категории «диагноз», «препарат» и «дозировка», а в юридических — «статья закона», «номер дела» и «сторона договора»: без такой детализации общая модель просто не различает эти сущности между собой.

Число типов сущностей в таксономии — компромисс между полнотой и качеством разметки: чем больше пересекающихся по смыслу категорий вводит заказчик, тем чаще разметчики расходятся во мнениях о правильном типе конкретной сущности, а модель — путается при обучении на противоречивых примерах. На старте проекта обычно ограничиваются 5–10 наиболее важными типами и расширяют список только после того, как базовая таксономия показала стабильное качество на пилотной выборке.

Как работает NER-модель?

NER-модель проходит по тексту токен за токеном и для каждого слова предсказывает, относится ли оно к какой-либо сущности и к какой именно. Современные модели опираются на трансформерную архитектуру: они учитывают контекст всего предложения, поэтому одно и то же слово может быть размечено по-разному в зависимости от окружающих слов.

Например, слово «Орёл» модель разметит как локацию в предложении «делегация прибыла в Орёл» и оставит без метки сущности в предложении «в небе кружил орёл» — разница определяется исключительно контекстом, а не самим словом. Такая контекстная чувствительность — прямое следствие обучения на большом объёме размеченных примеров с разнообразными формулировками.

До появления трансформеров для NER широко использовали более простые статистические модели — например, условные случайные поля (CRF), которые учитывали лишь несколько соседних слов. Такие модели были быстрее, но заметно чаще ошибались на длинных и неоднозначных предложениях, где верная разметка сущности зависит от контекста, вынесенного далеко за пределы ближайшего окружения слова.

Где применяется NER: в финтехе, медицине, поддержке?

В финтехе NER извлекает реквизиты, суммы и стороны сделки из договоров и выписок для автоматической проверки документов. В медицине — находит диагнозы, препараты и дозировки в заключениях врачей. В клиентской поддержке — вычленяет номер заказа, дату и продукт из обращения, чтобы автоматически направить его нужному специалисту.

Общая логика во всех трёх случаях одна: NER превращает неструктурированный текст в структурированные поля, которые дальше обрабатывает другая система — CRM, база данных или скрипт проверки комплаенса. Чем точнее NER-модель находит границы сущностей, тем меньше ручной доработки требует итоговый результат.

Похожая логика работает и в других отраслях: в ритейле NER выделяет из отзывов упомянутые модели товаров и магазины, в HR-системах — навыки и должности из резюме, а в новостной аналитике — компании, персон и географию событий для построения графов связей между упоминаниями.

Как размечают данные для NER: что такое BIO-разметка?

BIO — стандартная схема разметки для NER, где каждому слову текста присваивают один из трёх тегов: B (Begin — начало сущности), I (Inside — продолжение той же сущности) или O (Outside — слово вне какой-либо сущности). Такая пометка на уровне отдельных токенов и служит обучающими данными для модели.

Например, фраза «встреча с Иваном Петровым в Москве» размечается так: «Иваном» получает тег B-PER, «Петровым» — I-PER (продолжение той же сущности «персона»), «Москве» — B-LOC, остальные слова — O. Точность такой разметки напрямую определяет качество будущей модели: разметчики должны единообразно решать спорные случаи — например, включать ли должность в границы сущности «персона», — иначе модель обучится на противоречивом сигнале.

Именно поэтому проекты NER-разметки начинают с подробного гайдлайна и пилотной выборки: на небольшом объёме текстов фиксируют правила для типичных спорных случаев, а затем масштабируют разметку на полный датасет с уже согласованной инструкцией, чтобы избежать расхождений между разными разметчиками.

Как оценивают качество NER: что показывают precision и recall?

Precision в NER — доля сущностей, которые модель нашла верно, среди всех найденных ею сущностей. Recall — доля реальных сущностей текста, которые модель действительно обнаружила, а не пропустила. Обе метрики считают отдельно по каждому типу сущности, а не одним общим числом для всего текста.

Дополнительная сложность в оценке NER — то, что сущность нужно найти не только правильного типа, но и с точными границами: модель, нашедшая «Иван» вместо полного «Иван Петров», по строгой метрике засчитывается как ошибка, даже если тип сущности определён верно. Поэтому качественная разметка тестовой выборки с чёткими правилами о границах — обязательное условие для честной оценки NER-модели.

На практике precision и recall для NER часто сводят в единую F1-меру для каждого типа сущности, а затем усредняют по всем типам — так удобнее сравнивать разные версии модели одним числом, не теряя при этом детализацию по редким и часто ошибающимся категориям сущностей.

Раздельные метрики по типам сущностей особенно важны на этапе приёмки модели: агрегированный F1 может выглядеть высоким за счёт частых и простых типов вроде дат, а редкая, но критичная для бизнеса категория — например, «сумма штрафа» в юридических документах — при этом будет находиться заметно хуже среднего показателя по всей таксономии.

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

Что означает аббревиатура NER?

NER расшифровывается как Named Entity Recognition — распознавание именованных сущностей. Это задача NLP, при которой модель находит в тексте фрагменты, обозначающие конкретные объекты — людей, организации, даты, суммы, — и присваивает каждому найденному фрагменту метку типа сущности.

Чем NER отличается от классификации текста?

Классификация присваивает метку всему тексту целиком — например, теме обращения. NER работает на уровне отдельных слов и словосочетаний внутри текста и может найти несколько сущностей разных типов в одном предложении, указав точные границы каждой из них.

Что такое BIO-разметка в NER?

BIO — схема разметки, где каждому слову текста присваивают тег B (начало сущности), I (продолжение той же сущности) или O (вне сущности). Например, «Иван Петров» размечается как B-PER для «Иван» и I-PER для «Петров», что позволяет модели учиться на многословных сущностях.

Какая точность считается хорошей для NER-модели?

Единого порога нет: он зависит от домена и сложности сущностей. На типовых сущностях вроде имён и дат современные модели достигают F1 выше 90%, а на редких или неоднозначных категориях — юридических терминах, названиях узкоспециализированных препаратов — показатели заметно ниже без дополнительной разметки.

Нужны ли эксперты для разметки NER-данных в узких доменах?

Да, если сущности специфичны для отрасли — диагнозы и препараты в медицине, статьи закона в юриспруденции. Разметчик без профильных знаний чаще ошибается в границах сущности и её типе, а такие ошибки в обучающих данных модель воспроизводит в своих предсказаниях.

Смотрите также