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

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

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

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

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

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

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

При управлении роботом каждый сценарий может сформировать поведенческий пакет на языке BML и передать его роботу для выполнения. Таким образом, поведение робота составляется из BML-пакетов – реакций на окружающие события или просто движений в состоянии покоя: когда роботу нечего делать, он будет слегка двигаться.

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

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

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

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

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

Вместо когнитивного компонента можно использовать для управления роботом систему диалога DialogFlow. Для этого нужно создать множество реакций робота, каждая из которых задаёт ответное высказывание и жест. Это позволит быстро начать работу с Ф-2 без настройки когнитивного компонента.

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