Sobes.tech
Back to questions
Junior — Middle
15

Что такое Named Entity Recognition (NER)? Какая разметка чаще всего используется (BIO, BIOES)?

Companies where asked
ДатаКорп
IGaming
Автомакон

Answer from AI

sobes.tech AI

Что хотят услышать интервьюеры:

NER — это задача выделения в тексте именованных сущностей: людей, организаций, локаций, дат, сумм и так далее. Обычно ожидают понимание, что модель не просто находит сущности, а ещё присваивает им тип и границы. Также важно знать распространённые схемы разметки токенов, такие как BIO и BIOES, и чем они отличаются.

Определение:

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

Самые популярные схемы:

  • BIO:
    • B- — начало сущности
    • I- — продолжение сущности
    • O — токен вне сущности
  • BIOES:
    • B- — начало сущности
    • I- — середина сущности
    • O — вне сущности
    • E- — конец сущности
    • S- — одиночная сущность из одного токена

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

Пример использования:

Пусть есть предложение:
Иван Петров работает в Яндексе в Москве.

Разметка в BIO может выглядеть так:

Иван     B-PER
Петров   I-PER
работает O
в        O
Яндексе  B-ORG
в        O
Москве   B-LOC
.        O

Если использовать BIOES, то для сущности из одного токена можно явно отметить это:

Иван     B-PER
Петров   E-PER
работает O
в        O
Яндексе  S-ORG
в        O
Москве   S-LOC
.        O

Пояснение кода:

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

  1. Текст токенизируют.
  2. Каждому токену присваивают метку по схеме BIO или BIOES.
  3. Модель обучают предсказывать эти метки.
  4. После предсказания последовательность меток собирают обратно в сущности с типами и границами.

Ключевые моменты:

  • NER находит в тексте сущности и определяет их тип: PER, ORG, LOC, DATE и т. п.
  • Разметка делается по токенам, потому что сущность может занимать несколько слов.
  • BIO — самый распространённый и простой формат разметки.
  • BIOES точнее описывает границы сущностей, особенно для одиночных токенов.
  • Ошибки в NER часто связаны не только с типом сущности, но и с неправильным выделением её границ.
  • На собеседовании полезно уметь объяснить разницу между B, I, O, E, S на коротком примере.