Онтология (информатика)

Онтология (англ. 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]

Цели: формализовать знания, содержащиеся в ПО и процессах организации, для определённой области. Инженерия онтологий позволяет преодолеть семантические барьеры, возникающие при различии бизнес-терминов или программных классов. Типовые проблемы:

  1. Соответствие онтологии актуальным знаниям и терминологии
  2. Достаточная специфика и полнота описания области (проблема полноты содержания)
  3. Поддержка всех предполагаемых сценариев применения

Редакторы онтологий

Редакторы онтологий — это специализированные приложения для создания и редактирования онтологий, как правило, с поддержкой одного или нескольких языков онтологий.

Они часто предлагают визуальную навигацию по модели знаний, средства инференции, модули, импорт-экспорт форматов для согласования онтологий, поддержку метаонтологий (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]

Директории и поисковые сервисы:

  • OBO Foundry — комплект биомедицинских онтологий[32].[40]
  • Bioportal (NCBO)[6]
  • Linked Open Vocabularies
  • OntoSelect[41]
  • Ontaria[42]
  • Swoogle — поисковик и каталог RDF-ресурсов.
  • Open Ontology Repository initiative[43]
  • ROMULUS — репозиторий фундаментальных онтологий (DOLCE, BFO, GFO)[44].

Примеры применения

Онтологии используются в различных областях:

  • Корпоративные приложения[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.

Ссылки