Исследователи из Facebook представили Persona-Chat — базу данных, состоящую из более чем 160 тысяч отрывков диалогов реальных людей, которые беседовали от лица выдуманных персон. Разработчики также обучили на примере этих данных компьютерную модель: в будущем, как сообщается в препринте, опубликованном на arXiv, она может помочь персонифицировать чат-ботов и голосовых помощников.
Несмотря на то, что голосовые помощники и чат-боты с каждым годом становятся все совершеннее, поддержать беседу они все еще могут с трудом. Причиной тому — ограничения обучающей выборки: компьютер можно научить разговаривать и даже отвечать на вопросы, но для поддержания цельной беседы данных может быть недостаточно. Чат-бот, например, не обладает сформированной личностью и интересами — и поэтому не может ответить на сложные открытые вопросы вроде «что ты любишь делать в дождливый день?». Разумеется, есть вариант, в котором чат-бот или голосовой помощник отвечает на неизвестный ему вопрос абстрактной фразой вроде «я не знаю» или поисковым запросом — но беседой считать это нельзя. Кроме того, при общении такой собеседник удерживает в памяти только небольшой отрывок диалога и не может вернуться к информации, предоставленной ему несколько шагов назад.
Разработчики из Facebook AI Research под руководством Джейсона Вестона (Jason Weston) собрали базу данных из более чем тысячи «персон»: небольших (пять предложений не более 15 слов в каждом) описаний абстрактных личностей, придуманных реальными людьми. Например, описание такой «персоны» может выглядеть так:
«I am a vegetarian. I like swimming. My father used to work for Ford. My favorite band is Maroon5. I got a new job last month, which is about advertising design.»
«Я вегетарианец. Я люблю плавать. Мой отец работал в Ford. Моя любимая группа — Maroon5. Месяц назад я начал работать дизайнером в рекламном агентстве»
Всего в базе данных 1155 таких «персон». Кроме того, исследователи попросили другую группу людей оценить получившихся «персон» и переписать их на основе схожих, связанных характеристик: например, любовь к Maroon5 могла быть заменена в «персоне» на любовь к песне «She Will Be Loved», а утверждение о том, что отец «персоны» работал на Ford, могло превратиться в утверждение о том, что близкий родственник работал в автомобильной компании. Это необходимо для того, чтобы расширить известные о «персоне» факты для составления возможного диалога.
После этого двух людей, предоставивших «персоны», просили немного поговорить: каждому из них была назначена случайная «персона». В результате в базе данных диалогов оказалось 164356 высказываний, и на основе этой базы исследователи обучили несколько компьютерных моделей (генеративную Seq2Seq и ранжирующую Memory Networks). Полученные модели чат-ботов затем оценили, попросив поговорить с ними реальных людей: диалог мог строиться либо вокруг «персоны» компьютера, либо вокруг «персоны» человека, либо вокруг обоих участников диалога. Разработанные модели обошли алгоритм, обученный диалогам на цитатах из фильмов, по беглости, вовлеченности в диалог и полноте беседы.
Пример диалога человека (PERSON 1) и чат-бота, обученного на собранной базе данных
[PERSON 1:] I just got done playing soccer. What have you been up to?
[PERSON 2:] I do not have pets. I spend my free time writing. what about you?
[PERSON 1:] Just graduated from college. Looking for work.
[PERSON 2:] yes I graduated, in writing and poetry.
[PERSON 1:] Have you had anything published?
[PERSON 2:] I mainly write fiction novels.
[PERSON 1:] Do you like to watch sports?
[PERSON 2:] do you like kings of leon my favorite by them is use somebody
[PERSON 1:] Are you married? I will be married soon.
[PERSON 2:] haha, no time. I have got a novel to finish.
[PERSON 1:] What is your novel about?
[PERSON 2:] it is a love story. I really enjoy writing. do you write or read?
[PERSON 1:] Like to read. Spend most time watching football.
[PERSON 2:] yes I do I am and author for a living
[PERSON 1:] Я только что закончил играть в футбол. А ты что делал?
[PERSON 2:] У меня нет домашних животных. В свободное время я пишу. А ты?
[PERSON 1:] Только что закончил учиться. Ищу работу.
[PERSON 2:] Да, я закончил учиться, я изучал поэзию и прозу
[PERSON 1:] У тебя что-нибудь уже опубликовано?
[PERSON 2:] Я в основном пишу фантастику
[PERSON 1:] Тебе нравится смотреть спорт?
[PERSON 2:] Тебе нравятся Kings of Leon? Моя любимая их песня — «Use Somebody»
[PERSON 1:] Ты женат? У меня скоро свадьба
[PERSON 2:] Хаха, нет, у меня нет на это времени. Надо книгу дописать
[PERSON 1:] О чем твоя книга?
[PERSON 2:] О любви. Я очень люблю писать. А тебе больше нравится писать или читать?
[PERSON 1:] Я люблю читать, но вообще — чаще футбол смотрю
[PERSON 2:] Да, я зарабатываю на жизнь тем, что пишу
Разработчики отмечают, что собранная база данных может быть полезна для создания новых и усовершенствования старых моделей чат-ботов и голосовых помощников. База данных также выложена в открытый доступ.
Поддержание беседы на абстрактные темы — это скорее дополнение для голосовых помощников и чат-ботов. А их основной функцией кроме управления чем-либо и распознавания голосовых команд может быть даже оказание психологической поддержки: как Woebot, который при общении с пользователями использует методы когнитивно-поведенческой психотерапии.
Елизавета Ивтушок