close

Вход

Забыли?

вход по аккаунту

?

Popov 0DBEC4D1E2

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное
учреждение высшего образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
В. П. Попов, Н. В. Соловьев
ЧЕЛОВЕКО-МАШИННЫЙ ИНТЕРФЕЙС
Учебно-методическое пособие
Санкт-Петербург
2016
УДК 004.5(075.8)
ББК 32.973я73
П58
Рецензенты:
кандидат технических наук, доцент В. И. Исаков;
доктор технических наук, профессор В. В. Михайлов
Утверждено
редакционно-издательским советом университета
в качестве учебно-методического пособия
Попов, В. П. П58 Человеко-машинный интерфейс: учеб.-метод. пособие /
В. П. Попов, Н. В. Соловьев. – СПб.: ГУАП, 2016. – 55 с.
Пособие посвящено проектированию пользовательского эргономичного интерфейса. Рассматриваются формы дружественности
человеко-машинного интерфейса, вопросы адаптации к уровню подготовки пользователя.
Предназначено для студентов направлений 09.03.01, 09.04.01
и смежных направлений, специализирующихся в области программного обеспечения вычислительных систем, и разработчиков
программных комплексов.
УДК 004.5(075.8)
ББК 32.973я73
© Попов В. П., Соловьев Н. В., 2016
© Санкт-Петербургский государственный
университет аэрокосмического
приборостроения, 2016
ВВЕДЕНИЕ
Интерфейс (сопряжение) – совокупность способов и методов одновременного взаимодействия двух информационных систем,
устройств или программ для обмена информацией между ними,
т. е. интерфейс – это «граница», на которой происходит взаимодействие различных объектов. В случае, если одна из взаимодействующих систем – компьютер, а другая – человек, то говорят о человеко-машинном или о пользовательском интерфейсе. Часть слова
интерфейс «inter» переводится как «между», а часть слова «face» –
как «лицо», отсюда следует дословное толкование этого термина –
«между лицами». Существует аналогичный русскоязычный термин «стык», но он используется достаточно редко. В нашем понимании интерфейс пользователя – это совокупность средств, при помощи которых пользователь взаимодействует с различными программными устройствами. Запуская программы Windows, Word,
Exсel, Point, калькулятор и др., пользователь работает с интерфейсами этих программ («интерфейс командной строки», директивы,
меню и др.). Понятие интерфейса распространяется и на системы,
не являющиеся вычислительными. Так, в бытовых устройствах
это посредник или проводник, который помогает управлять чемлибо. Например, панель управления микроволновой печью, дистанционный пульт управления телевизором, кондиционером, мобильные телефоны, mp-3-проигрыватель. Наиболее сложной задачей является создание человеко-машинного интерфейса для пилотов самолета.
3
1. ПОНЯТИЕ ИНТЕРФЕЙСА. ЭВОЛЮЦИЯ ИНТЕРФЕЙСА ЧЕЛОВЕК–МАШИНА
Человеко-машинное взаимодействие (HCI – Human-Computer Interaction) – это направление в компьютерной индустрии, которое
изучает, как люди используют компьютерные системы, располагая знаниями о компьютере и человеке, чтобы это взаимодействие
было дружественным, эффективным и удобным. Методы организации интерфейса за последние годы получили определенную логическую завершенность, и в то же время они остаются объектом интенсивных научных и инженерных разработок.
В настоящие время сложились два основных типа интерфейсов:
a) на основе меню («смотри и выбирай»);
б) на основе языка директив или команд («вспоминай и выбирай»).
Интерфейс первого типа (меню) облегчает до минимума взаимодействие пользователя с компьютером, так как снимает с пользователя необходимость заранее изучать конкретный язык общения
с вычислительной системой. Технология взаимодействия пользователя с компьютером строится в форме диалога, на каждом шаге
диалога пользователю предъявляется набор пунктов меню, из которого пользователь должен в данный момент выбрать нужный
пункт. Такой способ общения наиболее удобен для непрофессиональных пользователей (т. е. не имеющих вычислительных специальностей) и для начинающих пользователей.
Интерфейс второго типа (на основе языка команд) требует знания пользователями наименования команд и их синтаксиса. Достоинство этого типа интерфейса – в его мощности и гибкости, но он
удобен, когда пользователь освоил язык. Интерфейс второго типа
ориентирован на опытного профессионального пользователя (не новичка). Перечисленные два основных типа интерфейса – это крайние полюсы, между которыми существуют промежуточные варианты. И меню и командные языки в известной мере дополняют
друг друга, и по этой причине в интерфейсах многих современных
систем присутствуют одновременно оба этих средства и предоставляются они на выбор соответственно либо новичкам, либо опытным пользователям (например, Norton Commander). Проблематика создания интерфейса включает в себя проработку следующих
­вопросов:
1) cоставление текста сообщений, облегчающих и направляющих работу пользователя;
4
2) форматирование информации на экране;
3) адаптацию диалога к уровню подготовки пользователя;
4) аналитические методы создания и формального представления диалога;
5) перспективных аспектов построения интеллектуальных интерфейсов.
Эволюцией пользовательских интерфейсов движет постоянное
совершенствование программного обеспечения, подкрепленное надежной высокопроизводительной аппаратной частью операторских
панелей. Но все же, программная платформа остается ключевым
элементом пользовательского интерфейса. Разработка программного обеспечения для пользовательских интерфейсов – достаточно сложное и дорогостоящее занятие.
5
2. ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
Пользовательский интерфейс представляет собой набор относительно независимых программных компонент, каждая из которых
может быть реализована независимо. Результирующее приложение строится из объединения этих компонент. Некоторые компоненты могут быть использованы в качестве контейнеров для других компонент. Общая структура пользовательского интерфейса
может быть представлена в виде конечного автомата, если принять
следующие соответствия:
––А – множество состояний интерфейса;
––Z – множество входных сигналов (т. е. событий, возникающих
в компонентах интерфейса);
––Y – множество выходных сигналов (т. е. данных, выдаваемых
компонентами интерфейса);
––D – функция, позволяющая по текущему состоянию А и событию Z определить следующее состояние автомата:
D: A*Z → A;
––J – функция выходов:
J: A → Y.
Для представления структуры пользовательского интерфейса
может быть построен граф конечного автомата (рис. 1).
Любая вычислительная система (ВС) различной вычислительной мощности может оцениваться двумя критериями:
–– точностью,
–– удобством.
Критерий точности подразумевает, что при подаче на вход системы исходных значений на выходе будут получены соответствую-
a0
z2
z1
a1
a2
z5
Рис. 1
6
z3
a3
щие результаты с требуемой точностью. Традиционно системные
программисты обращали основное внимание и тратили существенные усилия на разработку, тестирование программного обеспечения (ПО), которые обеспечивали бы требуемую точность обработки.
Все промышленно освоенные программные комплексы, как правило, критерию требуемой точности удовлетворяют полностью. Гораздо меньше внимания уделялось концепции удобства работы с ВС.
Пользователь имеет полное право не только ожидать получения результатов обработки с требуемой точностью, но и ожидать удобства
в использовании ВС. Удобство означает, что при работе с ВС пользователь не должен существенно менять технологию или стиль работы. Человеко-машинный интерфейс включает в себя все те аспекты
ВС, с которыми непосредственно соприкасается пользователь. Например, форма и расположение терминала (рабочей станции), формат входных и выходных данных и др. Для пользователя иногда
эти вопросы могут быть более существенными, чем процесс преобразования исходных данных в конечный результат. Чтобы работа
с компьютером была удобной, пользователь должен ощущать комфорт от взаимодействия с ВС.
Факторы, обеспечивающие чувство комфорта:
а) физическая эргономика. Обеспечивается аппаратным обеспечением. Термин «эргономика» состоит из двух греческих слов ergon –
работа и nomos – закон, т. е. действующие закономерности в трудовом
процессе. Физическая эргономика влияет на физический комфорт;
б) психологическая эргономика. Обеспечивается качеством разработки ПО и влияет на умственный комфорт.
Основные эргономические характеристики:
1) конструктивные решения оборудования;
2) качество разработки диалога;
3) чувствительность диалога;
4) доступность диалога.
Конструктивные решения и компоновка оборудования влияют
на чувство физического комфорта пользователя. Например, легко
ли читаются символы на экране монитора, как расположена клавиатура (может ли пользователь нажать любую клавишу, не вытягиваясь неестественно при этом), шум при работе принтера и др.
Таким образом, физическая эргономика занимается определением
соответствия функций ВС физиологическим процессам человека
(удобство позы, утомляемость к концу рабочего дня и др.).
Психологическая эргономика определяет соответствие функций
ВС психологическим процессам человека (пользователя). Напри7
мер, пользователь, который не может различить символы на экране монитора, испытывает физический дискомфорт. И тот же самый
пользователь при высоком качестве изображения на мониторе может прочесть текст, но не может понять его смысл, ощущает психологический дискомфорт. Эта сторона работы ВС, получившая название «диалог» (Q&A – question and answer), полностью находится
в руках разработчика ПО. Цель создания эргономичного интерфейса состоит в том, чтобы:
а) отобразить информацию настолько эффективно, насколько
это возможно для человеческого восприятия;
б) структурировать отображение на экране монитора таким образом, чтобы привлечь внимание к наиболее важным информационным единицам. Чувствительность диалога – время реакции ВС
на запрос. Доступность диалога – возможность получить доступ
к системе в любое время, когда это нужно пользователю. Две последние характеристики связаны с психологической эргономикой.
Невозможность получить доступ к ВС или длительное ожидание
ответа на запрос – первое, что настораживает пользователя. Время
реакции ВС более 20 с наводит пользователя на мысль, что система
зависла и испортилась. Обеспечение приемлемого времени реакции
на запрос – один из дорогостоящих и технически важных аспектов
интерактивных систем. Если время ответа ВС составляет 20 с и более, то такую систему с трудном можно назвать интерактивной.
8
3. СТРАТЕГИЯ РАЗРАБОТКИ ИНТЕРФЕЙСА
Так как интерфейс объединяет такие аспекты ВС, которые касаются пользователя непосредственно (в первую очередь), то сложилась определенная стратегия проектирования интерфейса. Заключается она в следующем:
1) отделение проектирования интерфейса от самой вычислительной задачи, тогда состав и форма представления входных и выходных данных – это отдельный объект разработки, куда включаются процессы ввода/вывода, организация процесса диалога, форма сообщений, проверка входных данных, подсказки, подтверждение введенных директив;
2) применение базовых процессов ввода/вывода таких, как:
ввод/вывод текстовых сообщений, позиционирование и форматирование сообщений с соответствующей поддержкой типовыми
устройствами ввода/вывода;
3) желательно иметь библиотеку стандартных модулей для разработки программных интерфейсов, например, Delphi, Visual basic,
Visual C и др.;
4) включение в интерфейс средств поддержки пользователя (сообщений об ошибках, справочной информации, текстовой документации и др.) и размещение их на экране;
5) возможность разработки опытных образцов интерфейсов,
с которыми будет работать пользователь, и в соответствии с реакцией пользователя будут вноситься изменения, пока не будет создан приемлемый продукт. Единственный достоверный способ оценки интерфейса – посмотреть, как пользователь в обычных нормальных рабочих условиях реально взаимодействует с ВС;
6) предусмотреть средства адаптации в рамках интерфейса.
Потребности пользователя обычно меняются, и интерфейс должен быть настраиваемым на нужды разных пользователей или на
одного пользователя, но в разные периоды его работы. В этом плане
показательны компьютерные игры – они содержат много элементов
адаптации с использованием звука, цвета, графики, и по мере возрастания мастерства пользователя сложность игры меняется.
Если придерживаться изложенной стратегии разработки интерфейса, можно предложить несколько критериев для оценки качества интерфейса количественными показателями. Критерии оценки качества интерфейса следующие:
1) простота освоения и запоминания операций;
2) быстрота достижения целей пользователем;
9
3) субъективная удовлетворенность при эксплуатации ВС.
По первому критерию количественная оценка – это контрольное
время, необходимое определенному пользователю для достижения
заданного уровня знаний. Например, после трех дней самостоятельных занятий с системой пользователь, работающий с ней впервые, освоит весь набор команд. По второму критерию количественная оценка – время, необходимое для достижения пользователем
поставленных целей. Например, пользователь способен обработать
20 бланков за 1 ч с вероятностью ошибки менее 1 %.
Оценить количественно, напрямую, третий критерий трудно, но
можно оценить его косвенно, выразив удобство, например, через:
–– частоту обращений пользователя к дополнительным средствам ВС;
–– количество и тип ошибок пользователя.
Для конкретных ВС наиболее существенным может быть один
из этих критериев.
10
4. СОСТАВНЫЕ ЧАСТИ ИНТЕРФЕЙСА
Как отмечалось ранее, интерфейс в соответствии с действующей стратегией проектирования – это отдельный, самостоятельный компонент ВС. Насколько этот процесс вариабельный, можно
продемонстрировать на следующем примере. Рассмотрим несложную вычислительную задачу: найти среднее арифметическое группы чисел. Написать программу, реализующую эту задачу, сможет
любой программист. Наверное, он оформит ее в виде процедуры,
входные числовые данные в виде одномерного массива будут заданы в качестве формального параметра. Ввод числового материала
в этом массиве будет заканчиваться специальным символом-ограничителем. И тут уже появляется много возможностей: что (какой
символ) использовать в качестве ограничителя? Что произойдет, если пользователь при вводе входных числовых данных ошибся в выборе клавиши и нажмет нечисловую клавишу (обычно программа
прекращает работу)? Как пользователь физически введет числовые
данные? Скорее всего с клавиатуры, но и здесь возможны другие
варианты. На экран монитора может быть выведено изображение
клавиатуры (т. е. виртуальная клавиатура) и пользователь будет
в таком виде «нажимать клавиши» с помощью курсора и мыши.
Еще один возможный вариант ввода данных – продиктовать числа
в микрофон и через анализатор речи данные попадут в процессор,
аналогично и с выводом результата. Таким образом один и тот же
процесс может реализоваться через различные механизмы ввода/
вывода, т. е. каждые возможные сочетания механизмов ввода/вывода и соответствующие этим механизмам форматы данных дают
свой вид интерфейса. Определим понятие «процесс» – это последовательность операций (команд), выполняемых процессором. Понятие «задание» – это то, что хочет добиться (получить) пользователь.
Каждое задание может реализовываться одним или несколькими
процессами. Один и тот же процесс может использоваться несколькими заданиями. Реализация одного задания может потребовать
несколько процессов. Организацию процессов ввода/вывода конкретных устройств мы рассматривать не будем, так как эти вопросы
решаются на уровне создания драйверов периферийных устройств.
С точки зрения ПО интерфейс включает в себя две компоненты:
а) процесс ввода/вывода;
б) процесс диалога.
Процесс ввода/вывода служит для принятия от пользователя
или передачи ему данных через различные периферийные устрой11
ства. Этих устройств достаточно много и наблюдается их большое
разнообразие:
1) устройства вывода:
– мониторы (текстовые, графические, цветные и монохромные);
– принтеры (лазерные, струйные, матричные);
– графопостроители;
– синтезаторы речи;
– звукогенераторы (синтезаторы звука);
– интерактивная видеографика, стереоскопический шлем и очки
и т. д.;
2) устройства ввода:
– клавиатуры (текстовый ввод);
– планшеты (графический ввод);
– автоматические считывающие устройства (сканеры);
– речевой ввод, машинное зрение (в том числе жестовое управление);
– манипуляторы: мышь, джойстики, трекбол;
– сенсорные перчатки;
– сенсорные экраны и др.
С каждым из перечисленных устройств будет связан свой собственный процесс ввода/вывода, задачи которого преобразовать данные из внутреннего машинного представления (при выводе) или во
внутреннее представление (при вводе). В обоих случаях данные передаются в формате, неудобном для восприятия пользователем. Диалог
между пользователем и компьютером – обмен информацией между
ними – осуществляется по определенным правилам. Причем, сейчас
они такие, чтобы облегчать работу пользователя, а не компьютера.
Диалог между участниками состоит из сообщений. В ВС используется два типа сообщений:
1) сообщения при вводе:
а) команды (директивы, управляющие сообщения);
б) входные данные;
2) сообщения при выводе:
а) сообщения об ошибках;
б) выходные данные;
в) сообщения о состоянии системы;
г) справка;
д) подсказка;
е) подтверждения.
Сообщения необходимы для:
– направления пользователя в нужную сторону;
12
– предупреждений и подсказок;
– выполнения пользователем необходимых действий на пути решения задачи, когда система вынуждает пользователя принять некоторые решения перед продолжением работы.
Сообщения включают также:
– подтверждения действий со стороны пользователя;
– подтверждения со стороны системы, что задачи были выполнены успешно или по каким-то причинам не выполнены.
Сообщения могут быть выполнены в форме экранных заставок, помещены в модальные диалоговые окна (которые вынуждают
пользователя ответить на вопрос перед продолжением действий).
Сообщения могут пользователю предложить:
а) выбрать из предлагаемых альтернатив некоторую опцию (или
набор опций);
б) ввести некоторую информацию;
в) подтвердить фрагмент введенной информации перед продолжением ввода.
Обычно для диалогового процесса необходимо проверять данные, введенные пользователем, на наличие ошибок. Как правило,
характер проверки ориентирован на формат входных данных и объем проверок ограничен. Результатами проверки может быть сообщение об ошибке, в частности ответ процессора, что дальнейшее
выполнение процесса невозможно. Сообщения при выводе данных
обеспечивают вывод данных в подходящем для пользователя формате. Сообщения о состоянии системы – сообщения пользователю
о том, что произошло или происходит в системе. Информация о состоянии обычно отображается внизу экрана и содержит в себе такие данные как, например, о числе обработанных единиц, процессе
печати, очереди печати и т. д. Если пользователь не может ответить
на запрос системы, то диалоговый процесс может вывести справочную информацию, поясняющую, что делать дальше и почему. Подсказка – это один из способов подтвердить готовность принять сообщение от другого участника диалога. Существует несколько форматов подсказок в интерфейсе. Наиболее сложный формат подсказ
ки – меню, когда вместе с запросом на ввод выводятся допустимые
форматы ввода. Вывод меню в виде текста – не единственный вариант подсказки. Подсказку можно выводить в виде графических
изображений (пиктограмм) возможностей системы, каждое из которых выбирается специальным указателем. Подсказка в формате
меню применима в тех случаях, когда диапазон правильных входных данных небольшой и может быть явно выведен на экран мони13
Номер счета [
]
Код поставщика [
]
Всего на счету [
Номер НДС [
Дата [
]
]
]
Рис. 2
тора. Такой формат подсказки удобен для оказания помощи неподготовленному пользователю. Еще один вариант подсказки реализуется как указание на требуемый формат вводимого сообщения.
Если вводится несколько разнотипных данных, то удобно указание
на формат реализовать с помощью формы, заполняемой пользователем (рис. 2).
По способу ведения диалога диалоговые системы (процессы)
классифицируются на:
а) диалоги, управляемые системой:
– меню;
– готовая форма;
– вопрос и ответ;
б) диалоги, управляемые пользователем:
– на базе команд (директив), т. е. через систему запросов на ввод.
Естественно, что характер информации, участвующей в диалоге
(графическая, символьная, речевая и др.), определяет в последующем и вид ПО. Подтверждение введенной директивы следует применять в тех случаях, когда выполнение этой директивы приводит
к необратимым последствиям (например, удаление файлов, выход
из системы с потерей всех данных и т. п.).
14
5. ПРОЕКТИРОВАНИЕ СООБЩЕНИЙ
Вывод текстового сообщения в диалоге предполагает описание
следующей структуры:
а) что должно быть выведено (т. е. смысловое содержание сообщения);
б) где текст должен быть помещен (т. е. позиция на устройстве
вывода);
в) как текст должен быть выведен (т. е. задается список атрибутов, определяющих формат вывода данных, – цвет текста, цвет фона, вид шрифта, мерцание и т. п.).
Например, на Turbopascal выводимое текстовое сообщение удобно определять как запись (Record) со следующей структурой:
Type Output_Message=Record
Content: String; {Что}
Slot: Slot_Type; {Где}
Attributes: Attributtes_Type {Как}
End;
Тип первого поля с именем Content задает текст сообщения,
а остальные два поля позиционируют текст и определяют его вид
(формат). В общем случае текст выходного сообщения отображается в прямоугольной области («окне»). Эта область имеет ширину в W символов и высоту в H символов. В рассматриваемом нами
примере область вывода («окно») именована полем Slot, которое может быть одним из трех следующих видов (рис. 3).
Поле вывода (Slot) удобно описывать структурой данных типа
Record.
H > 1; W > 1
H>1
Поле,
окно
(слот)
H = 1; W > 1
H=1
Поле, окно
(слот)
H = 1; W = 1
H=1
Поле,
окно
(слот)
W>1
W>1
W=1
а)
б)
в)
Рис. 3
15
Type Slot_Type=Record
Row,Col: Byte; {Начальная позиция
верхнего левого угла окна}
Width,Heigh: Byte {Размер окна}
End;
Здесь Width – ширина окна; Heigh – высота окна; Row – строка;
Col – колонка (столбец). Таким образом, общая схема вывода сообщения в заданное поле следующая:
– перевод курсора в начало «окна» (обычно это координаты верхнего левого угла), задаваемого координатами Row, Col;
– использование стандартных операторов языка для вывода
­сообщения в заданную позицию.
16
6. СПОСОБЫ ВЫДЕЛЕНИЯ СИМВОЛОВ
Большинство терминалов, в том числе и монитор, располагают
значительно большими возможностями для отображения, чем просто выводить символы в произвольную точку экрана. Такими возможностями являются:
– цвет (либо самого символа, либо фона);
– мерцание – это способ наиболее часто используется для выделения позиции курсора;
– повышенная яркость – обеспечивается различными уровнями
контрастности объектов фона и символа.
Есть и другие возможности выделения символа (или символов
в строке).
Реализация перечисленных способов выделения символов производится через задание видеоатрибутов. Они представляются следующей структурой:
Type Attributes_Type=Record
Foreground: Colours; {передний план}
Background: Сolours; {фон, задний план}
Blink: Offon; {мерцание}
Bold: Offon; {яркость}
Font: Textstyle {шрифт}
End;
где Colours=(Black,Blue,Green,Red,Yellow,Braun);
Offon=(Off,On);
Textstile=(Roman,Arial,....).
Как устройство вывода определяет, какое из возможных средств
выделения должно быть задействовано в тот момент, когда надо отобразить определенный символ? Содержимое экрана (кадра)
хранится в специальной памяти. Для каждой позиции на экране
(в символьном режиме монитора) выделяется соответствующая область памяти, которая задает, что должно быть отображено на этой
позиции и в каком формате. Эту область памяти на содержимое
всего экрана (кадра) условно назовем видеокартой. У мониторов
с посимвольным отображением наименьшая адресуемая позиция
на экране – единичный символ. Символьная видеокарта имеет следующую структуру: на каждую позицию символа на экране отво17
7 бит
Мерцание
(blink)
6 бит
5 бит
4 бит
Цвет фона
(background)
3 бит
2 бит
Повышенная
яркость
(bold)
1 бит
0 бит
Цвет символа
(foreground)
Рис. 4
дится два байта памяти. Первый байт – байт атрибутов, он задает
формат выводимого символа (рис. 4).
Второй байт – байт содержимого, т. е. задает сам символ.
На цвет фона, так же как и на цвет символа, выделено по три
бита, что соответствует трем основным цветам – красному, синему,
зеленому (аналогично цветному телевизионному изображению).
Из них путем комбинирования формируются все остальные цвета, от черного – все три бита в «0» до белого – все три бита в «1».
Для приведенной структуры видеокарты, для хранения видеокарты одного экрана стандартного монитора (с 80 позициями в строке
и 25 строками) потребуется область памяти
80 симв. * 25 строк * 2 байта = 4000 байт ~ 4 Кбайта.
Если видеокарта мала по объему памяти, то и малы ее возможности. Обладая достаточно большой видеокартой, система может
хранить и обрабатывать одновременно копии нескольких физических экранов, т. е. поддерживать один большой виртуальный
экран, но только часть которого выводится на физический экран
в текущий момент. Такая технология используется для построения
многооконного интерфейса.
18
7. ВВОД ТЕКСТОВОГО СООБЩЕНИЯ
Стандартный ввод текста реализуется с клавиатуры, это основное устройство ввода данных при интерактивной работе. Применяется она для ввода малых и средних объемов символьных данных. Для ввода значительных объемов данных из унифицированных документов применяются оптические читающие устройства.
Другим стандартным устройством, используемым вместо клавиатуры, является считыватель кодов с кредитных карточек и устройство считывания штриховых кодов (используется, например,
на автоматических кассах для определения марки и стоимости
­товара при продаже его в розницу). В двух последних случаях
пользователь избавлен от ввода данных и малозначащих для него последовательности цифр, идентифицирующих или покупателя, или код товара. В отдельных диалоговых системах, где полный
набор клавиатуры не нужен, применяются специализированные
варианты клавиатур (например, вариант в виде сокращенного цифрового блока на кассах).
19
8. СТРУКТУРА ДИАЛОГА ТИПА ВОПРОС-ОТВЕТ
По способу ведения диалога диалоговые системы делятся на:
1) диалоги, управляемые вычислительной системой:
– меню;
– готовая форма;
– вопрос-ответ;
2) диалоги, управляемые пользователем.
Диалог считается удовлетворительным, если он удовлетворяет
следующим критериям:
1) естественность;
2) последовательность;
3) краткость;
4) поддержка пользователя;
5) гибкость.
Естественным («интуитивным») считается диалог, не вынуждающий пользователя менять традиционные способы работы. Как
минимум это подразумевает, что:
а) диалог должен вестись на родном языке пользователя и не вызвать у пользователя сложностей в поиске необходимых директив
(элементов интерфейса);
б) стиль ведения диалога должен быть разговорным (не письменным);
в) краткость – например, вариант подсказки в виде «вариант»
более удобный и информативный, чем вежливая фраза: «Введите,
пожалуйста, нужный вариант»;
г) фразы диалога не должны требовать, по возможности, дополнительных пояснений. Например, слова «печать», «копировать»,
«конец» имеют очевидное значение, в то время как MV в Unix означает переименование, что не очевидно. Жаргонные слова в диалоге
в принципе допустимы, ибо они дают возможность почувствовать
диалог по смыслу, но при условии, что этот жаргон (сленг) применим в среде пользователей, а не только в среде узких специалистов,
работающих в вычислительной области;
д) порядок запросов диалоговой системой должен быть приближен к порядку, в котором пользователь обычно обрабатывает
данные.
Иногда, при вводе пользователю приходится обращаться к типовому служебному документу для ввода данных из соответствующих полей этого документа. Но если выбор этих полей в интерфейсе задан программистом совершенно бессистемно, т. е. случайным
20
образом, то очевидно, что он не придавал значение порядку ввода
данных и это приводит к ошибке проектанта;
е) не следует заставлять пользователя вручную обрабатывать
данные перед вводом в систему (равно как и после вывода их из системы). Подобная дополнительная работа пользователя при вводе/
выводе очевидна, если он в процессе работы за терминалом будет
пользоваться карандашом и бумагой. Неестественный диалог является следствием того, что разработчик интерфейса слабо знаком
с теми способами, которыми пользователь обычно решает свою задачу без поддержки вычислительной системой.
Последовательность (непротиворечивость) подразумевает:
а) логическую последовательность системы, т. е. ключевые слова, вводимые в диалоге (или символы) всегда трактуются одинаково. Например, завершение работы с системой (например, текстовым редактором) реализуется нажатием клавиш «Q». Но если она
в одном месте диалога означает «прекращение и выход из текстового редактора сохранением внесенных изменений», а в другом месте диалога «прекращение и выход из текстового редактора без сохранения изменений» – это логически противоречиво и нарушение
логичности. Другой пример, если пользователь при ответе на запрос системы хочет (и может) получить помощь от системы, нажав
на функциональную клавишу F1 (help), то в идеале F1 не должна
иметь других функций, кроме функций вызова справочной информации или помощи от системы;
б) последовательность в использовании формата, т. е. для аналогичных данных в системе будут предоставляться аналогичные поля (т. е. одного и того же формата). Например, поле «дата» должно
иметь формат: число/месяц/год всегда и везде в системе. В общем
случае это свойство диалога подразумевает, что если в процессе работы с системой пользователем были использованы некоторые приемы
работы с некоторой частью системы, то в другой части системы приемы работы должны быть идентичны. Кроме этого, работа с системой через интерфейс должна соответствовать установленным, привычным нормам (например, использование клавиш Enter или F1).
Краткость (неизбыточность) – краткий диалог требует от пользователя ввода минимальной информации, необходимой для работы с системой. Достоинства краткого диалога:
– он осуществляется с меньшим числом ошибок;
– взаимодействие с системой более быстрое.
Полезным способом сокращения ввода данных является ввод
значений по умолчанию.
21
Поддержка пользователя – это мера помощи, которую диалог
оказывает пользователю при его работе с системой. Формы поддержки:
– инструкции (их количество и качество) для пользователя;
– сообщения об ошибках;
– подтверждение отдельных действий (как системы, так и пользователя).
Инструкции выводятся в виде подсказок или справочной информации. Количество инструкций должно соответствовать опыту
работы пользователя (нет смысла расточительно выдавать инструкции, которые пользователю не требуются).
Сообщения об ошибках должны точно объяснять, в чем заключается ошибка и какие действия следует предпринять, чтобы ее
устранить. Например, общая фраза типа «синтаксическая ошибка» – не лучший вариант сообщения об ошибке.
Подтверждать ввод данных следует для того, чтобы пользователь
мог еще раз убедиться в том, что система уже выполнила или будет
выполнять требуемое действие. Подтверждать ввод данных следует тогда, когда эти данные приводят к действиям с необратимыми
последствиями (например, «удаление файла»). Так же может оказаться желательным подтверждение того, что некоторое действие
выполнено (например, «добавлена запись в файл», «компиляция
удовлетворительна»). Хотя подтверждения полезны и cущественны,
использовать их следует разумно и не очень часто, так как постоянная необходимость подтверждения запросов (например, правильность введенных данных) раздражает. Диалог, слабый с точки зрения поддержки пользователя, получается тогда, когда:
– разработчик не изучил потребность пользователя в поддержке;
– поддержка может не отражать всего многообразия требований
пользователя.
Гибкость диалога – это мера того, насколько он соответствует различным уровням подготовки (и производительности труда)
пользователя. Гибкость предполагает, что диалог может подстраивать (точнее, перестраивать) свою структуру. Адаптация диалога –
это скорее область искусственного интеллекта.
Рассмотренная структура диалога вопрос-ответ получила название Q&A (от слов question и answer) – наиболее известна и первоначально именно ее и называли диалоговым режимом. В каждой точке диалога система выводит только один вопрос, на который пользователь должен дать только один ответ. В зависимости от ответа
система определяет, какой следующий вопрос задавать.
22
Рекомендации для конструирования диалога:
– длина сообщения ограничивается примерно 40 символами;
– выводить их следует в левую часть экрана, занимая не более
2/3 от ширины экрана;
– вопрос системы по своему формату должен резко отличаться
от ответа пользователя. Это достигается сменой шрифтов, цветов,
введением знаков препинания;
– рекомендуется обеспечить ввод значений по умолчанию во все
поля, которые это допускают. Можно назначить отдельные клавиши или короткие коды для ввода часто повторяющихся значений;
– входные данные должны быть значимыми и общепринятыми. Иногда либо данные, либо коды допускается вводить на языке международного общения, если они будут проще для узнавания
и понимания;
– не объединять поля для ввода чисел и символов, поскольку
числовые и алфавитные клавиши находятся неудобно относительно друг друга;
– исключить частое переключение между верхним и нижним
регистрами;
– цвет – сильный визуальный инструмент, но использовать его
надо осмотрительно для:
а) группировки информации;
б) выделения различий;
в) выделения ошибки;
– текст на нижнем регистре читается приблизительно на 13 %
легче и быстрее, чем на верхнем.
Степень поддержки пользователя не увеличивается, если вопрос
многословен (или избыточно вежлив: мы очень скоро устаем, если
каждый вопрос будет начинаться со слова «Пожалуйста»);
– символы верхнего регистра наиболее эффективны для той информации, к которой необходимо привлечь внимание;
– выровненный по правому полю текст читать труднее, чем распределенный равномерно с невыровненным правым полем;
– оптимальный интервал между строками либо равен, либо немного больше, чем высота символов.
Вводимая строка в диалоге может сопровождаться или не сопровождаться режимом «эхо-печати». Если вводимая строка сопровождается таким режимом, то есть возможность у пользователя редактировать строку перед вводом.
23
9. СТРУКТУРА ДИАЛОГА ТИПА МЕНЮ
Термин «меню» происходит от аналогичного термина при общении официанта и посетителя ресторана. Меню – это набор опций, отображаемых на экране, когда пользователь может выбирать
и выполнять действия, тем самым производя изменения в состоянии интерфейса. Сущность структуры меню в том, что у пользователя есть список возможных вариантов данных для ввода, из которого нужно выбрать то, что требуется. Достоинство меню в том, что
пользователи не должны помнить название элемента или действия,
которые они хотят выполнить, – они должны только выбрать (распознать) его среди пунктов меню. В идеале экранное меню должно
содержать не более 5–6 пунктов. Списки из более чем 10 пунктов
нежелательны. При большом числе пунктов их следует сгруппировать в иерархию небольших меню.
Есть четыре варианта организации меню:
1) алфавитный;
2) категорийный;
3) в соответствии с принятыми соглашениями;
4) в соответствии с частотой пользования.
Пользователь не должен пояснять название элемента или действия, которые он хочет выполнить. Поэтому меню может использовать даже неопытный пользователь, однако, проект меню должен
быть тщательно продуман, чтобы меню было эффективным, а названия пунктов меню должны быть понятными и очевидными. Выбор пунктов меню может быть обеспечен с помощью:
– клавиатуры;
– мыши;
– через другие объекты пользовательского интерфейса (например, использовать легко запоминаемые сочетания клавиш для быстрого доступа к пунктам меню).
Существует несколько вариантов форматов представления меню
на экране:
а) список объектов;
б) в виде блока объектов;
в) в виде строки объектов;
г) в виде пиктограмм.
Список объектов (данных) подразумевает, что объект выбирается указанием цифровых кодов (рис. 5). Например, выбор вида страхования из списка выбирается, указывая номер пункта.
24
Виды страхования
1. Автомобиль
3. Имущество
5. Строения
2. Мебель
4. Жизнь
6. Животные
Ваш выбор?
Рис. 5
Виды страхования
АВТ – Автомобиль
ИМЩ – Имущество
СТР – Строения
МБЛ – Мебель
ЖЗН – Жизнь
Ж – Животные
Ваш выбор?
Рис. 6
Виды страхования
Автомобиль
Жизнь
Мебель
Строения
Имущество
Животные
Ваш выбор?
Рис. 7
Виды страхования
Автомобиль
Мебель
Имущество
Жизнь
Строения
Животные
Ваш выбор?
Рис. 8
Список объектов (данных) может подразумевать, что выбор данных из списка осуществляется указанием мнемонических кодов
(рис. 6).
Меню в виде блока данных (рис. 7) представляется без кодов,
это традиционный формат. Другие форматы стали популярны с появлением «оконной» техники вывода данных. Меню в виде строки
данных (рис. 8) появляется либо вверху, либо внизу экрана и, как
правило, строка меню остается на этой позиции на протяжении все25
го диалога. Тем самым возможные варианты вводимых данных из
меню отображаются и доступны в любое время работы в диалоге,
т. е. здесь аналогия с естественным режимом пользования меню.
Если вы ошиблись в выборе блюда, официант не отбирает у вас
меню, чтобы через какое-то время вручать его вам обратно. Меню
в виде пиктограмм предполагает, что множество объектов распределены по всему экрану и содержат графическое представление вариантов выбора.
В диалоге, при вводе количество нажатий клавиш стараются уменьшить, так как при нажатии многих клавиш вероятность
возникновения ошибок при наборе возрастает. С этой целью дается возможность пользователю применять аббревиатурные или условно кодированные идентификаторы каждого пункта меню. Таким условно кодированным идентификатором часто является первая буква пункта меню. Однако, сокращая до одного символа, есть
опасность потерять естественность обозначений, поэтому иногда
выделяют либо первый, либо второй символ (рис. 9).
Run
rEname
Рис. 9
Мнемонические обозначения (см. рис. 6) полезны там, где простое сокращение слов пунктов меню для понимания становится затруднительно, а мнемоника легко ассоциируется с соответствующим пунктом меню.
Числовые коды (см. рис. 5) – популярный способ выбора вариантов в диалоговом меню, но их есть смысл использовать, когда
нет других, более доступных обозначений, так как числовые коды
все-таки хуже для запоминания, поскольку нет естественной связи
­самого пункта меню и его цифрового обозначения.
26
10. ОТОБРАЖЕНИЕ МЕНЮ
Отображение меню – это вывод текстового сообщения на экран.
Текстовое сообщение (интерфейс) состоит из конечного множества
полей, в каждом из которых располагаются объекты меню. Обычно
в состав полей включают:
– заголовок меню (объект необязательный, т. е. может быть пустым элементом множества полей). Он определяет одним именем
область вывода на экран, множество атрибутов, поясняет форму
и содержимое изображения;
– основной текст меню (т. е. список объектов выбора). Каждый
объект (т. е. пункт меню) может дополняться дополнительным текстом, описывающим свойства данного пункта. Объекты выбора
и дополнительный текст структурируются как это мы уже рассматривали ранее;
– заключительный текст (объект необязательный).
Размещение полей меню по экрану приведено на рис. 10–12.
При применении пиктограмм поле для заголовка обычно пусто,
и пользователь может перемещать объекты по своему усмотрению,
поэтому поля пиктограмм между собой не связываются. Этот тип
интерфейса пользователя подготовлен для работы с манипулятором
Меню в виде блока данных
Заголовок меню (может быть пустым)
Объект (1) Дополнительный текст (1) (может быть пустым)
…
Объект (n) Дополнительный текст (n) (может быть пустым)
Заключительный текст (может быть пустым)
Рис. 10
Меню в виде строки данных
…
Объект (n)
Объект (1)
Рис. 11
Меню в виде пиктограмм
Объект (1)
…
Объект (n)
Рис. 12
27
мышь. Во всех приведенных вариантах отображения меню присутствует точный список вариантов ответа, что удобно для неподготовленного пользователя. Во всех представленных форматах процесс
размещения данных на экране включает следующие этапы:
а) решить, какая информация (т. е. какие поля) должны появляться на экране;
б) определить основной формат этой информации;
в) решить, где она должна появляться на экране, т. е. определить область вывода для каждого поля;
г) решить, какие средства требуются для выделения полей, т. е.
атрибуты каждого поля;
д) разработать проект размещения данных на экране;
е) оценить эффективность этого размещения.
Этот процесс может быть повторен многократно, до тех пор, пока
и пользователь, и разработчик интерфейса не будут удовлетворены
вариантом разработки. Существует ряд правил для задания форматов сообщений и промежутков между ними. Плотность расположения данных на экране – понятие субъективное, зависящее от пользователя и от решаемой задачи, но и здесь существуют рекомендации:
– с помощью интервалов оставлять пустую строку после каждой
пятой строки в таблице;
– оставлять между столбцами таблицы 4–5 пробелов;
– каждое из полей может иметь свой заголовок над полем
(рис. 13); – на одном экране следует располагать все данные, необходимые
для принятия конкретного решения;
– логически связанные данные должны представляться на экране отдельной группой. Этого можно достичь:
а) оставляя несколько пробелов с обеих сторон группы (см. рис. 13);
б) проводя вертикальные или горизонтальные линии (см. рис. 13);
в) использовать свои собственные атрибуты для полей каждой
группы. Обычно и содержимое и наименование полей одной группы выравниваются по вертикали;
Номер детали
Описание
Количество
ВАЗ 2108 654321
ВАЗ 2115 543210
ВАЗ 2110 432101
…
Вал
Шестерня
Маховик
…
750
320
70
…
Рис. 13
28
1
2
3
Заголовок и данные о состоянии программы
Верхняя область для вывода сообщений
Основная область
…
4
Нижняя область для вывода сообщений
…
5
Описание функциональных клавиш и их функций
…
Рис. 14
– меню с небольшим объемом информации обычно смещено
в левую верхнюю часть экрана;
– расположение материала на экране желательно иметь естественное: начинать в левом верхнем углу и перемещаться по тексту слева направо и сверху вниз (т. е. так, как перемещается взгляд
пользователя при изучении любого текста);
– один и тот же тип информации должен всегда появляться в одном и том же месте экрана (например, текущая дата, время суток,
указатель регистра и т. п.). Расположение данных в пределах одной работающей программы обычно производят по единому шаблону (рис. 14). Область 1 это две или три строки на экране. Заголовок
часто описывает наименование пакета программ (или конкретную
программу из этого пакета), который должен далее выводить данные на экран. Заголовки показывают, где пользователь в рамках
системы находится. В эту же область может выводиться подтверждение о том, что система работоспособна.
Области 2 и 4 предназначены для вывода панели инструментов,
подсказок пользователю или индикации исключительных состояний.
Подсказки, указывающие на способы работы с информацией на экране, располагаются в области 2, а подсказки, поясняющие, что делать
дальше, – в нижней области 4. Сообщения, требующие подтверждение пользователя (например, о правильности ввода данных), лучше
располагать в области 4. Область 3 содержит главную информацию.
Если это меню, то это список вариантов, если это готовая экранная
форма – то это наименование и значения содержимого полей. Область
5 –это одна или две строки экрана, иногда здесь располагаются и описываются средства прерывания процесса обработки. В структурах
типа меню сообщения об ошибках, как правило, не нужны, так как
наиболее вероятная причина ошибок – промах при работе с мышью.
29
11. СРЕДСТВА ВЫДЕЛЕНИЯ ИНФОРМАЦИИ НА ЭКРАНЕ МОНИТОРА
Средства выделения позволяют привлечь внимание пользователя к некоторой области экрана. Внимание пользователя может
быть привлечено к ограниченному числу областей, поэтому выделение большого числа областей перегружает интерфейс и не помогает пользователю. Существует несколько способов выделения:
– мерцание (фона или текста) – сильное и эффективное средство
привлечения внимания, так как глаз имеет специальный детектор
для движущихся элементов, но в то же время это и сильный отвлекающий фактор. Поэтому лучше ограничить мерцание только одной позиции (символа), мерцание всего сообщения затрудняет его
восприятие и понимание;
– цвет – второй по значимости фактор привлечения внимания.
Важно учитывать, что именно люди связывают с разными цветами: например, красный цвет – цвет опасности (запрета) и т. п. Поэтому цвета, используемые в системе, должны этим представлениям соответствовать. Эффективно использование цвета для:
а) группировки информации;
б) выделения различий между информацией;
в) выделения простых сообщений (об ошибках, о состоянии системы и т. п.).
Сложились следующие рекомендации по использованию цвета
при проектировании эргономичного интерфейса:
а) необходимо ограничить числа цветов на экране до четырех.
Для неактивных элементов нужно использовать бледные цвета;
б) если цвет используется для кодировки информации, необходимо удостовериться, что пользователь правильно понимает код,
например, просроченные счета выделяются красным цветом, а непросроченные – зеленым;
в) необходимо использование цвета согласно представлениям
пользователя, например, для картографа зеленый – это лес, желтый – это пустыня, синий – это вода. Для химика, красный – горячий, синий – холодный.
Важно отметить, что около 9 % людей не различают цвета
(обычно красно-зеленые сочетания). Однако эти люди могут отличать черно-белые оттенки, поэтому проектировщики автоматизированных систем должны проверять, не нарушает ли восприятие
пользователей этой категории использование различных цветов
в интерфейсах программных продуктов.
30
Выбирая размер символов (текста), учитывают, что:
а) текст в нижнем регистре читается приблизительно на 13 %
быстрее, чем текст, который напечатан полностью на верхнем регистре;
б) символы верхнего регистра наиболее эффективны для информации, которая должна привлечь внимание. НЕ ИСПОЛЬЗУЙТЕ
ВЕРХНИЙ РЕГИСТР, ЕСЛИ ВЫ НЕ ХОТИТЕ ВЫДЕЛЯТЬ КАКУЮЛИБО ИНФОРМАЦИЮ;
в) выровненный по правому краю текст труднее читать, чем равномерно распределенный текст с невыравненным правым полем;
г) оптимальный интервал между строками равен или немного
больше, чем высота символов;
д) для увеличения выделенного объекта применяют увеличение
в 1,5 раза;
е) оттенение (различная текстура объектов). Эффективный способ для привлечения внимания к какой-либо области экрана;
ж) подчеркивания, рамки – достаточно сильный метод привлечения внимания пользователя.
Наконец, для привлечения внимания пользователя можно использовать звук. Это очень резкое средство привлечения внимания.
Когда пользователь находится в дисплейном зале с большим числом терминалов, подающих звуковые запросы на ввод/вывод данных, то эффект может быть обратным (пример, игровой зал с бесконечными взрывами, выстрелами, сиренами). Звук нужен там, где
действительно важно привлечь внимание пользователя (например,
когда он не смотрит постоянно на экран и визуальными средствами его внимание не привлечь). Как правило, надо предусмотреть
средства выключения звука в системе. Самый надежный способ
оценить предлагаемый формат экрана – это дать возможность потенциальному пользователю поработать с системой, т. е. испытать
ее. Размещение данных на экране – процесс итерактивный и может быть придется попробовать большое количество вариантов
расположения, прежде чем будет выбран приемлемый вариант.
Но, если для каждого варианта размещения данных на экране создавать отдельно свою программу, то этот перебор вариантов займет
очень много времени. Поэтому нужна система автоматизированного размещения данных на экране. Существует ряд программных
пакетов, поддерживающих средства автоматизации размещения
данных на экране (Delphi, Oracle, Java, др.).
31
12. ПРЕДОТВРАЩЕНИЕ, ОБНАРУЖЕНИЕ И ИСПРАВЛЕНИЕ ОШИБОК
Каким бы не был опытным пользователь, вероятность ошибки
при вводе данных сохраняется всегда. Для уменьшения этой вероятности:
1) необходимо обеспечить ввод значений по умолчанию во все
поля, которые это допускают. Можно назначить клавиши или коды
для ввода часто повторяющихся значений;
2) входные данные должны быть общепринятыми. Иногда данные или коды на международном английском языке будут проще
для узнавания и понимания, чем произвольные коды;
3) не следует объединять поля ввода чисел и символов, поскольку числовые и алфавитные клавиши находятся неудобно друг относительно друга на клавиатуре;
4) необходимо исключить частое переключение между верхним
и нижним регистрами (для ускорения ввода данных);
5) не требовать от пользователя ввода незначимых цифр (например, вместо 0000010 пользователь должен вводить только 10).
Ошибки могут быть классифицированы как:
1) ошибки, которые основаны на неправильном понимании действия или порядка действий;
2) ошибки, которые возникали случайно, непреднамеренно, например, опечатки при вводе текста.
Ошибки второго вида могут быть разделены еще на четыре вида:
– ошибки (неточности) выбора опции (например, пользователь
случайно нажал кнопку «Выход» и программа закрылась);
– ошибки управления данными (например, присвоение ошибочного имени файлу);
– ошибка потери активности, когда пользователь забывает необходимую последовательность действий для продолжения работы;
– ошибка режима или состояния, когда пользователь думает,
что он находится в одном состоянии, но – фактически в другом
­(например, режим вставки взамен режима печати поверх текста
в текстовом редакторе).
Пользователь всегда будет делать ошибки, даже в отличной программной системе, поэтому в разрабатываемой диалоговой системе
всегда должна быть предусмотрена защита от ошибок. Техника защиты от ошибок включает в себя следующие аспекты:
32
– принудительные действия в системе, которые предотвращают
или затрудняют появление ошибок;
– обеспечение хороших и информативных сообщений об ошибках;
– использование обратимых действий, которые позволяют пользователям исправлять их собственные ошибки;
– обеспечение нормальной диагностики системы, в процессе которой пользователю объясняется, в чем суть ошибки и пути ее исправления.
Основные принципы обработок ошибок при вводе:
а) обеспечить возможность посимвольного редактирования введенных записей для исправления ошибок ввода (опечаток);
б) если ошибка была обнаружена системой, желательно вернуть
курсор в поле с ошибочными данными и каким-либо образом выделить это поле визуально;
в) обеспечить значимые сообщения об ошибках, использующие
стиль языка пользователя и соответствующую терминологию;
г) обеспечить сообщения об ошибках, которые объясняют и предлагают пути ее устранения.
33
13. ВРЕМЯ ОТВЕТА В ДИАЛОГОВОЙ СИСТЕМЕ
Это интервал времени между событием в диалоговой системе и реакцией системы на него. Важность этого показателя была осознана
сразу же, когда были реализованы первые интерактивные системы
(1970 г.). Первое, что критикует пользователь – это медленный ответ
системы. Но что означает «быстрый» ответ? Время ответа, приемлемое в одном случае, может оказаться не допустимым для других случаев. Время ответа системы – это время от момента ввода последнего символа в команде (директиве) запроса (обычно это клавиша
Enter) до момента вывода диалоговой системой первого символа ответного сообщения (рис. 15), т. е. время ответа – это интервал AC.
Рекомендации по времени ответа на запрос:
а) 0,1 с…0,2 с – для подтверждения физических действий, например, при нажатии клавиши пользователь ожидает звукового сигнала.
Если звук не появится почти мгновенно, пользователь предположит,
что клавиша не сработала и нажмет ее снова. То же самое наблюдается
и при работе в графических пакетах со световым пером – при построении линии на экране ее изображение отстает от положения светового
пера на 1 с и более и воспринимается это пользователем негативно;
б) 0,5 с…1,0 с – ответ на простые команды, например, нажатие
клавиши «следующая страница» и ее появление на экране (Page
U p, Page Down);
в) 0 1,0 с…2.0 с – связанный диалог, например, просмотр каталогов на диске;
г) 2,0 с…4,0 с – обработка сложных запросов, например компиляция программ, перезагрузка операционных систем.
Если ответа от системы нет 20 с и более, то такая диалоговая
система уже не является интерактивной. В случае существенных
задержек ответов, как гарантия правильный работы системы, на
экран выводится сообщение, что система работает, но она «занята»,
т. е. на экран монитора через 2...3 с выводится обновленное сообщение (например, изображение мерцающей стрелки на циферблате,
преобразование курсора в песочные часы, регулярное обновление
строки состояний и др.). Таким образом, динамическое обновление
экрана – это указание пользователю, что задержка ответа является
правомерной, а не следствие выхода системы из строя.
Пользователь
вводит команду,
нажимает
ENTER
A
34
Команда
принята
B
Вся строка
Появление первого
о выполнении
символа
команды выведена
о выполнении
полностью
команды
Рис. 15
C
D
t
14. АДАПТАЦИЯ ДИАЛОГОВЫХ СИСТЕМ
Крайне желательно, чтобы в ходе диалога была обеспечена его
достаточная гибкость, т. е., чтобы диалоговая система могла адаптироваться либо пользователем, либо самостоятельно к уровню
подготовки пользователя. Различают три вида адаптации:
– фиксированная;
– полная;
– косметическая.
Фиксированная – в этом случае пользователь сам явно выбирает
уровень диалоговой поддержки. На первых этапах было реализовано правило двух уровней, в соответствии с которым система обеспечивала две разновидности диалога:
а) подробный диалог (поддержка начинающих);
б) краткий диалог (обеспечивающий небольшую поддержку).
Структура типа меню – это вариант подробного диалога, а структура вопрос – ответ – это краткий диалог. Позже правило двух
уровней было расширено до N уровней, и пользователь сам выбирал явно один из этих уровней диалога.
Недостаток такого подхода в том, что не определено явно, каким
образом выяснить, является ли пользователь новичком или опытным, так как система с самого начала предлагает пользователю самому выбрать нужный ему уровень. При таком подходе выбор уровня будет отражать не столько реальный уровень подготовленности
пользователя, сколько он себе приписывает. Полная адаптация –
при этом виде адаптации диалоговая система строит некую модель
пользователя, эта модель по мере работы пользователя с системой
изменяется и определяет стиль диалога, меняя его. Чтобы принять
решение об изменении в модели пользователя, используются такие
критерии:
а) время, затрачиваемое пользователем на ответ;
б) количество обращений за помощью;
в) тип ошибок и тип запрашиваемой помощи.
Построение характеристик пользователя – самый проблемный
вопрос при внедрении адаптации в диалоговую систему. Поэтому
полная адаптация для практической реализации очень трудна.
Косметическая адаптация (т. е. изменения в диалоге) обеспечивает гибкость диалоговых систем без учета поведения пользователя
и без выбора им конкретного уровня диалога. Это достигается применением:
– сокращений запросов;
35
– наличием ответов по умолчанию.
Косметическая адаптация – так именуется в том смысле, что она
вносит лишь поверхностные изменения в базовую структуру диалога, но, тем не менее, они достаточно полезны для пользователя, так
как снижают утомляемость, убыстряют ввод, повышают устойчивость к ошибкам. Сущность любого умолчания в том, что система
работает с конкретным значением некоторого объекта, пока пользователь не задал значение этого объекта явно. Поэтому, ­если пользователь на определенный запрос многократно вводит один и тот
же ответ, то ввод можно сократить до одного нажатия клавиши, которое лишь подтверждает значение, принятое по умолчанию. Пример задания данных по умолчанию можно продемонстрировать,
­если вспомнить, куда помещается откомпилированный файл: на
тот же диск, где расположен компилятор (если имя другого диска
явно не указано).
9600, , 8, 2, 9
Рис. 16
Самый простой и распространенный способ принятия значений
по умолчанию – так называемый нулевой ввод, т. е. простое нажатие клавиши Enter (ввод). Если ввод данных осуществляется через
позиционированные параметры, то стоящие рядом два разделяются
(рис. 16).
Например, две запятые будут интерпретированы как отсутствие
на второй позиции параметра, и его значение будет установлено
по умолчанию.
36
15. МНОГОЯЗЫЧНОСТЬ ИНТЕРФЕЙСА
Дорогостоящие программные системы, разработанные для работы в конкретных странах, стали испытывать трудности при их
экспорте в другие страны. Модификация текстовых сообщений на
другой язык в пределах текста программы была трудоемким и кропотливым делом. Эта проблема была решена, когда все текстовые
включения (запросы, подсказки, сообщения об ошибках) стали
представляться в виде отдельных файлов. А файлы – это динамическая структура, не связанная с конкретным языком программирования. Тогда любой исходный текстовый файл мог быть легко переведен на другой язык, и программист (или оператор) мог бы реализовать этот перевод в другой файл. Такой же механизм файлов
позволяет разработчику создать универсальную диалоговую систему для пользователей различного функционального уровня. Разница в их диалогах может быть обеспечена простой заменой диалоговых файлов, хотя сам процесс диалога неизменен. Пользователю
может быть разрешено пользоваться не всеми возможностями системы, при этом подмножество разрешенных для него возможностей указывается внутри диалогового файла. Например, пользователь, которому разрешено только просматривать базу данных, но
не изменять ее, не увидит в диалоге сообщений, связанных с обновлением данных в базе, так как в его диалоговом файле не будет
­содержаться сообщение «обновить».
37
16. СРЕДСТВА УПРАВЛЕНИЯ ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ
«Управление» – общий термин для компонентов интерфейса типа
слайдов, кнопок, кадров (фреймов), переключателей и т. д., которые
служат, чтобы заместить объекты, являющимися знакомыми пользователям из реального мира. Кнопки (рис. 17) используются, чтобы выбрать опцию или вызвать событие (например, запуск подпрограммы).
Переключатели (рис. 18) подобны кнопкам выбора, в которых
пользователь выбирает значение из фиксированного списка, но
в данном случае, пользователь может выбрать более чем одно значение из списка.
Кнопки
навигации
Кнопки
управления
поиском
и выводом
на принтер
Кнопки
для
модификации
записей
Кнопка
выхода
Рис. 17
Текстовые блоки
Списки
Переключатели
Слайдеры
Рис. 18
38
Слайдеры (см. рис. 18) – обычно это элемент «полоса прокрутки»,
который может быть помещен или в горизонтальную, или вертикальную линейку на экране. Метки и текстовые блоки (см. рис. 18) используются для текстовой информации. Различие между ними – текстовые поля, позволяют пользователю вводить текстовые данные в поля,
в то время как метки – поля нередактируемые, используемые только для отображения текста типа подсказок, команд пользователя.
Списки (см. рис. 18) – специализированные средства управления,
которые отображают раскрывающиеся списки значений (часто с присоединенными слайдерами, чтобы перемещаться вверх или вниз по
списку) и позволяют пользователю выбирать значение из списка,
или вводить другое значение в присоединенное текстовое поле. Списки – удобный и компактный элемент интерфейса, который занимает минимум места на экране и в то же время несет большую информационную нагрузку. В интерфейсе непосредственного манипулирования пользователи выполняют действия непосредственно на видимых объектах. Этими объектами могут быть кнопки, метки, меню
или изображения (иконки). Все иконки можно классифицировать
согласно тому, насколько точно они отображают несущую функцию:
– иконки подобия (рис. 19) – иконки похожи на объекты, которые они отображают (типа ножниц, чтобы отобразить операцию
«вырезки»);
– иконки по образцу (рис. 20) – представляют пример типа объекта (например, иконкой, показывающей линию, обозначают средство рисования);
– символические иконки – используются, чтобы представить
действие или состояние в символической форме (например, разорванная линия между двумя компьютерами для того, чтобы показать разорванное сетевое соединение);
– произвольные иконки (рис. 21) – не несут никакой информации по поводу их представления, поэтому их назначение должно
быть описано (например, обратная круговая стрелка, чтобы представить действие «отмена последней команды»).
Рис. 19
Рис. 20
Рис. 21
39
17. МЕТОДЫ ОПИСАНИЯ ДИАЛОГОВ. СЕТИ ПЕРЕХОДОВ
Система обозначений, выражающая динамику диалога, образует так называемую сеть переходов. Состояние, в котором находится диалоговая система, принято обозначать в виде вершины графа,
помечая ее каким-либо символом. Таким образом, вершина графа –
это точка, в которой диалог или выводит сообщение пользователю,
или запрашивает сообщение от пользователя. Возможные переходы из одного состояния в другое – это соединяющие две вершины
дуги на графе (рис. 22).
Если на дугах отмечено направление переходов, то граф именуется направленным. Метка на дуге определяет условие (т. е. событие в диалоге), при выполнении которого возможен данный переход. В этом случае граф именуется размеченным. Возможно существование нескольких дуг, соединяющих две вершины. Это говорит
о том, что такой переход из вершины в вершину происходит не по
одному, а по нескольким событиям. В этом случае они будут называться синонимами, так как сети переходов быстро становятся громоздкими, то обычно применяют соглашение о свертке.
1) Существование более чем одной дуги между одной и той же
парой вершин в исходной сети говорит о наличии синонимов.
В объединенной (агрегатированной) сети это пара вершин связывается единственной дугой с множественной меткой, обозначающей,
что события – синонимы.
2) Возможность перехода в исходной сети по умолчанию указывается подчеркиванием метки дуги в объединенной (агрегатированной) сети.
C2
d
N1
C1
a
N4
N2
f
N3
e
N5
Рис. 22
40
Исходная сеть
a
N1
Сообщение
об ошибке
Умолчание
й
ны
т
ве
т
о
ер
ев
Н
b
Агрегатированная сеть
N1
N3
c
a/b
c
N2
N3
N2
Рис. 23
3) Вершины, представляющие вспомогательные сообщения и сообщения об ошибке, не показываются как отдельные вершины.
Предполагается, что эти вершины доступны автоматически в любой вершине объединенной сети.
4) Переход без ввода сообщения отмечается в виде связи одной
вершины с другой через непомеченную дугу. Пример свертки сети
представлен на рис. 23.
Сети переходов обеспечивают четкое и однозначное представление о динамике диалога, однако сетевые диаграммы становятся перегруженными уже при небольшом числе вершин в сети. Это
становится существенной проблемой, так как интерфейс с относительно простым приложением может содержать десятки вершин.
Эта трудность частично разрешается путем введения понятия «подсеть». Для любой замкнутой части сети подсеть трактуется как некая отдельная сущность. Особенно удобно это понятие (подсеть),
когда в различных местах диалога встречаются одинаковые последовательности вершин. Это подобно понятию процедур (подпрограмм) в программировании. Часто подсеть может вызывать сама
себя. Как и в программировании, этот процесс именуется рекурсией, а сама сеть называется рекурсивной сетью переходов (RTN).
Если в диалоге, в зависимости от контекста, предусмотренного предыдущим режимом, входное сообщение можно интерпретировать
по-разному, т. е. одинаковые входные сообщения могут вызвать
различные переходы в зависимости от контекста, то сеть нуждается в памяти для хранения контекста. Такая сеть именуется расширенной сетью переходов (ATN).
41
18. ПРОДУКЦИОННЫЕ СИСТЕМЫ
Это второй способ представления диалога в системах вопрос–ответ (рис. 24). Продукционные системы описывают синтаксис правильных входных сообщений командного языка (директив). Любая продукционная система сопровождается грамматикой языка.
Грамматика языка – это набор правил, которые определяют конструкции, допустимые в этом языке. Грамматика включает в себя
три следующих составляющих:
а) терминальные символы;
б) нетерминальные символы;
в) правила вывода.
Терминальные символы – это основные символы, из которых
строятся более сложные структуры. Иногда их именуют атомные
символы.
Нетерминальные символы – это специальные символы, использующиеся для создания составных конструкций.
Правила вывода – это способы, по которым могут строиться допустимые конструкции языка.
Грамматический разбор – это термин, присвоенный процессу
проверки последовательности символов на предмет удовлетвореФизические действия пользователя
1
Алфавитный анализ
Поток лексем
2
Лексический анализ
Поток команд
3
Синтаксический анализ
Синтаксически правильный
поток команд
4
Семантический анализ
Операнды
стандартного формата
5
Рабочий процесс
Рис. 24
42
ния их правилам грамматики. Чтобы проверить, является ли конструкция правильной, диалоговая система строит дерево разбора
(возможен инфиксный, префиксный, постфиксный обход дерева).
Основным элементом диалога является лексема (алфавит лексем). Лексемы – это примитивные носители информации (так же,
как и любой язык содержит алфавит или набор допустимых символов). Все диалоговые системы типа Q&A обрабатывают не отдельные лексемы, а их совокупности, которые формируют команды
(директивы). Лексический анализатор расчленяет входное сообщение на поток команд (директив) и преобразует эти команды (директивы) в некоторое стандартное внутреннее представление (например, директива copy преобразуется в порядковый номер (число) 5,
указывая, что осуществляется выбор пятой альтернативы из явного списка). С помощью списка правил из команд (директив) формируются правильные предложения.
Синтаксический анализатор проверяет последовательность серии команд, выработанных лексическим анализатором, с целью
убедиться, что ряд введенных команд представляет собой линейный набор правильных команд.
Целью синтаксического анализа является проверка того, что серия команд, выработанных лексическим анализатором, допускается синтаксисом языка.
Любое предложение читателем должно быть правильно понято.
Точно так же интерфейс должен определить из последовательности
команд, что и как должно быть сделано. Именно это и определяет семантический анализатор, т. е. он определяет смысл введенного
сообщения и включает соответствующий рабочий процесс со списком параметров, которые используются этим рабочим процессом.
Таким образом, продукционные системы используются для
представления диалога наравне с сетями переходов. Но если сети
переходов отражают динамику диалога и очень быстро становятся
громоздкими, то продукционные системы более компактны, но не
отражают динамику диалога.
43
19. ИНТЕЛЛЕКТУАЛЬНЫЕ ИНТЕРФЕЙСЫ
Наиболее перспективным средством ведения диалога сейчас являются системы речевого общения, так как они наиболее приближены к естественному диалогу. В системах естественного общения
обычно предполагается, что в качестве средства общения используются текст или письменная речь. В системах естественного общения под текстом понимается орфографический текст (как пишется), а в системах речевого общения (CPO) используется фонемный
текст (как слышится). В СРО решаются задачи преобразования
«текст – речевой сигнал» (синтез речи) и «речевой сигнал – текст»
(анализ речи). Синтез речи – это возможность обработки текстовой или числовой информации, согласно установленным правилам
произношения для конкретного языка, и преобразование ее в синтезированный голос, по восприятию, близкому к человеческому.
Анализ речи – это распознавание отдельных слов или слитной человеческой речи, с последующим ее преобразованием в текст либо
последовательности команд. Голосовой диалог базируется на теории распознавания и синтеза речи. На сегодняшний день успешно
решенными задачами ввода являются:
– распознавание изолированных слов (т. е. разделенных временными интервалами 0,5 с и более);
– словарь примерно на 2000 слов с голосом определенного конкретного человека.
Основные методы распознавания речевого сигнала основываются на сравнении введенного речевого сигнала с предварительно записанными в память эталонами. Запись в память производится после предварительного кодирования (сжатия) различными методами:
– спектральный анализ;
– автокорреляционные методы;
– предикатное кодирование.
Относительно высокая достоверность (надежность) распознавания на уровне около 98 % при словаре 2000–3000 слов достигается
при выполнении ряда ограничений (условий):
– предварительного обучения системы на данный словарь и желательно на конкретный голос;
– наличия разделительных пауз;
– стабильной и хорошей дикции;
– точной фиксации микрофона относительно рта диктора и др.
Нарушение хотя бы одного из этих условий ведет к ухудшению
распознавания. Сейчас системы речевого общения расширяются
44
Алгоритм
сравнения
образов
АЦП
препроцессор
Речевой
сигнал
Акустический
анализатор
Процессор
ввода-вывода
и управления
Выделение
фонем
ЭВМ
Текст
Память
для эталонных
образов
ЭВМ
Компилятор
Текст
Синтезатор
речевых
сигналов
База знаний
Рис. 25
средствами адаптации к изменениям дикции, к шумам и избирательности настройки на один голос.
На рис. 25 показана структура анализатора и синтезатора СРО.
Наиболее сложной проблемой речевого ввода является различение
фонем (значащих звуков). Фонема – это минимальная смысловая
единица речи. В русском языке 42 фонемы: 6 гласных и 36 согласных. В английском языке 20 гласных (из них 5 дифтонгов) и 24 согласных; во французском – 16 гласных и 20 согласных.
Акустические характеристики фонем обусловлены местом и способом их образования.
По месту образования фонемы делятся на губные (п, б, ф, в, у, м),
зубные и межзубные (д, о), альвеолярные (с, з, р, а), заальвеолярные (ш, ж, щ, э), небные (к, г, х, и, ы) и фарингальные (гортанные,
например английское h). По способу образования фонемы делятся
на взрывные (п, б, д), аффрикаты (ц, и), щелевые (ф, с, х, в, з, ш,
ж, …), дрожащие (р), носовые (м, н), боковые (л), плавные (й), гласные (у, о, а, э, и, ы). Многие буквы имеют два варианта фонем: мягкий и твердый. В потоке речи характеристики фонем меняются,
что приводит к появлению у них оттенков – аллофонов, например,
огубление согласных перед гласными, а также это обусловлено положением фонемы по отношению к ударному слогу, концу и началу
слова и т. д.
45
То есть, сама фонема, к сожалению, зависит как от предыдущего слога, так и от последующего. Эта тема больше лингвистическая, чем техническая. Кроме того, сами фонемы изменяются
с личностью говорящего и могут искажаться шумами. Вообще говоря, речевые структуры имеют очень большую избыточность. Вторая трудность распознавания речи – отсутствие явных границ между словами (например, «на поле он» и «Наполеон» или «казнить,
нельзя помиловать» и другие). Третья трудность – очень много слов
с различным значением звучат одинаково. Четвертая трудность –
определение интонации и ударения, которые задают направленность высказывания, логический смысл, выделение главного из общего, вычленение семантически связанных отрезков речи. Интонация и ударение определяют с помощью следующих акустических
средств:
– мелодика – изменение частоты основного тона голоса;
– ритмика – текущее изменение длительности звуков и пауз;
– энергетика – текущее изменение интенсивности звука.
Распознавание акустических характеристик фонем базируется
на том, что речевой аппарат человека в виде ротового и носового параллельных каналов образует единую акустическую систему, возбуждаемую периодическими колебаниями голосовых связок либо
турбулентным шумом. Распространение акустических волн в такой системе описывается уравнением Вебстера:
1
d 
dp  1 d2 p
⋅
S
x
 =
⋅ ,
(
)

S ( x ) dx 
dx  c2 dt2
где S(x) – функция площади сечения голосового тракта вдоль оси x
распространения волн; p – давление; с – скорость звука; t – время.
Первые СРО стали появляться в конце 70-х годов. Это было связано со следующими преимуществами СРО:
1) оперативность, простота и естественность процедуры общения, требующей минимума специальной подготовки;
2) возможность управления объектом в темноте, за пределами
его визуальной видимости с использованием для связи с ЭВМ обычных телефонных аппаратов и телефонных сетей;
3) устранение ручных манипуляций с одновременным увеличением скорости ввода информации (в 3–5 раз быстрее по сравнению
с клавиатурным вводом) и разгрузка зрения при получении информации.
Первое и второе преимущество с наибольшим эффектом стали
находить применение в автоматизированных системах управления
46
(АСУ). Третье свойство весьма эффективно может применяться при
создании систем оперативного человеко-машинного управления
сложными объектами (управление движением, энергетическими
установками и т. д.).
Обучающие системы, синхронный перевод с одного языка на
другой, говорящие книжки, говорящие компьютеры для слепых,
управление голосом инвалидными колясками, приборы для генерации и восприятия речи глухонемыми – вот лишь неполный перечень применения СРО. Сказанное не означает, что речевой способ человеко-машинного общения целиком заменит традиционные
способы ввода/вывода информации. Наряду с другими средствами
он активно способствует дальнейшей интеллектуализации человеко-машинных систем. Результаты, полученные в области разработки речевого интерфейса, становятся доступны широким слоям населения. В настоящее время нам уже известны примеры широкого
использования речевого интерфейса, например, в области телефонии, бытовой техники и др. Подробнее об этом будет сказано ниже. Несмотря на большую актуальность, далеко не все задачи разработки речевого интерфейса в настоящее время можно считать
решенными. Проблема разработки речевого интерфейса является
достаточно сложной и комплексной, что требует от разработчика
знаний в различных предметных областях. Речевой интерфейс является аппаратно-программным комплексом, так как для его реализации требуется использование внешних (дополнительных) по
отношению к компьютерной системе аппаратных средств (микрофон и средства вывода звука, например, наушники, а также звуковая плата). Это обстоятельство накладывает дополнительные требования не только на уровне разработки компьютерных программ,
обеспечивающих компьютер способностью говорить и слышать, но
и на аппаратном уровне, от которого зависит, в частности, качество воспроизведения звука, оперативность обработки информации
и др. На рис. 26 представлено отличие речевого интерфейса от традиционного (текстового).
Как показано на рис. 26, речевой интерфейс имеет ряд отличий
от ставшего уже традиционным графического интерфейса. В связи с этим меняется как технология разработки самого интерфейса, так и технология взаимодействия пользователя с компьютером.
Это следует учитывать при разработке интеллектуальной диалоговой системы, поскольку одними из важнейших показателей качества интерфейса компьютерной системы являются его удобство
и понятность для пользователя. Кроме того, учитывая, что исто47
Компьютер
Компьютер
Звуковая
карта
и/
ил
Мышь
Клавиатура
Видеодрайвер
Дисплей
(не обязательно)
Видеокарта
Дисплей
и
Динамики Наушники
Микрофон
АудиоПрограмма
драйвер
записи и
воспроизведения звука
Программа
ввода-вывода
изображений
Графический интерфейс
Речевой интерфейс
Пользователь
Пользователь
Рис. 26
рически сложилось так, что графический интерфейс компьютерных систем является в настоящее время доминирующим, разработчикам интеллектуальных систем с речевым интерфейсом следует отдельно продумывать моменты, связанные с целесообразностью использования речевой формы взаимодействия с компьютером. Иными словами, речевой интерфейс должен быть востребован
и уместен.
Сейчас к основным задачам речевого интерфейса относятся:
– Синтез речи – эта задача включает в себя комплекс подзадач
и заключается в обеспечении возможности произнесения речи компьютером на основе произвольного орфографического текста.
– Анализ и распознавание речи – комплекс задач, включающих
запись, оцифровку и анализ речи, для распознавания полученного
речевого сообщения компьютерной системой.
– Понимание (интерпретация) речи – комплекс задач, связанных с анализом смысла речевых сообщений и формированием реакции (ответа) компьютерной системы. Часто указанная задача
­является подзадачей задачи распознавания речи.
– Распознавание голоса – комплекс задач, включающих анализ
особенностей голоса говорящего с целью выявления каких-либо ин48
дивидуальных (личностных) особенностей и качеств. Данный комплекс задач называют также верификацией и идентификацией речи.
– Компьютерное клонирование голоса и дикции – создание близкой копии, но не биологической, а компьютерной, и не всего существа в целом (в данном случае человека), а только одной из его интеллектуальных функций: чтение произвольного орфографического
текста. При этом ставится задача максимально полного сохранения
персональных акустических особенностей голоса, фонетических особенностей произношения и акцента, а также просодической (интонационной) индивидуальности речи (мелодика, ритмика, динамика).
Помимо перечисленных задач, входящих в группу задач разработки собственно речевого интерфейса, имеется ряд вспомогательных задач, решением которых занимаются научно-технические коллективы, разрабатывающие речевые системы. Это связано
с тем, что задача реализации речевого интерфейса до сих пор не решена окончательно. Есть еще много вопросов, ответы на которые
ищут многие научные коллективы, как в нашей стране, так и за
рубежом. К таким задачам, в частности, относятся следующие:
– исследование особенностей фонетического строения речи различных естественных языков;
– исследование особенностей интонационной окраски речи различных языков;
– выявление наборов параметров для описания речи, используемых как для синтеза речи, так и для ее распознавания;
– разработка новых методов синтеза речи;
– исследование различий речи разных дикторов и, в частности,
мужского и женского голоса;
– разработка новых методов распознавания речи;
– поиск оптимальных путей передачи речи по каналам связи;
– разработка специальных шумоподавляющих микрофонов;
– разработка специальной аппаратуры для исследования характеристик речи;
– разработка новых методов оцифровки и оптимального сжатия
речевого сигнала;
– разработка специальных звуковых карт, ориентированных на
синтез и анализ речи;
– формирование баз данных с «образцами» речи различных
дикторов с целью повышения естественности звучания синтезированной речи;
– исследование строения речевого тракта человека и особенностей образования звуков речи;
49
– исследование строения органов слуха человека;
– исследование особенностей восприятия речи человеком;
– поиск путей наиболее удачного использования речевого интерфейса в различных технических и бытовых системах и разработка
соответствующих технологий и др.
Решение указанных задач выливается в достаточно долгую
и кропотливую работу, но получаемые результаты дают возможность надеяться на то, что в скором времени использование речевых интерфейсов станет более распространенным и доступным.
К практическим приложениям речевого интерфейса, которые уже
существуют и используются в различных прикладных системах,
можно отнести следующие:
– системы поддержки безбумажных технологий: диктовка
и формирование текстовых файлов на компьютере, системы подготовки документов, редакционно-издательские системы;
– речевые интерфейсы для пользователей-инвалидов по зрению;
– системы компьютерной телефонии (телефонные диалоговые
информационно-справочные системы, включая справки по паролю, телефонные автосекретари, речевая электронная почта; речевой набор номера телефона и др.);
– системы речевого управления (информационные и навигационные системы, диспетчерские системы управления воздушным
и наземным транспортом, тренажеры систем управления, интеллектуальные задания и др.);
– системы защиты доступа к базам данных, информации и объектам с использованием принципа парольных фраз («голосовой
ключ»);
– системы обнаружения голосовых сообщений (детекторы речи).
50
20. ОСНОВЫ РАСПОЗНАВАНИЯ В РЕЧЕВЫХ СИСТЕМАХ
Распознавание образов – это определение принадлежности объекта к одному из заранее известных объектов (или классу объектов).
Каждый объект описывается совокупностью признаков (характеристик, параметров):
A = a1, a2, a3, … ai, …, an,
где A – вектор образа; ai – признак; i – номер признака.
Если признак – число действительное, то вектор образа – это
точка n-мерного (евклидова) пространства. Основные традиционные задачи распознавания образов включают в себя:
а) выбор информационных признаков;
б) выбор решающих функций (правил);
в) иногда сюда же в задачу распознавания включают и процесс
предварительной классификации объектов, называемый таксономией.
Эти три задачи тесно взаимосвязаны. При выборе решающего
правила используется два следующих понятия:
– метрическое пространство;
– метрика.
Метрическое пространство – это множество точек, на котором
определяется метрика. Метрика – правило определения расстояния между любыми двумя точками (А, B) пространства, т. е. некоторая функция d(A, B) с неотрицательным действительным значением, удовлетворяющая следующим трем условиям:
d(A, B) = 0, если A = B (аксиома тождества);
d(A, B) + d(B, C) ≥ d(A, C) (аксиома треугольника);
d(A, B) = d(B, A) (аксиома симметрии).
Для определения расстояния между точками A и B, заданными
своими признаками (координатами):
A = a1, a2, a3, …ai, …, an,
B = b1, b2, b3, …bi, …, bn,
могут быть применимы разные метрики:
n
d( A, B) = ∑ ai − bi .
i =1
51
– Евклидово расстояние
n
2
;
k
,
∑ ( ai − bi )
d(=
A, B)
i =1
– метрика Минковского
=
d( A, B)
n
k
∑ci ai − bi
i =1
где k – порядок метрики; ci – весовые коэффициенты; n – число
признаков;
– для двоичных (бинарных) признаков метрикой является расстояние Хемминга:
d( A,=
B)
n
∑ai ⊕ bi ,
i =1
где ⊕ – сумма по модулю два.
В данном случае метрика определяется как число несовпадающих компонент в двоичных векторах. Выбор метрики вопрос тонкий и зависит от природы образов, характера изменений признаков. Критерием качества метрики при данном наборе (системе) признаков является минимум числа ошибок распознавания на контрольной выборке.
В речевых интерфейсах классификационным признаком является спектральное описание. Речевой сигнал может быть описан
как периодическое колебание, создаваемое движением голосовых
связок со своим спектром.
Для разных компонент речевого сигнала (интонация, тембр,
громкость, тон, темп) используются разные виды модуляции – амплитудная, частотная, фазовая. Спектральное описание эталонов
распознаваемых речевых сигналов создает основу распознавания
в СРО.
Аппаратным способом разложения сигнала в спектр является полосовая фильтрация, а математический аппарат разложения
в спектр – это аппарат прямого преобразования в ортогональный
базис Фурье. Наряду с базисом Фурье применяются и другие базисы – Хаара, Радомахера, Уолша и Крестенcона. Спектральное
преобразование выполняется как аппаратными, так и цифровыми
52
A
Исходный
сигнал
t
Ak
Клиппированный
сигнал
t
Рис. 27
методами. Цифровые методы именуются цифровой фильтрацией с соответствующими цифровыми алгоритмами преобразования
в ряды Фурье и другие базисы. Аппаратные анализаторы спектра,
представляющие спектр сигнала в реальном масштабе времени, реализуются на программируемых сигнальных процессорах.
Наиболее простой вид обработки (сжатия) речевого сигнала –
его клиппирование. Процедура клиппирования предпологает предельное усиление сигнала с последующим ограничением (рис. 27).
Клиппированная речь достаточно разборчива и удовлетворительна в различении слов. Анализ клиппированного сигнала заключается в подсчете числа переходов через пороговый уровень
за единицу времени и подсчету интервалов времени между переходами.
В настоящее время ведется много интересных разработок в области СРО, в частности автокорреляционные подходы, вычисления
коэффициентов линейного предсказания (КЛП – анализ), марковские модели и др.
Все указанные методы требуют отдельного подробного рассмотрения и изучения.
53
ЗАКЛЮЧЕНИЕ
К настоящему времени уже сформировалась индустрия разработки заказных программных продуктов. Этот бизнес во многом
определяется и качеством интерфейса. Поэтому разработка тщательно продуманного и эргономичного интерфейса, в соответствии
с соблюдением определенных традиций и требований, задача достаточно сложная и трудоемкая. В пособии принимаются во внимание такие аспекты проектирования интерфейса, как:
– навыки пользователя;
– исключение опасных последствий, связанных с ошибками ввода;
– отдельное внимание уделено вопросу оценки эргономичности
интерфейса.
Полезны для изучения и такие важные вопросы, как:
– классификация и составление сообщений;
– форматирование информации на экране монитора;
– адаптация диалога к уровню подготовки пользователя;
– аналитические методы построения и описания диалога;
– основные перспективные направления построения интеллектуальных интерфейсов.
Кроме того, относительно малый процент литературы по схожей
тематике сейчас доступен на русском языке. При написании пособия большое внимание уделено представлению текстово-ориентированных диалогов в интерфейсах, и несколько меньше внимания
уделено организации диалога на базе графических средств. Но этот
пробел, в какой-то мере, можно восполнить, обратившись к другим
учебным дисциплинам, связанным с компьютерной графикой.
Библиографический список
1. Акчурин Э. А. Человеко-машинное взаимодействие: учеб. пособие. М.: Салон-Пресс, 2008. 96 с.
2. Головач Влад В. Дизайн пользовательского интерфейса [Электронный ресурс] / Влад В. Головач. – Режим доступа:books.sh./
blib – 101211.html, свободный.
3. Иванова Г. С. Технология программирования: учебник для студентов вузов (ФГОС 3-го поколения). М.: изд-во КНОРУС, 2013. 333 с.
4. Попов В. П., Соловьев В. Н. Человеко-машинный интерфейс:
метод. указания к выполнению лабораторных работ № 1–4. СПб.:
ГУАП, 2007. 27 с.
54
СОДЕРЖАНИЕ
Введение............................................................................... 3
1. Понятие интерфейса. Эволюция интерфейса
человек–машина ................................................................... 4
2. Проектирование пользовательского интерфейса...................... 6
3. Стратегия разработки интерфейса ........................................ 9
4. Составные части интерфейса.............................................. 11
5. Проектирование сообщений................................................ 15
6. Способы выделения символов..............................................17
7. Ввод текстового сообщения................................................. 19
8. Структура диалога типа вопрос-ответ .................................. 20
9. Структура диалога типа меню............................................. 24
10. Отображение меню .......................................................... 27
11. Средства выделения информации на экране монитора........... 30
12. Предотвращение, обнаружение и исправление ошибок.......... 32
13. Время ответа в диалоговой системе..................................... 34
14. Адаптация диалоговых систем.......................................... 35
15. Многоязычность интерфейса............................................. 37
16. Средства управления графическим интерфейсом
пользователя....................................................................... 38
17. Методы описания диалогов. Сети переходов ........................ 40
18. Продукционные системы ................................................. 42
19. Интеллектуальные интерфейсы......................................... 44
20. Основы распознавания в речевых системах......................... 51
Заключение......................................................................... 54
Библиографический список................................................... 54
55
Учебное издание
Попов Валерий Павлович,
Соловьев Николай Владимирович
ЧЕЛОВЕКО-МАШИННЫЙ ИНТЕРФЕЙС
Учебно-методическое пособие
Редактор Т. В. Звертановская
Компьютерная верстка И. Н. Мороз
Сдано в набор 11.11.16. Подписано к печати 13.12.16.
Формат 60×841/16. Бумага офсетная. Усл. печ. л. 3,20.
Уч.-изд. л. 3,44. Тираж 50 экз. Заказ № 481.
Редакционно-издательский центр ГУАП
190000, Санкт-Петербург, Б. Морская ул., 67
56
Документ
Категория
Без категории
Просмотров
1
Размер файла
1 490 Кб
Теги
0dbec4d1e2, popova
1/--страниц
Пожаловаться на содержимое документа