Российский производитель роботов компания «Промобот» представила диалоговую систему для одноимённых сервисных роботов. До этого роботы общались с помощью лингвистической базы — то есть вопросно-ответной системы, а сейчас смогут свободно распознавать запросы, кластеризовать по заданной тематике и генерировать ответы с помощью нейронных сетей. В отличие от «Алисы» и Siri, система работает без подключения к интернету.
Новая диалоговая система основана на методе конечных автоматов. С точки зрения лингвистики, система включает в себя обработку естественного языка на уровне именованных сущностей, анализа пользовательских интентов (именновая сущность вместе с действием) и широкого спектра охватываемых тематик.
«Впервые в мире глубина темы в диалоговой системе задана с точки зрения четырехмерного пространства и включает такие параметры, как время, место, тема разговора, а также контекст отрицания или утверждения. То есть робот, в отличие от голосовых помощников, в ответе на вопрос всегда ориентируется на время и место разговора — для сервисных роботов это важнейшая задача, поскольку они оказывают услугу в конкретном месте, скажем, в аэропорту, и всегда должны «осознавать», в каком контексте они находятся», — говорит Андрей Носов, руководитель разработки диалоговой системы Promobot, Ph.D. в области компьютерной лингвистики (Университет Тампере, Финляндия).
Разработчики диалоговой системы использовали 10 ключевых тем для бизнеса: например, темы «Транспорт» (Как добраться? Как купить билет? Где находится? и т.д.) и тема «Здание» (Какой адрес? Как получить пропуск? В каком кабинете?). Чтобы натренировать один интент, нужно не менее 2000 релевантных сэмплов (сэмпл — это конкретный пример запроса в контексте). Чтобы натренировать 10 тем на релевантных сэмплах, дата-инженерам понадобилось проанализировать не менее 6,5 млн строк запросов (8000 часов трудозатрат — 1000 рабочих дней).
Для повышения точности диалог разделён на пять модулей или, другими словами, веток. Первая ветка опирается на chit-chat — простое общение, не требующее привязки к каким-либо целям. Её назначение — смягчение или поддержание диалога. Вторая ветка — слотовый «движок» для бизнеса. Он создан для того, чтобы пользователь получал именно то, что он хочет в 100% случаев. Это значит, что любой запрос будет обработан так, как это требуется, а не на уровне вероятности. Третья ветка используется как поисковик, постоянно обновляя базу данных робота.
Четвертый модуль системы непосредственно связан с третьим. Он планирует сопоставление фактов, взятых из поисковика, в случаях, когда нужно получить какое-то сравнение или выгрузку, важную для принятия решений. Например, для получения ответов на вопросы: «Где стоит дешевле?», «Кто выше?», «Куда лучше поехать?» и т.п. При этом системе не обязательно быть подключенной к интернету в момент запроса: базы постоянно обновляются, пока робот в сети, но робот не теряет к ним доступ, если интернет отключается. Последняя, пятая, ветка подключается к лингвистической базе Promobot, которую создатели роботов собирали на протяжении пяти лет.
«Все голосовые помощники, которые существуют сейчас, для нас по сути лишь один из модулей системы, который отвечает только за chit-chat, — говорит директор по развитию Promobot Олег Кивокурцев. — Любой голосовой ассистент определяет своё существование через интернет: отключите интернет, и ассистента не станет. Наше решение может работать и офлайн, поскольку ориентируется на конкретные задачи бизнеса, это первый в мире прецедент — диалоговая система без интернета».
Внедрение диалоговой системы на действующих роботов Promobot начнётся в декабре 2020 года. Всего в России работают около 400 отечественных роботов Promobot: в музее современной истории России, отделениях МФЦ, Сбербанке, торговых и бизнес-центрах, клиниках, аэропортах.