ontoBox2009/01/30 20:28

온톨로지에 대한 부족한 글을 써놓은 지도 벌써 6개월여가 다 되어간다. 이런저런 핑계를 대며 미뤄온 온톨로지에 대한 이야기들을 다시 시작해 보고자 한다. 지난번에는 온톨로지의 기본요소들은 무엇이 있는지에 대한 이야기들을 하였다. 어쩐지 '필요할까'라는 생각이 들기도 하지만 온톨로지의 종류에 대해서 한번쯤은 짚고 넘어가는 작업이 필요하다고 본다. 어쨌거나 온톨로지를 이해해보기 위한 글이니까.

 

 형식상 분류

앞선 포스트에서 온톨로지는 클래스(Class), 관계(Relation), 함수(Function), 공리(Axiom), 인스턴스(Instance)의 다섯 가지 요소를 이용하여 형식화된다고 했다. 하나의 온톨로지는 이들 요소를 모두 갖추어 형식화됨으로써 의미가 분명한 온톨로지가 될 수 있다. Uschold와 Gruninger는 의미가 분명한, 그러니까 개념과 그 개념을 나타내는 용어가 분명히 정의된 온톨로지를 형식적 온톨로지라고 보고 조금은 모호한 기준으로 온톨로지를 다음의 네 가지 형태로 구분하고 있다[각주:1].

온톨로지 유형

설명

비형식적
(highly informal)

공리 없이 자연어로 자유롭게 표현된 용어의 집합

일반 사전, 용어사전

반비형식적
(semi-informal)

자연어의 제한적이며 구조화된 형식으로 표현하여 모호성을 줄임으로써 명확성을 상당히 높인 형태

시소러스, 계층 분류

반형식적
(semi-formal)

형식적으로 잘 정의된 언어를 통해 표현한 형태

XML 스키마, XML DTD, DB 스키마

형식적
(rigorously formal)

속성 등의 형식적 의미, 논리, 논증으로 정교하게 정의된 용어로 표현한 형태

시맨틱 네트워크, RDFs, OWL

어느 정도 의역하기는 했지만 그대로 옮겨 적은 것이라 아무래도 어렵다(어렵다는 말을 너무 많이 하는 것 같지만, 어려운 걸 어떡해 ㅜㅜ). 필자가 나름 이해한 바를 여러분께 전하자면, 이 형식성이라는 것은 컴퓨터가 읽을 수 있고 처리할 수 있는 형태로 표현하는 것으로 얼마나 정확하게, 정교하게, 모호하지 않게 표현했나 하는 정도에 따라 달라진다는 것이다. 뭘 정확하게, 정교하게, 모호하지 않게 표현하는가?

"개념용어로!"

개념은 우리의 머릿속에만 존재하는 것이다. 뭐 이견이 있을 수는 있겠지만, 어떤 면에서는 맞는 말이니까. 여튼, 이 머릿속에 존재하는 것을 눈에 보이게, 컴퓨터가 처리할 수 있도록 하기 위해서는 구체적인 형태를 갖추도록 해야 할 것이다. 용어가 바로 그 구체적인 형태이며 이 용어가 얼마나 개념을 잘 표현하고 있는지, 그 관계는 얼마나 정교하게 설정되어 있는가의 정도를 통해 형식성의 정도를 결정하는 것이다.


 

 적용 범위상 분류

온톨로지는 적용 범위에 있어서 크게 상위(upper-level) 온톨로지와 하위(lower-level) 온톨로지로 구분할 수 있다. 상위 온톨로지란 다양한 영역에 적용될 수 있는 상식적인 개념들을 정의하여 우리가 일반적으로 이해하고 있는 현실 세계를 표현하고자 한다. 반면 하위 온톨로지는 경계가 있는 특정 영역의 현실 세계를 구체화하는 것을 목적으로 하고 있다. 이러한 종류의 온톨로지는 특정 영역(domain)이나 분야에 한정된 시각에서 그 영역의 개념과 개념간의 관계를 정의함으로써 특정 영역을 구체화하고 체계화하고자 한다.

Guraino는 하위 온톨로지를 보다 구체적으로 구분하여 다음의 네 가지 유형으로 온톨로지를 구분하고 있다[각주:2].

  • 상위 수준 온톨로지(top-level ontology): 매우 일반적인 개념을 묘사하는 것으로 다양한 이용자, 개발자 등을 위한 통일된 온톨로지 이론 제공
  • 도메인 온톨로지(domain ontology): 특정분야에 한정된 개념들을 제공하며 개념 규정 시 보다 정제된 정의를 요구
  • 과업 온톨로지(task ontology): 특정 과업 수행을 위한 개념을 기술하며 일반 또는 특정 영역에서 사용하는 언어를 재사용하여 상위 수준 온톨로지에 도입해 사용
  • 응용 온톨로지(application ontology): 특정 영역과 과제 온톨로지 모두에 종속되는 개념을 묘사하는 것으로 온톨로지의 특수화라고 할 수 있음

상위 수준 온톨로지는 하위 온톨로지(도메인, 과업, 응용)의 최상위 개념을 기술하여 이들 개념이 연결될 수 있는 기반을 만드는 것이라 할 수 있다. 도메인 온톨로지와 과업 온톨로지는 특정 영역, 즉 보다 구체적인 영역에서의 개념들과 행위를 정의하여 실제로 온톨로지를 활용할 수 있는 기반을 만드는 것이다. 응용 온톨로지는 특정응용분야에서 요구되는 지식을 모형화하는데 필요한 모든 정의들을 기술한다. 응용 온톨로지는 흔히 도메인 온톨로지와 업무온톨로지의 어휘들을 해당 응용분야에 맞게 구체화하고 상세화 한다.

이러한 분류는 일반화 정도에 따른 분류라고 보는 사람들도 있다. 일반화라는 말이 크게 와 닿지 않는데 다른 말로 하자면 구체성이라고 할 수 있겠다. 넓은 범위에서 좁은 범위로, 일반적인 것에서 특정적인 것으로 대상의 표현을 구체화하는 것이다. 도메인 온톨로지와 과업 온톨로지는 상위 수준 온톨로지의 개념을 특정 영역과 행위로 보다 상세화하는 – 넓은 범위에서 좁은 범위로 – 것이다. 즉, 얼마나 구체적인가의 문제인 것이다.


 

 그 밖의 분류

온톨로지는 다양한 분야에서 그 목적에 맞게 개발되고 있다. 그렇기 때문에 각 분야의 관점에 따라 분류가 다르다. 앞에서 이야기한 형식상 분류와 적용 범위상 분류가 일반적인 분류라 할 수 있다. 이 밖에 특정영역에 관계 없이 지식표현 형식의 기초가 되는 표현 온톨로지, 일반적이고 기초적인 개념을 제공하는 일반 온톨로지, 도메인 온톨로지와 일반 온톨로지 사이에서 인터페이스로 사용되는 중개 온톨로지, 개념 정의와 관계 표현 정도에 따른 중량(Heavy-weight) 온톨로지와 경량(light-weight) 온톨로지 등 형태, 영역, 개발 방법 등 다양한 온톨로지가 분류되고 있다.

이처럼 온톨로지의 유형은 일일이 언급하기도 어려울 정도로 다양하지만 지식의 명확하고 분명한 표현과 포착을 위한 도구로써 개발되고 있다는 점이 중요하다.

  1. Mike Uschold & Michael Gruninger, Ontologies : Principle, Methods and Applications, Edinburgh, Edinburgh University, 1996 [본문으로]
  2. 이현실, “온톨로지를 이용한 의학용어의 개념 모델링 사례분석 연구,” 정보관리학회지, 제21권, 제3호(2004. 9) [본문으로]
Posted by readholic