온톨로지의 이해

DH 교육용 위키
Wikisisop (토론 | 기여) 사용자의 2017년 3월 7일 (화) 08:38 판

이동: 둘러보기, 검색

※ 이 기사는 『디지털 인문학 입문(김현 외, HUEBOOKs, 2016, 5. 31.) 제2편 Ⅳ-3. 온톨로지제1편 Ⅳ-3. 위키 콘텐츠 편찬 방법에 담은 글의 일부입니다.

김현
한국학중앙연구원 인문정보학 교수

온톨로지(Ontology)란?

‘온톨로지’란 정보화의 대상이 되는 세계를 전자적으로 표현할 수 있도록 구성한 데이터 기술 체계이다.

정보기술 분야에서 말하는 ‘온톨로지(ontology)’에 대한 가장 일반적인 정의는 그루버(Gruber, Thomas. 1959~ )가 말한 ‘명시적 명세화의 방법에 의한 개념화’(explicit specification of a conceptualization)이다.[1]

  • ‘개념화’(conceptualization): 정보화하고자 하는 대상 세계를 일정한 체계 속에서 파악하는 것, 예를 들면 그 세계에 무엇이 있고, 그것은 어떤 속성을 품고 있으며, 그것들 사이의 관계는 무엇인가 하는 일정한 질문의 틀 속에서 대상 세계를 이해하는 방식이라고 할 수 있다.
  • ‘명세화’(specification): 대상 세계에 존재하는 개체, 속성, 관계 등을 일목요연한 목록으로 정리하는 것이다.
  • ‘명시적’(explicit): 그 정리된 목록을 사람뿐 아니라 ‘컴퓨터가 읽을 수 있도록’(machine readable) 한다는 것이다.

넓은 의미에서는 모든 정보화의 틀이 다 온톨로지일 수 있겠지만, 대상 자원을 ‘클래스’(class)로 범주화하고, 각각의 클래스에 속하는 개체(individuals)들이 공통의 ‘속성’(attribute)을 갖도록 하고, 그 개체들이 다른 개체들과 맺는 ‘관계’(relation)를 명시적으로 기술하는 것이 가장 일반적인 온톨로지 설계 방법이라고 할 수 있다.

원래 온톨로지라는 말은 철학에서 ‘존재론’이라고 번역되는 용어로서 ‘존재에 대한 이해를 추구하는 학문’의 의미를 갖는 말이었다. 그러한 용어가 정보과학 분야에서 중요한 개념으로 등장하게 된 것은 인간이 세계를 이해하는 틀과 컴퓨터가 정보화 대상(콘텐츠)을 이해하는 틀 사이에 유사성이 있다고 보았기 때문이다. 그 틀은 바로 대상을 구성하는 요소들에 대응하는 개념들과 그 개념들 간의 연관 관계이다.[2]

위키 콘텐츠를 위한 온톨로지 설계

위키 콘텐츠의 제작은 위키 소프트웨어에 담을 데이터의 구조를 설계하는 일로부터 시작한다.[3]

이것은 정보화의 대상이 되는 세계를 디지털 공간에 옮겨 놓기 위한 구상이라고 할 수 있다. 이러한 구상을 온톨로지(ontology) 설계라고 한다. 위키 소프트웨어 학습의 첫 단계에서는 온톨로지 이론을 본격적으로 학습하기보다는 그것의 핵심을 이루는 몇 가지 준칙을 이해하고 이를 위키 문서 제작에 적용해 보기로 한다. 그 준칙이란,

  • 첫째, 위키 문서에 담고자 하는 지식의 범주를 정한다.
  • 둘째, 각각의 범주에 속하는 위키 문서에 공통적으로 기록할 요소가 무엇인지 정한다.
  • 셋째, 각각의 범주에 속하는 문서들 사이에 어떠한 종류의 관계성이 있을지 생각하고, 그 관계성에 따라 하이퍼링크를 만들 계획을 세운다고 하는 것이다.

위키 온톨로지 설계 예시 1

간단한 예를 들어 보기로 하자. ‘내가 추천하는 단편 영화’라고 하는 주제로 위키 콘텐츠를 제작하고자 한다면 어떤 내용의 위키 문서들을 만들어야 할까? 단순히 작품의 목록을 만들고 그 속에서 개별 영상물에 대한 설명을 부가할 수도 있겠지만, 좀 더 풍부한 내용을 가진 지식 콘텐츠를 만들고자 한다면 다음과 같이 생각할 수도 있을 것이다.

⓵ 위키 문서의 범주:

  • a. 영화 작품, b. 영화배우, c. 영화 제작사 등 세 가지 종류의 위키 문서를 제작한다.

⓶ 위키 문서의 내용 속성:

  • a 범주(영화 작품)의 문서에는 영화 제목, 상영 시간, 제작 연도, 출연 배우, 제작사, 스토리 개요, 포스터 사진 등의 정보를,
  • b 범주(영화배우)의 문서에는 이름, 출생년도, 출생지, 출연 작품, 수상 경력, 배우 사진, Facebook URL 등의 정보를,
  • c 범주(영화 제작사)의 문서에는 회사명, 설립연도, 소재지, 연혁, 대표 작품, 회사 로고 이미지, 회사 홈페이지 URL 등의 정보를 기록한다.

⓷ 위키 문서 사이의 관계(하이퍼링크):

  • a 범주(영화 작품)의 문서는 작품에 출연한 배우(b 범주) 및 그 영화를 제작한 제작사(c 범주)의 문서로 연결되는 하이퍼링크를 갖도록 한다.
    • ~는 이 영화의 출연 배우이다 / ~는 이 영화의 제작사이다
  • b 범주(영화배우)의 문서는 그가 출연한 영화(a 범주)의 문서로 연결되는 하이퍼링크를 갖도록 한다.
    • ~는 이 배우가 출연한 영화이다
  • c 범주(영화 제작사)의 문서는 그 회사가 제작한 영화(a 범주)의 문서로 연결되는 하이퍼링크를 갖도록 한다.
    • ~는 이 회사가 제작한 영화이다

온톨로지 설계 용어를 빌리자면, 위의 ⓵과 같이 대상 정보의 범주를 정하는 것을 클래스(class) 설계라고 하고, ⓶와 같이 각각의 범주에 속하는 문서의 내용 요소를 정하는 것을 속성(attribute) 설계, ⓷과 같이 문서와 문서의 관계를 정의하는 것을 관계성(relation) 설계라고 한다. 그리고 하나의 ‘위키 문서’처럼 콘텐츠의 단위 정보가 되는 요소를 개체(individual)라는 이름으로 부른다. 위의 ⓵, ⓶, ⓷에서 구상한 내용을 그림으로 보이면 다음과 같다.

OntologyDesign0.jpg

위키 온톨로지 설계 예시 2

문학, 철학, 역사 분야의 학술적인 지식은 물론 ‘내 고장의 생활·문화 공간’, ‘우리 가족의 역사’, ‘나의 개인적인 여행 경험’ 등 위키에 기록하여 디지털 콘텐츠로 만들 수 있는 자원은 무한하다. 그러한 콘텐츠는 짧은 시간 안에 제한적으로 만들 수도 있겠지만, 단계적으로, 지속적으로 확장시켜 갈 수도 있다. 있다. 온톨로지 설계가 중요한 이유는 현재의 콘텐츠가 앞으로 더 발전해 갈 수 있는 기반이 되기 때문이다. 또한 협업의 공간인 위키 시스템 안에서는 하나의 주제를 가지고 여러 사람이 참여하여 복합적인 내용의 콘텐츠를 만들 수도 있다. 이런 경우, 다수의 저작자가 제각각 다른 모양의 위키 문서를 만드는 것보다 전체를 담을 큰 틀을 약속하고, 그 틀 안에서 일정한 형식으로 정확하게 소통할 수 있게 하는 것이 중요하다.

아래의 그림은 앞의 예시보다 조금 더 확장된 데이터 범주(class) 설계의 예시다. 처음에는 이 정도의 단순한 데이터 모델을 모방·변용하는 방법으로 자신의 위키 데이터 구조 설계를 대신할 수 있다.

위키 콘텐츠 편찬을 위한 일반적인 데이터 구조 설계 예시


※ 이 기사는 『디지털 인문학 입문(김현 외, HUEBOOKs, 2016, 5. 31.) 제2편 Ⅳ-3. 온톨로지제1편 Ⅳ-3. 위키 콘텐츠 편찬 방법에 담은 글의 일부입니다.


  1. Gruber, ‘A Translation Approach to Portable Ontology Specifications’, Knowledge Systems Laboratory Technical Report KSL 92-71, Stanford University, 1992.
  2. 김현, 「한국 고전적 전산화의 발전 방향 - 고전 문집 지식 정보 시스템 개발 전략 -」, 『민족문화』 28 (2005)
  3. 위키 소프트웨어를 처음으로 개발한 워드 커닝엄(Ward Cunningham)은 위키를 ‘온라인상에서 동작하는 가장 간단한 데이터베이스’(the simplest online database that could possibly work)라고 설명했다. 이 말에서 주의 깊게 살펴야 할 것은 위키가 ‘데이터베이스’라는 점이다. 데이터베이스는 데이터를 체계적, 구조적으로 편성해 놓은 것을 말한다. 데이터베이스에 데이터를 저장하기 위해서는 먼저 그 저장 공간을 체계적으로 설계하는 일이 필요하다. 마찬가지로 위키 콘텐츠의 제작을 위해서는 위키로 표현할 정보를 어떠한 구조와 체계로 구성할 것인지에 대해서 미리 고민해야 한다. 일반적인 데이터베이스 설계와 다른 점은 콘텐츠 제작자가 데이터베이스 조작 기술에 대해서 몰라도 된다는 것이다. 그 부분은 위키 소프트웨어가 대신해 주기 때문이다. 하지만 콘텐츠를 의미 있는 체계로 구성하는 것은 위키 소프트웨어가 해 줄 수 있는 일이 아니라 위키 콘텐츠의 생산자가 담당해야 할 몫이다.