지식 표현
더 많은 작업
지식 표현(Knowledge Representation)은 사람이 가진 지식을 컴퓨터가 저장하고 추론에 쓸 수 있도록 일정한 형식으로 기술하는 방법이다.
전문가 시스템이나 지식 관리 시스템이 지식을 활용하려면 지식을 기계가 다룰 수 있는 구조로 옮겨야 한다. 이때 쓰는 형식이 지식 표현이며, 같은 지식이라도 어떤 형식으로 표현하느냐에 따라 추론의 효율, 지식의 수정 용이성, 사람이 읽기 쉬운 정도가 달라진다. 대표적인 방법은 논리, 규칙(생성 규칙), 의미망, 프레임이고, 여기에 스크립트와 온톨로지가 더해진다.
지식 표현은 기호 기반 인공지능의 핵심 기술이다. 좋은 지식 표현은 다음 성질을 갖춰야 한다.
- 표현의 적절성(Representational Adequacy) — 필요한 지식을 모두 나타낼 수 있다.
- 추론의 적절성(Inferential Adequacy) — 표현된 지식에서 새 지식을 끌어낼 수 있다.
- 추론의 효율성(Inferential Efficiency) — 추론을 빠르게 이끄는 정보를 함께 담을 수 있다.
- 획득의 효율성(Acquisitional Efficiency) — 새 지식을 쉽게 추가할 수 있다.
명제 논리는 참·거짓이 정해지는 명제와 논리 연산자(∧, ∨, ¬, →)로 지식을 나타낸다. 술어 논리(1차 논리)는 여기에 술어·변수·한정자(∀, ∃)를 더해 "모든 사람은 죽는다"처럼 일반화된 지식을 표현한다.
- 예: ∀x (사람(x) → 죽는다(x)), 사람(소크라테스) ⊢ 죽는다(소크라테스)
- 정리 증명과 Prolog 같은 논리 프로그래밍의 기반이다.
IF 조건 THEN 결론(행동) 형태의 규칙 집합으로 지식을 나타낸다. 규칙 기반 전문가 시스템의 표준 형식이며, 추론 엔진이 전방향 추론(사실에서 결론으로) 또는 후방향 추론(목표에서 근거로)으로 규칙을 적용한다.
- 예: IF 체온 > 38℃ AND 기침 THEN 독감 의심
- 구성: 규칙 베이스(지식 베이스), 작업 메모리(사실), 추론 엔진
의미망(Semantic Network)은 개념을 노드, 개념 사이의 관계를 방향 있는 링크로 나타낸 그래프다.
- 대표적 관계: IS-A(상하위 개념), A-KIND-OF(AKO), HAS-A / PART-OF(부분), 속성 관계
- 상속(Inheritance): 하위 노드는 상위 노드의 속성을 물려받는다. "참새 IS-A 새, 새 CAN 날다" → 참새는 날 수 있다.
- 지식 그래프와 시맨틱 웹의 RDF 가 이 생각을 이어받았다.
프레임(Frame)은 민스키(M. Minsky)가 1975년에 제안한 것으로, 하나의 개념이나 상황을 슬롯(Slot)과 그 값의 묶음으로 나타낸 구조체다.
- 슬롯마다 값, 기본값(Default), 값의 제약, 절차 부착(Procedural Attachment: 값이 필요하거나 바뀔 때 실행되는 if-needed·if-added 프로시저)을 둘 수 있다.
- 프레임끼리 상위·하위 관계를 맺어 슬롯을 상속한다. 객체지향의 클래스와 비슷하다.
| 슬롯 | 값 |
|---|---|
| 프레임 이름 | 승용차 |
| IS-A | 자동차 |
| 바퀴 수 | 4 (기본값) |
| 연료 | 휘발유, 경유, 전기 중 하나 |
| 연비 | if-needed: 주행거리 ÷ 연료량 |
스크립트(Script)는 섕크(R. Schank)가 제안한 것으로, 식당에서 식사하기처럼 정형화된 사건의 순서를 장면·역할·소품·진입 조건·결과로 기술한다. 프레임을 시간 순서가 있는 사건에 적용한 것으로 볼 수 있다.
온톨로지는 특정 영역의 개념, 속성, 관계를 공유 가능한 형식 명세로 정의한 것이다. 의미망과 프레임의 생각을 표준 언어(RDF, OWL)로 정리해 서로 다른 시스템이 같은 의미로 지식을 쓰게 한다.
| 방법 | 장점 | 단점 | 적합한 지식 |
|---|---|---|---|
| 술어 논리 | 의미가 엄밀하고 추론 규칙이 명확하다. 완전성·건전성을 따질 수 있다 | 불확실하거나 예외가 있는 지식을 표현하기 어렵다. 추론 비용이 크다 | 수학적·정형적 지식 |
| 생성 규칙 | 이해가 쉽고 규칙 단위로 추가·삭제가 쉽다(모듈성). 추론 경로를 설명하기 쉽다 | 규칙이 많아지면 충돌·중복 관리가 어렵고 추론이 느려진다. 구조적 지식 표현이 약하다 | 진단·판단 같은 절차적 지식 |
| 의미망 | 개념 간 관계를 직관적으로 보여 준다. 상속으로 저장이 효율적이다 | 링크 의미가 표준화되어 있지 않다. 한정자(모든·어떤) 표현이 어렵다. 망이 커지면 탐색이 느리다 | 분류·계층 지식 |
| 프레임 | 관련 지식을 한 단위로 묶어 구조적이다. 기본값과 절차 부착으로 상식·예외를 다룬다 | 프레임 설계가 어렵고 일반적인 추론 규칙을 적용하기 어렵다 | 객체·상황 중심 지식 |
| 스크립트 | 사건의 전형적 흐름과 생략된 내용을 추론할 수 있다 | 정형화된 상황에만 쓸 수 있다 | 시간 순서가 있는 사건 |
| 온톨로지 | 표준 언어로 공유·재사용·상호운용이 된다 | 구축 비용이 크고 합의가 필요하다 | 도메인 개념 체계 |