💻 Опишите процесс создание системы связывания сущностей ?



Связывание именованных сущностей (NEL) — это процесс обнаружения и связывания упоминаний сущностей в заданном тексте с соответствующими сущностями в целевой базе знаний. Связывание сущностей состоит из двух частей:



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



Устранение неоднозначности : это устраняет неоднозначность каждой обнаруженной сущности, связывая ее с соответствующей сущностью в базе знаний.

Давайте посмотрим на Entity Linking в действии в следующем примере(картинка).



В предложении / тексте говорится: «Майкл Джордан — профессор машинного обучения в Калифорнийском университете в Беркли». Первый NER обнаруживает и классифицирует названные сущности Майкла Джордана и Калифорнийского университета в Беркли как человека и организацию.



Затем имеет место разрешение неоднозначности. Предположим, что в данной базе знаний есть две сущности «Майкл Джордан», профессор Калифорнийского университета в Беркли и спортсмен. Майкл Джордан в тексте связан с профессором Калифорнийского университета в Беркли, сущностью в базе знаний. Точно так же Калифорнийский университет в Беркли в тексте связан с юридическим лицом Калифорнийского университета в базе знаний.



Приложения



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



Семантический поиск

Анализ содержания

Вопросно-ответные системы / чат-боты / виртуальные помощники



Все вышеупомянутые приложения требуют высокоуровневого представления текста, в котором понятия, относящиеся к приложению, отделены от текста и других не имеющих смысла данных.



Постановка задачи

Интервьюер попросил вас разработать систему связывания сущностей, которая:



Определяет потенциальные упоминания именованных сущностей в тексте.

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

Возвращает либо наиболее подходящую соответствующую сущность, либо ноль.

Постановка проблемы переводится в следующую проблему машинного обучения:



«Имея текст и базу знаний, найдите все объекты, упомянутые в тексте (Распознать). А затем свяжите их с соответствующей правильной записью в базе знаний (Устранение неоднозначности)».



Вопросы на собеседовании для связывания сущностей

Это некоторые из вопросов, которые интервьюер может задать во время обсуждения систем связывания сущностей.



Как бы вы построили систему распознавания сущностей?

Как бы вы построили систему устранения неоднозначности?

Учитывая фрагмент текста, как бы вы извлекли всех людей, страны и предприятия, упомянутые в нем?

Как бы вы измерили производительность средства устранения неоднозначности / распознавателя объектов / компоновщика объектов?

Учитывая несколько средств устранения неоднозначности / распознавателей / лайнеров, как бы вы определить, какой из них лучший?



@machinelearning_interview