지식표현 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
37번째 줄: 37번째 줄:
 
===규칙===
 
===규칙===
 
규칙은 결정이나 결론이 요구되는 영역에 유용하며, 규칙기반 시스템에서 사실집합과 규칙집합으로 구분되어 규칙의 가정 부분이 사실 집합의 일부와 부합될 때 규칙의 결론 부분이 실행된다.<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>
 
규칙은 결정이나 결론이 요구되는 영역에 유용하며, 규칙기반 시스템에서 사실집합과 규칙집합으로 구분되어 규칙의 가정 부분이 사실 집합의 일부와 부합될 때 규칙의 결론 부분이 실행된다.<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>
 +
 +
===사례===
 +
사례기반 시스템은 과거의 과거의 경험 사례를 그대로 기억함으로써 지식을 표현하는 방법이다. 과거의 문제를 해결하는데 사용했던 해를 변형하여 새로운 문제를 해결하는 것이 규칙을 정의하는 것 보다 사람에게는 쉽다는 사실에 기반한다. 과거의 사례를 저장하고 비슷한 케이스를 회상하여 변경하여 문제를 해결하기 때문에 사례기반 추론(case-based reasoning, CBR)이라고도 한다. 또한 사례를 계속 축적함으로써 경험에 의한 학습 효과가 있어서, 사례기반 학습의 변형으로도 볼 수 있다. 학습 관점에서는 머신러닝 알고리듬 중 k-최근법분류기(k-nearest neighbor classifier)과 유사하다. 그러나 k 최근법분류기가 주로 수치화된 변수벡터로 사례를 기술하는데 반해서 사례기반 추론은 상당히 표현력이 뛰어난 기호 기반의 사례 표현 방식을 취한다. 사례기반 추론은 다음의 4R 과정을 통해서 문제를 해결하고 학습한다.
 +
 +
* 검색(retrieve): 유사한 사례를 찾는다. 과거 사례와 현재 사례의 기술에 대한 유사도 측정을 사용한다
 +
* 재사용(reuse): 현재 사례를 해결에 과거 사례를 사용한다. 과거의 지식을 현재의 문제에 적응시킨다.
 +
* 수정(revise): 해를 생성한다. 그리고 새로운 실제 상황에서 해를 평가한다.
 +
* 유지(retain): 올바른 해를 저장한다. 미래의 재사용을 위해서 사례를 학습한다.
 +
 +
사례를 표현하기 위해서는 어떤 측면을 문제와 해로 기술할 지를 결정하여야 한다. 보통은 1) 특징-값의 리스트(특징벡터기반 시스템) 2) 객체지향 표현(프레임기반 시스템) 3) 그래프 표현(네트워크기반 시스템) 등의 방법들이 사용된다. 즉, 사례기반 추론은 다루는 도메인과 과제의 특성에 따라서 표현방법을 유연하게 선택한다. 앞에서 다룬 다른 지식표현 방법론들이 개발해 온 다양한 방식을 수용한다. 사례기반 추론은 과거의 사례를 재사용하기 위해서 새로 작성, 기존것 변형, 해의 유도의 방식을 사용한다.
 +
 +
* 작성(composition): 여러 해를 결합하여 최상의 해를 만든다.
 +
* 변환(transformation): 과거 사례의 해를 변형하여 사용한다.
 +
* 유도(derivation): 해를 도출하는 과정을 적용한다.
 +
 +
사례기반 추론의 장점은 유지가 쉽고 사용함에 따라서 향상되고(학습), 일반 지식과 학습된 지식을 결합이 용이하며, 사용된 지식이 이해가 쉽다는 점이다. 지식 표현 관점에서 고려할 사항들은 1) 무엇을 저장할지를 결정해야 하고, 2) 구조를 선택하고, 3) 기억을 조직화하는 방법, 4) 일반적인 지식 등이다. 사례기반 추론 방법은 안내 데스크나 진단 문제와 과거의 유사한 상황을 고려하는 의사 결정 문제 등에 잘 활용될 수 있다.
  
 
{{각주}}
 
{{각주}}

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)