2. 지식표현 - Rise Group

Download Report

Transcript 2. 지식표현 - Rise Group

2. 지식표현
• 실세계의 문제를 컴퓨터를 사용하여 지
능적으로 해결하기 위해서는 많은 양의
지식을 필요로 한다.
• 이러한 지식을 어떻게 효율적으로 표현
하고 활용할 것인가 하는 것은 인공지능
에서 다루는 중요한 연구분야중의 하나
이다.
1
2.1 형식적 지식표현의 필요성
• 컴퓨터가 지식을 이용하기 위해서는 필요한 지식
이 컴퓨터가 효율적으로 이해할 수 있는 형식언어
(Formal Language)로 기술되어야 한다.
• 지식을 컴퓨터에 표현하는데 사용되는 형식언어를
지식표현언어(Knowledge Representation
Language)라고 한다.
• 좋은 지식표현언어는 지식베이스의 구축을 용이하게 하지
만 부적절한 지식표현 언어를 사용하는 경우에는 지식베이
스의 구축을 어렵게 한다.
2
2.1.1 지식표현 방식
• 논리적 지식표현 방식
– 예) 명제논리, 술어논리, Temporal Logic, Modal Logic등
• 절차적 지식표현 방식
• 망을 이용한 지식표현 방식
– 예) 의미망(Semantic Network)
• 구조적 지식표현 방식
– 예) 프레임, 객체(Object)
3
2.1.2 지식표현시 고려 사항
• 어떤 객체와 관계를 어떻게 정확히 표현할 것
인지?
–
예) 술어논리 표현에서 has-color (car1, red) 일 때 car2 가 더 붉다(red) 는 것을 어떻게 표현
할 것인가?
• 메타지식은 어떻게 표현할 것인가?
–
예) A는 B가 C를 한국인이라고 알고 있는 것을 믿는다.
• 지식베이스 내에서 클래스의 계층구조를 어떻
게 만들 것인가?
–
예) 모든 새는 날 수 있다. 팽귄은 새다. 그러면 팽귄은 날 수 있나?
• 기본 값과 예외는 어떻게 표현할 것인가?
–
예) 모든 새는 날 수 있다. 팽귄처럼 예외인 경우만 특수 표시를 하는 것이 효율적임.
4
2.2 지식표현 기법
•
•
•
•
•
•
•
•
논리
프레임
의미망
개념그래프
삼차원 개념그래프
스크립트
규칙
다중 지식표현
5
2.2.1 논리
• 명제논리
– 참이나 거짓중의 하나를 값으로 갖을 수 있는 명제문장을 기반으로
추론을 수행할 수 있도록 하는 형식적 논리 체계이다
• 술어논리
– 변수를 사용할 수 있다.
– 한정자(Quantifier)를 사용할 수 있다.
• 논리에 대한 자세한 사항은 4장
6
2.2.2 프레임
• 각 프레임은 (Slot, Filler)쌍으로 구성되
어 있다.
7
프레임의 상속관계
8
2.2.3 의미망
9
의미망(Semantic Network)
• 의미망은 노드와 노드간의 관계를 잘 표현할 수 있
고 지식이 어떻게 조직 되어 있는지를 그래프 형태
로 보여주어 사람이 쉽게 알아 볼 수 있다.
• 하지만 각 노드나 관계가 무엇을 의미하는지 명확
히 밝힐 수 있는 의미체계(Semantics)가 부족하다.
10
2.2.4 개념그래프
• 각 노드나 관계가 무엇을 의미하는지 명확히 밝힐
수 있는 의미체계(Semantics)가 잘 갖추어진
일종의 의미망.
• 노드들이 아크로 연결된 유한 이분 그래프.
11
두 가지 형태의 노드
• 개념노드(Concept Node)
– 개념노드는 그래프 상에서 사각형으로 표시된다.
• 관계노드(Relation Node)
– 관계노드는 그래프 상에서 원으로 표시된다.
12
개념그래프의 3가지 표현형태
• Display Form (DF)
• Linear Form (LF)
• Conceptual Graph Interchange Format
(CGIF)
13
Display Form (DF)
14
LF와 CGIF 표현
• [Go](Agnt)->[Person: John]
(Dest)->[City: Boston]
(Inst)->[Bus].
선형표현은 사람이 읽기 쉽고 타이핑하기 쉽도록 설계되었다.
• (Agnt [Go] [Person: John])
(Dest [Go] [City: Boston]) (Inst [Go] [Bus])
CGIF 표기법은 시스템간에 정보교환을 쉽게 할 수 있는 표현이다.
15
개념노드(Concept Node)
• 추상적 또는 사실적 실체(속성, 상태, 사건, 실체
등)를 나타냄.
• 하나의 개념노드는 콜론':'에 의하여 개념노드의
유형(Type)을 나타내는 유형지대와 그 노드에 제
약을 가하는 정보가 있는 참고지대로 나 뉜다.
예)  [PERSON:John]
16
개념노드의 보기
개념노드
[PERSON]
[PERSON :
[PERSON :
[PERSON :
[PERSON :
[PERSON :
[PERSON :
[PERSON :
#123]
John]
@1]
Tom, John]
*]
?]
#]
의
미
사람
사람 #123(특정 개인)
John이라는 이름의 사람
한 사람
Tom과 John이라는 사람
사람들
어느 사람
그 사람
17
관계노드(Relation Node)
• 관계노드에는 참고지대(Referent Field)가 없고 유형
지대(Type Field)만 있다.
• 대부분의 관계노드는 두개의 개념노드 간의 관계를
정의하는 이원(Binary)관계를 나타내지만 때로는 일
원(Unary) 또는 다원의 관계를 나타내기도 한다.
18
* 다음 개념그래프는 '철수가 그 공을 찼다.'를 나타냄.
(PAST)→[[PERSON : 철수]←(AGNT)←[차다]→(OBJ)→[공 : #]]
* 각 관계노드들은 화살표를 이용하여 관련된 개념노드에
연결되는데 화살표 방향에 따라 같은 개념노드와 관계노드가
있는 그래프라도 서로 다른 의미를 갖는다.
(가) [HIT]→(OBJ)→[BALL : #]
(나) [HIT]←(OBJ)←[BALL : #]
그래프 (가)는 [HIT]의 object가 [Ball : #]이라는 의미이고
그래프 (나)는 [BALL : #]의 object가 [HIT]라는 표현이다.
19
2.2.5 삼차원 개념그래프
• 정의 2.2 삼차원 개념그래프: 삼차원 개
념그래프는 개념(Concept)을 표현하는 개념스택
(Concept Stack)과 개념스택 간의 관계(Relation)
를 표현하는 관계노드(Relation Node)들이 아크
로 연결된 유한 이분 그래프이다.
• 정의 2.1 개념스택: 개념스택은 복수개의 개
념을 한 곳에 표현 할 수 있는 삼차원 개념그래프
상의 노드이다.
20
삼차원
CHAR
개념그래프
FOR
지식표현
[그림 2.7] 하나의 개념그래프
개념그래프
FOR
지식표현
삼차원
[그림 2.8] 하나의 삼차원 개념그래프
21
2.2.6 스크립트
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
스크립트 이름: 식당
종류(Track): 대중식당
관련된 사람(Roles): 손님, 웨이터, 주인
관련된 물건(Props): 계산대, 음식, 메뉴, 돈
전제조건(Entry Condition):
- 손님은 배가 고프다.
- 손님은 돈이 있다.
장면 1(Scene 1): 들어오기.
- 손님이 식당에 들어 온다.
- 빈자리에 앉는다.
장면 2(Scene 2): 주문하기.
- 메뉴를 본다.
- 웨이터에게 음식을 주문한다.
장면 3(Scene 3): 먹기.
- 웨이터가 음식을 손님의 자리로 가져온다.
- 음식을 먹는다.
장면 4(Scene 4): 나가기.
- 주인에게 음식값을 지불한다.
•
•
•
•
- 식당을 나간다.
결과(Results):
- 손님은 배가 고프지 않다.
- 손님의 돈이 줄었다.
22
2.2.7 규칙
• 규칙(Production Rule)은 조건과 행동을 IF-THEN 형
태로 구성하여 지식을 표현한다.
예)
IF 신호등이 빨강색이면 THEN 멈춘다.
23
규칙간에 충돌(Conflict)
• - IF 새이면 THEN 날 수 있다.
• - IF 팽귄이면 THEN 새이다.
• - IF 팽귄이면 THEN 날 수 없다.
24
- 하나의 규칙에 여러 개의 조건과 여러 개의 행동이 있을 수
있으며 조건들은 AND나 OR로 묶을 수 있다.
-
IF 월급이 100만원 이상이다.
OR 저금이 1,000만원 이상 있다.
THEN 신용카드를 발급해준다.
AND 은행 구좌를 열 수 있다.
25
2.2.8 다중 지식표현
• 여러 가지 지식표현 기법을 동시에 사용
함.
• 지식 표현의 단일성은 떨어지더라도 각기법의 장
점을 살려 지식베이스의 부분 부분을 구성하여 합
하면 보다 나은 지식베이스를 만들 수 있다.
» 예) 규칙과 프레임
26