Онтология (информатика)
Онтология (англ. ontology) в информационных науках — это представление, формальное именование и определение категорий, свойств и отношений между концепциями, данными или объектами, относящимися к одной или нескольким предметным областям. Проще говоря, онтология — это способ продемонстрировать свойства предметной области и взаимосвязи этих свойств путём определения набора терминов и реляционных выражений, описывающих объекты этой области. Область, изучающая подобные онтологии, иногда называется прикладной онтологией[1].
Каждая академическая дисциплина при формировании собственной терминологии закладывает основы собственной онтологии. Такие дисциплины используют онтологические предпосылки для построения теорий, проведения исследований и разработки приложений. Усиление онтологий способствует улучшению решения задач в конкретной области, интероперабельности информационных систем и повышению обнаруживаемости данных. Перевод научных работ в любой предметной области упрощается, если эксперты поддерживают нормированный словарь жаргона на всех соответствующих языках[2]. Примером выступает определение и онтология экономики — важная тема в марксистской экономике[3], а также в других подразделах экономики[4]. Использование информационных онтологий требуется, например, при моделировании экономических процессов для обоснования риск-менеджмента и оценки активов.
Общее у онтологий в информационных науках и философии — стремление представить объекты (вещи и события) с их взаимозависимыми свойствами и связями средствами системы категорий. В обеих областях ведётся работа по проблемам инженерии онтологий (например, У. Квайн, С. Крипке — в философии; Дж. Соува, Н. Гуаринo — в информационных науках)[5], а также ведутся дискуссии о допустимости нормативной онтологии (например, фундаментализм и когерентизм в философии, BFO и Cyc в искусственном интеллекте).
Прикладная онтология рассматривается некоторыми как наследница философских традиций, однако современные проекты всё чаще сосредоточены на разработке нормированных словарей для узких областей, а не на философских основаниях — таких как проблема сущности или спор о первичности процессов по сравнению с объектами (пердурантизм и эндурантизм). Искусственный интеллект сохраняет высокое внимание к прикладным онтологиям (например, в обработке естественного языка, машинный перевод, представление знаний). Онтологические редакторы применяются также в биомедицинской информатике[6], промышленности и других отраслях[7]. Наиболее распространённым инструментом является Protégé[8].
Отраслевая онтология (или специализированная доменная онтология) описывает понятия внутри определённой области, например биологии или политики. Каждая такая онтология реализует специальные значения терминов: card в онтологии покера — это игральная карта, а в компьютерной технике — перфокарта, видеокарта и др.
Поскольку отраслевые онтологии пишутся разными людьми, их концепции часто специфичны и несовместимы. По мере роста систем возникает задача слияния онтологий, что требует ручного согласования или гибридных методов. Причины различий — языковые, различия в задаче или в восприятии предмета (культура, образование, идеология и др.)[источник?].
Слияние несвязанных отраслевых онтологий — в основном ручной и затратный процесс. Использование общей верхнеуровневой онтологии как базиса облегчает интеграцию. Изучаются обобщённые методики слияния[9]. В биологии всё чаще ключевые отраслевые онтологии заранее разрабатываются на основе одного и того же верхнеуровневого базиса (например, OBO Foundry).
Верхнеуровневая онтология (или фундаментальная онтология) — это модель универсальных отношений и объектов, применимых в широком спектре отраслевых онтологий. Обычно включает глоссарий ключевых терминов и их формальных определений.
Примеры таких онтологий: BFO, Dublin Core, GFO, Cyc, SUMO, UMBEL, DOLCE[10].[11] WordNet некоторыми также расценивается как верхнеуровневая онтология и лингвистический инструмент для построения отраслевых онтологий[12].
Gellish — пример онтологии, сочетающей верхнеуровневую и отраслевую структуру.
Визуализация
Обзор методов визуализации онтологий приведён у Катифори и соавт[13]. Современные методы и инструменты рассмотрены Дудашем и др[14]. Основные подходы — иерархические деревья и графовые схемы — обсуждаются у Фу с соавт[15]. В качестве стандарта применяется визуальный язык VOWL для онтологий в формате OWL[16].
Инженерия онтологий
Инженерия онтологий (онтологическое проектирование) — совокупность задач по разработке онтологий для определённой предметной области[17]. Инженерия онтологий — часть инженерии знаний: она изучает процессы создания, жизненный цикл онтологий, методологии, инструменты и языки для поддержки разработки[18].[19]
Цели: формализовать знания, содержащиеся в ПО и процессах организации, для определённой области. Инженерия онтологий позволяет преодолеть семантические барьеры, возникающие при различии бизнес-терминов или программных классов. Типовые проблемы:
- Соответствие онтологии актуальным знаниям и терминологии
- Достаточная специфика и полнота описания области (проблема полноты содержания)
- Поддержка всех предполагаемых сценариев применения
Редакторы онтологий — это специализированные приложения для создания и редактирования онтологий, как правило, с поддержкой одного или нескольких языков онтологий.
Они часто предлагают визуальную навигацию по модели знаний, средства инференции, модули, импорт-экспорт форматов для согласования онтологий, поддержку метаонтологий (OWL-S, Dublin Core и др.)[20].
Обучение онтологий — автоматическое или полуавтоматическое создание онтологий, включая извлечение терминов предметной области из текста на естественном языке. Ручная разработка трудоёмка, потому автоматизация процесса считается перспективной областью. Используются методы извлечения информации, текст-майнинг и др., например, для связи онтологий с документами в проектах BioCreative.
Эпистемологические предпосылки, то есть ответ на вопросы «Что можно знать?» и «Как это познано?», определяют стартовую базу для теоретического исследования. Учёный должен ясно представлять, каким образом он строит свою теорию и обосновывает знания.
Языки онтологий
Языки онтологий — это формальные языки, предназначенные для кодирования онтологий. Существует множество таких языков, как проприетарных, так и стандартизованных:
- Common Algebraic Specification Language (CASL) — логико-ориентированный стандарт, применяемый в онтомоделировании.
- Common logic — стандарт ISO 24707, семейство взаимопереводимых языков для онтологий.
- CycL — используемый в проекте Cyc язык на базе первого порядка логики.
- DOGMA — подход, ориентированный на устойчивость семантики.
- Gellish — включает правила саморасширения, совмещая онтологию и онтоязык.
- IDEF5 — метод разработки и поддержки отраслевых онтологий в инженерии ПО.
- KIF — синтаксис для первого порядка логики (вариант SUO-KIF поддерживает верхнеуровневую онтологию SUMO).
- MOF и UML — стандарты OMG.
- Olog — подход на базе теории категорий.
- OBO — язык для биологических/медицинских онтологий.
- OntoUML — профиль UML, ориентированный на онтологическую строгость.
- OWL — язык для описания онтологий, наследник RDF/RDFS, OIL, DAML, DAML+OIL.
- Rule Interchange Format (RIF) и F-Logic — языки для онтологий и правил.
- Semantic Application Design Language (SADL)[21] — подмножество OWL с английской нотацией и интеграцией в Eclipse.
- SBVR — стандарт OMG для построения онтологий.
- Проект TOVE Project — Toronto Virtual Enterprise — для моделирования предприятий.
Примеры опубликованных онтологий
- Arabic Ontology, лингвистическая онтология для арабского языка[22].
- AURUM — онтология информационной безопасности[23].
- BabelNet — крупная многоязычная семантическая сеть.
- Basic Formal Ontology — верхнеуровневая формальная онтология для научных исследований[24].
- BioPAX — обмен и интеграция данных о биологических процессах[25].
- BMO — онтология бизнес-моделей для электронного бизнеса[26].
- CIDOC Conceptual Reference Model — онтология для культурного наследия[27].
- COSMO — универсальная онтология (в OWL)[28].
- Компьютерная онтология (Computer Science Ontology) — автоматически построенная онтология исследовательских тем по информатике.
- Cyc — большая формальная онтология вселенной дискурса.
- Disease Ontology — маппинг болезней к медицинским кодам[29].
- Dublin Core — простая онтология для публикаций.
- Foundational Model of Anatomy — онтология анатомии человека[30].
- Friend of a Friend — описание людей и их связей.
- Gene Ontology — для геномики и биологических исследований.
- Gellish English dictionary — включает верхнеуровневую и прикладные онтологии для инженерии.
- Geopolitical ontology — геополитическая онтология от Продовольственной и сельскохозяйственной организации ООН.
- IDEAS Group — формальная онтология для архитектуры предприятия[31].
- OBO Foundry — комплект публичных биомедицинских онтологий[32].
- Plant Ontology — онтология структур и стадий развития растений[33].
- RXNO Ontology — онтология химических реакций.
- Schema.org, для структурирования данных веб-страниц.
- SNOMED CT (Systematized Nomenclature of Medicine – Clinical Terms)
- Suggested Upper Merged Ontology — формальная верхнеуровневая онтология.
- Uberon — интегративная онтология анатомии многоклеточных[34].
- WordNet — лексическая база английского языка.
Проект Linked Open Data координирует работу по интеграции различных онтологий на платформе семантическая паутина.
Библиотеки онтологий
С развитием онтологий появились сервисы каталогизации, так называемые библиотеки онтологий.
Человечески-отобранные библиотеки:
- COLORE[35] — открытый репозиторий онтологий на Common Logic.
- DAML Ontology Library[36]
- Ontology Design Patterns portal[37]
- Protégé Ontology Library[38]
- SchemaWeb[39]
Директории и поисковые сервисы:
Примеры применения
Онтологии используются в различных областях:
- Корпоративные приложения[45].
- Геоинформационные системы — для объединения различного контента благодаря онтологическим метаданным[46].
- Биомедицинские исследования требуют отраслевых онтологий для разрешения неоднозначностей терминов[47]. Отсутствие онтологий, способных фиксировать семантику сложных биомедицинских терминов, негативно сказывается на анализе данных[48].
См. также
Примечания
Литература
- Оберле, Д. What is an Ontology? // Handbook on Ontologies : [англ.] / Д. Оберле, Н. Гуаринo, С. Штааб. — 2009. — P. 1–17. — ISBN 978-3-540-70999-2. — doi:10.1007/978-3-540-92673-3_0.
- Фенсель, Д.; ван Хармелен, Ф.; Хоррокс, И.; МакГиннесс, Д. Л.; Патель-Шнайдер, П. Ф. (2001). “OIL: an ontology infrastructure for the Semantic Web”. IEEE Intelligent Systems [англ.]. 16 (2): 38—45. DOI:10.1109/5254.920598.
- Гангеми, А. Ontology Design Patterns // Handbook on Ontologies : [англ.] / А. Гангеми, В. Презутти.
- Големати, М. Creating an Ontology for the User Profile# Method and Applications // Proceedings of the First IEEE International Conference on Research Challenges in Information Science (RCIS), Morocco 2007 : [англ.] / М. Големати, А. Катифори, К. Вассилакис … [et al.]. — 2007.
- Мизогучи, Р. (2004). “Tutorial on ontological engineering: Part 3: Advanced course of ontological engineering” (PDF). New Generation Computing [англ.]. 22: 193—220. DOI:10.1007/BF03040960. Архивировано из оригинала (PDF) 2013-03-09. Дата обращения 2009-06-08.
- Грубер, Т. Р. (1993). “A translation approach to portable ontology specifications” (PDF). Knowledge Acquisition [англ.]. 5 (2): 199—220. DOI:10.1006/knac.1993.1008.
- Maedche, A.; Staab, S. (2001). “Ontology learning for the Semantic Web”. IEEE Intelligent Systems [англ.]. 16 (2): 72—79. DOI:10.1109/5254.920602.
- Noy, Natalya F.; McGuinness, Deborah L. Ontology Development 101: A Guide to Creating Your First Ontology (англ.) (март 2001). Архивировано 14 июля 2010 года.
- Размерита, Л. Ontology-Based User Modeling for Knowledge Management Systems // User Modeling 2003 : [англ.] / Л. Размерита, А. Ангеирн, A. Maedche. — Springer, 2003. — Vol. 2702. — P. 213–217. — ISBN 3-540-44963-9. — doi:10.1007/3-540-44963-9_29.
- Soylu, A. Merging model driven and ontology driven system development approaches pervasive computing perspective // Proceedings of the 24th International Symposium on Computer and Information Sciences : [англ.] / A. Soylu, Patrick De Causmaecker. — 2009. — P. 730–735. — ISBN 978-1-4244-5021-3. — doi:10.1109/ISCIS.2009.5291915.
- Смит, B. Ontology (Science) // Formal Ontology in Information Systems, Proceedings of FOIS 2008 : [англ.]. — ISO Press, 2008. — P. 21–35.
- Ушолд, Майк; Грунингер, М. (1996). “Ontologies: Principles, Methods and Applications”. Knowledge Engineering Review [англ.]. 11 (2): 93—136. DOI:10.1017/S0269888900007797.
- Пидкок, W. What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model? (англ.). Архивировано 14 октября 2009 года.
- Юдельсон, М. Towards User Modeling Meta-ontology // User Modeling 2005 : [англ.] / М. Юдельсон, Т. Гаврилова, П. Брусиловский. — Springer, 2005. — Vol. 3538. — P. 448–452. — ISBN 978-3-540-31878-1. — doi:10.1007/11527886_62.
- Movshovitz-Attias, Dana. Bootstrapping Biomedical Ontologies for Scientific Text using NELL // Proceedings of the 2012 Workshop on Biomedical Natural Language Processing : [англ.] / Dana Movshovitz-Attias, William W. Cohen. — Association for Computational Linguistics, 2012. — P. 11–19.
Ссылки
- Библиотека онтологий (архив) (англ.)
- GoPubMed — онтологический поиск
- ONTOLOG — виртуальное сообщество по онтологиям, онтологической инженерии и семантическим технологиям
- Ontology Summit — ежегодный междисциплинарный саммит по онтологиям (с 2006)
- Стандартизация онтологий (англ.)


