KR101265062B1 - 유사도 결정 방법 및 유사도 결정 장치 - Google Patents

유사도 결정 방법 및 유사도 결정 장치 Download PDF

Info

Publication number
KR101265062B1
KR101265062B1 KR1020110119264A KR20110119264A KR101265062B1 KR 101265062 B1 KR101265062 B1 KR 101265062B1 KR 1020110119264 A KR1020110119264 A KR 1020110119264A KR 20110119264 A KR20110119264 A KR 20110119264A KR 101265062 B1 KR101265062 B1 KR 101265062B1
Authority
KR
South Korea
Prior art keywords
word
similarity
situation
sentence
cognitive
Prior art date
Application number
KR1020110119264A
Other languages
English (en)
Inventor
강형석
Original Assignee
주식회사 보나비젼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 보나비젼 filed Critical 주식회사 보나비젼
Priority to KR1020110119264A priority Critical patent/KR101265062B1/ko
Application granted granted Critical
Publication of KR101265062B1 publication Critical patent/KR101265062B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

계층적인 단어 DB를 이용하여 자연어로 표현된 인지 상황과 사례 상황 간의 유사 정도를 단어 DB의 계층적 구조를 이용하여 결정하는, 유사도 결정 방법 및 유사도 결정 장치에 관한 것이다.
본 발명을 이용함으로써 CBR 기법의 적용에 있어서 정확한 유사도를 결정할 수 있도록 하고 자연어를 이용하여 사용자 친화적인 인터페이스를 제공할 수 있도록 한다.

Description

유사도 결정 방법 및 유사도 결정 장치{SIMILARITY DETERMINING METHOD AND SIMILARITY DETERMINING APPARATUS}
본 발명은 CBR 기법에서 사용될 유사도를 결정하기 위한 유사도 결정 방법 및 유사도 결정 장치에 관한 것으로서, 구체적으로는 계층적인 단어 DB를 이용하여 자연어로 표현된 인지 상황과 사례 상황 간의 유사 정도를 단어 DB의 계층적 구조를 이용하여 결정하는, 유사도 결정 방법 및 유사도 결정 장치에 관한 것이다.
CBR(Case Based Reasoning, 사례 기반 추론) 기법은 컴퓨터 과학 분야에서 주어진 사례(case)에 대한 응답을 생성하기 위해서 과거 축적된 사례에 기반하여 주어진 사례(혹은 타켓 문제)에 대한 응답을 유추하거나 추론하도록 하는 방법론이다.
이러한 CBR 기법의 기저에는, 현재 주어진 사례에 대한 응답(혹은 해답)은 과거에 축적된 사례 혹은 경험한 사례로부터 이루어질 수 있고 이것이 가장 유사한 응답을 제공할 수 있다는 점에 근간을 두고 있다.
CBR 기법을 적용하기 위해서는, 사용자나 외부로부터 주어진 사례에 대해, 검색을 통해 저장되어 있는 다수의 과거의 사례에 대한 유사 정도를 결정한다. 그리고 이 유사 정도에 따라서, 유사한 과거 사례의 응답을 이용하거나 혹은 다수의 유사한 사례의 응답을 일반화하고 주어진 사례를 특화하여 주어진 사례에 대한 응답을 생성하고 이를 사용자 등에게 제공한다.
그리고 CBR 기법은, 사용자에게 제공한 응답과 주어진 사례를 새로운 과거 사례로 저장하여 축적하거나 혹은 사용자의 피드백(feedback)을 통해서 재평가한 후에 이러한 주어진 사례와 재평가된 응답을 저장할 수 있고 이에 따라 CBR 기법을 이용하는 시스템의 지능 혹은 응답의 정확성을 향상시킬 수 있다.
이러한 CBR 기법은 다양한 분야에서 사용될 수 있다. 예를 들어 CBR 기법은 금융 분야에서 활용될 수 있어서, 특정 금융 상황에서 어떠한 대응을 해야 하는 지를 과거의 축적된 DB(예를 들어 과거 사례들을 포함하는)를 이용하여 대응 방안을 제시하도록 모델링될 수 있다.
또한 예를 들어 다양한 상태 정보나 외부의 센서로부터 수신된 센싱값으로부터 어떠한 반응을 해야하는 지를 결정해야하는 시스템 등에서 활용될 수 있다. 그리고 이러한 시스템은 예를 들어 인터넷에 연결된 서버이거나 혹은 인공 지능을 가진 대화형 로봇이거나 상황에 따라 반응할 수 있는 대화형 내비게이션(Navigation) 등이 될 수 있다.
CBR 기법에서 필수적인 주어진 사례와 과거 사례 간의 유사도를 어떻게 결정할 것인가는 정확한 혹은 가장 유사한 응답을 제공할 수 있는 가를 결정하는 가장 중요한 문제이다.
특히 자연어(language)를 기반으로 주어진 사례와 과거 사례 간의 유사 정도를 결정할 수 있다면, 이는 자연어로 기록된 다수의 사례들을 용이하게 활용할 수 있고 사람과의 인터페이스를 용이하게 하고 또한 자연어를 이용하는 사람의 예측 응답과 유사한 결과를 제공할 수 있는 시스템을 구성할 수 있을 것이다.
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 자연어를 이용하여 주어진 사례와 과거 사례를 표현할 수 있도록 하는, 유사도 결정 방법 및 유사도 결정 장치를 제공하는 데 있다.
또한 본 발명은, 주어진 사례와 과거 사례에 포함된 자연어로 된 문장 간의 유사도를 결정할 수 있도록 하는, 유사도 결정 방법 및 유사도 결정 장치를 제공하는 데 있다.
또한 본 발명은, 자연어로 된 문장의 구조와 자연어에서 이용될 수 있는 다수의 단어 간의 정형화된 유사 정도에 기초로 하여 유사도를 결정할 수 있도록 하는, 유사도 결정 방법 및 유사도 결정 장치를 제공하는 데 있다.
또한 본 발명은, 자연어를 사용하는 사람과의 자연스러운 인터페이스를 제공할 수 있도록 하는, 유사도 결정 방법 및 유사도 결정 장치를 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한, CBR 기법에서 이용될 유사도를 결정하기 위한, 프로세서와 저장부를 구비한 응용 장치에서 수행되는 유사도 결정 방법은, 응용 장치 외부로부터 인식된 정보에 따라 인지 상황을 구성하는 단계와 상기 저장부에 포함된 단어 DB를 이용하여 인지 상황을 하나 이상의 사례 상황과 유사 정도를 나타내는 상황 유사도를 결정하는 단계를 포함하고, 상기 인지 상황과 상기 사례 상황은 자연어로 표현된 하나 이상의 문장을 포함하며, 상기 단어 DB는 상기 문장에 포함될 수 있는 단어들을 계층적으로 표현한 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한, 외부로부터 인지된 인지 상황과 저장된 사례 상황 간의 유사도를 결정하는 유사도 결정 장치는, 상기 유사도 결정 장치 외부로부터 인지 상황을 구성할 수 있도록 하는 입력을 수신하는 입력부와 복수의 사례 상황과 상기 인지 상황과 상기 사례 상황에 포함될 수 있는 단어들을 계층적으로 표현한 단어 DB를 저장하는 저장부와 상기 입력으로부터 인지 상황을 구성하고, 상기 단어 DB를 이용하여 상기 인지 상황과 상기 복수의 사례 상황 간의 유사 정도를 나타내는 상황 유사도를 결정하는 제어부를 포함하고, 상기 인지 상황과 상기 사례 상황은 자연어로 표현된 하나 이상의 문장을 포함하는 것을 특징으로 한다.
상기와 같은 본 발명에 따른 유사도 결정 방법 및 유사도 결정 장치는, 자연어를 이용하여 주어진 사례와 과거 사례를 표현할 수 있도록 하고 다수의 자연어로된 사례들을 활용할 수 있도록 하는 효과가 있다.
또한 상기와 같은 본 발명에 따른 유사도 결정 방법 및 유사도 결정 장치는,주어진 사례와 과거 사례에 포함된 자연어로 된 문장 간의 유사도를 결정할 수 있도록 하는 효과가 있다.
또한 상기와 같은 본 발명에 따른 유사도 결정 방법 및 유사도 결정 장치는,자연어로 된 문장의 구조와 자연어에서 이용될 수 있는 다수의 단어 간의 정형화된 유사 정도를 기초로 하여 자연어의 특성에 따라 정확한 유사도를 결정할 수 있도록 하는 효과가 있다.
또한 상기와 같은 본 발명에 따른 유사도 결정 방법 및 유사도 결정 장치는, 자연어를 사용하는 사람과의 자연스러운 인터페이스를 제공할 수 있도록 하고 사람과 교감이 가능하도록 하는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은, 본 발명인 외부로부터 인지된 인지 상황과 저장된 사례 상황 간의 유사도를 결정하는 유사도 결정 장치의 블록도를 도시한 도면이다.
도 2는 유사도 결정 장치에서 수행될 수 있는 흐름도를 도시한 도면이다.
도 3은, 도 2의 단계 S300의 구체적인 수행 방법을 수학식으로 도식화한 도면이다.
도 4 및 도 5는, 두 가지 예시적인 단어 DB의 트리 형태로 표현된 자료 구조를 도시한 도면이다.
도 6은 다수의 사례 상황을 이용하여 인지 상황의 상황 유사도가 결정된 후를 도식화한 그래프 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은, 본 발명인 외부로부터 인지된 인지 상황과 저장된 사례 상황 간의 유사도를 결정하는 유사도 결정 장치의 블록도를 도시한 도면이다.
도 1에 따르면, 유사도 결정 장치는, 시스템 버스/제어 버스(600)에 연결된 입력부(100)와 출력부(200)와 저장부(300)와 임시 저장부(400)와 제어부(500)를 포함한다. 도 1의 예시적인 블록도의 블록들 중 일부는 응용 예에 따라서 생략될 수 있고 혹은 도 1에 포함되지 않은 블록이 더 포함될 수 있다.
먼저, 이러한 유사도 결정 장치는 다양한 형태의 응용 장치가 될 수 있다. 예를 들어 유사도 결정 장치는 언어 기반으로 반응할 수 있는 로봇, 사람과 대화할 수 있는 대화형 내비게이션, 인터넷에 연결되어 특정 상황을 처리할 수 있는 서버, 공장이나 공공 기관에 설치되어 비상 상황을 검출하고 이에 따른 조치를 취할 수 있는 시스템, 외부로부터 복수의 센서 값을 수신하고, 센서 값에 따라 조치를 취할 수 있는 장치 등과 같은 응용 장치일 수 있다.
물론 유사도 결정 장치는 이러한 예시적인 장치에 국한되는 것은 아니며 열거하지 않은 다양한 분야나 시스템에서 구현되고 활용될 수 있을 것이다.
그리고 유사도 결정 장치의 블록들은 그 구현 예에 따라서 각 블록들의 기능 혹은 필요한 하드웨어 부품은 달라질 수 있을 것이다.
유사도 결정 장치에 포함되는 각 블록들을 살펴보면 입력부(100)는, 유사도 결정 장치 외부로부터 사용자나 외부의 다른 장치로부터 입력을 수신한다. 이러한 사용자나 다른 장치로부터 수신된 입력은 CBR 기법이 적용된 유사도 결정 장치에서 풀어야할 해법 혹은 반응해야 할 응답이 요구되는 주어진 사례(Case)를 구성할 수 있다.
이하에서는 입력부(100)를 통해 수신된 입력으로부터 구성된 주어진 사례를 '인지 상황'(Perceived Situation)으로 지칭하도록 하고, 유사도 결정 장치 내에 저장되어 이 인지 상황과 비교하여 유사도를 결정할 수 있도록 하는 과거 사례를 사례 상황(Case Situation)으로 지칭하도록 한다.
입력부(100)는, 예를 들어 사람의 음성을 수신하기 위한 마이크, 문자를 입력받기 위한 키보드, 단어나 문장을 선택할 수 있도록 하는 마우스, 외부로부터 특정 상태를 인지할 수 있는 하나 이상의 센서(예를 들어 열센서, 압력 센서 등), 및/또는 인터넷이나 로컬 네트워크를 통해 데이터를 송수신할 수 있는 네트워크 모듈 등을 포함할 수 있다.
또한 입력부(100)는, 수신된 입력 데이터를 시스템 버스/제어 버스(600) 상에서 요구되는 포맷(예를 들어 16 bit의 디지털 포맷 등)으로 처리하여 시스템 버스/제어 버스(600)로 전달할 수 있다.
출력부(200)는, 시스템 버스/제어 버스(600)에 연결되어 제어부(500)의 제어하에 수신된 데이터를 출력한다. 이러한 데이터는 제어부(500)에서 생성한 인지 상황에 대한 응답을 포함할 수 있다.
출력부(200)는, 예를 들어 이미지를 출력할 수 있는 모니터, 음성 또는 음악을 출력할 수 있는 스피커, 인터넷이나 로컬 네트워크를 통해 데이터를 송수신할 수 있는 네트워크 모듈, 및/또는 유사도 결정 장치 외부에 연결된 장치를 제어하기 위한 제어 포트를 포함할 수 있다.
이러한 제어 포트는 예를 들어 GPIO(General Purpose Input/Output)로 구성되거나 RS232, RS485, USB, IEEE1394 등과 같은 유선으로 혹은 블루투스(Bluetooth), 지그비(Zigbee) 등과 같은 무선으로 구성될 수 있다.
저장부(300)는, CBR 기법에서 사용될 복수의 사례 상황과, 사례 상황과 인지 상황에 포함되거나 될 수 있는 단어들을 계층적으로 표현한 단어 DB를 포함한다.
저장부(300)는, 하드 디스크, 낸드 플래쉬(Nand Flash)나 노어 플래쉬(Nor Flash) 타입 등과 같은 비휘발성 메모리를 포함하여 이러한 단어 DB와 사례 상황 등을 저장할 수 있다.
사례 상황은, 인지 상황의 문장들과 비교되어 유사도 결정에 사용되는 하나 이상의 문장들을 포함하고, 사례 상황 각각은 저장부(300)에 이미 저장된 대응하는 사례 상황에 대한 응답을 알 수 있도록 한다.
따라서, 사례 상황과 응답 간에는 일 대 일(One-to-One)의 맵핑 관계가 형성된다. 물론 복수의 사례 상황은 하나의 응답에 맵핑되는 다 대 일(Multi-to-One)의 맵핑 관계를 구성할 수도 있다.
여기서 인지 상황과 사례 상황은 하나 이상의 문장을 포함하고, 이 문장은 자연어 즉 한글이나 영어 등과 같은 특정 언어의 단어를 이용하여 표현된다. 그리고 제어부(500)의 제어하에서 이 문장들은 동일한 포맷으로 포맷팅될 수 있다.
단어 DB는 특정 언어에서 사용하는 단어들을 계층적으로 구조화한다. 비록 DB라는 용어를 사용하고 있으나, 주지의 데이터베이스(Database)만을 지칭하는 것으로 해석되어서는 아니 되며, 단어를 계층적으로 표현할 수 있는 자료 구조를 포함한다.
따라서 이 단어 DB는 트리(Tree) 타입과 같은 자료 구조로 구성할 수 있고 혹은 특정 타입의 자료 구조를 데이터베이스화된 형태(예를 들어 데이터베이스의 레코드를 이용하여)로 구성할 수도 있다.
이 단어 DB는 미리 구성하여 저장될 수 있고, 단어 DB에 포함된 단어들은 서로 유사한 단어끼리는 인접하는 위치(노드)에 위치하도록 하여, 단어 간의 거리로서 단어의 유사 여부를 결정할 수 있도록 한다.
예를 들어 "like"라는 단어는 "dislike"라는 단어에 비해서 "love"라는 단어에 더 가까운 노드(위치)에 위치할 수 있고 이러한 관계를 이용하여 문장 간의 유사의 정도를 결정할 수 있도록 한다.
단어 DB에 관련된 내용은 도 4의 예를 통해 보다더 상세히 살펴보도록 한다.
또한 저장부(300)는, 제어부(500)에서 이용될 각종 프로그램 모듈들을 포함한다. 이러한 프로그램들은 인지 상황과 사례 상황 간의 유사 정도를 나타내는 상황 유사도를 결정할 수 있는 프로그램 모듈과 사례 상황 간의 하나 이상의 상황 유사도에 따라 응답을 결정하기 위한 프로그램 모듈 등을 포함한다. 물론 이러한 프로그램 모듈들은 반드시 분리될 형태를 취할 필요는 없으며 하나의 프로그램으로 통합될 수 있다.
이러한 프로그램 모듈은 컴퓨터 분야에서 활용되는 다양한 형태의 언어로 기술되어 오브젝트(Object) 코드 형태로 구성될 수 있다. 예를 들어 이러한 프로그램 모듈은 C 나 Verilog나 VHDL과 같은 언어로부터 생성된 오브젝트 코드일 수 있다.
임시 저장부(400)는, 입력부(100)를 통해 입력된 입력 데이터로부터 인지 상황을 구성할 수 있도록 입력 데이터를 임시로 저장하고, 저장부(300)에 저장된 단어 DB와 사례 상황 중 일부를 임시로 저장하고, 프로그램 중 일부를 임시로 저장한다.
이러한 임시 저장부(400)는 고속의 휘발성 메모리 및/또는 고속의 비휘발성 메모리를 포함하여 구성할 수 있다.
제어부(500)는, 저장부(300)에 저장된 프로그램을 이용하여 유사도 결정 장치의 각 블록들을 제어한다.
제어부(500)는 프로그램 모듈을 수행할 수 있는 프로세싱 코어(processing core)나 논리 로직(예를 들어 프로그램밍 로직)을 포함하는 IC(Integrated Circuit)로 구성될 수 있고 이 프로세싱 코어에 프로그램 모듈에 포함된 명령어들을 로딩하여 수행하거나 논리 로직을 프로그램 모듈로 구성함으로써 각 블록들을 제어할 수 있다.
예를 들어 제어부(500)는, 입력부(100)를 통해서 수신된 입력 데이터를 인지 상황으로 구성하고 이 인지 상황과 다수의 사례 상황과의 정형화된 비교를 통해서 각 사례 상황과의 유사 정도인 상황 유사도를 결정한다.
그리고 제어부(500)는 다수의 사례 상황 사이의 상황 유사도에 따라서 입력부(100)을 통해 구성된 인지 상황을 일반화(generalization)하고 이 인지 상황에 부합하는 응답을 생성한다. 그리고 이 생성된 응답은 출력부(200)를 통해서 출력할 수 있다.
또한 제어부(500)는 출력된 응답에 대한 평가를 사용자로부터 입력부(100)를 통해서 더 수신할 수 있고, 이 평가에 따라서 현재의 인지 상황과 응답을 다시 저장부(300)에 사례 상황으로서 저장할 수 있다. 예를 들어 이 평가는 응답이 옳은지 옳지 않은지의 사용자 판단이거나 출력된 응답을 사용자가 수정하여 다시 입력한 응답일 수 있다.
인지 상황과 사례 상황 간의 유사도 결정을 위한 제어부(500)에서 수행되는 구체적인 흐름은 도 2 와 도 3을 통해서 보다더 상세히 살펴보도록 한다.
시스템 버스/제어 버스(600)는, 유사도 결정 장치의 각 블록들을 연결한다. 이러한 시스템 버스/제어 버스(600)는 다수의 비트 데이터를 송수신할 수 있는 병렬 버스 타입이거나 1 비트 내지 4 비트의 데이터를 한번에 송수신할 수 있는 시리얼 버스 타입일 수 있다.
시스템 버스/제어 버스(600)는 반드시 모든 블록들이 동일한 버스에 연결될 필요는 없으며, 특정 버스는 블록 간에 일 대 일로 연결될 수 있다. 예를 들어 제어부(500)는 전용의 비디오 출력 버스를 이용해서 출력부(200)의 모니터에 비디오 신호를 전달할 수 있고, 제어부(500)는 공용의 시리얼 버스를 통해서 입력부(100)를 통해 입력 데이터를 수신할 수 있다.
도 2는 본 발명인 유사도 결정 장치에서 수행될 수 있는 CBR 기법에 따라 응답을 생성하는 과정을 도시한 흐름도이다. 여기서 유사도 결정 장치는 다양한 형태의 응용 장치일 수 있고, 바람직하게 도 2의 흐름도는 제어부(500)에서 프로그램의 형태로 실행될 수 있다.
먼저 유사도 결정 장치에 전원을 인가하거나 사용자의 시작 명령에 따라서 본 흐름도가 시작(S100)한다.
단계 S200에서, 제어부(500)는 유사도 결정 장치 외부 즉 응용 장치 외부로부터 입력부(100)를 통해 입력 데이터를 수신하고, 이 입력 데이터로부터 인지 상황을 구성한다.
여기서 입력 데이터는 영어나 한글 등과 같은 자연어를 이용하여 하나의 문장으로 표현되고, 이 문장은 다시 술어(동사)와 술어가 아닌 예를 들어 명사나 형용사 등으로 구분하여, 술어가 가장 앞에 나오는 프롤로그(prologue) 스타일의 문법에 따르도록 문장이 재구성된다.
예를 들어 입력 데이터가 "Tom love Jane"과 같은 문장인 경우에 이 문장은 "love Tom Jane"과 같이 프롤로그 스타일의 문법에 따라 재구성된다. 따라서 재구성된 문장은 첫 번째 인자가 술어를 나타내고 첫 번째 이후의 인자(argument)들이 술어가 아닌 해당 문장에 포함된 단어들(예를 들어 명사나 형용사 등)을 나타내도록 구성된다.
이 재구성된 문장은 인지 상황에 입력 데이터가 수신된(인지된) 시각(time)과 함께 추가된다.
따라서 인지 상황은 하나 이상의 문장을 포함하고 각각의 문장은 입력된 시각 정보를 더 포함하여 시간이 흐름에 따라 인지 상황의 문장들을 시시각각 추가될 수 있다.
여기서 특정 단어가 술어인지의 여부는 수신된 입력 데이터의 문장 구조(만일 입력 데이터가 음성이나 텍스트를 이용해서 입력된 경우)로 알 수 있거나 혹은 미리 결정되거나(센서 등을 통해서 결정된 경우) 혹은 단어 DB에 검색을 통해서 입력 데이터에 포함된 단어가 술어 인지 아닌지를 결정하여 알 수 있다.
만일 입력 데이터가 문장의 형태로 입력되지 않는 경우에는, 제어부(500)는 입력 데이터로부터 문장을 구성할 수 있다. 예를 들어 외부 센서 1을 통해서 센싱 값 0.5를 수신하는 경우에는 문장으로 "sensing value of external sensor 1 is 0.5" 등과 같이 정형화된 형태로 구성할 수 있다.
이와 같이 입력 데이터를 자연어로 된 문장으로 표현함으로써, 단어 DB를 이용하여 문장 간의 유사도를 용이하게 결정할 수 있도록 하고, 문장에서 가장 중요한 술어를 중심으로 유사도를 결정할 수 있도록 하여 사용자에게 친화적이고 사용자의 의사나 의도에 부합하는 응답을 생성 가능하도록 한다.
단계 S300에서, 제어부(500)는 하나 이상의 문장을 포함하는 인지 상황을 저장부(300)에 저장된 다수의 사례 상황과의 비교를 통해 각 사례 상황과의 유사 정도를 나타내는 상황 유사도를 결정한다.
여기서, 사례 상황은 유사도 결정 장치의 저장부(300)에 미리 저장되어 있으며, 이 사례 상황은 미리 저장되어 있었던 사례 상황들이거나 혹은 도 2의 본 흐름도 이후에 인지 상황을 사례 상황으로 저장부(300)에 저장된 것일 수 있다.
그리고 사례 상황은 인지 상황과 마찬가지로 프롤로그 스타일의 문법으로 저장되어 있다. 단 사례 상황은 인지 상황과는 달리 시각에 대한 정보는 반드시 저장할 필요는 없다.
또한 인지 상황은 저장되어 있는 모든 사례 상황과 상황 유사도를 결정할 수 있다. 대안으로 인지 상황은 계층적으로 사례 상황과 상황 유사도를 결정할 수도 있다.
예를 들어 저장부(300)에 저장된 사례 상황들은 다수의 카테고리(예를 들어 정상 상태, 비상 상태, 상태 1, 상태 2 ~ 상태 N 등)로 구별하여 저장되고, 각각의 카테고리는 대표 사례 상황이 지정될 수 있다.
이 대표 사례 상황은 각 카테고리를 일반화할 수 있는 사례 상황이거나 혹은 사용자에 의해서 미리 지정된 사례 상황일 수 있다.
따라서 단계 S300은, 인지 상황은 다수의 카테고리의 대표 사례 상황과 상황 유사도를 결정하고, 가장 유사한 혹은 이에 더하여 차선으로 유사한 카테고리에 포함된 사례 상황들에 대해서 상황 유사도를 결정하는 계층적으로 상황 유사도를 결정하도록 구성할 수 있다. 이와 같은 계층적 상황 유사도 결정 구조는 보다더 빨리 유사한 상황을 결정할 수 있도록 한다.
단계 S300에 대한 보다더 상세한 설명은 도 3을 통해서 상세히 살펴보도록 한다.
단계 S400에서 제어부(500)는, 현재의 인지 상황에 대하여 결정된 하나 이상의 사례 상황에 대한 상황 유사도에 따라서, 인지 상황에 대한 응답을 결정한다.
인지 상황에 대한 응답은 당업자에게 이미 알려진 CBR(Cased Based Reasoning) 기법을 이용한다. 예를 들어 인지 상황에 대한 응답은 사례 상황에 대한 유사도를 이용하여 가장 유사한 하나 혹은 복수의 사례 상황을 찾고, 이러한 유사한 사례 상황에 기초하여 인지 상황에 대한 응답을 일반화하거나 그 차이점을 더 고려하여 인지 상황에 대한 응답을 결정한다.
그리고 단계 S500에서 제어부(500)는, 이렇게 결정된 응답을 출력부(200)를 통해서 출력한다. 출력부(200)를 통해 출력되는 응답은 예를 들어 음성이나 텍스트로 출력되거나 혹은 외부의 장치를 제어하기 위한 제어 신호일 수 있다.
이렇게 단계 S500에서 출력된 응답은 이 응답을 야기한 인지 상황과 함께 저장부(300)에 새로운 사례 상황으로 저장될 수 있다. 혹은 사용자의 수정에 따라 변경된 응답과 함께 저장될 수도 있다.
그리고 단계 S500이후에 다시 단계 S200으로 이동하여, 새로운 입력 데이터를 수신하고, 수신된 입력 데이터로부터 다시 문장을 구성하여 인지 상황에 추가하여 단계 S300 내지 S500을 반복한다.
이와 같이 반복적으로 인지 상황을 구성함으로써 외부의 상황 변화에 따라 적절하게 반응을 유도할 수 있도록 한다.
그리고 입력부(100)를 통한 사용자의 중지 명령이나 유사도 결정 장치의 전원이 공급 중단됨에 따라 도 2의 본 흐름도가 종료(S600)된다.
도 3은, 도 2의 단계 S300에서 수행되는 인지 상황과 하나의 사례 상황과의 상황 유사도를 결정하기 위한 구체적인 수행 방법을 수학식으로 도식화한 도면이다.
따라서 도 3은 인지 상황과 하나 이상의 사례 상황 각각의 상황 유사도를 결정하기 위해서 사용될 수 있고 저장부(300)에 저장된 사례 상황의 개수만큼 반복하여 각각의 사례 상황에 대해서 실시될 수 있다.
먼저 수학식(a) 상황 유사도(P,S)는 인지 상황(P, Perceived Situation)과 사례 상황(S, Saved Situation)간의 상황 유사도를 결정하는 식이다.
여기서 상황 유사도(P,S) 수학식(a)에서, N은 인지 상황에 포함된 문장의 개수를 나타내고, M은 사례 상황에 포함된 문장의 개수를 나타내며, W(ti)는 1 ~ N 중 하나인 문장 i에 대한 가중치를 나타낸다.
이 가중치는 예를 들어, 인지 상황에 포함된 문장들 각각이 입력부(100)를 통해서 입력된(혹은 인지된) 시각에 대한 함수일 수 있다.
예를 들어 이 가중치는 인지 상황에서 인지된 시각이 가장 최신의 문장에 대해서 가장 높은 가중치를 두고 오래된 문장일수록 낮은 가중치를 주도록 구성할 수 있다. 따라서 이 가중치는 인지 시각이 최신일수록 높은 가중치를 두는 1차 선형 함수나 2차 함수 혹은 역 지수 함수로 구성할 수 있다.
이와 같은 가중치를 둠으로써 가장 최신의 입력을 중심으로 응답을 결정할 수 있도록 한다.
상황 유사도(P,S) 수학식(a)을 구체적으로 살펴보면, 인지 상황에 포함된 각 문장(Pi)에 대해서 사례 상황에 포함된 모든 문장 중 가장 유사한 문장을 문장 유사도 수학식(b)을 통해서 결정하여 문장(Pi)에 대한 최대 문장 유사도(도 3의 ① 참조)를 결정한다.
그리고 각각의 문장(Pi)에 대한 최대 문장 유사도를 모두 합산하고 다시 합산된 값을 인지 상황의 모든 문장에 대한 가중치로 나눔으로써 인지 상황의 상황 유사도를 결정(도 3의 ② 참조)한다.
문장(Pi) 각각에 대한 결정된 최대 문장 유사도는 또한 해당 문장(Pi)에 대한 가중치를 부여(즉 곱하여)하여 인지 상황에 포함된 문장들의 인지 시각을 고려하도록 구성할 수 있다.
이와 같이 상황 유사도(P,S)는 인지 상황과 사례 상황에 포함된 자연어로 된 다수의 문장을 정형화된 기법으로 결정할 수 있도록 한다.
상황 유사도(P,S)를 결정하기 위한 대안으로서, 인지 상황에 포함된 첫번째 문장(예를 들어 가장 최신으로 인지된 문장)과 가장 유사한 목표 문장을 사례 상황의 문장(들) 중에서 수학식(b) 문장 유사도(Pd,Sd)를 이용하여 찾고, 인지 상황의 후속하는 문장들과 사례 상황에서 찾아진 목표 문장 이후의 대응하는 문장들과의 문장 유사도를 각각 계산하여 상황 유사도를 결정하도록 할 수 있다.
예를 들어 인지 상황이 (A, B, C, D, E)의 문장들로 구성되어 있고, 사례 상황이 (Z, A, B, C, D)의 문장들로 구성된 경우, 인지 상황의 첫번째 문장인 A 에 대해서 사례 상황인 Z, A, B, C, D, E 문장 각각에 대해서 문장 유사도를 계산하고, 가장 유사한 사례 상황의 후속하는 문장 B, C, D와 인지 상황의 문장 B, C, D 에 대해서 문장 유사도를 계산하여 상황 유사도를 결정할 수 있다.
물론 이때에도 인지 상황에 대한 가중치를 문장 유사도에 부여할 수 있고 가중치를 합산된 문장 유사도에 나눌 수 있다.
이렇게 계산된 상황 유사도는 %나 혹은 0 ~ 1의 범위로서 혹은 미리 지정된 숫자 범위로 결정될 수 있다.
수학식(a)에서 혹은 대안적 방안으로 설명한 바와 같이, 상황 유사도는 문장 유사도 수학식(b)를 이용하여 결정되거나 혹은 최대 문장 유사도를 더 계산하여 결정된다.
수학식(b)는 상황 유사도 수학식(a)에 사용되는 문장 유사도를 결정하는 수학식을 나타낸다.
여기서, N은 문장 Pd에 포함된 술어를 제외한 단어의 개수를 나타내고, M은 문장 Sd에 포함된 술어를 제외한 단어의 개수를 나타낸다.
문장 유사도 수학식(b)에서 알 수 있는 바와 같이, 두 개의 문장 간의 유사도를 결정하기 위해서, 술어에 대한 단어 유사도를 결정(도 3의 ③ 참조)하고, 술어를 제외한 단어들 간의 단어 유사도를 결정(도 3의 ④ 참조)하고, 이 술어에 대한 단어 유사도에 술어 가중치(W_술어)를 부여하고, 술어를 제외한 단어 유사도에 대한 단어 가중치(W_인자)를 부여하여 이후 합산하여 문장 유사도로 결정한다.
예를 들어 술어 가중치(W_술어)와 단어 가중치(W_인자)의 합은 1이 되도록 하고, 술어 가중치가 단어 가중치보다 더 큰 값이 되도록 구성할 수 있다. 결국은 문장에서 가장 중요한 단어는 술어에 해당하므로, 이 술어에 가장 높은 가중치를 둠으로써 자연어의 의미로부터 그 유사 여부를 결정할 수 있도록 한다.
물론 단어 가중치(W_인자)는 모든 인자에 대해서 동일할 필요는 없고, 예를 들어 특정 숫자나 형용사 등에 대해서는 다른 단어에 비하여 더 높은 가중치를 부여하거나 각 단어의 위치에 비례하여 가중치를 부여할 수도 있다.
수학식(b)에서 알 수 있는 바와 같이 문장 유사도는 수학식(c) 단어 유사도에 기초하여 결정된다.
도 3의 수학식(c)에서 알 수 있는 바와 같이, 단어 유사도(w1,w2)는 계층적인 단어 DB에서 두 단어(w1, w2) 사이의 거리에 기초하여 계산된다. 여기서 거리(len)란 예를 들어서 단어 DB가 트리로 구성되고 각 단어가 노드에 할당되는 경우에는 이 두 단어 사이에 위치하는 노드의 개수나 아크(Arc)의 개수 혹은 트리 상에서의 단어가 위치하는 노드 인덱서(indexer)의 차이 값(2차원 혹은 3차원의 인덱서로부터)으로 결정할 수 있다.
혹은 단어 DB에 각 단어 사이의 거리를 미리 저장함으로써 결정될 수도 있다.
따라서 단어 유사도는(w1, w2)는 양 단어가 가까운 거리에 있는 경우에는 단어 유사도가 높은 것으로, 먼 거리에 있는 경우에는 단어 유사도가 낮은 것으로 결정될 수 있다.
수학식(c)는 이러한 단어 유사도를 결정하기 위한 하나의 예시적인 수학식이다. 이 수학식(c)에서 D는 단어 DB의 최대 깊이(depth)를 나타낸다. 이 최대 깊이(D)는 예를 들어 트리로 구성된 단어 DB에서 루트(root)로부터 리프 노드(leaf node)간의 거리 중 가장 긴 거리일 수 있다.
그리고 단어 유사도는 백분율(%)로 표시될 수 있고, 이때에는 최대 깊이 D를 가진 단어 DB에서 가장 가까운 거리(즉 1의 거리)를 가진 단어 간의 단어 유사도를 수학식(c)에 다시 나눔으로써 결정될 수 있다.
수학식(c)와 연계하여 단어 유사도를 결정하기 위한 메커니즘을 설명하기 위해, 이하에서는 단어 DB의 일 실시예를 도시한 도면 4와 연계하여 설명하도록 한다.
먼저 도면 4를 살펴보면, 두 가지 예시적인 단어 DB의 트리 형태로 표현된 자료 구조를 도시하고 있다.
이러한 자료 구조는 다양한 형태로 변형 실시될 수 있고, 데이터베이스 상에서 구현될 수 있다. 혹은 이러한 자료 구조를 표현할 수 있는 다른 형태로 예를 들어 데이터베이스 상에 모든 단어 간의 거리를 결정하도록 하거나, 데이터베이스데이터베이스하는 레코드에 이 단어의 트리 상에서의 위치를 알 수 있는 인덱서(2차원 혹은 3차원 등)를 포함하여 구성할 수 있다.
이 자료 구조는 미리 구성되며, 단어 간의 유사 정도에 따라서 거리가 결정되도록 구성된다. 예를 들어 'love'와 'like'와 같은 단어는 유사한 단어로 보고 가까운 거리에 위치한다. 반면에 'hate'나 'dislike'와 같은 단어는 서로 가까운 위치에 위치하나 'love'와 'like'와는 먼 거리에 위치하도록 구성할 수 있다.
이러한 자료 구조는 각 단어들을 분류하고, 계층화하고 세분화하여 구성할 수 있다.
먼저 도 4를 살펴보면, 자료 구조는 루트(Root) 노드와 중간(Intermidiate) 노드와 리프(Leaf) 노드로 구성되고, 루프 노드와 중간 노드는 하위 계층의 중간 노드 또는 리프 노드를 지시하는 지시자(포인터) 등을 이용하여 가르킨다.
그리고 리프 노드 각각은 단어를 포함하고, 각 단어의 타입을 더 포함할 수 있다. 이러한 타입은 예를 들어 해당 단어가 동사(술어)인지 명사인지 혹은 형용사혹은 부사인지 등에 대한 정보를 포함한다.
그리고 루트 노드로부터 리프 노드까지의 거리가 최대 깊이(D)가 된다.
또한 각 리프 노드는 예를 들어 알파벳 순서상으로 후속하는 리프 노드를 가르키기는 포인터 등과 같은 후속 지시자를 더 포함할 수 있다. 이러한 후속 지시자는 단어 검색을 위해서 이용될 수 있고, 특정 대표 단어(예를 들어 A의 대표 단어, B의 대표 단어 ....등)에 대한 지시자는 제어부(500)에서 특정 대표 단어의 해당 리프 노드의 위치를 알 수 있도록 제공될 수 있다.
반면에 도 5를 살펴보면, 루트(Root) 노드와 중간(Intermidiate) 노드와 리프(Leaf) 노드로 구성되고, 루트 노드와 중간 노드와 리프 노드는 각각 단어를 포함하도록 구성할 수 있고 각각의 루트 노드와 중간 노드는 계층적으로 구성된 단어 DB 상에서 하위 계층의 단어를 지시하는 하나 이상의 포인터와 같은 지시자를 포함한다.
또한 도 5에서도 각 노드는 알파벳 순서상에서 후속하는 노드를 가리키는 포인터 등과 같은 후속 지시자를 더 포함할 수 있고, 특정 대표 단어에 대해서 해당 노드의 위치를 제어부(500)가 알 수 있도록 구성할 수 있다.
도 4 및 도 5는 이해를 위해 예시적으로 2차원 형식의 트리 타입의 자료 구조로 도시하였다. 2차원 형식의 트리 타입을 확장하여 입체 형태의 3차원 형식(혹은 3차원 이상의 다차원)의 트리 타입의 자료 구조로 확장하여 각 단어 간의 유사 정도를 결정하도록 구성할 수도 있다.
이러한 예시적인 단어 DB의 자료 구조를 염두에 두고, 도 3의 수학식(c)에 따라 단어 유사도를 결정하는 방법을 살펴보면, 단어 유사도의 인자로 포함된 단어의 해당 위치(노드)를 단어 DB에서 검색한다.
단어 DB에서 단어를 검색하기 위해서, 계층적 단어 DB 내에서 풀 서치(full search)를 이용해서 검색하거나 혹은 제어부(500)에 제공된 특정 대표 단어를 이용하여 이 특정 대표 단어로부터 연결된 후속하는 단어를 검색하거나 혹은 단어 DB에서 제공할 수 있는 특정의 검색 방식을 이용하여 해당 단어에 대응하는 노드를 검색한다.
혹은 대안으로 단어 DB에서 제공하는 질의(query)를 이용하여 해당 단어의 위치를 알 수 있는 인덱서를 수신한다.
그리고 이 두 개의 단어에 대한 거리를 결정한다. 두 개의 단어 간의 거리를 결정하기 위해서 예를 들어, 두 단어가 위치하는 노드 사이에 위치하는 노드의 개수로 혹은 아크의 개수로 거리를 결정할 수 있다. 이를 위해서 이 두 단어 중 하나의 노드로부터 다른 하나의 노드까지의 최단 거리를 찾아서 이 최단 거리를 두 단어 간의 거리로 결정할 수 있다.
혹은, 두 단어가 위치하는 두 노드의 위치의 차이에 의해서 결정할 수 있다. 예를 들어 트리 등과 같은 자료 구조에서 각 노드는 인덱싱될 수 있다. 2차원의 트리에서는 루트를 (1,1)로 루트 노드 바로 아래의 노드들을 (2,1) ~ (2,N)으로 그 아래의 노드들을 (3,1) ~ (3,N*N){N은 하나의 노드가 가질 수 있는 자식 노드의 수} 등으로 인덱싱할 수 있다.
이러한 인덱싱을 이용해서, 두 개의 노드의 인덱싱 값의 차이 값으로 간단히 거리를 결정할 수 있다. 물론 3차원의 트리에 대해서도 동일하게 적용할 수 있다.
그리고 거리를 결정한 후에, 수학식(c)와 같이 수식을 적용하여 두 개의 노드의 거리가 가까울수록 단어 유사도가 높도록 단어 유사도를 결정할 수 있다.
도 3을 통해, 인지 상황과 사례 상황과의 상황 유사도를 결정하기 위해서 문장 유사도와 단어 유사도를 이용함을 살펴 보았다. 도 3의 수학식에서 알 수 있는 바와 같이, 상황 유사도를 계산하기 위해서는 하나 이상의 문장 유사도를 계산하여야하고, 문장 유사도를 계산하기 위해서는 하나 이상의 단어 유사도를 계산하여 함을 알 수 있다.
따라서 도 3과 같이 상황 유사도를 결정하기 위해서, 제어부(500)는 반복(iterative) 기법을 활용하여 상황 유사도를 결정할 수 있다.
이상과 같이, 단어와 문장과 문장들의 유사 정도를 자연어를 기반으로 자연어에 내재하는 유사 특성을 활용함으로써 자연스럽고 사용자 친화적인 유사도를 결정할 수 있도록 한다.
도 6은 다수의 사례 상황을 이용하여 인지 상황의 상황 유사도가 결정된 후를 도식화한 그래프 도면이다.
이러한 인지 상황은 시간의 흐름에 따라서 변화할 수 있다. 따라서 시간의 흐름에 따라 인지 상황과 유사한 사례 상황은 제각기 달라질 수 있다.
도 6에서 알 수 있는 바와 같이, 인지 상황은 다수의 사례 상황에 대해서 상황 유사도를 결정한다. 그리고 이 결정된 상황 유사도에 따라서 유사도 결정 장치의 제어부(500)는 현재 인지 상황에 대한 응답을 결정하게 된다.
이러한 응답은 CBR 기법에 따라서 당업자에게 잘 알려진 알고리즘에 따라서 결정될 수 있다.
그리고 이러한 응답과 인지 상황은 다시 사례 상황으로 저장부(300)에 저장되고 다른 인지 상황에 대한 응답의 결정에 활용될 수 있다.
이와 같이 본 발명에 따른 유사도 결정 방법이나 유사도 결정 장치가 자연어의 특성에 기반을 두어서, 일반인들이 이용하는 언어를 기반으로 사용자와 인터페이스할 수 있는 다양한 시스템이나 장치에서 유용하게 활용될 수 있도록 하고 정확한 응답을 제공할 수 있도록 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 입력부 200 : 출력부
300 : 저장부 400 : 임시 저장부
500 : 제어부 600 : 시스템 버스/제어 버스

Claims (12)

  1. CBR(Cased Based Reasoning) 기법에서 이용될 유사도를 결정하기 위한, 제어부와 저장부를 구비한 응용 장치에서 수행되는 유사도 결정 방법으로서,
    상기 응용 장치의 외부로부터 인식된 정보에 따라 인지 상황(situation)을 구성하는 단계; 및
    상기 저장부에 포함된 단어 DB를 이용하여, 상기 인지 상황과 상기 저장부에 저장되어 있는 하나 이상의 사례 상황 각각 과의 유사도를 나타내는 하나 이상의 상황 유사도를 결정하는 단계로서, 상기 상황 유사도는 상기 인지 상황에 포함되는 제 1 단어와 상기 사례 상황에 포함되는 대응하는 제 2 단어 사이의 거리에 기초하여 산출되고 상기 거리는 상기 단어 DB에서의 상기 제 1 단어의 위치와 상기 제 2 단어의 위치를 이용하여 결정되는, 하나 이상의 상황 유사도를 결정하는 단계;를 포함하며,
    상기 인지 상황과 상기 사례 상황은 자연어로 표현된 하나 이상의 문장을 포함하며, 상기 단어 DB는 상기 문장에 포함될 수 있는 단어들을 계층적(hierarchical)으로 표현한 것을 특징으로 하는,
    유사도 결정 방법.
  2. 제1항에 있어서,
    상기 문장은 술어가 가장 앞에 나오는 프롤로그 스타일 문법(syntax)으로 상기 인지 상황과 상기 사례 상황 내에서 표현되는 것을 특징으로 하는,
    유사도 결정 방법.
  3. 제1항에 있어서,
    상기 상황 유사도를 결정하는 단계는,
    상기 인지 상황의 문장 각각에 대하여, 상기 사례 상황에 포함된 복수의 문장들로부터의 최대 문장 유사도를 결정하는 단계; 및
    상기 인지 상황의 문장 각각에 대하여 결정된 최대 문장 유사도들의 합산에 따라 상기 인지 상황에 대한 상황 유사도를 결정하는 단계;를 포함하며,
    상기 최대 문장 유사도를 결정하는 단계는, 상기 인지 상황의 문장과 상기 사례 상황의 복수의 문장들 각각 간의 문장 유사도를 결정하는 단계;를 포함하여, 결정된 문장 유사도들 중 가장 높은 문장 유사도를 상기 인지 상황의 문장 각각에 대한 최대 문장 유사도로 결정하는 것을 특징으로 하는,
    유사도 결정 방법.
  4. 제3항에 있어서,
    상기 최대 문장 유사도를 결정하는 단계는, 상기 인지 상황의 문장 각각에 대하여 할당되는 가중치를 상기 복수의 문장들에 대해서 결정된 문장 유사도들에 부여하는 단계;를 포함하며,
    상기 가중치는 상기 인지 상황에 포함된 하나 이상의 문장 각각에 대한 인식 시간에 따라 상이하고,
    상기 최대 문장 유사도를 결정하는 단계는, 가중치가 부여된 문장 유사도들 중 가장 높은 문장 유사도를 상기 인지 상황의 각각의 문장에 대한 최대 문장 유사도로 결정하는, 것을 특징으로 하는,
    유사도 결정 방법.
  5. 제3항에 있어서,
    상기 문장 유사도를 결정하는 단계는,
    상기 인지 상황의 문장의 술어 단어와 상기 사례 상황의 문장의 술어 단어 간의 단어 유사도를 결정하는 단계로서, 상기 단어 유사도는 상기 단어 DB에서의 상기 인지 상황의 술어 단어의 위치와 상기 사례 상황의 술어 단어의 위치를 이용하여 결정되는, 제 1 단계;
    상기 인지 상황의 문장의 하나 이상의 인자(argument) 단어와 상기 사례 상황의 문장의 하나 이상의 인자 단어 간의 단어 유사도를 결정하는 단계로서, 상기 단어 유사도는 상기 단어 DB에서의 상기 인지 상황의 인자 단어의 위치와 상기 사례 상황의 인자 단어의 위치를 이용하여 결정되는, 제 2 단계;
    술어 단어 간의 단어 유사도에 가중치를 부여하고 상기 가중치와는 상이한 가중치를 인자 단어 간의 단어 유사도에 부여하는 제 3 단계; 및
    가중치가 부여된 술어 단어 간의 단어 유사도와 가중치가 부여된 인자 단어 간의 단어 유사도의 합산에 따라 상기 문장 유사도를 계산하는 제 4 단계;를 포함하는 것을 특징으로 하는,
    유사도 결정 방법.
  6. 제5항에 있어서,
    상기 술어 단어 간의 단어 유사도에 대한 가중치가 상기 인자 단어 간의 단어 유사도에 대한 가중치 보다 더 큰 것을 특징으로 하는,
    유사도 결정 방법.
  7. 제5항에 있어서,
    상기 제 1 단계와 제 2 단계는,
    상기 인지 상황의 단어와 상기 사례 상황의 단어를 상기 단어 DB에서 검색하는 단계;
    상기 단어 DB에서 상기 인지 상황의 단어와 상기 사례 상황의 단어 간의 거리를 결정하는 단계로서, 상기 거리는 상기 인지 상황의 단어와 상기 사례 상황의 단어 사이에 위치하는 상기 단어 DB에서의 노드의 개수나 아크의 개수로 결정되거나 상기 단어 DB에서의 상기 인지 상황의 단어 위치를 나타내는 노드 인덱스와 상기 사례 상황의 단어 위치를 나타내는 노드 인덱스의 차이 값에 의해서 결정되는, 거리를 결정하는 단계; 및
    결정된 거리에 따라, 결정된 거리가 작을수록 단어 유사도가 커지도록 상기 인지 상황의 단어와 상기 사례 상황의 단어 간의 단어 유사도를 결정하는 단계를 포함하는 것을 특징으로 하는,
    유사도 결정 방법.
  8. 제1항에 있어서,
    상기 상황 유사도를 결정하는 단계는,
    복수의 문장을 포함하는 상기 인지 상황의 첫번째 문장과 가장 유사한 목표 문장을 상기 사례 상황에 포함되는 복수의 문장 중에서 결정하는 단계로서, 상기 첫번째 문장과 상기 사례 상황에 포함되는 복수의 문장 각각 간의 문장 유사도를 계산하여 상기 사례 상황에 포함되는 복수의 문장 중 가장 높은 문장 유사도를 가지는 문장을 목표 문장으로 결정하는, 목표 문장을 결정하는 단계; 및
    상기 첫번째 문장에 후속하는 상기 인지 상황의 문장과 상기 사례 상황이 배열되어 있는 순서에 따라 상기 목표 문장 이후에 위치하는 상기 사례 상황의 문장 간에 문장 유사도를 계산하는 단계;를 포함하며,
    상기 상황 유사도는, 상기 목표 문장에 대한 문장 유사도와 상기 목표 문장 이후의 문장 유사도의 합산으로 계산되어 지는, 것을 특징으로 하는,
    유사도 결정 방법.
  9. 외부로부터 인지된 인지 상황과 저장된 사례 상황 간의 유사도를 결정하는 유사도 결정 장치로서,
    상기 유사도 결정 장치 외부로부터 인지 상황을 구성할 수 있도록 하는 입력을 수신하는 입력부;
    복수의 사례 상황과 상기 인지 상황과 상기 사례 상황에 포함될 수 있는 단어들을 계층적으로 표현한 단어 DB를 저장하는 저장부; 및
    상기 입력으로부터 인지 상황을 구성하고, 상기 단어 DB를 이용하여 상기 인지 상황과 상기 복수의 사례 상황 각각 과의 유사도를 나타내는 복수의 상황 유사도를 결정하는 제어부로서, 상기 상황 유사도는 상기 인지 상황에 포함되는 제 1 단어와 상기 사례 상황에 포함되는 대응하는 제 2 단어 사이의 거리에 기초하여 산출되고 상기 거리는 상기 단어 DB에서의 상기 제 1 단어의 위치와 상기 제 2 단어의 위치를 이용하여 결정되는, 제어부;를 포함하며,
    상기 인지 상황과 상기 사례 상황은 자연어로 표현된 하나 이상의 문장을 포함하는 것을 특징으로 하는,
    유사도 결정 장치.
  10. 제9항에 있어서,
    상기 제어부는, 상기 상황 유사도를 결정하기 위해, 상기 인지 상황의 문장 각각에 대하여 상기 사례 상황에 포함된 복수의 문장들로부터의 최대 문장 유사도를 결정하고, 상기 인지 상황의 문장 각각에 대하여 결정된 최대 문장 유사도들의 합산에 따라 상기 인지 상황에 대한 상황 유사도를 결정하며,
    상기 제어부는, 상기 인지 상황의 문장과 사례 상황의 복수의 문장 각각 간에 문장 유사도를 결정하고 이후 결정된 문장 유사도들 중 가장 높은 문장 유사도를 상기 인지 상황의 문장 각각에 대한 최대 문장 유사도로 결정하는, 것을 특징으로 하는,
    유사도 결정 장치.
  11. 제10항에 있어서,
    상기 문장 유사도의 결정은, 상기 인지 상황의 문장의 술어 단어와 상기 사례 상황의 문장의 술어 단어 간의 단어 유사도를 결정하고, 상기 인지 상황의 문장의 하나 이상의 인자(argument) 단어와 상기 사례 상황의 문장의 하나 이상의 인자 단어 간의 단어 유사도를 결정하고, 술어 단어 간의 단어 유사도에 가중치를 부여하고 인자 단어 간의 단어 유사도에 상기 가중치와는 상이한 가중치를 부여한 후에, 가중치가 부여된 술어 단어 간의 단어 유사도와 가중치가 부여된 인자 단어 간의 단어 유사도의 합산에 따라 상기 문장 유사도가 결정되며,
    상기 술어 단어 간의 단어 유사도는, 상기 단어 DB에서의 상기 인지 상황의 술어 단어의 위치와 상기 사례 상황의 술어 단어의 위치를 이용하여 결정되고,
    상기 인자 단어 간의 단어 유사도는, 상기 단어 DB에서의 상기 인지 상황의 인자 단어의 위치와 상기 사례 상황의 인자 단어의 위치를 이용하여 결정되는, 것을 특징으로 하는,
    유사도 결정 장치.
  12. 제11항에 있어서,
    상기 제어부는, 단어 간의 단어 유사도를 결정하기 위해서, 상기 인지 상황의 단어와 상기 사례 상황의 단어를 상기 단어 DB에서 검색하고, 상기 단어 DB에서 상기 인지 상황의 단어와 상기 사례 상황의 단어 간의 거리를 결정하고, 결정된 거리에 따라, 결정된 거리가 작을수록 단어 유사도가 커지도록 상기 인지 상황의 단어와 상기 사례 상황의 단어 간의 단어 유사도를 결정하며,
    상기 거리는 상기 인지 상황의 단어와 상기 사례 상황의 단어 사이에 위치하는 상기 단어 DB에서의 노드의 개수나 아크의 개수로 결정되거나 상기 단어 DB에서의 상기 인지 상황의 단어 위치를 나타내는 노드 인덱스와 상기 사례 상황의 단어 위치를 나타내는 노드 인덱스의 차이 값에 의해서 결정되는 것을 특징으로 하는,
    유사도 결정 장치.
KR1020110119264A 2011-11-16 2011-11-16 유사도 결정 방법 및 유사도 결정 장치 KR101265062B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110119264A KR101265062B1 (ko) 2011-11-16 2011-11-16 유사도 결정 방법 및 유사도 결정 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110119264A KR101265062B1 (ko) 2011-11-16 2011-11-16 유사도 결정 방법 및 유사도 결정 장치

Publications (1)

Publication Number Publication Date
KR101265062B1 true KR101265062B1 (ko) 2013-05-16

Family

ID=48666352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110119264A KR101265062B1 (ko) 2011-11-16 2011-11-16 유사도 결정 방법 및 유사도 결정 장치

Country Status (1)

Country Link
KR (1) KR101265062B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190135923A (ko) * 2018-05-29 2019-12-09 경희대학교 산학협력단 설비 관리 방법 및 이를 실행하는 장치
WO2023165723A1 (en) * 2022-03-02 2023-09-07 NEC Laboratories Europe GmbH Enterprise search engine with evidence-based next action recommendation
WO2024063417A1 (ko) * 2022-09-19 2024-03-28 삼성전자주식회사 전자 장치 및 그의 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060004683A1 (en) 2004-06-30 2006-01-05 Talbot Patrick J Systems and methods for generating a decision network from text
US20070283338A1 (en) 2006-06-02 2007-12-06 Rajeev Gupta System and method for matching a plurality of ordered sequences with applications to call stack analysis to identify known software problems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060004683A1 (en) 2004-06-30 2006-01-05 Talbot Patrick J Systems and methods for generating a decision network from text
US20070283338A1 (en) 2006-06-02 2007-12-06 Rajeev Gupta System and method for matching a plurality of ordered sequences with applications to call stack analysis to identify known software problems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hideo shimazu,'ExpertClerk: A Conversational Case-Based Reasoning Tool for Developing Salesclerk Agents in E-Commerce Webshops', Artificial Intelligence Review, vol. 18, pages 223-244, 2002
Sarah Jane Delany et al.,'A case-based technique for tracking concept drift in spam filtering', Knowledge-Based Systems, Vol.18, pages 187-195, August 2005

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190135923A (ko) * 2018-05-29 2019-12-09 경희대학교 산학협력단 설비 관리 방법 및 이를 실행하는 장치
KR102328842B1 (ko) * 2018-05-29 2021-11-22 경희대학교 산학협력단 설비 관리 방법 및 이를 실행하는 장치
WO2023165723A1 (en) * 2022-03-02 2023-09-07 NEC Laboratories Europe GmbH Enterprise search engine with evidence-based next action recommendation
WO2024063417A1 (ko) * 2022-09-19 2024-03-28 삼성전자주식회사 전자 장치 및 그의 제어 방법

Similar Documents

Publication Publication Date Title
US11366866B2 (en) Geographical knowledge graph
JP7253593B2 (ja) 意味解析モデルのトレーニング方法及び装置、電子機器並びに記憶媒体
US9773053B2 (en) Method and apparatus for processing electronic data
JP2020520485A (ja) 視覚的分析との相互作用のため語用論の原理を適用するシステムおよび方法
KR20150143473A (ko) 재계산 사용자 인터페이스 내의 신호 캡처 컨트롤
US11645479B1 (en) Method for AI language self-improvement agent using language modeling and tree search techniques
JP6629935B2 (ja) 文書のカテゴリ分類のためのディープラーニング学習方法およびそのシステム
CN111274358A (zh) 文本处理方法、装置、电子设备及存储介质
CN109918568A (zh) 个性化学习方法、装置、电子设备及存储介质
CN107391682B (zh) 知识验证方法、知识验证设备以及存储介质
KR20180066726A (ko) 주가 예측 장치 및 방법
CN111898636A (zh) 一种数据处理方法及装置
EP2843566A2 (en) Structured event log data entry from operator reviewed proposed text patterns
EP3195308A1 (en) Actions on digital document elements from voice
KR101265062B1 (ko) 유사도 결정 방법 및 유사도 결정 장치
JP6856557B2 (ja) 最適化装置及びハイパーパラメータの最適化方法
GB2611177A (en) Multi-task deployment method and electronic device
CN111160049A (zh) 文本翻译方法、装置、机器翻译系统和存储介质
CN116097246A (zh) 利用自动完成作为支持可视化分析的数据发现支架
WO2023103914A1 (zh) 文本情感分析方法、装置及计算机可读存储介质
Adachi et al. Towards better query coding support utilizing ontology mappings
CN110704613A (zh) 词汇数据库构建及查询方法、数据库系统、设备及介质
KR102254827B1 (ko) 딥러닝을 통한 패턴마이닝 이후 레코멘데이션 서비스
CN114386432A (zh) 语义识别方法、装置、机器人和智能设备
US20210357791A1 (en) System and method for storing and processing data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee