Google AI разработала контекстного чат-бота Meena

Разработчики из Google AI представили Meena — чат-бота, который может общаться на любые темы и учитывать контекст разговора. В основе чат-бота — алгоритм на основе seq2seq, обученный на четырех миллиардах слов из разговоров пользователей социальных сетей. Дополнительно исследователи разработали метрику оценки работы чат-ботов людьми на основе измерения конкретики разговора и того, имеет ли реплика смысл: по ней Meena набрала 79 процентов, что минимум на 23 процента выше, чем другие чат-боты, и всего на 7 ниже человека. Подробнее о работе чат-бота можно прочитать в препринте на arXiv,org, а также в блоге Google AI.

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

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

Дэниел Адивардана (Daniel Adiwardana) и его коллеги из Google AI решили обойти оба этих ограничения и создали Meena. В основе системы — алгоритм seq2seq на основе рекуррентной нейросети, главная задача которого — поиск взаимосвязей между отдельными кусками информации или — более специфично — «перевод» одного куска в другой.

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

Для оценки работы чат-бота исследователи создали две отдельные метрики: автоматическую и метрику для оценки реальными людьми. Первая основана на подсчете параметра «растерянности» (perplexity), который подсчитывает обратную вероятность появления каждого последующего слова в сгенерированном тексте на основе распределения вероятностей обучающей выборки. 

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

Метрика для оценки людьми, в свою очередь, основана на измерении двух параметров: того, имеет ли реплика чат-бота смысл и того, насколько она конкретная. При человеческой оценке эти два параметра учитываются при каждой новой реплике, а сама оценка — бинарная (либо «да», либо «нет»). Например, если пользователь скажет чат-боту «Я очень люблю пирожки», а тот ответит «Здорово!», то ответ будет иметь смысл, но не будет конкретным, а если он ответит «Сегодня дождь идет» — наоборот. С другой стороны, если ответом будет либо «Стишки или выпечку?», либо «Я тоже, больше всего мне нравится с капустой», то он подойдет по обоим параметрам метрики.

Работу Meena сравнили с другими чат-ботами, включая CleverBot и Mitsuku, а также с диалогами реальных людей в интерактивном режиме — во время общения. По метрике, использованной для оценки людьми, Meena набрала больше всех остальных чат-ботов — 79 процентов. Диалог с реальным человеком, в свою очередь, набрал 86 процентов, а CleverBot и Mitsuku — по 56 процентов. Человеческая метрика и «растерянность» при этом коррелировали (коэффициент — 0,93): чем ниже был этот параметр, тем выше была оценка людей.

Откроют ли Meena для публики отдельно или же Google интегрирует его в другие свои сервисы вроде Assistant — неизвестно: пока что компания не планирует создавать для бота публичный интерфейс. Кроме того, исследователи также отметили, что алгоритм все же нуждается в доработке, так как для качественной работы чат-бота диалог с ним все же должен быть неотличим от беседы с реальным человеком по любой — автоматической или нет — метрике. 

Интересно, что для обучения чат-ботов не всегда используют реальные разговоры. Например, в 2018 году Facebook выложила открытую базу данных около 160 тысяч диалогов, совершенных от лица выдуманных людей: по словам разработчиков, это поможет чат-ботам поддерживать разговор о себе.

Елизавета Ивтушок

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Экономия трафика и устойчивый сигнал

Как устроен стандарт NB-IoT для автономных IoT-устройств