Рисунок 26 Компоненты обобщенной биометрической системы
Мимический (а точнее, жестомимический) пользовательский интерфейс предназначен для управления компьютером, программными приложениями с помощью мимики лица и жестов. Одним из вариантов реализации мимического интерфейса является использование устройства, состоящего из наушников, оснащенных миниатюрными инфракрасными датчиками, которые измеряют крохотные смещения внутри ушной раковины пользователя, вызываемые мимическими движениями лица пользователя. Устройство связано с программным приложением, установленным на компьютере [90]. Программное приложение сохраняет информацию об особенностях мимики пользователя для улучшения последующего распознавания. Таким образом, программное приложение может обеспечить различные реакции компьютера на разные движения лица пользователя.
Также мимическое управление может быть реализовано при помощи чувствительных 3D-сенсоров и качественных камер. Дополнительную функциональность мимическому интерфейсу может придать имеющийся на компьютере микрофон, с помощью которого, например, пользователь может отдавать команды персонажам компьютерных игр.
51
Примерами мимического управления компьютером также явля-
ются программы HeadMouse, The Camera Mouse, Enable Viacam (eViacam) [89], предназначенные для управления курсором мыши при помощи движения головы, глаз и рта. Головой управляется курсор, а подмигиванием или открытием рта имитируется нажатие кнопок мыши. Следует отметить, что такие программные приложения совмещают работу графического пользовательского интерфейса и мимического интерфейса: перед работой с мимическим интерфейсом необходимо настроить работу датчиков и камеры с помощью программного приложения с графическим интерфейсом, а также с помощью мыши и клавиатуры.
Семантический (общественный) интерфейс может включать в себя черты командного, WIMP и SILK-интерфейсов (мультимодальный интерфейс [39]). При использовании такого пользовательского интерфейса пользователю будут предоставляться различные (экранные, речевые, тактильные) образы информации и команд. Переход от одних поисковых образов к другим будет проходить по смысловым семантическим связям. Запрос формируется в том виде, который удобен пользователю. Разработка таких пользовательских интерфейсов является сложной и обусловлена следующими требованиями [16]:
интерфейсы должны быть в состоянии отображать знания различного вида;
интерфейсы должны обеспечивать возможность пользователю ставить перед системой свободно конструируемые задачи;
в интерфейсах должна отображаться семантика предметной области, в рамках которой происходит взаимодействие пользователя с программным приложением.
Рассмотрим работу с пользовательским интерфейсом такого типа на примере проекта OSTIS [17]. В рамках этого проекта разрабатывалась семантическая технология проектирования пользовательского интерфейса интеллектуальной системы. В основе данной технологии лежат следующие принципы [16]:
1.Пользовательский интерфейс является многоагентной системой, основанной на знаниях и, прежде всего, на онтологиях.
2.Все элементы управления на интерфейсе являются изображением узлов семантической сети. Это позволят пользователю указывать их в качестве аргументов для различных команд. Семантический интерфейс
[18]представляет собой мультимодальный оконный интерфейс [16], внешне напоминающий WIMP-интерфейс. Выделяются следующие типы элементов управления пользовательского интерфейса:
52
А. Элементы управления, изображающие только объект действий. Они используются для отображения объектов находящихся в базе знаний, над которыми можно производить какие-либо действия. По сути, пользователь не может инициировать с помощью них какую-либо команду. Он может лишь их использовать как аргументы для какой-либо команды.
Б. Элементы управления, отображающие классы действий, представляют собой команды, для которых объект действия не определен. Нажатие клавиши мыши на такие элементы управления приводит к инициированию действия, за которые отвечает класс. Элементы управления, относящиеся к данному типу, отображаются в виде специальных графических изображений (или в составе меню, или отдельно).
В. Элементы управления, отображающие конкретные команды, для которых уже определен объект действия.
3. Пользовательский интерфейс представляет собой интеллектуальную систему, которая следит за поведением пользователя в процессе работы и имеет в составе следующие типы компонентов:
трансляторы содержания текстов на языке пользователя в тексты специального семантического кода (например, SC-кода, Semantic Code [16, 17]) и визуализации информации (например, с помощью SCg-кода, Semantic Code graphical [16, 17], который является одним из возможных способов визуального представления SC-кода);
трансляторы текстов семантического кода (в том числе, и визуальной информации от элементов управления) в тексты, предназначенные для пользователя;
компоненты вывода информационных конструкций (в том числе, визуальных) для пользователя;
компоненты ввода информационных конструкций (в том числе, визуальных), полученных от пользователя.
Каждый компонент пользовательского интерфейса имеет в составе базу знаний, необходимую для работы компонента, а также набор операций для преобразования информации с помощью семантического кода [16, 17].
База знаний мультимодального пользовательского интерфейса включает в себя следующую информацию:
описание команд пользовательского интерфейса - описываются классы команд пользовательского интерфейса, которые служат для инициирования пользователем каких-либо действий в системе;
описание структуры главного меню; описание внешних языков представления знаний;
53
описание используемых компонентов (используются интерфейсом для организации диалога с пользователем);
протокол пользовательских действий (строится во время работы системы и необходим для построения портрета пользователя, а также обеспечения отмены пользовательских действий)
портрет или протокол действий пользователя (строится на основании анализа действий пользователя и включает в себя всю необходимую информацию о пользователе: например, предпочитаемая стилистика размещения, наиболее часто используемые внешние языки и т. д.).
По сравнению с WIMP-интерфейсами интерфейсы такого типа имеют ряд дополнительных возможностей:
1.При необходимости программное приложение (информационная система) может явно визуализировать связи между различными элементами, представленными на экране (например, могут быть отображены в явном виде отношения между двумя диалоговыми окнами).
2.Команды, содержащиеся в базе знаний, могут быть использованы в качестве аргументов к командам пользователя. Результат выполнения команды не хранится в базе знаний, а вычисляется программным приложением.
3.Программное приложение может анализировать команды, содержащиеся в базе знаний, и, на основе анализа предыстории использования команд, адаптировать пользовательский интерфейс для текущей работы пользователя (отображать команды, наиболее подходящие под текущие действия пользователя, рекомендовать выполнение какой-то одной команды вместо выполнения последовательности из нескольких команд).
4.Мультимодальный интерфейс позволяет пользователю осуществлять ввод информации одновременно несколькими способами и обеспечивает адаптивность к меняющемуся поведению пользователя. При этом пользователь может выбирать для ввода информации тот вид ввода информации, который в конкретной ситуации обеспечивает минимальное количество ошибок (речь, жесты, рукописный ввод, мимика лица, традиционный ввод с клавиатуры или с помощью мыши). Также пользователь может переключаться на другой вид ввода информации в случае необходимости скорректировать ошибки во введенной ранее информации. В общем случае процесс взаимодействия пользователя с про-
54
граммным приложением с помощью семантического (общественного, мультимодального) интерфейса приведен на рис. 27, 28 [39].
К программным приложениям с интерфейсами, занимающими промежуточное положение между SILK-интерфейсами и общественными интерфейсами, приближаются интеллектуальный помощник Siri от
Apple, Google Now, Samsung’s S Voice, а также перспективный интеллектуальный помощник Alexa от компании Amazon [85]. Одно из таких программных приложений, персональный интеллектуальный помощник Siri (Speech Interpretation and Recognition Interface),
разработан для iOS и интегрирован во все основные приложения iPhone (рис. 29) [86]. Причем, с помощью Siri можно выполнить некоторые действия в программных приложениях, с которыми интегрирована программа Siri. Программа Siri использует обработку естественной речи для ответа на устные вопросы пользователя и приспосабливается к каждому пользователю индивидуально, изучая его предпочтения в течение долгого времени. Программа воспринимает естественную речь, поэтому пользователю не нужно заучивать специальные команды или запоминать ключевые слова. Использование Siri позволяет установить между голосовым помощником и пользователем образовалось некое подобие эмоциональной связи. Для этого, к примеру, Siri может специально обращается к человеку по имени, которое тот предварительно указал в настройках. В отличие от других систем голосового контроля (например, в Android), которые, просто обращались к поисковой системе (Google или Bing), программа Siri может обращаться через Интернет сразу к нескольким десяткам веб-служб, искать в них нужную веб-службу, собирать из него нужную информацию и отвечать на сложные голосовые запросы пользователя [97]. Основой Siri является мощный алгоритм (мэшап, mashup). Мэшап, или композитная программа, - это веб-приложение, объединяющее данные, способ представления информации или функциональности из нескольких источников в один интегрированный инструмент, выступающий совершенно новой службой. Основные характеристики мэшапов таковы: комбинирование, визуализация и агрегация - существующее многообразие данных смешивается для выдачи пользователю информации в удобной форме.
55