Сочетание инициативы пользователя и ЭС в управлении диалогом по вводу данных. Большинство ЭС поддерживают машино-управляемый диалог, в котором ЭС управляет диалогом. Такой диалог имеет много ограничений. Поэтому более предпочтительно сочетание инициативы пользователя и ЭС в диалоге для ввода исходных данных. В этом случае ЭС должна предоставлять пользователю информацию о структуре и вариантах вводимых данных на основе которой пользователь может инициировать диалог, удовлетворяющий целям этого пользователя.
ЭС должна обеспечивать доступ к введенным данным и возможность их редактирования. В процессе работы с ЭС может возникнуть необходимость изменения введенных данных, либо ввода дополнительных данных; пользователь также может совершать ошибки при вводе данных, которые требуют исправления. Поэтому пользователю необходимо дать возможность просматривать введенные данные, возвращаться назад к предыдущим состояниям его диалога всякий раз, когда он сделал ошибку или хочет что-либо изменить в этих состояниях.
Обеспечение легкой модифицируемости интерфейса. При проектировании интерфейса необходимо учитывать, что не только на этапе разработки, но также и в процессе эксплуатации знания о предметной области, и, как следствие, знания об исходных данных могут изменяться. А это ведет к необходимости частой модификации интерфейса. «Легкая модифицируемость» интерфейса – понятие относящееся к так называемым «нечетким понятиям»: его невозможно точно определить или выразить количественно, но совершенно очевидно, что если модифицирование интерфейса требует внесение изменений в базу знаний или машину логического вывода, то его модифицирование представляет собой значительные трудности. Поэтому под «легкой модифицируемостью» интерфейса будем понимать модифицируемость интерфейса, не затрагивающую при этом «ядро» ЭС – базу знаний и машину логического вывода, а также внесение изменений в интерфейс, не требующих при этом модификации программ системы.
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, где aÎN, а b имеет вид:
гдеtÎFгдеtiÎNÈT, l>1гдеtiÎNÈT, l>1. |
При этом должны выполняться следующие условия:
– для любых a1,a2 ÎN, если правила a1®b, a2®b входят в P, то a1¹a2;
– для любого aÎN, если a встречается в правой части порождающего правила, то обязательно имеется правило вида a®b;
– в системе правил не существует таких правил, что aÞ*t и tÞ*a. Здесь aÞt означает, что в системе правил существует правило вида a®t1|…|t|…|tn или правило вида a®t1,…,t,…,tn; aÞ*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, где 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.