KR102113773B1 - 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치 - Google Patents

대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치 Download PDF

Info

Publication number
KR102113773B1
KR102113773B1 KR1020180086115A KR20180086115A KR102113773B1 KR 102113773 B1 KR102113773 B1 KR 102113773B1 KR 1020180086115 A KR1020180086115 A KR 1020180086115A KR 20180086115 A KR20180086115 A KR 20180086115A KR 102113773 B1 KR102113773 B1 KR 102113773B1
Authority
KR
South Korea
Prior art keywords
intention
keyword
keyword set
information
cluster
Prior art date
Application number
KR1020180086115A
Other languages
English (en)
Other versions
KR20200011251A (ko
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 KR1020180086115A priority Critical patent/KR102113773B1/ko
Publication of KR20200011251A publication Critical patent/KR20200011251A/ko
Application granted granted Critical
Publication of KR102113773B1 publication Critical patent/KR102113773B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering

Abstract

본 발명은 대화 인지를 위한 규칙 생성 방법을 제공한다. 본 발명에서 제공하는 대화 인지를 위한 규칙 생성 방법은 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 집합인 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 단계; 집합 간의 포함 관계에 기초하여, 적어도 하나의 키워드집합으로 구성된 복수의 의도군집 중에서 상기 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단하는 단계; 및 상기 판단 결과에 따라, 상기 입력키워드정보를 이용하여 상기 복수의 의도군집을 포함하는 KB(knowledge base)를 갱신하는 단계를 포함한다.

Description

대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치 {METHOD AND APPARATUS FOR GENERATING RULES FOR CONVERSATION RECOGNITION AND REASONING BASED ON THE RULES}
본 발명은 사용자의 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 장치에 관한 것으로, 보다 상세하게는, 사용자의 명령 또는 질의를 올바르게 인지하기 위하여 규칙을 자동으로 생성하고, 그 명령 또는 질의를 추론하는 방법 및 그 장치에 관한 것이다.
일반적 규칙 시스템에서는 규칙을 생성하기 위해 데이터 분석가가 구분력 좋은 주요 단어를 분석하고 선택하여 규칙을 생성한다. 즉, 규칙 자동 생성이 아닌 데이터와 관련된 특정 지식에 대한 키워드를 전문가가 직접 추출해내야만 규칙을 만들 수 있었다. 또한, 사용자의 대화 문장에서 주요 키워드를 추출하여 규칙을 생성하고 의도를 분석하는 방식으로 이 과정에서 생성된 규칙들의 관계를 정의하지 못했다.
그 결과, 단순 키워드 출현 여부 판단으로만 규칙을 활용하고 있다는 문제점이 있었고 규칙들 간의 모순 탐지 및 해결하기 어렵기 때문에 추론을 하기도 어려웠다. 또한, 질의어의 의도를 추론할 때 규칙들 간의 관계 정의 없이 저장된 규칙들을 이용하기 때문에, 다양한 어휘를 수용하기 어려운 문제점이 있었다.
따라서, 기존의 규칙 시스템의 규칙 생성 방법의 단점을 보완할 수 있는 자동적 규칙 생성 방법, 그 규칙 기반의 의도 추론 방법 및 그 장치에 관한 필요성이 대두되고 있다.
관련 선행기술로는 한국등록특허 제10-1187425호(발명의 명칭: 대화형 서비스 제공 시스템 및 방법, 등록일자: 2012년 9월 25일)가 있다.
본 발명은 사용자의 대화 의도를 파악하여, 사용자의 대화에 포함된 키워드의 집합을 그 키워드의 집합 간의 포함 관계에 따라 체계적으로 구성함으로써, 대화 인지를 위한 규칙을 자동으로 생성하는 방법 및 그 장치를 제공하고자 한다.
또한, 본 발명은 그 대화 인지를 위해 생성된 규칙을 이용하여 사용자의 의도를 추론하는 방법 및 그 장치를 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위해, 본 발명에서 제공하는 대화 인지를 위한 규칙 생성 방법은 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 집합인 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 단계; 집합 간의 포함 관계에 기초하여, 적어도 하나의 키워드집합으로 구성된 복수의 의도군집 중에서 상기 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단하는 단계; 및 상기 판단 결과에 따라, 상기 입력키워드정보를 이용하여 상기 복수의 의도군집을 포함하는 KB(knowledge base)를 갱신하는 단계를 포함한다.
바람직하게는, 상기 의도군집의 존재 여부를 판단하는 단계는 상기 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서에 기반하여, 상기 의도군집의 존재 여부를 판단할 수 있다.
바람직하게는, 상기 의도군집의 존재 여부를 판단하는 단계는 상기 복수의 의도군집 중에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합 간의 포함 관계가 성립하지 않는 하나의 의도군집을 상기 입력키워드정보에 대응되는 것으로 판단할 수 있다.
바람직하게는, 상기 의도군집의 존재 여부를 판단하는 단계는 상기 복수의 의도군집 각각에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합의 의도가 소정의 기준에 따라 동일한지 판단하는 단계; 및 상기 판단 결과 동일하면, 상기 의도가 동일한 2개의 키워드집합 간의 포함 관계에 기초하여, 선택적으로 의도군집에 포함된 키워드집합을 상기 입력키워드정보에 포함된 키워드집합으로 대체하는 단계를 포함할 수 있다.
바람직하게는, 상기 KB를 갱신하는 단계는 상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하면, 상기 입력키워드정보에 포함된 키워드집합을 상기 입력키워드정보에 대응되는 의도군집에 추가하는 단계; 및 상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하지 않으면, 상기 입력키워드정보에 포함된 키워드집합을 포함하는 새로운 의도군집을 상기 KB에 추가하는 단계를 포함할 수 있다.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 대화 인지를 위한 규칙 생성 장치는 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 집합인 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 전처리부; 집합 간의 포함 관계에 기초하여, 적어도 하나의 키워드집합으로 구성된 복수의 의도군집 중에서 상기 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단하는 판단부; 및 상기 판단 결과에 따라, 상기 입력키워드정보를 이용하여 상기 복수의 의도군집을 포함하는 KB(knowledge base)를 갱신하는 갱신부를 포함한다.
바람직하게는, 상기 판단부는 상기 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서에 기반하여, 상기 의도군집의 존재 여부를 판단할 수 있다.
바람직하게는, 상기 판단부는 상기 복수의 의도군집 중에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합 간의 포함 관계가 성립하지 않는 하나의 의도군집을 상기 입력키워드정보에 대응되는 것으로 판단할 수 있다.
바람직하게는, 상기 판단부는 상기 복수의 의도군집 각각에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합의 의도가 소정의 기준에 따라 동일한지 판단하고, 상기 판단 결과 동일하면, 상기 의도가 동일한 2개의 키워드집합 간의 포함 관계에 기초하여, 선택적으로 의도군집에 포함된 키워드집합을 상기 입력키워드정보에 포함된 키워드집합으로 대체할 수 있다.
바람직하게는, 상기 갱신부는 상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하면, 상기 입력키워드정보에 포함된 키워드집합을 상기 입력키워드정보에 대응되는 의도군집에 추가하고, 상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하지 않으면, 상기 입력키워드정보에 포함된 키워드집합을 포함하는 새로운 의도군집을 상기 KB에 추가할 수 있다.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 규칙 기반의 의도 추론 방법은 적어도 하나의 키워드집합으로 구성된 복수의 의도군집을 포함하는 KB(knowledge base)를 이용하여 사용자의 의도를 추론하는 방법에 있어서, 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 단계; 및 상기 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 중에서 상기 입력키워드정보에 포함된 키워드집합을 포함하는 키워드집합을 결정하는 단계를 포함하고, 상기 키워드집합을 결정하는 단계는 상기 복수의 의도군집 간에 적어도 하나의 키워드집합의 포함 관계에 따른 순서의 역순에 기반하여, 상기 키워드집합을 결정한다.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 규칙 기반의 의도 추론 장치는 적어도 하나의 키워드집합으로 구성된 복수의 의도군집을 포함하는 KB(knowledge base)를 이용하여 사용자의 의도를 추론하는 장치에 있어서, 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 전처리부; 및 상기 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 중에서 상기 입력키워드정보에 포함된 키워드집합을 포함하는 키워드집합을 결정하는 결정부를 포함하고, 상기 결정부는 상기 복수의 의도군집 간에 적어도 하나의 키워드집합의 포함 관계에 따른 순서의 역순에 기반하여, 상기 키워드집합을 결정할 수 있다.
본 발명의 일 실시예에 따른 대화 인지를 위한 규칙 생성 방법은 사용자의 대화 의도를 파악하여, 사용자의 대화에 포함된 키워드의 집합을 그 키워드의 집합 간의 포함 관계에 따른 순서로 체계적으로 구성함으로써, 사용자의 대화 의도를 군집 단위로 분리하여 규칙을 자동으로 생성할 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 규칙 기반의 의도 추론 방법은 사용자의 대화에 관하여, 사용자의 대화 의도에 따라 군집단위로 분리된 규칙을 역순으로 적용하여 그 의도를 추론함으로써, 완전성(completeness) 및 건전성(soundness)을 확보할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 대화 인지를 위한 규칙 생성 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 대화 인지를 위한 규칙 생성 장치의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 규칙 기반의 의도 추론 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 규칙 기반의 의도 추론 장치의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 규칙 생성 방법의 의사코드(pseudo code)이다.
도 6은 본 발명의 일 실시예에 따른 의도 추론 방법의 의사코드(pseudo code)이다.
도 7은 본 발명의 일 실시예에 따른 의도군집의 구성을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 의도군집을 이용한 사용자 의도 추론 과정을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명은 글을 통해 이루어지는 대화(예, 채팅 서비스, 메신저 서비스 등)뿐만 아니라 말을 통해 이루어지는 대화(예, 음성인식 인공지능(AI) 스피커, 무인전화 서비스)에 적용될 수 있으나, 이에 제한되는 것은 아니며 다른 형태로 이루어지는 대화에도 적용될 수 있음은 통상의 기술자에게 자명할 것이다. 또한, 본 발명의 대화는 한국어뿐만 아니라 모든 종류의 외국어로 된 대화일 수 있다.
도 1은 본 발명의 일 실시예에 따른 대화 인지를 위한 규칙 생성 방법의 흐름도이다.
단계 S110에서는, 규칙 생성 장치가 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 집합인 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출한다.
예컨대, 규칙 생성 장치는 규칙 생성의 전처리 과정으로서 품사 분석(POS tagging)을 통해, 대화데이터에 포함된 단어 중에서 키워드로서 큰 역할을 담당하지 않는 감탄사, 문장부호, 조사, 부사 등의 불필요한 특정 품사를 제거하여 키워드집합을 추출할 수 있다. 또한, 한국어가 아닌 외국어로 수행되는 대화인 경우에, 규칙 생성 장치가 해당 외국어의 특성에 맞도록 품사 분석 등의 분석을 수행하여, 키워드집합을 추출할 수 있음은 물론이다.
단계 S120에서는, 규칙 생성 장치가 집합 간의 포함 관계에 기초하여, 적어도 하나의 키워드집합으로 구성된 복수의 의도군집 중에서 상기 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단한다.
여기서, 의도군집은 서로 간에 포함 관계가 성립하지 않는 적어도 하나의 키워드집합을 모아놓은 군집일 수 있다.
예컨대, {'노원구', '후보', '가르쳐줘'}의 키워드집합 A와 {'양천구', '구청장', '후보', '가르쳐줘'}의 키워드집합 B를 가정할 수 있다. 이때, 키워드집합 A와 B는 A⊃B의 포함 관계가 성립하지 않으면서, 동시에 A⊂B의 포함 관계가 성립하지 않기 때문에, 서로 간에 포함 관계가 성립하지 않아 하나의 의도군집에 포함될 수 있다.
반면에, {'노원구', '후보', '가르쳐줘'}의 키워드집합 C와 {'노원구', '구청장', '후보', '가르쳐줘'}의 키워드집합 D의 경우에는, C⊂D의 포함 관계가 성립하기 때문에, 키워드집합 C와 D는 하나의 의도군집에 포함될 수 없다.
이때, 규칙 생성 장치는 그 입력키워드정보에 포함된 키워드집합에 대하여, 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 모두와 포함 관계를 판단할 수 있다. 그리고, 규칙 생성 장치는 그 포함 관계에 관한 판단 결과를 이용하여 복수의 의도군집 중에서 입력키워드정보에 대응되는 의도군집이 존재하는지 판단할 수 있다.
이때, 판단 결과로는 i) 복수의 의도군집 중 입력키워드정보에 대응되는 의도군집의 존재한다는 결과, ii) 복수의 의도군집 중 입력키워드정보에 대응되는 의도군집의 존재하지 않는다는 결과 등이 있을 수 있다.
또 다른 실시예에서는, 규칙 생성 장치가 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서에 기반하여, 의도군집의 존재 여부를 판단할 수 있다.
예컨대, 규칙 생성 장치는 복수의 의도군집 중에서 가장 작은 수의 원소를 포함하는 키워드집합을 포함하는 의도군집에서부터 판단을 시작할 수 있다. 즉, 도 7을 참조하면, 규칙 생성 장치는 2개의 원소만을 포함하는 키워드집합인 {'후보', '가르쳐줘'}을 포함하는 의도군집#1에서부터 판단을 시작할 수 있다.
그리고, 규칙 생성 장치는 의도군집#1의 {'후보', '가르쳐줘'} 키워드집합을 부분집합으로 하는 키워드집합인 {'양천구', '구청장', '후보', '가르쳐줘'}, {'노원구', '후보', '가르쳐줘'}, {'원주', '시장', '후보', '가르쳐줘'}를 포함하는 의도군집#2에 대하여 판단할 수 있다. 그리고, 규칙 생성 장치는 의도군집#2의 {'노원구', '후보', '가르쳐줘'} 키워드집합을 부분집합으로 하는 키워드집합인 {'노원구', '시장', '후보', '가르쳐줘'}를 포함하는 의도군집#3에 대하여 판단할 수 있다.
이때, 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서는 의도군집#1에 포함된 어떤 하나의 키워드집합이 의도군집#2에 포함된 어떤 하나의 키워드집합에 포함되는 관계가 존재하고, 의도군집#2에 포함된 어떤 하나의 키워드집합이 의도군집#3에 포함된 어떤 하나의 키워드집합에 포함되는 관계가 존재할 때, 의도군집#1, 의도군집#2, 의도군집#3의 순서를 의미할 수 있다.
이처럼, 규칙 생성 장치가 가장 작은 수의 원소를 포함하는 키워드집합을 포함하는 의도군집에서부터 시작하여, 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서에 따라 의도 군집의 존재 여부를 판단함으로써, 보다 일반적인 내용에 관한 키워드집합을 포함하는 의도군집에서부터 보다 구체적인 내용에 관한 키워드집합을 포함하는 의도군집의 순서로 의도군집의 존재 여부를 판단해 나갈 수 있다. 즉, 규칙 생성 장치가 키워드의 개수가 비교적 적은 키워드집합으로 구성된 의도군집에서 키워드의 개수가 비교적 많은 키워드집합으로 구성된 의도군집의 순서로 대응되는 의도군집의 존재 여부를 판단할 수 있다.
그 결과, 규칙 생성 장치는 그 입력키워드정보에 포함된 키워드집합에 대하여, 가장 일반적인 내용을 포함하는 의도군집을 대응되는 의도군집으로 판단할 수 있게 된다. 즉, 규칙 생성 장치가 복수의 의도군집을 보다 일반적인 내용에 관한 키워드집합을 포함하는 의도군집에서 보다 구체적인 내용에 관한 키워드집합을 포함하는 의도군집의 순서로 체계적으로 유지할 수 있게 된다.
또 다른 실시예에서는, 규칙 생성 장치가 복수의 의도군집 중에서 적어도 하나의 키워드집합 각각과 입력키워드정보에 포함된 키워드집합 간의 포함 관계가 성립하지 않는 의도군집을 그 입력키워드정보에 대응되는 것으로 판단할 수 있다.
예컨대, 도 7을 참조하면, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'강남구', '후보', '가르쳐줘'}에 대하여, 의도군집#1, 의도군집#2, 각각에 포함된 적어도 하나의 키워드집합과의 포함 관계를 판단할 수 있다.
보다 구체적으로, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'강남구', '후보', '가르쳐줘'}는 의도군집#1의 키워드집합 {'후보', '가르쳐줘'}와 포함 관계가 성립하고, 의도군집#2의 키워드집합 {'양천구', '구청장', '후보', '가르쳐줘'}, {'노원구', '후보', '가르쳐줘'}, {'원주', '시장', '후보', '가르쳐줘'}과 포함 관계가 성립하지 않는 것을 판단할 수 있다. 이때, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'강남구', '후보', '가르쳐줘'}는 의도군집#2에 대응되는 것으로 판단할 수 있다.
또 다른 실시예에서는, 규칙 생성 장치가 복수의 의도군집 각각에 포함된 키워드집합에 해당하는 일반-세부 규칙(general-specific rule)을 입력키워드정보에 포함된 키워드집합에 기초하여 갱신할 수 있다.
첫번째로, 규칙 생성 장치는 복수의 의도군집 각각에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 입력키워드정보에 포함된 키워드집합의 의도가 소정의 기준에 따라 동일한지 판단할 수 있다.
예컨대, 규칙 생성 장치는, 의도군집에 포함된 키워드집합이 {'양천구', '후보', '좀', '가르쳐줘'}이고, 입력키워드정보에 포함된 키워드집합이 {'양천구', '후보', '가르쳐줘'}라고 가정할 때, 그 2개의 키워드집합의 의도는 모두 “양천구의 후보를 가르쳐달라”는 것으로 동일하다고 판단할 수 있다. 이는, 규칙 생성 장치가 '좀'이라는 키워드에 대하여, 의미있는 사용자의 의도를 포함하고 있지 않다고 판단할 수 있기 때문이다.
이때, 규칙 생성 장치는 개념적 포함관계(subsumption)의 추론(reasoning)과 같이 집합적 해석을 통해 의도를 파악할 수 있다. 개념적 포함관계란, 기술형 논리(description logic)의 온톨로지(ontology)의 분류체계(taxonomy)에서 개념의 상하 관계를 의미할 수 있다. 예컨대, 남자 개념: 사람 개념의 하위개념논리추론엔진의 태블러(Tableau) 알고리즘은 수학적 해석을 위해 개념의 정의를 인스턴스의 집합으로 하고 있으며, 개념적 관계 상하관계가 인스턴스의 집합 포함관계에서도 보장될 수 있다.
두번째로, 규칙 생성 장치는 그 판단 결과가 동일하면, 그 의도가 동일한 2개의 키워드집합 간의 포함 관계에 기초하여, 선택적으로 의도군집에 포함된 키워드집합을 상기 입력키워드정보에 포함된 키워드집합으로 대체할 수 있다.
예컨대, 규칙 생성 장치는, 의도군집에 포함된 키워드집합 {'양천구', '후보', '좀', '가르쳐줘'}와 입력키워드정보에 포함된 키워드집합 {'양천구', '후보', '가르쳐줘'}을 의도가 동일한 2개의 키워드집합으로 판단할 수 있다. 그리고, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합이 의도군집에 포함된 키워드집합의 부분집합이면, 의도군집에 포함된 키워드집합을 상기 입력키워드정보에 포함된 키워드집합으로 대체할 수 있다.
보다 구체적으로, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'양천구', '후보', '가르쳐줘'}이 의도군집에 포함된 키워드집합 {'양천구', '후보', '좀', '가르쳐줘'}의 부분집합이므로, 의도군집에 포함된 키워드집합을 상기 입력키워드정보에 포함된 키워드집합으로 대체할 수 있다.
그 결과, 규칙 생성 장치는 동일한 의도를 갖는 키워드집합 중에서, 가장 간결하고 명확한 키워드집합에 대응되는 일반-세부 규칙을 확보할 수 있다. 이는, 도 5를 참조하면, 6~8번째 줄에 관련된 내용을 나타내는 의사코드가 나타나 있다.
마지막으로 단계 S130에서는, 규칙 생성 장치가 그 판단 결과에 따라, 입력키워드정보를 이용하여 복수의 의도군집을 포함하는 KB(knowledge base)를 갱신한다.
즉, 규칙 생성 장치는 앞선 단계 S120의 판단 결과에 따라서, 복수의 의도군집을 포함하는 KB를 갱신할 수 있다.
다른 실시예에서는, 규칙 생성 장치가 복수의 의도군집 중 입력키워드정보에 대응되는 의도군집의 존재 여부에 따라, 상이한 방법으로 KB를 갱신할 수 있다.
우선, 규칙 생성 장치는 복수의 의도군집 중 입력키워드정보에 대응되는 의도군집의 존재하면, 입력키워드정보에 포함된 키워드집합을 그 대응되는 의도군집에 추가할 수 있다.
즉, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합과 복수의 의도군집 중 어떤 하나의 의도군집에 포함된 적어도 하나의 키워드집합 전부 간의 포함 관계가 성립하지 않는 경우, 그 입력키워드정보에 포함된 키워드집합을 그 어떤 하나의 의도군집에 추가할 수 있다.
예컨대, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'강남구', '후보', '가르쳐줘'}는 의도군집#1의 키워드집합 {'후보', '가르쳐줘'}와 포함 관계가 성립하고, 의도군집#2의 키워드집합 {'양천구', '구청장', '후보', '가르쳐줘'}, {'노원구', '후보', '가르쳐줘'}, {'원주', '시장', '후보', '가르쳐줘'}와 포함 관계가 성립하지 않는 것을 판단할 수 있다. 이때, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'강남구', '후보', '가르쳐줘'}를 의도군집#2에 대응되는 것으로 판단하여, 의도군집#2에 추가할 수 있다.
다음으로, 규칙 생성 장치는 복수의 의도군집 중 입력키워드정보에 대응되는 의도군집의 존재하지 않으면, 입력키워드정보에 포함된 키워드집합을 포함하는 새로운 의도군집을 복수의 의도군집을 포함하는 KB에 추가할 수 있다.
즉, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합과 복수의 의도군집 각각에 포함된 키워드집합 중 하나 간에 포함 관계가 성립하는 경우, 새로운 의도군집을 생성하고 그 입력키워드정보에 포함된 키워드집합을 그 새로운 의도군집에 추가할 수 있다. 또한, 규칙 생성 장치는 그 새로운 의도군집을 KB에 추가할 수 있다. 이때, KB에 포함된 의도군집의 개수가 +1만큼 증가할 수 있다.
예컨대, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'유아', '물놀이', '상품', '추천해줘'}는 의도군집#1의 키워드집합 {'상품', '추천해줘'}와 포함 관계가 성립하고, 의도군집#2의 키워드집합 {'물놀이', '상품', '추천해줘'}, {'휴가', '상품', '추천해줘'}와도 포함 관계가 성립한다. 이때, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합 {'유아', '물놀이', '상품', '추천해줘'}이 의도군집#1 및 #2와 모두 포함 관계가 성립하므로, 새로운 의도군집을 생성하여 그 새로운 의도군집에 입력키워드정보에 포함된 키워드집합 {'유아', '물놀이', '상품', '추천해줘'}을 추가할 수 있다.
한편, 규칙 생성 장치는 입력키워드정보에 포함된 키워드집합과 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 간에 어떤 포함 관계도 성립하지 않는 경우에, 입력키워드정보에 포함된 키워드집합을 이용하여 새로운 KB를 생성할 수 있다.
예컨대, 규칙 생성 장치는 선거에 입후보한 후보에 대한 정보를 문의하는 내용에 관련된 KB#1이 존재한다고 가정하면, 입력키워드정보가 상품 추천을 요청하는 내용일 때, 입력키워드정보에 포함된 키워드집합과 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 간에 어떤 포함 관계도 성립하지 않을 것이므로, 새로운 KB#2를 생성할 수 있다. 이때, 입력키워드정보에 포함된 키워드집합을 포함하는 의도군집이 새롭게 생성되어 KB#2에 추가될 수 있음은 물론이다.
또 다른 실시예에서는, 규칙 생성 장치가 입력키워드정보에 포함된 키워드집합을 이용하여, 다음과 같은 방법으로 복수의 의도군집을 포함하는 KB를 갱신할 수 있다.
여기서, 규칙 생성 장치는 의도군집에 대응되는 의도와 입력키워드정보에 대응되는 의도가 일치하지 않는 경우를, 모순(contradiction)이 발생한 것으로 볼 수 있다. 또한, 복수의 의도군집 각각은 키워드집합의 포함 관계에 따른 순서로 구성되어 있다고 가정할 수 있다.
예컨대, 규칙 생성 장치는 의도군집 R0에서 Ri까지 총 i+1개의 의도군집이 키워드집합의 포함 관계에 따른 순서로 구성되었을 때, j번째 의도군집 Rj(단 j < i)에 포함된 키워드집합 중 하나인 rj이 입력키워드정보에 포함된 키워드집합 ttokens의 부분집합(즉, rj ⊂ ttokens)인 경우를 가정할 수 있다. 이때, 규칙 생성 장치는 j+1번째 의도군집 Rj+1에 포함된 적어도 하나의 키워드집합 rj+1 각각과 ttokens의 포함 관계를 판단할 수 있다. 마찬가지로, 규칙 생성 장치는 순차적으로 Rj+2, Rj+3 등에 대하여 ttokens과의 포함 관계를 판단할 수 있으며, 이는 모든 의도군집에 대하여 포함 관계를 판단하는 과정이 완료되거나 포함 관계가 존재하지 않는 의도군집이 발견될 때까지 계속될 수 있다. 이 내용은, 도 5를 참조하면, 11~12번째 줄에 나타나 있다.
이때, 규칙 생성 장치는, 만일 j+1번째 의도군집에 포함된 키워드집합 중 하나인 rj+1이 ttokens을 부분집합으로 하면(즉, ttokens ⊂ rj+1), ttokens이 포함된 새로운 의도군집을 j+1번째 의도군집으로 하고, 기존의 j+1번째 의도군집인 Rj+1를 j+2번째 의도군집 Rj+2로 할 수 있다. 이 내용은, 도 5를 참조하면, 13~14번째 줄에 나타나 있다.
이와 같이, 본 발명의 일 실시예에 따른 대화 인지를 위한 규칙 생성 방법은 사용자의 대화 의도를 파악하여, 사용자의 대화에 포함된 키워드의 집합을 그 키워드의 집합 간의 포함 관계에 따른 순서로 체계적으로 구성함으로써, 사용자의 대화 의도를 군집 단위로 분리하여 규칙을 자동으로 생성할 수 있는 효과가 있다.
도 2는 본 발명의 일 실시예에 따른 대화 인지를 위한 규칙 생성 장치의 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 대화 인지를 위한 규칙 생성 장치(200)는 전처리부(210), 판단부(220) 및 갱신부(230)를 포함한다.
이때, 규칙 생성 장치(310)는 PC, 노트북, 서버컴퓨터, 스마트폰, 태블릿 및 음성인식 인공지능(AI) 스피커 등에 탑재되어 사용자의 대화 인지를 위한 규칙 생성을 위해 사용될 수 있다.
전처리부(210)는 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 집합인 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출한다.
판단부(220)는 집합 간의 포함 관계에 기초하여, 적어도 하나의 키워드집합으로 구성된 복수의 의도군집 중에서 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단한다.
다른 실시예에서는, 판단부(220)는 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서에 기반하여, 의도군집의 존재 여부를 판단할 수 있다.
또 다른 실시예에서는, 판단부(220)는 복수의 의도군집 중에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 입력키워드정보에 포함된 키워드집합 간의 포함 관계가 성립하지 않는 하나의 의도군집을 입력키워드정보에 대응되는 것으로 판단할 수 있다.
또 다른 실시예에서는, 판단부(220)는 복수의 의도군집 각각에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 입력키워드정보에 포함된 키워드집합의 의도가 소정의 기준에 따라 동일한지 판단하고, 그 판단 결과 동일하면, 의도가 동일한 2개의 키워드집합 간의 포함 관계에 기초하여, 선택적으로 의도군집에 포함된 키워드집합을 입력키워드정보에 포함된 키워드집합으로 대체할 수 있다.
갱신부(230)는 그 판단 결과에 따라, 입력키워드정보를 이용하여 복수의 의도군집을 포함하는 KB(knowledge base)를 갱신한다.
다른 실시예에서는, 갱신부(230)는 복수의 의도군집 중 입력키워드정보에 대응되는 의도군집의 존재하면, 입력키워드정보에 포함된 키워드집합을 입력키워드정보에 대응되는 의도군집에 추가하고, 복수의 의도군집 중 입력키워드정보에 대응되는 의도군집의 존재하지 않으면, 입력키워드정보에 포함된 키워드집합을 포함하는 새로운 의도군집을 KB에 추가할 수 있다.
도 3은 본 발명의 일 실시예에 따른 규칙 기반의 의도 추론 방법의 흐름도이다.
이때, 의도 추론 장치는 적어도 하나의 키워드집합으로 구성된 복수의 의도군집을 포함하는 KB를 이용하여 규칙 기반의 의도 추론을 수행할 수 있다.
단계 S310에서는, 의도 추론 장치가 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출한다.
예컨대, 의도 추론 장치는 의도 추론의 전처리 과정으로서 품사 분석(POS tagging)을 통해, 대화데이터에 포함된 단어 중에서 키워드로서 큰 역할을 담당하지 않는 감탄사, 문장부호, 조사, 부사 등의 불필요한 특정 품사를 제거하여 키워드집합을 추출할 수 있다. 또한, 한국어가 아닌 외국어로 수행되는 대화인 경우에, 의도 추론 장치가 해당 외국어의 특성에 맞도록 품사 분석 등의 분석을 수행하여, 키워드집합을 추출할 수 있음은 물론이다.
마지막으로 단계 S320에서는, 의도 추론 장치가 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 중에서 입력키워드정보에 포함된 키워드집합을 부분집합으로 갖는 키워드집합을 결정한다.
이때, 의도 추론 장치는 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서의 역순에 기반하여, 키워드집합을 결정할 수 있다.
한편, 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서의 역순은 의도군집#1에 포함된 어떤 하나의 키워드집합이 의도군집#2에 포함된 어떤 하나의 키워드집합에 포함되는 관계가 존재하고, 의도군집#2에 포함된 어떤 하나의 키워드집합이 의도군집#3에 포함된 어떤 하나의 키워드집합에 포함되는 관계가 존재할 때, 의도군집#3, 의도군집#2, 의도군집#1의 순서를 의미할 수 있다.
즉, 의도 추론 장치는 복수의 의도군집은 키워드집합의 포함 관계에 따른 순서의 역순에 따라서 가장 많은 키워드를 포함하는 의도군집에서부터 시작하여 가장 적은 키워드를 포함하는 의도군집까지의 순서로, 입력키워드정보에 대응되는 키워드집합과 의도군집에 포함된 적어도 하나의 키워드집합 각각과의 포함 관계를 판단하여, 그 입력키워드정보에 포함된 키워드집합을 부분집합으로 갖는 키워드집합을 결정할 수 있다. 그리고, 그 결정된 키워드집합으로부터 사용자의 의도를 추론할 수 있다.
다시 말하면, 의도 추론 장치는 입력키워드정보에 포함된 키워드집합의 의도를 보다 정확하게 추론하고 다양한 어휘를 수용하기 위해서, KB에 포함된 복수의 의도군집 중에서 가장 세부적인(specific) 규칙을 포함하는 의도군집에서부터 가장 일반적인(general) 규칙을 포함하는 의도군집의 순서로 추론을 진행할 수 있다.
예컨대, 도 5을 참조하면, 의도 추론 장치는 키워드집합의 포함 관계에 따른 순서의 역순(5번째 줄의 reverse_sort 함수 사용)으로, 그 입력키워드정보에 포함된 키워드집합을 부분집합으로 갖는 키워드집합을 결정(6번째 줄)하여, 그 의도를 추론할 수 있다.
보다 구체적으로, 도 8을 참조하면, 의도 추론 장치는 입력키워드정보에 포함된 키워드집합인 {'원주', '후보', '가르쳐줘'}에 대하여 의도군집 #3에서부터, 의도군집 #2, 의도군집 #1의 순서로, 키워드집합의 포함 관계에 따른 순서의 역순으로 동일한 의도를 가지는 의도군집에 관한 추론을 수행할 수 있다. 그리고, 그 결과, 의도 추론 장치는 의도군집#2에 포함된 키워드집합인 {'원주', '시장', '후보', '가르쳐줘'}가 입력키워드정보에 포함된 키워드집합인 {'원주', '후보', '가르쳐줘'}를 부분집합으로 갖고 있으므로, 사용자의 의도에 대응되는 키워드집합으로 결정할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 규칙 기반의 의도 추론 방법은 사용자의 대화에 관하여, 사용자의 대화 의도에 따라 군집단위로 분리된 규칙을 역순으로 적용하여 그 의도를 추론함으로써, 추론의 완전성 및 건전성을 확보할 수 있는 효과가 있다.
도 4는 본 발명의 일 실시예에 따른 규칙 기반의 의도 추론 장치의 블록도이다.
도 4를 참조하면 본 발명의 일 실시예에 따른 규칙 기반의 의도 추론 장치(400)는 전처리부(210) 및 결정부(410)를 포함한다.
이때, 의도 추론 장치(400)는 PC, 노트북, 서버컴퓨터, 스마트폰, 태블릿 및 음성인식 인공지능(AI) 스피커 등에 탑재되어 사용자의 대화 의도를 추론하기 위하여 사용될 수 있다.
전처리부(210)는 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출한다.
결정부(410)는 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 중에서 입력키워드정보에 포함된 키워드집합을 부분집합으로 갖는 키워드집합을 결정한다.
이때, 결정부(510)는 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서의 역순에 기반하여, 상기 키워드집합을 결정할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (12)

  1. 전처리부가, 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 집합인 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 단계;
    판단부가, 집합 간의 포함 관계에 기초하여, 적어도 하나의 키워드집합으로 구성된 복수의 의도군집 중에서 상기 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단하는 단계; 및
    갱신부가, 상기 판단 결과에 따라, 상기 입력키워드정보를 이용하여 상기 복수의 의도군집을 포함하는 KB(knowledge base)를 갱신하는 단계를 포함하고,
    상기 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단하는 단계에서 상기 복수의 의도군집은 서로 간의 포함 관계가 성립되지 않는 적어도 하나의 키워드 집합을 모아놓은 군집인 것을 특징으로 하는 대화 인지를 위한 규칙 생성 방법.
  2. 제1항에 있어서,
    상기 의도군집의 존재 여부를 판단하는 단계는
    상기 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서에 기반하여, 상기 의도군집의 존재 여부를 판단하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 방법.
  3. 제2항에 있어서,
    상기 의도군집의 존재 여부를 판단하는 단계는
    상기 복수의 의도군집 중에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합 간의 포함 관계가 성립하지 않는 하나의 의도군집을 상기 입력키워드정보에 대응되는 것으로 판단하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 방법.
  4. 제1항에 있어서,
    상기 의도군집의 존재 여부를 판단하는 단계는
    상기 복수의 의도군집 각각에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합의 의도가 소정의 기준에 따라 동일한지 판단하는 단계; 및
    상기 판단 결과 동일하면, 상기 의도가 동일한 2개의 키워드집합 간의 포함 관계에 기초하여, 선택적으로 의도군집에 포함된 키워드집합을 상기 입력키워드정보에 포함된 키워드집합으로 대체하는 단계
    를 포함하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 방법.
  5. 제1항에 있어서,
    상기 KB를 갱신하는 단계는
    상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하면, 상기 입력키워드정보에 포함된 키워드집합을 상기 입력키워드정보에 대응되는 의도군집에 추가하는 단계; 및
    상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하지 않으면, 상기 입력키워드정보에 포함된 키워드집합을 포함하는 새로운 의도군집을 상기 KB에 추가하는 단계
    를 포함하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 방법.
  6. 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 집합인 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 전처리부;
    집합 간의 포함 관계에 기초하여, 적어도 하나의 키워드집합으로 구성된 복수의 의도군집 중에서 상기 입력키워드정보에 대응되는 의도군집의 존재 여부를 판단하는 판단부; 및
    상기 판단 결과에 따라, 상기 입력키워드정보를 이용하여 상기 복수의 의도군집을 포함하는 KB(knowledge base)를 갱신하는 갱신부를 포함하고,
    상기 복수의 의도군집은 서로 간의 포함 관계가 성립되지 않는 적어도 하나의 키워드 집합을 모아놓은 군집인 것을 특징으로 하는 대화 인지를 위한 규칙 생성 장치.
  7. 제6항에 있어서,
    상기 판단부는
    상기 복수의 의도군집 간의 적어도 하나의 키워드집합의 포함 관계에 따른 순서에 기반하여, 상기 의도군집의 존재 여부를 판단하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 장치.
  8. 제7항에 있어서,
    상기 판단부는
    상기 복수의 의도군집 중에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합 간의 포함 관계가 성립하지 않는 하나의 의도군집을 상기 입력키워드정보에 대응되는 것으로 판단하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 장치.
  9. 제6항에 있어서,
    상기 판단부는
    상기 복수의 의도군집 각각에서, 의도군집에 포함된 적어도 하나의 키워드집합 각각과 상기 입력키워드정보에 포함된 키워드집합의 의도가 소정의 기준에 따라 동일한지 판단하고,
    상기 판단 결과 동일하면, 상기 의도가 동일한 2개의 키워드집합 간의 포함 관계에 기초하여, 선택적으로 의도군집에 포함된 키워드집합을 상기 입력키워드정보에 포함된 키워드집합으로 대체하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 장치.
  10. 제6항에 있어서,
    상기 갱신부는
    상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하면, 상기 입력키워드정보에 포함된 키워드집합을 상기 입력키워드정보에 대응되는 의도군집에 추가하고,
    상기 복수의 의도군집 중 상기 입력키워드정보에 대응되는 의도군집의 존재하지 않으면, 상기 입력키워드정보에 포함된 키워드집합을 포함하는 새로운 의도군집을 상기 KB에 추가하는 것을 특징으로 하는 대화 인지를 위한 규칙 생성 장치.
  11. 적어도 하나의 키워드집합으로 구성된 복수의 의도군집을 포함하는 KB(knowledge base)를 이용하여 사용자의 의도를 추론하는 방법에 있어서,
    전처리부가, 사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 단계; 및
    결정부가, 상기 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 중에서 상기 입력키워드정보에 포함된 키워드집합을 포함하는 키워드집합을 결정하는 단계
    를 포함하고,
    상기 키워드집합을 결정하는 단계는
    상기 복수의 의도군집 간에 적어도 하나의 키워드집합의 포함 관계에 따른 순서의 역순에 기반하여, 상기 키워드집합을 결정하고,
    상기 키워드집합을 결정하는 단계는 가장 많은 키워드를 포함하는 의도군집에서 가장 적은 키워드를 포함하는 의도군집의 순서로 키워드집합을 결정하는 것을 특징으로 하는 규칙 기반의 의도 추론 방법.
  12. 적어도 하나의 키워드집합으로 구성된 복수의 의도군집을 포함하는 KB(knowledge base)를 이용하여 사용자의 의도를 추론하는 장치에 있어서,
    사용자의 대화에 관한 정보를 포함하는 대화데이터로부터 적어도 하나의 키워드로 구성된 키워드집합에 관한 정보를 포함하는 입력키워드정보를 추출하는 전처리부; 및
    상기 복수의 의도군집 각각에 포함된 적어도 하나의 키워드집합 중에서 상기 입력키워드정보에 포함된 키워드집합을 포함하는 키워드집합을 결정하는 결정부
    를 포함하고,
    상기 결정부는
    상기 복수의 의도군집 간에 적어도 하나의 키워드집합의 포함 관계에 따른 순서의 역순에 기반하여, 상기 키워드집합을 결정하고,
    상기 결정부는 가장 많은 키워드를 포함하는 의도군집에서 가장 적은 키워드를 포함하는 의도군집의 순서로 키워드집합을 결정하는 것을 특징으로 하는 규칙 기반의 의도 추론 장치.
KR1020180086115A 2018-07-24 2018-07-24 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치 KR102113773B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180086115A KR102113773B1 (ko) 2018-07-24 2018-07-24 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180086115A KR102113773B1 (ko) 2018-07-24 2018-07-24 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치

Related Child Applications (5)

Application Number Title Priority Date Filing Date
KR1020200022832A Division KR20200023621A (ko) 2020-02-25 2020-02-25 대화 인지를 위한 규칙기반의 사용자 의도 추론 방법
KR1020200022802A Division KR20200023619A (ko) 2020-02-25 2020-02-25 대화 인지를 위한 규칙 기반의 의도 추론 방법
KR1020200022792A Division KR20200023618A (ko) 2020-02-25 2020-02-25 대화 인지를 위한 규칙 생성 장치
KR1020200022814A Division KR20200023342A (ko) 2020-02-25 2020-02-25 대화 인지를 위한 규칙 기반의 의도 추론 장치
KR1020200022823A Division KR102106250B1 (ko) 2020-02-25 2020-02-25 대화 인지를 위한 규칙기반의 사용자 의도 추론 장치

Publications (2)

Publication Number Publication Date
KR20200011251A KR20200011251A (ko) 2020-02-03
KR102113773B1 true KR102113773B1 (ko) 2020-05-21

Family

ID=69627173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180086115A KR102113773B1 (ko) 2018-07-24 2018-07-24 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치

Country Status (1)

Country Link
KR (1) KR102113773B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989000B (zh) * 2021-03-29 2023-07-04 网易(杭州)网络有限公司 意图识别系统更新方法、装置、电子设备及存储介质
CN115146653B (zh) * 2022-07-21 2023-05-02 平安科技(深圳)有限公司 对话剧本构建方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
KR100896702B1 (ko) * 2007-08-16 2009-05-14 한국과학기술원 신뢰도를 향상시킨 문서 구조 기반 군집 장치 및 방법
KR100980578B1 (ko) * 2008-03-31 2010-09-06 엔에이치엔비즈니스플랫폼 주식회사 확장된 키워드를 등록하여 검색결과를 제공하는 시스템 및방법
KR101086996B1 (ko) * 2008-10-30 2011-11-29 주식회사 케이티 온톨로지 생성 장치 및 그 방법
KR102050431B1 (ko) * 2012-12-14 2019-12-02 한국전자통신연구원 자연어 처리 기반의 에이전트 시스템의 구동 장치
KR101638535B1 (ko) * 2014-12-02 2016-07-11 세종대학교 산학협력단 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체
KR102473155B1 (ko) * 2016-01-18 2022-11-30 주식회사 케이티 대화형 정보 제공 서비스 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR20200011251A (ko) 2020-02-03

Similar Documents

Publication Publication Date Title
Arora et al. Character level embedding with deep convolutional neural network for text normalization of unstructured data for Twitter sentiment analysis
KR102222451B1 (ko) 텍스트 기반 사용자심리상태예측 및 콘텐츠추천 장치 및 그 방법
US10831796B2 (en) Tone optimization for digital content
CN111046132A (zh) 一种检索多轮对话的客服问答处理方法及其系统
WO2020062006A1 (en) Intent and context-aware dialogue based virtual assistance
CN112800170A (zh) 问题的匹配方法及装置、问题的回复方法及装置
Han et al. Influence tuning: Demoting spurious correlations via instance attribution and instance-driven updates
Ezen-Can et al. Unsupervised classification of student dialogue acts with query-likelihood clustering
Rashid et al. Emotion detection of contextual text using deep learning
US20240028835A1 (en) Processing natural language arguments and propositions
CN113505198B (zh) 关键词驱动的生成式对话回复方法、装置及电子设备
CN113239666B (zh) 一种文本相似度计算方法及系统
Zhang et al. Stance-level sarcasm detection with bert and stance-centered graph attention networks
KR102113773B1 (ko) 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치
CN114065760B (zh) 基于预训练语言模型的法律文本类案检索方法及系统
KR102106250B1 (ko) 대화 인지를 위한 규칙기반의 사용자 의도 추론 장치
US20230350929A1 (en) Method and system for generating intent responses through virtual agents
Lucky et al. Towards classification of personality prediction model: a combination of BERT word embedding and mlsmote
CN112905772A (zh) 语义相关性分析方法、装置及相关产品
Aljanaideh et al. Contextualized Embeddings for Enriching Linguistic Analyses on Politeness
CN114911922A (zh) 一种情感分析方法、装置和存储介质
KR20200023619A (ko) 대화 인지를 위한 규칙 기반의 의도 추론 방법
Singh et al. Predicting the Veracity of News Articles Using Multimodal Embeddings and NLP-Based Features
CN114116967A (zh) 数据的清洗方法、装置、电子设备及计算机可读介质
KR20200023618A (ko) 대화 인지를 위한 규칙 생성 장치

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
A107 Divisional application of patent