В статье рассматриваются вопросы построения, структурирования, описания, классификации и использования онтологических баз знаний. Приведен обзор современных исследований, посвященных различным аспектам создания и использования онтологии. Пристальное внимание в работе уделено разграничению формальных и лингвистических онтологий. Также предложена достаточно подробная методология построения ресурсов онтологического типа. Введение В настоящее время все большей популярностью пользуются методы инженерии знаний, среди которых онтологиям принадлежит значительное место. В связи с ростом популярности изучение онтологий включено в программу ВУЗов, по данной тематике выходит все большее количество статей. К сожалению, на наш взгляд, большая часть русскоязычного материала (в том числе учебные пособия и некоторые статьи) все еще чрезвычайно низкого качества. Как правило, такие материалы содержат части формальных выкладок из переводных источников или разработок отечественных исследований. Данная статья является попыткой упорядочить и структурировать существующую сегодня информацию о создании и применении онтологий.
А.А. Никоненко Киевский национальный университет имени Т. Шевченко, г. Киев, Украина andrey.nikonenko@gmail.com
1. Понятие онтологии В исследовании онтологий вопросы возникают с первых шагов. Так, до сих пор не существует единого определения для понятия онтология. Само понятие онтология происходит от др.-греч. "онтос" - сущее, "логос" - учение, понятие, т.е. это раздел философии, изучающий бытие. Википедия определяет онтологию (в информатике) как попытку всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы [1]. Под концептуальной схемой подразумевается набор понятий + информация о понятиях (свойства, отношения, ограничения, аксиомы и утверждения о понятиях, необходимых для описания процессов решения задач в избранной предметной области). Среди специалистов, занимающихся проблемами компьютерной лингвистики, наиболее устоявшимся (классическим) считается определение онтологии, данное Губертом: "онтология - это спецификация концептуализации" [2]. Так же известен ряд расширенных определений Губерта, среди которых можно выделить такие:
- онтология - это эксплицитная спецификация концептуализации, где в качестве концептуализации выступает описание множества объектов предметной области и связей между ними;
- онтология - это знания, формально представленные на базе концептуализации. Формально онтология состоит из терминов, организованных в таксономию, их определений и атрибутов, а также связанных с ними аксиом и правил вывода;
- онтология - формальная спецификация разделяемой концептуализации, которая имеет место в некотором контексте предметной области;
- онтология - база знаний, описывающая факты, которые предполагаются всегда истинными в рамках определенного общества на основе общепринятого смысла используемого словаря.
Дополнительно с пониманием термина "онтология" по Губерту можно ознакомиться здесь [3]. Нужно отметить, что определение, данное в [1], полностью передает семантику всех вышеперечисленных определений, поэтому в данной работе будем придерживаться именно его.
...
5. Методология построения онтологии На тему "как построить онтологию" существует множество рекомендаций, руководств, советов, подсказок и указаний. Однако до сих пор не предложено общей методологии построения онтологий. Некоторые шаги в этом направлении были предприняты в следующих работах:
IDEF5: язык и метод для описания онтологий [22];
статья Грубера, в которой приведено обсуждение принципов описания онтологий [23];
статья Скуса, посвященная вопросам согласования, как пути для совместного использования и интеграции онтологий, разработанных разными группами [24];
статьи Гомез-Переза, посвященные технологиям совместного использования знаний [25].
Указанные выше работы приводят дальнейшие шаги в развитии методологии, но не предлагают базовой (skeletal) методологии. Далее в этом разделе мы попытаемся вывести такую базовую методологию, опираясь на работы [9] и [26]. Такая методология должна включать ограниченное число стадий и быть применимой к построению любой онтологии. В работе [26] авторы считают, что комплексная базовая методология для разработки онтологий должна включать следующие стадии:
- Определение цели.
- Построение онтологии.
- Зафиксировать онтологию.
- Закодировать онтологию.
- Провести интеграцию существующих онтологий.
- Оценить.
- Задокументировать.
Дополнительно для каждой стадии должны быть описаны технология, методика, принципы и рекомендации, например, типы связей между стадиями (рекомендуемый порядок, чередование, входы/выходы).
Дадим краткую характеристику описанным выше стадиям.
Определение цели
Эта стадия необходима для четкого понимания, почему онтология была создана и для каких целей она будет использована. Она также будет, использоваться для определения круга пользователей онтологии.
Построение онтологии
Фиксирование
Под фиксированием подразумевается:
- Определение ключевых концептов и связей в нужном домене (scoping).
- Выработка точных, непротиворечивых текстовых определений для этих концептов и связей.
- Определение термов, относящихся к таким концептам и связям.
- Согласование всего вышеперечисленного.
Кодирование
Под кодированием подразумевается точное представление деталей, зафиксированных на предыдущей стадии, на каком-либо формальном языке. Это включает в себя фиксацию определенной мета-онтологии, выбор языка представления, и создание описания онтологии на этом языке.
Интеграция
На этапах фиксирования и кодирования часто возникает вопрос, можно ли как-то воспользоваться уже существующими онтологиями. В общем случае это очень сложная проблема, хотя, например, в проекте Ontolingua был достигнут значительный прогресс в этом направлении. Разработка руководства и инструментария в данной области стало бы одним из наиболее значительных прорывов в области разработки комплексной методологии.
Оценка
Гомез-Перез предложил следующее определение оценки в контексте технологий совместного использования знаний: "для составления технического мнения об онтологии, ассоциированной с ней программной среды и документации, касательно критериев… Критериями могут выступать требования к спецификации, вопросы компетенции, и/или реальный мир" [25]
Документирование
Может быть желательным определить рекомендации к документированию онтологий, возможно, различные, в зависимости от типа и предназначения онтологии. Как показано в работе [24], одним из основных препятствий в эффективном совместном использовании знаний является недостаточная документация по существующим базам знаний и онтологиям. Поэтому все важные допущения должны быть задокументированы, как об основных концептах, определенных в онтологии, так и о примитивах, используемых в определениях.
Как итог, приведем список действий (подробнее в работе [9]), которые необходимо выполнить при построении онтологии:
- обозначение целей и области применения создаваемой онтологии;
- построение онтологии, которое включает: a) фиксирование знаний о ПрО, т.е. определение основных понятий и их взаимоотношений в выбранной предметной области; создание точных непротиворечивых определений для каждого основного понятия и отношения; определение терминов, которые связаны с этими терминами и отношениями; b) кодирование, т.е. разделение совокупности основных терминов, используемых в онтологии, на отдельные классы понятий; c) выбор или разработку специального языка для представления онтологии; d) непосредственно задание фиксированной концептуализации на выбранном языке представления знаний;
- совместное использование людьми или программными агентами общего понимания структуры информации;
- обеспечение возможности использования знаний ПрО; создание явных допущений в ПрО, лежащих в основе реализации;
- отделение знаний ПрО от оперативных знаний - это еще один вариант общего применения онтологий;
- анализ знаний в ПрО.
Литература
1. Онтология_(информатика) [Электронный ресурс]. Энциклопедия Википедия. - Режим доступа : http://ru.wikipedia.org/wiki/Онтология_(информатика)
2. Gruber T.R. A translation approach to portable ontologies [Электронный ресурс] / T.R. Gruber // Knowledge Acquisition. 1993. - № 5(2). - С. 199-220. - Режим доступа : http://www-ksl.stanford.edu/kst/what-is-an-ontology.html
3. Gruber T.R. Ontology to appear in the Encyclopedia of Database Systems[Электронный ресурс] / Ling Liu and M. Tamer Özsu (Eds.). - Springer-Verlag, 2008. - Режим доступа : http://tomgruber.org/writing/ontologydefinition-2007.htm
4. Онтологии и тезаурусы: модели, инструменты, приложения / [Добров Б.В., Иванов В.В., Лукашевич Н.В., Соловьев В.Д.] [Электронный ресурс] : учебный курс Интернет-университета информационных технологий. - Режим доступа : http://www.intuit.ru/department/expert/ontoth/2/
5. Онтология [Электронный ресурс]. Энциклопедия Википедия. - Режим доступа : http://ru.science.wikia. com/wiki/Онтология
6. Онтологии и тезаурусы : учебное пособие / [Соловьев В.Д., Добров Б.В., Иванов В.В., Лукашевич Н.В.]. - Казань ; Москва, 2006. - 173 c.
7. Core Software Ontology. Core Ontology of Software Components. Core Ontology of Services [Электронный ресурс]. OntoWare Group. - Режим доступа : http://cos.ontoware.org/
8. Gruninger Michael. An Ontology Framework / Michael Gruninger, Leo Obrst // Ontology Summit - NIST, (Gaithersburg, MD April 22 - 23, 2007). - Gaithersburg, 2007.
9. Гладун А.Я. Онтологии в корпоративных системах. Часть I / А.Я. Гладун, Ю.В. Рогушина // Корпоративные системы. - 2006. - № 1. - С. 41-47.
10. Глибовець М.М. Побудова україномовної онтології засобами СУБД / М.М. Глибовець, О.О. Марченко, А.О. Никоненко // Наукові записки. Комп"ютерні науки / Національний університет "Києво-Могилянська академія". - 2008. - Том 86. - С. 46-49.
11. Operational Conceptual Modelling Language [Электронный ресурс]. - Режим доступа : http://technologies.kmi.open.ac.uk/ocml/
12. Intelligent Systems Division [Электронный ресурс]. USC/Information Sciences Institute (ISI). - Режим доступа : http://ai.isi.edu/
13. Loom Project Home Page [Электронный ресурс]. Artificial Intelligence research group University of Southern California"s Information Sciences Institute. - Режим доступа : http://www.isi.edu/isd/LOOM/
14. Ontolingua [Электронный ресурс]. Artificial Intelligence Laboratory of the Department of Computer Science at Stanford University. - Режим доступа : http://www.ksl.stanford.edu/software/ontolingua/
15. Ontolingua Reference Manual Ontolingua [Электронный ресурс]. Laboratory for Applied Ontology of the Institute of Cognitive Science and Technology Italian National Research Council. - Режим доступа : http://www.loa-cnr.it/medicine/reference-manual/index.html
16. On the Relationship between Description Logic-based and F-Logic-based Ontologies [Электронный ресурс] / Jos de Bruijn, Stijn Heymans // Fundam. Inform. - 2008. - № 82(3). - С. 213-236. - Режим доступа : http://portal.acm.org/citation.cfm?id=1377800
17. Овдей О.М. Обзор инструментов инженерии онтологий / О.М. Овдей, Г.Ю. Проскудина // Электронные библиотеки. - 2004. - Т. 7, вып. 4. - С. 3-19.
18. Константинова Н.С. Онтологии как системы хранения знаний [Электронный ресурс] / Н.С. Константинова, О.А. Митрофанова. - Режим доступа : http://www.sci-innov.ru/icatalog_new/index.php?action=send_att& entry_id =68352&fname=68352e2-st08_(Митрофанова О.А.).pdf
19. Добров Б.В. Курс из 16 презентаций: "Онтологии и тезаурусы" [Электронный ресурс] / Б.В. Добров, В.В. Иванов, Н.В. Лукашевич, В.Д. Соловьев. - Режим доступа : http://window.edu.ru/window_ catalog/redir?id=41722&file=ot_2006_posobie.pdf
20. Гладун Виктор. Структурирование онтологии ассоциаций для конспектирования естественно-языковых текстов [Электронный ресурс] / Виктор Гладун, Виталий Величко, Леонид Святогор. - Режим доступа : http://www.foibg.com/ibs_isc/ibs-02/IBS-02-p20.pdf
21. Онтологии для обработки текстов на естественном языке. Лексические онтологии [Электронный ресурс]. - Режим доступа : http://www.intuit.ru/department/expert/ontoth/2/3.html
22. KBSI. Knowledge based systems incorporated, Technical Report IDEF5 Method Report [Электронный ресурс] AL/HRGA, Wright-Patterson Air Force Base, Ohio, September 1994. - Режим доступа : http://www.idef.com/pdf/Idef5.pdf
23. Gruber T. Towards principles for the design of Ontologies used for knowledge sharing // International Journal of Human-Computer Studies. - 1995. - № 43(5/6). -С. 907-928.
24. Skuce D. Conventions for reaching agreement on shared Ontologies / D. Skuce // In Proceeding of the 9th Knowledge Acquisition for Knowledge Based Systems Workshop, 1995 [Электронный ресурс]. - Режим доступа : http://portal.acm.org/ft_gateway.cfm?id=1135849&type=pdf&coll=GUIDE&dl=GUIDE&CFID=43461927&CF TOKEN=47811814
25. Gomez-Perez A. Evaluation and assessment of knowledge sharing technology // Towards Very Large Knowledge Bases - Knowledge Building and Knowledge Sharing 1995 / A. Gomez-Perez, N. Juristo, J. Pazos ; іn N.J. Mars, editor. - Amsterdam : IOS Press, 1995. - Р. 289-296.
26. Uschold Mike. Towards a Methodology for Building Ontologies[Электронный ресурс] / Mike Uschold, Martin King. - Режим доступа : http://www.aiai.ed.ac.uk/project/pub/documents/1995/95-ont-ijcai95-ont-method.ps 27. Гладун А.Я. Онтологии в корпоративных системах. Часть II / А.Я. Гладун, Ю.В. Рогушина // Корпоративные системы. - 2006. - № 1. - С. 48-56.