Что такое Named Entity Recognition (NER)? Какая разметка чаще всего используется (BIO, BIOES)?
Ответ от нейросети
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 важнее понимать принцип токенной разметки.
На практике процесс обычно выглядит так:
- Текст токенизируют.
- Каждому токену присваивают метку по схеме BIO или BIOES.
- Модель обучают предсказывать эти метки.
- После предсказания последовательность меток собирают обратно в сущности с типами и границами.
Ключевые моменты:
- NER находит в тексте сущности и определяет их тип:
PER,ORG,LOC,DATEи т. п. - Разметка делается по токенам, потому что сущность может занимать несколько слов.
- BIO — самый распространённый и простой формат разметки.
- BIOES точнее описывает границы сущностей, особенно для одиночных токенов.
- Ошибки в NER часто связаны не только с типом сущности, но и с неправильным выделением её границ.
- На собеседовании полезно уметь объяснить разницу между
B,I,O,E,Sна коротком примере.