Knowledge  Base

 

생각하는 기계, 그것은 지식을 갖고 있는 컴퓨터이다. 생각하는 것에 지식이 필요함을 안 뒤, 컴퓨터의 기억부분에 인간인 전문가가 갖고 있는 knowhow, 즉 지식을 기억시킨다. 이것이 지식 베이스 (knowledge base) 이다. 전문가의 판단이 필요한 사태가 발생했을 경우에, 이 지식 베이스를 갖고 있는 컴퓨터, 즉 AI 에 물어 보게 되면, 그 해답을 얻게 된다. 이것이 전문가 시스템 (expert system) 이라 하는, 일종의 AI 이다.

이것을 좀 더 상세히 언급하면, 우리말 워드 프로세서를 사용하는 사람은 어려운 한자를 기억하고 있을 필요가 없다. 워드 프로세서가 우리말 사전을 기억하고 있어서, 사용자의 지시에 따라 브라운관에 표시해 주기 때문이다. 그러나 이 표시된 문자가 정확한지를 판단해야 하므로, 인간은 역시 문자를 기억하고는 있어야 한다. 문장을 만드는 일에 능숙하지 못한 사람은 문장 작성에 능숙한 전문가에 인사장이나 주문에 대한 감사문과 같은 문장을 만들어 받아서, 미리 기억시켜 두고, 필요에 따라 이 기억 문장을 불러 내어, 연월일이나 이름 등을 바꾸어 사용할 수가 있다. 타인이 생각하여 만든 문장을 이용할 수가 있으므로, 일종의 전문가 시스템이라 할 수는 있으나, 현재의 컴퓨터는 이 정도까지가 한도이다.

전문가는 여러 가지 경우에 과거 경험한 knowhow 나 연구한 지식을 떠올려서 정확한 답을 추론하여 판단을 내린다. 문제가 발생한 경우에 정확한 판단을 내린다는 것은 문제로부터 얻어진 사실, 즉 테이타를 바탕으로 하여, 인간의 지식 베이스에 있는 정보를 이용하여 추론을 행하고, 정확한 답을 내고 있음에 주목해야 하겠다.  현재의 컴퓨터에는 팽대한 정보를 기억시킬 수가 있고, 이 기억 정보는 필요에 따라 실시간으로 불러 낼 수도 있게 되어 있다. 따라서 전문가가 갖고 있는 지식을 어떻게 기억시켜 둘 것인가라는 지식 베이스 속에 지식의 기술방법과, 이것을 어떻게 이용할 것인가라는 지식의 추론기구가 되어 있으면, 전문가가 생각하여 판단하는 기능을 대행하는 "생각하는 기계", 즉 전문가 시스템이 실현된다.

전문가가 갖고 있는 전문지식을 이용하고자 하는 시도로 맨처음 성공한 것은 미국의 스탠포드대학에 있는 E. A. Feigenbaum 교수에 의해서였다. 그가 DENDRAL이라는 것에 화학 분자식과 질량 스펙트럼을 입력시키면, 그 물질의 가장 가능성이 높은 화학구조식을 추정하여 출력하는 컴퓨터 프로그램을 만든 것은 1971년이었다. 이에 자극되어 1976년경부터 의료진단 시스템을 중심으로, 현재에 이르기까지, 여러 가지 전문가 시스템이 개발되었다. 의료진단은 의사라는 전문가의 과거 경험, 직감, 지식 등이 필요하다는 의미에서, 전문가 시스템을 이용하기에는 최적이다. 이 분야 최초의 것은 전술의 파이겐바움 교수팀이 개발한 MYCIN이다. 이것은 혈액 감염증과 수막염의 치료에 한정된 시스템이나, AI가 병의 진단에 이용한 최초의 케이스이다. MYCIN은 의사가 환자를 진찰하여, 그 결과와 검사 결과의 세균명 등을 입력시키면 진단 결과, 즉 병명을 결정하여 어떤 항생물질을 얼마 정도 복용시키면 좋을지 등과 같은 치료법을 나타내어준다.

MYCIN의 성공은 전문가 시스템의 개발에 박차를 가하게 했다. 미국 지질연구소와 스탠포드연구소(SRI)가 공동으로 광물자원 탐사를 위한 전문가 시스템 PROSPECTOR를 개발했다. 이 개발 도중에서, 1982년에 재빨리 워싱턴주에서 모리브덴 광맥을 찾아 내는 성과로 인하여, 전문가 시스템은 점점 세인의 주목을 끌게 되었다.

전문가 시스템은 복수개의 원인으로 생긴 문제의 원인 분석과, 그 해결안의 작성에 대해서는 인간인 전문가 이상의 효과를 발휘한다. 이 점에 주목한 일본의 증권회사는 주식의 예측시스템 구축을 계획하고 있다. 상장사가 괘선(증권 시세의 변동을 모눈종이에 나타낸 도표)분석으로 주식의 예측을 하는 것은 잘 알려져 있으나, 상장사의 knowhow 를 지식 베이스화하여, 「8할 정도의 정확도로 예측 가능한 시스템이 된다면, 이 증권회사의 수익은 급상승한다」고 한다. 경영, 관리는 가장 경험과 직감을 요하는 분야이며, 전문가 시스템 도입이 크게 업적을 좌우하게 할 것이다. 지금까지 컴퓨터를 사용하여 OA시스템의 구축에 성공하고 있는 기업일수록 AI 을 사용한 OA를 지향하고 있는 것이 세계적인 추세이다. 

(a) 지식 베이스 시스템의 기본 구성

이들 시스템에 공통적인 것은 지식 베이스와 추론기구를 갖추고 있는 것으로, 문제해결 시스템이라고도 한다.   추론기구는 추론 엔진(Inference Engine)으로 불리며, 이것이 지식 베이스(Knowledge Base)가 기억하고 있는 지식을 이용하여 추론한다. IE와 KB는 지식 베이스 관리 시스템(Knowledge-Based Maintenance System)의 관리하에 있게 되고, 전문가의 지식이 지식 획득 기구(Knowledge Acquisition Mechanism)를 거쳐서 지식 베이스에 기억된다. 로봇의 문제 해결 시스템의 경우도 문제의 정보가 이러한 지식 획득 기구를 통하여 지식 베이스에 주어진다.

[지식 베이스 시스템의 기본 기능]

이에는 다음과 같은 기본 기능이 요구된다.

  (1) 지식의 표현과 축적, 관리
  (2) 지식의 이용 및 그 지원
  (3) 지식의 획득 및 그 지원

종래의 데이터 베이스가 대상으로 하는 데이터는 비교적 낮은 레벨의 정보였으나, 지식 베이스 시스템의 취급 지식은 [구조화된 데이터군을 단위로 하는 데이터]이며, 대상 세계를 기술하는 능력이 높을 것을 요구한다. 그러나 그 구조가 복잡하고 이해하기 어려우면 취급상 어려운 시스템이 되어 버린다. 따라서 상기 (1)의 지식 표현법에 요구되는 것은

  (1 . 1) 표현 능력이 높을 것
  (1 . 2) 지식이 쓰기 쉬울 것
  (1 . 3) 이해하기 쉬운 표현일 것

이다. 또, 지식 베이스 시스템이 실용에 공급될 때에는 다종다량의 지식을 효율 좋게 취급할 필요가 있게 된다. 즉,
 
  (1 . 4) 대량의 지식의 효율적인 축적
  (1 . 5) 대량의 지식의 고속 탐색, 갱신

이 요구된다. 이와 같은 기능에 관하여는 종래형의 데이터 베이스 시스템의 힘을 빌리는 방식도 생각되고 있다.
한편, 상기 (2)에 관해서는

  (2 . 1) 추론 기능
  (2 . 2) 유연한 지식 조작 기능
  (2 . 3) 고도의 맨-머신 인터페이스 기능

이 요구된다. 이들 중에서도 추론 기능은 중심적인 기능이다. 또 지식 베이스 시스템의 이용자는 맨-머신 인터페이스를 중개로 하여 지식조작을 하거나 추론의 결과를 이용한다. 그를 위해 (2 . 2)와 (2 . 3)이 필요하다.
  또, 지식 베이스 시스템을 실용에 쓰기 위해서는 전문가의 지식을 지식베이스에 축적시킬 필요가 있으나, 이것은 현 상태로는 지식공학자가 전문가로부터 지식을 채취하여, 지식 기술을 하는 수가 많다. 이 지식 기술은 지식 획득기구에 의해, 지식공학자를 중개로 하지 않고 전문가로부터 직접 수행되는 것이 바람직하다. 지식 획득 기구에 요구되는 기능으로서는

  (3 . 1) 모순되는 또는 틀린 지식의 검출, 제거
  (3 . 2) 부족되어 있는 지식의 검출, 요구
  (3 . 3) 애매모호한 지식의 검출
  (3 . 4) 주어진 지식 또는 보유 지식으로부터 필요한 지식을 추출하고, 획득하는 능력

이 있다. (3 . 1) - (3 . 3)은 지식의 일관성이란 입장에서 지식의 부가, 변경 시, 요구되는 기본 기능이다. 일관성이 없는 지식베이스는 유지의 불신을 초래하게 되고, 존재의 의의를 잃어 버리게 될 것이다.

 [지식 베이스 시스템의 기본 구조]

지식베이스 시스템의 핵은 지식베이스와 추론 엔진이다. 또, 이것 이외에 유저 인터페이스, 전문가로부터의 지식획득기구, 지식베이스 조작 및 관리는 위한 KBMS 등이 지식베이스 시스템에 붙어져 있다. 구체적인 구조는 시스템에 따라 다르다. Long Term Memory  에는 rule 이 들어 있고, Short Term Memory 에는 현재의 상황이 들어 있다. 인터프리터는 현재의 상황을 보고서 필요한 rule 을 작동시킨다. rule 에디터는 rule 의 획득, 경신을 수행한다.

   (b) 지식베이스의 기술 방법에 의한 분류

지식베이스에 지식을 기술시키는 구조에 따라 문제 해결 시스템은 rule 형, 하이브리드 형, blackboard 시스템으로 대별 된다.

rule 형 시스템(rule-based system)은 지식을 "만약 ∼이라면 ∼라 한다"와 같은 IF-THEN형의 rule (규칙)로 기술하는 시스템이다. 이것은 "흐리고 습도가 100% 이상이라면, X시간 이내에 비가 올 확율은 △△%이다."와 같이, 경험적인 지식을 기술해 간다. 이것은 유저의 입장에서도 이해하기 쉽고, 직감적으로 알기 쉬우며, 흩어져 있는 지식도 표현 가능하여 유연성이 있으나, 개개의 rule 간의 무순서성을 첵크하기 어렵거나, 새로운 rule 을 부가시킨 경우에 타의 rule 에 어떠한 영향이 있게 될지를 알 수가 없는 등의 난점이 있다. 이와같은 rule 형으로 지식(rule-based knowledge)을 기술한 전문가 시스템을 프러덕션 시스템이라 부른다.

하이브리드형 시스템은 rule 형의 지식과, 5-9절에서 서술한 프레임형의 지식 표현을 조합시켜서, 양쪽이 상호 참조해 가면서 문제해결을 하기 위한 지식을 제공한다. 이것은 rule 형에 비해 지식의 표현이 유연하고 깊어지나, 미리 지식의 분석이 필요하게 된다.

이보다도 한걸음 앞선, 장래 어떤 지식표현 방법이 등장되더라도, 그 기술을 할 수 있도록 한 것이 blackboard 시스템이다. 한 사람의 전문가로 해결 불가능한 복잡한 문제를 해결할 경우에, 중앙에 흑판을 두고서 아이디어를 내어가면서 부분적으로 문제를 해결해 가면서 논의를 진행시켜 가는 것과 같은 개념을 컴퓨터속에 실현시킨 것이다.  중앙에 흑판이라는 공통의 데이터 영역이 있어서, 복수개의 지식원이 흑판과 서로 작용해 가면서 문제를 해결해 간다. 가령, 어떤 지식원(이것은 전문가 A에 상당함)으로부터 문제의 중간 해답이 나왔다고 하자. 이것이 흑판에 기억되고 별도의 B라는 지식원이 작동되어, 이 중간해답을 다시 문제해결의 방향으로 끌어간다. 각 지식원은 rule 형의 기술, 혹은 프레임형의 기술, 어느쪽이라도 상관은 없다.

   (c) 해결하는 문제에 의한 분류

전문가시스템을 전술의 3가지 시스템명으로 부르는 경우가 있다. 예를 들면 blackboard 시스템 혹은 rule 형 시스템 등이다. 프러덕션 시스템, 프레임 시스템과 같은 이름도 쓰인다. 프레임 시스템은 지식표현에 프레임을 이용한 전문가 시스템을 말한다. 이외에 문제해결 시스템으로서, 의사결정 시스템, 계획 및 예측 시스템, 설계 시스템, 컨설테이션 시스템, 진단, 감시, 수리 시스템, 교육 시스템, 제어 시스템 등과 같은 응용면에서의 분류도 있다.