Специалисты Facebook разработали программу для чат-ботов, чтобы те максимально осмысленно отвечали на вопросы пользователей.
Об этом говорится в плане разработчиков программы для чат-ботов.
Ответы чат-ботов запрограммированы в базе данных Persona-Chat. База данных состоит из почти 160 тысяч отрывков диалогов реальных людей, которые беседовали от лица выдуманных персон.
Несмотря на то, что голосовые помощники и чат-боты с каждым годом становятся все совершеннее, поддержать беседу они все еще могут с трудом. Причиной тому — ограничения обучающей выборки: компьютер можно научить разговаривать и даже отвечать на вопросы, но для поддержания цельной беседы данных может быть недостаточно.
Чат-бот, например, не обладает сформированной личностью и интересами — и поэтому не может ответить на сложные открытые вопросы вроде «что ты любишь делать в дождливый день?». Разумеется, есть вариант, в котором чат-бот или голосовой помощник отвечает на неизвестный ему вопрос абстрактной фразой вроде «я не знаю» или поисковым запросом.
Но назвать это полноценной беседой невозможно. Кроме того, при общении чат-бот удерживал в памяти только небольшой отрывок диалога и не мог вернуться к информации, предоставленной ему несколько шагов назад.
Чтобы упростить чат-ботам задачу при общении, диалоги взяли из описаний абстрактных личностей, придуманных реальными людьми. Например, описание такой «персоны» может выглядеть так: /> «Я вегетарианец. Я люблю плавать. Мой отец работает в Ford. Моя любимая группа — Maroon5. Месяц назад я начал работать дизайнером в рекламном агентстве».
Всего в базе данных 1155 таких «персон». Кроме того, исследователи попросили группу людей оценить получившихся «персон» и придумать их на основе схожих, связанных характеристик: например, любовь к Maroon5 могла быть заменена в «персоне» на любовь к песне «She Will Be Loved», а утверждение о том, что отец «персоны» работал на Ford, могло превратиться в утверждение о том, что близкий родственник работал в автомобильной компании. Это необходимо для того, чтобы расширить известные о «персоне» факты для составления возможного диалога.
После этого двух людей, предоставивших «персоны», просили немного поговорить: каждому из них была назначена случайная «персона». В результате в базе данных диалогов оказалось 164356 высказываний, и на основе этой базы исследователи обучили несколько компьютерных моделей (Seq2Seq и Memory Networks).
Полученные модели диалогов чат-ботов затем оценили, попросив поговорить с ними реальных людей: диалог мог строиться либо вокруг «персоны» компьютера, либо вокруг «персоны» человека, либо вокруг обоих участников диалога.
Разработчики привели пример диалога человека (PERSON 1) и чат-бота, обученного на собранной базе данных:
Персона1: Я только что закончил играть в футбол. А ты что делал?
Персона2: У меня нет домашних животных. В свободное время я пишу. А ты?
Персона1: Только что закончил учиться. Ищу работу.
Персона2: Да, я закончил учиться, я изучал поэзию и прозу.
Персона1: У тебя что-нибудь уже опубликовано?
Персона2: Я в основном пишу фантастику.
Персона1: Тебе нравится смотреть спорт?
Персона2: Тебе нравятся Kings of Leon? Моя любимая их песня — «Use Somebody».
Персона1: Ты женат? У меня скоро свадьба.
Персона2: Хаха, нет, у меня нет на это времени. Надо книгу дописать.
Персона1: О чем твоя книга?
Персона2: О любви. Я очень люблю писать. А тебе больше нравится писать или читать?
Персона1: Я люблю читать, но вообще — чаще футбол смотрю.
Персона2: Да, я люблю писать.
Разработчики диалогов для чат-ботов считают, что этот же алгоритм формирования словарного запаса может быть использован для совершенствования работы голосовых помощников на гаджетах.