데이터
온톨로지
Ontology

도메인의 개념과 관계를 기계가 이해할 수 있도록 형식적으로 정의한 지식 구조. AI가 단순히 데이터를 저장하는 것을 넘어 의미를 이해하고 추론할 수 있게 해준다.

온톨로지란 무엇인가

온톨로지는 쉽게 말해 개념들 사이의 규칙을 적어둔 설계도다. 예를 들어 '자동차는 탈것이다', '테슬라 모델3은 자동차다'처럼 개념의 계층과 관계를 명시적으로 정의해 놓으면, AI 시스템은 '테슬라 모델3은 탈것이다'라는 사실을 직접 입력받지 않아도 스스로 추론해낼 수 있다. 1993년 Tom Gruber가 이를 '개념화의 명시적 명세(explicit specification of a conceptualization)'라고 정의한 이래, 온톨로지는 지식 표현 분야의 핵심 개념이 되었다.

지식 그래프와의 관계

온톨로지와 지식 그래프는 자주 혼동되지만 역할이 다르다. 온톨로지는 '어떤 종류의 노드와 엣지가 존재할 수 있는지'를 정의하는 스키마(설계도)이고, 지식 그래프는 그 설계도대로 실제 데이터를 채워 넣은 결과물이다. 건물로 치면 온톨로지는 설계 도면이고, 지식 그래프는 그 도면으로 지은 실제 건물이다.

개발자가 실제로 쓰는 방식

GraphRAG 시스템을 구축할 때 온톨로지는 LLM의 정보 추출을 안내하는 가이드레일 역할을 한다. 온톨로지 없이 LLM에게 의료 문서를 분석시키면 'John Doe, 45'와 'John Doe, age 45'를 서로 다른 환자로 인식하거나, '제2형 당뇨병'과 'T2D'를 별개 질환으로 처리하는 오류가 발생한다. 온톨로지로 Patient, Condition, Medication 같은 클래스와 그 관계를 미리 정의해 두면 LLM이 그 구조에 맞게 정보를 추출하므로 일관성이 유지된다.

Python 환경에서는 rdflib 라이브러리로 RDF/OWL 온톨로지를 읽고 쓸 수 있고, Protégé는 온톨로지를 시각적으로 설계하는 대표적인 오픈소스 툴이다. LLM 파이프라인에서는 온톨로지를 시스템 프롬프트에 포함시키거나, 그래프 DB(Neo4j 등)의 스키마로 직접 로드해서 활용하는 패턴이 많이 쓰인다.

LLM 시대에 온톨로지가 다시 주목받는 이유

LLM은 방대한 지식을 갖고 있지만 특정 도메인에서 일관성을 유지하기 어렵다. 온톨로지는 LLM의 '구조화된 기억' 역할을 하며, 특히 의료·법률·제조처럼 정확성이 중요한 분야에서 LLM의 환각을 줄이는 수단으로 활용되고 있다. RAG가 문서를 검색해 LLM에 제공한다면, 온톨로지 기반 GraphRAG는 개념 간 관계까지 함께 제공해 더 정밀한 추론을 가능하게 한다.

#지식표현#OWL#지식그래프
← AI Wiki에서 더 보기