lynring24 blog

지식표현

Tags:

지식이란 무엇인가?

Knowledge 개념화(정보의 이론화)
Information 정보(정리된 데이터)
Data 잡음을 포함한 상태

인공지능에서 가장 핵심인 지식이란 정보를 개념화 한 것이다. 의미있는 지식을 창출하기 위해서는 정보를 적절한 구조로 만들어야 하는데, 지식 베이스를 만든다고 한다. 구조화된 정보의 구조가 인간에게 이해될 경우 이것을 ‘개념’이라 한다. 우리에게 유익한 지식이란 ‘합목적으로 개념화된 형태의 정보’이다.

지식표현

  • 지식을 컴퓨터와 사람이 동시에 이해할 수 있는 형태로 나타내는 것
  • 지식 표현을 연구하여 지식을 체계적으로 조직, 저장, 효율적 이용 방법의 연구
  • 문제 영역이나 문제해결의 효율성을 위한 적절한 지식표현 방법 선택이 매우 중요하다.
  • 컴퓨터의 지식 이용을 위해 컴퓨터가 효율적으로 이해할 수 있는 형식언어(Formal Language)로 기술되어야 한다.
  • 지식으로부터 추론을 해서 개념화하기 위해 지식을 잘 표현해야한다.

표현 방법

  • 논리(Logic)
  • 의미망(Semantic Net)
  • 프레임(Frame)
  • 규칙
  • 사례기반 추론(case based reasoning)

논리

지식 표현의 방법. 수학 논리학에서 사용하는 명제논리나 술어논리를 사용한다. ∀x { is-a(x, bird) -> has( x, wings)} 논리를 추가하기 쉽고, 가장 명확한 표현 방법이지만 복잡한 상황에서 적용이 어렵다.

명제 논리

기본 명제 : 의미가 참, 거짓으로 구분이 가능한 문장 p->q = ~ p ^ q

술어 논리 표현
명제를 객체(주어)와 술어(서술어)를 사용해서 표현한다.
술어표현(Predicate)의 함수는 객체에 대해 참/거짓을 반환한다. f서술어(객체) = [참 또는 거짓]
존재 한정사 : ∃xF(x) '적어도 어느 하나의 x가 존재함'
전체 한정사 : ∀xF(x) '모든 x에 대하여''
좀 더 확장된 형태로 정규식(Well-formed formula)는 함수, 항, 한정사 등을 사용해서 표현을 한다.
인간의 사고 과정과 가장 유사하고, 추론이 완전하다. 하지만, 결합관계나 제어 논리 표현이 어렵다.
∀x (CanRead(x) -> literate(x)) : 누구든 읽을 수 있다면, 문맹이 아니다

의미망

이항 표현으로 노드와 아크를 통해서 지식을 표현한다.
노드는 객체, 개념, 이벤트 등을 나타내고 아크는 관계(is-a, has)와 순서 등을 나타낸다.(데이터베이스의 ER 모델과 가깝다.)
상속에 대한 표현이 자유롭고, 구조적 통합적 지식 표현에 유용하다.
다항 관계에 대한 표현과 지식 추론 표현이 어렵다.

is-a(x,y) ^ is-a(y,z) = is-a(x,z) : transitive

프레임

객체와 속성의 구조적 기술이다. 데이터베이스의 테이블과 가깝다.
객체의 속성은 슬롯(slot)이라 하며, 칼럼들의 값들은 필터(filter)라고 한다.
데이터베이스의 transaction이 프로시져(procedure)이라 한다.
지식 표션 자연스럽고, 속성 상속이 가능하다.
의미망 <-> 프레임이 가능하다
지식의 모듈화 및 표현이 용이하며 변경, 추가, 삭제가 자유롭지만, 전체 구조의 파악과 지식 제어가 어렵다.

규칙

IF_THEN의 제어문으로 지식을 표현한다.
결정, 결론이 요구되는 영역에 적합하지만, 문제풀이에 비용이 높고, 속성들의 상호의존성이 높아 수정이 어렵다.