Что такое диалоговые системы, или Кое-что об Элизе

в 11:26, , рубрики: convai, data mining, Блог компании Московский физико-технический институт (МФТИ), диалоговые системы, машинное обучение, ненормальное программирование, Системы обмена сообщениями, чат-бот, Чат-боты

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

image

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

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

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

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

Что такое диалоговые системы, или Кое-что об Элизе - 2

Начнем с самого простого — с автоинформаторов, они совершенно точно 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. здесь не работают.

Что такое диалоговые системы, или Кое-что об Элизе - 3

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

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

Что такое диалоговые системы, или Кое-что об Элизе - 4

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

Что такое диалоговые системы, или Кое-что об Элизе - 5

Стоит еще упомянуть, что наш 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

Автор: madrugado

Источник

Поделиться

* - обязательные к заполнению поля