Рассмотрим диалог в форме меню.
Меню - наиболее распространенный тип диалога. При обращении система инициирует диалог. Таким образом, шаг диалога начинается с выдачи системой входного сообщения. После выдачи пользователем выходного сообщения и обработки его системой шаг диалога завершается.
Возможно несколько форм машинной реализации данного типа диалога. Во всех случаях в качестве входного сообщения на экране дисплея высвечивается подмножество (как правило, нумерованное) функций системы, реализация которых возможна в текущем состоянии диалога. Такое входное сообщение будем называть меню.
Пользователь может выбрать требуемую функцию одним из следующих основных способов:
а) набором требуемой директивы или ее аббревиатуры;
б) набором номера выбранной директивы;
в) подведением курсора в строку экрана с требуемой директивой;
г) нажатием фотоселектора в соответствующей строке экрана.
Графически диалог можно представить в виде графа. Узлы графа соответствуют подмножеству функций системы, а дуги, направленные вниз, - возможным альтернативам пользователя. При этом число дуг равно числу предлагаемых системой функций. Дуга вместе с вершиной, из которой она исходит, соответствует шагу диалога. Верхний узел (корень) дерева соответствует начальному сообщению системы. На рис.5 приведен граф диалога меню в виде дерева. Корень дерева (верхний узел, соответствующий начальному сообщению системы) и исходящие из него дуги соответствуют шагу диалога. После выполнения некоторых шагов диалога система высветит меню, обозначенных прямоугольниками. Движение вниз по дереву графа меню в направлении прикладной системы называется «погружением» [12]. Для выполнения функции, соответствующей соседним ветвям дерева графа, при работе с прикладной системой используется механизм «всплытия». Его можно реализовать двумя способами:
а) последовательным движением вверх по дугам графа диалога до узла, непосредственно содержащего заданную функцию или содержащего ее в узлах, в которые из него можно перейти, используя «погружение»;
Рисунок 5.
б) непосредственным переходом в корень дерева графа диалога с последующим погружением.
Графически второй способ соответствует наличию в каждом узле ориентированной к вершине дерева дуги графа. Одна из таких дуг изображена на рис.3 штриховой линией.
Тип диалога в форме вопросов, требующих ответа ДА/НЕТ, являются частным случаем диалога типа «меню», когда в шаге диалог; в качестве альтернатив пользователю предлагаются два ответа: ДА и НЕТ.
Графическая интерпретация рассматриваемого типа диалога изображена на рис. 6.
Рисунок 6.
Это граф бинарного дерева, из каждого узла которого выходит вниз (к прикладной системе) по две ветви. «Погружение» и «всплытие» в этом типе диалога аналогичны меню. В данном типе диалога для работы с прикладной системой приходится выполнять, как правило, больше шагов по сравнению с диалогом типа «меню». Основным достоинством данной формы диалога является простота выполнения каждого отдельного шага диалога.
Шаблон - это инициированный системой диалог, на каждом шаге которого система воспринимает только синтаксически ограниченное входное сообщение пользователя в соответствии с заданным форматом. Как и в меню, диалог начинает система. Данный тип диалога называют также параметрической системой. Возможные варианты ответа пользователя ограничиваются форматами, предъявляемыми ему на дисплее. Поэтому гибкость пользования системой с диалогом такого типа относительно невысока, однако достаточно низка ее операционная сложность.
Из нескольких возможных вариантов реализации такого типа диалога назовем два:
1) указание системой на экране дисплея формата вводимого пользователем сообщения;
2) резервирование места для сообщения пользователя в тексте сообщения системы на экране дисплея (например, с помощью поля повышенной яркости).
Графически диалог типа «шаблон» можно интерпретировать с помощью графа, приведенного на рис. 7. Из каждой вершины графа выходит по две дуги. Дуга, направляющаяся к следующему узлу, соответствует семантически
Рисунок 7.
правильному сообщению пользователя, а дуга, замыкающаяся на одном узле, - семантически неправильному сообщению пользователя. При неверном сообщении система выдаст предупреждение об ошибке и останется в начале текущего шага диалога.
Шаблон обычно используется для ввода данных, значения которых или «прозрачны» (например, текущая дата), или являются профессиональными терминами и поэтому они известны пользователю. Однако формы подачи этих данных не определяются их значениями.
Простой запрос является частным случаем шаблона. Обычно используется в различного рода автоматизированных системах при сборе данных.
Простой запрос - это тип диалога, инициируемый системой и состоящий из одного шага, где пользователю предоставляется возможность ввести более одного сообщения по заранее определенному системой единому формату. Графическая интерпретация простого запроса приведена на рис. 8.
Команда - это инициированный пользователем тип диалога, при котором выполняется одна из допустимых на данном шаге диалога директива (команда) пользователя. Набор допустимых команд, как правило, отсутствует на экране, однако с помощью специальных директив его можно вывести для ознакомления. Набор допустимых команд, как правило, отсутствует на экране, однако с помощью специальных директив его можно вывести для ознакомления. В случае задания недопустимой директивы выдается предупредительное сообщение об ошибке, и система остается в начале текущего шага диалога.
Рисунок 8.
Графически данный тип запроса может быть представлен с помощью ориентированного графа (рис. 9). Характерным является наличие дуг, замыкающихся на каждом узле графа. Такие дуги соответствуют недопустимым директивам на данном шаге диалога.
Рисунок 9.
Взаимодействие на естественном языке возникает по инициативе пользователя. Этот тип диалога налагает наименьшие ограничения на форму ведения общения стороны пользователя, которому предоставляется возможность cвободно выбирать формулировку задачи, используя естественный язык. В связи с неоднозначностью естественных языков со стороны системы возможны вопросы, уточняющие формулировки пользователя и предметную область рассматриваемой проблемы. Взаимодействием на естественном языке будем называть тип диалога, инициированный пользователем и приводящий к решению поставленной им задачи, когда общение со стороны пользователя ведется на естественном языке.
Научные и технические трудности создания системы, взаимодействующей с пользователем на естественном языке, приводят к реализации квазиестественного (похожего на естественный) или проблемно-ориентированного (для общения в одной узкой проблемной области) языка.
Развитие диалоговых систем в направлении повышения их интеллектуальности приводит к повышению их гибкости и адаптивности, а следовательно, и большей восприимчивости к запросам на квазиестественном языке.
Графическая интерпретация взаимодействия на естественном и квазиестественном языках приведена на рис. 10, а, б соответственно.
рис. 10, а, б
Отличительной особенностью графа диалога на естественном языке является наличие парных противоположно направленных дуг графа между любыми парами узлов (на рисунке каждая пара противоположно направленных дуг обозначена одной неориентированной дугой). Граф диалога на квазиестественном языке является ориентированным, характерная его особенность - наличие в каждом узле дуг, замыкающихся на этом же узле, что соответствует недопустимым директивам на данном шаге диалога. В отличие от графа диалога на естественном языке на квазиестественном не все пары узлов соединены противоположно направленными дугами.
Анализ типов диалога.
Анализ описанных типов диалога показывает, что применение только одного из них (за исключением последнего) не позволяет создать достаточно гибкую и эффективную систему. Рассмотрим некоторые ограничения на структуру диалога, накладываемые разными его типами;
а) вопросы, требующие ответа ДА/НЕТ - мала эффективность диалога, велика избыточность графа диалога при усложнении темы общения, чрезмерное их использование приводит к переутомлению пользователя;
б) шаблон - эффективен только в случае ввода фрагмента табличных данных, при ограниченном (от двух до четырех) выборе возможных альтернатив и малом числе шагов диалога;
в) команда - мала эффективность при значительном числе (не меньше пяти) шагов диалога и альтернативных команд на каждом его шаге. Командная форма диалога удобна для опытных пользователей, команды дают возможность сразу специфицировать необходимую функцию вместо того, чтобы отвечать на длинную серию запросов. Использование в диалоговой системе нескольких типов диалога повышает гибкость системы и снижает ее операционную сложность. Работая с диалоговой системой, пользователь должен быть готов к тому, что ему придется встретиться с несколькими типами диалога.