전문가 시스템

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

전문가 시스템(專門家 system, experts system)은 생성시스템의 하나로서, 인공지능 기술의 응용분야 중에서 가장 활발하게 응용되고 있는 분야이다. 즉 인간이 특정분야에 대하여 가지고 있는 전문적인 지식을 정리하고 표한하여 컴퓨터에 기억시킴으로써, 일반인도 이 전문지식을 이용할 수 있도록 하는 시스템이다. 의료 진단 시스템, 설계 시스템 등이 있다.

발달[편집]

1990년대 초부터 인공지능에 대한 기대가 조금씩 현실화되기 시작하였다. 특히 지식중심시스템으로 불리는 전문가 시스템 기술은 이미지 처리나 전통적 정보시스템과 같은 여타 기술과 아울러 그것을 이용하고 있는 많은 대기업들에게 주된 컴퓨팅 옵션으로 여겨지게 되었다. C. Holsapple & A. Whinston은 전문가 시스템을 다음과 같이 정의하고 있다.

사용자 인터페이스, 추론엔진, 그리고 저장되어 있는 전문성- 다시 말하면, 하나의 규칙세트, 지식베이스, 또는 전체적인 지식시스템으로 구성되어 있는 하나의 컴퓨터-중심 시스템으로서, 그 목적은 어느 특정 영역에 있어서의 문제점에 대한 조언을 하거나 해결책을 제시하는 데 있다. 조언은

해당 문제영역에 있어서 인간 전문가가 주게 될 조언에 필적한다.

최초의 전문가 시스템은 1956년 Carnegie-Mellon University의 Allen Newell & Hebert Simon이 Rand Corporation의 J.C. Shaw와 공동으로 개발한 Logic Theorist 였다. 또 다른 초기 전문가 시스템으로는 1960년대 중반에 만들어진 DENDRAL이 있었는데, 그것은 하나의 질량분광계가 만들어낸 데이터를 해석하여 분자의 구조를 파악하는 프로그램이었다.

구성요소[편집]

전문가 시스템의 핵심은 시스템을 구축하는 동한 축적되는 강력한 지식 기관이라 할 수 있다. 이 지식들은 명확해야 하고 의사결정을 단순화할 수 있도록 조직되어야 한다. 즉, 지식의 축적과 성문화는 가장 중요한 전문가 시스템의 요소라 할 수 있다. 전문가 시스템으로의 지식의 전이과정을 나타내면 다음과 같다. 전문가 시스템을 구성하는 주요한 구성요소는 다음의 3가지 이다.

  1. 사용자 인터페이스
    전문가 시스템과 사용자와의 간의 접촉면이다. 사용자 인터페이스는 사용자가 문제를 진술하고 시스템과 상호작용을 할 수 있는 수단을 담고 있다. 전통적으로 사용자 인터페이스는 간단한 메뉴, 또는 워크스테이션 상의 스프레트 시트 화면 같은 것이다. 최근 사용자 인터페이스를 위하여 멀티미디어를 활용하는 것이 점점 증가하고 있다.
  2. 추론 엔진
    지식베이스를 검색해서 문제를 해결하는 데 이용되는 추론방법을 담고 있는 소프트웨어이다. 즉 지식 베이스를 이용하여 문제를 해결하기 위한 지식을 포함하고 프로그램을 제어하는 것으로 생성시스템의 인터프리터에 해당된다. 전통적인 시스템과는 달리 전문가 시스템은 추론엔진이 있으므로 불확실성을 다룰 수 있다. 주요 추론방법으로는 전방추론, 후방추론, 이들을 혼합한 혼합형 추론이 있다. 지식 베이스와 추론기관을 분리하는 이유는 지식 베이스는 바뀔 수 있는 동적인 성격, 즉 융통성이 존재하며 추론 기관은 정적인 면을 담고 있다.
  3. 지식베이스
    어떤 특정 애플리케이션에 관련되어 있는 사실들이나 데이터를 담고 있다. 추론엔진은 이 정보를 이용해서 문제를 풀어나간다. 즉 프로그램이 지능적으로 실행될 수 있도록 해주기 위해서는 정보를 지식 베이스에 저장할 필요가 있다. 지식베이스에서 지식을 표현하는 방법으로는 생성규칙(Production Rule), 의미론적 네트워크, 프레임, 블랙보드, 사례중심 추론, 퍼지논리, 신경망 등이 있다. 특히 알고리즘과 휴리스틱 대부분의 전문가 시스템의 규칙은 휴리스틱 하다. 즉, 경험적인 규칙 또는 제한된 조건하에서만 적용할 수 있는 단순화 된 규칙이다. 알고리즘 방법을 통해서는 문제의 뜻에 맞는 정확한 답 또는 최상의 답을 얻을 수 있지만, 휴리스틱방법은 대부분 최상의 답은 아니지만 사용자가 받아들일 수 있는 정도의 답을 제공한다.

전문성[편집]

전문가 시스템에 있어서 전문성의 정도는 그것이 사람에게 제공해 주는 도움의 종류에 따라 다음과 같은 기능으로 나눌 수 있다.

  1. 보조자 수준 : 전문가 시스템을 하나의 보조자로 보는 것으로, 이들은 일상적인 분석 수행을 돕고 전문성이 필요한 작업부분을 지적해준다.
  2. 동료 수준 : 사용자는 문제에 대하여 시스템과 계속해서 "이야기"를 함으로써 마침내 "공동결정"에 이를 수 있도록 돕는다.
  3. 진정한 전문가 수준 : 사용자는 시스템을 진정한 전문가로 보고 사용자는 시스템의 조언을 의심할 여지없이 받아들인다.

유형[편집]

  • 지능형 업무보조
Paul Harmon에 의하면 PC Shell의 도입은 소형시스템 사용자들이 적지만 어려운 문제를 분석하는 데 도움을 주고, 인공지능언어에 의존하지 않고 최종 사용자들이 개발할 수 있게 해준다. Harmon은 이들은 지능형 업무 보조물이라고 부른다. 지능형 업무 보조물은 사람들이 외워야 할 것들을 줄여 주고, 기업에서 훈련이 덜 된 사람들이 작업을 수행할 수 있도록 도와준다.
  • 전문가지원시스템
Luconi는 전문가들에 대한 상호 작용식 보조역할을 하는 시스템을 전문가 지원 시스템이라 명명하고 있다.
  • 내포 연결 전문가 시스템
내포형 지식베이스시스템은 다른 자동화시스템으로부터 정보를 수집할 수 있고 지능형 검색기능을 제공해준다.

전문가 시스템 개발도구[편집]

  • 프로그래밍언어
문제지향언어(PASCAL,FORTRAN)는 과학,수학계산과 상업분야 등에서 응용하기 적합하고 규칙을 바탕으로 한 논리의 처리가 용이하다. 그리고 심볼처리언어(LISP,PROLOG)는 인공지능 분야의 응용에 적합하며 리스트 형태로 나타낸 심볼을 처리하기 적합하다.
  • 지식 공학언어
전문가 시스템에서 지식 베이스를 제거하고, 추론기관과 기타지원부분만 남겨놓은 골격 시스템과 다양한 방법의 자료접근과 제어기능을 제공하는 범용 시스템으로 나눌 수 있다.
  • 전문가 시스템 개발도구의 선택
(1) 도구가 응용분야에 적합하도록 만들어졌는가?
(2) 전문가 시스템 개발자가 이미 익숙해 있는 도구인가?
(3) 개발자가 사용하는 컴퓨터에서 가장 효과적으로 실행되는 도구인가?

전문가 시스템 개발과정[편집]

  • 문제정의단계
주어진 문제의 유형과 범위, 개발작업에 참여할 인력,전문가, 소요될 시간, 컴퓨터 시설 등을 함께 고려한다.
  • 개념설정
정의된 문제를 해결하기 위해 필요한 개념을 정립하고 각 개념 사이의 관계와 제어기능을 정의한다. 이때 문제해결에 필요한 세부작업*전략*제약조건 등도 함께 토의된다.
  • 정형화
중요한 개념과 지식을 정형화하여 표현하다.
  • 구현
표현된 지식을 프로그래밍하는 단계로써 자료구조,추론과정, 프로그램 제어,하부 시스템들의 통합 등을 고려한다.
  • 검증
개발된 시스템이 처음 정의한 요구사항대로 만들어졌는가 평가하는 과정이다.

지식수집 방법[편집]

전문가는 자기가 적용한 지식을 정형화하여 표현하고 설명하는데 많은 어려움을 느끼고 있어서 인터뷰 방법 등을 사용한다.

  • 관찰하는 방법
지식공학자는 문제(사례)만 제시하고, 전문가가 해결하는 것을 관찰한다.
  • 문제 토의 방법
대표적인 문제를 선정하여 이것에 대하여 어떻게 지식을 구성,정리하고 적용하는지 알아낸다.
  • 문제서술방법
전문가가 주요결론에 이르게 되는 문제의 유형(증상)을 설명해 준다.
  • 문제분석방법
전문가가 일련의 문제를 해결하도록 한다.
  • 시스템 정련방법
어느정도 지식이 수집된후에 적용할 수 있는 것으로 전문가 지식공학자에게 문제를 제시하여, 수집된 지식을 이용하여 문제를 해결하도록 해보는 방법이다.
  • 시스템 검증방법
시제품과 전문가가 각각 해결된 사례를, 제3의 전문가에게 제시하여 비평을 요구한다.

애플리케이션의 선택 방법[편집]

전문가 시스템 기술은 어느 때 적합한가? 이 질문에 대한 답으로 이 기술이 최대한 유용성을 나타낼 수 있는 상황을 찾아내기 위한 기준을 제시하면 다음과 같다.

  • 압박을 받고 있는 전문가들을 찾아라.
  • 복잡한 업무를 살펴보라.
  • 중요하지만 간헐적인 의사결정을 다루도록 하라.
  • 생명의 안전이 필요한 영역을 생각하라.
  • 다른 조직의 의사결정에 초점을 두라.