"지식표현"의 두 판 사이의 차이
leejia1222 (토론 | 기여) |
|||
(사용자 3명의 중간 판 31개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''지식표현'''<!--지식 표현-->(Knowledge Representation)이란 지식(knowledge)을 [[ | + | '''지식표현'''<!--지식 표현-->(Knowledge Representation, KR)이란 인간의 지식(knowledge)을 컴퓨터 시스템이 사용할 수 있도록 가공 및 표현하기 위한 연구이다. [[인공지능]](AI) 연구에 있어 매우 중요하다. 사실과 관계성 등을 부호화하고 지식 베이스에 저장하는 방법이 사용되며 논리, 의미망, 프레임, 규칙 등이 모두 지식을 표현하는 방법이다. |
− | == | + | ==개요== |
− | 지식표현은 복잡한 문제를 해결하는 데 사용할 수 있는 세계에 대한 정보를 컴퓨터 시스템이 사용할 수 있도록 하는 표현 중점에서 중요한 연구로, [[인공지능]] 분야 연구이다. 합목적적, 목적달성에 부합되는 구조를 가져야하며, 추론의 효율성, 지식 획득의 용이성, 저장의 간결성 및 표현의 정확성, 다양성 등을 갖추어야 한다. 자연어를 컴퓨터가 이해할 수 있도록 프로그램화 되어야 하기 때문에, 획득한 지식을 효율적이고 효과적으로 표현하는 지식표현은 전문가 시스템의 성패를 좌우한다고 할 수 있다. | + | 지식표현은 문제해결을 위한 지식을 컴퓨터에서 실행 가능한 형태로 나타내는 것으로, 정확한 표현이 필요하며, 효율적인 추론이 가능하도록 표현해야 한다. 또한 새로운 지식의 획득 및 효율적인 수정 및 삭제가 가능하도록 표현해야 하며, 일반성을 가질 수 있도록 표현해야 한다. 그리고 사람이 이해하기 쉽도록 표현해야 하는 조건이 있다.<ref name=슬라이드플레이어>Καλλιστώ Κορωναίος, 〈[https://slidesplayer.org/slide/17178347/ Ch.3지식의 표현과 논리]〉, 《슬라이드플레이어》, 2019</ref> 지식표현의 특징으로는 표현방법의 적합성, 추론의 적합성, 추론의 효율성, 지식 획득 능력이 있다.<ref>열이 , 〈[https://m.blog.naver.com/PostView.nhn?blogId=shine10ee&logNo=10044211472&proxyReferer=https:%2F%2Fwww.google.com%2F 지식의 표현]〉, 《네이버 블로그》, 2009-03-17</ref> |
− | 지식표현은 대용물(surrogate), 일련의 존재론적 약속(ontological commitments), 지능적 추론의 단편적인 이론(fragmentary theory), 효율적인 전산화(computation)을 위한 수단, 인간 표현의 수단이라는 다섯 가지의 역할도 있다.<ref name=인공지능스터디> 인공지능 스터디 공식 홈페이지 - http://www.aistudy.co.kr/expert/knowledge_representation.htm</ref> | + | |
+ | 지식표현의 기법에는 명제 논리 및 술어 논리와 같은 논리를 이용한 지식 표현, 규칙을 이용한 지식 표현, 의미망을 이용한 지식표현, 구조적인 지식 표현이있다. 먼저 논리기반 시스템의 창안자는 [[주세페 페아노]](Giuseppe Peano)이며, 표현방법은 정형식이다. 장점은 지식 삽입 삭제 수정이 용이하며, 효과적이고 정확한 추론이 가능하다. 단점은 지식표현의 부자연스러움이있고, 표현된 지식의 이해가 어렵다. 또한 상태공간상에서 상태 수가 많다. 적용 분야로는 수학분야(정리증명)이 있다. 규칙기반 시스템의 창안자는 [[앨런 뉴엘]](Allen Newell)이며, 표현방법은 조건(If), 결론(Then)이다. 장점은 표현의 자연스러움이 있다는 점이고, 다양한 추론방법이 가능하며 절차적으로 표현이 가능하다. 단점은 과다한 규칙이 존재하고, 규칙끼리 충돌할 수 있다는 점이 있다. 적용 분야로는 전문가시스템이 있다. 의미망 기반 시스템의 창안자는 [[퀼리안]](Quillian)이며, 표현 방법은 대상물간의 관계로서 표현한다. 장점은 복잡한 관계표현이 용이하며, 표현이 자연스럽고, 표현이해가 용이하다는 점이 있다. 단점으로는 정형화의 어려움이 있으며, 문제풀이 방법이 부족하다는 점이 있다. 적용 분야는 자연어 처리이다. 프레임기반 시스템의 창안자는 [[마빈 민스키]](Marvin Lee Minsky)이며, 표현 방법은 슬롯(Slot-Filler)구조를 이용하며, 장점은 사건 표현에 유리하며, 절차적으로 표현이 가능하다는 점이다. 단점은 규칙간에 관계가 복잡하며, 제어흐름의 모호성, 규칙추출의 어려움이 있다는 점이다. 적용 분야는 전문가시스템이다.<ref name=슬라이드플레이어></ref> | ||
+ | |||
+ | ==연구== | ||
+ | 지식표현은 복잡한 문제를 해결하는 데 사용할 수 있는 세계에 대한 정보를 컴퓨터 시스템이 사용할 수 있도록 하는 표현 중점에서 중요한 연구로, [[인공지능]] 분야 연구이다.<ref name=위키백과>위키 백과 - https://ko.wikipedia.org/wiki/%EC%A7%80%EC%8B%9D_%ED%91%9C%ED%98%84</ref> 지식 표현 연구는 지식을 체계적으로 조직, 저장하고 이를 효율적으로 이용하도록 해야하는 방법의 연구이다. 문제의 종류에 따라 지식 표현의 방법이 달라지기 때문에 문제 영역이나 효율성에 따라 적절한 지식표현 방법을 선택하여 사용해야 한다.<ref name=이앵두1> 이앵두, 〈[https://cbw1030.tistory.com/117 인공지능의 기초-5.지식표현]〉, 《티스토리》, 2020-06-13</ref> 합목적적, 목적달성에 부합되는 구조를 가져야하며, 추론의 효율성, 지식 획득의 용이성, 저장의 간결성 및 표현의 정확성, 다양성 등을 갖추어야 한다. 자연어를 컴퓨터가 이해할 수 있도록 프로그램화 되어야 하기 때문에, 획득한 지식을 효율적이고 효과적으로 표현하는 지식표현은 전문가 시스템의 성패를 좌우한다고 할 수 있다. 이는 철학, 논리학, 수학, 컴퓨터 과학, 언어학 등 다양한 측면으로 연구되는 학제간 연구분야이다.<ref name=위키백과></ref> 지식표현방법은 인간의 일상 언어와 컴퓨터 언어의 표현 구조 사이 중간에서 타협점을 결정하게 된다. 인간의 언어인 자연 언어로만 표현하면 컴퓨터에 의한 자연어의 처리가 완벽하지 못하므로 구현이 불가능하다. 컴퓨터 입장에서 지식을 컴퓨터 언어의 [[알고리즘]]과 [[자료구조]]로만 표현하면 인간 또한 이해하기 어렵다. 그렇기 때문에 중간 절충안이 필요한데, 규칙, 프레임, 의미망, 그래프 전치논리 형태 등으로 해결하는 것이다. 이러한 표현을 위한 전문적인 컴퓨터 언어인 [[리스프]](LISP), [[프롤로그]](PROLOG) 등이 개발되어 있는데, 지식을 책을 집필하듯이 서술적으로 나타내기 보다 구조화와 체계화를 이루어 컴퓨터에 의해 쉽게 구현 될 수 있고, 추론 및 검색이 용이해지는 것이다. 지식표현이 어려운 이유는 첫 번째, 실세계의 대부분의 문제들은 지식으로 표현하기에 방대한 양의 정보를 가진 경우가 많다는 것이다. 두 번째, 미묘하고 애매한 지식을 정확하게 표현하기 어렵기 때문이며, 세번 째, 대부분의 지식은 정적인 경우보다 동적인 경우가 많아 상황에 따라 변한다는 것이다. 지식표현은 대용물(surrogate), 일련의 존재론적 약속(ontological commitments), 지능적 추론의 단편적인 이론(fragmentary theory), 효율적인 전산화(computation)을 위한 수단, 인간 표현의 수단이라는 다섯 가지의 역할도 있다.<ref name=인공지능스터디>인공지능 스터디 공식 홈페이지 - http://www.aistudy.co.kr/expert/knowledge_representation.htm</ref> | ||
+ | |||
+ | ;지식표현 시 고려할 사항 | ||
+ | * 첫 번째, 지식표현의 정확성이다. 해당 문제에 있어서 객체 간의 상관관계를 정확하게 표현해야 한다. 그러나 컴퓨터의 특성상 너무 상세한 표현은 지식표현이 용이하지 않기 때문에 지식표현의 정도가 문제 된다. 어느 정도 상세히, 정확하게 표현할 것인가의 문제이다. | ||
+ | * 두 번째, 추론(inference)의 정확성이다. 지식베이스에 저장된 사실로부터 새로운 사실을 유도하는 것을 추론이라 하며, 문제의 성격에 따라 역방향 추론(backward), 정방향 추론(forward), 혼합형 추론(Hybrid inference) 중에서 선택하여 사용하는데, 이 때 추론이 정확하게 될 수 있도록 지식을 표현해야 한다. | ||
+ | * 세 번째, 지식 획득 관리의 효용성이다. 새로운 사실을 쉽게 삽입, 수정, 삭제가 가능하도록 지식이 표현되어야 한다. 이를 위해 사용자가 직접 지식 베이스에 접근할 수 있도록 하고, 프로그램 스스로 지식의 획득을 조정 통제 할 수 있게 해야한다. | ||
+ | * 네 번째, 추론의 효용성이다. 추론 기법을 최적의 방향으로 이끌기 위하여 사용되는 특정한 정보와 지식 구조를 결합시키는 능력이다. | ||
+ | |||
+ | ;불확실한 지식표현 | ||
+ | 불확실성의 원인은 약한 관련성의 지식으로, 약한 인과성이나 애매한 연관관계인 지식의 표현이다. 조건(IF)과 취해야 할 행동(THEN) 사이의 연관성의 강도로 생각하면 된다. 또한, 부정확한 언어 사용이 원인으로, 자연어는 본질적으로 모호하고 부정확하다. 예를 들면, 자주(frequently), 크다(big), 무겁다(heavy) 를 보면 된다. 또한, 불완전하거나 결손된 데이터에 기반한 지식과, 모순된 견해와 상충된 지식의 통합도 원인이다.<ref>충북대학교 소프트웨어학과 이건명, 〈[http://contents.kocw.net/KOCW/document/2016/chungbuk/leegeonmyeong/6.pdf 지식표현과 추론 PartIII ]〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》</ref> | ||
+ | |||
+ | ==주요 인물== | ||
+ | * '''[[주세페 페아노]]'''(Giuseppe Peano) : 이탈리아의 수학자이자 철학자로, 집합론의 발전에 크게 기여한 인물이다.<ref>주세페 페아노 위키백과 - https://ko.wikipedia.org/wiki/%EC%A3%BC%EC%84%B8%ED%8E%98_%ED%8E%98%EC%95%84%EB%85%B8</ref> 기하학의 공리화를 시도하여, 정의 ·공리 ·미정의어의 선택과 채용을 확립하여 일종의 수학적 논리학을 의도하였다. 기호논리학의 개척자도로 꼽히며, 일종의 국제어인 '굴절 없는 라틴어'를 창안하기도 하였다. 1889년에 연구한 결합의 공리와 순서의 공리에 관한 연구도 유명하며, 1890년에는 [[토리노 대학]] 교수로 임하였다. 저서인 수학공식안(數學公式案)은 '페아노의 기호'로 쓰여졌으며, '페아노의 공리'가 서술되어 있다. 기호논리학의 개척자로도 꼽힌다.<ref>내가 원하는 blog, 〈[https://yyoungeunin.wordpress.com/2016/02/26/%EC%A3%BC%EC%84%B8%ED%8E%98-%ED%8E%98%EC%95%84%EB%85%B8-giuseppe-peano-1858-1932/ 주세페 페아노 - Giuseppe Peano, 1858 ~ 1932]〉, 《WordPress》, 2016-02-26</ref> | ||
+ | |||
+ | * '''[[앨런 뉴웰]]'''(Allen Newell) : 초기의 인공지능 연구자로, 컴퓨터 과학 및 [[인지심리학]]의 연구자이다.<ref>앨런 뉴얼 위키백과 - https://ko.wikipedia.org/wiki/%EC%95%A8%EB%9F%B0_%EB%89%B4%EC%96%BC</ref> 뉴웰은 1959년에 하버트 사이먼(Herbert Simon)과 [[일반 문제 해결기]](General Problem Solver ,GPS)를 제작하였는데, 이는 정형적 기호 체계로 나타낼 수 있는 문제라면 무엇이든 해결하는 것을 목표로 만들어진 프로그램이다.<ref> 예비개발자, 〈[https://m.blog.naver.com/PostView.nhn?blogId=qbxlvnf11&logNo=221270054997&proxyReferer=https:%2F%2Fwww.google.com%2F 인공지능 개론 4: 인공지능의 탄생과 황금기]〉, 《네이버 블로그》, 2018-05-07</ref> 또한, 인간의 문제 해결 방식을 모방하는 범용 프로그램으로 인간의 사고 과정을 논리적 기호로 표현하여 '인간적 사고' 접근방식을 구체화한 최초의 프로그램으로 볼 수 있다.<ref>JK의 계단 밑 연구실, 〈[https://brunch.co.kr/@jk-lab/13 인공지능의 역사 2]〉, 《브런치》, 2017-06-12</ref> | ||
+ | |||
+ | * '''[[마빈 민스키]]'''(Marvin Lee Minsky) : 인공지능 분야를 개척한 미국인 과학자이다. [[매사추세츠 공과대학교]]의 인공지능 연구소의 공동 설립자이며, 인공지능과 관련된 책들을 저술하였다.<ref> 마빈 민스키 위키백과 - https://ko.wikipedia.org/wiki/%EB%A7%88%EB%B9%88_%EB%AF%BC%EC%8A%A4%ED%82%A4</ref> 마빈 민스키는 인공지능, [[인지과학]], [[수학]], [[전산언어학]], [[로봇]], [[광학]]에 많은 공헌을 하였으며, 최근에는 상식 추론을 하는 인간의 능력을 기계에 부여하는 작업에 주력해온 인물이다. 그의 연구는 인공지능, 인지심리학, 신경망, [[튜링기계]]이론과 회귀함수 분야에서 이론과 응용에 발전을 하였다. 또한 그는 지능적인 로봇과 [[텔레프레전스]](telepresence)의 개척자 중 한명이다. 그는 최초의 촉감을 가진 기계손(mechanical hand), 영상 주사기(visual scanners)와 그것들의 [[소프트웨어]], 컴퓨터 [[인터페이스]]를 제작하였다. 이외에도 많은 로봇 프로젝트에 영향을 미쳤다.<ref>마빈 민스키 인공지능스터디 공식 홈페이지 - http://www.aistudy.co.kr/pioneer/Minsky.M.htm</ref> | ||
==종류== | ==종류== | ||
− | === | + | ===논리=== |
− | + | 인공지능적 지식표현의 핵심은 논리라고 할 수 있다. 논리는 명제 논리나 서술논리(술어논리)를 사용하여 사실이나 규칙을 표현하는 방식으로 정형 공식을 잘 알아야 이해하기 쉽다. 논리적 지식표현은 수학적 근거를 바탕으로 논리 개념을 표현할 수 있다는 점과, 다양한 지식의 정형화에 적합하며 그에 따라 지식의 첨가와 삭제가 용이하다는 큰 장점이 있다. 종결형으로 끝나는 한 문장에 표현하려는 지식을 담아야하기 때문에 절차적이고 제어적인 지식 표현이 어렵다. 단점은 실세계의 복잡한 구조를 표현하기에는 구성법칙이 부족하다는 점이 있다.<ref name=이앵두2>이앵두, 〈[https://cbw1030.tistory.com/118?category=1127335 인공지능 기초 - 6.지식표현 - 논리와 정형공식]〉, 《티스토리》, 2020-06-13</ref> 논리는 말로 표현된 문장들에 대한 타당한 추론을 위해, 기호를 사용하여 문장들을 표현하며, 기호의 조작을 통해 문장들의 참 또는 거짓을 판정하는 분야이다. 명제 논리(propositional logic)의 명제(proposition)는 참, 거짓을 분명하게 판정할 수 있는 문장이다. 예를 들면 '아리스토텔레스는 플라톤의 제자이다'라는 참과 '1+1 = 3' 이라는 거짓이 될 수 있다. 명제는 피(P), 큐(Q) 등과 같은 기호로 표현하며, 명제 기호의 진리값(truth value)을 사용하여 명제들에 의해 표현되는 문장들의 진리값을 결정한다. 문장 자체의 내용에 대해서는 무관심하며, 문장의 진리값에만 관심을 갖는 것이다. 기본 명제(primitive proposition)는 하나의 진술(statement)로 이루어진 최소 단위의 명제이며, 복합 명제(compound proposition)는 기본 명제들이 결합되어 만들어진 명제이다. 논리식(logical expression)은 명제를 기호로 표현한 형식이며, 명제기호, 참과 거짓을 나타내는 티(T), 에프(F), 명제 기호를 연결하는 논리기호들로 구성된다.<ref name=충북대1></ref> 술어논리(predicate logic)는 명제의 내용을 다루기 위해 변수, 함수 등을 도입하고 이들의 값에 따라 참, 거짓이 결정되도록 명제 논리를 확장한 논리를 말한다. 술어(predicate)는 문장의 '주어+서술어'형태에서 서술어에 해당하고, 대상의 속성이나 대상 간의 관계를 기술하는 기호이다. 참(T), 거짓(F) 값을 갖는 함수이다. 술어논리는 존재 한정사와 전칭 한정사를 사용하는데 변수의 범위를 고려한 지식을 표현하는 술어논리, 주어진 인자에 대해서 참, 거짓 값이 아닌 일반적인 값을 반환하는 함수(function), 함수의 인자가 될 수 있는 항(term)을 술어논리의 구문으로 갖는다. 술어 논리의 종류는 일차 술어논리(first-order predicate logic, FOL)와 고차 술어논리(high-order predicate logic)가 있다. 일차 술어논리는 변수에만 전칭 한정사와 존재 한정사를 쓸 수 있도록 한 술어논리이고, 고차 술어논리는 변수뿐만 아니라 함수, 술어기호 등에 대해서 전칭 한정사와 존재 한정사를 쓸 수 있도록 한 술어논리이다. 술어논리를 이용한 지식표현은 '읽을 수 있으면 문맹이 아니다', '원숭이는 문맹이다', '어떤 원숭이는 지능적이다', '지능적이어도 문맹일 수 있다'로 증명되는 것이다.<ref name=충북대2>충북대학교 소프트웨어학과 이건명 , 〈[http://contents.kocw.net/KOCW/document/2016/chungbuk/leegeonmyeong/5.pdf 지식표현과 추론 PartII ]〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》</ref> | |
− | + | ||
− | + | ===의미망=== | |
− | + | 의미망은 그래프 형태로 지식을 표현하는 방법으로, 그래프 내의 노드는 개념을 나타내고 화살표는 개념간의 관계를 나타낸다. 노드들은 클래스와 서브클래스 관계를 가질 수 있다. 클래스에는 더 이상 구분되지 않는 개별 객체를 인스턴스라고 하며, 하나의 의미망에서 자신의 노드 밑에 노드가 없으면 그 노드가 인스턴스이고, 자신의 노드 밑에 노드가 있으면 클래스가 된다.<ref>병준이저장소, 〈[http://www.joon.pe.kr/blog/147 인공지능 - 지식표현]〉, 《블로그》, 2007-04-05</ref> 의미망은 지식, 인간의 기억, 실세계를 망 구조로 표현하였으며, 노드에는 객체, 개념, 사건 등을 표현한다. 링크는 노드들간의 관계를 묘사하여 구체, 절차, 인과, 부분 등의 객체 관계를 표현한다. 매우 복잡한 개념이나 인과 관계 표현에 용이하다는 장점이 있으며, 지식량이 커지면 복잡해져 조작이 어려워진다는 단점이 있다.<ref name=희애화> 희애 화, 〈[https://slidesplayer.org/slide/11328152/ 지식표현(Knowledge Representation)]〉, 《슬라이드플레이어》, 2017</ref> 의미망에서 사용되는 관계가 있는데, '이즈-어'(is-a) 는 상위클래스와 하위 클래스 관계나 클래스와 객체의 관계를 나타내어 계층 관계를 표현하는 것이다. 상위 계층의 속성을 상속하고, 추이적인 관계에 만족한다. '해즈-어'(has-a)는 전체와 부분 관계로 '파트-오브'(part-of)와 역관계에 있다. '해즈-어(X,Y)(has-a (X,Y))'이면 '파트-오브(와이,엑스)(part-of(Y,X))'가 성립되는 것이다. 추이적인 관계에 만족한다. 다항관계를 이항 관계로 전개하여 표현한 의미망은 이항 관계만을 표현한다. 다항 관계는 관계를 객체로 간주하여 표현한다. 즉 사물화(reification)이다. 의미망에서 추론은 상속을 이용하고 질문에 대한 의미망과 지식을 나타내는 의미망을 비교한다. 또한 디폴트값을 이용한 추론으로 상속 관계를 이용한다. 주어진 지식으로부터 새로운 사실을 이끌어내는 추론도 가능하다. 의미망이 프레임으로 변환되려면 노드별로 프레임을 생성하고, 노드에서 나가는 간선들을 슬롯으로 구성한다. 의미망 표현의 장점은 지식을 시각적으로 표현할 수 있어서 직관적인 이해가 용이하며, 노드 추가나 변경으로 비교적 쉽게 지식의 추가나 변경이 가능하다. 개념의 계층관계를 정의하여 속성의 상속 관계 지정이 가능하다. 복잡한 지식을 구조화하여 표현이 가능하다. 의미망 표현의 단점은 지식의 양이 많아지면 관리가 복잡하며, 개념이나 관계를 임의로 정의하기 때문에 통일성이 부족하다. 공유나 재사용에 대한 고려가 없으며, 논리적 결합 관계나 인과 관계를 기술하려고 하면 그리고(and), 또는(or)와 같은 링크 도입이 필요하다. 기본적으로 정적인 지식의 표현이다.<ref name=충북대2></ref> | |
− | |||
− | == | + | ===프레임=== |
+ | 프레임은 의미망 한 종류로서 객체와 그 속성의 구조적 기술을 갖고 있으며, 프레임 객체 구조 내에 슬롯이라는 속성 묘사에 중점을 둔다. 데이터와 프로시저를 하나의 구조로 묶으며, 프레임들은 계층적으로 구성되어 있다. 슬롯은 객체의 속성과 속성값을 채우는 칸으로 디폴트값, 프레임 포인터, 규칙, 프로시저가 해당한다. 프로시저는 슬롯 값 요구, 변경, 제거될 때 자동으로 작동되는 일종의 데몬이다. 패싯은 슬롯 값을 다양하게 줄 수 있는 키이며, 프레임을 표현하는 형식은 '<프레임 이름>-<슬롯 이름>-<패싯 이름>-<값>' 이다. 프레임은 지식 표현이 일반적이고 자연스러워 강력한 방법이라는 장점이 있으며, 복잡성 때문에 지식작성이 어렵다는 단점이 있다.<ref name=희애화></ref> 프레임은 사람이 특정 대상에 대해 갖는 지식의 표현을 목표로하며, 슬롯의 특정 상황에 따라 자동적으로 호출되는 데몬 개념이다. 민스키(M. Minsky)가 제안한 지식표현 방법으로, 특정 객체 또는 개념에 대한 전형적인 지식을 슬롯(slot)의 집합으로 표현한 것이다. 프레임은 먼저 슬롯으로 구성되어 있는데 슬롯은 객체의 속성(attribute)을 기술하는 것으로, 슬롯 이름(속성이름)과 슬롯 값(속성의 값)으로 구성된다. 슬롯 값은 복수 개의 패싯(facet)과 데몬(demon)으로 구성된다. 패싯은 '측면'또는 '양상'을 의미하는데 속성에 대한 부가적인 정보를 지정하기 위해 사용한다. 패싯 이름과 패싯 값의 쌍으로 구성되며 패싯 이름은 수, 문자열, 다른 프레임의 포인터 등의 속성값(value), 속성값의 자료형(data-type), 속성값이 주어지지 않을 때 사용되는 초깃값인 디폴트값(default), 슬롯에 들어갈 수 있는 값이 만족해야 할 제약조건이 있다. 데몬은 지정된 조건을 만족할 때 실행할 절차적 지식(procedure)을 기술하는 것으로, 슬롯 값으로 데몬 실행조건과 데몬 이름의 쌍이다. 데몬의 실행조건의 예로는 슬롯 값을 알아야 할 때 'if_needed', 슬롯 값이 추가될 때 'if_added', 슬롯 값이 제거될 때 'if_removed', 슬롯 값이 수정될 때 'if_modified'가 있다. 프레임의 종류로는 부류(class)에 대한 정보 표현하는 클래스 프레임과, 특정 객체에 대한 정보 표현인 인스턴스(instance) 프레임이 있다. 프레임의 계층구조(hierarchy)는 클래스를 나타내는 프레임인 상위 프레임과, 하위 클래스 프레임이나 상위 클래스 프레임의 객체로 상위 프레임을 상속(inheritance)받는 하위 프레임으로 구성되어 있다. 프레임과 규칙을 결합한 지식표현이 있는데, 프레임은 특정 개념이나 대상에 대한 속성들을 표현한다. 관련된 속성들을 하나의 덩어리로 관리한다. 규칙을 사용하여 조건적인 지식표현이 있는데, 데몬에 규칙을 사용하거나 규칙의 조건부나 결론부에서 프레임을 사용한다. 대부분의 규칙기반 시스템에서 객체 개념을 사용한다. 객체의 표현에 프레임 사용이 가능하다.<ref name=충북대1></ref> | ||
+ | ===규칙=== | ||
+ | 규칙은 결정이나 결론이 요구되는 영역에 유용하며, 규칙기반 시스템에서 사실집합과 규칙집합으로 구분되어 규칙의 가정 부분이 사실 집합의 일부와 부합될 때 규칙의 결론 부분이 실행된다.<ref name=희애화></ref> 가정(If)과 결론(Then)의 문장으로 표현한 것으로, '~이면, ~이다' , '~하면, ~하다' 와 같은 조건부의 지식을 표현하는 형식이다. 직관적이며 이해하기 쉽다. 예를 들면 '신호등이 녹색일 때는 건널목을 안전하게 건널 수 있고, 빨간색일 때는 길을 건너지 말아야 한다'라는 문장이 있는데, 대상은 신호등, 속성은 녹색, 빨간색이며 행동 및 판단은 '건넌다' 와 '멈춘다'가 된다. 대상, 속성, 행동 또는 판단의 정보를 추출하는 것이다. 표현으로는 'IF 신호등이 녹색이다 THEN 행동은 건넌다', 'IF 신호등이 빨간색이다 THEN 행동은 멈춘다'가 된다. '만약(IF)' 부분은 주어진 정보나 사실에 대응될 조건이며, 조건부(conditional part, antecedent)라고 한다. '그러면(THEN)' 부분은 조건부가 만족될 때의 판단이나 행동을 말하는 데 결론부(conclusion, consequent)가 된다. 조건부는 둘 이상의 조건을 '그리고(AND)'나 또는(OR)' 으로 결합하여 구성이 가능하다. 결론부는 여러 개의 판단이나 행동이 포함 가능하다. 규칙을 통한 지식표현은 인과관계, 추천, 지시, 전략, 휴리스틱이 있다. 인과관계는 원인을 조건부에 표현하고, 결과는 결론부에 표현한다. 예를들면, 'IF 연료통이 빈다 THEN 차가 멈춘다'가 된다. 추천은 상황을 조건부에 기술하고 이에 따른 추천 내용을 결론부에 표현한다. 예를 들면, 'IF 여름철이다 AND 날이 흐리다 THEN 우산을 가지고 가라'가 된다. 지시는 상황을 조건부에 기술하고 이에 따른 지시 내용을 결론부에 표현한다. 예를 들면, 'IF 차가 멈추었다 AND 연료통이 비었다 THEN 주유를 한다'가 된다. 전략(strategy)은 일련의 규칙들로 표현하며, 이전 단계의 판정 결과에 따라 다음 단계에 고려할 규칙이 결정된다. 예를 들면, 'IF 차가 멈추었다 THEN 연료통을 확인한다 AND 단계 1을 끝낸다.', 'IF 단계 1이 끝났다 AND 연료통이 충분히 찼다 THEN 배터리를 확인한다 AND 단계 2를 끝낸다.'가 된다. 마지막으로 휴리스틱(heuristic)은 경험적인 지식을 표현하는 것으로, 전문가적 견해는 최적을 항상 보장하는 것이 아니고 일반적으로 바람직한 것을 표현한다. 예를 들면, 'IF 시료가 액체이다 AND 시료의 PH가 6 미만이다 AND 냄새가 시큼하다 THEN 시료는 아세트산이다'가 된다.<ref name=충북대1>충북대학교 소프트웨어학과 이건명 , 〈[http://contents.kocw.or.kr/KOCW/document/2016/chungbuk/leegeonmyeong/4.pdf ''지식표현과 추론 -I'']〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》</ref> 규칙의 장점으로는 모듈화인데, 독립적으로 추가 삭제 변경이 용이하며, 특정 표현 방법에 따라 구조를 달리할 수 있다는 점이 있다. 또한, 결정, 결론이 요구되는 영역에 적합하다. 단점으로는 문제풀이에 많은 경비 소요가 되며 제어가 복잡하다는 점이 있다.<ref name=희애화></ref> | ||
{{각주}} | {{각주}} | ||
==참고자료== | ==참고자료== | ||
− | * | + | * 지식표현 위키백과 - https://ko.wikipedia.org/wiki/%EC%A7%80%EC%8B%9D_%ED%91%9C%ED%98%84 |
− | * 인공지능 스터디 공식 홈페이지 - http://www.aistudy.co.kr/expert/knowledge_representation.htm | + | * 주세페 페아노 위키백과 - https://ko.wikipedia.org/wiki/%EC%A3%BC%EC%84%B8%ED%8E%98_%ED%8E%98%EC%95%84%EB%85%B8 |
+ | * 앨런 뉴얼 위키백과 - https://ko.wikipedia.org/wiki/%EC%95%A8%EB%9F%B0_%EB%89%B4%EC%96%BC | ||
+ | * 마빈 민스키 위키백과 - https://ko.wikipedia.org/wiki/%EB%A7%88%EB%B9%88_%EB%AF%BC%EC%8A%A4%ED%82%A4 | ||
+ | * 지식표현 인공지능 스터디 공식 홈페이지 - http://www.aistudy.co.kr/expert/knowledge_representation.htm | ||
+ | * 마빈 민스키 인공지능스터디 공식 홈페이지 - http://www.aistudy.co.kr/pioneer/Minsky.M.htm | ||
+ | * 병준이저장소, 〈[http://www.joon.pe.kr/blog/147 인공지능 - 지식표현]〉, 《블로그》, 2007-04-05 | ||
+ | * 열이, 〈[https://m.blog.naver.com/PostView.nhn?blogId=shine10ee&logNo=10044211472&proxyReferer=https:%2F%2Fwww.google.com%2F 지식의 표현]〉, 《네이버 블로그》, 2009-03-17 | ||
+ | * 내가 원하는 blog, 〈[https://yyoungeunin.wordpress.com/2016/02/26/%EC%A3%BC%EC%84%B8%ED%8E%98-%ED%8E%98%EC%95%84%EB%85%B8-giuseppe-peano-1858-1932/ 주세페 페아노 - Giuseppe Peano, 1858 ~ 1932]〉, 《WordPress》, 2016-02-26 | ||
+ | * JK의 계단 밑 연구실, 〈[https://brunch.co.kr/@jk-lab/13 인공지능의 역사 2]〉, 《브런치》, 2017-06-12 | ||
+ | * 예비개발자, 〈[https://m.blog.naver.com/PostView.nhn?blogId=qbxlvnf11&logNo=221270054997&proxyReferer=https:%2F%2Fwww.google.com%2F 인공지능 개론 4: 인공지능의 탄생과 황금기]〉, 《네이버 블로그》, 2018-05-07 | ||
+ | * 희애 화, 〈[https://slidesplayer.org/slide/11328152/ 지식표현(Knowledge Representation)]〉, 《슬라이드플레이어》, 2017 | ||
+ | * Καλλιστώ Κορωναίος, 〈[https://slidesplayer.org/slide/17178347/ Ch.3지식의 표현과 논리]〉, 《슬라이드플레이어》, 2019 | ||
+ | * 이앵두, 〈[https://cbw1030.tistory.com/117 인공지능의 기초-5.지식표현]〉, 《티스토리》, 2020-06-13 | ||
+ | * 이앵두, 〈[https://cbw1030.tistory.com/118?category=1127335 인공지능 기초 - 6.지식표현 - 논리와 정형공식]〉, 《티스토리》, 2020-06-13 | ||
+ | * 충북대학교 소프트웨어학과 이건명, 〈[http://contents.kocw.or.kr/KOCW/document/2016/chungbuk/leegeonmyeong/4.pdf ''지식표현과 추론 -I'']〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》 | ||
+ | * 충북대학교 소프트웨어학과 이건명, 〈[http://contents.kocw.net/KOCW/document/2016/chungbuk/leegeonmyeong/5.pdf 지식표현과 추론 PartII ]〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》 | ||
+ | * 충북대학교 소프트웨어학과 이건명, 〈[http://contents.kocw.net/KOCW/document/2016/chungbuk/leegeonmyeong/6.pdf 지식표현과 추론 PartIII ]〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》 | ||
+ | * 호서대학교 박승범, 〈[http://contents2.kocw.or.kr/KOCW/document/2016/hoseo/parkseungbeom4/3.pdf 지식표현(Knowledge Representation)]〉, 《대학공개강의서비스케이오씨더블유(KOCW)》 | ||
==같이 보기== | ==같이 보기== | ||
* [[인공지능]] | * [[인공지능]] | ||
− | {{인공지능 기술| | + | {{인공지능 기술|검토 필요}} |
2020년 7월 22일 (수) 10:32 기준 최신판
지식표현(Knowledge Representation, KR)이란 인간의 지식(knowledge)을 컴퓨터 시스템이 사용할 수 있도록 가공 및 표현하기 위한 연구이다. 인공지능(AI) 연구에 있어 매우 중요하다. 사실과 관계성 등을 부호화하고 지식 베이스에 저장하는 방법이 사용되며 논리, 의미망, 프레임, 규칙 등이 모두 지식을 표현하는 방법이다.
개요[편집]
지식표현은 문제해결을 위한 지식을 컴퓨터에서 실행 가능한 형태로 나타내는 것으로, 정확한 표현이 필요하며, 효율적인 추론이 가능하도록 표현해야 한다. 또한 새로운 지식의 획득 및 효율적인 수정 및 삭제가 가능하도록 표현해야 하며, 일반성을 가질 수 있도록 표현해야 한다. 그리고 사람이 이해하기 쉽도록 표현해야 하는 조건이 있다.[1] 지식표현의 특징으로는 표현방법의 적합성, 추론의 적합성, 추론의 효율성, 지식 획득 능력이 있다.[2]
지식표현의 기법에는 명제 논리 및 술어 논리와 같은 논리를 이용한 지식 표현, 규칙을 이용한 지식 표현, 의미망을 이용한 지식표현, 구조적인 지식 표현이있다. 먼저 논리기반 시스템의 창안자는 주세페 페아노(Giuseppe Peano)이며, 표현방법은 정형식이다. 장점은 지식 삽입 삭제 수정이 용이하며, 효과적이고 정확한 추론이 가능하다. 단점은 지식표현의 부자연스러움이있고, 표현된 지식의 이해가 어렵다. 또한 상태공간상에서 상태 수가 많다. 적용 분야로는 수학분야(정리증명)이 있다. 규칙기반 시스템의 창안자는 앨런 뉴엘(Allen Newell)이며, 표현방법은 조건(If), 결론(Then)이다. 장점은 표현의 자연스러움이 있다는 점이고, 다양한 추론방법이 가능하며 절차적으로 표현이 가능하다. 단점은 과다한 규칙이 존재하고, 규칙끼리 충돌할 수 있다는 점이 있다. 적용 분야로는 전문가시스템이 있다. 의미망 기반 시스템의 창안자는 퀼리안(Quillian)이며, 표현 방법은 대상물간의 관계로서 표현한다. 장점은 복잡한 관계표현이 용이하며, 표현이 자연스럽고, 표현이해가 용이하다는 점이 있다. 단점으로는 정형화의 어려움이 있으며, 문제풀이 방법이 부족하다는 점이 있다. 적용 분야는 자연어 처리이다. 프레임기반 시스템의 창안자는 마빈 민스키(Marvin Lee Minsky)이며, 표현 방법은 슬롯(Slot-Filler)구조를 이용하며, 장점은 사건 표현에 유리하며, 절차적으로 표현이 가능하다는 점이다. 단점은 규칙간에 관계가 복잡하며, 제어흐름의 모호성, 규칙추출의 어려움이 있다는 점이다. 적용 분야는 전문가시스템이다.[1]
연구[편집]
지식표현은 복잡한 문제를 해결하는 데 사용할 수 있는 세계에 대한 정보를 컴퓨터 시스템이 사용할 수 있도록 하는 표현 중점에서 중요한 연구로, 인공지능 분야 연구이다.[3] 지식 표현 연구는 지식을 체계적으로 조직, 저장하고 이를 효율적으로 이용하도록 해야하는 방법의 연구이다. 문제의 종류에 따라 지식 표현의 방법이 달라지기 때문에 문제 영역이나 효율성에 따라 적절한 지식표현 방법을 선택하여 사용해야 한다.[4] 합목적적, 목적달성에 부합되는 구조를 가져야하며, 추론의 효율성, 지식 획득의 용이성, 저장의 간결성 및 표현의 정확성, 다양성 등을 갖추어야 한다. 자연어를 컴퓨터가 이해할 수 있도록 프로그램화 되어야 하기 때문에, 획득한 지식을 효율적이고 효과적으로 표현하는 지식표현은 전문가 시스템의 성패를 좌우한다고 할 수 있다. 이는 철학, 논리학, 수학, 컴퓨터 과학, 언어학 등 다양한 측면으로 연구되는 학제간 연구분야이다.[3] 지식표현방법은 인간의 일상 언어와 컴퓨터 언어의 표현 구조 사이 중간에서 타협점을 결정하게 된다. 인간의 언어인 자연 언어로만 표현하면 컴퓨터에 의한 자연어의 처리가 완벽하지 못하므로 구현이 불가능하다. 컴퓨터 입장에서 지식을 컴퓨터 언어의 알고리즘과 자료구조로만 표현하면 인간 또한 이해하기 어렵다. 그렇기 때문에 중간 절충안이 필요한데, 규칙, 프레임, 의미망, 그래프 전치논리 형태 등으로 해결하는 것이다. 이러한 표현을 위한 전문적인 컴퓨터 언어인 리스프(LISP), 프롤로그(PROLOG) 등이 개발되어 있는데, 지식을 책을 집필하듯이 서술적으로 나타내기 보다 구조화와 체계화를 이루어 컴퓨터에 의해 쉽게 구현 될 수 있고, 추론 및 검색이 용이해지는 것이다. 지식표현이 어려운 이유는 첫 번째, 실세계의 대부분의 문제들은 지식으로 표현하기에 방대한 양의 정보를 가진 경우가 많다는 것이다. 두 번째, 미묘하고 애매한 지식을 정확하게 표현하기 어렵기 때문이며, 세번 째, 대부분의 지식은 정적인 경우보다 동적인 경우가 많아 상황에 따라 변한다는 것이다. 지식표현은 대용물(surrogate), 일련의 존재론적 약속(ontological commitments), 지능적 추론의 단편적인 이론(fragmentary theory), 효율적인 전산화(computation)을 위한 수단, 인간 표현의 수단이라는 다섯 가지의 역할도 있다.[5]
- 지식표현 시 고려할 사항
- 첫 번째, 지식표현의 정확성이다. 해당 문제에 있어서 객체 간의 상관관계를 정확하게 표현해야 한다. 그러나 컴퓨터의 특성상 너무 상세한 표현은 지식표현이 용이하지 않기 때문에 지식표현의 정도가 문제 된다. 어느 정도 상세히, 정확하게 표현할 것인가의 문제이다.
- 두 번째, 추론(inference)의 정확성이다. 지식베이스에 저장된 사실로부터 새로운 사실을 유도하는 것을 추론이라 하며, 문제의 성격에 따라 역방향 추론(backward), 정방향 추론(forward), 혼합형 추론(Hybrid inference) 중에서 선택하여 사용하는데, 이 때 추론이 정확하게 될 수 있도록 지식을 표현해야 한다.
- 세 번째, 지식 획득 관리의 효용성이다. 새로운 사실을 쉽게 삽입, 수정, 삭제가 가능하도록 지식이 표현되어야 한다. 이를 위해 사용자가 직접 지식 베이스에 접근할 수 있도록 하고, 프로그램 스스로 지식의 획득을 조정 통제 할 수 있게 해야한다.
- 네 번째, 추론의 효용성이다. 추론 기법을 최적의 방향으로 이끌기 위하여 사용되는 특정한 정보와 지식 구조를 결합시키는 능력이다.
- 불확실한 지식표현
불확실성의 원인은 약한 관련성의 지식으로, 약한 인과성이나 애매한 연관관계인 지식의 표현이다. 조건(IF)과 취해야 할 행동(THEN) 사이의 연관성의 강도로 생각하면 된다. 또한, 부정확한 언어 사용이 원인으로, 자연어는 본질적으로 모호하고 부정확하다. 예를 들면, 자주(frequently), 크다(big), 무겁다(heavy) 를 보면 된다. 또한, 불완전하거나 결손된 데이터에 기반한 지식과, 모순된 견해와 상충된 지식의 통합도 원인이다.[6]
주요 인물[편집]
- 주세페 페아노(Giuseppe Peano) : 이탈리아의 수학자이자 철학자로, 집합론의 발전에 크게 기여한 인물이다.[7] 기하학의 공리화를 시도하여, 정의 ·공리 ·미정의어의 선택과 채용을 확립하여 일종의 수학적 논리학을 의도하였다. 기호논리학의 개척자도로 꼽히며, 일종의 국제어인 '굴절 없는 라틴어'를 창안하기도 하였다. 1889년에 연구한 결합의 공리와 순서의 공리에 관한 연구도 유명하며, 1890년에는 토리노 대학 교수로 임하였다. 저서인 수학공식안(數學公式案)은 '페아노의 기호'로 쓰여졌으며, '페아노의 공리'가 서술되어 있다. 기호논리학의 개척자로도 꼽힌다.[8]
- 앨런 뉴웰(Allen Newell) : 초기의 인공지능 연구자로, 컴퓨터 과학 및 인지심리학의 연구자이다.[9] 뉴웰은 1959년에 하버트 사이먼(Herbert Simon)과 일반 문제 해결기(General Problem Solver ,GPS)를 제작하였는데, 이는 정형적 기호 체계로 나타낼 수 있는 문제라면 무엇이든 해결하는 것을 목표로 만들어진 프로그램이다.[10] 또한, 인간의 문제 해결 방식을 모방하는 범용 프로그램으로 인간의 사고 과정을 논리적 기호로 표현하여 '인간적 사고' 접근방식을 구체화한 최초의 프로그램으로 볼 수 있다.[11]
- 마빈 민스키(Marvin Lee Minsky) : 인공지능 분야를 개척한 미국인 과학자이다. 매사추세츠 공과대학교의 인공지능 연구소의 공동 설립자이며, 인공지능과 관련된 책들을 저술하였다.[12] 마빈 민스키는 인공지능, 인지과학, 수학, 전산언어학, 로봇, 광학에 많은 공헌을 하였으며, 최근에는 상식 추론을 하는 인간의 능력을 기계에 부여하는 작업에 주력해온 인물이다. 그의 연구는 인공지능, 인지심리학, 신경망, 튜링기계이론과 회귀함수 분야에서 이론과 응용에 발전을 하였다. 또한 그는 지능적인 로봇과 텔레프레전스(telepresence)의 개척자 중 한명이다. 그는 최초의 촉감을 가진 기계손(mechanical hand), 영상 주사기(visual scanners)와 그것들의 소프트웨어, 컴퓨터 인터페이스를 제작하였다. 이외에도 많은 로봇 프로젝트에 영향을 미쳤다.[13]
종류[편집]
논리[편집]
인공지능적 지식표현의 핵심은 논리라고 할 수 있다. 논리는 명제 논리나 서술논리(술어논리)를 사용하여 사실이나 규칙을 표현하는 방식으로 정형 공식을 잘 알아야 이해하기 쉽다. 논리적 지식표현은 수학적 근거를 바탕으로 논리 개념을 표현할 수 있다는 점과, 다양한 지식의 정형화에 적합하며 그에 따라 지식의 첨가와 삭제가 용이하다는 큰 장점이 있다. 종결형으로 끝나는 한 문장에 표현하려는 지식을 담아야하기 때문에 절차적이고 제어적인 지식 표현이 어렵다. 단점은 실세계의 복잡한 구조를 표현하기에는 구성법칙이 부족하다는 점이 있다.[14] 논리는 말로 표현된 문장들에 대한 타당한 추론을 위해, 기호를 사용하여 문장들을 표현하며, 기호의 조작을 통해 문장들의 참 또는 거짓을 판정하는 분야이다. 명제 논리(propositional logic)의 명제(proposition)는 참, 거짓을 분명하게 판정할 수 있는 문장이다. 예를 들면 '아리스토텔레스는 플라톤의 제자이다'라는 참과 '1+1 = 3' 이라는 거짓이 될 수 있다. 명제는 피(P), 큐(Q) 등과 같은 기호로 표현하며, 명제 기호의 진리값(truth value)을 사용하여 명제들에 의해 표현되는 문장들의 진리값을 결정한다. 문장 자체의 내용에 대해서는 무관심하며, 문장의 진리값에만 관심을 갖는 것이다. 기본 명제(primitive proposition)는 하나의 진술(statement)로 이루어진 최소 단위의 명제이며, 복합 명제(compound proposition)는 기본 명제들이 결합되어 만들어진 명제이다. 논리식(logical expression)은 명제를 기호로 표현한 형식이며, 명제기호, 참과 거짓을 나타내는 티(T), 에프(F), 명제 기호를 연결하는 논리기호들로 구성된다.[15] 술어논리(predicate logic)는 명제의 내용을 다루기 위해 변수, 함수 등을 도입하고 이들의 값에 따라 참, 거짓이 결정되도록 명제 논리를 확장한 논리를 말한다. 술어(predicate)는 문장의 '주어+서술어'형태에서 서술어에 해당하고, 대상의 속성이나 대상 간의 관계를 기술하는 기호이다. 참(T), 거짓(F) 값을 갖는 함수이다. 술어논리는 존재 한정사와 전칭 한정사를 사용하는데 변수의 범위를 고려한 지식을 표현하는 술어논리, 주어진 인자에 대해서 참, 거짓 값이 아닌 일반적인 값을 반환하는 함수(function), 함수의 인자가 될 수 있는 항(term)을 술어논리의 구문으로 갖는다. 술어 논리의 종류는 일차 술어논리(first-order predicate logic, FOL)와 고차 술어논리(high-order predicate logic)가 있다. 일차 술어논리는 변수에만 전칭 한정사와 존재 한정사를 쓸 수 있도록 한 술어논리이고, 고차 술어논리는 변수뿐만 아니라 함수, 술어기호 등에 대해서 전칭 한정사와 존재 한정사를 쓸 수 있도록 한 술어논리이다. 술어논리를 이용한 지식표현은 '읽을 수 있으면 문맹이 아니다', '원숭이는 문맹이다', '어떤 원숭이는 지능적이다', '지능적이어도 문맹일 수 있다'로 증명되는 것이다.[16]
의미망[편집]
의미망은 그래프 형태로 지식을 표현하는 방법으로, 그래프 내의 노드는 개념을 나타내고 화살표는 개념간의 관계를 나타낸다. 노드들은 클래스와 서브클래스 관계를 가질 수 있다. 클래스에는 더 이상 구분되지 않는 개별 객체를 인스턴스라고 하며, 하나의 의미망에서 자신의 노드 밑에 노드가 없으면 그 노드가 인스턴스이고, 자신의 노드 밑에 노드가 있으면 클래스가 된다.[17] 의미망은 지식, 인간의 기억, 실세계를 망 구조로 표현하였으며, 노드에는 객체, 개념, 사건 등을 표현한다. 링크는 노드들간의 관계를 묘사하여 구체, 절차, 인과, 부분 등의 객체 관계를 표현한다. 매우 복잡한 개념이나 인과 관계 표현에 용이하다는 장점이 있으며, 지식량이 커지면 복잡해져 조작이 어려워진다는 단점이 있다.[18] 의미망에서 사용되는 관계가 있는데, '이즈-어'(is-a) 는 상위클래스와 하위 클래스 관계나 클래스와 객체의 관계를 나타내어 계층 관계를 표현하는 것이다. 상위 계층의 속성을 상속하고, 추이적인 관계에 만족한다. '해즈-어'(has-a)는 전체와 부분 관계로 '파트-오브'(part-of)와 역관계에 있다. '해즈-어(X,Y)(has-a (X,Y))'이면 '파트-오브(와이,엑스)(part-of(Y,X))'가 성립되는 것이다. 추이적인 관계에 만족한다. 다항관계를 이항 관계로 전개하여 표현한 의미망은 이항 관계만을 표현한다. 다항 관계는 관계를 객체로 간주하여 표현한다. 즉 사물화(reification)이다. 의미망에서 추론은 상속을 이용하고 질문에 대한 의미망과 지식을 나타내는 의미망을 비교한다. 또한 디폴트값을 이용한 추론으로 상속 관계를 이용한다. 주어진 지식으로부터 새로운 사실을 이끌어내는 추론도 가능하다. 의미망이 프레임으로 변환되려면 노드별로 프레임을 생성하고, 노드에서 나가는 간선들을 슬롯으로 구성한다. 의미망 표현의 장점은 지식을 시각적으로 표현할 수 있어서 직관적인 이해가 용이하며, 노드 추가나 변경으로 비교적 쉽게 지식의 추가나 변경이 가능하다. 개념의 계층관계를 정의하여 속성의 상속 관계 지정이 가능하다. 복잡한 지식을 구조화하여 표현이 가능하다. 의미망 표현의 단점은 지식의 양이 많아지면 관리가 복잡하며, 개념이나 관계를 임의로 정의하기 때문에 통일성이 부족하다. 공유나 재사용에 대한 고려가 없으며, 논리적 결합 관계나 인과 관계를 기술하려고 하면 그리고(and), 또는(or)와 같은 링크 도입이 필요하다. 기본적으로 정적인 지식의 표현이다.[16]
프레임[편집]
프레임은 의미망 한 종류로서 객체와 그 속성의 구조적 기술을 갖고 있으며, 프레임 객체 구조 내에 슬롯이라는 속성 묘사에 중점을 둔다. 데이터와 프로시저를 하나의 구조로 묶으며, 프레임들은 계층적으로 구성되어 있다. 슬롯은 객체의 속성과 속성값을 채우는 칸으로 디폴트값, 프레임 포인터, 규칙, 프로시저가 해당한다. 프로시저는 슬롯 값 요구, 변경, 제거될 때 자동으로 작동되는 일종의 데몬이다. 패싯은 슬롯 값을 다양하게 줄 수 있는 키이며, 프레임을 표현하는 형식은 '<프레임 이름>-<슬롯 이름>-<패싯 이름>-<값>' 이다. 프레임은 지식 표현이 일반적이고 자연스러워 강력한 방법이라는 장점이 있으며, 복잡성 때문에 지식작성이 어렵다는 단점이 있다.[18] 프레임은 사람이 특정 대상에 대해 갖는 지식의 표현을 목표로하며, 슬롯의 특정 상황에 따라 자동적으로 호출되는 데몬 개념이다. 민스키(M. Minsky)가 제안한 지식표현 방법으로, 특정 객체 또는 개념에 대한 전형적인 지식을 슬롯(slot)의 집합으로 표현한 것이다. 프레임은 먼저 슬롯으로 구성되어 있는데 슬롯은 객체의 속성(attribute)을 기술하는 것으로, 슬롯 이름(속성이름)과 슬롯 값(속성의 값)으로 구성된다. 슬롯 값은 복수 개의 패싯(facet)과 데몬(demon)으로 구성된다. 패싯은 '측면'또는 '양상'을 의미하는데 속성에 대한 부가적인 정보를 지정하기 위해 사용한다. 패싯 이름과 패싯 값의 쌍으로 구성되며 패싯 이름은 수, 문자열, 다른 프레임의 포인터 등의 속성값(value), 속성값의 자료형(data-type), 속성값이 주어지지 않을 때 사용되는 초깃값인 디폴트값(default), 슬롯에 들어갈 수 있는 값이 만족해야 할 제약조건이 있다. 데몬은 지정된 조건을 만족할 때 실행할 절차적 지식(procedure)을 기술하는 것으로, 슬롯 값으로 데몬 실행조건과 데몬 이름의 쌍이다. 데몬의 실행조건의 예로는 슬롯 값을 알아야 할 때 'if_needed', 슬롯 값이 추가될 때 'if_added', 슬롯 값이 제거될 때 'if_removed', 슬롯 값이 수정될 때 'if_modified'가 있다. 프레임의 종류로는 부류(class)에 대한 정보 표현하는 클래스 프레임과, 특정 객체에 대한 정보 표현인 인스턴스(instance) 프레임이 있다. 프레임의 계층구조(hierarchy)는 클래스를 나타내는 프레임인 상위 프레임과, 하위 클래스 프레임이나 상위 클래스 프레임의 객체로 상위 프레임을 상속(inheritance)받는 하위 프레임으로 구성되어 있다. 프레임과 규칙을 결합한 지식표현이 있는데, 프레임은 특정 개념이나 대상에 대한 속성들을 표현한다. 관련된 속성들을 하나의 덩어리로 관리한다. 규칙을 사용하여 조건적인 지식표현이 있는데, 데몬에 규칙을 사용하거나 규칙의 조건부나 결론부에서 프레임을 사용한다. 대부분의 규칙기반 시스템에서 객체 개념을 사용한다. 객체의 표현에 프레임 사용이 가능하다.[15]
규칙[편집]
규칙은 결정이나 결론이 요구되는 영역에 유용하며, 규칙기반 시스템에서 사실집합과 규칙집합으로 구분되어 규칙의 가정 부분이 사실 집합의 일부와 부합될 때 규칙의 결론 부분이 실행된다.[18] 가정(If)과 결론(Then)의 문장으로 표현한 것으로, '~이면, ~이다' , '~하면, ~하다' 와 같은 조건부의 지식을 표현하는 형식이다. 직관적이며 이해하기 쉽다. 예를 들면 '신호등이 녹색일 때는 건널목을 안전하게 건널 수 있고, 빨간색일 때는 길을 건너지 말아야 한다'라는 문장이 있는데, 대상은 신호등, 속성은 녹색, 빨간색이며 행동 및 판단은 '건넌다' 와 '멈춘다'가 된다. 대상, 속성, 행동 또는 판단의 정보를 추출하는 것이다. 표현으로는 'IF 신호등이 녹색이다 THEN 행동은 건넌다', 'IF 신호등이 빨간색이다 THEN 행동은 멈춘다'가 된다. '만약(IF)' 부분은 주어진 정보나 사실에 대응될 조건이며, 조건부(conditional part, antecedent)라고 한다. '그러면(THEN)' 부분은 조건부가 만족될 때의 판단이나 행동을 말하는 데 결론부(conclusion, consequent)가 된다. 조건부는 둘 이상의 조건을 '그리고(AND)'나 또는(OR)' 으로 결합하여 구성이 가능하다. 결론부는 여러 개의 판단이나 행동이 포함 가능하다. 규칙을 통한 지식표현은 인과관계, 추천, 지시, 전략, 휴리스틱이 있다. 인과관계는 원인을 조건부에 표현하고, 결과는 결론부에 표현한다. 예를들면, 'IF 연료통이 빈다 THEN 차가 멈춘다'가 된다. 추천은 상황을 조건부에 기술하고 이에 따른 추천 내용을 결론부에 표현한다. 예를 들면, 'IF 여름철이다 AND 날이 흐리다 THEN 우산을 가지고 가라'가 된다. 지시는 상황을 조건부에 기술하고 이에 따른 지시 내용을 결론부에 표현한다. 예를 들면, 'IF 차가 멈추었다 AND 연료통이 비었다 THEN 주유를 한다'가 된다. 전략(strategy)은 일련의 규칙들로 표현하며, 이전 단계의 판정 결과에 따라 다음 단계에 고려할 규칙이 결정된다. 예를 들면, 'IF 차가 멈추었다 THEN 연료통을 확인한다 AND 단계 1을 끝낸다.', 'IF 단계 1이 끝났다 AND 연료통이 충분히 찼다 THEN 배터리를 확인한다 AND 단계 2를 끝낸다.'가 된다. 마지막으로 휴리스틱(heuristic)은 경험적인 지식을 표현하는 것으로, 전문가적 견해는 최적을 항상 보장하는 것이 아니고 일반적으로 바람직한 것을 표현한다. 예를 들면, 'IF 시료가 액체이다 AND 시료의 PH가 6 미만이다 AND 냄새가 시큼하다 THEN 시료는 아세트산이다'가 된다.[15] 규칙의 장점으로는 모듈화인데, 독립적으로 추가 삭제 변경이 용이하며, 특정 표현 방법에 따라 구조를 달리할 수 있다는 점이 있다. 또한, 결정, 결론이 요구되는 영역에 적합하다. 단점으로는 문제풀이에 많은 경비 소요가 되며 제어가 복잡하다는 점이 있다.[18]
각주[편집]
- ↑ 1.0 1.1 Καλλιστώ Κορωναίος, 〈Ch.3지식의 표현과 논리〉, 《슬라이드플레이어》, 2019
- ↑ 열이 , 〈지식의 표현〉, 《네이버 블로그》, 2009-03-17
- ↑ 3.0 3.1 위키 백과 - https://ko.wikipedia.org/wiki/%EC%A7%80%EC%8B%9D_%ED%91%9C%ED%98%84
- ↑ 이앵두, 〈인공지능의 기초-5.지식표현〉, 《티스토리》, 2020-06-13
- ↑ 인공지능 스터디 공식 홈페이지 - http://www.aistudy.co.kr/expert/knowledge_representation.htm
- ↑ 충북대학교 소프트웨어학과 이건명, 〈지식표현과 추론 PartIII 〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》
- ↑ 주세페 페아노 위키백과 - https://ko.wikipedia.org/wiki/%EC%A3%BC%EC%84%B8%ED%8E%98_%ED%8E%98%EC%95%84%EB%85%B8
- ↑ 내가 원하는 blog, 〈주세페 페아노 - Giuseppe Peano, 1858 ~ 1932〉, 《WordPress》, 2016-02-26
- ↑ 앨런 뉴얼 위키백과 - https://ko.wikipedia.org/wiki/%EC%95%A8%EB%9F%B0_%EB%89%B4%EC%96%BC
- ↑ 예비개발자, 〈인공지능 개론 4: 인공지능의 탄생과 황금기〉, 《네이버 블로그》, 2018-05-07
- ↑ JK의 계단 밑 연구실, 〈인공지능의 역사 2〉, 《브런치》, 2017-06-12
- ↑ 마빈 민스키 위키백과 - https://ko.wikipedia.org/wiki/%EB%A7%88%EB%B9%88_%EB%AF%BC%EC%8A%A4%ED%82%A4
- ↑ 마빈 민스키 인공지능스터디 공식 홈페이지 - http://www.aistudy.co.kr/pioneer/Minsky.M.htm
- ↑ 이앵두, 〈인공지능 기초 - 6.지식표현 - 논리와 정형공식〉, 《티스토리》, 2020-06-13
- ↑ 15.0 15.1 15.2 충북대학교 소프트웨어학과 이건명 , 〈지식표현과 추론 -I〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》
- ↑ 16.0 16.1 충북대학교 소프트웨어학과 이건명 , 〈지식표현과 추론 PartII 〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》
- ↑ 병준이저장소, 〈인공지능 - 지식표현〉, 《블로그》, 2007-04-05
- ↑ 18.0 18.1 18.2 18.3 희애 화, 〈지식표현(Knowledge Representation)〉, 《슬라이드플레이어》, 2017
참고자료[편집]
- 지식표현 위키백과 - https://ko.wikipedia.org/wiki/%EC%A7%80%EC%8B%9D_%ED%91%9C%ED%98%84
- 주세페 페아노 위키백과 - https://ko.wikipedia.org/wiki/%EC%A3%BC%EC%84%B8%ED%8E%98_%ED%8E%98%EC%95%84%EB%85%B8
- 앨런 뉴얼 위키백과 - https://ko.wikipedia.org/wiki/%EC%95%A8%EB%9F%B0_%EB%89%B4%EC%96%BC
- 마빈 민스키 위키백과 - https://ko.wikipedia.org/wiki/%EB%A7%88%EB%B9%88_%EB%AF%BC%EC%8A%A4%ED%82%A4
- 지식표현 인공지능 스터디 공식 홈페이지 - http://www.aistudy.co.kr/expert/knowledge_representation.htm
- 마빈 민스키 인공지능스터디 공식 홈페이지 - http://www.aistudy.co.kr/pioneer/Minsky.M.htm
- 병준이저장소, 〈인공지능 - 지식표현〉, 《블로그》, 2007-04-05
- 열이, 〈지식의 표현〉, 《네이버 블로그》, 2009-03-17
- 내가 원하는 blog, 〈주세페 페아노 - Giuseppe Peano, 1858 ~ 1932〉, 《WordPress》, 2016-02-26
- JK의 계단 밑 연구실, 〈인공지능의 역사 2〉, 《브런치》, 2017-06-12
- 예비개발자, 〈인공지능 개론 4: 인공지능의 탄생과 황금기〉, 《네이버 블로그》, 2018-05-07
- 희애 화, 〈지식표현(Knowledge Representation)〉, 《슬라이드플레이어》, 2017
- Καλλιστώ Κορωναίος, 〈Ch.3지식의 표현과 논리〉, 《슬라이드플레이어》, 2019
- 이앵두, 〈인공지능의 기초-5.지식표현〉, 《티스토리》, 2020-06-13
- 이앵두, 〈인공지능 기초 - 6.지식표현 - 논리와 정형공식〉, 《티스토리》, 2020-06-13
- 충북대학교 소프트웨어학과 이건명, 〈지식표현과 추론 -I〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》
- 충북대학교 소프트웨어학과 이건명, 〈지식표현과 추론 PartII 〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》
- 충북대학교 소프트웨어학과 이건명, 〈지식표현과 추론 PartIII 〉, 《대학공개강의서비스 케이오씨더블유(KOCW)》
- 호서대학교 박승범, 〈지식표현(Knowledge Representation)〉, 《대학공개강의서비스케이오씨더블유(KOCW)》
같이 보기[편집]