Диалоговые системы давно и прочно вошли в нашу жизнь. В заглавии упомянута и на картинке представлена ELIZA — диалоговая система-психоаналитик (сейчас, ее назвали бы чат-бот), родом из 60-ых годов. Если вам интересно, как человек дошел до общения с ботами-психоаналитиками и что еще есть интересного в диалоговых системах, добро пожаловать под кат.


image

В самом деле сейчас диалоговые системы можно встретить где угодно: если вы звоните в банк, вы общаетесь (по крайней мере сначала) с диалоговой системой, когда вы делаете заказ или пытаетесь задать маршрут в навигаторе — тоже, может быть, вы пользуетесь Siri от Apple или Cortana от Microsoft, и это тоже они.


Чем привлекательны диалоговые интерфейсы? Тем, что это естественный для человека способ получения информации. (Собственно, поэтому робот, с которым вы разговариваете, когда куда-то звоните, называет “автоинформатор”.)


Классификация


Диалоговые системы можно охарактеризовать по следующим признакам: General — Task-oriented (общего назначения — задачеориентированный) и Open Domain — Closed Domain (способный говорить на любую тему или только на строго определенную). В каждой из пар первый компонент существенно сложнее второго. Давайте рассмотрим несколько примеров:



Начнем с самого простого — с автоинформаторов, они совершенно точно task-oriented и closed domain.


Вышеупомянутая ELIZA — closed domain (она умеет говорить только на тему психоанализа), но при этом general — у нее нет четко поставленной задачи, с ней можно “поболтать”.


Еще один пример бота, c которым можно поболтать, — CharRNN от Андрея Карпаты (Andrej Karpathy). Сама CharRNN — это просто нейросетевая модель, которая умеет продолжать данную ей строку, если натренировать ее, например, на субтитрах к фильмам и сериалам, то она научится “отвечать” на ваши реплики. В этом смысле она является general — у нее нет четко выраженной цели — и open domain — потенциально может говорить на любую тему. Проблема заключается только в том, что эта модель исключительно простая, она просто продолжает данную ей строку, не имея никакого понятия о диалоге, фразах и даже отдельных словах.


Из примеров остались два: ConvAI — это наше соревнование, о котором ниже, и true AI. Почему я отдельно выделил, что AI здесь “настоящий”? Потому что сейчас пошла мода называть AI все, что угодно, вплоть до автоинформаторов. Я же хотел подчеркнуть, что это полноценный искусственный интеллект, способный говорить на любую тему. И — самое важное — он способен вести беседу, то есть имеет представление о диалоге.


ConvAI


Теперь пришло время рассказать о нашем соревновании, чем оно отличается от приведенного выше и зачем мы решили его делать.


ConvAI — это Conversational Intelligence Challenge, соревнование разговорного искусственного интеллекта. А раз это соревнование, то нужно как-то участников сравнивать. И тут оказывается, что стандартные метрики сравнения текстов, известные по машинному переводу BLEU, ROUGE, etc. здесь не работают.



Получается, что машинные метрики, которые мы знаем, не коррелируют с человеческими суждениями (в то время как человеческие оценки между собой прекрасно коррелируют — верхняя правая картинка). Источник [1].


Из этого следует, что сравнивать системы общего назначения между собой пока не представляется возможным — мы просто не знаем, как это делать. Но зато мы совершенно точно можем сравнивать задачеориентированные системы с помощью простейшей метрики Task Completion Rate (TCR).



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



Стоит еще упомянуть, что наш challenge прошел жесткий отбор и был выбран, как NIPS Live Competition этого года. А также то, что соорганизаторами соревнования являются Йошуа Бенжио (Yoshua Bengio), который не нуждается в представлении, а также Александр Рудницкий (Alexander Rudnicky) и Алан Блэк (Alan W. Black) из университета Карнеги-Мэллон (Carnegie-Mellon University).


Всю информацию про соревнование, включая правила, API нашего сервера и другое, можно найти на его сайте convai.io.


Датасеты


Отдельно стоит сказать про доступные датасеты для исследований в области разговорного интеллекта. Существует несколько общедоступных датасетов для диалоговых систем [2]. Прежде всего, стоит выделить Dialog State Tracking Challenge, в этом году он, кстати, будет проводиться уже в шестой раз. Он рассчитан на системы, которые могут вести диалог, отслеживая его состояние (state), то есть является, пожалуй, самым близким к цели нашего соревнования. Но у этого датасета есть важная особенность — он является closed domain, то есть исключительно рассматривает одну конкретную тему. Open domain и task-oriented общедоступного датасета не существует, и мы рассчитываем, что после нашего соревнования будет сформирован новый датасет, состоящий из разговоров добровольцев и участников команд с ботами, который будет выложен в общий доступ для всех исследователей.


Заключение


Надеемся, что у вас сформировалось некоторое представление о диалоговых системах. Более того, если вы хотите попробовать себя в их создании, то мы будем рады вас видеть в качестве участника или добровольца (нам нужны люди, которые будут разговаривать с ботами наших участников). Если вы не представляете, с чего начать, то мы специально для вас сделали базовое решение. Оно требует немного пререквизитов для запуска — по факту, один только Docker. Так что — дерзайте!


P.S. Если вам интересно поучаствовать в создании искусственного интеллекта не только во время соревнования, но и на постоянной основе, у нас есть открытые позиции. Информацию можно почерпнуть на сайте ipavlov.ai.


Литература


  1. Chia-Wei Liu et al. How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation. arxiv:1603.08023
  2. Iulian Vlad Serban et al. A Survey of Available Corpora for Building Data-Driven Dialogue Systems. arxiv:1512.05742
Поделиться с друзьями
-->

Комментарии (8)


  1. ServPonomarev
    05.06.2017 16:34
    +1

    То есть Вы ожидаете, что за 13-ть дней кто-то из читателей хабра способен пройти квалификацию конкурса? почему пишете сейчас, а не в марте-апреле, когда конкурс стартовал?


    1. madrugado
      05.06.2017 16:41
      +1

      Вы путаете квалификацию в конкурсе и отбор.

      Квалификация в конкурсе совершенно несложная: нужно либо показать какой-то результат (не улучшить state of the art, просто показать результат на уровне) на SQuAD, либо показать диалогового чатбота. А самое главное — написать заявку, в которой рассказать, что вы собираетесь делать. Кажется, это вполне можно успеть за две недели.

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

      Так что, если у вас есть желание поучаствовать, мы будем рады вас видеть среди участников.


  1. zigrus
    06.06.2017 14:15

    давно думаю что бы использовать http://bash.im/random как базу для чат бота
    только пока не знаю с какой стороны к этом подойти
    есть простенький «чат бот» который отвечает фразой на фразу. и даже выполняет кое какие действия на компе.
    но тупо перелопачивать весь сайт в поисках парных фраз думаю не стоит.


    1. madrugado
      06.06.2017 14:36

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

      такой подход, наверное, не самый лучший в плане пошутить, но проблема юмора пока не решена, ей, например, занимаются в OpenAI, в России группа Браславского, но на мой взгляд пока до окончательного ее решения далеко


      1. zigrus
        06.06.2017 16:10

        спасибо за наводку
        про юмор не думал. скорее как база знаний, «жизненный опыт», мнение по поводу некоторых событий. там все таки живые люди пишут.


  1. vctork
    07.06.2017 17:18

    Коли уж человек дошёл до роботов-психоаналитоков, сколько ему осталось до роботов-философов? Сейчас вроде даже всерьёз рассматривается возможность решения этических проблем с помощью ИИ.


    1. cepera_ang
      07.06.2017 21:09
      +1

      Роботов-философов вообще ерунда делать, вон яндекс.весна отличные трактаты генерирует, осталось только добавить развитие мысли от Платона и Аристотеля и объяснятель, который будет отвечать на критику «Ты просто не дорос до уровня на котором возможно понимание этой мысли, почитай Ницше и %anyphilosophname%»


      1. vctork
        14.06.2017 11:45

        Так, пошёл гуглить, что за яндекс.весна такая. Видимо, я немного в танке)