Promobotпромобот

2020: Представление диалоговой системы для сервисных роботов

Компания «Промобот», резидент Кластера информационных технологий Фонда «Сколково», разработала для своих сервисных роботов диалоговую систему на основе нейронных сетей. При этом ей не требуется подключения к интернету. Об этом 12 ноября 2020 года сообщил Фонд «Сколково».

До этого роботы Promobot общались с помощью лингвистической базы — то есть вопросно-ответной системы. Теперь они смогут свободно распознавать запросы, обобщать их по заданной тематике и генерировать ответы с помощью нейронных сетей.

Данная диалоговая система позволяет сопоставлять голосовой запрос собеседника с местоположением робота, временем запроса, а также с контекстом предыдущего диалога. Promobot сможет вести длинные диалоги, а не только отвечать на единичные запросы, как это делают существующие системы.

Робот, в отличие от голосовых помощников, в ответе на вопрос всегда будет ориентироваться на время и место разговора. Для сервисных роботов это важнейшая задача, поскольку они оказывают услугу в конкретном месте, скажем, в аэропорту, и всегда должны `осознавать`, в каком контексте они находятся,
прокомментировал Андрей Носов, руководитель разработки диалоговой системы компани «Промобот».

Разработчики диалоговой системы использовали 10 ключевых тем для бизнеса: например, «Транспорт» (Как добраться? Как купить билет? Где находится?) или «Здание» (Какой адрес? Как получить пропуск? В каком кабинете?)

Чтобы натренировать один интент (потребность пользователя) нужно не менее двух тысяч релевантных сэмплов (конкретных примеров запроса в контексте). Для тренировки 10 тем дата-инженерам пришлось проанализировать порядка 6,5 млн строк запросов. На это потребовалось 1000 рабочих дней.

Для повышения точности диалог разделен на пять модулей.

Первый опирается на простое общение, не требующее привязки к каким-либо целям. Его назначение — смягчение или поддержание диалога.

Второй модуль отвечает на запросы для бизнеса, обрабатывая их в соответствии с необходимым контекстом.

Третий используется как поисковик — для постоянного обновления базы данных робота.

Четвертый модуль системы непосредственно связан с третьим. Он планирует сопоставление фактов, взятых из поисковика, в случаях, когда нужно получить какое-то сравнение или выгрузку, важную для принятия решений. Например, для получения ответов на вопросы: «Где стоит дешевле?», «Кто выше?», «Куда лучше поехать?» и т.п. При этом системе не обязательно иметь доступ к интернету в момент запроса: базы постоянно обновляются, пока робот в сети, но робот не теряет к ним доступ, если интернет отключается.

Последний, пятый, модуль подключается к лингвистической базе Promobot, которую создатели робота собирали на протяжении пяти лет.

Все голосовые помощники, которые существуют на ноябрь 2020 года, для нас по сути лишь один из модулей системы, который отвечает только за chit-chat. Любому голосовому ассистенту для полноценной работы необходим интернет. Наше решение может функционировать и офлайн, поскольку ориентируется на конкретные задачи бизнеса,
сказал Олег Кивокурцев, директор по развитию компании «Промобот».

Внедрение диалоговой системы на действующих роботов Promobot начнётся в декабре 2020 года. В нашей стране их на ноябрь 2020 года работает около четырехсот.

Российские решения в области сервисной робототехники пользуются устойчивым спросом на мировом рынке. Это происходит, в том числе потому, что наши компании в некоторых аспектах являются законодателями и основоположниками новых технологических и бизнес трендов в этой области,
отметил Павел Кривозубов, руководитель направления «Робототехника и искусственный интеллект» Кластера информационных технологий Фонда «Сколково».

3.4. Как их использовать и что нужно знать?

Робот их использует всегда. В случае если у вас не заполнены данные разделы, робот возьмет информацию из общей лингвистической базы. В случае, если у вас заполнена хотя бы одна фраза робот будет использовать только ваш список приветственных фраз, приветственные фразы из общей лингвистической базы робот использовать не будет

Следует обратить отдельное внимание на то, что в случае, если в списке есть только одна реплика, то она будет произноситься каждый раз, когда в этом будет потребность. Тем самым у пользователя будет создаваться ощущение, что робот мало знает и умеет – произнесение одной и той же фразы роботом будет наталкивать его на эту мысль.
Периодичность произношения данных фраз задается в настройках на роботе Вкладка «Диалог», параметр «время приветствия»

Работает следующим образом: робот увидел человека и поприветствовал его, в следующий раз он поприветствует его по прошествии указанного выше времени.
Всех незнакомых людей робот запоминает в оперативную базу, следовательно, на незнакомых людей время, указанное в п. 2 тоже распространится, то есть робот не должен постоянно приветствовать даже незнакомых ему людей. При перезагрузке робота оперативная база лиц очищается.
Отключить приветственные фразы можно, если в частной лингвистической базе во всех приветственных фразах оставить в поле робот отвечает только символ ‘ (апостроф) и больше ничего не заполнять. Таким образом, робот будет использовать частные приветственные фразы, но при этом не будет говорить и выполнять действия.

Правила заполнения описаны в 

12.4. Сбор анкетных данных

создать «портрет» клиента, получить ФИО, телефон, почту, дату рождения и ответы на другие вопросы

  • Выполнить пункты, указанные для «Консультации»
  • Активировать в настройках робота 
  • Изменить фразы приветствия неизвестного, добавить в поле действие dataCollect:once
  • Добавить дополнительные вопросы в разделе .
  • В дополнение к «Консультации» робот будет предлагать принять участие в программе лояльности.
  • При разговоре со знакомыми людьми робот будет задавать вопросы, заполненные в разделе  и запоминать ответы людей. Получаем:
  1. карточку клиента – формат *.json
  2. файл с ответами на дополнительные вопросы – формат *.json
  3. фотографию клиента – формат *.jpg
  4. видеообращение клиента – формат *.mp4

При разговоре с незнакомыми людьми робот к своим ответам будет добавлять те фразы, которые вы указали в разделе .

Робототехника

  • Роботы (робототехника)
  • Робототехника (мировой рынок)
  • Обзор: Российский рынок промышленной робототехники 2019
  • Карта российского рынка промышленной робототехники
  • Промышленные роботы в России
  • Каталог систем и проектов Роботы Промышленные
  • Топ-30 интеграторов промышленных роботов в России
  • Карта российского рынка промышленной робототехники: 4 ключевых сегмента, 170 компаний
  • Технологические тенденции развития промышленных роботов
  • В промышленности, медицине, боевые (Кибервойны)
  • Сервисные роботы
  • Каталог систем и проектов Роботы Сервисные
  • Collaborative robot, cobot (Коллаборативный робот, кобот)
  • IoT — IIoT — Цифровой двойник (Digital Twin)
  • Компьютерное зрение (машинное зрение)
  • Компьютерное зрение: технологии, рынок, перспективы
  • Как роботы заменяют людей
  • Секс-роботы
  • Роботы-пылесосы
  • Искусственный интеллект (ИИ, Artificial intelligence, AI)
  • Обзор: Искусственный интеллект 2018
  • Искусственный интеллект (рынок России)
  • Искусственный интеллект (мировой рынок)
  • Искусственный интеллект (рынок Украины)
  • В банках, медицине, радиологии, ритейле, ВПК, производственной сфере, образовании, Автопилот, транспорте, логистике, спорте, СМИ и литература, видео (DeepFake, FakeApp), музыке
  • Национальная стратегия развития искусственного интеллекта
  • Национальная Ассоциация участников рынка робототехники (НАУРР)
  • Российская ассоциация искусственного интеллекта
  • Национальный центр развития технологий и базовых элементов робототехники
  • Международный Центр по робототехнике (IRC) на базе НИТУ МИСиС

Robot Control Meta Language (RCML)

  • Машинное обучение, Вредоносное машинное обучение, Разметка данных (data labeling)
  • RPA — Роботизированная автоматизация процессов
  • Видеоаналитика (машинное зрение)
  • Машинный интеллект
  • Когнитивный компьютинг
  • Наука о данных (Data Science)
  • DataLake (Озеро данных)
  • BigData
  • Нейросети
  • Чатботы
  • Умные колонки Голосовые помощники
  • Безэкипажное судовождение (БЭС)
  • Автопилот (беспилотный автомобиль)
  • Беспилотные грузовики
  • Беспилотные грузовики в России
  • В мире и России
  • Летающие автомобили
  • Электромобили
  • Подводные роботы
  • Беспилотный летательный аппарат (дрон, БПЛА)

2.1. Правила

Правила представляют собой порядок действий робота в случае, если выполняются определенные условия. На данный момент существуют следующие параметры правила:

Владелец- Тот, кто владеет одним или несколькими роботами. Данное поле служит не только для упрощения навигации, но и для повышения функциональности робота: правила, загруженные пользователем, например, Пользователь-1 будут доступны на всех его роботах в том случае, если он не укажет конкретного робота для этого правила

На это следует обратить отдельное внимание, т.к. в случае, если у Пользователя-1 есть два робота, один из которых торгует цветами, а второй работает консультантом в банке, то, если правила были загружены без привязки к роботу, они будут срабатывать одинаково на обоих роботах, что, конечно же, приведёт к сумятице.
Робот – это поле определяет, какому роботу принадлежит данное правило

Следует учитывать, что на других роботах данное правило воспроизводиться не будет. В случае, если вам необходимо, чтобы два робота сразу имели общие правила – не указывайте у правила параметр Робот. Это подойдет, например, для каких-то общих фраз вроде «как дела?», «ты говорящий?» и т.д.
Категория – это метка, позволяющая наводить порядок в базе правил. Скажем, если вы планируете занести в робота много правил, связанных с вашим автосалоном. Вы создаете категорию Автомобили, после этого, в случае создания правила, связанного с автомобилями, вы помечаете, что оно относится к категории Автомобили. В последствии вам будет проще пользоваться лингвобазой и быстро найти все необходимое. Второй областью применения раздела категорий является статистика. Так, например, у вас есть возможность посмотреть в разделе статистика, какой категорией интересовалось больше всего клиентов в процентах. Например, если у вас банк, можно создать категории Кредиты и Ипотека, куда будут входить конкретные ответы робота. Это позволит вам установить, какой сферой более всего интересуются клиенты.
Актуальность – это поле позволяет включить или выключить правило. Отсутствие галочки означает, что правило неактивно, поставленная галочка означает, что правило активно и будет использоваться роботом. Чаще всего данную функцию используют, чтобы включать\отключать правила без их удаления. Это может быть полезно в том случае, если у вас один робот, который в разные дни работает в разных местах. В понедельник включаются правила, связанные с цветочным салоном, в пятницу они отключаются (делаются неактивными) и включаются правила, связанные с автосалоном.
Якорь на входе — благодаря этому полю правило ссылается на другое правило. Он используется для того, чтобы делать сложные ветвящиеся диалоги 

Комментарий – поле, предназначенное для дополнительных комментариев. Например, это поле может содержать такую информацию, как автора правила.

Роботу говорят – поле, представляющее собой фразу, в случае распознания которой робот выдает реакцию в соответствии с правилом

Следует брать во внимание, что технология распознавания речи не совершенна и иногда может работать не совсем корректно

Пример
Произнесенное человеком «Расскажи мне про крупногабаритные отправления» может быть распознано роботом как «Расскажи мне про крупногабаритные отравления» и правило « * крупногабаритн~ * отправлен~ * » не сработает.

Следует учитывать определенный синтаксис, которые используются в лингвобазе. — символ «*» означает любое количество слов или их полное отсутствие. Поэтому, если в правиле написано «* кошка *», то в случае, если человек скажет: «У тебя есть кошка?», то робот воспримет это корректно и правило сработает. — символ «/» в фигурных скобочках означает вариативность. Например, в случае, если поле заполнено так: «* {сколько/какая} * {градусов/погода/температура} *», то робот будет реагировать на следующие фразы: «Сколько сейчас градусов», «Какая сейчас погода», «Какая температура» и т.д.).

Робот отвечает – поле ответа робота, правила заполнения указаны в п.11 «Правила заполнения реплик и действий робота»