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