Protege-Frames의 시작 -1. 온톨로지들의 이해

본 문서는Protege Web Site의 Getting Started with Protege-Frames를 한글로 번역한 것입니다. 이 문서에는 번역 상의 오류가 있을 수 있습니다. 또 일부 아직 번역되지 않은 곳도 있습니다. 내용에 대한 보증은 하지 않으므로 반드시사이트의 원본 문서를 참조하기 바랍니다. 하단의 이메일 주소로 번역 오류 및 정정 의견 등을 보내 주시면 문서에 반영토록 하겠습니다.

- EZMETA(2007. 5)

Author : Eliza Sachs

Current Contact : Jennifer Vendetti (vendetti at stanford dot edu)

Last Modified : June 9, 2006

Please Note: : 이 tutorial 은 Protege-Frames format에서 프로젝트를 만드는 방법을 보여준다. 만약 Protege에 OWL extension을 사용하고 싶으면 Protege-OWL Tutorial 을 참조하기 바란다.


Tutorial: Getting Started with Protege-Frames
Protege Web site | Protege Wiki | About the Protege Team

1. 온톨로지들의 이해


이 자습서는 Protege 프레임, 온톨로지의 신규작성ㆍ편집을 위한 확장가능하고 플랫폼 독립적인 환경, 그리고 사용자가 온톨로지를 빠르고 직관적으로 디자인할 수 있는 지식 베이스를 소개하고 있다. Protege 프로젝트를 신규작성하고, 수정하고, 저장하는 방법을 배우게 될 것이다. \”tutorial\”이라는 프로젝트를 통해 신문기사 예제를 갖고 약간의 classes와 slots를 배우게 될 것이다. 자습서를 읽고 나면, 자기자신만의 Protege 프레임을 탐구할 수 있을 것이다.

Protege 사용자가 모두 온톨로지 디자인과 개발에 익숙한 것은 아니다. 따라서 Protege-Frames 인터페이스의 소개 뿐만 아니라, 온톨로지 디자인의 기본개념을 살펴봄으로써, Ontology Development 101 문서에 기술된 개념들까지 깊게 다룰 것이다. 독자가 온톨로지 디자인에 익숙하다면 이 부분을 생략하고 바로 Creating and Saving a Project로 넘어가도 된다. 더 자세한 문건, 자습서, 문서, 발표문 등은 Protege 웹사이트의documentation page 를 참조하라.


 




● 온톨로지란 무엇인가?


온톨로지는 도메인 내의 기본 개념을 기술하고 그들의 사이에서 관계를 정의한다. 온톨로지 디자인의 기본 블록(building blocks)은 다음을 포함하고 있다.

  • 클래스 또는 개념들(classes or concepts)
  • 개념(슬롯, 때로는 속성의 역할)의 여러 가지 자질(features)과 속성(attributes)을 기술하는 각 개념의 속성들(properties) {{properties of each concept describing various features and attributes of the concept (slots (sometimes called roles or properties))}}
  • 슬롯(파셋, 때로는 역할 제한)에 대한 제한 {{restrictions on slots (facets (sometimes called role restrictions))}}
온톨로지는 클래스의 개별 인스턴스들의 셋과 함께 지식베이스(knowledge base)를 구성한다.


● 왜 온톨로지를 만드는가?

온톨로지는 한 도메인 내에서 정보를 공유하고자 하는 연구자들을 위한 공통된 어휘집(common vocabulary)을 제공한다. 온톨로지를 만들어야 하는 이유중 몇 가지는:
  • 사람들 또는 소프트웨어 에이전트 사이에 정보의 구조에 관한 공통된 이해(understanding)를 공유하기 위해서 {{To share common understanding of the structure of information among people or software agents}}
  • 도메인 지식(domain knowledge)을 재사용할 수 있게 하려고
  • 도메인 가설(domain assumptions)을 분명하게 하기 위해서
  • 운용 지식(operational knowledge)으로부터 도메인지식(domain knowledge)을 분리해내기 위해서
  • 도메인 지식을 분석하기 위해서



● 온톨로지를 어떻게 만들 것인가?

온톨로지들을 개발하기 위한 정확한 방법론도 아직 없고, 정확한 결과를 얻은 적도 아직은 없다. 온톨로지의 개발은 보통 반복적(iterative) 과정이다. 일단 러프(rough)하게 첫번째 발걸음을 내딛어야 한다. 다음으로 수정하고 정교화시켜 온톨로지를 진화시키고 세부사항을 채워넣는다.

실제적으로 온톨로지 개발은 다음을 포함한다.:

  1. 온톨로지에서 클래스들을 정의한다.
  2. 클래스들을 subclass-superclass 계층구조로 배열한다.
  3. 슬롯을 정의하고, 이러한 슬롯에 허용될 수 있는 값을 기술한다.
  4. 인스턴스들의 슬롯에 대한 값을 채워넣는다.



● 온톨로지가 올바로 되었는지 어떻게 아는가?

어떤 도메인이든지 여러가지 온톨로지들이 가능하다;특정 온톨로지는 단지 개념과 관계를 구성하는 한 방법에 지나지 않는다. 디자인과 관련된 결정에 도움을 줄 수 있는 몇 가지 원칙은 다음과 같다.:
  • 도메인을 모델링하는 정확한 방법은 하나가 아니다. 항상 실행 가능한 대안들이 존재한다. 최적의 솔루션은 항상 당신이 염두에 둔 어플리케이션이 무엇인지, 그리고 어떻게 확장시키려고 하는지에 달려 있다.
  • 온톨리지 개발은 필연적으로 반복적인 과정이다.
  • 온톨로지 내의 개념은 도메인 내에서 (물리적이든 논리적이든) 객체(objects)와 관계에 밀접하게 연관되어 있어야 한다. 이것들은 대개 도메인을 기술하는 명사(객체)와 동사(관계)들이다.



● 어디에서 시작할 것인가?

당신은 어쩌면 온톨로지를 어떤 용도로 사용할지를 먼저 결정하여, 상세하거나 일반적인 온톨로지를 어떻게 만들지 고민할 지도 모른다. 몇 가지 실행 가능한 대안들 중에서 어느것이 계획된 과업에 더 적합한지, 더 직관적인지, 더 확장적인지, 더 유지보수하기 적절한지 결정하려고 할 것이다. 온톨로지가 세계 내에서 현실 도메인의 모델이고, 온톨로지에서 개념들은 반드시 이 실제(reality)를 반영해야 한다는 점을 명심하라.

온톨로지의 최초 버전을 정의한 후, 어플리케이션 또는 과제 해결 기법(problem-solving methods) 을 사용하여, 또는 그 분야의 전문가들과 토론하여 온톨로지를 평가하고 디버그할 수 있다. 그 결과 최초의 온톨로지를 수정하게 될 것이 거의 확실하다. 반복적 디자인의 이 과정이 온톨로지의 전체 라이프사이클 내내 계속될 것이다.

  1. 정말 좋은 정보입니다!! 감사합니다!!!

Leave a Comment