'개념정리'에 해당되는 글 2건

  1. 2008/04/29 온톨로지에 대한 쉬운 설명 (2)
  2. 2008/02/01 온톨로지란 무엇인가
ontoBox2008/04/29 21:11
얼마전 온톨로지에 대해 굉장히 어렵게 (본디 쉽게 이야기 하고자 했지만...) 이야기를 한 적이 있다. 이미 포스팅 된 글이라 지우기도 뭣하고 뭐 그닥 나쁜 글은 아니라 생각이 들지만 아무래도 좀 쉽게 이야기를 풀어갈 필요성을 느껴서 전혀 학문적이지 않은 온톨로지에 대한 이야기를 해보고자 한다.

온톨로지는 뭔가.

요즘 시멘틱 웹(대개 '시맨틱'이라 쓰고 있지만 우리 선생님께서는 '시멘틱'을 좋아하신다. 본인도 이편이 좋다고 생각한다. 이유는 생략)이 대세다. 시멘틱 웹이란 무엇인가에 대해 이야기를 해야겠지만 이 글은 온톨로지에 대한 이야기므로 간단하게 시멘틱 웹에 대해 이야기 하면

"시멘틱 웹은 웹 상에 존재하는 정보에 의미를 부여하여 컴퓨터가 정보를 이해할 수 있도록 하는 차세대 웹이다."


이러한 시멘틱 웹을 구현하기 위해서는 말했듯이 컴퓨터가 정보를 이해할 수 있어야 한다. 그럼 어떻게 하면 컴퓨터가 정보를 이해할 수 있을까?

컴퓨터가 정보를 이해하게 하기

컴퓨터는 좀 바보다. 인간이 가르쳐 주기 전에는 아무것도 알지 못한다. 그 정보의 내용이 뭔지, 그 정보를 어떻게 써야 하는지, 그 정보를 어떻게 이용해야 하는지 가르쳐 주기 전에는 그냥 문자로만 인식한다. 그래서 컴퓨터가 정보를 이해하게 하기 위해서는 그 방법을 알려주어야 한다. 그 방법은 대개 '추론'이라는 형태로 나타나는데 이 추론이라는 것은 어떤 조건에 의해 가능하게 된다.
두 남자가 있다. 한명은 나이가 많고 한명은 좀 어리다. 이들 간에 어떤 관계들이 있을까? 그 둘이 상하관계라면 아버지와 아들, 형과 아우, 상사와 부하직원, 선생님과 제자 등의 관계가 있을 수 있다. 수평관계라면 친구, 동료의 관계가 있을 수 있다. 이런 관계들은 직업, 역할 등과 같은 여러 조건에 따라 달라진다. 즉, 두 개의 정보 간에 어떤 조건을 기반으로 관계가 성립될 때 정보에 의미가 부여된다. 김덕배 혼자 있으면 그 자체만의 정보이지만 김득칠의 아버지인 김덕배는 아버지라는 의미가 부여되는 것이다.
그래서 이런 조건과 관계가 추론과 무슨 상관이 있나? 상관이 있다. 김덕배는 득칠이 아버지니까 아버지들을 찾을 때 득칠이는 검색되지 않고 덕배씨만 검색이 되는 것이다. 여기서 중요한 것은 김덕배씨가 아버지라는 정보는 김덕배씨 자체에는 표현되지 않았으나 득칠이와의 관계에서 아버지라는 정보가 '추론'된 것이다.

왜 컴퓨터가 정보를 이해해야 하나

그래, 왜 이해해야 하지? 그냥 김덕배씨 정보를 생성할 때 아버지라는 정보를 같이 넣으면 되잖아? 라고 생각하신다면 이 세상에 있는, 아니 적어도 온라인 상에 존재하는 모든 정보의 양을 생각해 보시라. 잘 기억은 나지 않지만 구글이 저장해 놓은 웹페이지가 10억 페이지를 넘었다고 알고 있다. 약 2년 전에 들은 소식인데, 어쟀든 10억 페이지를 일일이 수정하려면 네이버의 알바신공으로도 힘들지 않을까 한다. 시멘틱 웹은 발전하고 싶어하니 웹 상에 존재하는 정보에 의미는 부여해주고 싶다. 그런데 알바신공으로도 힘드니 자동적으로 하는 수 밖에는 도리가 없다. 그래서 컴퓨터가 정보를 이해할 수 있도록 규칙을 만드는 것이다.

규칙은 어떻게 만드나

그런데 문제는 그 규칙을 어떻게 만드는가 하는 것이다. 문서들이 워낙에 다양하니, 내용이 워낙에 다양하니, 주제가 워낙에 다양하니 그 비우를 어떻게 다 맞추나. 큰일이다.
큰일은 뭘, 훗, 다양하면 덜 다양하게 만들면 그만이지. 그럼 덜 다양한 녀석들 비우를 하나씩 맞춰주면 되지 않겠는가. 덜 다양하게 만들려면 이 세상의 것들을 공통적인 성질로 묶으면 된다. 빨강, 파랑, 노랑은 색깔, 이효리, 비, 앙드레 김은 사람 또는 연예인 그도 아님 유명인 등과 같이 공통의 성질을 갖고 있는 것들을 한데 묶어주면 조금 덜 다양하게 된다. 그리고 그렇게 덜 다양한 녀석들 사이에 어떤 관계가 있는지, 그런 관계는 어떤 때에 생성되는지를 정해주면 된다.

그러니까 온톨로지는 뭐야?

온톨로지는 그 다양한 녀석들을 조금 덜 다양하게 만들어 보자는 시도이다. 온톨로지는 간단하게 "개념의 명세화"로 설명된다. 무슨 말이냐, 우리가 보고, 듣고, 생각하고, 말하는 이 세상의 모든 것을 구체적으로 설명하고 표현하자는 말이다. 앞서 말한 덜 다양한 녀석들 사이의 관계와 그 관계가 어떤 때 생기는지를 말해줌으로써 따로따로 덜어진 정보들을 가지고 지식을 만들어 내자는 것이 온톨로지의 취지이다.
온톨로지는 이러한 덜 다양을 위해 계속해서 좁혀 들어간다. 학문 중에서도 법률, 법률 중에서도 형법, 형법 중에서도 판례, 판례 중에서도 피고. 이렇게 계속 좁혀들어가서 그 마지막에 있는 개념을 구체적으로 설명하고 그 개념이 속한 영역에 존재하는 개념들의 관계를 상황과 조건을 통해 설명하는 것이다.

아 모르겠다.

이런 뜬금없는 이야기를 듣고 온톨로지가 무엇인지 아신다면, 당신은 천재. 더 자세한 이야기는 다음번에 하기로 하고 오늘의 내용을 정리하면

온톨로지는 컴퓨터가 정보를 이해할 수 있도록, 정보를 구성하는 최소의 단위인 개념을 구체적으로 설명하고 이 구체적으로 설명된 개념들을 관계와 조건을 통해 다시 한번 설명하기 위한 체계. 라는 것이다.

음... 어렵다 어려워


온톨로지 개념 정리에 대한 어려운(?) 글
2008/01/29 - [ontoBox] - 온톨로지란 무엇인가
Posted by readholic
ontoBox2008/02/01 20:03

    "온톨로지를 한마디로 정의하기는 꽤나 어려운 일이다. 'Ontology'라는 단어는 철학의 존재론에서 왔지만 온톨로지를 시스템으로 사용하는 정보학과 전산학 분야에서는 철학에서의 온톨로지와는 조금 다르게 정의되고 있다. 뿐만 아니라 그 정의는 상황과 목적에 따라 또한 다양하게 정의되므로 "온톨로지는 무엇이다"라고 간단하게 말할 수 없다.

온톨로지를 한마디로 정의하기도 어려울뿐더러 온톨로지를 이해하는 것도 만만치 않게 어렵다. 이 글은 온톨로지를 보다 쉽게 이해 하는데 조금이나마 보탬이 되어보자하는 마음으로 쓰게 되었으니 만큼 어려운 용어는 자제하여 이야기를 풀어보고자 한다.

온톨로지의 개요

앞서 말했듯이 온톨로지의 어원은 철학의 존재론이다. (정보학, 전산학에서 온톨로지를 사용할 때에는 반드시 대문자 'O'를 사용해야 한다. 아무래도 좀 헷갈리니까) 존재론이란 실재에 대한 정확한 이해를 추구하는 학문이다.[각주:1] 실재란 것은 우리의 눈에 보이는 이 세상의 모든 것을 말하며 존재론은 이 세상을 규정하기 위해 세상에 존재하는 실체들에 대한 명확한 이해와 정의를 연구하는 학문이라 할 수 있다.

온톨로지는 이러한 존재론의 기본 철학을 정보시스템에 적용하여 정보시스템의 대상이 되는 자원[각주:2]의 개념을 명확하게 정의하고 상세하게 기술하여 보다 정확한 정보를 찾을 수 있도록 하는데 목적이 있다.

온톨로지는 크게 볼 때 정보를 효과적으로 관리하고 검색하기 위한 지향점이라 할 수 있다. 온톨로지는 이용자에게 정보만을 제공하는 기존의 정보시스템이 정보를 지식의 수준으로 제공할 수 있는 체계를 마련할 수 있도록 한다. 즉, 지식을 표현하기 위한 밑그림이라 할 수 있는 것이다. 일부에서는 온톨로지를 개념을 정의한 용어집 정도로 정의하고 있으나 개념을 정의하고 그것을 구체적인 단어로 표현하는 것은 온톨로지 구축을 위한 작업의 일부분으로 온톨로지 자체를 용어집으로 취급하기에는 온톨로지에 열정을 가진 사람들이 좀 억울하다.

온톨로지에 대한 이해를 위해 온톨로지에 대한 몇가지 대표적인 정의들을 살펴보도록하자.

온톨로지의 정의

Tom Gruber는 온톨로지를 다음과 같이 간략하게 정의하였다.

        온톨로지는 개념화의 명세이다.
        An ontology is a specification of a conceptualization.[각주:3]

간략하게 정의하였다지만 말이 조금 어렵다. Gruber의 정의를 풀어보자. 우선은 개념화란 무엇인지가 궁금하다. 개념화란 말 그대로 '무언가를 개념[각주:4]으로 만드는 것이다'라고 짧게 말할 수 있겠다. 즉, 개념화는 우리가 볼 수 있는 사물이나 추상적으로 존재하는 관념들을 구체적인 집합으로 만드는 것이다. SUV, 덤프트럭, 세단, 경차의 공통점은 '차(Vehicle)'라는 점이다. 또한 SUV, 덤프트럭은 '차'의 종류 중에서도 '트럭(Truck)'에 속하고 경차, 세단은 '자동차(Car)'에 속한다. 이렇듯 각 사물에서 공통점을 찾아내고 이를 하나의 집합 또는 범주로 나타내는 작업을 문헌정보학에서는 분류라 하며 일종의 개념화라 할 수 있다.
개념화는 어떠한 정보를 관리하기 위해 필요하다. 정보의 공통된 속성을 찾아 그 속성에 따라 정보를 나누고 나누어진 정보 중 필요한 정보만 속성을 통해 보다 빠르게 찾아내고 접근할 수 있게 하는 것이다. 개념화는 우리의 생활 속에서 빈번하게 일어난다. tagging은 그 대표적인 예라 할 수 있다. 우리가 블로깅을 하면서 태그를 달 때, 내가 쓴 글의 주제, 포함하는 단어 등을 주로 사용한다. 태그는 내가 쓴 글이 무엇에 대해 쓴 것인지 표현하고 설명하는 것이며 이것은 일종의 개념화라 할 수 있다.

그렇다면 상세는 무엇일까? 명세는 사전적으로 '분명하고 자세함[각주:5]'라는 의미를 갖고 있다. 즉, 온톨로지에서 명세는 이와 같은 의미로 사용되어 개념화된 정보, 지식의 쓰임새, 의미 등을 분명하고 자세하게 설명하는 것을 말한다.

Gruber의 정의를 살펴 보았지만 그의 정의는 너무 간략하여 온톨로지를 이해하기는 좀 어려울 것 같다. Borst의 정의를 살펴보자. 그는 Gruber의 정의를 다음과 같이 수정하였다.

         온톨로지는 공유된 개념의 정형화된 명세이다.
         Ontologies are defined as a formal specification of a shared conceptualization.[각주:6]

Borst의 정의에는 '공유'와 '정형'의 두 개념이 추가 되었다. 이는 온톨로지는 일정한 틀에 따라 명확하게 정의되고 상세하게 설명된 개념을 특정영역에서 공유된 개념, 즉 정보나 지식을 혼란 없이 사용할 수 있도록 한다는 점을 의미한다. 온톨로지에서 공유의 의미는 다양하게 해석될 수 있으나 여기서는 하나의 잘 정의된 개념을 각 분야에서 공통적으로 사용된다는 의미에서의 공유에 주목해야 한다. 또한 일정한 틀은 나중에 다루게 될 RDF/OWL, TopicMap과 같은 온톨로지 표현 언어를 말한다.

온톨로지는 무엇인가

온톨로지는 개념, 어떤 의미에서는 정보를 잘 정의하여 기계가 정보를 이해할 수 있는 기반체계을 만드는 것으로 정보의 쓰임이나 의미 등을 분명하고 자세하게 설명하는 작업과 정보를 분명하게 구별하는 기반을 세우는 작업, 기계가 정보를 이해하여 새로운 정보 또는 지식을 생산할 수 있는 체계를 작성하는 작업 등을 체계적으로 정리한 이론적 틀이라고 말할 수 있다.


온톨로지를 이해하기 위해서는 이와 관련된 수 많은 이야기들을 알아야 할 필요가 있다. 지식공학, 정보공학, 분류, 시소러스, 시맨틱 등등... 이번 글을 시작으로 이러한 이야기들을 차근차근 풀어 나가보고자 한다.

다음에는 '왜 온톨로지를 사용하는가' 혹은 '왜 사용해야 하는가'라는 주제로 이야기를 해보고자한다.


2008/04/29 - [ontoBox] - 온톨로지에 대한 쉬운 설명





                                                                         
Posted by readholic