온톨로지
위키백과 ― 우리 모두의 백과사전.
| 이 글은 전산학과 정보 과학에서의 온톨로지에 관한 것입니다. 철학의 존재론에 대해서는 존재론 글을 참조하십시오. |
온톨로지(Ontology)란 사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 통하여 합의를 이룬 바를 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델로, 개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술이다. 온톨로지는 일단 합의된 지식을 나타내므로 어느 개인에게 국한되는 것이 아니라 그룹 구성원이 모두 동의하는 개념이다. 그리고 프로그램이 이해할 수 있어야 하므로 여러 가지 정형화가 존재한다. 이는 전산학과 정보 과학에서, 특정한 영역을 표현하는 데이터 모델로서 특정한 영역(Domain)에 속하는 개념과, 개념 사이의 관계를 기술하는 정형(Formal) 어휘의 집합으로 정의된다. 예를 들어 "종-속-과-목-강-문-계"로 분류되는 생물과 생물 사이의 종의 관계, 영어 단어 사이의 관계 같은 것을 정형 어휘로 기술하면 각각 온톨로지라고 할 수 있다. 정형 언어(Formal Language)로 기술된 어휘의 집합인 온톨로지는 추론(Reasoning, Inference)을 하는 데에 사용된다. 웹의 등장은 전통적인 정보검색을 비롯하여 지식관리와 일반 상거래 등 사회 전 분야의 변혁을 초래하였다. 특히 웹 정보 검색은 소장 자료를 대상으로 하는 제한된 검색에서 웹을 통해 접근할 수 있는 전자자원을 대상으로 하는 검색을 가능하게 하였다. 웹의 급속한 발달로 인해 검색 대상 범위의 확대는 보다 정교한 검색을 필요로 하게 되었으며, 지능화된 정보 검색 시스템 개발을 촉진하는 계기가 되었다. 이런 계기를 바탕으로 웹자원을 효과적으로 관리할 수 있는 정보 검색의 새로운 도구의 필요성이 대두되었다. 온톨로지는 시맨틱 웹을 구현할 수 있는 도구로써 지식개념을 의미적으로 연결할 수 있는 도구이다.
온톨로지는 자연어의 기계 번역과 인공지능 분야에서 활용되며, 최근에는 특정 분야의 인터넷 자원과 그 사이의 관계를 기술하는 온톨로지를 사용하는 시맨틱 웹과 이것에서 파생된 시맨틱 웹 서비스 등의 핵심 요소로서 주목받고 있다. .
주로 인용되는 온톨로지에 대한 정의는 '온톨로지란 어떤 관심 분야를 개념화하기 위해 명시적으로 정형화한 명세서'(An ontology is an explicit and formal specification of a conceptualisation of a domain of interest' (c.f. Gruber, 1993)이다.
[편집] 온톨로지의 역할과 기능
시맨틱 웹 기술은 사람의 머리 속에 있는 언어에 대한 이해를 컴퓨터 언어로 표현하고 이것을 컴퓨터가 사용할 수 있게 만드는 것인데, 특별한 분산환경을 갖춘 웹에 구현하자는 것이다. 이것은 기계가 정보검색과 같은 사람의 요구를 더 잘 이해하고 적절하게 반응하기 위해서이다. 사람과 기계 사이에 진정한 커뮤니케이션이 가능하기 위해서는 사람이 이해하는 수준으로 기계도 언어를 이해할 수 있어야 한다. 사람들이 언어를 이해하는 방식을 보통 개념화라고 하는데, 즉 사람들은 세상에 있는 각각의 사물이나 사건들을 경험하면서 이 들 속에 들어있는 특징을 파악해서 언어로 개념화한다. 이렇게 컴퓨터에서도 사람이 갖고 있는 개념과 같은 것을 일종의 데이터베이스 형태로 만드는 기술을 온톨로지 기술이라고 부른다.
[편집] 온톨로지의 구성
온톨로지의 구성원소는 클래스(class), 인스턴스(instance), 관계(relation), 속성(property)으로 구분할 수 있다. 클래스는 일반적으로 우리가 사물이나 개념 등에 붙이는 이름을 말한다고 설명할 수 있다. "키보드", "모니터", "사랑"과 같은 것은 모두 클래스라고 할 수 있다. 반면, 인스턴스는 사물이나 개념이 구체물이나 사건 등의 실질적인 형태로 나타난 그 자체를 의미한다. 즉, "LG전자 ST-500 울트라슬림키보드", "삼성 싱크마스터 Wide LCD 모니터", "로미오와 줄리엣의 사랑"은 일반적으로 인스턴스라 볼 수 있다. 이와 같은 클래스와 인스턴스의 구분은 응용과 사용목적에 따라서 매우 달라질 수 있다. 즉, 같은 표현의 개체가 어떠한 경우에는 클래스가 되었다가 다른 경우에는 인스턴스가 될 수 있다.
관계는 클래스/인스턴스 간에 존재하는 관계들을 칭하며, 일반적으로 taxonomic relation과 non-taxonomic relation으로 구분할 수 있다. taxonomic relation은 클래스/인스턴스들의 개념분류를 위하여, 보다 폭넓은 개념과 구체적인 개념들로 구분하여 계층적으로 표현하는 관계이다. 예를 들어, "사람은 동물이다"와 같은 개념간 포함관계를 나타내기 위한 "isA" 관계가 그것이다. taxonomic relation이 아닌 관계를 non-taxonomic relation이라 한다. 예를 들어, "운동으로 인해 건강해진다"는 것은 "cause" 관계(인과관계)를 이용하여 표현한다. 속성은 클래스나 인스턴스의 특정한 성질/성향 등을 나타내기 위하여, 클래스나 인스턴스를 특정한 값(value)와 연결시킨 것이다. 예를 들어, "삼성 싱크마스터 Wide LCD 모니터는 XX인치이다."라는 것을 표현하기 위하여, hasSize와 같은 속성을 정의할 수 있다. 일반적으로 관계와 속성은 굳이 구분하여 칭하지 않는 경우가 많다. "isA(사람, 동물)", "cause(운동, 건강)", "hasSize(삼성 싱크마스터 Wide LCD, XX 인치)"와 같은 실제 클래스/인스턴스들 사이의 관계로 선언한 관계/속성을 관계/속성 인스턴스(relation/property instance)라고 부르기도 하는데, 이는 "isA", "cause", "hasSize" 등과 같이 정의하여 명명한 관계/속성과의 구분을 위하여서이다.
[편집] 온톨로지 언어
온톨로지에서 주로 사용하는 언어에는 RDF, OWL, SWRL 등이 있다. RDF는 XML에서 발전한 형태이며, subject, object, predicate으로 이루어지며, 단순하게 개념 혹은 인스턴스 사이의 관계를 나타낸다. 일반적으로 복잡한 제약조건이 필요없는 일반 응용을 산정할 경우에 RDF를 많이 사용한다. OWL은 관계들 간의 hierarchy, 관계 인스턴스 내에서의 논리적 제약조건 등을 포함한 언어이다. 정밀하고 논리적인 추론을 필요로 하는 경우에 사용한다. SWRL은 추론을 위한 규칙을 정의하기 위하여 사용한다.
![]() |
이 글은 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |


