제9장 전문가시스템 (Expert System) 인공지능시스템 (Artificial Intelligent) 제9장 전문가시스템 (Expert System) Slide 1 (of 12)
전문가 시스템이란? 정의 전문가와 같은 지적능력을 갖는 소프트웨어 체계 지식기반 시스템(Knowledge-based system)과 동일한 시스템을 의미 전문가의 지식을 컴퓨터 입력하여 전문가를 찾아가지 않더라도 쉽고 저렴한 가격으로 원하는 서비스를 받을 수 있도록 하기위한 시스템 지식공학(knowledge engineering) 전문가 시스템 구축과정(어떤 지식을 갖느냐가 중요) 전문가 시스템의 문제 풀이 능력 제공 지식공학자(knowledge engineer) 주어진 분야에 정통한 전문가로부터 유용한 지식, 문제해결전략, 규칙 등을 도출해 내어 이것을 체계적으로 표현하여 최종적으로 시스템 구축하는 일을 하는 사람 현장전문가 지식공학자 전문가시스템 질의, 문제제시 해답, 해결방법 문제해결 규칙도출 지식베이스 구축 Slide 2 (of 12)
전문가 시스템의 기능 - 기능은 분석적인 것과 종합적인 것 및 기타(예측, 처방, 치료 등)로 분류된다. 기능 설명 제어 주어진 시스템의 행동을 통제하는 역할, 미래예측 or 판단 설계 주어진 제약 조건내에서 가능한 설계를 구상 진단 관찰 가능한 정보로 부터 시스템의 고장을 추론 교육 주어진 주제에 관해 학생들을 교육시킨. 진단, 디버깅을 통한 교육 해석 센서, 도구, 테스크결과 등으로 부터 어떤 상황을 도출 모니터링 기대되는 결과와 관찰 결과를 비교하는 시스템 계획 문제의 제약 조건내에서 주어진 목표를 달성하기 위한 계획 구상 예측 주어진 상황으로부터 발생가능 결과를 추론해내는 시스템 서술 주어진 시스템의 결함에 대한 해결책을 설명하는 시스템 선택 가능한 여러 리스트로 부터 가장 좋은 것을 인식하여 선택하는 것 시뮬레이션 여러조건하에서 동작가능 문제들을 연구하기 위해 시스템을 모델화하는 것 - 기능은 분석적인 것과 종합적인 것 및 기타(예측, 처방, 치료 등)로 분류된다. Slide 3 (of 12)
전문가 시스템의 기본구조 추론 엔진 전문가 특정문제에 관한 지식을 가진 사람으로써, 시스템입장에서는 도메인 지식으로 해석된다. 장기메모리(long-term memory:LTM)에 도메인 지식을 저장하고, 다른 사람의 조언 등을 단기메모리(short-term memory:STM)에 저장하여, LTM과 STM을 비교함으로써 문제에 대해 추론하게 된다. 전문가 시스템의 기본구조 추론 엔진 해석 인터페이스 지식 베이스(fact, rule) 사용자 인터페이스 지식획득 모듈 작업 메모리 user Slide 4 (of 12)
전문가 시스템의 용어설명(1) 지식베이스(knowledge-base) 작업메모리(working memory) 전문가의 지식을 말하며 LTM에 해당됨 사실(fact)와 규칙(rule)의 형태로 저장되어 있음 IT-THEN 형태의 규칙으로 구성되어 있음 작업메모리(working memory) 처리과정동안 발견된 문제에 관한 사실들을 모아놓은 곳(STM) 문제에 관해 사용자에 의해 제공된 정보 또는 시스템에서 추론된 정보들을 포함한다. 이러한 과정중 얻어진 지식을 context(문맥)이라 한다. 추론엔진(inference engine) 작업메모리에 포함된 사실과 지식베이스에 저장된 도메인 지식을 비교하여 일치여부를 확인한 뒤 문제에 대한 해결책을 찾으려는 하나의 프로세서 작업메모리에 있는 정보와 규칙의 조건부를 확인함으로써 해당되는 규칙을 찾아낸다. 추론엔진에서 일치되는 규칙을 찾으면 그 규칙의 결론부를 작업메모리에 첨부시키고, 아니면 다른 추론방법 적용한다. Slide 5 (of 12)
전문가 시스템의 용어설명(2) 사용자 인터페이스(user interface) 사용자의 자연어를 컴퓨터가 이해할 수 있도록 변환해 주는 기능 컴퓨터의 실행결과를 사용자가 이해할 수 있는 자연어로 변환시켜주는 기능 해석 인터페이스(explanary interface) 사용자가 원하는 언어로 변환시켜 주기위해 필요한 모듈 지식획득 모듈(knowledge acquisition module) 문제해결을 위해 필요한 지식을 학습이나 추론방법을 통해 새로이 획득하는 기능을 갖는 모듈 전문가 시스템 개발도구: tool, shell 전문가 시스템에서의 대부분의 규칙은 휴리스틱하다. 즉, 경험적 규칙 또는 제한된 조건하에서만 적용할 수 있는 단순화된 규칙 휴리스틱은 정확하거나 최상의 답을 얻는 것이 아니라 사용자가 받을 수 있는 정도의 답을 제공한다. 즉, 실용적인 답. 사실과 규칙이 항상 참 또는 거짓이 아니라 확신정도를 나타내기도 한다. (예) 비행기 납치예방하기위해 납치범의 접근을 막는 방법은? (알) 모든 사람의 짐을 검사한다.(시간장비, 비효율적) (휴) 금속탐지기 결과 금속소지자에 한해서 검사한다.(최상은 아니나 효율적) Slide 6 (of 12)
자료처리 프로그램과 지식처리 전문가 시스템의 비교 자료처리 프로그램과 지식처리 전문가 시스템의 비교 자료처리 프로그램 지식처리 전문가 시스템 자료의 표현과 이용 알고리즘에 의한 문제해결 반복적 처리 다량의 자료를 효율적으로 처리 숫자처리(numeric processing) 데이터 + 알고리즘에 의한 절차처리 전통적 프로그래밍 기법 절차적 언어 사용 프로그래머에 의해 유지관리 지식의 표현과 이용 휴리스틱(heuristic)에 의한 문제해결방법 추론적 처리 다량의 지식베이스를 효율적으로 처리 심볼처리(symbol processing): LISP, PROLOG 지식베이스 + 추론엔진에 의한 지식중심 진보된 개념의 한 프로그래밍 기법 객체지향 프로그래밍 언어 사용 지식공학자에 의해 유지관리 - 전문가 시스템의 특징: 전문성, 지식기반, 합리화, 지식 및 문제해결과정과 해결내용 해결에 대한 근거와 정당성 Slide 7 (of 12)
전문가 시스템의 활용분야 - 대표적인 전문가 시스템의 발전과정 유기화학 분자구조 의료진단 시스템 광맥발견 시스템 내과진단 수학문제 해결 음성이해 장비구성 시스템 1965 1970 1975 1980 1985 DENDRAL SAINT HEARSAY-I SIN MYCIN CADUCEST HEARSAY-II PSG META- CASNET DENDRAL MATHLAB EMYCIN PROSPECTOR OPS TEIRESIAS MACSYMA OPS4 PUFF OPS5 KAS ROSIE EXPERT HEARSAY-III Slide 8 (of 12)
전문가 시스템 개발을 위한 지식공학언어 개발도구 형식 특징 구현언어 개발자 EMYCIN 특수목적 시스템 규칙중심, 후향추론, 확신도 이용 설명기능, 지식습득 INTER LISP 스탠포드 대학 EXPERT 규칙중심, 전진추론, 확신도 이용 설명기능, 일관성 조사 FORTRAN 루트거스 대학 OPS5 범용시스템 규칙중심, 전진추론, 융통성 있는 제어방식 및 표현방식 채택 FRANZ LISP 카네기-멜론 대학 ROSIE 규칙중심, 전짖추론, 절차지향언어, 영어식 구문 랜드회사 Slide 9 (of 12)
전문가 시스템 도구에 의해 제공되는 표현기법과 프로그래밍 방법 전문가 시스템 도구에 의해 제공되는 표현기법과 프로그래밍 방법 표현기법 기법설명 프로그래밍언어 규칙 중심 전진추론이나 후진추론 수행을 위해 IT-THEN 규칙을 사용 EMYCIN 프레임 중심 절차적 부착과 상속을 위해 프레임 계층 구조를 사용 SRL 절차 중심 프로그래밍 수행을 조직화하고 제어하기위해 네스티드 서브루틴을 사용 LISP 객체 중심 메시지를 통해 다른것과 통신하기 위해 객체라는 원소를 사용 SMALL-TALK 논리 중심 프로그램 지침 수행을 구성하는 계산방법의 예측에 사용 PROLOG 접근 중심 데이터가 변동되거나 판독될 때 새로운 방법을 개시하는 탐사방법을 사용 LOOPS Slide 10 (of 12)
전문가 시스템 개발단계 보완개선작업 - 한꺼번에 완전한 시스템을 만드는 것은 거의 불가능 하므로 처음에는 기본적인 요구 사항 개념 구조 규칙 개발목적과 문제의 특성 기본개념의 정의 및 해법 지식수집 및 지식표현 프로그래밍 요구사항 만족여부평가 문제의 정의 개념설명 정형화 구현 검증 - 한꺼번에 완전한 시스템을 만드는 것은 거의 불가능 하므로 처음에는 기본적인 기능을 수행하는 시스템을 만들어보고, 점차적으로 시스템의 구성과 지식표현을 조직적으로 향상시켜 가면서 점진적으로 개선해 나가는 방법이 효과적이다. - 위의 단계들이 독립적으로 수행도 되지만 대부분 다른단계와 중복되어 진행되기도 한다. Slide 11 (of 12)
영역 전문가로 부터 지식 추출 방법 지식 추출 특징 방법 즉시관찰 일하는 중에 실제 문제들을 해결하는 전문가를 주목 문제토의 특수한 문제해결에 필요한 절차, 지식, 데이터의 종류를 조사 문제서술 어떤 영역에서 각 범주에 관한 해답을 위해 표준형 문제를 제시하는 전문가를 채용 문제분석 이론적 설명을 위한 탐사를 해결하기 위해 일련의 실제적인 문제를 가진 전문가를 소개 시스템 정의 면담을 통해 얻을 가치를 사용하여 해결한 일련의 문제를 제공해 줄 수 있는 전문가를 채용 시스템 관찰 표준형 시스템 규칙과 제어구조를 검토하고 비판할 수 있는 전문가를 채용 시스템 타당성 다른 영역의 전문야 관한 표준형 시스템과 전문가에 의해 해결된 소송을 소개 Slide 12 (of 12)