Ф-2 – это настоящий эмоциональный робот, умеющий общаться с людьми! Создание робота - это часть исследовательского проекта, в рамках которого мы изучаем, как сделать роботов будущего привлекательными для человека. С помощью данного робота можно создавать и проверять в экспериментах разные стратегии общения с человеком с помощью речи, мимики и жестов. Робот Ф-2 напоминает мультипликационных персонажей, которые не похожи на человека, но при этом эмоциональны и симпатичны благодаря своим жестам и мимике. Робот сделан максимально простым, чтобы его можно было легко собрать. Эта простота и отсутствие прямого сходства с человеком позволяют исследовать эмоциональный контакт, возникающий у человека за счёт поведения робота, а не за счёт его внешнего вида.

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

Но вы можете использовать робота в своих экспериментах, поскольку роботом можно управлять через программный интерфейс (API). Это значит, что вы можете написать для робота набор реакций на языке BML и использовать собственную программу, чтобы передавать роботу отдельные реакции в зависимости от поведения человека.

Когнитивный компонент

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

Когнитивный компонент

Робот может читать книги в виде текстовых файлов, новости и блоги через подписку RSS или через Telegram, воспринимать устную речь через сторонний сервис преобразования в письменную форму. Этот программный компонент работает на сервере без робота, сохраняя результаты разбора текста в базу данных. По письменному тексту для каждого предложения когнитивный компонент строит синтаксическое дерево, а затем конструирует семантическое представление – смысл текста. Вот, как выглядит синтаксическое дерево для предложения Роботы думают о людях.

Синтаксическое дерево

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

При управлении роботом каждый сценарий может сформировать поведенческий пакет на языке BML и передать его роботу для выполнения. Робот может управляться сразу множеством программных компонентов, отдельный компонент может отвечать за (а) понимание текста, (б) распознавание мимики и направления взгляда человека, (в) действия человека в игре и т. д. Кроме того, отдельный компонент “бездействия” обычно передает на робота перемещения взгляда и небольшие движения, напоминающие дыхание, чтобы анимировать робота в ситуации бездействия, когда другие компоненты не зарегистрировали существенных событий в окружающем мире. Таким образом, поведение робота составляется из BML-пакетов, переданных разными программными компонентами.

Управление роботом

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

Поведение робота можно описать на особом языке BML. Можно создать пакет BML, вызывающий определённый жест, элемент мимики, меняющий направление взгляда робота. Последовательность таких BML пакетов будет задавать поведение. В эксперименте можно создать фиксированное поведение робота с помощью последовательности BML.

Однако поведение человека – сложное и противоречивое. Когнитивный компонент позволяет это описать: он активизирует сразу множество сценариев, каждый из который передаёт на робота свой элемент поведения – пакет BML. Все эти пакеты конкурируют за выполнение на роботе: множество эмоциональных состояний и коммуникативных намерений будет проявляться в поведении робота одновременно.

Робот регистрирует местоположения лица пользователя: он может поворачивать лицо или только глаза в направлении человека или в сторону. Это позволяет исследовать эффект «зрительного контакта», когда пользователь чувствует, что робот на него смотрит. Можно исследовать баланс между зрительными стратегиями, например, как часто робот должен переводить взгляд при общении с несколькими собеседниками, на какое время и в какие моменты робот должен смотреть на собеседника, чтобы собеседнику было комфортно в разговоре.

Вместо когнитивного компонента можно использовать для управления роботом собственную программу, которая будет передавать роботу пакеты BML через программный интерфейс. Например, можно создать собственный чат-бот, который будет отвечать человеку не только с помощью высказываний, но и с помощью жестов и элементов мимики робота. Это позволит быстро начать работу с Ф-2 без настройки когнитивного компонента. С помощью робота можно создавать и проверять собственные модели описания человеческого поведения. Вы можете использовать любые программы для анализа окружения робота, для локализации объектов и людей, создавать собственные стратегии поведения в ситуации, моделировать эмоциональную динамику и передавать на робота уже готовые пакеты BML для выполнения требуемого поведения.