Диалог с роботом NAO

22 июля 2015

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

Наиболее сложные задачи при программировании роботов на общение с человеком - это задача распознавания голоса и построение ответа.

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

NAO использует технологию распознавания речи от американской компании Nuance. Весь процесс распознавания происходит оффлайн - подключение робота к Интернету не требуется. На это стоит обратить особое внимание, так как часто разработчики роботов используют технологию Google, которая работает только при подключении робота к Интернету. 

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

Например в приведенном примере робот спрашивает человека "Как дела?" Человек отвечает: "Мне грустно" и робот говорит человеку, чтобы тот не грустил. Если человек просто произнесет фразу "Мне грустно", то робот не отреагирует на нее. Реакция на эту фразу со стороны робота последует только после вопроса "Как дела?".Таким образом происходит активация распознавания нужных фраз у робота.

В примере робот будет разговаривать на три разные темы: общая, еда и спорт. Вот как это выглядит в Choregraphe. На рабочее поле нужно соответственно добавить три элемента (box) "Dialog". Каждый такой box связывается в свою очередь с файлом с расширением .top - это так называемые топик - тема для разговора. Топик пользователь также должен создать самостоятельно.   

 

 

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

 

 

Ниже приведена реализация топика про Еду.

 

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

 

На видео вверху разговор введется в тихом помещении, но самое интересное и чаще всего встречаемое - это взаимодействовать с роботом в шумном месте. Основная задача здесь правильно распознать речь. Как с NAO справляется с этой задачей представлено на видео ниже. 

 

 

Процесс программирования диалогов с NAO получается очень увлекательным. Как видите можно составлять самые разные диалоги и заставлять отвечать робота на разные вопросы, а также самому роботу давать возможность управлять беседой. Возможности системы программирования диалогов в Choregraphe очень широкие. Тут приведены лишь некоторые из них, чтобы показать основы программирования диалогов.

И кто знает, может кто-то в самом ближайшем будущем сможет так запрограммировать NAO, что он с легкостью пройдет тест Тьюринга.

Вернуться к новостям
Товары к этой новости

Наши преимущества

Помощь, а не продажа
Мы помогаем, а не продаём «любой ценой». У нас дружелюбный сервис и гибкие условия.
Полезные консультации
У нас не только магазин, а ещё есть мастерская и школа робототехники, поэтому много опыта.
Бесплатная доставка
При заказе на сумму больше 8 000 рублей в Москве и Питере доставка всех товаров бесплатная.
Доставка в день заказа
Если сделать заказ до 14:00, то можно получить его в тот же день. Только в Питере пока.
Только качественные товары
У нас продаются только качественные товары. Нет продуктов очень низкого качества, пусть и дешёвых.
Качественное послепродажное обслуживание
На все товары действует гарантия. Если что, то мы качественно отремонтируем.