
온톨로지(ontology) 란 “특정 분야에서 존재하는 개념들과 그 관계를 명시적이고 형식적으로 정의한 개념 체계” 를 말합니다.
즉, 어떤 도메인(예: 의료, 법률, 교육, 교통 등)에서
무엇이 존재하는지(개념),
그것들이 어떻게 연결되는지(관계),
어떤 규칙이 적용되는지(제약)
를 기계가 이해하고 추론할 수 있는 논리적 언어로 표현한 구조입니다.
지식 표현 연구에서 온톨로지는 “세계를 기계가 해석 가능한 형태로 기술하는 설계도”에 해당합니다.
온톨로지는 일반적으로 다음 5가지 핵심 구성 요소로 이루어집니다.
| 구성 요소 | 설명 | 예시 |
|---|---|---|
| ① 개념(Class) | 유사한 객체들을 추상적으로 묶은 범주 | 사람(Person), 자동차(Car) |
| ② 인스턴스(Instance) | 실제 개별 객체(개념의 구체적 사례) | 아현(Person의 인스턴스) |
| ③ 관계(Relation) | 개념 간의 연결성이나 상호 작용 | 운전한다(Drives), 소유한다(Owns) |
| ④ 속성(Attribute) | 개념이 가지는 고유한 특성이나 수치 | 나이(age)=30, 색(color)=red |
| ⑤ 공리(Axiom) | 논리적 제약이나 규칙(참/거짓 판단의 근거) | “모든 사람은 필멸이다.”(∀x Person(x) → Mortal(x)) |
이 다섯 요소를 논리식이나 서술 논리(Description Logic)로 기술하면, 컴퓨터가 이를 논리적으로 추론(inference)할 수 있게 됩니다.
온톨로지는 범위에 따라 다음과 같이 나뉩니다.
| 구분 | 설명 | 예시 |
|---|---|---|
| 상위 온톨로지 (Upper Ontology) | 모든 분야에 공통되는 일반 개념 | 시간(Time), 공간(Space), 사건(Event), 객체(Object) |
| 도메인 온톨로지 (Domain Ontology) | 특정 산업·분야의 개념 | 의료(환자, 질병), 금융(계좌, 거래), 법률(사건, 판결) |
| 업무(Task) 온톨로지 | 특정 문제 해결 절차나 작업 개념 | 진단(증상→원인), 계획(목표→행동) |
| 응용(Application) 온톨로지 | 특정 시스템 구현에 맞게 조정된 구조 | 병원 EMR 시스템, 자율주행 차량 제어 시스템 등 |
이렇게 상위 → 도메인 → 업무 → 응용 단계로 세분화되며,
상위 온톨로지는 일종의 기초 언어 사전처럼 다른 온톨로지들이 의존하는 기반 역할을 합니다.
온톨로지는 사람이 아닌 기계가 해석할 수 있는 논리 언어로 표현됩니다.
대표적인 형식 언어는 다음과 같습니다.
| 언어 | 특징 | 비고 |
|---|---|---|
| RDF (Resource Description Framework) | ‘주어–술어–목적어’ 형태의 단순 3항 구조 | 예: <사람, 나이, 30> |
| RDFS (RDF Schema) | RDF에 클래스 계층과 속성 제약을 추가 | 상속, 포함 관계 표현 가능 |
| OWL (Web Ontology Language) | W3C 표준, 논리적 추론 가능 | 가장 널리 쓰이는 온톨로지 언어 |
| KIF (Knowledge Interchange Format) | 논리 기반 표현, 시스템 간 지식 교환용 | Lisp 계열 문법 |
| CycL | 대규모 상식 기반 Cyc 프로젝트에서 사용 | 상식 지식 표현 가능 |
이 중 OWL은 웹 온톨로지 언어로서,
- 클래스, 속성, 관계, 제약을 모두 정의할 수 있고
- 논리 추론(reasoning)이 가능하기 때문에
현재 지식 그래프나 시맨틱 웹의 표준 언어로 자리 잡았습니다.
온톨로지를 구축하면 AI는 다음과 같은 추론을 수행할 수 있습니다.
이러한 기능은 온톨로지 추론기(reasoner)가 담당합니다.
대표 도구: Pellet, HermiT, FaCT++, Racer 등.
| 분야 | 설명 |
|---|---|
| 시맨틱 웹(Semantic Web) | 웹 데이터를 의미적으로 연결하여 검색·추천·요약을 지능화. (예: Google Knowledge Graph, schema.org) |
| 자연어 처리(NLP) | 단어 의미 중의성 해소, 문장 의미 구조 해석. (예: WordNet, ConceptNet) |
| 의료 정보학 | 표준 진단 용어체계(SNOMED CT), 유전자 온톨로지(GO)로 데이터 통합. |
| 로보틱스 및 계획(Planning) | 로봇의 행동·환경 상태·사물 간 관계를 논리적으로 표현. |
| 지식 관리 및 전문가 시스템 | 의사결정 지원, 규정 준수, 정책 추론 등. |
| 데이터 상호운용성 | 여러 기관·시스템의 데이터 구조를 일관성 있게 통합. |
상식 지식의 폭발성
지식 수집 비용(Bottleneck)
표현력과 효율성의 트레이드오프
변화 대응성 부족
온톨로지 간 통합 문제(Alignment)
온톨로지 학습(Ontology Learning)
자연어 텍스트나 데이터베이스에서 자동으로 개념·관계를 추출.
(예: NLP + 기계학습 기반 온톨로지 생성)
지식 그래프(Knowledge Graph)
온톨로지를 보다 유연하게 구현한 그래프 구조.
예: Wikidata, Google Knowledge Graph, DBpedia.
신경-상징 통합(Neural-Symbolic AI)
딥러닝의 학습력 + 온톨로지의 논리 추론을 결합.
복잡한 추론과 설명 가능성(XAI)을 동시에 확보하려는 시도.
온톨로지 정렬 및 관리 툴 발전
PROMPT, AgreementMaker, OntoMap 등 자동 매핑 툴 등장.
온톨로지 버전 관리, 변경 추적도 주요 연구 주제.
도메인: 대학 시스템
언어: OWL 형식 표현 (단순 예시)
클래스: 사람(Person), 교수(Professor), 학생(Student), 과목(Course)
관계: teaches(가르친다), takes(수강한다)
속성: hasName, hasAge
공리:
Professor ⊆ Person
Student ⊆ Person
Professor ⊓ Student ⊆ ⊥ (교수와 학생은 겹치지 않음)
teaches(Professor, Course)
takes(Student, Course)
인스턴스:
Professor(김교수)
Course(인공지능)
teaches(김교수, 인공지능)
Student(아현)
takes(아현, 인공지능)
추론 결과:
Person(김교수)
Person(아현)
김교수 ↔ 아현 상호작용(interactsWith) 관계 성립
| 이름 | 특징 | 활용 분야 |
|---|---|---|
| Cyc / OpenCyc | 대규모 상식 지식 베이스 | 일반 상식 추론 |
| SUMO | 상위 온톨로지 표준 제안 | 범용 개념 모델 |
| WordNet | 단어 의미 네트워크 | 언어 처리 |
| Gene Ontology (GO) | 생명과학용 | 유전자 기능/과정 표현 |
| SNOMED CT | 의료 표준 용어체계 | 임상 데이터 통합 |
| schema.org | 웹 구조화 데이터 표준 | 시맨틱 웹 |
| Wikidata / DBpedia | 공개 지식 그래프 | 검색·연결 데이터 |
| 항목 | 내용 |
|---|---|
| 정의 | 존재하는 개념과 관계를 명시적으로 기술한 논리적 지식 구조 |
| 목적 | 지식의 일관성, 재사용성, 추론 가능성 확보 |
| 표현 언어 | RDF, OWL 등 형식 논리 기반 언어 |
| 기능 | 추론, 분류, 상속, 질의응답 |
| 활용 | 시맨틱 웹, 의료, 언어처리, 로봇, 지식 그래프 |
| 문제점 | 구축 비용, 상식 부족, 통합 어려움 |
| 발전 방향 | 자동 온톨로지 학습, 신경상징 통합, 지식 그래프화 |