Intelligent Information System Lab.
Dept. of Computer and Information Science
Graduate School of Korea University

Sohn JongSoo
mis026@korea.ac.kr


 

1. 전문가 시스템의 개념 및 구조


전문가 시스템이란

전문가 시스템을 언어면에서 정의하면, 문제 영역의 전문가로부터 획득된 전문 지식을 이용하여 추론하며, 동시에 전문적으로 고도의 현실적 문제를 전문가와 동등한 레벨에서 해결하는 지적 시스템이라 할 수 있다. 즉, 전문가 시스템이라고 불리우기 위하여는 다음과 같은 네가지 조건을 만족하여야한다.

1. 문제 영역의 전문지식을 이용하여 추론할 것

2. 전문가로부터 획득된 지식일 것

3. 전문적으로 고도의 현실적 문제를 대상으로 할 것

4. 능력이 전문가와 동등할 것

그러나 현재까지 이 네가지 조건을 전부 만족하는 시스템은 거의 존재하지 않으며, 따라서 위 4가지 조건을 목표로하여 개발되어가고 있는 시스템도 전문가 시스템에 속한다고 할 수 있다. 위의 4가지 문제 영역은 일반적으로 복잡하며, 애매모호한 점을 포함하고 있는 불완전하고 열려진 세계이고, 과학적 혹은 이론적으로 취급하기 곤란한 요소를 많이 포함하고 있는 것이 특징이라 할 수 있다 또한 전문가라고 불릴 정도의 실력자는 그와같은 문제 영역에 관한 고도로 전문적인 지식에 정통하고 있는 것만이 아니라, 스스로 긴 세월의 체험을 통하여 얻은 여러 가지 방법을 이용하여 추론할 수 있어야하며, 일반인이 알지 못하는 전문적인 체험을 들려줄 수 있는 사람을 말한다.

전문가 시스템의 최종 목적은 전문가를 대신하여 시스템 자신이 스스로 문제를 해결하는 것이라고 말할 수 있지만, 현재의 컴퓨터 하드웨어 기술에 의존한 시스템 개발상의 문제 등으로 인하여 아직까지는 도달하기 어려운 것으로 생각되어지고 있다. 따라서 당면 목적으로 전문가를 대신하여 비전문가의 문제해결을 지원하는 시스템들이 주로 개발되어지고 있다. 이와 같은 의미에서 컴퓨터화된 상담이라고 할 수 있으며, 의사결정 지원 전문가 시스템이 상담 시스템이라고 불리는 이유도 이런 연유이다. 상담시스템에서는 어디까지나 지원하는 입장을 지키며 최종적 의사결정은 상담자 스스로에게 맡긴다. 즉, 시스템은 먼저 상담자에게 질문하여 입력된 정보를 분석하고 추론에 의해 얻어진 결론과 대책에 관한 조언을 나타내며, 결론의 근거를 설명하는 등 상담자의 의사결정에 지원이 되는 기능을 가지고 있으면 된다. 한편, 전문가의 문제해결에 관한 작업 능률이나 신뢰성 향상 등의 잇점을 살리기 위하여 전문가를 지원하는 시스템도 개발되어지고 있다.


전문가 시스템의 유래

전문가시스템은 특정분야의 전문적인 지식을 지닌 컴퓨터 프로그램으로써, 문제분야의 오랜 경험을 지닌 전문가의 역할을 대신한다. 이는 기존의 컴퓨터 프로그램이 정확한 알고리듬이나 일방적인 탐색방법을 사용하는데 비하여 보다 전문적이고 체계적인 지식의 사용을 강조한다. 전문가 시스템은 문제분야의 지식을 시스템 운영 및 문제 풀이 부분으로부터 명확히 구분 지어지게 되며, 이로써 시스템이 사용하고 있는 지식을 검토하거나 수정하는데 용이하며, 시스템이 도달한 결론 등을 설명할 수 있게 된다.

최초의 전문가 시스템은 60년대 후반 미국의 스텐포드 대학에서 개발된 DENDRAL로써, 이는 어떤 화합물의 구성요소와 그 화합물의 샘플로부터 얻어진 질량 스펙트로그램을 이용하여 그 화합물의 분자구조를 결정하는, 화학전문가의 역할을 담당하는 전문가시스템이다. 이 시스템의 실험중에 DENDRAL은 화학 전문가에게도 알려지지 않은 몇가지의 분자구조를 발견하기도 하였다. 이후 개발된 MYCIN은 감염성 질환에 대하여 항생제의 처방을 자문하여주는데, 수 년간 걸친 보완작업에 의하여 성능의 향상은 물론, 다양한 기능의 지원 부분을 개발하여 현재는 대표적인 전문가 시스템의 하나로써 간주되고 있다. 초기의 전문가 시스템 이후 많은 상업적 그리고 군사적 목적의 시스템들이 개발되었다. 특히 DEC(Digital Equipment Cooporation) 에서 개발된 XCON은 판매용 컴퓨터의 부품을 선정하고 시스템의 조합을 완성시키는 것으로써, 연간 수백만불의 경비절감효과를 나타내고 있다.


인간 기술과 인공 기술

전문가 시스템을 `특정 문제분야에서 높은 수준의 성능을 얻기 위하여 전문가의 지식을 사용하는 컴퓨터 프로그램'이라고도 정의할 수 있다. 이러한 전문가 시스템을 개발하는 과정을 지식공학 (Knowledcge Engineering)이라고 한다. 그렇다면, 왜 인간의 전문 기술을 이용하지 않고 인공적인 전문기술을 이용하는가?

1. 인간의 전문 기술은 지속적인 훈련과 연습이 필요한 반면 일단 구성된 인공적 전문기술은 영구적으로 존재한다.

2. 인간 전문기술의 전달은 교육을 통하여 오랫동안의 값비싼 댓가를 치뤄야 하지만, 인공적 전문기술은 프로그램이나 자료화일을 복사하는 것으로 해결된다.

3. 인간의 전문기술은 문서화가 매우 어렵고 시간을 요하는 작업이지만, 인공적 전문기술은 지식표현과 같은 인공지능의 기술로 체계적이고 명확히 표현될 수 있다.

4. 인간의 전문기술은 동일한 상황이더라도 긴급함이나 감정에 따라 다른 결정을 내릴 수 있다.

5. 인간의 전문기술은 전문인력이 귀하기 때문에 고가인 반면 인공적 전문기술은 개발비용이 높기는 하지만 사용하는 비용을 저렴하게 할 수 있으므로 결국 높은 개발비는 낮은 사용비용과 용이한 복사로 그 보상을 충분히 받게 된다.


비록 인공적 전문기술을 구현하는 전문가시스템이 많은 장점을 지니고 있으나 시각, 청각 등의 인간의 감각능력을 이용하거나 광범위한 범위의 지식이 필요한 전문기술은 현재의 인공지능 기술수준으로 볼때 오히려 인간의 전문기술이 더욱 효과적이다. 따라서 적절한 문제분야의 전문기술을 선택하는 것이 전문가시스템의 효과적인 결과산출에 중요한 요인이 된다.


전문가 시스템의 구조

전문가시스템은 기본적으로 문제분야의 지식을 저장하는 지식 베이스 (knowledge base)와 이를 이용하여 문제를 해결하는 지식을 저장하는 추론기관 (inference engine)으로 이루어 진다. 이러한 전문가시스템을 개발하기 위해서 초창기에는 LISP, PROLOG, C 등과 같은 프로그래잉언어를 사용하여 구성하기도 하였지만, 지식베이스에 저장된 문제분야의 지식만을 바꾸어 구성하고 기존의 추론기관을 그대로 사용하여 전문가시스템을 쉽게 개발할 수 있도록, MYCIN으로부터 개발된 EMYCIN의 등장으로 전문가시스템 개발도구의 개념이 생겨났다. 이후 전문가시스템을 더욱 용이하게 개발할 수 있도록, 지식 베이스를 다양한 방법으로 표현할 수 있는 복합 지식표현을 제공하고 지식 베이스 구성을 위한 특별한 문서편집기, 지식간의 에러 진단 및 수정을 위한 디버깅 기능, 사용자 인터페이스를 용이하게 개발하기 위한 라이브러리, 결과나 과정에 대한 설명 기능, 각종 데이타베이스와 연결할 수 있는 기능 등을 제공하는 통합적인 전문가시스템 개발도구가 많이 개발되었다. 이러한 전문가시스템 개발도구의 개발과 전문가시스템 기술의 발전으로 많은 산업체에서 실용적인 전문가시스템의 개발이 이루어지고 있다.


2. 전문가 시스템의 연대기적 역사


1960년대

전문가 시스템은 1960년대부터 개발되기 시작했다. 이 당시 개발되던 전문가 시스템들은 몇 가지의 법칙을 이용하여 일반적인 문제를 해결할 수 있다는 믿음을 가지고 개발을 시작하였으나 대부분은 일반적인 문제를 해결하는데 효과적인 대안을 제시하지 못했다. 그리고 이를 통해 전문가 시스템의 적용 분야 및 개발 방법에 수정을 가하게 되었고 1970년, 80년대 전문가 시스템 개발에 있어 초석이 되었다. 1960년대에 대표적인 전문가 시스템으로는 GPS와 DENDRAL 등이 있다.


GPS

Newell과 Simon에 의해 개발된 GPS(General-purpose Problem Solver)는 몇가지 추론 법칙들이 전문가의 능력이나 초인적인 능력을 만들 수 있다는 믿음에 의해 개발이 시도되었다. GPS는 주어진 초기 상태를 목표 상태로 전환하기 위하여 필요한 여러단계를 실행하는 방식으로 설계되었는데 어떤 문제에 대하여 상태를 여러 가지로 변환할 수 있는 연산자의 집합과 연산자가 적용되기 위한 전제조건과 적용된 후의 변화된 조건 등이 주어진다. 또한 어떤 연산자가 먼저 적용될 것인가를 나타내는 휴리스틱 집합도 지니고 있다. GPS는 목표 상태와 현재 상태의 차이를 줄이기 위한 연산자를 찾는 알고리즘을 갖고 있으며 때로 전제 조건이 일치하지 않아 현 상태의 변화를 주지 못하기도 했다. GPS가 한 문제를 해결하기 까지 많은 부목표가 만들어질 수도 있다. 대부분의 범용적 목적의 전문가 시스템들과 같이 GPS역시 범용 프로그램으로 완성되지는 못했으나 PROLOG나 LISP같은 인공지능 언어에 큰 영향을 미쳤다.


DENDRAL

DENDRAL은 1960년에 스탠포드 대학교에서 특정한 문제를 해결하기 위하여 개발이 진행된 전문가 시스템이다. DENDRAL는 그 개발을 통하여 몇가지 결론을 도출할 수 있었는데 첫 번째로 일반적인 문제 해결을 위한 전문가 시스템은 고성능을 발휘하기 힘들다는 것 이였고 두 번째는 매우 좁은 영역에 전문가 시스템을 도입할 때 좋은 성능을 발휘한다는 것이였다. 세 번째는 전문가 시스템의 유지를 위하여 항상 새로운 정보를 추가하고 수정해줘야하며 수정 작업은 규칙 기반 표현을 이용하여 효율적으로 작성 가능하다는 것이다. 마지막으로 네 번째 결론은 문제의 복잡성이 문제 영역에 대한 상당한 양의 지식을 요구한다는 것이다. DENDRAL의 연구결과를 통해 전문가 시스템은 범용적 문제 해결보다는 특정 영역에의 문제 해결을 위해 사용하기 위한 시스템으로 인식되기 시작했다.


1970년대

인공지능 연구자 및 개발자들은 시스템 개발 과정에서 지식의 중요한 역할을 인식하고 지식 표현 이론과 일반적인 목적의 의사결정 과정과 추론 방법을 주로 연구했다. 그러나 대부분 제한적인 성공을 거둘 수밖에 없었는데 그 이유는 연구 목표를 너무 방대하고 잡고 분산적인 문제를 해결하기 위해 지식 표현을 한데 있다. 방대하고 범용적인 지식을 몇몇의 전문가가 모두 기술하기에는 그 양이 너무 많았으며 정확하다는 확신 또한 없었기에 범용적 전문가 시스템의 개발은 개발과정에서 고착화 될 수밖에 없었다. 한편 이 연구들을 통해 지식 표현에 관한 여러 가지 방법들이 제시되었으며 이들은 전문가 시스템에 유용하다는 것을 입증했다.


1980년대 ~ 1990년대

1970년대까지 전문가 시스템이 학술연구자들에 의해 제한되었던 반면 1980년대에는 상업적으로 적용되기 시작하였다. 대표적으로는 XCON, XSEL, CATS-1 등이 있다. 1980년대에는 전문가 시스템의 개발과 더불어 전문가 시스템의 개발 기간을 줄이기 위한 도구에 대한 연구가 활발히 이루어 졌다. 개발 도구로서 EMYCIN, AGE 같은 프로그래밍 도구, EXPERT, KAS 등과 같은 지식 습득 지원 도구, 경험을 통해 학습하는 METADENDRAL, EURISKO 등이 있다. 초기에 개발된 도구들은 특별한 하드웨어를 요구했으나 1980년대 후반부터는 범용 컴퓨터에서 사용할 수 있도록 개발되었다.


2000년대 ~ 현재

2000년 이후 인터넷의 발달로 인하여 방대한 거미줄과 같이 발전하였으며 사람이 미처 다 처리할 수 없는 수준으로 그 양이 증대되었다. 그리고 웹 문서는 html, xml, cgi 등 다양한 문서형식을 갖추고 있으며 데이터의 종류 또한 텍스트 문서를 포함하여 음악, 동영상 등 다양한 미디어 종류를 포함하고 있으므로 컴퓨터 및 통신 네트워크에 기반한 인터넷 공간이라 할지라도 사람의 생각을 모델링하기 어려운 만큼 웹 또한 모델링하기 어려운 범주에 속하게 되었다. 따라서 다양하고 방대한 웹 자원 속에서 사용자가 지식을 획득하고 의사결정을 위한 지원을 받기 위하여 지식을 일정한 형태로 모델링하고 추론할 수 있는 기반이 필요하게 되었는데 그 중 가장 유력한 것이 “시맨틱 웹”이다. 시맨틱 웹은 정보자원을 컴퓨터가 이해하고 처리할 수 있는 형태로 표현하는 온톨로지가 핵심인데 온톨로지 언어로는 대표적으로 OWL 이 있다. OWL과 같은 온톨로지 언어는 개념과 개념 사이의 관계를 class 와 property로 표현하며 class에 속한 자원을 individual 로 표현하여 각 자원의 클래스 및 클래스간의 관계를 나타내게 한다. 또한 온톨로지 언어는 표현된 지식과 지식사이에서 새로운 지식을 추론해낼 수 있도록 추론 언어를 지원하고 있는데 이를 이용하여 데이터를 찾아내는 질의 언어로서 SPARQL 이 대표적이다.


 

3. 전문가 시스템의 활용 분야별 정리



3.1. 화학 분야에서의 전문가 시스템


DENDRAL

1965년 발족한 스탠포드 대학의 DENDRAL 프로젝트의 최초 성과인 heuristic DENDRAL은 프로젝트의 주요 멤버인 Lederberg가 개발한 DENDRAL(DENDRitic ALgorithm)이 주요하게 사용되었다. DENDRAL은 주어진 분자식을 만족하는 가능한 모든 구조식을 열거하는 프로그램으로서 알고리즘과 미지 화합물의 질량 스펙트럼을 해석하는 일련의 규칙(heuristic)을 조합한 전문가 시스템이다. 이 시스템은 간단한 화합물들의 구조를 추정하기 위한 것으로, 그 가치는 화학의 문제를 인공지능의 연구 대상으로 인식시킨 데 있다.


MACSYMA

MIT에서 1960년대 중반에 개발을 시작한 MACSYMA 시스템은 수학의 대수식을 변환하고 제한된 범위내에서 계산, 기호 통합.등식 해결 등을 주요 목적으로 한다. MACSYMA를 개발할 때에 연인원 30명이 소요되었으나, 요즈음에 이 정도의 시스템을 만든다면 연인원 10명 정도면 될 것으로 예상된다.


3.2. 컴퓨터 시스템 분야


XCON

최초로 성공한 전문가 시스템은 XCON이다. 카네기멜론 대학과 Digital Equipment사가 1970년대 공동으로 연구,개발한 것으로, 컴퓨터 시스템의 구성을 조언하는 상업용 시스템으로 발전했다. XCON은 VAX 컴퓨터의 이상적인 시스템 구성을 도와주었다고 알려져 있다. 이 시스템은 컴퓨터 시스템의 전체적인 윤곽 뿐만 아니라, 각 부품의 관계 및 위치에 관한 도표까지 제시하며 각 부품을 연결하는 케이블의 길이까지 결정해 주는 장점을 가지고 있다. 또한 XCON은 숙련된 전문가나 가능한 작업을 전문가 보다 훨씬 빨리 일을 처리하며 OPS5에 의해 구현되었다.


ACE

1980년대 초, 벨 연구소가 개발한 ACE는 고장 진단 시스템의 대표적인 예이다. ACE는 전화 선로의 유지, 보수 활동에 관한 자료들을 검토한 후, 전화 선로가 불량하다고 생각되는 지점을 찾아주고 고장 내용의 특성을 제시해주는 시스템 이다. 이 시스템은 OPS4와 Franz LISP로 구현되었다.





3.3. 기계공학 분야의 전문가 시스템


DELTA

1980년대 중반 General Electric이 개발한 DELTA가 대표적인 기계공학의 전문가 시스템이다. DELTA는 디젤 기관차의 고장을 발견하기 위해 고안하였다.

그 외에 공학 분야의 전문가 시스템 연구는 복잡한 공정 제어 시스템의 고장 진단이나 결함을 진단 및 처리하는데 집중되고 있다.



3.4. 지질학에서의 전문가 시스템의 연구


PROSPECTOR

지질학에서의 전문가 시스템은 1970년대 중반에 스탠포드 연구소에서 개발된 PROSPECTOR가 시초이다. 이 시스템은 지질학자가 광석 매장지를 찾는 데 도움을 주기 위해 개발되었으며, 1980년대에 수백만 달러의 몰리브덴 광맥의 위치를 정확히 탐사하는데 성공한 적도 있어 유명해졌다.



3.5. 의학에서 전문가 시스템의 연구


MYCIN

전문가 시스템의 가장 대표적인 개발사례로 꼽히는 MYCIN은 스탠포드 대학에서 1970년대 중반에 개발된 MYCIN으로부터 시작하였다. MYCIN은 혈액 감염증의 진단과 항생 물질를 이용한 치료를 조언하는 시스템으로 의학 교육과 연구를 위해 사용되었다. MYCIN을 시작으로 하여 현재 의학 분야에서 전문가 시스템의 연구는 의학 실험, 자료분석, 질병 진단 및 치료 등의 분야에서 활발하게 진행되고 있다.



3.6. 군대/군사에서의 전문가 시스템


ALMC

1991년 ALMC(U.S. Army Logistics Management College)와 Gale Group에서 개발한 전문가 시스템으로써 컴퓨터를 기반으로 가능한 모든 통신 수단(전화, 인터넷, e-mail)을 사용하여 신속하고 안전하게 정보를 전달할 수 있는 경로를 찾기 위한 목적으로 개발되었다. DESEX를 사용함으로써 얻을 수 있는 이점은 음성인식 가능, DSN(Defense Swiched Network)를 통한 핫라인 연결 가능, 보안 및 전자서명 가능, 1991년 ALMC(U.S. Army Logistics Management College)와 Gale Group에서 개발한 전문가 시스템으로써 컴퓨터를 기반으로 가능한 모든 통신 수단(전화, 인터넷, e-mail)을 사용하여 신속하고 안전하게 정보를 전달할 수 있는 경로를 찾기 위한 목적으로 개발되었다. DESEX를 사용함으로써 얻을 수 있는 이점은 음성인식 가능, DSN(Defense Swiched Network)를 통한 핫라인 연결 가능, 보안 및 전자서명 가능, 지속적인 대화 인식 등이 있다. DESEX로 인하여 Routing 기술, 음성 인식 기술, 보안 기술 등이 더욱 발전하는 계기가 되었다.


OWLKNEST

WLKNEST(Operator Workload Knowledge-Based Expert System Technology)는 1992년 Army Research Institute Infantry Forces Research Unit에서 개발한 전문가 시스템이다. OWLKNEST는 군용 시스템 개발에 있어서 필요한 인력 및 기술을 결정하기 위한 평가 목적으로 개발되었다. EXSYS Professional을 이용하여 개발하였다. Rule-based Reasoning과 CBR을 사용한다.


CoSAR

2003년 Edinburgh대학의 AIAI(Artificial Intelligence Application Institute)에서 개발한 군사 작전 목적의 웹 기반 전문가 시스템이다. 시맨틱 웹을 주축으로 규칙 기반 및 사례 기반 추론을 사용한다. 부상을 당하거나 실종된 병사의 탐색에서부터 포로 구출 등의 목적에 사용된다. 빠른 탐색부터 신속한 구출작전 및 후송에 이르는 군사 작전에 탁월한 성능을 발휘하며 실제로 이라크 전에서 사용되었다.



3.7. 대기오염의 측정 분야


OSCAR

OSCAR (Optimised Expert System for Conducting Environmental Assessment of Urban Road Traffic)는 대기 오염의 관점에서 도시의 도로 교통이 환경에 미치는 영향을 평가하기 위해 최적화된 모델링 시스템을 제공하는 것을 목적으로 개발된 전문가 시스템이다. CLEAR의 Project로써 영국 Hertfordshire 대학의 Ranjeet S Sokhi가 주도하고 있다.


FUMAPEX

FUMAPEX (Integrated Systems for Forecasting Urban Meteorology, Air Pollution and Population Exposure)는 도시의 대기 상태와 오염 노출 모델을 통해 구축된 기상 예측 모델을 이용하여 유럽의 여러 도시들의 기후 변화 및 기상 상태를 예측하기 위한 전문가 시스템이다. CLEAR의 Project로써 덴마크 DMI의 Alexander Baklanov가 주도하고 있다.


4. 200년대 이전에 개발된 전문가 시스템의 문제점



4.1. 제기된 전문가 시스템의 문제점


전문가 시스템의 문제점, 혹은 비판으로써 지적되고 있는 것들은 여러가지가 있다. 한정된 전문 영역밖에 사용할 수 없다는 점, 표면적인 지식의 조작에 답을 하고 있지만 그것의 결과를 어느 정도 신용할 수 있는지는 알 수 없다는 점, 당연한 상식적인 질문이 맣고 게다가 답을 해야만 하는 번거로움, 개발할 때 사용되는 언어가 한정되어 있고(예를 들면 LISP, PROLOG등) 작성하기도 어렵다는 점, 지식을 수집,입력하기 좋은 방법이 제공되어 있지 않다는 점, 컴퓨터 시스템으로서 입출력 인터페이스를 사용하기 어렵다는점등의 문제가 있다.


4.2. 인간과 컴퓨터간의 차이로 인한 문제


전문가 시스템과 인간 기술과의 차이로 인한 제한적인 측면을 생각해 볼 수 있다. 첫째로 인간과 같이 창조할 수 있는 능력을 만들어 낼 수 없다는 점이다. 전문가 시스템은 다소 반복적인 방법에 의해 문제 해결 행위를 하지만 인간은 정보의 재구성으로 새로운 지식을 구성할 수 있다. 또한 인간은 완전히 다른 상황 하에서도 이전의 비슷한 경우의 문제해법을 찾아내어 예기치 않았던 사건을 해결할 수 있다.

둘째로 전문가 시스템은 인간과 같이 바뀐 조건에 대응하여 새로운 상황을 극복할 수 있도록 그들의 문제 해결 기법을 재조정하기 어렵다는 점이다.

세 번째로 인간과 컴퓨터간의 사고와 인지의 능력이 다르다는 점이 있다. 인간은 감각 능력이 뛰어나 시각, 청각, 촉각, 미각 등의 복잡한 감각기관을 직접 이용한다. 그러나 전문가 시스템은 사고와 인지를 나타내기 위하여 심볼을 사용하고, 어떠한 감지기를 통해 입력한 데이터라도 시스템이 이해할 수 있도록 심볼로 변환시켜야 한다. 이러한 과정에서 상당한 양의 정보가 손실되고 이러한 것은 영상을 입력시켜 물체와 이들간의 관계로 나타내는 경우에 특히 심하다.

넷째로 인간은 문제의 모든 각도에서 검토하여 각 측면이 갖는 주요 주제와의 관계를 쉽게 파악한다. 반면에 전문가 시스템은 문제 그 자체에만 집중하는 경향이 있어 근본 문제와 관계는 있으나 분리되어 있는 주제들을 무시한다. 마지막으로 전문가로부터 지식을 추출해 내는 과정에서 발생하는 어려움을 빼놓을 수 없다.

이러한 문제점들에 대한 극복의 노력으로 여러가지 연구가 있어왔지만 크게 3가지를 들 수 있다. 첫째로 소위 지식공학이라 불리우는 것으로서 전문가로부터의 지식을 추출해내고 그것들을 지식 베이스화하는 작업이다. 둘째로 새로운 프로그래밍 패러다임의 개발이다. 즉 전문가로부터 추출해낸 지식을 Rule에 맞게 프로그램하는 작업이다. 이 연구의 결과로서 많은 프로그램언어와 Tool들이 개발되었고 개발되고 있다.

그리고 마지막으로 실용성의 문제인데 이것은 기술적으로 좋은 것이 만들어지면 사용할 수도 있다라는 간단한 명제로 귀결된다. 실은 Operations Research와 Management Science분야에는 일찍부터 이것에 대한 많은 연구가 있었고 시스템 개발의 실천과정 전부를 포함하는 분야가 있다. 그러나 연구실의 실험 시스템 및 데모 시스템은 실용시스템과 차이가 크다는 사실, 또한 그것이 간단한 기술적인 면 뿐이 아니라는 것을 겨냥하였다고 하면서 정말 실용화된 전문가 시스템은 현재 거의 없다는 점이 현재까지 연구의 한계라고 할 수 있다.



5. 웹 기반 전문가 시스템



5.1. 웹 기반 전문가 시스템


5.1.1. Web-based Expert System 이란?

전통적인 전문가시스템은 오프라인에서 혹은 소규모 네트워크의 서버에 접근하여 사용할 수 있었던 애플리케이션이었다. 그러나 웹 기반 전문가시스템은 분산처리환경에서 웹을 이용하여 언제 어디서나 접근 가능한 웹 애플리케이션이라 할 수 있다.

5.1.2. Web-based Expert System을 위한 기반 기술

웹 기반 전문가시스템은 웹 사이트 구축을 기반으로 시스템이 구축된다. 즉, 웹 사이트 구축을 위한 HTML, XML 등의 마크업 언어들과 사용자와의 인터랙션을 위한 CGI, 이를 처리하고 추론하기 위한 스크립트 프로그램 또는 서버에 내장된 별도의 추론엔진 등이 필요하다.

앞서 살펴보았던 표와 같이 추론 엔진의 위치와 형태에 따라 구축을 위한 기술들이 다르다. 먼저 추론엔진이 서버 측에 위치하는 경우 사용자 인터페이스와 추론 결과 등은 HTML이나 XML과 같은 마크업 언어로 브라우저상에 보여지지만 추론 과정과 같은 복잡한 로직은 서버 측에 위치한 php, asp, jsp등의 스크립트 언어들로 만들어진 추론 엔진이나 별도의 추론 엔진을 통해 이루어진다. 이와 달리 추론 엔진이 클라이언트 측에 위치하는 경우는 Java Applet과 같은 클라이언트 사이드 스크립트 언어를 통해 추론엔진들이 구축되어 있으며 프로그램 전체를 전송받아 수행한다.

기존의 웹 기반 전문가시스템의 경우 여러 가지 문제점을 가지고 있다. 우선 서버 사이드의 경우 사용자가 많을 경우 수많은 프로세스들이 동시에 생겨나므로 서버에 엄청난 부하를 야기한다. 클라이언트 사이드의 경우는 시스템의 크기가 커지면 커질수록 네트웍 사용량이 많아지기 때문에 종국적으로는 서버에 과부하를 줄 수 있다.

5.1.3. Hyperlink-based Expert System

기존의 웹 기반 전문가시스템의 문제점을 해결하기 위한 방안으로 하이퍼링크를 기반으로 하는 전문가시스템이 연구되고 있다. 하이퍼링크 기반의 전문가 시스템은 다음과 같은 장점을 가진다.


1. 기존 웹 환경에서 별도의 시스템 없이 구현 가능

2. 오프라인 상에서도 사용가능

3. 서버 및 네트웍의 부하를 최소화

4. 취소 기능의 구현이 용이


그러나 순수 하이퍼링크 기반의 전문가시스템은 규칙을 표현하기 위해 수많은 웹 페이지를 만들어야 한다는 단점이 있다. 이러한 단점을 해결하기 위해서 서버사이드 스크립트언어를 통한 동적인 페이지 생성을 사용하기도 한다.

하이퍼링크 기반의 전문가시스템은 주로 데이터마이닝의 의사결정트리를 이용하여 구축된다. 즉, 어떤 문제에 대한 의사결정트리를 구축하고 이를 바탕으로 하이퍼링크를 구축하는 것이다. 하이퍼링크 기반의 전문가시스템은 다음 그림에서 보이는 바와 같이 의사결정트리와 유사하다. 

하이퍼링크 기반 전문가시스템의 연구는 국내의 송용욱 박사 등의 연구가 대표적이다. 하이퍼링크 기반의 전문가시스템을 구축하기 위한 도구인 WeBIS가 이미 구축되어 있다. 그러나 WeBIS는 의사결정트리까지는 계산해내지는 못한다. 단지 UML 도구들과 유사한 방법으로 노드를 추가하고 연결하여 html 문서를 생성하는데 그치고 있다. WeBIS는 다음과 같은 인터페이스를 제공한다.  


5.2. Semantic Web을 이용한 전문가 시스템


5.2.1. 시맨틱 웹

시맨틱 웹은 1999년 Tim Berners-Lee에 의해 창안된 차세대 웹 기술로서, 컴퓨터가 정보의 의미를 이해할 수 있는 웹을 말한다. 즉, 컴퓨터가 정보의 의미를 이해함으로써 사람과의 협동작업이 훨씬 수월해 질 수 있다는 것을 의미한다. 예를 들어 기존의 월드와이드웹에서의 정보검색은 어떤 키워드를 검색했을 때 그 키워드가 포함되었지만 실제로는 관련이 없는 수많은 문서들을 검색해주게 된다. 그러나 시맨틱 웹에서의 정보검색은 키워드의 유사성과 상관관계 등을 파악하여 검색하려는 정보에 보다 근접한 결과를 보여줄 수 있다.
시맨틱 웹은 정보검색뿐만 아니라 지식관리시스템, 지능형 웹 서비스 및 e-비즈니스 등 여러 분야에서 응용될 수 있다. 이러한 여러 응용분야 중 정보검색과 지식관리시스템을 응용하여 거대한 웹기반 전문가시스템을 구축할 수 있다. 즉, 웹상에 산재해 있는 각 분야의 지식들을 이용하여 지식베이스로 삼고 정보검색기술을 이용하여 원하는 지식을 이끌어낼 수 있는 것이다.


5.2.2. 시맨틱 웹과 전문가 시스템

시맨틱 웹을 이용한 전문가시스템은 웹을 지식베이스로 사용하기 때문에 기존의 전문가시스템처럼 한 분야에서만 사용할 수 있는 시스템이 아니라 수많은 분야에 대해 사용할 수 있다는 장점을 가진다. 또한 지식의 추가 및 수정이 자유로우며 누구나 쉽게 지식을 만들어 낼 수 있다. 그러나 이러한 접근의 용이성은 단점이 될 수도 있다. 즉, 누구나 쉽게 지식을 만들어 웹에 올려놓을 수 있으므로 잘못된 지식이 난립하는 상황이 발생할 우려가 있다.
시맨틱 웹을 이용한 전문가시스템이 구현되기 위해서는 시맨틱 웹의 구현이 우선시 된다. 시맨틱 웹의 구현을 위해서는 그 기반구조인 온톨로지의 생성이 최우선 과제이다. 온톨로지란 분산처리 환경 하에서 재사용가능하고 공유 가능한 개념적인 설명이다. 이러한 온톨로지를 만들기 위해서는 지식표현 마크업 언어를 사용해야 한다. 지식표현을 위한 마크업 언어에는 XML, RDF(s), DAML+OIL, OWL과 같은 것들이 있다. 즉, 이러한 마크업 언어들로 지식을 표현하여 온톨로지를 구축해야한다. 그러나 수동적인 온톨로지 구축은 도메인 전문가의 많은 시간과 노력이 소요되며 높은 신뢰도를 가지지 못하므로 좀 더 기계적이고 정확한 생성과정이 필요하다. 이를 위해 데이터마이닝 기법이나 소프트웨어 공학적 방법등을 사용한 여러 가지 온톨로지 구축 방법이 연구되고 있다.


5.2.3. 시맨틱 웹을 이용한 전문가 시스템의 적용분야

1. 지식 경영 시스템

오늘날 기업의 경영에 있어 지식은 중요한 자산으로 그 가치를 인정받고 있다. 여기에서 지식은 경제, 경영, 공학 등 전문가들의 지식을 포함하여 사원들의 영업, 생산, 구매 등 기업 전 분야에 걸친 지식을 포함한다. 또한 기업의 정보시스템은 점차 웹 기반 시스템으로 변화 발전하고 있어 웹 기술 기반하의 지식 표현 및 추론, 활용을 위한 연구가 다방면에서 진행되고 있다. 시맨틱 웹 기술은 웹 자원들의 관계를 지식표현 언어인 온톨로지를 이용하여 활용하는 것으로서 기업 경영에 필요한 다양한 지식을 축적하고 활용할 수 있는 좋은 대안으로 제시되고 있다.

기존 전통적 전문가 시스템(프로덕션 룰, 사례기반 추론 등)이 가지고 있는 전통적 문제는 지식을 표현할 수 있는 표준이 없다는 것이다. 또한 일정한 형식으로 지식을 표현한다고 해도 논리학에 근거한 다양한 속성(Property)를 표현하는데는 한계를 지니고 있다. 이런 면에서 시맨틱 웹은 논리학과 수학에 근거한 다양한 속성을 표현할 수 있는 온톨로지 언어를 사용하고 있으므로 기존 전문가 시스템의 단점을 극복하고 더 효율적으로 전문가 시스템을 유지하고 활용 할 수 있는 기반을 제공한다.


2. 기업 구매 및 자원 소비 계획에의 활용

기업은 꾸준히 자원을 소비하고 소비한 자원으로 상품을 제작하여 판매한다. 자원은 상품을 수주 받았을 때 얼마만큼 빨리 생산할 수 있는가에 직접적으로 연결되며 이는 곧 기업의 신뢰도에 영향을 미친다. 따라서 여러 가지 기업의 상황을 인식하는 것이 필수적이라고 할 수 있는데 여기서 중요한 것은 기업 자원의 상황을 실시간으로 관리하는 것이다. 따라서 RFID 등의 무선 원격 자원관리를 이용하여 실시간으로 데이터베이스에 저장하고 각 자원들과 구매, 수주, 재고 등의 관계를 온톨로지로 표현하여 구매 및 판매 계획에 관련한 전문가 시스템을 구축하는 것은 기업에 있어 좋은 기회로 작용될 수 있다.


3. 웹 자원을 이용한 지식 추론

웹은 사람의 생각과 마찬가지로 정형적으로 지식을 표현하기 어려운 세계이다. 그러나 웹은 셀 수 없이 많은 자원을 포함하고 있으므로 그 자원의 활용하는 것은 중요한 문제로 제시되고 있다. 이 문제를 해결하기 위하여 2001년 팀 버너스 리는 시맨틱 웹을 제안했는데 시맨틱 웹은 온톨로지의 작성이 어렵고 그 활용의 범위가 너무 넓어 대중적으로 사용되고 있는 예는 보기 드물다. 그러나 전문가 시스템의 발전이 그러했던 것처럼 시맨틱 웹은 점차 특정한 도메인에 특화된 시스템으로 점차 세분화 되고 있으며 이를 통해 시맨틱 웹을 활용하는 사례는 점점 많아지고 있다. 또한 웹 2.0의 대두로 인하여 웹 자원은 xml 기반의 반 정형화된 데이터 포맷을 지니게 되어 지식의 생산 및 가공하는데 효율성을 기할 수 있게 되었다. 따라서 온톨로지와 웹에 널리 퍼져있는 xml 데이터들을 활용하여 기존 웹의 지식을 토대로 새로운 지식을 찾아내는 것이 가능하다.


4. 자동 완성형 웹 서비스

웹 서비스는 WSDL, UDDI, SOAP를 이용한 웹 기반의 서비스 제공 방법을 의미한다.  웹 서비스는 UDDI에 서비스 목록을 저장하고 사용자가 이를 활용하여 자신이 원하는 서비스를 받을 수 있도록 고안되었는데 전 세계에 분산되어있는 서비스를 찾기가 어려운 문제로 인하여 그 활용도는 떨어지고 있다.

이 문제를 해결하기 위하여 온톨로지를 이용한 시맨틱 웹 서비스가 대두되었는데 시맨틱 웹 서비스는 서비스의 프로파일을 온톨로지를 이용해 기술하고 컴퓨터가 서비스 자원을 스스로 판단하여 사용자에게 서비스를 제공하는 방법이다. 예를 들어 어떤 사용자가 가족들과 함께 영화를 보고 식사할 곳을 예약하고자 할 때 시맨틱 웹 서비스는 한명의 에이전트가 되어 가장 가깝고 좋은 영화관을 스스로 찾아 추천 영화 및 시간표를 제시해주고 그 후 사용자가 원하는 식단을 갖춘 식당을 찾아 예약해주는 서비스가 가능하다. 이런 서비스는 일종의 전문가 시스템으로서 사용자에게 판단하기 어려운 문제에 대해 최적의 솔루션을 찾아주는 시스템으로 제시 가능하다.


6. 결론


오랜 역사를 가진 전문가 시스템

전문가 시스템은 1943년 프로덕션 시스템의 제안을 시작으로 출발하였다. 이는 디지털 컴퓨터의 시작과 거의 궤를 같이 하는 것으로서 1970년대 본격적으로 개발이 이루어 졌다. 1970년대에는 모든 지식에 대하여 추론이 가능하다는 가정을 가지고 시작하였는데 이는 곧 실패에 부딪히게 되고 특정한 영역에서 전문가에 준하는 결정을 지원해주는 시스템으로 개발이 이뤄지게 된다. 전문가 시스템은 1980년대 1990년대를 거치면서 인류 사회 전 분야에 걸쳐 활용되는 수준으로 발전하게 되었다.


웹의 등장과 전문가 시스템

2000년대 웹이 등장하면서 전문가 시스템은 점차 웹 기반 시스템으로 변화하게 된다. 그러나 웹 기반 데이터들은 일정한 형식이 없이 분산되어있으므로 1970년대 전문가 시스템의 시작 당시의 문제점을 다시한번 격게 되었다. 그러나 2001년 시맨틱 웹이 제창됨으로서 표준적인 방법으로 웹 자원을 분류하고 컴퓨터가 처리할 수 있는 프레임 워크가 제안되어 연구가 활발히 진행되고 있다. 2001년부터 현재까지는 온톨로지의 제작 방법 및 온톨로지 언어를 중심으로 연구가 진행되어왔으나 OWL이 웹 온톨로지 언어의 표준으로 확고히 자리잡게 되고 sparQL 등의 온톨로지 질의 언어 등의 등장으로 시맨틱 웹을 활용한 전문가 시스템이 점차 개발되는 움직임을 보이고 있다.



티스토리 툴바