온톨로지와 추론 2011.06.29

2016.05.30 21:09

졸리운_곰 조회 수:158

 

 

온톨로지와 추론 2011.06.29

온톨로지 개요

온톨로지(Ontology)라는 용어에 대한 해석으로 “an ontology is an explicit formal specification of a shared conceptualization”이라는 Gruber의 정의가 가장 많이 이용되고 있습니다.

이 정의를 바탕으로 온톨로지의 세부적인 정의를 살펴보면, shared(공유)라 함은 개념이 해당 영역 구성원뿐만 아니라 컴퓨터 간에 합의된 지식에 바탕을 두고 있다는 것을 의미합니다. conceptualization(개념화)라 함은 대상 세계에서 일어나는 현상에 연관된 개념들을 특정 목적을 위하여 표현하기 위한 추상적인 모델을 일컫습니다. 또한 formal(형식적)이라는 것은 기계 가독형이어야 한다는 것을 의미하며, explicit(명시적)이라 함은 개념의 종류와 그들 간의 관계, 그리고 그 개념들의 사용에 있어서 주어지는 제약사항을 명백하게 정의 한다는 것입니다. 즉, 온톨로지는 컴퓨터가 처리 가능하도록 구체적으로 표현되어 지식 재활용이 가능한 메타 모델이라 정의 할 수 있습니다.

온톨로지의 구성요소

Concept (or Class)

개념 혹은 클래스로 표현되는 요소는 개념적으로 같은 단어들의 집합을 표현할 수 있는 대표 단어입니다. 예를 들어 ‘컴퓨터’ 개념은 하위 개념으로 ‘pc’, ‘메인프레임’, ‘워크스테이션’ 등 될 수 있습니다.

Individual(or Instance)

Individual 혹은 인스턴스로 표현되는 요소는 클래스에 포함되지 않는 용어를 말합니다. ‘사람’은 클래스이지만 ‘홍길동’은 인스턴스입니다.

Relation(or Property)

관계 혹은 속성으로 표현되는 요소는 두 용어간의 관계를 설명하기 위해 사용됩니다. 만약 관계가 단지 두 개의 용어의 관계를 설명한다면 slot, 혹은 단관계(binary relation)으로 설명할 수 있습니다.

Function

함수는 관계의 특별한 타입으로 하나의 용어가 다른 용어와의 관계에 있어 개수에 제약사항을 가지는 것을 의미합니다. 예를 들어 ‘엄마’는 ‘사람’ 개념 중 하나인 ‘여자’ 개념과 관계를 가집니다. 함수가 단 두 개의 용어에 대해서만 적용이 가능하다면 slot으로 참조될 수 있습니다.

Axioms

공리는 ‘사실’이라고 밝혀진 First Order Logic으로 이루어진 문장이며 증명하지 않습니다. 구조적으로 slot이나 value로 표현할 수 없는 문장을 공리로 참조하여 사용할 수 있습니다. 공리는 반드시 접두어 표기법(prefix notation)을 사용해야 합니다. ‘=>’는 논리적 구현, ‘<=>’는 논리적으로 동등함을 의미하며 연결, 분리, 부정, 수량제한 등을 표현할 수 있는 표기법이 존재합니다. 변수는 반드시 ‘?’로 시작해야 하며 자유변수(free variable)는 정량화 되어 있는 것으로 간주됩니다.

온톨로지 엔지니어링

온톨로지 구축을 위한 과정과 방법론 및 환경을 통칭하여 온톨로지 엔지니어링이라고 합니다. 온톨로지 엔지니어링은 다음과 같은 구축 작업을 포함합니다.

  • 특정 분야(Domain) 안에서 사용되는 용어(terms)와 그들의 관계를 정의
  • 관심 도메인 내의 개념(concepts)을 정의 : classes 정의
  • 계층 구조로 개념들을 정렬 : subclass-superclass hierarchy
  • 속성 및 특성(properties)을 그들의 제약조건(constraints)와 함께 정의
  • 각 개념과 개념의 속성 값(indiciduals, instances)을 설정

모든 온톨로지 엔지니어링의 목적은 지식 정보와 그 구조의 공통 의미 이해를 공유하도록 하는데 있습니다. 결과적으로 온톨로지 엔지니어링의 결과물은 관심 분야의 지식(domain knowledge)의 효과적 재활용이 가능하게 함으로써, 지식 정보가 공유되지 않음으로 발생되는 소모적, 반복적 재투자를 방지하고 복잡하고 이질적인 정보 시스템의 효과적인 상호 운용과 표준화 가능하도록 합니다.

온톨로지 구축 방법론

구축 방법론에는 여러가지가 있으며, 지금도 새로운 방식의 지식모델링 기법이 연구되고 나오고 있습니다. 가장 일반적이면서 쉬운 방법론은 아래의 Oontology development 101 방법론입니다.

1. 적용범위 결정

  • 온톨로지 범위가 되는 도메인을 결정
  • 온톨로지 사용목적 이해
  • 온톨로지가 해답을 제공해야할 질문의 타입과 목록 작성

2. 기존자원 재활용 검토

  • 온톨로지 라이브러리 검토
  • 상위 온톨로지(IEEE, ENCYCLOPEDIA) 검토
  • 범용 온톨로지(DMOZ, WORDNET) 검토
  • 도메인 온톨로지(UMLS Sem, Net, Gene Ontology) 검토

3. 용어를 열거

  • 우리가 사용해야 하는 용어(Terms)를 열거
  • 용어의 속성(Property)정의
  • 용어를 설명하기 위해 필요한 것을 열거

4. 개념(클래스) 정의

  • 우리가 사용해야 하는 용어를 열거
  • 용어의 속성 정의
  • 용어를 설명하기 위해 필요한 것을 열거

5. 속성 정의

  • 클래스의 slot에 대한 정의는 클래스에 포함되는 인스턴스들의 특징(attribute),
    인스턴스간의 관계를 설명
  • 속성의 타입 : 본질/비본질(intrinsic/extrinsic), 부분(parts), 관계(relation)
  • 하위클래스는 상위 클래스로부터 모든 slot을 상속
  • 만약 하위 클래스가 여러 개의 상위 클래스를 가질 경우 모든 속성을 상속

6. 제약조건 정의

  • 속성의 제약조건을 설명하거나, 하나의 slot에 가능한 값(value)에 대해 제한
  • 요소의 개수(cardinality), 값의 타입, 값의 범위(min/max), 디폴트 값을 정의

7. 인스턴스 생성

  • 클래스의 인스턴스 생성
  • 클래스는 인스턴스의 직접적 타입(direct type)
  • 어떤 직접적 타입의 상위 클래스는 반드시 인스턴스의 타입
  • 인스턴스 프레임에 속성 값을 적용
  • 속성 값은 단면(facet) 제약사항에 합치
  • 이 밖에도 다음과 같은 방법론이 사용되고 있습니다.
  • Cyc methodology: 수동으로 추출된 상식적인 지식을 직접 작성하고, 기계학습도구(machine learning tool)를 이용하여 새로운 지식을 수집하는 방법론
  • Uschold and King : 목적, 생성, 평가, 문서화를 식별
  • Gruniger and Fox : 메인 시나리오 식별, 주요 질의어 식별, 관련 개념 및 관계 추출, FOL을 이용하여 표현
  • KACTUS methodology :요약에 의한 지식베이스 응용에 기반하여 온톨로지 제작

다양한 방법론에 대해 간략히 비교하면 아래와 같습니다.

온톨로지 언어

온톨로지 표현언어는 KIF, OKBC, F-Logic, LOOM, OIL(+DAML), RDF/S, OWL, UML 등 다양한 언어가 존재하며, 대표적으로 W3C에서 표준화된 RDF/S, OWL과 유럽쪽의 F-Logic이 주로 사용됩니다. 각 온톨로지 표현언어의 비교는 다음과 같습니다.


[그림3. 온톨로지 표현언어 비교 표]

OWL(Web Ontology Language)

단순한 정보 표시가 아닌 컨텐트 정보처리를 위해 W3C에 의해 제안된 언어로 XML, RDF/S의 표현영역을 포함하며 형식적 시맨틱 표현을 지원하기 위해 어휘가 추가된 언어입니다. OWL은 다음과 같은 특성을 가지고 있습니다.

  • 클래스와 속성을 정의함으로써 도메인을 정형화(formalizing)합니다.
  • 인스턴스와 선언적 속성을 정의합니다.
  • 정형화된 의미를 이용하여 클래스와 인스턴스간의 의미를 추론합니다.
  • OWL은 아래와 같이 표현력이 서로 다른 세 개의 하위 언어(OWL Lite, OWL-DL, OWL Full)로 구성되어 있으며, 각 하위 언어는 서로 다른 개발자 및 사용자층을 대상으로 합니다.

[그림4. OWL의 표현영역에 따른 분류]

추론의 개요

추론이란, 이미 알고 있는 사실들(명제)를 기반으로 결론에 도달하기 위한 행위 또는 프로세스를 논리적으로 유도하는 과정입니다. First-Order-Logic(FOL)이 결정가능성에 따라 부분적으로 활용 가능한 Description Logic(DL), Horn Logic, Frame Logic(F-Logic)등이 온톨로지 기반 추론에 많이 사용되고 있습니다.
• Description Logic(DL)
FOL의 결정가능한 부분집합이며 자유변수가 존재하지 않습니다. 지식 표현 방법으로 공리(axiom)을 사용하며 DL 추론기의 가용량(Capability)이 해결되지 않은 문제를 가지고 있습니다.
• Horn Logic
FOL의 결정가능한 또다른 부분집합이며 단 하나의 부정(negation)을 표현하며 귀납적 추론방식의 표현입니다.
• Frame Logic(F-Logic)
문법적으로 FOL의 확장형태이며 객체 확인, 복합객체, 상속, 다형성, 질의, 캡슐화 등 객체지향모델의 특징(Object-Oriented and Frame based)을 가집니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com



[그림5. 로직의 포함관계도]

시맨틱 웹 에서의 추론

시맨틱 웹에서의 추론을 지원하는 언어는 OWL(OWL Lite, OWL-DL, OWL Full), SWRL등이 있습니다. OWL은 1)문서의 일관성(consistency check), 2)계층관계 및 동치관계(Subsumption&Equivalence), 3)인스턴스와 클래스의 관계를 추론하며 용도에 따라 OWL Lite, OWL-DL, OWL Full로 구분합니다.

• OWL Lite는 클래스 분류 계층과 간단한 제약 사항 표현을 필요로 하는 사용자들을 위한 언어입니다. 예를 들면, OWL Lite는 관계차수 제약 사항의 표현을 지원하지만, 차수의 값으로 0 또는 1만 사용할 수 있도록 제한합니다. OWL Lite를 지원하는 도구를 제작하는 것은 다른 하위 언어를 지원하는 도구를 제작하는 것 보다 상대적으로 쉬우며 OWL Lite는 유의어 사전이나 여타 분류 체계의 표현 언어를 빠르고 손쉽게 OWL화하기 위한 용도로 적합합니다. OWL Lite는 OWL-DL보다 이론적 복잡도가 낮습니다.

• OWL-DL은 계산학적 완전성(Computational Completeness)과 결정가능성 (Decidability)을 유지하면서 최대의 표현력을 활용하고자 하는 사용자에게 적합합니다. 완전성은 모든 결론이 계산될 수 있다는 특성이고, 결정가능성은 모든 계산이 유한한 시간 안에 끝난다는 특성입니다. OWL-DL은 OWL의 모든 어휘를 포함하고 있지만 어휘의 사용에 있어 정해진 제약 사항을 준수해야 합니다. 예를 들면, 클래스는 다른 클래스들의 하위 클래스가 될 수 있지만 다른 클래스의 인스턴스가 될 수 없습니다. OWL-DL은 그 이름으로 짐작할 수 있듯이 DL(Description Logic)에 상당합니다.

• OWL Full은 계산학적인 어떤 보장 없이 최대의 표현력과 RDF의 유연한 문법을 모두 활용하고자 하는 사용자에게 적합합니다. 예를 들면, OWL Full에서 클래스는 개체(Individual)의 집합인 동시에 그 자체가 하나의 개체가 될 수도 있습니다. OWL Full은 사전 정의된 (RDF 또는 OWL) 어휘의 의미를 확장하는 온톨로지를 작성하도록 허용합니다. OWL Full의 모든 기능에 대하여 완전한 추론을 지원하는 추론 소프트웨어를 만드는 것은 불가능합니다..

이외에도 DL 기반의 OWL 추론은 Tbox를 위한 포함(subsumption), 분류(classification), 일관성(consistency)추론과 Abox를 위한 인스턴스화(instantiation), 현실화(realization), 검색(retrieval) 추론으로 분류가 되기도 합니다.

– Tbox 추론은 개념간의 관계를 명시하는 추론으로써, 다음과 같은 3가지가 대표적입니다.

      • Subsumption: 임의의 개념들이 주어졌을 때 상하위 관계를 구축하는 추론
      • Classifiaction: 주어진 임의의 개념에 대한 subsume or 포함여부를 결정하는 추론
      • Consistency: 개념 정의(definition)에 대한 일관성 체크


[그림6. DL 기반의 TBOX 추론]

– Abox 추론은 실세계의 인스턴스를 반영한 추론으로써, 다음과 같이 분류될 수 있습니다.

          • Instantiation: 인스턴스 i가 클래스 C의 인스턴스인지를 테스트
          • Realization: 인스턴스 i가 속하는 가장 특정한 클래스 C를 알아내는 작업
          • Retrieval: 클래스 C에 속하는 인스턴스를 모두 알아내는 추론

[그림8. OWL의  Axiom]



[그림9. OWL의 CLASS CONSTRUCTOR]

규칙 기반 추론

규칙을 이용하여 추론하는 방식으로 대표적으로 F-Logic과 SWRL 추론이 있습니다. 온톨로지의 class, property, instance를 활용한 rule을 작성하여 활용하는 방식입니다.

- 문서 권한에 관한 온톨로지

- 샘플 규칙




– 사실이 변수에 바인딩된 규칙


– 추론된 사실

관련 사례

본 사례는 솔트룩스가 참여한 E3G 국책과제 중 CDE(Content Delivery Enabler)에 포함된 가입자 정보 지능화중 일부입니다. 본 과제에서 솔트룩스는 통신망의 대용량 데이터를 기반으로 온톨로지를 이용하여 사회관계를 구축하고 추론하며 실시간으로 서비스하는 기술을 구현하였습니다.


[그림10.CDE 개념 구성도]


그림11. 온톨로지 모델

[그림12. 사회관계 추론규칙]

 

 

[출처] http://smartdata.saltlux.com/%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80%EC%99%80-%EC%B6%94%EB%A1%A0/

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1195 [ 一日30分 인생승리의 학습법] VBA Web Scraping: How Can VBA Be Used To Scrape Website Data? file 졸리운_곰 2024.04.13 3
1194 [ 一日30分 인생승리의 학습법] 윈도우 실행파일 구조(PE파일) file 졸리운_곰 2024.03.31 3
1193 [ 一日30分 인생승리의 학습법] [Analysis] PE(Portable Executable) 파일 포맷 공부 file 졸리운_곰 2024.03.31 3
1192 [ 一日30分 인생승리의 학습법] 성공하는 메타버스의 3가지 조건 file 졸리운_곰 2024.03.30 7
1191 [ 一日30分 인생승리의 학습법] REST, REST API, RESTful 과 HATEOAS file 졸리운_곰 2024.03.10 9
1190 [ 一日30分 인생승리의 학습법] 렌더링 삼형제 CSR, SSR, SSG 이해하기 file 졸리운_곰 2024.03.10 2
1189 [ 一日30分 인생승리의 학습법] 엑셀 VBA에서 셀레니움 사용을 위한 Selenium Basic 설치 file 졸리운_곰 2024.02.23 11
1188 [ 一日30分 인생승리의 학습법]500 Lines or Less Blockcode: A Visual Programming Toolkit : 500줄 이하의 블록코드: 시각적 프로그래밍 툴킷 졸리운_곰 2024.02.12 4
1187 [ 一日30分 인생승리의 학습법] 구글 클라이언트(앱) 아이디를 발급받으려면 어떻게 해야 하나요? 졸리운_곰 2024.01.28 3
1186 [ 一日30分 인생승리의 학습법] 빅뱅 프로젝트를 성공적으로 오픈하기 위한 팁 졸리운_곰 2023.12.27 16
1185 [ 一日30分 인생승리의 학습법]“빅뱅 전환보다 단계적 전환 방식이 이상적 애자일팀과 협업 쉽게 체질 개선을” file 졸리운_곰 2023.12.27 12
1184 [ 一日30分 인생승리의 학습법] Big-bang / phased 접근 file 졸리운_곰 2023.12.27 3
1183 [ 一日30分 인생승리의 학습법] CodeDragon 메뉴 데이터 전환의 개념 이해 - 데이터 전환의 개념, 데이터 전환방식, 데이터 전환방식 및 장단점 비교, 데이터전환 이후 검토해야 할 사항 졸리운_곰 2023.12.27 5
1182 [ 一日30分 인생승리의 학습법] 블록체인과 IPFS를 이용한 안전한 데이터 공유 플랫폼 - 분쟁 해결 시스템 file 졸리운_곰 2023.12.27 6
1181 [ 一日30分 인생승리의 학습법] 블록체인과 IPFS를 이용한 안전한 데이터 공유 플랫폼 - 개념과 리뷰 시스템 file 졸리운_곰 2023.12.27 4
1180 [ 一日30分 인생승리의 학습법] 소켓 CLOSE_WAIT 발생 현상 및 처리 방안 file 졸리운_곰 2023.12.03 7
1179 [ 一日30分 인생승리의 학습법] robots 설정하기 졸리운_곰 2023.12.03 3
1178 [ 一日30分 인생승리의 학습법] A Tutorial and Elementary Trajectory Model for the Differential Steering System of Robot Wheel Actuators : 로봇 휠 액츄에이터의 차동 조향 시스템에 대한 튜토리얼 및 기본 궤적 모델 file 졸리운_곰 2023.11.29 6
1177 [ 一日30分 인생승리의 학습법] Streamline Your MLOps Journey with CodeProject.AI Server : CodeProject.AI 서버로 MLOps 여정을 간소화하세요 file 졸리운_곰 2023.11.25 2
1176 [ 一日30分 인생승리의 학습법] Comparing Self-Hosted AI Servers: A Guide for Developers / : 자체 호스팅 AI 서버 비교: 개발자를 위한 가이드 file 졸리운_곰 2023.11.25 10
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED