티스토리 뷰

지식표현과 온톨로지

 

인공지능과 지식표현

인공지능이라는 기술의 핵심 중 하나는 인간과 유사하게 기계가 사물 혹은 대상을 인식하고, 학습, 추론할 수 있도록 하는 것이다. 인공적으로 만든 지능을  갖추고 있는 시스템이 스스로 무언가를 처리한다거나, 미리 입력된 명령만을 처리하도록 하는데 이에 따라 강인공지능과 약인공지능으로 분류하기도 한다. 

인공지능의 세부 분야 혹은 주제는 다양하게 존재한다. 탐색, 문제 해결, 지식표현, 추론, 패턴인식, 기계학습, 인공신경망, 계획 등이 포함된다.

 

인공적으로 만들어지는 지능이 발달하기 위해서는 기반이 되는 지식이라는 것이 필요하다. 

실제로 1970년대 이후로 인공지능 분야에서 인공지능 시스템을 구축하는데 기계가 처리할 수 있는 지식의 획득이 필요하다고 인지하기 시작하였다.

그렇다면 기계가 처리할 수 있는 지식을 어떻게 표현할 수 있을 것인가? 

이러한 물음에 위에서 언급한 인공지능의 세부 분야 중 하나인 지식표현이 활용된다.

지식표현이란 지식(Knowledge)을 기계와 사람이 함께 이해할 수 있는 형태로 가공 및 나타내는 것이다.

기계는 나름의 기계어가 있고, 사람은 세계 각국 마다 다르지만 자신들만의 언어가 있다.(사람과 사람간의 지식을 표현하고자 할 때에도 표현하는 방법이 상이하다는 문제가 발생한다.)

여기서 ‘기계어를 사람이 제대로 이해할 수 있을까’와 ‘사람들 간에 서로 소통하는 자연어를 기계가 이해할 수 있도록 온전히 표현할 수 있을까’라는 문제가 발생한다.

이를 해결해보고자 사람이 가지고 있는 지식을 형식화하고 기계 내에서 처리를 할 수 있게 표현을 하게 되면, 사람과 기계가 해석할 수 있는 형식으로 지식을 표현하고 이러한 표현된 지식으로부터 어떠한 결론을 도출할 수 있게 된다.

  • 지식표현과 추론 : 상징적 AI (Symbolic Artificial Intelligence) 의 한 분야로서 인간이 추론하는 것과 유사하게, 기계가 해석할 수 있는 표현에 대해 추론을 하는 시스템을 설계하는 것을 목표로 한다.

 

 

지식을 표현하는 형태는 어떤 것들이 있는가?

지식표현의 패러다임은 전통적으로는 의미망, 프레임, 규칙, 로직 등으로 지식이라는 것을 표현하였다. 그리고 1990년대  즈음부터  마크업 언어로 기술되는 온톨로지를 통해 지식을 표현하기 시작하였다.  온톨로지에 대한 보다 자세한 내용은 이후에 다시 설명하도록 하겠다.

서두에 1970년대에 인공지능 시스템을 구축하는데 있어 지식을 획득하는 것이 핵심이라고 인식하기 시작하였다고 했는데 이때 자동추론을 가능케 하는 계산적 모델로서 온톨로지를 생성할 수 있다는 주장도 함께 있었다. 여기서 ‘계산’이 의미하는 바는 산술 연산 뿐만 아니라 논리, 비교, 분기 계산을 포함한다.

계산적 모델은 ‘기호조작주의’ 라고도 불리는 계산주의 접근 방식이다. 이와 대립되는 것으로는 연결주의가 있다.

계산주의란 인간의 지식과 추론 과정을 기호와 규칙으로 정의하여 인공지능을 실현하려는 패러다임으로서, 지식표현체계와 논리를 활용하여 계산 과정을 설명한다.

반면 연결주의는 신경망 이론이 근거하는 패러다임으로서, 인간의 두뇌와 같이 연결된 뉴런들이 상호작용하여 신호를 주고 받으면서  가중치를 변경하는 과정을 반복하여 인공지능을 실현하고자 한다. 

계산주의에서 자연어를 표현하는 방법은 기호와 술어논리를 통해서 표현하고, 연결주의에서는 원핫인코딩 혹은 임베딩을 통해 표현하는 것이 큰 차이점이라고 할 수 있다.

 

온톨로지란?

앞절에서  잠시 언급한 온톨로지로 돌아와서, 인공 지능 및 컴퓨터 과학 분야에서 계산적 모델로서 온톨로지의 개념이 등장하기는 했지만, "온톨로지"는 원래 철학에서 유래된 용어로  형이상학의 한 분야로서 존재에 대한 철학적 탐구를 의미한다. 

존재론적 범주는 존재하는 모든 사물을 분류할 수 있는 방법을 제공하며, 이 분류체계를 통해 물리적 세계를 구조적으로 분석할 수 있다.

철학자들은 대부분 전체 물리적 세계를 포괄하는 보편적인 최상위 계층에 관심을 가져왔다.

이러한 최상위 계층에서 발생하는 보편성의 예는 “실체”, 물질", "물리적 대상", "무형의 대상", "내구성" 또는 "영구적"과 같은 가장 일반적이고 추상적인 개념이다. 

온톨로지는 1980년대에 들어와 모델링된 세상에 대한 이론과 지식시스템의 구성요소를 가리키는 용어로 사용되었으며,

1990년대에 컴퓨터과학의 기술용어로서 온톨로지를 간주하였다. 이때 Tom Gruber가 온톨로지를 개념화된 명세로 소개하면서 지금은   Gruber가 정의한 대로 줄곧 사용하고 있다.

우리가 지금 쓰고 있는 월드 와이드 웹이 1989년에 제안되어 1993년에  발표되었고, 이와 관련하여 등장한 시맨틱웹을 기점으로 온톨로지 언어와 온톨로지를 사용하는 방법적인 측면에서도 변화를 가져다 준 것으로 생각한다. 이는 지식표현 관점에서 표현력과 형식성을 기반으로 지식을 표현하고 논리적인 추론을 하는 언어로서의 역할과, 데이터 관점에서 표현력을 낮추고 데이터를 공유하고 연결하는 형식성을 갖춘 언어로서의 역할로 나뉘는 측면이 있다. 

 

 

온톨로지 정의

Tom Gruber는 1993년에 온톨로지를 “관심 영역에 대한 공유된 개념화의 형식화되고 명시적인 명세”라고 정의하였다. 

‘관심 영역’이란 온톨로지로 표현하고자 대상 영역이고, ‘공유된’의 의미는 개인과 개인이 속한 커뮤니티 그리고 그 구성원 간에 합의가 되었다 혹은 될수 있다는 뜻이며, ‘개념화’의  의미는 특정 분야에서 일어나는 현상에 연관된 것들을 추상화한 모델을 뜻한다. ‘형식화’의 의미는 기계가 읽고 처리할 수 있다는 형태를 의미하고, ‘명시적’ 의 의미는 개념화한 개념의 종류와 개념들간의 관계 그리고 그것들을 사용하는 제약 조건들을 명확히 정의하는 것을 뜻한다.

 

온톨로지 분류

온톨로지는 일반적이냐, 특정적이냐 또는 재사용이 가능한가 재사용이 불가능한가로 구분할 수 있다. 

최상위 온톨로지는 다양한 영역에서 적용될 수 있는 기본적이고 보편적인 개념을 다룬다. 보편성에 초점을 두고 있기 때문에 특정 영역에 종속되지 않는 온톨로지로 분류한다. 때로는 최상위 온톨로지를 upper 온톨로지라고도 한다.

upper 온톨로지와 다른 개념으로 lower 온톨로지가 있다. 이는 경계가 있는 특정 영역의 현실 세계를 구체화하는 것으로, 특정 영역이나 분야에 한정된 시각에서 그 영역의 개념과 개념 간의 관계를 모델링하여 특정 영역을 추상화하고 체계화한다. 이 부류에는 도메인 온톨로지, 과업 온톨로지, 방법 온톨로지, 응용 온톨로지가 있다.

도메인 온톨로지는 특정한 도메인에서 사용하는 지식을 개념화한 온톨로지로 해당 도메인에서만 재사용이 가능하다.

과업 온톨로지는 일반적인 문제 또는 특정 도메인에서 발생하는 문제를 해결하는데 사용되는 어휘를 제공한다.

방법 온톨로지는 추론 과정을 지원할 때 적용될 수 있는 특정 업무와 관련된 개념과 그 개념들 간의 관계에 대한 정의를 제공한다.

응용 온톨로지는 해당 애플리케이션에서 다루는 지식을 모델링하는데 필요한 개념을 포함하며, 해당 애플리케이션에서의 활용도는 높지만 다른 애플리케이션에서의 재사용성은 낮은 특징이 있다.

 

 

온톨로지 구성 요소

온톨로지는 특정 영역의 개념과 그 개념들간의 관계를 명시하는데 다음과 같은 구성 요소를 활용한다.

개념 - 특정 영역에 존재하는 것에 대한 일반적이고 본질적인 인식

속성 - 개념을 설명하는 속성

관계 - 개념들 사이의 관계 (상속, 합성 등)

공리 - 증명을 할 수 없거나 증명을 요하지 않는 ‘참’으로 인정되는 것. 공리를 통해 논리식을 통한 개념/속성/관계 간의 일관성 설명하고, 논리적 정확성을 검증하거나 새로운 사실을 추론할 때 유용하게 사용

인스턴스 - 각 개념의 실제 개체

제약조건 - 개념들간의 관계나 속성의 값에 관한 제한 규정

 

대략적으로 위의 요소들로 온톨로지를 구성할 수 있으며, 여러가지 언어들이 사용되어 표현되어 왔다.

 

 

온톨로지 언어는 어떤 것들이 있을까?

컴퓨터과학과 인공지능 분야에서  온톨로지 언어는 온톨로지를 구성하는데 사용되는 언어로서 특정 영역에 대한 지식을 표현하는 어휘와 추론규칙을 포함하고 있다.

온톨로지 언어는 구문별 분류와 구조별 분류로 구분할 수 있다.

먼저 구문별로 분류를 하면 전통적인 구문 온톨로지 언어와 마크업 온톨로지 언어로 분류가 된다. 이는 1990년대 전반과 후반을 기점으로 분류가 되는 것 같다. 1990년대 전반까지 사용되는 온톨로지 언어는 대부분 전통적인 구문 온톨로지 언어에 속한다.

CycL, DOGMA, F-Logic, KIF, KL-ONE, LOOM, OKBC 등이 이에 속한다.

마크업 온톨로지 언어는 1990년 후반부터 마크업 스키마를 사용하여 지식을 표현하는데 가장 일반적으로 XML을 기반으로 한다.

SHOE, RDF, RDFS, OIL, DAML+OIL, OWL 등이 이에 속한다.

온톨로지 언어를 구조별로 분류를 하면 지식표현 패러다임을 기반으로 분류를 할 수 있다.

프레임 기반의 온톨로지 언어로는 F-Logic, OKBC 등이 있고, 로직 기반의 온톨로지 언어는 기술논리와 1차술어논리로 다시 구분이 되는데 기술논리 기반의 언어는 KL-ONE, LOOM, OWL 등이 있고, 1차술어논리 기반의 언어는 CycL, KIF 등이 있다.

 


http://joyhong.tistory.com

Knowledge Representation and Ontologies - Stephan Grimm , Pascal Hitzler , Andreas Abecker

계산주의, 연결주의, 단순성 - 공용현

https://en.wikipedia.org/wiki/Ontology_language

Knowledge representation and domain ontologiess - Helmut Horacek

'J:::SemanticWeb' 카테고리의 다른 글

J_14. 온톨로지 언어  (0) 2022.05.06
J_13. 시맨틱 웹과 온톨로지  (0) 2022.02.27
J_11. RDF 1.1 Primer  (0) 2014.11.26
J_10. SPARQL Endpoint 상태  (0) 2013.12.27
J_9. DBPEDIA KNOWLEDGE EXTRACTION FRAMEWORK  (0) 2012.12.27
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함