규칙 기반 시스템

Yeons·2022년 10월 11일

스터디

목록 보기
4/8
post-thumbnail

규칙기반시스템

도대체 이 사진이 의미하는 바는 뭘까요...😂

규칙 기반 시스템에서 지식은 규칙사실로 기술됩니다.

규칙 : 문제 해결을 위한 지식
사실 : 문제 영역에 대해 알려진 데이터나 정보 + 객체나 프레임처럼 여러 개의 속성을 포함할 수 있다.

그리고 앞서 제시한 사진의 구성 요소에 대해 얘기해보겠습니다.

  1. 규칙베이스 : 전체 규칙의 집합을 관리하는 부분
  2. 작업메모리 : 사용자로부터 받은 문제에 대한 정보를 관리하고, 추론과정의 중간결과를 저장하며, 유도된 최종해를 저장한다. 작업메모리에 저장되는 모든 것을 사실이라고 한다.
  3. 추론엔진 : 실행할 수 있는 규칙들을 찾은 다음, 우선적으로 처리할 규칙을 선택하여 해당 규칙의 결론부를 실행하는 역할을 한다.
    3-1. 패턴 매칭 : 작업메모리의 사실과 규칙베이스에 있는 규칙의 조건부를 대조하여 일치하는 규칙을 찾는 과정
    3-2. 경합 집합 : 사실과 규칙의 조건부가 일치하는 규칙들의 집합, 즉 실행 가능한 규칙들의 집합
    3-3. 경합 해소 : 여러 규칙을 동시에 실행할 경우, 모순이 발생할 수 있있기 때문에, 추론 엔진에서 하나의 규칙만 실행하게 하는 과정
  • 추론엔진은 경합 해소에 의해 선택된 규칙의 결론부를 실행한다.
  1. 규칙의 결론부 : 새로운 사실을 작업메모리에 추가하거나, 사실을 삭제 또는 수정하거나, 사용자 인터페이스에 정보를 제공하거나, 시스템 외부의 기능을 호출하는 작업을 초함할 수 있다.

음. 추론 엔진에는 일련의 과정이 있음을 알 수 있었어요.

사실과 규칙이 중요합니다~!

규칙 실행

추론엔진이 규칙베이스와 작업메모리를 기반으로 작동다는 것은 알겠으나, 왜 규칙 실행에는 인터페이스들이 연결되어있을까요?

제 생각에는 뭔가 추가적인 작동이 가능하게 하는 것 같네요.

사용자 인터페이스 : 사용자는 규칙베이스 및 작업메모리를 관리하고 추론 엔진을 조작함
외부 인터페이스 : 규칙베이스의 내용이 아닌 외부 데이터나 함수의 기능을 사용할 수 있게 함. 다른 프로그램에서 규칙기반 시스템을 사용할 수 있게 함.

  • 그냥 소프트웨어적 추론 과정인 것 같은 느낌입니다.

경합 해소 전략

여러 규칙을 동시에 실행할 경우, 모순이 발생할 수 있있기 때문에, 추론 엔진에서 하나의 규칙만 실행하게 하는 과정

역시 우리도 과제를 차근차근 처리하듯이, 추론 엔진도 차근차근 처리하나봅니다.

  1. 규칙 우선순위 : 미리 각 규칙에 우선순위를 부여해 두어, 경합 집합에서 우선 순위가 가장 높은 규칙을 선택한다.
  2. 최신 우선 : 가장 최근에 입력된 데이터와 매칭된 규칙을 선택한다. 이 전략을 사용하는 경우, 각 데이터에 시간 정보가 부여되어 있어야 한다.
    (시간이 지금과 가까울 수록 최신이다)
  3. 최초 우선 : 경합 집합에서 가장 먼저 매칭된 규칙을 선택한다.
  4. 상세 우선 : 가장 상세한 조건부를 갖는 규칙을 선택한다. 즉, 규칙의 조건부가 가장 복잡하게 기술된 것을 선택한다.

하나의 규칙만 실행하도록 하는 것이다.


온톨로지

이제 한 번 헷갈릴만한 지식 기반 시스템 중 하나를 배워보자.

배경 : 지식 기반 시스템은 많은 투입 비용에도 불구하고, 구축된 지식은 해당 시스템에서만 사용되고, 표현 방법과 형식의 차이로 다른 시스템에서는 거의 재사용되지 못했다. 이러한 투자의 비효율성을 개선하고자, 구축된 지식의 공유와 재사용을 목적으로 도입된 것이 온톨로지이다.

정의 : 특정 영역의 지식을 공유하고 재사용할 수 있도록 해당 영역의 개념과 관계를 나타내는 어휘를 정의하고 이를 이용해 지식을 표현해 놓은 것을 말한다.
컴퓨터가 사람처럼 어떤 객체(사물이거나 사람이거나 다른 모든 무엇인가)를 이해할 수 있도록 다른 객체와의 관계나 객체만의 의미를 표현한 자료

특징 :
1. 사람 사이 또는 프로그램 사이에 정보구조에 대한 공통된 이해를 할 수 있게 되고 해당 영역의 지식을 재사용할 수 있게 되어 상호운용성이 높아질 수 있다.
2. 해당 영역에서 가정하고 있는 사실을 명확히 표현할 수 있고, 영역의 배경 지식과 운영 지식을 분리할 수 있게 되어 이들을 별개로 재사용할 수 있다.

개념과 계층구조를 명확한 지침에 따라 설계한 온톨로지

  1. RDF
    웹 페이지 등과 같은 웹 상의 자원에 대한 메타데이터를 기술하는 데 사용되는 기본 프레임워크
    문장이 주어(자원)-서술어(속성)-목적어(속성이 갖는 값)로 구성되어, 메타데이터를 표현함
  2. RDFS(RDF 스키마)
    RDF로 표현되는 자원과 속성에 대한 정보를 명확히 하기 위한 어휘를 제공
  3. SPARQL
    RDF 형태로 저장된 데이터에 대해서 질의를 하는 질의어
  4. RIF
    지식표현에 사용되는 규칙을 정의하고 전달하기 위한 표준
  5. OWL
    웹 상의 자원과 이들의 속성에 대한 지식을 표현하기 위한 온톨로지 언어. 논리적인 관계를 표현할 수 있는 어휘를 제공한다.

시맨틱 웹

시맨틱 웹이란 웹의 데이터를 소프트웨어 에이전트가 이해하여 웹 정보를 효과적으로 활용할 수 있도록 하는 것이다.(방대한 데이터가 의미와 관련성을 지님)
의미있는 태그를 정의하여 문서를 기술하기 위해 XML을 사용하고, 태그 및 데이터의 의미 해석을 위해 RDF를 사용해서, 소프트웨어 에이전트가 웹 상의 데이터를 이해하여 지능적인 처리를 할 수 있도록 하는 것이다.

다음에 또 찾아올게용~

profile
공부중

0개의 댓글