TLDR

  • Распознавание именованных сущностей (NER) является важной задачей для многих систем понимания естественного языка.
  • Сбор размеченных данных является серьезным препятствием для применения этих подходов в промышленности.
  • Рассматривая NER как проблему ответа на вопрос, мы можем собирать зашумленные данные для обучения модели, что может обеспечить хорошую производительность без необходимости множества аннотаций.
  • Значительно лучшие результаты могут быть достигнуты при сочетании этого подхода с небольшим объемом данных обучения, помеченных человеком.

Введение

Распознавание именованных объектов (NER) — это подзадача НЛП, в которой мы пытаемся идентифицировать интересующие объекты в документе, такие как люди, местоположения, компании и т. д. Ниже показан пример задачи NER, в которой мы хотели бы идентифицировать людей. , места и организации, присутствующие в документе.

Эта задача является фундаментальным компонентом многих задач на понимание естественного языка, таких как:

  • Выявление заболеваний в медицинских документах
  • Парсинг ключевых фрагментов информации из поисковых запросов
  • Создание базы знаний из неструктурированных документов

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

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

Проблемы с данными

Давайте сначала рассмотрим гипотетический сценарий, чтобы лучше понять некоторые трудности перехода проекта NER с нуля к единице. предположим, нам поручили создать чат-бота для обслуживания клиентов Apple, чтобы помогать людям с проблемами, связанными с их продуктами Apple. Одной части этого чат-бота может потребоваться идентифицировать различные элементы из отчета, такие как тип устройства (iPhone, Ipad, Imac, …), наблюдаемая проблема (экран не включается, низкий заряд батареи, перегрев, …), а также другую соответствующую информацию.

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

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

Кроме того, таксономии сущностей, которые мы хотели бы извлечь, вероятно, постоянно развиваются. По мере развития нашего продукта мы рискуем катить наш валун маркировки данных в гору только для того, чтобы он снова покатился вниз, когда нас попросят реорганизовать онтологию навыков.

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

Если бы у нас был быстрый способ сбора размеченных зашумленных данных, мы смогли бы построить POC, минуя наиболее трудоемкую и дорогостоящую часть процесса разработки.

NER с нулевым выстрелом

Существует множество различных подходов к NER Zero/Few shot, представленных в Распознавание именованных объектов с несколькими выстрелами: всестороннее исследование. Некоторые из них основаны на передаче обучения из моделей с открытым доменом. Эти подходы могут быть немного негибкими, и результат, который вы получите от них, вероятно, зависит от того, насколько исходная задача соответствует целевой задаче. Другие подходы основаны на сборе зашумленных данных с использованием различных эвристических методов сопоставления сущностей из списка. Эти подходы могут потребовать значительного объема ручной обработки для выделения сигнала из шума в дополнение к предположению, что у нас есть доступ к словарю сущностей, что может быть не всегда так.

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

В этом обзоре мы рассмотрим

  • Краткий обзор экстрактивных ответов на вопросы
  • Внедрить общие модели для NER
  • Изучите обучение модели NER с нулевым выстрелом, используя генеративные данные

Особая благодарность Jinhyuk Lee за ответы на мои вопросы и предоставление некоторых цитат, представленных здесь. У него есть несколько интересных работ, и я рекомендую всем ознакомиться с ним.

Экстрактивный ответ на вопрос

Извлекающий ответ на вопрос — это задача, при заданном вопросе и контексте определить соответствующий диапазон ответов из контекста (пример ниже).

Довольно популярным подходом к этой проблеме является использование модели BERT путем объединения вопроса и контекста. См. статью ниже для более подробного объяснения, которое выходит за рамки этой статьи.

Вопрос, предлагающий нулевой/несколько выстрелов NER

В Learning Dense Representations of Phrases at Scale авторы показывают, как общая модель ответов на вопросы может применяться к задачам распознавания сущностей и обнаружения отношений с нулевым выстрелом. Они делают это, задавая модели вопрос, который, вероятно, идентифицирует интересующие объекты. Каждый запрос предоставляется в форме {субъектная сущность} [SEP] {отношение}, а ответом является объектная сущность.

Ниже я показал пример того, как это можно применить для извлечения людей и местоположений на странице Википедии Led Zeppelin. Поставив нашу задачу в виде вопроса на естественном языке, мы можем идентифицировать участников группы с помощью вопроса «какие люди?» запрос.

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

Эта модель затем может быть дополнительно настроена с использованием помеченных данных, чтобы максимизировать вероятность каждого аннотированного объекта. Авторы показывают довольно хорошие результаты с таким подходом, и после тонкой настройки на примерах 5k и 10k соответственно они добились современных результатов.

В Предварительном обучении контекстуализированных представлений общего назначения с ответами на вопросы авторы расширяют эту работу, добавляя:

  • Большой набор зашумленных примеров из 80 миллионов троек (вопрос, ответ, контекст), созданных на основе модели BART.
  • Первое обучение более мощной модели учителя и преобразование в окончательную модель, используемую, как показано в разделе Кросс-архитектурные знания.

Они намного превосходят другие подходы к тестам NER как в условиях обучения с нулевым, так и с небольшим количеством выстрелов. В своем подходе к обучению за несколько шагов они настраивают свою обученную модель, используя только 5 примеров для каждого типа сущности. Код для воспроизведения результатов, а также модели доступны здесь https://github.com/facebookresearch/quip

Создание набора данных NER с нуля

Простые вопросы для создания наборов данных для распознавания именованных объектов представляет собой конвейер для использования представленных моделей для построения модели NER с нуля с помощью вопросов, отвечающих на сгенерированные данные. Их подход GeNER показан ниже.

Этот пайплайн состоит из 4 шагов

1. Формулировка запроса

Во-первых, нам нужен вопрос на естественном языке, чтобы определить нашу потребность в NER (например, Какие болезни?).

2. Поиск

Для каждого вопроса авторы применяют открытую модель контроля качества для поиска сущностей-кандидатов по всему корпусу. Авторы используют DensePhrases для поиска по всем статьям Википедии, чтобы создать набор предложений-кандидатов и сущностей.

3. Соответствие словаря

Как можно себе представить, исходные данные, вероятно, очень зашумлены. Авторы применяют набор правил нормализации, чтобы попытаться убрать часть шума из данных. Например, такие вещи, как удаление и обрезка пунктуации, а также некоторые типы сущностей могут начинаться с «the», а другие аннотируются без него.

4. Самообучение

Стандартная модель BERT NER обучается на этих сгенерированных данных.

Результаты

Авторы применяют свой подход (GeNER) к множеству задач NER, используя для обучения только открытые данные Википедии. Они показывают довольно конкурентоспособные результаты по сравнению с полностью контролируемыми методами без использования размеченных данных или онтологии сущностей.

Заключение

NER — фундаментальная задача НЛП, полезная для широкого круга приложений. Однако получение размеченных данных представляет собой значительный барьер для входа на рынок для многих компаний, которые могут захотеть применить это к своим продуктам.

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