МОДЕЛЬ ГИБКОГО ИНТЕРФЕЙСА В ЭКСПЕРТНЫХ СИСТЕМАХ

Авторы: В. В. Грибова, А.С. Клещев

Источник: http://www.iacp.dvo.ru/is/publications/144.rtf
ABSTRACT


In the article requirements for development of flexible interface in expert systems are determined as a result of the analysis of literature. On the basis of the requirements a model of interface is described, which includes dialogue input of initial data and explanation of the results of expert systems.


Одним из основных направлений развития новых информационных технологий является разработка экспертных систем (ЭС). ЭС- это программная система, в которую включены знания специалистов о некоторой проблемной области и которая в пределах этой области способна принимать экспертные решения [1].
Анализируя архитектуру типичных ЭС можно выделить три основные компоненты: систему управления базой знаний, механизм получения решений и интерфейс, необходимый пользователям для работы с ЭС в процессе решения задач, приобретения знаний и объяснения результатов работы. В работе [2] автор отмечает, что проектирование пользовательского интерфейса занимает значительное количество времени при разработке ЭС и, кроме того, поддержка интерфейса также важна для законченной системы, как и поддержка базы знаний. Хотя общие требования и рекомендации определяют основу любого интерфейса, они не могут удовлетворять любого пользователя. Даже если условия задачи остаются практически неизменными, потребности пользователей, как и сами пользователи, меняются. Правильно спроектированный интерфейс должен быть настраиваемым на нужды различных пользователей, а также на разные периоды работы одного пользователя. Поэтому в настоящее время актуальной является разработка гибких инструментальных средств, что отмечено в работах [2,3,4,5,6], в которых на этапах их проектирования и эксплуатации удается учитывать изменяющиеся свойства пользователя, возрастающие эргономические требования и другие динамические факторы.
В данной работе под интерфейсом понимается ввод исходных данных задачи и объяснение результатов работы ЭС. Гибким будем называть интерфейс, который, обеспечивая дружественное взаимодействие с пользователем ЭС, позволяет на этапе проектирования и эксплуатации ЭС учитывать, с одной стороны, изменяющиеся потребности пользователя, а с другой, изменение знаний о предметной области. Анализ литературы о средствах и методах организации интерфейса в ЭС, позволил сформулировать требования к разработке интерфейса.
  1. Интерфейс должен обеспечивать “удобный ввод” данных в ЭС. Под “удобным вводом” подразумевается предоставление пользователю возможности выбора варианта данных, относящихся к выполняемой задаче, простых запросов об объектах и их характеристиках, если их набор конечен, либо возможности введения необходимой информации с предоставлением синтаксической формы для этой информации. Это требование вытекает из того, что основной интерес пользователя лежит в прикладной части системы, он является непрофессионалом в области использования программных систем, не имеет необходимого опыта работы с ними.

  2. Сочетание инициативы пользователя и ЭС в управлении диалогом по вводу данных. Большинство ЭС поддерживают машино-управляемый диалог, в котором ЭС управляет диалогом. Такой диалог имеет много ограничений. Поэтому более предпочтительно сочетание инициативы пользователя и ЭС в диалоге для ввода исходных данных. В этом случае ЭС должна предоставлять пользователю информацию о структуре и вариантах вводимых данных на основе которой пользователь может инициировать диалог, удовлетворяющий целям этого пользователя.

  3. ЭС должна обеспечивать доступ к введенным данным и возможность их редактирования. В процессе работы с ЭС может возникнуть необходимость изменения введенных данных, либо ввода дополнительных данных; пользователь также может совершать ошибки при вводе данных, которые требуют исправления. Поэтому пользователю необходимо дать возможность просматривать введенные данные, возвращаться назад к предыдущим состояниям его диалога всякий раз, когда он сделал ошибку или хочет что-либо изменить в этих состояниях.

  4. Обеспечение легкой модифицируемости интерфейса. При проектировании интерфейса необходимо учитывать, что не только на этапе разработки, но также и в процессе эксплуатации знания о предметной области , и , как следствие, знания об исходных данных могут изменяться. А это ведет к необходимости частой модификации интерфейса. “Легкая модифицируемость” интерфейса - понятие относящееся к так называемым “нечетким понятиям”: его невозможно точно определить или выразить количественно, но совершенно очевидно, что если модифицирование интерфейса требует внесение изменений в базу знаний или машину логического вывода, то его модифицирование представляет собой значительные трудности. Поэтому под “легкой модифицируемостью” интерфейса будем понимать модифицируемость интерфейса, не затрагивающую при этом “ядро” ЭС - базу знаний и машину логического вывода, а также внесение изменений в интерфейс, не требующих при этом модификации программ системы.

5.Объяснение в ЭС должно строиться в соответствии с потребностями пользователя. Интерфейс в ЭС должен иметь средства для построения объяснений, настраиваемых на конкретного пользователя в зависимости от его требований относительно содержания объяснения и в зависимости от этих требований формировать более или менее детальные объяснения, краткую или развернутую форму объяснения и т.д.
6.Обеспечение пользователя неинтерактивным объяснением в виде структурированного текста, в которых имеются также средства создания таблиц, отчетов и т.д. Задачей практических ЭС является получение цели: конечному пользователю необходимо получить цель и понять действия системы. Более того, при практическом использовании ЭС часто необходим протокол работы ЭС - печатный документ, отражающий результаты работы ЭС и их объяснение. При этом важно, чтобы структура и содержание такого объяснения имели вид, общепринятый в данной предметной области.
На основе сформулированных требований построим модель диалога для ввода данных и модель объяснения результатов ЭС.
Под моделью интерфейса для ввода исходных данных в ЭС будем понимать пару, состоящую из порождающей модели и регламента действий пользователя. Порождающая модель [7,8] состоит из языка формального задания исчислений этой модели (языка для записи правил исчислений) и универсального рецепта этой модели.
Любое исчисление, заданное на языке порождающей модели, определяет множество порождающих процессов. В данном случае порождающими процессами является генерация исходных данных ЭС, их просмотр и редактирование.
Когда в ходе выполнения универсального рецепта порождающей модели возникает неоднозначность, регламент действий пользователя определяет его права по ее разрешению.
Определим язык формального задания правил исчисления порождающей модели интерфейса для ввода исходных данных как тройку <N, Ts, S>, где
N={n1,...,nm}- множество нетерминальных символов;
Ts=TÈF - терминальный словарь, состоящий из множества предопределенных терминальных символов T={t1,...,tk} и множества типов возможных значений F={cтрока, дата, время, координта, [l, t]I (единица измерения), [l, t ] R(единица измерения)};
SÎN - выделенный символ языка (аксиома порождающей модели).
Каждое исчисление порождающей модели задается множеством записанных на этом языке порождающих правил Р вида a®b, где N, а b имеет вид:

где F
где tiÎNÈT, l>1
где tiÎNÈT, l>1.
При этом должны выполняться следующие условия:
- для любых a1,a2 ÎN, если правила a1®b, a2®b входят в P, то a1¹a2;
- для любого N, если a встречается в правой части порождающего правила, то обязательно имеется правило вида a®b;
- в системе правил не существует таких правил, что *t и *a. Здесь aÞt означает, что в системе правил существует правило вида a®t1|...|t|...|tn или правило вида a®t1,...,t,...,tn; *t, если aÞm1Þ...ÞmnÞt.
Текущее состояние порождающего процесса есть пара, состоящая из дерева Di и активной вершины g в этом дереве. Корнем дерева является вершина, помеченная выделенным символом описания исходных данных S, вершины помечены нетерминальными символами языка N. Листьями этого дерева или терминальными вершинами могут быть вершины, помеченные нетерминальными символами языка N, предопределенными терминальными символами языка из множества Т и порождениями символов из множества F.
Просмотр дерева исходных данных может быть двух видов: просмотр вперед и просмотр назад ( см. ниже), под редактированием понимается удаление вершины или множества вершин дерева исходных данных.
Применимое правило a®b в текущем состоянии зависит от способа его выполнения. Если способом выполнения правила является генерация, то правило a®b применимо в текущем состоянии, когда a совпадает с меткой активной вершины дерева g и является листом дерева. Если способом выполнения правила является редактирование, то правило a®b применимо в текущем состоянии, когда a совпадает с меткой активной вершины дерева g и не является листом дерева. В случае просмотра исходных данных применимое правило зависит от вида просмотра. Под просмотром вперед будем понимать переход от активной вершины к вершине - прямому потомку этой вершины в дереве исходных данных. Просмотр назад означает переход к вершине - прямому предку активной вершины. Если способом выполнения правила является просмотр вперед, метка активной вершины g есть aÎN, то правило вида a®b применимо в этом состоянии при следующих условиях.
1. bi= t1,...,tk, в дереве исходных данных есть множество ребер, соединяющих активную вершину g с допустимыми вершинами ni,...,nj и среди вершин ni,...,nj есть хотя бы одна вершина nn, имеющая метку tnÎN.
2. bi= t1|...|tk, в дереве исходных данных есть ребро, соединяющее активную вершину g с некоторой вершиной n с меткой tiÎ{t1,...,tk} и tiÎN.
Если способом выполнения правила является просмотр назад, a совпадает с меткой активной вершины дерева g и g не является корнем дерева исходных данных, то применимым является любое правило вида a®b, такое что либо b=a, либо b=t1,.., a,...,tk, либо b= t1|...|a|...|tk, и в дереве исходных данных есть ребро, соединяющее вершину g с меткой a и активную вершину g с меткой a (все такие g являются допустимыми вершинами в текущем состоянии).
Начальным состоянием q0 порождающего процесса является дерево, состоящее из одного корня - вершины, помеченной выделенным символом S, и активной вершины g, совпадающей с корнем этого дерева.
В результате применения некоторого правила формируется очередное состояние qi+1 на основе предыдущего состояния qi и примененного правила; qi+1 зависит также от способа выполнения правила - генерации, просмотра или редактирования.
Если способом выполнения правила является генерация, применимое правило имеет вид a®b, где F, то в очередном состоянии порождающего процесса образуется дерево исходных данных Di+1 путем добавления к дереву Di ребра, связывающего вершину, помеченную символом a с новой вершиной n, имеющей в качестве метки порождение символа t. После этого a становится нетерминальной вершиной дерева Di+1, а n- новой терминальной вершиной этого дерева, активной вершиной g становится вершина n с меткой t. При этом порождение значений в дереве исходных данных зависит от b. Так, если b=строка, то порождается конечная последовательность символов некоторого алфавита, если b=дата, то порождается значение типа дата и т.д. Если применяется правило a®b, где b=t1, ...,tn, tкÎNÈT для всех к=1,...,n, то дерево исходных данных Di+1 образуется путем добавления к дереву Di ребер, связывающих вершину с меткой a с любым непустым множеством вершин nf, ..., nj. Вершины nf, ..., nj имеют метки tf ..,tj соответственно, причем {tf,...,tj} Í {t1, ...,tn}, где 1£f<j£n. После этого вершина с меткой a становится нетерминальной вершиной дерева Di+1, nf,...,nj - новыми терминальными вершинами дерева с метками tf ..,tj, активной вершиной g становится вершина ns с меткой ts, f<=s<=j. Если среди правил языка выбрано правило a®b, где b=t1|...|tn, tкÎNÈT для всех к=1,...,n, то дерево исходных данных Di+1 образуется путем добавления к дереву Di ребра, связывающего вершину с меткой a с новой вершиной n, имеющей метку tj, при этом метка tj - некоторая метка из множества меток t1, ...,tn, т.е. tj Î{t1, ...,tn}, где 1<=i<=n. После этого вершина с меткой a становится нетерминальной вершиной дерева Di+1, n- новой терминальной вершиной дерева с меткой tj, активной вершиной g становится вершина n с меткой tj.
Если видом просмотра является просмотр вперед, применимое правило имеет вид a®b, где b=t1,...,tk, то при применении этого правила активной вершиной очередного состояния становится такая вершина nnÎ{ni,...,nj}, что метка tn вершины nn является нетерминальным символом языка, т.е. tnÎN. Если применимое правило имеет вид a®b, где b=t1|...|tk, то при применении этого правила активной вершиной в очередном состоянии становится вершина n. Областью видимости в каждом состоянии при просмотре вперед являются активная вершина с меткой a и ее прямые потомки в дереве исходных данных. Если в качестве действия просмотра выбран просмотр назад, то при использовании применимого правила активной в следующем состоянии становится вершина g с меткой a. Областью видимости при просмотре назад являются активная вершина с меткой a и его прямые предки в дереве исходных данных.
Если способом выполнения правила является редактирование, метка активной вершины g есть aÎN, и применяемое правило имеет вид a®b, где b= t или bi= t1|...|tk, то в этом случае под удалением будем понимать удаление вершины n, являющейся прямым потомком активной вершины g, ребра, соединяющего g и n, а также всего поддерева, корнем которого является n. Формирование очередного состояния процесса редактирования (удаления) происходит следующим образом: из дерева исходных данных удаляется поддерево с корнем n и ребро, соединяющее вершину n с предком этой вершины - вершиной g. В этом случае активная вершина g становится листом дерева. Если в текущем состоянии метка активной вершины g есть aÎN и применимое правило имеет вид a®b, где b= t1,...,tk, то под удалением будем понимать удаление всех вершин nf,...,nj, являющихся прямыми потомками активной вершины g. Формирование очередного состояния процесса редактирования происходит следующим образом: из дерева исходных данных удаляется множество всех поддеревьев, с корнями nf,...,nj и множество ребер, соединяющих вершины nf,...,nj с предком этих вершин - вершиной g. Активная вершина g становится листом дерева.
Порождающий процесс может быть завершен только в том случае, если он достиг терминального состояния.
В модели диалога пользователь может выбрать способ выполнения правила- генерацию, просмотр или редактирование.
Так, если способом выполнения правила является генерация исходных данных, то задача пользователя в диалоге состоит в разрешении всех неоднозначностей. Неоднозначности в процессе порождения исходных данных могут состоять в следующем.
1. Каждый шаг порождающего процесса характеризуется множеством применимых на данном шаге правил порождения очередного состояния, которое может содержать более одного применимого правила. Пользователь имеет возможность выбрать любое правило для получения очередного состояния процесса порождения среди множества применимых в данном состоянии правил.
2. Если в некотором состоянии применяется правило вида a®b, N, где b=t1| ...|tn, причем tjÎNÈTÈF, то в этом случае неоднозначно определяется посылка ti Î{t1, ...,tn}, где 1<=i<=n. Пользователь в процессе порождения имеет возможность выбрать любую посылку в пределах указанных ограничений.
3. Если в некотором состоянии применяется правило вида a®b, N, где b=t1, ...,tn, причем tjÎNÈTÈF, то в этом случае неоднозначно определяется посылка, являющаяся подмножеством {ti, ...,tj} Í {t1, ...,tn}, где i<>j, 1<=i<=n, 1<=j<=n. Пользователь в процессе порождения имеет возможность выбрать любую посылку в пределах указанных ограничений, а также активную вершину.
4. Если в некотором состоянии применяется правило вида a®b, N, F, то пользователь в процессе порождения выбирает возможное значение, которое принадлежит типу b.
При просмотре исходных данных пользователь может проводить следующие действия.
1. Выбирать вид просмотра, т.е. определять в каком направлении просматривать дерево исходных данных. В зависимости от своих потребностей и условий применимости правил в данном состоянии пользователь может выбрать просмотр вперед или просмотр назад.
2. Определять в каком состоянии завершить просмотр исходных данных.
3. Разрешать неоднозначность процесса просмотра исходных данных. Неоднозначность процесса просмотра исходных данных состоит в том, что каждый шаг процесса просмотра характеризуется множеством вершин, допустимых в текущем состоянии в качестве активных в следующем состоянии. Данную неоднозначность порождающего процесса пользователь разрешает путем выбора активной вершины следующего состояния из множества вершин, допустимых в текущем состоянии.
Рассмотрим вторую составляющую интерфейса- объяснение результатов ЭС. Под моделью объяснения будем понимать вычислительную модель[7], универсальный рецепт которой на основе формального задания объяснения и результатов ЭС формирует текст объяснения.
Будем считать, что текст объяснения T состоит из последовательности элементов объяснения t1,...,tn, а результаты ЭС x представлены в виде конечной совокупности отношений, причем каждое отношение P - это конечное множество кортежей P = {<a1, ... ,an>}, где a1, ... ,an - элементы кортежей. Будем также считать, что формальное задание объяснения W - есть составной оператор. Под составным оператором будем понимать последовательность элементов описания объяснения w1,...,wn. Каждый элемент описания wi - текстовая конструкция, которая определяет содержание текста объяснения в зависимости от результатов работы ЭС. Текстовыми конструкциями в модели объяснения являются конструкции строка, выводимое множество, цикл и альтернатива. Конструкции цикл и альтернатива в свою очередь содержат составной оператор в качестве компоненты.
Каждой конструкция wi составного оператора может быть присвоен свой позиционный номер i. Позиционные номера определяют лексикографический порядок конструкций в формальном задании объяснения.
Cледует отметить, что, с одной стороны, одно и то же формальное задание объяснения W может соответствовать различным результатам ЭС - x, но с другой стороны, формальное задание W должно быть согласовано с результатами ЭС x. Текст объяснения T, создаваемый на основе W получается различным, в зависимости от x.
Рассмотрим текстовые конструкции формального задания объяснения и дадим их содержательную трактовку.
Текстовая конструкция строка - это последовательность символов заданного алфавита. Как правило, текст объяснения содержит фиксированные ( не зависящие от результатов ЭС) фразы, принятые в данной предметной области. Это могут быть заголовки, пояснения каких-либо заключений ЭС, вводные фразы и др. Текстовая конструкция строка в формальном задании объяснения предназначена для представления таких фиксированных фраз. Примером таких текстовых конструкций могут быть: “Фамилия, имя, отчество”, “ диагноз при поступлении”, “лечащий врач” и т.д.
Прежде, чем перейти к рассмотрению других конструкций языка, введем вспомогательную конструкцию описание переменной. Конструкция описание переменной необходима для того, чтобы задать имя переменной и связать его с именем отношения P из x и номером j его аргумента. Описание переменной имеет вид: P (c1,..., cj* ,...,cn), где P - имя отношения, представляющего результаты ЭС, c1,...сj-1,cj+1,...,cn - имена вспомогательных переменных, cj*- имя описываемой переменной . Под значением cj* переменнной будем понимать множество всех j-ых элементов кортежей отношения P из x. Значениями вспомогательных переменных c1,...сj-1,cj+1,...,cn является множество кортежей с номерами 1,...,j-1,j+1,...n соответственно.
Текстовая конструкция выводимое множество указывает, что в тексте объяснения необходимо перечислить в определенном (в соответствии с условием) порядке все значения некоторой переменной. Данная конструкция имеет вид <g:усл >, где g- описание переменной, усл- условие, которое накладывается на ее значения (условие может отсутствовать). Условие определяет, в каком порядке значения переменной должны быть помещены в текст объяснения, -либо алфавитном порядке, либо в порядке, который определен в этом условии.
Часто текст объяснения должен содержать повторяющиеся части, и при каждом повторении эти части несколько отличаются друг от друга, причем эти отличия должны определяться результатами ЭС. Текстовая конструкция цикл служит для представления таких повторяющихся частей и имеет вид: <s:усл,a>. Здесь s - описание переменной, усл- условие, которое накладывается на ее значения ( условие может отсутствовать), a - тело цикла. Описание переменной необходимо для того, чтобы задать условия выполнения тела цикла: количество повторений тела цикла в объяснении, а также содержание изменяемых частей в теле цикла. Тело цикла - составной оператор. Содержание изменяемой информации при каждом выполнении тела цикла зависит от значений параметра цикла и вспомогательных переменных. При каждом выполнении тела цикла параметру цикла соответствует некоторое новое значение из множества ее значений, определяемое результатами ЭС и условием усл, которое накладывается на значения переменной. Каждому значению переменной соответствуют подмножества значений вспомогательных переменных.
Текстовая конструкция альтернатива имеет вид: <b, {W1,...,Wm}>. Здесь b-описание переменной, {W1,...,Wm}- описания альтернатив. Описание каждой альтернативы состоит из двух частей- множества условий выбора dk и варианта yk, т.е. Wk=<dk,yk>, 1<=k<=m. Множество условий выбора dk задает либо некоторое число, обозначающее возможное число значений переменной, либо значение (или множество значений), которое может получить переменная по результатам работы ЭС, либо некоторую метку. Вариант yk - это составной оператор, который будет выполняться, если значения переменной удовлетворяют условию выбора dk. Переменная из описания b удовлетворяет условию выбора dk, если число ее значений совпадает с числом в условии выбора, либо значение переменной ( или подмножество ее значений) совпадает со значением ( или подмножеством значений) в условии выбора. Выполнение определенной альтернативы состоит в выполнении варианта (составного оператора) первого по порядку описания альтернативы, для которого переменная из описания b удовлетворяет условию выбора. Если переменная из описания b не удовлетворяет ни одному из условий выбора, то выполняется альтернатива, условием выбора которой является метка.
Процесс построения текста объяснения по его описанию заключается в последовательном выполнении элементов составного оператора формального задания объяснения, начиная с первого, при этом формируется очередное состояние вычислительного процесса, которое зависит от выполняемого элемента описания wi и состояния вычислительного процесса.
Состояние вычислительного процесса хранит информацию о позиционном номере выполняемого элемента объяснения, значениях основных и вспомогательных переменных, отношениях, с которыми они связаны, некоторую дополнительную информацию о состоянии выполнения цикла и альтернативы, а также сформированный на данном шаге текст объяснения. Информация об основных компонентах состояния (за исключением текста объяснения) заносится при выполнении конструкций цикл и альтернатива и необходима для выполнения всех конструкций формального задания объяснения, за исключением строки. Например, если конструкция выводимое множество является составляющей тела цикла, то по описанию переменной в выводимом множестве и информации о значениях основных и вспомогательных переменных будут определены ее значения и помещены в текст объяснения. По окончании выполнения элементов формального задания объяснения состояние вычислительного процесса содержит сформированный текст объяснения.
Описанные в данной работе модели положены в основу инструментальных систем организации диалогового ввода данных и объяснения результатов ЭС, разработанных и реализованных в Отделе экспертных систем Института автоматики и процессов управления ДВО РАН.


ЛИТЕРАТУРА
  1. Экспертные системы. Принципы работы и примеры: Пер. С англ./А. Брукинг, П. Джонс, Ф. Кокс и др.; Под ред. Р. Форсайта. - М.: Радио и связь, 1987.-224с.: с ил. (Кибернетика)

  2. Lowgren Jonas “ Knowledge- Based Design Support and Discourse Management in User Interface Management Systems / Linkoping Studies in Science and Technology. Dissertations No. 239 // department of Computer and Information Science Linkoping University, S-581 83 Linkoping, Sweden, 175 p.

  3. Жожикашвили А.В., Стефанюк В.Л.. Программируемая оболочка экспертной системы Знаток и проблемы ее теоретико-категорного описания.// Техническая кибернетика - N5-1990-с.134-146

  4. Системы управления базами данных и знаний: Справ. изд./ А.А. Наумов, А.М. Вендров, В.К. Иванов и др. -М.:Финансы и статистика, 1991.-352с.

  5. Lowgren J. The IGNATIUS environment: Supporting the design and development of expert-system user interfaces //IEEE Expert.-1992.-v.7.-N4.-p.49-57.

  6. Коутс Р., Влейминк И. Интерфейс "человек-компьютер": Пер. с англ.- М.:Мир, 1990.-501 с.

  7. Успенский В.А., Семенов А. Л. Теория алгоритмов: основные открытия и приложения.- М.: Наука. Гл. Ред. Физ.-мат. лит.,1987.-(Б-чка программиста).-288с.

  8. Клещев А.С. Семантические порождающие модели. Общая точка зрения на фреймы и продукции в экспертных системах: Препринт. Владивосток: ИАПУ ДВНЦ АН СССР, 1986.39с.