(Image is generated by Gemini)
온톨로지 관련 수업을 들으며 둥둥 떠다니던 개념들을 잡아서 정리해두는 작업들을 진행하고 있습니다. 개인 옵시디언에 정리하다가 블로그로 옮겨서 여러 사람들의 의견을 듣는게 더 좋을 것 같아서 틈 날때마다 적어보려 합니다.
언제나 그렇듯!
다양한 의견과 지적을 부탁드립니다 ☺️
** '정리'에 작성된 내용은 필자의 이해를 기반으로 합니다.
✅ ontology
💫 정리
온톨로지는 일종의 지식 표현 방법으로, 개념과 관계를 명시적(explitcit)/형식적(formal)으로 정의하여 공유될 수 있도록 하는 것
▶️ Wikipedia
. Ontology_(information_science)
- an ontology is a way of showing the properties of a subject area and how they are related, by defining a set of terms and relational expressions that represent the entities in that subject area
. knowledge engineering
- 온톨로지(Ontology)란 사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 통하여 합의를 이룬 바를, 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델로, 개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술이다. 온톨로지는 일종의 지식표현(knowledge representation)으로, 컴퓨터는 온톨로지로 표현된 개념을 이해하고 지식처리를 할 수 있게 된다. 프로그램과 인간이 지식을 공유하는데 도움을 주기 위한 온톨로지는, 정보시스템의 대상이 되는 자원의 개념을 명확하게 정의하고 상세하게 기술하여 보다 정확한 정보를 찾을 수 있도록 하는데 목적이 있다. 온톨로지는 시맨틱 웹을 구현할 수 있는 도구로서, 지식개념을 의미적으로 연결할 수 있는 도구로서 RDF, OWL, SWRL 등의 언어를 이용해 표현한다.
▶️ Articles, Books
. 지식그래프, 김학래 (2017)
. What is an Ontology?, Tom Gruber
- 철학에서의 온톨로지는 존재론(Ontology)을 말하는데, 이는 형이상항의 한 분야로 세계를 구성하는 대상들의 존재의 본질과 유형에 대한 이론을 탐구한다.
- 반면 컴퓨터 과학이나 인공지능에서 온톨로지(ontology)는 개념과 그들 간에 관계를 표현하기 위해 사용되고 있다. 그루버는 온톨로지를 다음과 같이 정의한다. An ontology is a formal, explicit specification of a shared conceptualization of a domain of interest. 즉 온톨로지는 "관심 영역에 대한 공유된 개념의 형식적, 명시화된 명세"다.
- 여기서 형식적(formal)이라는 것은 기계가 읽고 처리할 수 있는 인공지능 언어로 표현하는 의미이고, 명시적(explicit)은 개념들의 유형과 개념 사용에 대한 규칙을 분명하게 드러내 정의한다는 뜻이다(명시적의 반대는 '암묵적', '암시적'이라고 볼 수 있음). 공유된(shared)의 의미는 개념의 사용이 관련된 사람들에게 합의될 수 있다는 것을 뜻하며, 개념화(conceptualization)는 실제 세계에 대한 모형, 관심의 대상이 되는 영역(domain of interest)은 개념이 모형화되는 대상 영역을 말한다.
. Ontology, Barry Smith (2012)
- 철학적 관점의 온톨로지: ‘Ontology’(대문자 O) is often used by philosophers as a synonym of ‘metaphysics’ (a label meaning literally: “what comes after the Physics”), a term used by early students of Aristotle to refer to what Aristotle himself called “first philosophy”. --> 존재론은 철학의 한 분야로서, 현실의 모든 영역에서 존재하는 대상(객체, 속성, 사건, 과정, 관계)의 종류와 구조를 연구하는 학문
- 정보과학 관점의 온톨로지: An ontology(소문자 o) is in this context a dictionary of terms formulated in a canonical syntax and with commonly accepted definitions designed to yield a lexical or taxonomical framework for knowledge-representation which can be shared by different information systems communities --> 온톨로지는 표준화된 구문과 합의된 정의로 구성된 용어 사전으로, 지식 표현을 위한 어휘적 또는 분류적 프레임워크를 제공함
- 좋은 ontology는 현실(reality)에 기반해야 함. 현대의 온톨로지는 현실이 아니라 개념 모델에 집중하고 있다는 문제점이 있다고 함 (--> 철학적 온톨로지에 대한 이해도가 낮아서... 잘 모르겠음)
. ODKE+: Ontology-Guided Open-Domain Knowledge Extraction with LLMs, (2025)
- Ontologies provide the backbone of a knowledge graph by defining entity types, properties, and relationships, establishing the semantic framework that governs how knowledge is stored and interpreted
✅ Knowledge Graphs
💫 정리
지식그래프는 정보가 맥락을 기반으로 연결하여 인사이트를 도출할 수 있도록 배열한 데이터 구조
▶️ Wikipedia
. Knowledge graph
- The development of large language models expanded interest in knowledge graphs as a way to structure information from unstructured text, with advances in language processing enabling their automatic or semi-automatic generation and expansion.[15][16][17] The term knowledge graph has since broadened to include the dynamically constructed and adaptive graph structures, which support retrieval, reasoning, and summarization in generative systems. Microsoft Research’s GraphRAG (2024) exemplified this development by integrating LLM-generated graphs into retrieval-augmented generation.
- 추상적인 개념들을 정의하고, 현실 세계의 엔티티들의 관계를 스키마 기반으로 표현하고 조직하는 그래프
▶️ Articles, Books
. Hands-On Entity Resolution
- 'A knowledge graph is a purposeful arrangement of data such that information is put in context and insight is readily available'. 지식그래프는 정보가 맥락을 갖도록 한다는 목적에 따라 배열한 데이터로, 이를 통해 인사이트를 얻을 수 있다. 이때 배열 방식은 그래프 구조를 기반으로 하는데, 그래프는 데이터의 맥락을 직관적으로 표현하여 이해하기 쉽고, 이는 높은 활용성으로 이어진다.
개인적으로 영어로 표현한 이 정의가 가장 와닿았다. 번역을 어떻게 해도 애매한 것 같다..
. Towards a Definition of Knowledge Graphs (2016)
- 외부 소스로부터 정보를 수집·통합하여 온톨로지에 통합하고, 추론(reasoning)을 통해 새로운 지식을 생성하는 시스템
- KG는 단순한 데이터 저장소가 아닌, 지식 통합 및 추론을 수행하는 지식기반 시스템의 확장 형태로 봄

. 온톨로지 과학자를 위한 지식그래프
- (p39) semantic web = data web = Knowledge base = linked data = linked open data = Knowledge Graph
✅ Ontology & KGs
💫 정리
- ontology: the blueprint
- Knowledge Graphs: the application
- ontology + data = Knowledge Graphs
. https://enterprise-knowledge.com/whats-the-difference-between-an-ontology-and-a-knowledge-graph/
- 온톨로지는 개체의 일반적인 특성(개념, 유형, 속성)에 대해서 다루지, 특정한/개별적인 특성을 다루지 않음('개'에 대해서 다루지, 누구집 '밀크'에 대한 특성을 다루지 않는다는 것). 범용적(general)한 사용이 가능하고, 추상화된 개념을 통해 여러 사람들의 이해를 공유할 수 있음. 책, 저자, 출판사는 class가 될 수 있고, 'Books have authors', 'Books have puslighers' 등은 이 개념들의 관계를 설명하는 속성값이 됨. 이 관계를 나타내는 속성값은 해당 class에 해당하는 모든 인스턴스에 적용되어야 함. 반면, 해리포터(Books), JK롤링(Authors), 민음사(Publishers)는 instance 단위로
- TBox, ABox: TBox를 설계도라고 본다는 점에서 온톨로지와 혼동될 수도 있음(둘을 같은 개념으로 보는 경우도 많다고 함). TBox는 특정 도메인/데이터의 지식그래프를 만들때 최소한의 개념 체계
- 반드시 모든 지식그래프를 디자인할 때 온톨로지를 디자인할 필요는 없음. 기존에 존재하는 온톨로지를 충분히 검토 한뒤, 없다면 새로 디자인하면 되고, 이때 표준어휘(ontology specification; SKOS, OWL, RDF etc.)를 사용해서 디자인하면 됨
. https://www.hedden-information.com/knowledge-graphs-and-ontologies/
- Knowledge graphs resemble ontologies (a kind of knowledge organization system that is based on taxonomies, but is more complex), but, despite what Wikipedia claims, they are not the same. ...
Knowledge graphs can be considered ontologies and more. According to the authors, Eherlinger and Wöß, “A knowledge graph acquires and integrates information into an ontology and applies a reasoner to derive new knowledge.” A knowledge graph may comprise multiple domain ontologies, or an ontology and another vocabulary/knowledge organization system. A certain kind of very general ontology called an upper ontology or foundation ontology can also serve as the data model for a knowledge graph.
- 지식그래프는 단순히 데이터를 구조화해서 저장하는 것을 넘어, 온톨로지에 정의된 개념과 관계를 바탕으로 암묵적인 사실을 추론을 통해 명시적으로 만들어냄. 지식그래프는 온톨로지 하나만으로 구성될 수도 있지만, 여러개의 도메인 온톨로지를 함께 포함할 수도 있고, 다른 어휘 체계와 결합된 형태로 표현될 수도 있음. 또한 upper ontology/foundation ontology는 지식그래프 전체의 데이터 모델 역할을 수행할 수도 있음
온톨로지의 목적을 정말 단순화하면, 결국 필요한 정보를 잘 찾기 위함인 것 같다. 그 과정에서 정보를 구조화, 체계화하는 과정이 필요한데, 이 단어들의 정의를 고민해보면 다음과 같이 정리할 수 있다.
- 구조화(structuring): 대상을 구성 요소로 나누고 그 사이의 관계와 배열을 명확히 하는 것. 관계와 형태에 초점
- 체계화(systematization): 어떤 요소를 일관된 원리나 규칙에 따라서 하나의 시스템으로 정리하는 것. 원리, 규칙, 논리에 초점
즉, 아무 규칙이나 논리 없이 나열되어 있는 것들의 구조를 파악하고, 이들 간의 관계와 원리, 논리 규칙 등에 따라 체계를 구축할 수 있다. 구조가 먼저인지 체계가 먼저인지 선후 관계가 중요하기 보다는 순환적 관계를 갖고 구조를 파악해서 체계를 만들고, 체계를 다시 구축/재구축/수정하는 과정에서 구조를 파악해야 하는 순환적 관계로 보는 방향이 맞는 것 같다.
TBC...