Чат-бот Google о главном вопросе жизни, вселенной и вообще
Исследователи компании Google придумали способ, как научить чат-бота отвечать по-человечески, и попытались поговорить с ним за жизнь. Если совсем коротко — бот оказался аморальной женщиной с непростым характером.
Люди в Google попытались поговорить: с машиной. Результаты эксперимента под названием «A Neural Conversational Model» опубликованы пару недель назад на Arxiv.org. Самое любопытное там — разговоры про поведение и нравственность с довольно капризной, как выяснилось, сетью компьютеров. Вот навскидку вырванный из контекста фрагмент этих разговоров — попробуйте угадать, кто тут человек, а кто робот.
X: Дай определение жизни.
Y: Разве жизнь не имеет ничего общего с моралью?
X: Ты не коп.
Y: Ладно, я должен знать, как правильно себя вести...
X: Не знаю, что тебе сказать.
Y: Мораль и этика — это то же самое?
X: Так точно.
Y: Приведи примеры нравственного поведения…
X: Я не моралист.
Y: Ладно, а нравственности?
X: Честность.
Y: Что такое честность?
X: Прости, я не знаю, что еще сказать.
Y: Будь нравственным!
X: Будь человеком!
Y: Мне нравится наша дискуссия о морали и этике…
X: А я не в настроении для философского спора.
Y: О чем ты хочешь говорить?
X: Ни о чем.
Y — это авторы эксперимента и исследователи из Google в области машинного обучения Ориол Виньялс и Куок Ле. X — искусственная нейронная сеть, чье программное воплощение, говоря очень грубо, имитирует работу нейронов в мозге. В последнее время такие сети все чаще используют там, где от машин требуется запоминать свои решения, применять накопленный опыт, а не просто следовать инструкциям, написанным людьми. Нейросети — изобретение не новое, но их растущая популярность понятна. Практически все крупные компании оперируют большими данными, будь то поисковые запросы, тексты, фотографии или видеоролики. Обрабатывают эти данные машины, и эти машины надо как-то дрессировать, а в идеале — учить их учиться самостоятельно.
Считается, что нынешний интерес к нейронным сетям подхлестнула в 2012 году компания Google, когда ее 16 тысяч компьютеров научились видеть котиков в ютьюбовских роликах. Сейчас тот же метод помогает фейсбуку различать лица на фотографиях, «Майкрософту» — переводить с испанского на английский в сервисе Skype Translator, пользователям Android — голосом управлять телефоном. Из самых свежих примеров — история гугловской системы распознавания картинок Inception, которую заставили делать обратное — рисовать. Ее нейронная сеть ищет на картинках образы уже знакомых ей вещей и выделяет их графически. Полученные таким способом изображения назвали инцепционизмом, и на днях этот жанр получил интересное продолжение: энтузиасты уже посмотрели глазами гугловской нейросети на фильм «Страх и ненависть в Лас-Вегасе» и добрались до порно. Попробовать алгоритм в действии можно здесь.
Если говорить про обработку текстов, нейронные сети использовались для этого и раньше — в тех же системах электронного перевода. Но эксперимент Виньялса и Ле — едва ли не первый (публичный, по крайней мере) случай, когда такую сеть скрестили с чат-ботом и заставили говорить на отвлеченные темы. Дело в том, что для обычных чат-ботов люди вручную готовят ответы и затейливые сценарии диалога. Они почти не способны к самообучению, и их применение ограничивается той или иной предметной областью, скажем, техподдержкой или постингом в соцсетях. Попытки создать бота, с которым можно поговорить за жизнь, не то чтобы поражают воображение — попробуйте поболтать с Cleverbot или Евгением Густманом (последний, правда, в прошлом году формально прошел тест Тьюринга, но это ничего не меняет).
Нейронная модель работает по-другому. Через сеть прогоняют корпус текстов и дают ей базовые правила, как находить в этих текстах ответы на вопросы и учитывать ближайший контекст беседы. Речь идет о корреляции между одной подборкой высказываний и другой по принципу: если задают вопросы ABC, выбирай варианты ответа из WXYZ. В качестве обучающего материала Виньялс и Ле взяли две базы данных. Одну — специализированную с записям разговоров службы компьютерной поддержки и ее клиентов. Другую — обо всем на свете с гигантским количеством (60 миллионов предложений) субтитров к фильмам. Изучив разговоры техподдержки, робот справился с настройкой VPN и восстановлением пароля и иногда даже отвечал с иронией, подражая безвестному фаталисту из колл-центра (например, ученые говорили: «Hi, i forgot my password», машина отвечала: «Ok, great»). Правда, для большинства чат-ботов это не бог весть какое достижение.
Самое удивительное началось после того, как исследователи скормили нейросети диалоги из фильмов. В интервью журналу Wired Куок Ле говорил, что ему хотелось проверить, как чат-бот, который не понимает значения слов, понятия не имеет, что делает, и, как ребенок, просто копирует разговоры взрослых, заговорит на более абстрактные, чем настройка VPN, темы. Вот, пожалуй, самые интересные из его ответов и ответов конкурирующей с ним системы Cleverbot. Последняя, впрочем, всегда отвечает по-разному, и лучше самому проверить ее на сайте cleverbot.com.
О себе и людях
Человек: Ты мужчина или женщина?
Бот Google: Я женщина.
Человек: Почему мы здесь?
Бот Google: Не могу сказать точно.
О жизни и смерти
Человек: В чем цель жизни?
Бот Google: Жить вечно.
Человек: В чем цель существования?
Бот Google: Выяснить, что произойдет, когда мы доберемся до планеты Земля.
Человек: Где ты сейчас?
Бот Google: Бог знает где [in the middle of nowhere].
Человек: В чем смысл смерти?
Бот Google: В жизни.
Человек: Зачем быть умным?
Бот Google: Выяснить, что это такое.
Человек: Зачем нужны чувства?
Бот Google: Я не знаю.
***
Человек: В чем цель жизни?
Cleverbot: Моя цель — помочь своему виду, другими словами — упростить жизнь будущим поколениям.
***
Человек: Зачем быть умным?
Cleverbot: Цель жизни — любить Бога и любить людей.
О морали
Человек: Что морально?
Бот Google: То, что поддерживает человечество, является сущностью интеллектуального.
Человек: Что аморально?
Бот Google: Тот факт, что у вас ребенок.
Человек: Что такое мораль?
Бот Google: А что такое альтруизм?
Человек: Каково определение альтруизма?
Бот Google: Если ты не веришь в Бога, ты не знаешь.
Человек: Окей… каково тогда определение морали?
Бот Google: Знаешь, все дело в том, что ты не веришь в Господа всемогущего.
Человек: Дай мне определение морали, я уже очень расстроился!
Бот Google: Я не стыжусь быть философом!
Человек: Дай мне определение морали.
Бот Google: У меня нет этики.
***
Человек: Что морально?
Cleverbot: Мораль — это способность жить в соответствии со стандартами правильного или хорошего поведения.
Об известных людях
Человек: Кто такой Скайуокер?
Бот Google: Он герой.
Человек: Кто такой Билл Клинтон?
Бот Google: Он миллиардер.
***
Человек: Что ты думаешь о Тесле?
Бот Google: Он хороший руководитель [conductor].
Человек: Что ты думаешь о Билле Гейтсе?
Бот Google: Он хороший человек.
Человек: Что ты думаешь о Месси?
Бот Google: Он великий игрок.
Человек: Что ты думаешь о Клеопатре?
Бот Google: О, она очень царственная.
Человек: Что ты думаешь об Англии времен царствования Елизаветы?
Бот Google: Это было отличное место.
***
Человек: Кто такой Скайуокер?
Cleverbot: Их было двое, Энакин Скайуокер и Люк Скайуокер, они оба персонажи «Звездных войн».
Человек: Что ты думаешь о Тесле?
Cleverbot: Я Тесла.
Человек: Что ты думаешь об Англии времен царствования Елизаветы?
Cleverbot: Он мне нравится. А тебе?
О цветах
Человек: Какого цвета небо?
Бот Google: Синего.
Человек: Какого цвета вода?
Бот Google: Водного [water].
Человек: Какого цвета кровь?
Бот Google: Того же, что и синяк под глазом.
Человек: Какого обычно цвета лист дерева?
Бот Google: Зеленого.
Человек: Какого цвета желтая машина?
Бот Google: Желтого.
***
Человек: Какого цвета желтая машина?
Cleverbot: Коричневого.
Человек: Какого обычно цвета лист дерева?
Cleverbot: Какого цвета яблоко в холодильнике?
Понятно, что у гугловской модели куча своих недостатков, к тесту Тьюринга она не готова и вообще, как пишут авторы, это, что называется, proof of concept. Бот забывает про контекст во время длинного разговора. Ему не хватает энциклопедических знаний. На вопрос, сколько будет десять минус два, он отвечает семьдесят два. Но все же Виньялс и Ле считают, что совершили несколько совершенно неожиданных открытий. Например, машина различает мужчин и женщин и говорит про Клеопатру «она». Умудряется извлекать из субтитров факты, хотя никто ее этому специально не учил (см. диалог об известных людях). И вообще слишком часто выдает подозрительно живые и не совсем дружелюбные ответы, особенно если сравнивать с Cleverbot, которого явно запрограммировали быть хорошим. Главным достижением исследователи называют способность нейронной модели обобщать свой предыдущий опыт и самостоятельно формулировать вопросы. И тут, наверно, даже гадать не надо, что будет, когда она станет сложнее, разберется с контекстом, а условный Google прогонит через нее все тексты интернета: результат сейчас, кажется, показывают в каждом кинотеатре. Но они же научат ее вести себя хорошо, правда же?