УДК 004.514.62
А.А. Сухов
ОЦЕНКА ЭМОЦИОНАЛЬНОЙ СОСТАВЛЯЮЩЕЙ ИНТЕРФЕЙСОВ ТРЕНАЖЕРОВ
Разработка и реализация современных методов создания человеко-машинного интерфейса управления для персонала, принимающего решения и обслуживающего I ¡ерсонала в любых человеко-машинных системах, приобрела сегодня особенно актуальное значение, поскольку это — один из важнейших факторов, определяющих надежность и экологическую безопасность различных технологических объектов и управляющих ими людей.
Техногенные катастрофы национального и транснационального масштаба, ряд авиационных аварий вновь привлекли внимание мировой общественности к вопросу о регламентации систем подготовки и тренировки человека с целью повышения надежности его действий по управлению технологическими объектами в аварийных и экстремальных ситуациях.
Основное требование к интерфейсу автоматизированных систем управления технологическим процессом опасного производства заключается в максимально быстром распознавании опасной ситуации и принятии решения. Главная проблема в том, что часто создание интерфейса находится полностью на совести программиста и очень редко — дизайнера, так как чаще всего в создании автоматизированных систем последний участия не принимает.
Разработчики программных комплексов склонны рассматривать функциональность системы отдельно от её пользовательского интерфейса (ПИ). При этом предполагается, что ПИ — это своего рода дополнение к функциональности системы. Со своей стороны, пользователи программ, как правило, не разделяют функциональность и пользовательский интерфейс. Для пользователей именно ПИ является программой. Для них, если интерфейс хороший, стало быть, и сама программа хороша и удобна.
Метод оценки интерфейса на основе нейронных сетей
Пользовательский интерфейс часто понимают только как внешний вил программы. Однако
наделе пользователь воспринимает через ПИ всю систему в целом, а значит, такое понимание ПИ слишком узко. В действительности ПИ включает в себя все аспекты дизайна, которые оказывают влияние на взаимодействие пользователя и системы. Это не только экран, который видит пользователь. Пользовательский интерфейс включает множество составляющих, такие, как: набор задач пользователя, которые он решает при помощи системы;
используемая системой метафора (например, рабочий стол в MS Windows и т. п.); элементы управления системой; навигация между блоками системы; визуальный (и не только) дизайн экранов программы.
Теперь необходимо определиться с тем, что подразумевать под удобным интерфейсом.
Практичность (Usability) (по ИСО/МЭК 9126-1:1998) - это способность ПО, обусловливающая легкость его понимания, изучения и использования, а также привлекательность для пользователя при использовании в указанных условиях.
Примечания: 1. Некоторые аспекты функциональных возможностей, надежности и эффективности будут влиять и на практичность, но для целей ИСО/МЭК 9126 не классифицированы как практичность.
2. В число пользователей могут быть включены операторы, конечные пользователи и косвенные пользователи, которые находятся под влиянием или зависят от использования ПО. В практичности следует учитывать всё разнообразие сред пользователей, на которые ПО может влиять, включая возможную подготовку к использованию и оценку результатов.
Понятность (Understandability) — способность ПП, обеспечивающая пользователю понимание, является ли ПО пригодным и как его можно использовать для конкретных задач и условий использования.
Примечание. Понятность зависит от документации и первичных впечатлений от ПО.
140
Г
Изучаемость (Learnability) — способность ПП, обеспечивающая изучение пользователем его применения.
Примечание. Внутренние атрибуты, соответствующие пригодности для изучения, как определено в ИСО 9241-10.
Легкость использования (Operability) — способность ПП, обеспечивающая пользователю возможность его эксплуатировать и управлять им.
Примечания: I. Аспекты изменяемости, адаптируемости и легкости установки могут быть предпосылками для легкости использования.
2. Легкость использования соответствует управляемости, устойчивости к ошибке и согласованности с ожиданиями пользователя, как определено в ИСО 9241-10.
3. Для системы, которая эксплуатируется пользователем, комбинация функциональных возможностей, надежности, практичности и эффективности можно измерить внешне через качество в использовании.
Привлекательность (Attractiveness) — способность ПП нравиться пользователю.
Примечание. Привлекательность связана с агрибутами ПО, обусловливающими большую привлекательность ПО для пользователя.
Согласованность (Compliance) — способность ПО придерживаться стандартов, соглашений, руководств по стилю или норм, связанных с практичностью.
Практичность есть совокупность свойств программного средства, характеризующая: усилия или легкость использования; управляемость и устойчивость к ошибке; согласованность с ожиданиями пользователя; привлекательность и способность нравиться пользователю.
Получается, что практичность — это некий набор показателей качества. Теперь необходимо рассмотреть методы оценки интерфейса, ГОСТ [3] предлагает несколько способов оценки программных средств, не регламентируя отдельно оценку интерфейса.
Методы оценки практичности по показателям качества
Методы определения показателей качества ПС различаются: по способам получения информации о ПС (измерительный, регистрационный, органолептический, расчетный); по источникам получения информации (традиционный, экспертный, социологический).
Измерительный метод основан на получении информации о свойствах и характеристиках ПС с использованием инструментальных средств. Например, метод применяют при определении объема ПС (число строк исходного текста про-фамм и число строк — комментариев; число операторов и операндов; число исполненных операторов; число ветвей в программе; число точек входа (выхода); время выполнения ветви программы; время реакции и другие показатели).
Регистрационный метод основан на получении информации во время испытаний или функционирования ПС, когда регистрируются и под-считываются определенные события, например, время и число сбоев и отказов, время передачи управления другим модулям, время начала и окончания работы.
Органолептический метод основан на исполь-зовании информации, получаемой в результате анализа восприятия органов чувств (зрения, слуха), и применяется для определения таких показателей, как удобство применения, эффективность и т. п.
Расчетный метод основан на использовании теоретических и эмпирических зависимостей (на ранних этапах разработки), статистических данных, накапливаемых при испытаниях, эксплуатации и сопровождении ПС. При помощи расчетного метода определяются длительность и точность вычислений, время реакции, необходимые ресурсы.
Экспертный метод. Определение значений показателей качества ПС экспертным методом осуществляется группой компетентных экспертов-специалистов на базе их опыта и интуиции. Метод применяется в случаях, когда задача не может быть решена никаким другим способом или другие способы значительно более трудоемки. Рекомендован при определении показателей наглядности, полноты и доступности программной документации, легкости освоения, структурности.
Социологические методы основаны на обработке специальных анкет-вопросников.
Автором предлагается использовать для оценки интерфейса обученную нейронную сеть, которая смогла бы оценить такие параметры интерфейса, как наглядность элементов управления (распознаваемость), а также соответствие цветовой насыщенности и гаммы интерфейса. То есть это будет гибридный метод, сочетающий в себе черты практически всех методов, установленных ГОСТом.
С этой целью придется использовать несколько нейронных сетей. Две сети, отвечающие за цветовую насыщенность и гамму, будут давать эмоциональную оценку всему интерфейсу, а третья сеть будет определять скорость распознавания элементов.
Оценка эмоциональной составляющей. Необходимо создать нейронную сеть, которая в процессе обучения сможет выдавать оценку эмоциональному окрасу интерфейса. Очевидно, что оценка эмоциональной составляющей может быть получена только экспертом. Процесс обучения нейронной сети оценке эмоциональной составляющей человеко-машинного интерфейса очень похож на процесс обучения распознавания образов. Поэтому автор использовал однослойную нейронную сеть (персептрон) (рис. 1), которая применяется в подобных задачах.
Алгоритм обучения персентрона
Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрационные черно-белые карты. Каждая карта разбита на квадраты и от каждого квадрата на персептрон подается вход. Если в квадрате имеется линия, то от него подается единица, в противном случае — ноль. Множество квадратов на карте задает, таким образом, множество нулей и единиц, которое и подается на входы персентрона. Цель состоит в том, чтобы научить персептрон включать индикатор
при подаче на него множества входов, задающих нечетное число, и не включать в случае четного.
Такая персептронная конфигурация показана на рис. 2. Допустим, что вектор X — образ распознаваемой демонстрационной карты. Каждая компонента (квадрат) X— (х(, х2,х„) — умножается на соответствующую компоненту вектора весов (V— (и»,, и>2, ..., п>„). Эти произведения суммируются. Если сумма превышает порог 0, то выход нейрона Уравен единице (индикатор зажигается), в противном случае он — ноль. Эта операция компактно записывается в векторной форме как У=ХЖ, а после нее следует пороговая операция.
Для обучения сети образ X подается на вход и вычисляется выход У. Если Кправилен, то ничего не меняется. Однако если выход неправилен, то веса, присоединенные ко входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку.
Чтобы увидеть, как это осуществляется, допустим, что демонстрационная карта с цифрой три подана на вход, и выход Уравен единице (показывая нечетность). Так как это правильный ответ, то веса не изменяются. Если, однако, на вход подается карта с номером четыре и выход У равен единице (нечетный), то веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если карта с номером три дает нулевой выход, то веса, присоединенные к единичным входам, должны быть увеличены, чтобы скорректировать ошибку.
Рис. 1. Однослойная нейронная сеть (персептрон)
142
Г
Рис. 2. Персептронная система распознавания изображений
Этот метод обучения может быть подытожен следующим образом:
1. Подать входной образ и вычислить К
2. а) Если выход правильный, то перейти на шаг 1; б) если выход неправильный и равен нулю, то добавить все входы к соответствующим им весам; в) если выход неправильный и равен единице, то вычесть каждый вход из соответствующего ему веса.
3. Перейти на шаг 1.
За конечное число шагов сеть научится разделять карты на четные и нечетные при условии, что множество цифр линейно разделимо. Это значит, что для всех нечетных карт выход будет больше порога, а для всех четных — меньше. Отметим, что это обучение глобально, т. е. сеть обучается на всем множестве карт. Возникает вопрос о том, как это множество должно предъявляться, чтобы минимизировать время обучения. Должны ли элементы множества предъявляться последовательно друг за другом или карты следует выбирать случайно? Несложная теория служит здесь путеводителем.
Дельта-правило. Важное обобщение алгоритма обучения персептрона, называемое дельта-правилом, переносит этот метод на непрерывные входы и выходы. Чтобы понять, как оно было
получено, шаг 2 алгоритма обучения персептрона может быть сформулирован в обобщенной форме с помощью введения величины 8, которая равна разности между требуемым или целевым выходом Ти реальным выходом У: 8 = (7*— У). Случай, когда 8 = 0, соответствует шагу 2а, когда выход правилен и в сети ничего не изменяется. Шаг 26 соответствует случаю 8 > 0, а шаг 2в — случаю 8 < 0.
В любом из этих случаев персептронный алгоритм обучения сохраняется, если 8 умножается на величину каждого входах, и это произведение добавляется к соответствующему весу. С целью обобщения вводится коэффициент "скорости обучения" г), который умножается на 8х„ что позволяет управлять средней величиной изменения весов.
В алгебраической форме записи
Д, = л5х,-; и>(п+ 1) = Ил) + Д„
где А, — коррекция, связанная с /-м входом х(;
\ ) — значение веса /'после коррекции; и',(л) — значение веса / до коррекции.
Примере черно-белыми картами был приведен для наглядности, наделе же в качестве входных сигналов будут подаваться значения различных
цветовых моделей (RGB, HSL, HSB). А на выходе будет числовое значение эмоционального окраса изображения. Различные цветовые модели выбраны потому, что представление яркости в модели НБЕболыие соответствует визуальному восприятию человека, в то время как нашему восприятию насыщенности более точно соответствует насыщенность в модели HSB. А это приводит к тому, что необходимо использовать две сети со сходной структурой, однако входные и выходные сигналы будут рассчитываться для различных цветовых моделей.
Сеть, анализирующая качество распознавания объектов управления. Сеть, которая анализирует качество распознавания объектов управления оператором, по сути является реализацией интерфейса в виде нейронной сети. При созда-
нии интерфейса, где важна скорость распознавания объектов управления (в первую очередь, это программы управления технологическим процессом), известны последовательностьдей-ствий и временные рамки, и потому не составит труда сделать нейронную сеть, используя временные функции срабатывания. Последние показывали бы, на каком элементе управления произошла ошибка (т. е. время, затраченное на выполнение последовательности действий, превысило допустимое.). Для создания такой сети необходимо представить интерфейс и его работу в виде непрерывного автомата. Возможность имитировать работу непрерывного автомата при помощи нейронных сетей была рассмотрена в [2]. Общая структура такой сети представлена на рис. 3.
а)
In
Т-\
„ ST-1 Т-1
Out(ln.S) Inr 5'(in ,5)
Out(ln.S) ►
S'(ln.S)
6)
Out(ln.S)
S'(ln,S)
1пГ-1
ST-1 In7*-1 ST_ i In74 ST_ i Iny_i
ST-l
A •••
fp
t fP+\
t f>
p+s
Out7-_]
»
In J
---1
I
Sr
In/-In/-
/1
' fP
t fp+1
In T
t fp+s
ST
OuXj-
st+1
Рис. 3. Представление общего автомата с помощью модулей, вычисляющих функции многих переменных от входных сигналов: а — функционирование автомата; б - разложение его на отдельные модули In, Oui - входные и выходные сигналы; S- параметры состояния: Г-дискретное время: Oui (In, S}- зависимость выходных сигналов от значений входных и параметров состояния; 5'(ln, S) — зависимость состояния в следующий момент дискретного времени от входных сигналов и текущего состояния;/, -fpwfp+x —fp —функции переменных (In. S) компонент вектора соответственно Oui (In, 5) и 5'(In, S); Т, Г±1- индексы, соответствующие моментам времени
Сеть, предлагающая решения для изменения объектов управления. Данная сеть представляет собой однослойный персептрон с числом нейронов, равным числу способов изменения объектов управления интерфейса. На вход подается временная разность между эталонным временем выполнения задания на конкретном интерфейсе и реальным. Улучшение требуется, только если реально затраченное время больше эталонного. На выходе окажется вектор, который показывает преобразования, рекомендуемые для данного элемента. Для обучения сети будет использоваться метод обучения с подкреплением. В качестве среды, которая станет поощрять или наказывать, выступит нейронная сеть, имитирующая работу интерфейса. Таким образом,
сеть будет постоянно обучаться. Если добавится несколько способов изменения объектов управления, то структура сети также должна измениться. Сигнал улучшения будет подаваться, если предложенное решение успешно, и напротив, если решение привело к замедлению времени распознавания, веса соответствующих нейронов будут уменьшены. Данный метод похож на метод обучения с учителем с той лишь разницей, что в качестве учителя выступает среда (нейронная сеть).
В статье рассмотрен метод оценки человеко-машинного интерфейса при помощи нескольких нейронных сетей, который позволяет более объективно оценить качество интерфейса.
СПИСОК ЛИТЕРАТУРЫ
1. Нейрокомпьютерная техника: Теории и практика / Ф. Уоссерман. / Пер. на рус. яз. Ю.А. Зуева, В А. Точенова. 1992.
2. Нейроинформатика / А.Н. Горбань, В.Л. Ду-нин-Барковский, А.Н. Кирдин и др. Новосибирск: Наука; Сибирское предприятие РАН, 1998. 296 с.
3. ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению.
УДК 332.04:621
Д.Ю. Братин
ОСОБЕННОСТИ ЯЗЫКА FDL V. 1.0 ДЛЯ ОПИСАНИЯ ФРОНТЕНДА ВЕБ-ПРИЛОЖЕНИЙ
Веб-ресурс втечение своего жизненного цикла очень быстро видоизменяется и расширяется, а вместе с ним - и веб-приложение, обеспечивающее работоспособность ресурса. Также очень часто кроме программистов в работу включены верстальщики веб-страниц - специалисты по компоновке текстовых, графических и навигационных компонентов веб-страниц. Их работа заключается только в придании страницам ресурса нужного вида. Вследствие этого важнейшими задачами при разработке веб-приложения становится предоставление средств для отделения работы верстальщика от работы над программным кодом и обеспечение максимального повторного использования компонентов приложения при его расширении.
Проект FDI [1] представляет решение этих проблем путём разделения приложения на фрон-тенд и бэкенд. Бэкенд представляет собой фасад над реализацией бизнес-логики приложения и предоставляет доступ к его возможностям в виде команд, а фронтенд - интерпретатор для языка описания пользовательских интерфейсов, с которым работают верстальщики. В этой статье дано описание языка, используемого в FDI (FDL-Frontend Description Language).
FDL — это декларативный микроязык на базе XML. Он включает три подъязыка, предназначенных для описания составляющих частей фронтснда и интерфейса с бэксндом: язык описания карты разделов ресурса;