Можем ли мы научить чат-ботов рассуждать и взаимодействовать с нами в диалоге и поиске информации?

Эта неделя была отличной для обработки естественного языка, и я очень взволнован (и вам тоже должно понравиться)! На этой неделе я случайно зашел на Arxiv Sanity Preserver, как обычно, только вместо того, чтобы меня встретил поток GAN-this или CNN-that, мой взгляд упал на два набора данных, которые меня очень обрадовали. Это были CoQA и QuAC, и в этом блоге мы поговорим о том, почему CoQA так интересен.

Я также говорю о QuAC здесь, если вам интересно больше ответов на вопросы!

Разговорный вопрос, отвечающий на вызов

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

Ого.

Этот набор данных не похож ни на что из того, что мы когда-либо видели в ответах на вопросы!

Мотивация

Так зачем нам такой набор данных, как CoQA?

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

CoQA был создан как набор данных, чтобы помочь нам измерить способность алгоритмов участвовать в диалоговом окне с ответами на вопросы. По сути, чтобы измерить, насколько машина может разговаривать.

В их статье создание CoQA преследовало три цели:

  • 1. Чтобы создать набор данных, содержащий пары вопрос-ответ, зависящие от истории разговора.
  • CoQA - первый набор данных, который сделал это в большом масштабе!
  • После первого вопроса в диалоге каждый вопрос зависит от истории того, что было сказано.
  • 127 000 вопросов, охватывающих 8 000 диалогов!
  • 2. Чтобы создать набор данных, который ищет естественные ответы
  • Многие наборы данных с ответами на вопросы являются извлекающими, они ищут лексически похожие ответы и извлекают их прямо из текста.
  • CoQA ожидает, что объяснение будет извлечено из отрывка, но получит перефразированный, абстрактный ответ.
  • 3. Обеспечить эффективную работу систем ответов на вопросы в самых разных областях.
  • В CoQA есть обучающий набор с 5 доменами и тестовый набор с 7 доменами (2 из них никогда не использовались в обучении!)

И хотя производительность человека составляет 88,8%, у самой производительной модели показатель F1 составляет только 65,1%. Это большой запас и многое, что нужно для того, чтобы наверстать упущенное!

Создание CoQA

Как был создан такой набор данных?

С помощью Amazon Mechanical Turk - торговой площадки, предлагающей людям работу, требующую человеческого интеллекта, например, маркировку набора данных. Два сотрудника AMT будут работать вместе, один будет задавать вопросы, а другой давать ответы. Отвечающего попросят выделить часть текста в отрывке, которая дает ответ, а затем ответить, используя слова, отличные от приведенных в отрывке (таким образом, он становится абстрактным).

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

Каковы области отрывков

Отрывки поступают из 7 доменов, 5 из которых входят в обучающий набор и 2 зарезервированы для тестового набора. Они есть:

  • детские сказки от MCTest
  • литература от Project Gutenberg
  • экзамены по английскому языку для средних и старших классов от RACE
  • новостные статьи от CNN
  • статьи из Википедии
  • научные статьи из AI2 Science Questions (только тестовый набор)
  • Статьи Reddit из набора данных написание подсказок (только тестовый набор)

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

Сравнение с другими наборами данных

Что у нас было до этого?

Что ж… У нас был SQuAD, набор данных ответов на вопросы Стэнфордского университета. Версия 1.0 позволила использовать более 100 000 вопросов в Википедии, которые требовали моделей для извлечения правильных частей статей в ответ на вопросы. Когда было решено, что этого недостаточно, мы получили Версия 2.0. Это добавило в SQuAD более 50 000 вопросов, на которые невозможно ответить, и теперь требуется, чтобы алгоритмы не только находили правильные ответы, но и выясняли, существует ли ответ в отрывке.

Эта задача до сих пор не решена.

Но он также не решает проблемы абстрагирования информации и понимания того, что запрашивается в диалоге. Вот почему был создан CoQA в соответствии с его первой целью!

Больше анализа

Создатели CoQA провели анализ SQuAD по сравнению с CoQA и обнаружили, что, хотя примерно половина вопросов SQuAD - это «какие» вопросы, CoQA имеет гораздо более широкое и сбалансированное распределение типов вопросов. Они предоставили нам эту классную графику, чтобы показать, что:

Что делает CoQA еще более сложным, так это то, что иногда в нем просто задаются вопросы, состоящие из одного слова, например «кто?» или где?" или даже «почему?»

Они полностью зависят от контекста! Мы, люди, не можем даже попытаться ответить на эти вопросы, не зная, в каком контексте их спрашивали!

Лингвистический вызов

Если вы еще не собрали его воедино, CoQA очень и очень сложно. Он наполнен вещами, называемыми со-ссылками, которые могут быть такими же простыми, как местоимения, но в целом это когда два или более выражения относятся к одному и тому же (таким образом, со-ссылки!).

Это то, что до сих пор остается открытой проблемой в НЛП (разрешение сопутствующих ссылок, разрешение местоимений и т. Д.), Поэтому включение этого шага в набор данных с ответами на вопросы, безусловно, еще больше усложняет задачу.

Около половины вопросов в CoQA содержат явную ссылку (такой индикатор, как он, это, она, это). Почти пятая часть вопросов содержит неявную ссылку. Это когда вы задаете вопрос типа «где?» Мы просим решить что-то, но это подразумевается. Это очень тяжело для машин. Черт, иногда людям бывает тяжело!

А теперь вызов!

Как современные модели справляются с этой задачей? Ответ плохой.

Посмотреть на себя:

Поможет ли CoQA ответить на вопрос, что ImageNet сделал с распознаванием изображений? Время покажет, но это точно!

Итак, теперь вызов для всех нас (точно так же, как я позировал с QuAC)! Мы все можем попытаться решить эту проблему и вывести диалоговых агентов на следующий этап эволюции. У CoQA есть таблица лидеров, которая на данный момент пуста! Наш долг - выйти и попытаться поработать над этим вызовом, попытаться решить эту проблему, продвигать знания и, возможно, попасть в таблицу лидеров, чтобы получить немного славы и много гордости;)

Увидимся там!

Если вам понравилась эта статья или вы нашли ее в какой-то мере полезной, почему бы не передать мне доллар или два, чтобы помочь финансировать мое образование и исследования в области машинного обучения! Каждый доллар помогает мне стать ближе, и я бесконечно благодарен за это.