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

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

ОГЛАВЛЕНИЕ

Следующая >>

PARAGRAPH ::= <P> TEXT </P>
LIST ::= <UL> LIST-ATOM { LIST-ATOM } </UL> \
<OL> LIST-ATOM { LIST-ATOM } </OL> \
<MENU> LIST-ATOM { LIST-ATOM } <MENU> \ ...
………………………………………………………………………..
ANCHOR ::= <A HREF= LINK > TEXT </A> |
<A NAME= метка > TEXT </A>
TEXT ::= ...
LIST-ATOM ::= ...
LINK ::=...
………………………………………………………………

Некоторые из синтаксических диаграмм, соответствующих приведенным выше правилам, представлены на рис. 8.3 и 8.4.





Рис. 8.4. Синтаксическая диаграмма понятия LINK

Как следует из приведенных правил и диаграмм, с теоретической точки зрения HTML — это простой язык программирования с контекстно-свободной грамматикой. Нетрудно показать, что для анализа HTML-текстов можно использовать, например, нисходящие распознаватели, реализуемые на базе метода рекурсивного спуска. При этом возможны разные подходы. Ниже для этого используется продукционно-фреймовый формализм представления знаний и показывается, как на этой основе может быть разработан интеллектуальный HTML-конвертор.
Прежде всего зададим регулярное отображение каждого правила спецификации HTML-конструкций в соответствующий объект базы знаний нагуровне фрейма-прототипа. Система таких прототипов даст нам описание языка, а множество фреймов-экземпляров — спецификацию конкретных и синтаксически правильных HTML-текстов. Основные правила такого отображения следующие:
• каждому концепту из левой части BNF-определения поставим в соответствие имя фрейма-прототипа;
• альтернативам из правой части BNF-определения при этом должны соответствовать имена слотов этого фрейма;
• для концептов-нетерминалов соответствующий слот должен иметь тип frame;
• для концептов-терминалов соответствующие слоты будут, как правило, иметь типы numb или string,
• рекурсия в BNF-определениях заменяется итерацией, а соответствующие слоты становятся множественными.
Применение сформулированных выше правил к BNF-определениям языка HTML приводит нас к следующему множеству фреймов-прототипов:

[htmlis_aprototype, if_added HTML ();
HEADframe, restr_by head;
BODYframe, restr_by body ];
[headis_aprototype, if_added HEAD ();
BODYjframe}, restr_by one_of {title, ...} ];
[title is_aprototype, if_added TITLE ();
BODYstring ];
……………………………………………………………………………
[bodyis_aprototype, if_added BODY ();
SENT{frame}, restr_by one_of {header, paragraph, list, ...} ];
[header is_aprototype;
BODYframe, restr_by text ];
[hi is_aheader,if_added H1()];...[h6 is_aheader, if_added H6()];
[paragraph is_aprototype, if_added PARAGRAPH ();
BODYframe, restr_by text ];
[listis_aprototype;
ATOM{frame}, if_added LI () ];
……………………………………………………………………….
[textis_aprototype;
ATOM{f rame}, restr_by one_of {br, hr, image, anchor,..., line}
[br is_aprototype; if_added BR () ];
[hr is_aprototype; if_added HR () ];
[image is_aprototype; if_added IMG ();
SRC frame, restr_by link ];
[anchor is_aprototype;
BODYframe, restr_by text ];
…………………………………………………………………..
[linkis_aprototype;
URL frame, restr_by one_of {http, ftp, ..,} ];
MAILframe, restr_by mail ];
[url is_alink;
without_slot MAIL];
[httpis_aurl,if_added HTTP ();
SERVER string;
DIR {string};
FILEstring ];
[ftp is_aurl, if_added FTP ();
SERVER string;
DIR {string};
FILEstring ];
……………………………………………………………………….

Теперь, в соответствии с приведенными фреймами-прототипами и синтаксическими диаграммами, можно специфицировать процедурную часть конвертора как систему демонов, присоединенных к фреймам и/или их слотам. Для примера ниже приводится спецификация одного из таких демонов на языке Java [Нортон и др., 1998]:

public class HTML extends FramePrototype {
HEAD head = null;
BODY body = null;
………………………….
String keyword;

public void HTML (String name)
{ super (name);
keyword = getToken ();
if (keyword.compareTo ("<HTML>") == 0) {
head = new HEAD (getNewName ());
body = new BODY (getNewName ());
};
keyword = getToken ();
if (keyword.compareTo ("</HTML>") == 0) return;
}
…………………………………………………………………….
}

По существу, такой демон не что иное, как конструктор класса HTML, а запуск конвертора осуществляется с помощью оператора создания нового объекта этого класса:

HTML currPage = new HTML (get_new_name ());

При этом будут рекурсивно вызываться конструкторы других классов (на верхнем уровне это HEAD и BODY), что, в конечном счете, приведет к построению множества фреймов-экземпляров, представляющих анализируемую HTML-страницу (currPage).
Понятно, что в общем случае такой подход дает нам средства синтаксически-ориентированного конвертирования HTML-текста во фреймовое представление. Но получение полезной для дальнейшей работы базы знаний предполагает его дальнейшую семантическую интерпретацию и построение в конечном счете семантической сети, отражающей смысл исходного Интернет-документа. Для примера, фрагменты такой семантической сети для HTML-текста описания секции «Электроника» магазина Amazon.com, обсуждавшегося выше, приведены на рис. 8.5.
По сути дела, эта семантическая сеть представляет фрагмент онтологии предметной области «Электронная коммерция», которая может быть базисом для решения разнообразных практических задач. Так, например, с ее помощью могут решаться задачи поиска определенных товаров по запросу пользователя, осуществляться маркетинговый анализ запросов и т. п. Во всех этих и многих других случаях онтологии играют ключевую роль как один из перспективных подходов к представлению знаний в среде Интернет.
Вместе с тем, несмотря на важность понятия онтологии для теории и практики современных интеллектуальных систем, общепринятого понимания этого термина нет, хотя различные определения, предложенные разными авторами и научными коллективами [Gruber, 1991; Guarino, 1996; Fridman et al., 1997], распространяются и медленно конвергируют. Поэтому в следующем параграфе обсуждается само понятие онтологии и вводится соответствующая система моделей [Maikevich et al., 1999], затем приводится классификация онтологии, полезная для последующего сравнения известных в этой области проектов. В заключительных разделах главы обсуждаются примеры онтологии и специальные системы аннотирования Интернет-ресурсов на основе онтологии.



Рис. 8.5. Фрагмент семантической сети для секции
«Электроника» магазина Amazon.com




8.2. Онтологии и онтологические системы

8.2.1. Основные определения

Онтология (от др.-греч. онтос — сущее, логос — учение, понятие) — термин, определяющий учение о бытии, о сущем, в отличие от гносеологии — учения о познании. Уже у X. Вольфа (1679-1754), автора самого термина «онтология», учение о бытии было отделено от учения о познании. Введен же термин в философскую литературу немецким философом Р. Гоклениусом (1547-1628). При этом онтология являлась частью метафизики, наукой самостоятельной, независимой и не связанной с логикой, с «практической философией», с науками о природе. Ее предмет составляет изучение абстрактных и общих философских категорий, таких как бытие, субстанция, причина, действие, явление и т. д., а сама онтология как наука претендовала на полное объяснение причин всех явлений [Розенталь и др., 1951].
Понятно, что такое определение мало пригодно для практического использования, но дает отправную точку для дальнейшей конкретизации и обсуждения с точки зрения целей настоящего издания. В этом смысле интереснее определение онтологии, предложенное в рамках разработки системы стандартов на мульти-агентные системы международным сообществом FIPA (Foundation for Intelligent Physical Agents). В работе [FIPA, 1998] утверждается, что

При этом сама система категорий не зависит от конкретного языка: онтология Аристотеля всегда одна и та же, независимо от языка, использованого для ее описания.
С другой точки зрения, более близкой к понятиям, связанным с ИИ, онтология — это формально представленные на базе концептуализации знания. Концептуализация, как уже обсуждалось выше, предполагает описание множества объектов и понятий, знаний о них и связей между ними. Таким образом,

Часто набор предположений, составляющих онтологию, имеет форму логической теории первого порядка, где термины словаря являются именами унарных и бинарных предикатов, называемых соответственно концептами и отношениями. В простейшем случае онтология описывает только иерархию концептов, связанных отношениями категоризации. В более сложных случаях в нее добавляются подходящие аксиомы для выражения других отношений между концептами и для того, чтобы ограничить их предполагаемую интерпретацию. Учитывая вышесказанное, онтология представляет собой базу знаний, описывающую факты, которые предполагаются всегда истинными в рамках определенного сообщества на основе общепринятого смысла используемого словаря.
Еще более конкретно понятие онтологии в известном проекте Ontolingua [Far-quhar et al., 1996], который активно ведется в Стэнфордском университете. Здесь предполагается, что

Такой подход предполагает формальное и декларативное представление некоторой темы, которое включает словарь (или список констант) для отсылки к терминам предметной области, ограничения целостности на термины, логические утверждения, которые ограничивают интерпретацию терминов и то, как они соотносятся друг с другом.
Резюмируя вышесказанное, можно констатировать, что в настоящее время понимание термина «онтология» различно, в зависимости от контекста и целей его использования. В работе [Guarino, et al., 1995a] дано достаточно содержательное и интересное обсуждение этих вопросов, которое сводится в конечном счете к тому, что здесь выделяются следующие аспекты интерпретации этого термина:
1. Онтология как философская дисциплина.
2. Онтология как неформальная концептуальная система.
3. Онтология как формальный взгляд на семантику.
4. Онтология как спецификация «концептуализации».
5. Онтология как представление концептуальной системы через логическую теорию, характеризуемую:
Ё специальными формальными свойствами или
Ё только ее назначением.
6. Онтология как словарь, используемый логической теорией.
7. Онтология как (метауровневая) спецификация логической теории.
Следует отметить, что первая интерпретация радикально отличается от остальных и связана, как предлагают авторы вышеуказанной работы, с тем, что здесь мы говорим об Онтологии (с большой буквы) и имеем в виду философскую дисциплину, изучающую, согласно Аристотелю, природу и организацию сущего. В этом смысле Онтология пытается ответить на вопрос: «Что есть сущее?» или, в другой формулировке, на вопрос: «Какие свойства являются общими для всего сущего?» Когда же мы говорим об онтологии (с маленькой буквы), то ссылаемся на объект, природа которого может быть различной, в зависимости от выбора между интерпретациями 2-7. Согласно второй интерпретации онтология является концептуальной системой, которую мы можем предполагать в качестве базиса определенной БЗ. Согласно интерпретации 3 онтология, на основе которой построена БЗ, выражается в терминах подходящих формальных структур на семантическом уровне. Таким образом, эти две интерпретации рассматривают онтологию как концептуальную «семантическую» сущность, неважно, формальную или неформальную, в то время как интерпретации 5-7 трактуют онтологию как специальный «синтаксический» объект. Оставшаяся, четвертая интерпретация, которая была предложена Грубером [Gruber, 1993] в качестве определения онтологии для использования в рамках ИИ-сообщества, — одна из наиболее проблематичных, так как точный смысл ее зависит от понимания терминов «спецификация» и «концептуализация». И вместе с тем именно это определение чаще всего и используется в настоящее время в работах по проектированию и исследованию онтологии.
Для определенности дальнейшего изложения мы будем считать, что

При этом онтологический инжиниринг — ветвь инженерии знаний, использующий Онтологию (с большой буквы) для построения онтологии (с маленькой буквы). Понятно, что любая онтология имеет под собой концептуализацию, но одна концептуализация может быть основой разных онтологии, и две разные БЗ могут отражать одну онтологию.

8.2.2. Модели онтологии и онтологической системы

Выше уже отмечалось, что понятие онтологии предполагает определение и использование взаимосвязанной и взаимосогласованной совокупности трех компонент: таксономии терминов, определений терминов и правил их обработки. Учитывая это, введем следующее определение понятия модели онтологии:


Заметим, что естественным ограничением, накладываемым на множество X, является его конечность и непустота. Иначе обстоит дело с компонентами Ф и В в определении онтологии О. Понятно, что и в этом случае Ф и В должны быть конечными множествами. Рассмотрим, однако, граничные случаи, связанные с их пустотой.
Пусть В = Ж и Ф = Ж. Тогда онтология О трансформируется в простой словарь:

О = V = бХ, {}, {}с.

Такая вырожденная онтология может быть полезна для спецификации, пополнения и поддержки словарей ПО, но онтологии-словари имеют ограниченное использование, поскольку не вводят эксплицитно смысла терминов. Хотя в некоторых случаях, когда используемые термины принадлежат очень узкому (например, техническому) словарю и их смыслы уже заранее хорошо согласованы в пределах определенного (например, научного) сообщества, такие онтологии применяются на практике. Известными примерами онтологии этого типа являются индексы машин поиска информации в сети Интернет.
Иная ситуация в случае использования терминов обычного естественного языка или в тех случаях, когда общаются программные агенты. В этом случае необходимо характеризовать предполагаемый смысл элементов словаря с помощью подходящей аксиоматизации, цель использования которой — в исключении нежелательных моделей и в том, чтобы интерпретация была единой для всех участников общения.
Другой вариант соответствует случаю В = Ж, но Ф № Ж. Тогда каждому элементу множества терминов из X может быть поставлена в соответствие функция интерпретации f из F. Формально это утверждение может быть записано следующим образом. Пусть

Х = Х1 И Х2,
причем
X1 З X2 = Ж,

где X1 — множество интерпретируемых терминов; Х2 — множество интерпретирующих терминов.
Тогда


где f О Ф.
Пустота пересечения множеств Х1 и Х2 исключает циклические интерпретации, а введение в рассмотрение функции k аргументов призвано обеспечить более полную интерпретацию. Вид отображения f из Ф определяет выразительную мощность и практическую полезность этого вида онтологии. Так, если предположить, что функция интерпретации задается оператором присваивания значений (Х1 : = Х2, где X1 — имя интерпретации Х2), то онтология трансформируется в пассивный словарь Vp:

О = Vp = бX1 И Х2, {}, {: = }с

Такой словарь пассивен, так как все определения терминов из X1 берутся из уже существующего и фиксированного множества Х2.. Практическая ценность его выше, чем простого словаря, но явно недостаточна, например, для представления знаний в задачах обработки информации в Интернете в силу динамического характера этой среды.
Для того чтобы учесть последнее обстоятельство, предположим, что часть интерпретирующих терминов из множества Х2 задается процедурно, а не декларативно. Смысл таких терминов «вычисляется» каждый раз при их интерпретации.
Ценность такого словаря для задач обработки информации в среде Интернет выше, чем у предыдущей модели, но все еще недостаточна, так как интерпретируемые элементы из Х1 никак не связаны между собой и, следовательно, играют лишь роль ключей входа в онтологию.
Для представления модели онтологии, которая нужна для решения задач обработки информации в Интернете, очевидно, требуется отказаться от предположения В = Ж.
Итак, предположим, что множество отношений на концептах онтологии не пусто, и рассмотрим возможные варианты его формирования.
Для этого введем в рассмотрение специальный подкласс онтологии — простую таксономию следующим образом:

О = Т0 = < X, {is_a}, {}>.

Отношение is_a имеет фиксированную заранее семантику и позволяет организовывать структуру понятий онтологии в виде дерева. Такой подход имеет свои преимущества и недостатки, но в общем случае является адекватным и удобным для представления иерархии понятий.
Результаты анализа частных случаев модели онтологии приведены в таблице 8.1.
Таблица 8.1.
Классификация моделей онтологии



Далее можно обобщить частные случаи модели онтологии таким образом, чтобы обеспечить возможность:
• представления множества концептов X в виде сетевой структуры;
• использования достаточно богатого множества отношений В, включающего не только таксономические отношения, но и отношения, отражающие специфику конкретной предметной области, а также средства расширения множества В;
• использования декларативных и процедурных интерпретаций и отношений, включая возможность определения новых интерпретаций.
Тогда можно ввести в рассмотрение модель расширяемой онтологии и исследовать ее свойства. Однако, учитывая техническую направленность данной книги, мы не будем делать этого здесь, а желающих познакомиться с такой моделью отсылаем к работе [Maikevich et al., 1999J. Как показано в этой работе, модель расширяемой онтологии является достаточно мощной для спецификации процессов формирования пространств знаний в среде Интернет. Вместе с тем и эта Модель является неполной в силу своей пассивности даже там, где определены соответствующие процедурные интерпретации и введены специальные функции пополнения онтологии. Ведь единственной точкой управления активностью в такой модели является запрос на интерпретацию определенного концепта. Этот запрос выполняется всегда одинаково и инициирует запуск соответствующей процедуры. А собственно вывод ответа на запрос и/или поиск необходимой для этого информации остается вне модели и должен реализовываться другими средствами.
Учитывая вышесказанное, а также необходимость эксплицитной спецификации процессов функционирования онтологии, введем в рассмотрение понятие онтологической системы

Использование системы онтологии и специальной машины вывода позволяет решать в такой модели различные задачи. Расширяя систему моделей (Оd&t}, можно учитывать предпочтения пользователя, а изменяя модель машины вывода, вводить специализированные критерии релевантности получаемой в процессе поиска информации и формировать специальные реггозитории накопленных данных, а также пополнять при необходимости используемые онтологии.
В модели SO имеются три онтологические компоненты:
• метаонтология;
• предметная онтология;
• онтология задач.
Как указывалось выше, метаонтология оперирует общими концептами и отношениями, которые не зависят от конкретной предметной области. Концептами метауровня являются общие понятия, такие как «объект», «свойство», «значение» и т. д. Тогда на уровне метаонтологии мы получаем интенсиональное описание свойств предметной онтологии и онтологии задач. Онтология метауровня является статической, что дает возможность обеспечить здесь эффективный вывод.
Предметная онтология Odomain содержит понятия, описывающие конкретную предметную область, отношения, семантически значимые для данной предметной области, и множество интерпретаций этих понятий и отношений (декларативных и процедурных). Понятия предметной области специфичны в каждой прикладной онтологии, но отношения — более универсальны. Поэтому в качестве базиса обычно выделяют такие отношения модели предметной онтологии, как part_of, kind_of, contained_in, member_pf, see_also и некоторые другие.
Отношение part_of определено на множестве концептов, является отношением принадлежности и показывает, что концепт может быть частью других концептов. Оно является отношением типа «часть-целое» и по свойствам близко к отношению is_a и может быть задано соответствующими аксиомами. Аналогичным образом можно ввести и другие отношения типа «часть-целое».
Иначе обстоит дело с отношением see_also. Оно обладает другой семантикой и другими свойствами. Поэтому целесообразно вводить его не декларативно, а процедурно, подобно тому, как это делается при определении новых типов в языках программирования, где поддерживаются абстрактные типы данных:

X see_also Y:
see_also member_of Relation {
if ( (X is_a Notion) & (Y is_a Notion) & (X see_also Y) )
if (Operation connected_with X)
Operation connected_with Y
};

Заметим, что и отношение see_also «не вполне» транзитивно. Действительно, если предположить, что (X1 see_also Х2) & (Х2 see_also X3), то можно считать, что (XI see_also ХЗ). Однако по мере увеличения длины цепочки объектов, связанных данным отношением, справедливость транзитивного переноса свойства connected_with падает. Поэтому в случае отношения see_also мы имеем дело не с отношением частичного порядка (как, например, в случае oтношения is_a), а с отношением толерантности. Однако для простоты это ограничение может быть перенесено из определения отношения в функцию его интерпретации. Анализ различных предметных областей показывает, что введенный выше набор отношений является достаточным для начального описания соответствующих онтологии. Понятно, что этот базис является открытым и может пополняться в зависимости от предметной области и целей, стоящих перед прикладной системой, в которой такая онтология используется.
Онтология задач в качестве понятий содержит типы решаемых задач, а отношения этой онтологии, как правило, специфицируют декомпозицию задач на подзадачи. Вместе с тем, если прикладной системой решается единственный тип задач (например, задачи поиска релевантной запросу информации), то онтология задач может в данном случае описываться словарной моделью, рассмотренной выше. Таким образом, модель онтологической системы позволяет описывать необходимые для ее функционирования онтологии разных уровней. Взаимосвязь между онтологиями показана на рис. 8.6.



Рис. 8.6. Взаимосвязь между онтологиями онтологической системы

Машина вывода онтологической системы в общем случае может опираться на сетевое представление онтологии всех уровней. При этом ее функционирование будет связано:
• с активацией понятий и/или отношений, фиксирующих решаемую задачу (описание исходной ситуации);
• определением целевого состояния (ситуации);
• выводом на сети, заключающемся в том, что от узлов исходной ситуации распространяются волны активации, использующие свойства отношений, с ними связанных. Критерием остановки процесса является достижение целевой ситуации или превышение длительности исполнения (time-out).

8.2.3. Методологии создания
и «жизненный цикл» онтологии

Как уже отмечалось'выше, разработчики систем, основанных на знаниях, сталкиваются с проблемой «узкого горлышка» приобретения знаний. Аналогичная проблема существует и при создании онтологии. Но, в отличие от разработчиков интеллектуальных систем, создателей онтологии ждут и дополнительные проблемы, связанные с отсутствием сколько-нибудь общих и верифицированных методологий, определяющих, какие «процедуры» должны выполняться в процессе разработки и на каких стадиях разработки онтологии они должны выполняться. В настоящее время существует лишь несколько предметно-независимых методологий, ориентированных на построение онтологии [Gruninger et al., 1995; Ushoid, et al., 1996; Fernandez et al., 1997].
Следует сразу отметить, что эти подходы и методологии базируются на следующих принципах проектирования и реализации онтологии, предложенных. Грубером [Gmber, 1993]:
1. Ясность (Clarity) — онтология должна эффективно передавать смысл введенных терминов. Определения должны быть объективными, хотя мотивация введения терминов может определяться ситуацией или требованиями вычислительной эффективности. Для объективизации определений должен использоваться четко фиксированный формализм, при этом целесообразно задавать определения в виде логических аксиом.
2. Согласованность (Coherence) — означает, что по крайней мере все определения должны быть логически непротиворечивы, а все утверждения, выводимые в онтологии, не должны противоречить аксиомам.
3. Расширяемость (Extendibility) — онтология должна быть спроектирована так, чтобы обеспечивать использование разделяемых словарей терминов, допускающих возможность монотонного расширения и/или специализации без необходимости ревизии уже существующих понятий.
4. Минимум влияния кодирования (Minimal encoding bias) — концептуализация, лежащая в основе создаваемой онтологии, должна быть специфицирована на уровне представления, а не символьного кодирования. Этот принцип связан с тем, что агенты, разделяющие онтологию, могут быть реализованы в различных системах представления знаний.
5. Минимум онтологических обязательств (Minimal ontological commitment) — онтология должна содержать только наиболее существенные предположения о моделируемом мире, чтобы оставлять свободу расширения и специализации. Отсюда следует, что онтологии базируются на «слабых» теориях, так как цель их создания и использования состоит, прежде всего, в том, чтобы «говорить» о предметной области, в отличие от БЗ, которые могут содержать знания, необходимые для решения задач и/или ответов на вопросы.
Методологию и «жизненный цикл» создания онтологии обсудим на примере подхода METHONTOLOGY, разработанного Гомез-Перезом (Gomez-Perez) с коллегами, в рамках которого реализуются принципы Грубера, а также разработано программное окружение спецификации онтологии ODE (Ontology Design Environment) [Blazquez et al., 1998].
В рамках этого подхода выделяются следующие процедуры в «жизненном цикле» создания онтологии: управление проектом, собственно разработка и поддержка разработки.
Процедуры управления проектом включают планирование, контроль и гарантии качества. Планирование определяет, какие задачи должны быть выполнены, как они организуются, как много времени и какие ресурсы нужны для их выполнения. Контроль гарантирует, что запланированные задачи выполнены и именно так, как это предполагалось. Гарантии качества нужны для того, чтобы быть уверенным в том, что компоненты и продукт в целом находятся на заданном уровне.
Собственно разработка включает спецификацию, концептуализацию, формализацию и реализацию. Спецификация определяет цели создания онтологии, ее предполагаемое использование и потенциальных пользователей. Концептуализация обеспечивает структурирование предметных знаний в виде значимой эксплицитной модели. Формализация трансформирует концептуальную модель в формальную или «вычислительную». Наконец, в процессе реализации вычислительная модель программируется на соответствующем языке представления знаний.
Процедуры поддержки включают действия, выполняемые одновременно с разработкой, без которых онтология не может быть построена. Они представлены процедурами приобретения знаний, оценки, интеграции, документирования и управления конфигурациями. Приобретение знаний аккумулирует знания в заданной предметной области. Оценка дает технические решения по оценке онтологии, соответствующего программного обеспечения и документации как в процессе выполнения каждой фазы, так и между фазами. Интеграция требуется, когда строится новая онтология с использованием уже существующих. Документирование дает детальную, понятную и исчерпывающую Информацию о каждой фазе и продукте в целом. Управление конфигурациями необходимо для архивации всех версий документации, программного обеспечения и кода онтологии, а также для контроля за изменениями.
Общая схема «жизненного цикла» создания онтологии в рамках подхода МЕТHONTOLOGY представлена на рис. 8.7.
Заметим, что процесс построения онтологии здесь распадается на серию подпроцессов по созданию промежуточных представлений. При этом выполнение отдельных подпроцессов не последовательное (в смысле «водопадной» модели жизненного цикла, обсуждавшейся в предыдущей главе), а определяется полнотой и точностью уже накопленных знаний. Однако, как показывает опыт, сначала строится глоссарий терминов (Glossary of Terms), затем деревья классификации концептов (Concept Classification Trees) и диаграммы бинарных отношений (Binary Relations Diagrams). И только после этого — остальные промежуточные представления.
Для иллюстрации результатов, получаемых на разных этапах создания онтологии в рамках подхода METHONTOLOGY, будем предполагать, следуя работе [Blazquez et al., 1998], что предметной областью разработки является сообщество специалистов по приобретению знаний, работающих в контексте инициативы (КА)2 [Benjamins et al., 1998].



Рис. 8.7. «Жизненный цикл» создания онтологии
в рамках подхода METHONTOLOGY

Согласно обсуждаемой методологии сначала здесь строится глоссарий терминов, включающий все термины (концепты и их экземпляры, атрибуты, действия и т. п.), важные для предметной области, и их естественно-языковые описания. Фрагмент такого глоссария представлен в табл. 8.2.
Таблица 8.2.
Фрагмент глоссария

Термин
Описание термина
Academic Staff

Researcher
«Он\она может быть лектором или исследователем. Одна из возможных обязанностей — руководство аспирантами»
«Он\она является членом Academic Staff, может быть членом исследовательской группы и кооперироваться с другими исследователями»
Nicola Guarino

Weight
………..
«Он является исследователем CNR National Research Council. Его исследования связаны с онтологиями. Он работает по проекту OntoSeek»
«Вес человека. Измеряется в килограммах»
«………………………………………………………»

Когда глоссарий терминов достигает «существенного» объема, строятся деревья классификации концептов. Как правило, при этом используются отношения типа subclass-of и некоторые другие таксономические отношения. Таким образом, идентифицируются основные таксономии предметной области, а каждая таксономия, согласно рассматриваемой методологии, дает в конечном счете онтологию. В рамках инициативы (КА)2 идентифицировано несколько таксономии, основные из которых people, publications, events, organizations и research topics. Фрагменты некоторых из них представлены на рис. 8.8.



Рис. 8.8. Фрагменты таксономии, выделяемых в рамках
инициативы (КА)2

Следующим шагом является построение «Ad hoc» диаграмм бинарных отношений, целью создания которых является фиксация отношений между концептами одной или разных онтологии. Заметим, что в дальнейшем эти диаграммы могут послужить исходным материалом для интеграции разных онтологии. Пример одной из таких диаграмм приведен на рис. 8.9.


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

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

ОГЛАВЛЕНИЕ

Следующая >>