Команда ученых из Facebook и Стэнфордского Университета разрабатывает чат-бота, который обучается самостоятельно, извлекая данные из диалогов с пользователями. Он отслеживает удовлетворенность собеседника и запрашивает обратную связь в случае неправильных ответов.
Аналитики Gartner утверждают что, к 2020 году 85% взаимодействий клиентов с сервисами будет осуществляться с помощью чат-ботов. Уже сейчас чат-бот Alibaba обслуживает 3,5 миллиона человек ежедневно, помогая им совершать покупки.
Однако боты не могут удерживать внимание пользователя больше 15 минут. Для того чтобы сделать ответы чат-ботов более адекватными, разработчики предлагают разрешить ему обучаться самостоятельно во время диалога с человеком.
Обучение во время диалога
Суть подхода в том, чтобы ввести оценку для отслеживания удовлетворенности собеседника. Чат-бот обучается путем выставления оценки от 0 до 1 каждому ответу. Например, бот может задать вопрос: «Вы были во Франции?». Человек ответит: «Да, я был. Там очень красиво». Такому ответу собеседника бот присвоит высокий рейтинг удовлетворенности. Если на эту реплику бот ответит неправильно, например: «Lol, я никогда их не пробовал», то ответом человека может быть фраза: «Что? О чем ты говоришь?». Такая фраза получит низкий рейтинг.
После обнаружения ответа с низким рейтингом, бот скажет: «Упс, я ответил неправильно» и спросит какой ответ был бы подходящим в этом случае. Затем человек назовет правильный ответ, например: «Может быть спросить, понравилась ли мне французская кухня?». Бот запомнит этот пример и в дальнейшем сможет использовать его в диалогах с другими пользователями.
Бот научился оценивать удовлетворенность, общаясь с командой, которая выставляла от 1 до 5 баллов, оценивая качество его ответов. Он обучался одновременно двум задачам: диалогу и запросу обратной связи. Для каждого следующего ответа он принимал во внимание контекст и числовой балл удовлетворенности от 0 до 1. Если удовлетворение достигало определенного порога, он извлекал данные для обучения, используя контекст и ответы человека. Но если оценка была низкой, бот запрашивал обратную связь, после чего запоминал уже новую фразу для дальнейшего использования в диалогах в качестве возможного варианта ответа.
Разработчики протестировали чат-бота на диалогах из датасета PersonaChat. Точность ответов увеличилась на 31%. Лучшая модель достигла 46,3% точности для задач диалога и 68,4% в задачах обратной связи. Описанные в работе наборы данных, модели и код будут доступны через платформу Facebook ParlAI.