<< Предыдущая

стр. 17
(из 26 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

Анализ внутреннего представления осуществляется параллельно с генерацией эхо-вопроса. При этом сама внутренняя структура является управляющей цепочкой, которая задает поверхностную структуру эхо-вопроса. Фрагмент соответствующего множества ATN показан на рис. 7.5.



Рис. 7.5. Фрагмент ATM-представления анализатора запросов
и генератора эхо-вопросов

В результате анализа запросов на объяснения и генерации эхо-вопросов, а также уточнений, которые отражают процесс согласования мнений системы и пользователя, в базе знаний ПОЭС (подсистемы объяснений ЭС) «Cattell» формируется окончательная редакция запроса — фрейм-экземпляр следующего прототипа:

[ expl_request is_a prototype;
rq_team frame; rq_type int; rq_context {string};
expl_fr frame; expl_sl {string}; expl_fun string;
echo_txt{string}; expl_txt{string} ];

В начальный момент вывода текста объяснения в этом экземпляре заполнены слоты rq_team (темаобъяснения из БЗ ПОЭС); rq_type (тип запроса, — WHY, HOW или WHAT, — сформированный анализатором); rq_context (параметры запроса, если они требуются) и echo_txt (поверхностное представление «согласованного» эхо-вопроса). Слоты expl_fr (объясняемый фрейм-экземпляр из предметной БЗ теста); expl_sl (объясняемые слоты объясняемого фрейма-экземпляра) и expl_fun (имя процедуры вывода текста объяснения) заполняются самой ПОЭС. Значение слота expl_txt представляет результат работы.
Собственная БЗ ПОЭС — статическая и содержит совокупность поддерживаемых моделей объяснений, определяемых как экземпляры следующих основных прототипов:


[ explain is_a prototype;
expl_slt{string}; expl_fncstring; expl_knw frame ];
[ v_expl is_a prototype;
why_slt {string}; why (frame);
how_slt {string}; how (frame);
what_slt{string}; what(frame) ];

[ p_expl is_a prototype;
why {frame}; how {frame} ];

[ c_expl is_a prototype;
noneframe; contra frame ];

[ wh is_a prototype;
path{frame}; process string ];

[ path is_a prototype;
typeint;nm_framestring; nm_slot {string} ];
[ rule is_a prototype;

r_fact {string}; r_part {string} ];
В нашем случае это множество экземпляров представляется следующими фреймами:
[ port is_a explain;
expl_slt= { «Ы»,«Ь2»,«ЬЗ»,«Ь4» };
expl_fnc= «portret»;
expl_knw= portret ];
[ prfl is_a explain;
expl_slt
={«A»,«B»,«C»,«E»,«F»,«6»,«H»,«I»,«L»,«M»,«N»,«0»,«Q1»,«Q2»,«Q3»,«Q4» };
expl_fnc=«profile»;
expl_knw=profile ];

[comn is_a explain;
expl_slt = { };
expl_fnc=«com_que»;
expl_knw=common];

Анализ их показывает, что в ЭС «Cattell» поддерживаются модели объяснения всех групп интерпретируемых в вербальном портрете факторов, всех факторов в профиле испытуемого и модели общих запросов.
Так, например, знания, необходимые для объяснения вербального портрета конкретизируются фреймом-экземпляром portret, где заданы ссылки на объясняемые тексты («bl_txt», «b2_txt», «b3_txt», «b4_txt») и способы доступа к релевантной информации из предметной БЗ теста (whl, wh2, wh3, wh4):

[ portret : v_expl;
why_slt ={ «b1_txt», «b2_txt», «b3_txt», «b4_txt» };
why ={ wh1, wh2, wh3, wh4 };
how_slt ={ «b1_txt», «b2_txt», «b3_txt», «b4_txt» };
how ={ wh1, wh2, wh3, wh4 };
what_slt={ «b1_txt», "«b2_txt», «b3_txt», «b4_txt» };
what={ whl, wh2, wh3, wh4 } ];

При такой модели процессор объяснений интерпретирует последовательно описания экземпляров типа wh, где описываются пути, ведущие от запроса на объяснение к тем данным, которые и составляют внутреннее представление ответа.
Наиболее сложной является модель объяснения поглощения факторов, активируемая подмножеством общих вопросов. В этом случае ПОЭС должна иметь в своей БЗ модели всех правил поглощения и объяснять рассуждения машины вывода «Cattell». Для конкретности дальнейшего обсуждения предположим, что обрабатывается запрос вида «Как разрешались противоречия при построении данного портрета?» и пользователь согласился с интерпретацией системы, специфицированной в эхо-вопросе «Лас интересуют правила поглощения противоречивых факторов в данном портрете?» Пусть также, для определенности, единственным поглощенным фактором при выводе вербального портрета был фактор А. Для этого фактора в модели существуют два правила объяснения поглощения, соответствующие очень низкому (ОН) и очень высокому (ОБ) значению этого фактора в семантическом профиле испытуемого:

[ АОН is_a rule; [ AOB is_a rule;
r_fact ={«E», «L»}; r_fact ={«E», «L»};
r_part ={«EOH»,»LOH»} ]; r_part ={«EOB»,«LOB»} ];

Однако реально поглощение фактора А наблюдается лишь тогда, когда значения факторов Е и L тоже ОН или ОБ. Понятно, что в такой ситуации подсистема объяснения должна сравнивать не семантические профили по вышеуказанным факторам, а их числовые профили. Учитывая вышесказанное, продукционная система вывода объяснения поглощений содержит 98 правил, аналогичных правилам для фактора А:

section EXPL-COLLAPSE-A
removeall;
if ( [$curr_s_prfl : A] == [$curr_s_prfl : E] ){
if ( [$curr_s_prfl : A] == «OH» ) insert (AOH-COLLAPSED-E);
if ( [$curr_s_prfl : А] == «08» ) insert (AOB-COLLAPSED-E);
break };
if ( [$curr_s_prfl : A] == [$curr_s_prfl : L] ){
if ( [$curr_s_prfl : A] == «OH» ) insert (AOH-COLLAPSED-L);
if ( [$curr_s_prfl : A] == «OB» ) insert (AOB-COLLAPSED-L);
break };

rule AOH-COLLAPSED-E
:: ( ?[$curr_n_prfl : $curr_A = A]) &&
( ?[$curr_n_prfl : $curr_E = E]) &&
($curr_A <- $curr_E)
==> [expl_request_001 : expl_txt]=
{«Фактор A = «, $curr_A», «(ОН,) поглощен »,
«фактором Е = «, $curr_E, «(ОН), т.к. числовое»,
«значение Е выражено сильнее значения А.»} ];
……………………………………………………………………………………
rule AOB-COLLAPSED-L
:: ( ?[$curr_n_prfl : $curr_A = A] ) &&
( ?[$curr_n_prfl : $curr_L = L] ) &&
($curr_A <= $curr_L)
==> [expl_request_001 : expl_txt]=
{«Фактор A = «, $curr_A», «(OB) поглощен »,
«фактором L = «, $curr_E, «(OB), т.к. числовое»,
«значение L выражено сильнее значения А.»} ];

Таким образом, осуществляется генерация объяснений в ЭС «Cattell». В данной версии каждый запрос на объяснение приводит к генерации одного и того же экземпляра прототипа expl_request. Однако нетрудно модифицировать обсуждавшуюся продукционную программу так, чтобы в БЗ объяснений сохранялась история работы с ней пользователя. В таком случае БЗ объяснений может использоваться для обучения специалистов интерпретации результатов по тесту Кеттелла.
Выше описаны основные проектные решения, использованные при создании психодиагностической ЭС «Cattell». Однако читателям должно быть ясно, что зти решения являются достаточно общими и характерными не только для данной экспертной системы, но и для большинства ЭС диагностики.























Представление данных и знаний
в Интернете

Ё Язык HTML и представление знаний
Ё Онтологии и онтологические системы
Ё Системы и средства представления онтологических знаний

8.1. Язык HTML и представление знаний

8.1.1. Историческая справка

Очевидно, что для представления информации в среде Интернет нужен был язык, который бы был «понимаем» всеми компьютерами в сети и вместе с тем обеспечивал бы достаточные выразительные средства для удобного описания разных типов документов. Таким языком публикаций для WWW и стал HTML (Hyper-Text Markup Language) [WAI, 1999]. Этот язык предоставляет авторам Интернет-публикаций средства:
• представления документов, включающих заголовки, тексты, таблицы, списки, «картинки» и т. п. элементы;
• осуществления навигации по отдельным документам и множеству документов путем использования гиперссылок;
• конструирования диалоговых форм для взаимодействия с удаленными сервисами, доступными в сети, а также:
• включения в документы вычисляемых форм (spread-sheets), видео и звука, равно как и разнообразных приложений.
HTML — «авторский» язык. Первая его версия была разработана Т. Бернерс-Ли (Tim Berners-Lee) из Европейского Центра ядерных исследований (CERN). Активно поддерживался этот язык компанией NCSA, где был реализован один из первых Web-броузеров — Mosaic. Победное шествие HTML по Интернету все 90-е годы объясняется, в первую очередь, взрывным ростом Web и потребностями в единообразном представлении информации, За это время язык претерпел существенные изменения. И уже к середине 90-х годов произошла стандартизация его версий, которая стала курироваться международными организациями.
Версия HTML 2.0 (ноябрь 1995 г.) была разработана под эгидой Internet Engineering Task Force (IETF) для фиксации уже сложившейся практики использования этого языка до 1994 г. включительно [Berners-Lee et al., 1995]. В версиях HTML+ (1993 г.) и HTML 3.0 (1995 г.) описательные возможности языка были существенно расширены. Практика использования новых конструкций усилиями World Wide Web Consortium's (W3C) HTML Working Group была зафиксирована в HTML 3.2 (январь 1997 г.) [Raggett, 1997]. В настоящее время наиболее развитой является версия языка HTML 4.0 [HTML 4, 1998], в которой представлены новые возможности аппаратуры и требования производителей программного обеспечения броузеров, а также пожелания Интернет-авторов.

8.1.2. HTML — язык гипертекстовой разметки
Интернет-документов

Целью настоящей главы в целом и данного параграфа в частности, безусловно, не является описание языка HTML или изложение приемов создания Интернет-документов с использованием этого языка. Для этого в настоящее время имеется достаточное число книг, пособий и Интернет-сайтов, в том числе и русскоязычных (например, http://www.citforum.ru/). Вместе с тем для обсуждения возможностей HTML по представлению в Интернет знаний, а не данных основные понятия этого языка нам потребуются. Вот почему ниже приводится краткое описание структуры HTML-текстов и некоторых основных конструкций самого языка.
HTML — язык разметки Интернет-документов с помощью специальных конструкций, называемых тегами (tag). Для выделения тегов в HTML-текстах эти конструкции берутся в угловые скобки. Различают теги «открытия» размечаемого фрагмента (они задаются ключевым словом и, быть может, множеством допустимых параметров) и теги его «закрытия» (такие теги суть то же ключевое слово, которому предшествует символ «/»). В отличие от начальных конечные теги параметров не имеют. Некоторые из начальных тегов не имеют парных конечных. Регистр, в котором представлены ключевые слова тегов и их параметров, роли не играет. Пожалуй, этими соглашениями и исчерпываются основные правила, которым следуют все спецификации языка HTML. Отметим лишь, что полное и строгое его описание базируется на специальной системе спецификации языков разметки SGML [Goldfarb, 1991], одним из примеров использования которой и является HTML.
Общая структура HTML-документа может быть представлена следующим форматом:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
<ТIТLЕ>Наименование документа</ТIТL_Е>
<МЕТА name=keywords сопtеnt="Представление знаний,
Мультиагентные системы">
</НЕАD>
<BODY>
Собственно текст документа
</BODY>
</HTML>
Как следует из приведенного формата, комментарий <!DOCTYPE ...> фиксирует текущее состояние спецификации версии языка HTML Кроме того, в HTML-документе выделяются две основные структурные единицы — «голова» документа (между тегами <HEAD> и </HEAD>) и его «тело» (между тегами <BODY> и </BODY>).
Один из элементов головы документа — это заголовок — произвольный текст между тегами <TITLE> и </TITLE>. He менее, а быть может и более важным элементом головы документа является тег <МЕТА... >. В приведенном выше примере этот тег с помощью параметров name и content фиксирует значение первого атрибута как keywords, а второго — как ключевые слова «Представление знаний» и «Мультиагентные системы». Этот и некоторые другие теги типа <МЕТА ... > ориентированы на аннотирование Интернет-документов и, кроме того, существенно облегчают задачу индексирования их, например, с помощью сетевых роботов. Собственно содержание документа находится в теле. Как правило, оно состоит из последовательности структурных единиц, базисными среди которых являются заголовки разного уровня (текст, заключенный между тегами <Hi> и </Hi>) и параграфы — текст между тегами <Р> и </Р>. По существу, это минимальные средства форматирования Интернет-документов. Естественно, что в HTML, особенно в его последней версии HTML 4.0, такие средства значительно богаче. Здесь и всевозможные выравнивания, и табуляция, и несколько типов списков, и т. д. Но более важными базовыми конструкциями языка HTML, которые, собственно, и дают основание ввести в его название термин «гипертекст», являются якоря (anchors).
Синтаксически эти конструкции представлены тегами <А> и </А> с атрибутами
NAME и HREF.

Собственно якорем является конструкция вида

<А МАМЕ="Метка">текст</А>,

которая обеспечивает уникальное (в пределах документа) имя начала определенного фрагмента HTML-текста. При этом текст, заключенный между тегами <А> и </А>, как правило, задает семантически значимое наименование заголовка.
Для ссылок на помеченные таким образом части Интернет-документа используются конструкции

<А НВЕР="#Метка">текст</А> или <А ННЕР="URL">текст</А>.

Первая из них задает локальную ссылку на часть документа, начинающуюся с указанной метки. Вторая — глобальную ссылку на документ в сети, однозначно идентифицируемый с помощью URL (Unified Resource Locator). По существу, URL — это Интернет-адрес: имя домена, уточненное названием протокола и собственное имя документа, включая путь к нему в пределах данного домена. В качестве примера URL можно привести следующую ссылку вида http://www. anywhere.ru/anywhat.html.
Использование в Интернет-публикациях ссылок позволяет организовать логическое структурирование информации и обеспечивает удобную и единообразную навигацию как в пределах одного документа, так и в целом но множеству документов, которые, по мнению автора данного HTML-текста, связаны между собой. Важными конструкциями HTML, особенно в его последней версии, являются также таблицы с богатыми возможностями задания многоуровневых заголовков и формы, с помощью которых в язык введены'средства обеспечения диалога с читателями Интернет-документов. Базисными конструкциями форм являются редактируемые текстовые поля, элементы выбора, кнопки и т. п. Примеры форматов спецификации таблиц и форм приведены ниже.

<TABLE>
<TR>
<TD> Столбец-1, строка-1
</TD> <ТD> Столбец-1, строка-2 </ТD>
</TR>
</TA8LE>

<FORM METHOD="POST" ...>
<P>
Вы можете ввести в поле одну строку:
<INPUT NAME="entry">
</Р>
<Р>
Для обработки результатов ввода нажмите кнопку:
<INPUT TYPE="submit" УАШЕ="Принять запрос">
</Р>
</FORM>

Заметим, что именно на уровне форм в HTML появились возможности ввода информации в просматриваемый документ и ее обработки с помощью специальных программ, выполняемых на сервере. В последних версиях языка эта идея получила дальнейшее развитие и в настоящее время присоединенные процедуры могут быть подключены к HTML-документу не только в формах, но и в других конструкциях, а их выполнение может осуществляться как на сервере, так и на клиенте.
Следующей важной конструкцией, которая появилась уже в версии языка HTML 2.0, являются кадры (frames). Часто их называют также рамками или фреймами. С использованием кадров стало возможным разделить документ на части и представлять их в отдельных, правда неперекрывающихся, областях экрана. По существу, с кадрами в язык HTML были введены в ограниченном объеме средства представления информации, характерные для многооконных приложений. Экранная форма с примером структуризации документа с помощью кадров приведена на рис. 8.1.




На наш взгляд, концепция кадров получила естественное развитие в конструкциях HTML 4.0, названных слоями (layers). Основными достоинствами слоев являются возможность их «привязки» по месту на экране, динамическое «всплы-вание» и «схлопывание» слоев, а также их перекрытие.
Кроме слоев в HTML 4.0 появились и другие конструкции, расширяющие возможности разметки Интернет-документов, среди которых следует отметить интернационализацию (использование стандарта ISO/IEC:10646 в качестве базового множества допустимых символов, а также появление специальных тегов фиксирующих кодировку документа); более четкое разделение между структурой документа и его представлением за счет таблиц стилей (style sheets); скрипты (scripts), поддерживающие, в частности, создание динамических страниц - новый механизм интеграции текстовых и графических ссылок, исполняемый на стороне клиента (client-side image map mechanism) и, безусловно, стандартизацию механизма подключения к HTML-документам базисных медиаобъектов и приложений (embedding generic media objects and applications). Справедливости ради следует отметить, что интерпретация некоторых конструкций последних версий языка HTML разными броузерами различна. Однако, как представляется, это не принципиальные, а технологические трудности совместимости программных продуктов разных фирм, в первую очередь Microsoft и Netscape.
В целом же можно констатировать, что текущая версия языка HTML является мощным средством разметки Интернет-документов. Но ориентирован этот язык скорее на «разметку визуализации», чем на семантическую разметку, доступную для восприятия не только читателями-людьми, но и программами (в первую очередь, агентами, функционирующими в среде Интернет, которые обсуждаются в следующей главе настоящей книги). И тем не менее некоторые, правда ограниченные, возможности для представления знаний имеются в этом языке и сейчас. Вот почему в следующем подразделе данного параграфа эти вопросы обсуждаются подробнее.

8.1.3. Возможности представления знаний
на базе языка HTML

Выше были рассмотрены основные конструкции HTML. Теперь обсудим, каким образом они могут быть использованы для семантической разметки Интернет-документов и насколько это вообще возможно и эффективно. Для этого выделим те конструкции языка, которые могут быть полезными для решения данной задачи.
Очевидно, что к их числу, прежде всего, относятся теги типа <TITLE>, <META... > и <А...Х
Первый важен для фиксации семантики всего HTML-документа, так как текст, заключенный между тегами <TITLE> и </TITLE>, чаще всего отражает его назначение и/или содержание.
Теги типа <МЕТА... >, по существу, вводят имена атрибутов и их значения с помощью параметров name=«...» и content=«...», а ссылки и якоря фиксируют отношения между частями одного документа и/или отдельными документами.
Но если теги типа <МЕТА ... > явно вводят семантику значений атрибутов, одинаково интерпретируемых броузерами за счет ключевых слов (например, keywords, author и др.), которые могут быть значениями параметра name, то теги типа <А... > лишь фиксируют факт наличия отношения между ссылкой и ее якорем. В некоторых случаях этому отношению можно «приписать» имя SeeAlso, в других — Isa, ConsistOf, PartOf или иное подходящее имя, но в целом семантика данной конструкции имплицитна, а встроенная интерпретация ее связана лишь с переходом по ссылке и визуализацией начала соответствующего фрагмента документа или загрузкой нового документа для просмотра.
Из других конструкций HTML полезными для последующей обработки на предмет эксплицитного представления семантики соответствующих частей документа могут быть заголовки разделов и подразделов (тексты между тегами <Hi> и </Hi>), списки, таблицы и другие элементы языка.
Но в целом можно отметить, что выделение значимых для семантической интерпретации конструкций является экспертной задачей, решаемой каждый раз автором соответствующей Интернет-публикации по-своему. Правда, уже существуют определенные стереотипы, особенно заметные на коммерческих сайтах. Так, например, при анализе сайтов Интернет-магазинов, проведенном Н. В. Майкевич, было зафиксировано, что каталоги товаров в настоящее время в большинстве случаев представляются таблицами и/или списками либо «зашиты» в чувствительные для щелчка мышью графические образы. Аналогичная ситуация характерна и для индексов на сайтах машин поиска.
Для примера на рис. 8.2 приведена экранная форма известного электронного магазина, функционирующего в сети по адресу http://amazon.com/.

Фрагмент соответствующего НТМL текста представлен ниже:

<html>
<head>
<title>
Amazon.com: Electronics/Software/Operating Systems
</title>
</head>
.... …….
<body ... >
………………………………………………………………………..
<table ...>
<tr>
<td colspan=2 bgcolor=#EEEECC>
<font ... >Browse <B>Operating Systems</B></font>
</td>
</tr>
<tr>
<td bgcolor="FFFFFF" valign="top" width=50%>
<ul>
<li><a href=/exec/obidos/tg/electronics/... > DOS</a>
<li><a href=/exec/obidos/tg/electronics/...> Linux & Unix</a>
<li><a href=/exec/obidos/tg/electronics/...> Macintosh</a>
</ul>
</td>
<td valign="top" width=50%>
<ul>
<lixa href=/exec/obidos/tg/electronics.. . > Microsoft Windows</a>

<li><a href=/exec/obidos/tg/electronics/...> OS2</a>
</ul>
</td>
</tr>
</ table>

Как следует из сравнения экранной формы (см. рис. 8.2) и приведенного HTML-текста, каталог товаров организован в виде таблицы (тег <table>), в ячейках которой (тег <td>) с помощью конструкции списка (тег <li>) перечислены продукты (в данном случае это операционные системы DOS, Linux & Unix, Macintosh, Microsoft Windows и OS2). Собственно описания этих продуктов и их характеристики заданы в виде ссылок на отдельные документы (теги <а href=/exec/ obidos/tg/electronics...>). При этом из анализа HTML-текста следует, что его семантически значимые характеристики могут быть «закопаны» достаточно глубоко. И более того, разбросаны по разным частям одного документа и даже разным документам. Все вышесказанное существенно затрудняет семантический анализ Интернет-документов, независимо от того, выполняется ли он людьми-экспертами или специальными программами.
Решение проблемы семантического анализа Интернет-документов в настоящее время связывается с использованием двух подходов. В рамках первого из них предполагается, что семантическая разметка HTML-текста выполняется вручную (или полуавтоматически, с применением соответствующих инструментальных средств) его автором на основе специальных метатегов. По существу, результатом такой разметки является семантическая сеть, отражающая знания, представленные в документе. Второй подход связан с автоматическим и/или полуавтоматическим преобразованием исходного текста в специальное семантическое представление, как правило, в онтологию или ее фрагмент.
Подробнее эти подходы обсуждаются ниже. Но и в том и в другом случае для выполнения указанных преобразований целесообразно конвертирование HTML-текстов в более удобное для дальнейшей обработки представление. Для иллюстрации возможностей применения к решению этой задачи средств представления знаний, описанных в предыдущих главах, рассмотрим интеллектуальный HTML-конвертор [Maikevich et al, 1998].
Для сокращения объема материала обсудим подмножество языка HTML, которое может быть задано следующими BNF-определениями:

HTML-текст ::= <HTML> HEAD BODY </HTML>
HEAD ::= TITLE { HEAD } | ...
TITLE ::= <TITLE> строка </TITLE>
BODY ::= <BODY> HTML-BODY </BODY>
HTML-BODY ::= PARAGRAPH { HTML-BODY } |
HEADER { HTML-BODY } | LIST { HTML-BODY } | ...
HEADER ::= <H1> TEXT </H1> \ <H2> TEXT </H2> \ ...

<< Предыдущая

стр. 17
(из 26 стр.)

ОГЛАВЛЕНИЕ

Следующая >>