맨위로가기

프레임 (인공지능)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

프레임은 인공지능 분야에서 지식을 표현하는 데 사용되는 구조이다. 프레임은 프레임 사용 방법, 예상되는 사항, 기대에 부응하지 못할 경우 수행해야 할 작업에 대한 정보를 담고 있으며, 슬롯을 통해 사실, 절차, 기본값, 다른 프레임 등을 포함하는 정보를 저장한다. 프레임 언어는 객체 지향 프로그래밍의 클래스 계층과 유사한 방식으로 지식을 명시적이고 직관적으로 표현하는 데 중점을 둔다. 마빈 민스키에 의해 처음 사용된 프레임은 1930년대 심리학 연구에서 영감을 받았으며, 섕크와 아벨슨의 스크립트 이론, 프레임 의미론, KL-ONE 언어 등 다양한 형태로 발전해왔다. 프레임은 시맨틱 웹과 같은 분야에서도 활용되며, 인간의 인지 방식을 모방하여 인공지능 시스템의 효율성을 높이는 데 기여한다.

2. 프레임의 구조 및 특징

프레임은 사용 방법, 예상되는 결과, 기대에 부응하지 못할 때의 대처법 등 다양한 정보를 담고 있다. 프레임 정보는 변경되지 않는 정보와 "터미널"이라는 변수로 간주되는 변경 가능한 정보로 구성된다. 최상위 프레임은 항상 참인 정보를 전달하지만, 터미널 값은 새로운 정보에 따라 바뀔 수 있다. 서로 다른 프레임이 같은 터미널을 공유하기도 한다.

프레임 기반 지식 표현은 의미 네트워크와 달리 예외를 허용하여 현실을 더 정확하게 반영한다. 또한, 확산 활성화를 통해 쿼리할 수 있으며, 상속 규칙에 따라 하위 프레임은 상위 프레임의 값을 상속받고, 새로운 인스턴스는 그 값을 기본값으로 갖는다. 프레임은 구조를 기반으로 하므로 명시적인 연결 없이도 의미 네트워크를 생성할 수 있다. 단순한 구조 덕분에 유추적 추론이 쉽고, 절차적 부착은 현실적인 표현과 프로그래밍 편의성을 제공한다.

마빈 민스키의 프레임에는 노엄 촘스키와 1950년대 그의 생성 문법에 대한 언급이 일반적으로 누락되어 있다.

2. 1. 슬롯의 구성 요소

프레임은 슬롯이라는 곳에 정보를 담고 있다. 슬롯에는 다음과 같은 정보들이 포함될 수 있다.

  • 사실 또는 데이터
  • 값 (패싯이라고도 함)
  • 절차 (절차적 부착이라고도 함)
  • IF-NEEDED: 필요할 때 계산 (지연 평가)
  • IF-ADDED: 관련된 정보가 추가되면 업데이트
  • 기본값
  • 데이터용
  • 절차용
  • 다른 프레임 또는 하위 프레임


예를 들어, '소년'과 '원숭이' 프레임은 비슷한 이름의 슬롯을 가질 수 있어서, 둘 사이의 유사점을 쉽게 찾을 수 있다. (유추적 추론)

또한, '알렉스'라는 '소년'의 개별 인스턴스는 상위 객체인 '소년'으로부터 '성별' 같은 기본값을 물려받을 수 있다. 하지만, '소년'은 '다리 수'처럼 일반적이지 않은 값을 가질 수도 있다.

아래는 '알렉스', '소년', '원숭이' 프레임의 예시이다.

슬롯유형
알렉스_(이 프레임)
이름알렉스(키 값)
ISA소년(상위 프레임)
성별남성(상속 값)
나이필요시: 빼기(현재,생년월일);(절차적 연결)
메인 가 100번지(인스턴스 값)
생년월일2000년 8월 4일(인스턴스 값)
가장 좋아하는 음식스파게티(인스턴스 값)
오르기나무(인스턴스 값)
체형가냘픈(인스턴스 값)
다리 수1(예외)



슬롯유형
소년_(이 프레임)
ISA사람(상위 프레임)
성별남성(인스턴스 값)
나이12세 미만(절차적 연결 - 제약 조건 설정)
장소(프레임)
다리 수기본값 = 2(기본값, 사람 프레임에서 상속)



슬롯유형
원숭이_(이 프레임)
ISA영장류(상위 프레임)
성별OneOf(남성,여성)(절차적 연결)
나이정수(절차적 연결 - 제약 조건 설정)
서식지기본값 = 정글(기본값)
가장 좋아하는 음식기본값 = 바나나(기본값)
오르기나무_
체형기본값 = 가냘픈(기본값)
다리 수기본값 = 2(기본값)


2. 2. 프레임의 특징 및 장점

프레임은 프레임을 사용하는 방법, 다음에 예상되는 사항, 그리고 이러한 기대에 부응하지 못할 경우 수행해야 할 작업에 대한 정보를 담고 있다.

프레임의 일부 정보는 일반적으로 변경되지 않지만, "터미널"에 저장된 다른 정보는 보통 변경된다. 터미널은 변수로 간주될 수 있다. 최상위 프레임은 해당 문제에 대해 항상 참인 정보를 전달하지만, 터미널은 반드시 참일 필요는 없다. 터미널의 값은 새로운 정보를 만나면 변경될 수 있다. 서로 다른 프레임이 동일한 터미널을 공유할 수 있다.

특정 프레임에 대한 각 정보는 슬롯에 담긴다. 정보는 다음을 포함할 수 있다.

  • 사실 또는 데이터
  • * 값 (패싯이라고 함)
  • 절차 (절차적 부착이라고도 함)
  • * IF-NEEDED: 지연 평가
  • * IF-ADDED: 연결된 정보 업데이트
  • 기본값
  • * 데이터용
  • * 절차용
  • 다른 프레임 또는 하위 프레임


프레임의 터미널은 이미 기본값으로 채워져 있으며, 이는 인간의 마음이 작동하는 방식에 기반한다. 예를 들어, 어떤 사람이 "소년이 공을 찬다"라는 말을 들었을 때, 대부분의 사람들은 속성이 없는 추상적인 공을 상상하기보다는 특정 공(예: 익숙한 축구공)을 시각화할 것이다.

프레임 기반 지식 표현의 한 가지 강점은 의미 네트워크와 달리 특정 인스턴스에서 예외를 허용한다는 것이다. 이는 프레임에 표현이 실제 현상을 보다 정확하게 반영할 수 있는 유연성을 제공한다.

의미 네트워크와 마찬가지로, 프레임은 확산 활성화를 사용하여 쿼리할 수 있다. 상속 규칙에 따라, 하위 프레임에 의해 상속된 슬롯에 주어진 모든 값은 하위 프레임의 해당 슬롯에 업데이트되고 특정 프레임의 새로운 모든 인스턴스는 해당 새 값을 기본값으로 갖게 된다.

프레임은 구조를 기반으로 하기 때문에 명시적인 아크가 없더라도 프레임 집합이 주어지면 의미 네트워크를 생성할 수 있다.

프레임의 단순화된 구조는 쉬운 유추 추론을 가능하게 하며, 이는 모든 지능형 에이전트에서 매우 중요한 특징이다. 프레임에서 제공하는 절차적 부착은 또한 더 현실적인 표현을 만들고 프로그래밍 애플리케이션에 대한 자연스러운 편의성을 제공하는 정도의 유연성을 허용한다. 여기서 주목할 점은 유사하게 명명된 슬롯을 가짐으로써 소년과 원숭이 사이에서 쉽게 유추적 추론(비교)을 할 수 있다는 것이다.

또한 소년의 인스턴스인 알렉스는 더 일반적인 상위 객체 소년으로부터 "성별"과 같은 기본값을 상속받지만, 소년은 다리 수와 같은 예외 형태의 다른 인스턴스 값을 가질 수도 있다.

슬롯유형
알렉스이 프레임
이름알렉스키 값
ISA소년상위 프레임
성별남성상속 값
나이필요시: 빼기(현재,생년월일);절차적 연결
메인 가 100번지인스턴스 값
생년월일2000년 8월 4일인스턴스 값
가장 좋아하는 음식스파게티인스턴스 값
오르기나무인스턴스 값
체형가냘픈인스턴스 값
다리 수1예외



슬롯유형
소년이 프레임
ISA사람상위 프레임
성별남성인스턴스 값
나이12세 미만절차적 연결 - 제약 조건 설정
장소프레임
다리 수기본값 = 2기본값, 사람 프레임에서 상속



슬롯유형
원숭이이 프레임
ISA영장류상위 프레임
성별OneOf(남성,여성)절차적 연결
나이정수절차적 연결 - 제약 조건 설정
서식지기본값 = 정글기본값
가장 좋아하는 음식기본값 = 바나나기본값
오르기나무
체형기본값 = 가냘픈기본값
다리 수기본값 = 2기본값


3. 프레임 언어

인공지능에서 지식 표현에 사용되는 '''프레임 언어'''는 객체 지향 프로그래밍 언어의 클래스 계층과 유사하지만, 근본적인 설계 목표는 다르다. 프레임은 지식의 명시적이고 직관적인 표현에 중점을 두는 반면, 객체는 캡슐화와 정보 은닉에 중점을 둔다. 프레임은 인공지능 연구에서, 객체는 주로 소프트웨어 공학에서 시작되었다.[1]

그러나 실제로는 프레임과 객체 지향 프로그래밍 언어의 기술과 기능이 상당히 중복된다.

시맨틱 웹의 일부로 정의되어 소셜 네트워킹 및 캘린더 시스템의 기반을 마련하기 위해 프레임 언어로 모델링된 개념의 간단한 예시로 Friend of A Friend (FOAF) 온톨로지가 있다. 이 예시에서 주요 프레임은 ''Person''(사람)이며, 슬롯은 사람의 ''이메일'', ''홈페이지, 전화번호'' 등이다. 각 사람의 관심사는 비즈니스 및 엔터테인먼트 도메인의 공간을 설명하는 추가 프레임을 사용하여 나타낼 수 있다. ''knows''(알고 있는) 슬롯은 각 사람을 다른 사람과 연결하며, 사람의 관심사에 대한 기본값은 그들이 친구인 사람들의 웹에 의해 추론될 수 있다.[1]

3. 1. 프레임 언어와 객체 지향 프로그래밍 언어의 비교

'''프레임 언어'''는 인공지능에서 지식 표현에 사용되는 기술이다. 이는 객체 지향 프로그래밍 언어의 클래스 계층과 유사하지만, 근본적인 설계 목표는 다르다.

프레임은 지식의 명시적이고 직관적인 표현에 중점을 두는 반면, 객체는 캡슐화와 정보 은닉에 중점을 둔다. 프레임은 인공지능 연구에서, 객체는 주로 소프트웨어 공학에서 시작되었다.

그러나 실제로는 프레임과 객체 지향 프로그래밍 언어의 기술과 기능이 상당히 중복된다. 프레임 언어는 객체 지향 프로그래밍 언어와 상당 부분 겹친다. 두 커뮤니티의 용어와 목표는 달랐지만, 학계와 연구실에서 상업 세계로 이동하면서 개발자들은 철학적 문제에 신경 쓰지 않고 특정 기능에 중점을 두었으며, 아이디어가 어디에서 시작되었는지에 관계없이 양쪽 진영에서 최고의 것을 취하는 경향이 있었다. 두 패러다임이 공통적으로 가지고 있는 것은 현실 세계의 개념과 소프트웨어 구현 사이의 거리를 줄이려는 것이다. 따라서 두 패러다임 모두 매우 일반적인 유형에서 시작하여 보다 구체적인 유형으로 진행되는 분류법에서 기본 소프트웨어 객체를 나타내는 아이디어에 도달했다.

다음 표는 객체 지향 및 프레임 언어 커뮤니티의 표준 용어 간의 상관 관계를 보여준다.

프레임 용어객체 지향 용어
프레임클래스
슬롯객체 속성 또는 속성
트리거접근자 및 변경자 메소드
메소드(예: Loom, KEE)메소드



두 패러다임의 주요 차이점은 캡슐화가 주요 요구 사항으로 간주되는 정도였다. 객체 지향 패러다임에서 캡슐화는 가장 중요한 요구 사항 중 하나였다. 소프트웨어 구성 요소 간의 잠재적 상호 작용을 줄여 대규모 복잡한 시스템을 관리하려는 욕구는 객체 지향 기술의 핵심 동인이었다. 프레임 언어 진영에서는 이러한 요구 사항이 규칙, 제약 조건 및 프로그래밍 로직을 나타낼 수 있는 광범위한 도구를 제공하려는 욕구보다 덜 중요했다. 객체 지향 세계에서는 모든 것이 메소드와 메소드의 가시성에 의해 제어된다. 예를 들어, 객체 속성의 데이터 값에 접근하려면 접근자 메소드를 통해 수행해야 한다. 이 메소드는 검색 또는 속성에 설정된 값에 대한 데이터 유형 및 제약 조건의 유효성을 검사하는 것과 같은 작업을 제어한다. 프레임 언어에서는 이러한 유형의 제약 조건을 여러 가지 방법으로 처리할 수 있다. 값을 설정하거나 검색하기 전이나 후에 실행되도록 트리거를 정의할 수 있다. 동일한 유형의 제약 조건을 관리하는 규칙을 정의할 수 있다. 슬롯 자체는 (일부 언어에서는 "패싯"이라고 함) 동일한 유형의 제약 정보와 함께 추가 정보로 보강될 수 있다.

프레임 언어와 객체 지향 언어의 또 다른 주요 차이점은 다중 상속(프레임 또는 클래스가 둘 이상의 슈퍼클래스를 가질 수 있음)이었다. 프레임 언어의 경우 다중 상속은 필수였다. 이는 인간이 세상을 인지하는 방식, 즉 인간의 세상에 대한 개념화가 엄격하게 정의된 비겹침 분류법에 거의 해당하지 않는다는 것을 모델링하려는 욕구에서 비롯된다. 많은 객체 지향 언어, 특히 객체 지향의 후기에는 단일 상속이 강력하게 원해지거나 요구되었다. 다중 상속은 도메인을 모델링하기 위한 분석 단계의 가능한 단계로 간주되었지만, 캡슐화와 모듈성을 유지하기 위해 설계 및 구현 단계에서 제거해야 하는 것으로 간주되었다.[7]

KRL과 같은 초기 프레임 언어에는 메시지 전달이 포함되지 않았지만, 개발자의 요구에 따라 대부분의 후기 프레임 언어(예: Loom, KEE)에는 프레임에 메시지를 정의하는 기능이 포함되었다.[8]

객체 지향 측면에서도 프레임 언어가 제공하는 기능과 실질적으로 동일한 기능을 제공하는 표준이 등장했지만, 이는 다른 형식으로 제공되었으며 모두 객체 라이브러리에 표준화되었다. 예를 들어, 객체 관리 그룹은 테스트 데이터를 객체와 연관시키고 제약 조건을 연결하는 기능(프레임의 패싯 및 Loom과 같은 프레임 언어의 제약 조건에 대한 일반적인 사용과 유사)과 규칙 엔진을 통합하는 기능에 대한 사양을 표준화했다.[9][10]

3. 2. 프레임 언어의 구현체

가장 초기의 프레임 기반 언어는 특정 연구 프로젝트를 위해 맞춤형으로 개발되었으며, 다른 연구자가 재사용할 수 있는 도구로 패키징되지 않았다. 전문가 시스템 추론 엔진과 마찬가지로, 연구자들은 핵심 인프라의 일부를 추출하여 특정 애플리케이션에 결합되지 않은 범용 프레임 언어를 개발하는 것의 이점을 곧 깨달았다.

최초의 범용 프레임 언어 중 하나는 KRL이었다.[2] 가장 영향력 있는 초기 프레임 언어 중 하나는 KL-ONE이었다.[3] KL-ONE은 여러 후속 프레임 언어를 낳았다. KL-ONE의 가장 널리 사용되는 후계자 중 하나는 정보 과학 연구소의 로버트 맥그리거가 개발한 Loom 언어였다.[4]

1980년대에 인공 지능은 전문가 시스템에 힘입어 비즈니스 세계에서 큰 관심을 불러일으켰다. 이로 인해 지식 기반 시스템 개발을 위한 많은 상용 제품이 개발되었다. 이러한 초기 제품은 일반적으로 Lisp로 개발되었으며 데이터를 표현하기 위한 프레임 계층 구조와 논리적 추론을 위한 IF-THEN 규칙과 같은 구조를 통합했다. 이러한 초기 Lisp 지식 기반 도구 중 가장 잘 알려진 것 중 하나는 Intellicorp의 지식 엔지니어링 환경 (KEE)이었다. KEE는 다중 상속, 슬롯, 트리거, 기본값을 갖춘 완전한 프레임 언어와 역방향 및 순방향 체이닝을 지원하는 규칙 엔진을 제공했다. 대부분의 초기 상업용 AI 소프트웨어 버전과 마찬가지로 KEE는 원래 Lisp에서 Lisp 머신 플랫폼에 배포되었지만 결국 개인용 컴퓨터워크스테이션 플랫폼으로 이식되었다.[5]

시맨틱 웹의 연구 의제는 자동 분류 및 프레임 언어에 대한 새로운 관심을 불러일으켰다. 예를 들어 인터넷에서 정보를 설명하기 위한 웹 온톨로지 언어 (OWL) 표준이 있다. OWL 외에도 시맨틱 웹과 관련이 있으며 프레임 언어의 영향을 받은 다양한 표준 및 기술에는 OIL 및 DAML이 있다. 스탠퍼드 대학교의 Protege 오픈 소스 소프트웨어 도구는 OWL을 기반으로 구축되었으며 분류자의 모든 기능을 갖춘 온톨로지 편집 기능을 제공한다. 그러나 프레임 지향을 선호하는 사람들을 위해 유지 관리되는 버전 3.5(2017년 현재 버전 5)부터 프레임에 대한 명시적 지원을 중단했다. 명시적 프레임에서 벗어난 정당성은 OWL DL이 더 표현력이 풍부하고 "업계 표준"이라는 것이다.[6]

4. 프레임의 역사

프레임에 대한 초기 연구는 1930년대부터 시작된 심리학 연구에서 영감을 받았다. 이 연구들은 사람들이 저장된 전형적인 지식을 사용하여 새로운 인지 상황을 해석하고 행동한다는 것을 보여주었다.[11] 마빈 민스키는 시각적 추론과 자연어 처리를 이해하기 위한 패러다임으로 '프레임'이라는 용어를 처음 사용했다.[12]

인간에게는 사소해 보이는 일들(예: 원시 오디오 스트림에서 음소 추출, 객체의 가장자리 감지)이 실제로는 매우 복잡하다. AI 연구자들이 컴퓨터가 이러한 문제를 해결하는 복잡성을 조사하기 시작할 때까지 그 어려움을 완전히 이해하지 못했을 정도였다.

프레임(또는 스크립트)은 문제의 맥락을 설정하여 가능한 검색 공간을 자동으로 줄이는 초기 개념이었다. 섕크(Schank)와 아벨슨(Abelson)은 이 아이디어를 채택하여, AI 시스템이 레스토랑에서 식사를 주문하는 것과 같은 일반적인 인간 상호 작용을 처리하는 방법을 설명하는 데 사용했다.[13] 이러한 상호 작용은 슬롯(객체 지향 모델링의 객체 속성, 개체-관계 모델의 관계와 유사)을 가진 프레임으로 표준화되었다. 객체 클래스와 마찬가지로 프레임은 포괄 관계 계층 구조로 구성되었다. 예를 들어, 레스토랑 프레임의 특수화(하위 클래스)는 고급 레스토랑 프레임이 될 수 있으며, 고급 레스토랑 프레임은 레스토랑 프레임에서 모든 기본값을 상속받지만 슬롯을 더 추가하거나 기본값을 변경(예: 예상 가격 범위)할 수 있다.[14][15]

4. 1. 마빈 민스키의 프레임 이론

프레임에 대한 초기 연구는 1930년대부터 시작된 심리학 연구에서 영감을 받았으며, 사람들은 저장된 전형적인 지식을 사용하여 새로운 인지 상황을 해석하고 행동한다는 것을 나타냈다.[11] 마빈 민스키는 시각적 추론과 자연어 처리를 이해하기 위한 패러다임으로 프레임이라는 용어를 처음 사용했다.[12] 원시 오디오 스트림에서 음소를 추출하거나 객체의 가장자리를 감지하는 경우와 같이, 가장 작은 문제조차도 잠재적인 해결 공간이 광대하다. 이러한 문제들은 인간에게는 사소해 보이지만, 실제로는 매우 복잡하다. AI 연구자들이 컴퓨터가 이러한 문제를 해결하는 복잡성을 조사하기 시작할 때까지 그 어려움을 완전히 이해하지 못했다.

프레임 또는 스크립트(Script)라고도 불리는 초기 개념은 문제의 맥락을 설정하여 가능한 검색 공간을 자동으로 상당히 줄이는 것이었다. 이 아이디어는 섕크(Schank)와 아벨슨(Abelson)에 의해 채택되었으며, 그들은 AI 시스템이 레스토랑에서 식사를 주문하는 것과 같은 일반적인 인간 상호 작용을 처리하는 방법을 설명하는 데 사용했다.[13] 이러한 상호 작용은 각 프레임에 대한 관련 정보를 저장하는 슬롯(slot)을 가진 프레임으로 표준화되었다. 슬롯은 객체 지향 모델링의 객체 속성 및 개체-관계 모델의 관계와 유사하다. 슬롯은 종종 기본값을 가지지만, 각 시나리오 인스턴스를 실행하는 과정에서 추가적인 세분화가 필요했다. 즉, 레스토랑에서 주문하는 것과 같은 작업의 실행은 프레임의 기본 인스턴스에서 시작하여 다양한 값을 적절하게 인스턴스화하고 세분화함으로써 제어되었다. 본질적으로 추상적인 프레임은 객체 클래스를 나타내고, 프레임 인스턴스는 객체 인스턴스를 나타냈다. 이 초기 작업에서는 프레임의 정적 데이터 설명에 중점을 두었다. 슬롯의 범위, 기본값 등을 정의하기 위해 다양한 메커니즘이 개발되었다. 그러나 이러한 초기 시스템에서도 절차적 기능이 있었다. 한 가지 일반적인 기술은 슬롯에 연결된 "트리거"(데이터베이스 트리거의 개념과 유사)를 사용하는 것이었다. 트리거는 슬롯에 연결된 절차적 코드이며, 슬롯 값에 접근하거나 수정하기 전과 후에 모두 실행될 수 있다.

객체 클래스와 마찬가지로 프레임은 포괄 관계 계층 구조로 구성되었다. 예를 들어, 기본적인 프레임은 레스토랑에서 주문하는 것일 수 있다. 그 인스턴스는 조가 데어리 퀸에 가는 것이다. 레스토랑 프레임의 특수화(본질적으로 하위 클래스)는 고급 레스토랑에서 주문하기 위한 프레임이 될 것이다. 고급 레스토랑 프레임은 레스토랑 프레임에서 모든 기본값을 상속받지만, 특수화된 프레임에 대한 슬롯을 더 추가하거나 하나 이상의 기본값을 변경(예: 예상 가격 범위)할 것이다.[14][15]

4. 2. 섕크와 아벨슨의 스크립트 이론

마빈 민스키는 시각적 추론과 자연어 처리를 이해하기 위한 패러다임으로 프레임이라는 용어를 처음 사용했다.[12] 프레임 또는 스크립트(Script)라고도 불리는 초기 개념은 문제의 맥락을 설정하여 가능한 검색 공간을 자동으로 상당히 줄이는 것이었다. 섕크(Schank)와 아벨슨(Abelson)은 이 아이디어를 채택하여, AI 시스템이 레스토랑에서 식사를 주문하는 것과 같은 일반적인 인간 상호 작용을 처리하는 방법을 설명하는 데 사용했다.[13]

이러한 상호 작용은 각 프레임에 대한 관련 정보를 저장하는 슬롯(slot)을 가진 프레임으로 표준화되었는데, 슬롯은 객체 지향 모델링의 객체 속성 및 개체-관계 모델의 관계와 유사하다. 슬롯은 종종 기본값을 가지지만, 각 시나리오 인스턴스를 실행하는 과정에서 추가적인 세분화가 필요했다. 즉, 레스토랑에서 주문하는 것과 같은 작업의 실행은 프레임의 기본 인스턴스에서 시작하여 다양한 값을 적절하게 인스턴스화하고 세분화함으로써 제어되었다. 본질적으로 추상적인 프레임은 객체 클래스를 나타내고, 프레임 인스턴스는 객체 인스턴스를 나타냈다.

객체 클래스와 마찬가지로 프레임은 포괄 관계 계층 구조로 구성되었다. 예를 들어, 기본적인 프레임은 레스토랑에서 주문하는 것일 수 있다. 그 인스턴스는 조가 데어리 퀸에 가는 것이다. 레스토랑 프레임의 특수화(본질적으로 하위 클래스)는 고급 레스토랑에서 주문하기 위한 프레임이 될 것이다. 고급 레스토랑 프레임은 레스토랑 프레임에서 모든 기본값을 상속받지만, 특수화된 프레임에 대한 슬롯을 더 추가하거나 하나 이상의 기본값을 변경(예: 예상 가격 범위)할 것이다.[14][15]

4. 3. 프레임 의미론 (Frame Semantics)

찰스 J. 필모어는 1970년대 중반에 프레임 의미론 이론을 연구하기 시작했으며, 이는 나중에 FrameNet과 같은 계산 자원으로 이어졌다.[16] 프레임 의미론은 인간의 언어와 인간의 인지에 대한 고찰에서 비롯되었다.

4. 4. 깔끔파 대 지저분파 논쟁

초기 프레임 언어 연구는 실험 심리학 연구 결과와 인간이 일상적인 업무를 수행할 때 사용하는 패턴에 상응하는 지식 표현 도구를 설계하려는 시도에 의해 주도되었다. 이러한 연구자들은 수학적 형식성이 평균적인 인간이 세상을 개념화하는 방식에 반드시 좋은 모델이 아니라고 믿었다. 예를 들어, 인간이 언어를 사용하는 방식은 종종 논리적이지 않다.[17]

반면에 론 브라크만과 같은 연구자들은 AI 연구자들에게 논리와 관련된 수학적 형식성과 계산 능력을 제공하고자 했다. 이들의 목표는 프레임 언어의 프레임 클래스, 슬롯, 제약 조건 및 규칙을 집합 이론 및 논리에 매핑하는 것이었다. 이러한 접근 방식의 장점은 정리 증명기 및 기타 자동 추론 기능을 사용하여 모델의 유효성 검사 및 생성을 자동화할 수 있다는 것이다. 단점은 형식적 의미론을 가진 언어로 모델을 처음에 지정하는 것이 더 어려울 수 있다는 점이었다.

이러한 진화는 AI 연구에서 "깔끔파 대 지저분파" 논쟁으로 알려진 고전적인 분열을 보여준다. "깔끔파"는 일차 논리와 집합론을 통해 달성할 수 있는 수학적 정밀성과 형식주의에 가장 가치를 두는 연구자들이었고, "지저분파"는 인간에게 직관적이고 심리적으로 의미 있는 표현으로 지식을 모델링하는 데 더 관심이 있었다.[17]

더 형식적인 접근 방식 중 가장 주목할 만한 것은 KL-ONE 언어였다.[18] KL-ONE은 나중에 여러 후속 프레임 언어를 파생시켰다. KL-ONE과 같은 언어의 형식적 의미론은 이러한 프레임 언어에 분류기로 알려진 새로운 유형의 자동 추론 기능을 제공했다. 분류기는 프레임 언어의 다양한 선언(집합, 부분 집합, 관계 등)의 정의를 분석하는 엔진이다. 그런 다음 분류기는 다양한 추가 관계를 자동으로 추론할 수 있으며 모델의 일부가 서로 일치하지 않을 때 감지할 수 있다. 이러한 방식으로 추론 엔진에서 정방향 또는 역방향 체이닝으로 일반적으로 실행되는 많은 작업은 대신 분류기에 의해 수행될 수 있다.[19]

이 기술은 특히 인터넷을 다루는 데 유용하다. 분류기 엔진의 자동 분류 기능은 AI 개발자에게 매우 일관성이 없는 데이터 모음(즉, 인터넷)에 질서와 일관성을 제공하는 데 도움이 되는 강력한 도구를 제공한다. 텍스트 키워드뿐만 아니라 개념의 분류에 의해 페이지가 정렬되는 향상된 인터넷에 대한 비전은 시맨틱 웹으로 알려져 있다. 프레임 언어용으로 처음 개발된 분류 기술은 시맨틱 웹의 핵심 기술이다.[20][21]

4. 5. 시맨틱 웹과 프레임 언어

FOAF는 시맨틱 웹의 일부로 정의되어 소셜 네트워킹 및 캘린더 시스템의 기반을 마련하기 위해 프레임 언어로 모델링된 개념의 예시이다.[1]

이 예시의 주요 프레임은 ''Person''(사람)이다. 사람의 ''이메일'', ''홈페이지, 전화번호'' 등이 슬롯의 예시이다. 각 사람의 관심사는 비즈니스 및 엔터테인먼트 도메인의 공간을 설명하는 추가 프레임을 사용하여 나타낼 수 있다. ''knows''(알고 있는) 슬롯은 각 사람을 다른 사람과 연결한다. 사람의 관심사에 대한 기본값은 그들이 친구인 사람들의 웹에 의해 추론될 수 있다.[1]

KL-ONE과 같은 언어의 형식주의가 인터넷에서 발견되는 매우 비공식적이고 구조화되지 않은 데이터를 처리하는 데 유용하다는 것은 흥미로운 결과이다. 인터넷에서는 모든 시스템이 하나의 데이터 모델을 표준화하도록 요구하는 것은 실현 가능하지 않다. 용어가 여러 일관성 없는 형태로 사용되는 것은 불가피하다. 분류기 엔진의 자동 분류 기능은 AI 개발자에게 매우 일관성이 없는 데이터 모음(인터넷)에 질서와 일관성을 제공하는 데 도움이 되는 강력한 도구 상자를 제공한다. 텍스트 키워드뿐만 아니라 개념의 분류에 의해서도 페이지가 정렬되는 향상된 인터넷에 대한 비전은 시맨틱 웹으로 알려져 있다. 프레임 언어용으로 처음 개발된 분류 기술은 시맨틱 웹의 핵심 기술이다.[20][21]

참조

[1] 웹사이트 FOAF https://web.archive.[...] 2014-06-07
[2] 논문 An Overview of KRL: A Knowledge Representation Language
[3] 논문 A Structural Paradigm for Representing Knowledge
[4] 논문 Using a description classifier to enhance knowledge representation 1991-06
[5] 간행물 An Assessment of Tools for Building Large Knowledge-Based Systems https://web.archive.[...] 2013-12-09
[6] 웹사이트 Protégé OWL Tutorial A step-by-step guide to modeling in OWL using the popular Protégé OWL tools. https://web.archive.[...] 2013-12-09
[7] 웹사이트 The Unified Modeling Language http://www.essential[...] Essential Strategies Inc. 2013-12-10
[8] 간행물 An Assessment of Tools for Building Large Knowledge-Based Systems https://web.archive.[...] 2013-12-09
[9] 웹사이트 Retrospective on Loom https://web.archive.[...] Information Sciences Institute 1999-08-13
[10] 웹사이트 OMG Formal Specifications http://www.omg.org/s[...] Object Management Group 2013-12-10
[11] 서적 Remembering: A Study in Experimental and Social Psychology Cambridge University Press
[12] 서적 The Psychology of Computer Vision McGraw Hill
[13] 서적 Scripts, Plans, Goals, and Understanding https://content.tayl[...] Lawrence Erlbaum
[14] 서적 The Handbook of Artificial Intelligence, Volume III https://archive.org/[...] Addison-Wesley 1986-09-01
[15] 논문 An Overview of KRL: A Knowledge Representation Language
[16] 뉴스 Charles Fillmore, Discoverer of Frame Semantics, Dies in SF at 84: He Figured Out How Framing Works http://www.huffingto[...] 2014-03-07
[17] 서적 AI: The Tumultuous Search for Artificial Intelligence Basic Books
[18] 논문 A Structural Paradigm for Representing Knowledge http://www.dtic.mil/[...]
[19] 논문 Using a description classifier to enhance knowledge representation 1991-06
[20] 논문 The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities https://web.archive.[...] 2001-05-17
[21] 웹사이트 Protégé OWL Tutorial A step-by-step guide to modeling in OWL using the popular Protégé OWL tools. https://web.archive.[...] 2013-12-09



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com