KR20180022156A - 대화 관리 장치 및 방법 - Google Patents

대화 관리 장치 및 방법 Download PDF

Info

Publication number
KR20180022156A
KR20180022156A KR1020160107101A KR20160107101A KR20180022156A KR 20180022156 A KR20180022156 A KR 20180022156A KR 1020160107101 A KR1020160107101 A KR 1020160107101A KR 20160107101 A KR20160107101 A KR 20160107101A KR 20180022156 A KR20180022156 A KR 20180022156A
Authority
KR
South Korea
Prior art keywords
interest
system response
ontology
entity name
name
Prior art date
Application number
KR1020160107101A
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 KR1020160107101A priority Critical patent/KR20180022156A/ko
Publication of KR20180022156A publication Critical patent/KR20180022156A/ko

Links

Images

Classifications

    • G06F17/2765
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F17/30

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 대화 관리 장치 및 방법에 관한 것이다. 본 발명은 사용자가 발화한 입력 문장으로부터 개체명을 추출하는 개체명 추출부, 외부 지식 베이스를 이용하여 개체명으로부터 사용자의 관심사를 추론하고, 관심사를 기반으로 하는 온톨로지를 구축 및 저장하는 관심사 검출부, 및 온톨로지를 이용하여 입력 문장에 대응하는 시스템 응답을 출력하는 응답부를 포함한다.

Description

대화 관리 장치 및 방법{DIALOG MANAGEMENT APPARATUS AND METHOD}
본 발명은 채팅 및 목적 지향성 대화를 위한 대화 관리 장치 및 방법에 관한 것으로, 특히 외부 지식 베이스 및 사용자와 대화 시스템 간의 상호 작용을 통해 온톨로지 기반의 사용자별 관심사를 구축하고, 이를 대화에 반영할 수 있는 대화 관리 장치 및 방법에 관한 기술이다.
일반적으로 대화 시스템은 사용자의 입력에 반응하여 응답하는 방식으로 동작한다. 대화 시스템은 특정 목적 및 서비스를 달성하기 위한 목적 지향 시스템과 일상적인 대화를 하기 위한 채팅 시스템 등을 포함한다. 이러한 대화 시스템을 구축하기 위해서는 사용자 발화 및 시스템 발화를 포함하는 말뭉치가 필요하다.
실제로 대화 시스템을 통해 대화하는 경우 대화 시스템은 사용자 발화를 분석하고, 분석된 사용자 발화에 적합한 시스템 발화를 선택하여 응답으로 출력한다. 여기서, 대화 시스템은 시스템 발화 내에 특정 개체명이 치환될 수 있는 슬롯을 지정하여 문맥, 상황 및 목적에 적합한 개체명을 선택하여 응답할 수 있다.
예컨대, 선행문헌 1의 예제 데이터베이스 구축을 통한 대화 모델링 기법을 이용하는 대화 관리 시스템은 시스템 구축 시 미리 지정한 개체명 사전 및 시스템 응답의 슬롯에 기반하여 응답을 변화시킬 수 있다. 그러나, 지식과 정보를 개체명 형태로 관리하는 방식이기 때문에, 사용자 별로 광범위하고, 다양한 정보, 관심사 및 지식을 적용하는데 한계가 있다.
따라서, 복수의 사용자가 공통으로 관심을 갖는 보편적인 주제뿐만 아니라, 사용자 별 관심 분야나 정보를 기억하기 위한 정형화된 기법이 필요하다. 이러한 기법으로는 온톨로지 모델링 지식 베이스(knowledge base)를 기초로 하는 추론 기법이 있다. 일반적으로 온톨로지(ontology)는 사람이 이해하는 사물과 사건들의 개념을 정형화하여 데이터베이스의 형태로 만든 것으로, 이러한 온톨로지를 이용하여 지식을 체계적으로 관리하고, 추론하여 지식의 확장이 가능하다.
예컨대, 선행문헌2의 동적 상황 결정을 위한 온톨로지 모델링 방법 및 지식 기반 온톨로지 프레임 워크는 온톨로지를 활용하여 다양한 상황을 인식 및 대응하는 방법을 제시한다. 그러나, 서비스의 목적에 맞게 온톨로지가 특정 도메인에 제한되어 사용자 별 차이를 반영하는데 한계가 있다.
[특허문헌1]
대한민국 특허 출원번호 제10-2006-0034187호(2006.04.14.)
[특허문헌2]
대한민국 특허 출원번호 제10-2009-0069982호(2009.07.30.)
본 발명의 실시 예는 개인 별로 특화된 대화를 진행할 수 있고, 사용자가 발화한 입력 문장의 정보가 불충분하더라도 적절한 시스템 응답을 제공할 수 있고, 사용자의 관심사에 대한 대화를 유도할 수 있으며, 사용자의 친밀도를 향상시킬 수 있는 대화 관리 장치 및 방법을 제공한다.
본 발명의 실시 예에 따른 대화 관리 장치는 사용자가 발화한 입력 문장으로부터 개체명을 추출하는 개체명 추출부; 외부 지식 베이스를 이용하여 상기 개체명으로부터 상기 사용자의 관심사를 추론하고, 상기 관심사를 기반으로 하는 온톨로지를 구축 및 저장하는 관심사 검출부; 및 상기 온톨로지를 이용하여 상기 입력 문장에 대응하는 시스템 응답을 출력하는 응답부를 포함한다.
여기서, 상기 관심사 검출부는 상기 개체명의 상위 주제 및 관심 정도를 관심사 온톨로지로 구축하여 관심사 저장소에 저장한다. 그리고, 상기 관심사 검출부는 상기 개체명의 발화 빈도수, 발화 시간, 발화 내용 중 적어도 어느 하나를 이용하여 상기 관심 정도를 연산한다.
그리고, 상기 개체명 추출부는 상기 입력 문장에 포함된 상기 개체명을 발화 개체명으로 출력하고, 상기 외부 지식 베이스로부터 상기 발화 개체명에 대응하는 정식 개체명을 검색 및 출력한다. 또한, 상기 관심사 검출부는 상기 발화 개체명, 상기 정식 개체명, 상기 발화 개체명의 상기 상위 주제, 하위 주제, 상기 관심 정도를 개체명 온톨로지로 구축하여 개체명 저장소에 저장한다.
여기서, 상기 사용자는 적어도 1 이상이고, 상기 관심사 검출부는 상기 사용자 별로 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 구축한다. 그리고, 상기 응답부는 상기 입력 문장에 대응하여 미리 설정된 적어도 하나의 시스템 응답 후보가 저장된 시스템 예제 저장소; 상기 시스템 예제 저장소로부터 상기 입력 문장에 대응하는 상기 시스템 응답 후보를 검색하고, 상기 검색 결과 및 상기 관심사 온톨로지를 이용하여 상기 시스템 응답 후보를 선택하는 대화 관리부; 및 상기 대화 관리부에 의해 선택된 상기 시스템 응답 후보, 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 이용하여 상기 시스템 응답을 생성 및 출력하는 자연어 생성부를 포함한다.
여기서, 상기 대화 관리부는 상기 검색된 시스템 응답 후보가 복수개인 경우 상기 복수의 시스템 응답 후보로부터 상기 관심사를 각각 추출하고, 상기 추출된 복수의 관심사 중 상기 관심사 저장소에 저장된 관심사와 연관성이 가장 높은 관심사를 포함하는 시스템 응답 후보를 선택한다. 그리고, 상기 대화 관리부는 상기 선택된 시스템 응답 후보로부터 제1 개체명을 추출하고, 상기 제1 개체명과 상기 개체명 저장소에 저장된 제2 개체명의 상기 상위 주제 및 하위 주제가 동일한 경우 상기 제1 개체명을 상기 제2 개체명으로 치환하여 상기 시스템 응답 후보를 수정한다.
또한, 상기 자연어 생성부는 상기 대화 관리부에 의해 선택된 시스템 응답 후보가 존재하지 않는 경우 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 이용하여 새로운 시스템 응답 후보를 생성한다. 그리고, 상기 응답부는 상기 입력 문장의 의도를 검출하여 의미 프레임을 출력하는 음성 언어 이해부를 더 포함한다.
또한, 본 발명의 실시 예에 따른 대화 관리 방법은 사용자가 발화한 입력 문장 및 외부 지식 베이스를 이용하여 상기 사용자의 관심사를 추론하는 단계; 상기 관심사를 기반으로 하는 온톨로지를 구축 및 저장하는 단계; 및 상기 온톨로지를 이용하여 상기 입력 문장에 대응하는 시스템 응답을 출력하는 단계를 포함한다.
여기서, 상기 관심사를 추론하는 단계는 상기 입력 문장으로부터 개체명을 추출하는 단계; 및 상기 외부 지식 베이스로부터 상기 개체명의 상위 주제를 검색하는 단계를 포함한다. 그리고, 상기 온톨로지를 구축하는 단계는 상기 개체명의 상기 상위 주제 및 관심 정도를 관심사 온톨로지로 구축하는 단계; 및 상기 개체명에 대응하여 상기 사용자가 발화한 발화 개체명, 상기 외부 지식 베이스로부터 검색된 정식 개체명, 상기 상위 주제, 하위 주제 및 상기 관심 정도를 개체명 온톨로지로 구축하는 단계를 포함한다.
그리고, 상기 시스템 응답을 출력하는 단계는 상기 입력 문장에 대응하는 시스템 응답 후보를 시스템 예제 저장소로부터 검색하는 단계; 및 상기 검색 결과, 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 이용하여 상기 시스템 응답을 생성 및 출력하는 단계를 포함한다. 또한, 상기 시스템 응답을 생성하는 단계는 상기 검색된 시스템 응답 후보가 복수 개인 경우 상기 각각의 시스템 응답 후보로부터 상기 관심사를 추출하는 단계; 상기 추출된 관심사 중 상기 관심사 온톨로지에 저장된 관심사와 연관성이 가장 높은 관심사를 포함하는 시스템 응답 후보를 선택하는 단계; 및 상기 선택된 시스템 응답 후보를 자연어로 변환하는 단계를 포함한다.
또한, 상기 시스템 응답을 생성하는 단계는 상기 검색된 시스템 응답 후보가 존재하지 않는 경우 상기 관심사 온톨로지및 상기 개체명 온톨로지를 이용하여 새로운 시스템 응답 후보를 생성하는 단계; 및 상기 새로운 시스템 응답 후보를 자연어로 변환하는 단계를 포함한다.
본 발명은 복수의 사용자 각각의 대화 내용으로부터 관심사에 대한 온톨로지를 구축 및 기억하고, 관심사에 대한 새로운 내용이 입력될 때마다 추론을 통해 온톨로지를 확장함으로써 개인 별로 특화된 맞춤형 대화 서비스를 제공할 수 있다.
또한, 본 발명은 사용자가 발화한 입력 문장의 정보가 불충분하더라도 개인 별로 기억된 대화 내용으로부터 적절한 시스템 응답을 제공할 수 있다. 본 발명은 외부 지식 베이스를 이용하여 정식 개체명을 취득함으로써 동일한 개체에 대해 서로 다른 발화 개체명이 입력되더라도 사용자가 하나의 주제에 관해 대화하고 있는 사실을 파악할 수 있다.
그리고, 본 발명은 개인 별로 기억된 관심사를 이용하여 시스템이 사용자에게 대화를 유도할 수 있다. 또한, 본 발명은 기억된 온톨로지를 시스템 응답에 반영함으로써 사용자가 자신의 관심사 및 이에 대한 정보를 시스템이 기억하는 것을 인지할 수 있어 시스템에 대한 친밀도를 높이고, 서비스의 만족도를 향상시킬 수 있다. 또한, 본 발명은 사용자의 심리를 관리하는 서비스에 적용할 수 있다.
도 1은 본 발명의 실시 예에 따른 대화 관리 장치를 도시한 도면.
도 2는 본 발명의 실시 예에 따른 대화 관리 방법을 도시한 순서도.
도 3은 본 발명의 실시 예에 따른 대화 관리 시스템을 도시한 도면.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그리고, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어이며, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로, 용어는 명세서 전반에 걸친 내용을 기반으로 정의될 수 있다. 본 발명의 실시 예에서 제안하는 기술은 기존에 알려져 있는 기술들을 기반으로 본 발명의 기법을 설계할 수 있는 일반적인 프로토콜 설계 방법이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 실시 예를 첨부된 도면을 참조로 하여 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 대화 관리 장치를 도시한 도면이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 대화 관리 장치(1)는 개체명 추출부(100), 관심사 검출부(200), 외부 지식 베이스(300), 온톨로지 저장소(400) 및 응답부(500)를 포함한다.
개체명 추출부(100)는 사용자가 발화한 입력 문장(11)으로부터 개체명(Named Entity; NE)을 추출한다. 여기서, 개체명 추출부(100)는 개체명을 예측하기 위한 개체명 분류기(미도시)를 이용한 훈련을 통해 입력 문장(11)으로부터 개체명을 추출할 수 있다. 예컨대, 개체명 추출부(100)는 입력 문장(11)이 "나는 사과를 좋아해."라는 문장인 경우 사용자 입력 문장(11)으로부터 주어, 서술어, 목적어 등의 문장 성분 및 낱말의 품사를 분류하고, 분류 결과로부터 '사과'라는 개체명을 추출할 수 있다.
본 발명의 실시 예는 이에 한정되지 않고, 본 발명의 실시 예에 따른 개체명 추출부(100)는 외부 지식 베이스(300)를 이용하여 입력 문장(11)으로부터 정식 개체명을 추출할 수 있다. 즉, 개체명 추출부(100)는 입력 문장(11)에 포함된 발화 개체명뿐만 아니라 외부 지식 베이스(300)로부터 발화 개체명에 대응하는 정식 개체명을 검색할 수 있다.
예컨대, 입력 문장(11)이 "나는 어제 레알 마드리드의 경기를 보았어."인 경우 개체명 추출부(100)는 '레알 마드리드'를 사용자가 임의로 발화한 발화 개체명으로 추출하고, '레알 마드리드 C. F.'를 정식 개체명으로 추출할 수 있다. 또한, 입력 문장(11)이 "축구 선수 메시"인 경우 개체명 추출부(100)는 '메시'를 발화 개체명으로 추출하고, '리오넬 메시'를 정식 개체명으로 추출할 수 있다.
이와 같이, 개체명 추출부(100)가 외부 지식 베이스(300)를 이용하여 정식 개체명을 추출함에 따라 특정 개체에 대해 사용자가 각각 다른 단어를 사용하여 발화하더라도 동일한 개체임을 추론할 수 있다. 이로 인해, 대화 진행 중에 사용자가 발화한 개체명이 다르더라도 사용자의 관심사를 정확하게 추론할 수 있다.
그리고, 관심사 검출부(200)는 개체명 추출부(100)로부터 추출된 개체명을 입력 받고, 외부 지식 베이스(300)를 이용하여 개체명으로부터 사용자의 관심사를 추론하여 온톨로지를 구축하고, 온톨로지 저장소(400)에 저장한다.
구체적으로, 관심사 검출부(200)는 개체명의 상위 주제, 하위 주제, 관심 정도를 검출한다. 본 발명의 실시 예에서는 개체명의 상위 주제를 관심사로 정의하여 설명하며, 하위 주제는 개체명의 상세 분류에 해당한다. 예컨대, '박지성'이란 개체명의 상위 주제는 '축구'이고, 하위 주제는 '축구 선수'이다.
그리고, 관심사 검출부(200)는 개체명의 발화 빈도수를 관심 정도로 검출할 수 있다. 본 발명의 실시 예는 이에 한정되지 않고, 개체명의 발화 시간에 따른 관심도 변화, 발화 내용이 긍정적인 표현을 포함하는지, 부정적인 표현을 포함하는지 등에 따른 발화 감정 등을 판단하여 관심 정도를 검출할 수 있다. 이로 인해, 사용자에게 다양한 대화 경험을 제공하고, 시스템에 대한 친밀도를 향상시킬 수 있다.
관심사 검출부(200)는 개체명의 관심사 및 관심 정도를 관심사 온톨로지로 구축하여 관심사 저장소(410)에 저장할 수 있다. 또한, 관심사 검출부(200)는 개체명의 상위 주제(관심사), 하위 주제, 관심 정도 및 정식 개체명을 개체명 온톨로지로 구축하여 개체명 저장소(420)에 저장할 수 있다. 본 발명의 실시 예는 이에 한정되지 않고, 관심사 저장소(410) 및 개체명 저장소(420)의 구조 및 형태는 다양한 형식으로 정의될 수 있다.
또한, 본 발명의 실시 예에 따른 관심사 검출부(200)는 사용자 별로 관심사 저장소(410) 및 개체명 저장소(420)를 생성할 수 있다. 즉, 관심사 저장소(410) 및 개체명 저장소(420)는 사용자 별로 고유한 저장 공간이며, 이로 인해 복수의 사용자로부터 발화된 입력 문장(11)이 연속적으로 입력되더라도 각 사용자에게 적합한 시스템 응답(14)을 출력할 수 있다.
응답부(500)는 온톨로지 저장소(400)에 저장된 관심사 온톨로지 및 개체명 온톨로지를 이용하여 입력 문장(11)에 대응하는 시스템 응답(14)을 출력한다. 이를 위해, 응답부(500)는 음성 언어 이해부(Spoken language understanding; SLU)(510), 대화 관리부(Dialogue manager; DM)(520), 시스템 예제 저장소(530) 및 자연어 생성부(Natural language generator; NLG)(540)를 포함한다.
음성 언어 이해부(510)는 사용자가 발화한 입력 문장(11)의 의도를 분석하여 의미 프레임(semantic frame)(12)을 출력한다. 예컨대, 음성 언어 이해부(510)는 입력 문장(11)의 단어, 구문, 형식, 화행 등을 분석하고, 분석 결과로부터 사용자의 발화 의도를 추출하여 일정 포맷의 의미 프레임(12)을 출력할 수 있다.
이를 위해, 음성 언어 이해부(510)는 품사 태거(Part of speech tagger), 구문 분석기(parser), 개체명(Named entity) 태거, 대화 액션(Dialogue action) 분류기, 메인 액션(Main action) 분류기 등을 포함할 수 있다.
대화 관리부(520)는 시스템 예제 저장소(530)로부터 의미 프레임(12)에 대응하는 시스템 응답 후보(13)를 검색하고, 검색된 결과 및 관심사 저장소(410)에 저장된 관심사 온톨로지를 이용하여 시스템 응답 후보(13)를 선택 및 출력한다.
구체적으로, 대화 관리부(520)는 시스템 예제 저장소(530)에 저장된 입력 문장 중 의미 프레임(12)과 동일하거나 유사한 입력 문장을 검색하고, 검색된 입력 문장에 대응하여 저장된 시스템 응답 후보(13)를 출력한다. 여기서, 대화 관리부(520)에 의해 검색된 시스템 응답 후보(13)는 0개 이상일 수 있다. 즉, 대화 관리부(520)에 의해 검색된 시스템 응답 후보(13)가 없거나, 하나 이상일 수 있다.
대화 관리부(520)는 2개 이상의 시스템 응답 후보(13)가 검색되는 경우 검색된 시스템 응답 후보(13) 각각으로부터 관심사를 추출하고, 추출된 관심사 중 관심사 온톨로지에 저장된 관심사와 연관성이 가장 높은 관심사를 포함하는 시스템 응답 후보(13)를 선택하여 출력할 수 있다.
또한, 대화 관리부(520)는 개체명 저장소(420)에 저장된 개체명 온톨로지를 이용하여 선택된 시스템 응답 후보(13)를 수정할 수 있다. 이를 위해, 대화 관리부(520)는 선택된 시스템 응답 후보(13)로부터 개체명(제1 개체명이라 함)을 추출하고, 개체명 온톨로지에 제1 개체명의 상위 및 하위 주제와 동일한 제2 개체명이 존재하는 경우 선택된 시스템 응답 후보(13)의 제1 개체명을 제2 개체명으로 치환하여 시스템 응답 후보(13)를 수정하고, 수정된 시스템 응답 후보(13)를 출력할 수 있다.
시스템 예제 저장소(530)에는 미리 설정된 사용자 발화-시스템 응답 후보의 쌍이 저장되어 있다. 본 발명은 이에 한정되지 않고, 시스템 예제 저장소(530)에 사용자 발화 대신 의미 프레임-시스템 응답 후보의 쌍이 저장되어 있을 수 있다.
자연어 생성부(540)는 대화 관리부(520)로부터 시스템 응답 후보(13)를 입력받고, 관심사 저장소(410)에 저장된 관심사 온톨로지 및 개체명 저장소(420)에 저장된 개체명 온톨로지를 이용하여 시스템 응답 후보(13)를 자연 언어로 변환하여 시스템 응답(14)으로 출력한다.
여기서, 자연어 생성부(540)는 대화 관리부(520)로부터 시스템 응답 후보(13)가 입력되는 경우 시스템 응답 후보(13)로부터 개체명을 추출하고, 개체명 온톨로지를 이용하여 추출된 개체명을 정식 개체명으로 치환한 후, 정식 개체명을 포함하는 시스템 응답(14)을 생성할 수 있다.
또한, 자연어 생성부(540)는 대화 관리부(520)로부터 시스템 응답 후보(13)가 입력되지 않는 경우, 즉 대화 관리부(520)에 의해 선택된 시스템 응답 후보(13)가 존재하지 않는 경우 관심사 온톨로지 및 개체명 온톨로지를 이용하여 새로운 시스템 응답 후보(13)를 생성하고, 새로운 시스템 응답 후보(13)로 시스템 응답(14)을 생성하여 출력할 수 있다. 여기서, 자연어 생성부(540)는 미리 정의된 템플릿을 이용하여 새로운 시스템 응답 후보(13)를 생성할 수 있다.
이하, 본 발명의 실시 예에 따른 대화 관리 장치(1)을 이용하여 사용자와 채팅 및 목적 지향성 대화를 진행하는 대화 관리 방법을 도 2를 참조하여 설명한다.
도 2는 본 발명의 실시 예에 따른 대화 관리 방법을 도시한 순서도이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 대화 관리 방법은 먼저 사용자가 발화한 입력 문장(11)이 입력(S201)된다. 그러면, 개체명 추출부(100)는 입력 문장(11)으로부터 개체명을 추출(S202)한다.
예컨대, 아래의 [표 1]의 1번, 3번 및 5번과 같이 입력 문장(11)이 입력되면, 개체명 추출부(100)는 'football', 'Primera Liga', 'Real Madrid'라는 개체명을 각각 추출할 수 있다.
 발화 순서 입력 문장(11) 시스템 응답(14)
1 I like football.  
2   Football game!
3 Yes, especially Primera Liga.  
4   Tell me more about sports league.
5 I like Real Madrid most in Primera Liga.  
6 I am bored. Let's talk about something.  
7   What would you like to talk about
8 Hmm... Whatever...  
9   Let's talk about Real Madrid.
10 Good. I love Real Madrid, and I have a lot to talk about.  
여기서, 상기한 [표 1]의 1번 내지 5번은 사용자가 발화한 입력 문장(11)에 특정 개체명이 포함된 경우를 설명하기 위해 나타낸 예문이고, 6번 내지 10번은 입력 문장(11)에 특정 개체명이 포함되지 않아 대화 시스템(1)이 대화를 유도하는 경우를 설명하기 위해 나타낸 예문이다.
그 다음, 아래의 [표 2]와 같이, 관심사 검출부(200)는 외부 지식 베이스(300)를 이용하여 추출된 개체명에 대한 관심사 온톨로지 및 개체명 온톨로지를 구축하고(S203), 관심사 저장소(410) 및 개체명 저장소(420)에 각각 저장한다. 이때, 1, 3, 5 및 10번과 같이, 특정 개체명이 포함되는 입력 문장(11)이 입력될 때만 관심사 저장소(410) 및 개체명 저장소(420)의 내용은 업데이트된다.
발화
순서
관심사 저장소(410) 개체명 저장소(420)
상위 주제
(관심사)
발화
빈도
발화
개체명
정식
개체명
상위 주제
(관심사)
하위 주제 발화
빈도
1 Interests 1 football association football interests interest 1
3 Interests 1 football association football interests interest 1
Sports 1 Primera Liga La Liga sports sports league 1
5 Interests 1 football association football interests interest 1
Sports 2 Primera Liga La Liga sports sports league 2
Soccer 1 Real Madrid Real Madrid C.F. soccer football_team 1
10 Interests 1 football association football interests interest 1
Sports 2 Primera Liga La Liga sports sports league 2
Soccer 2 Real Madrid Real Madrid C.F. soccer football_team 2
그 다음, 음성 언어 이해부(510)는 입력 문장(11)에 대응하는 의미 프레임(12)을 출력하고, 대화 관리부(520)는 의미 프레임(12)에 대응하는 시스템 응답 후보(13)를 선택(S204)한다. 여기서, 대화 관리부(520)는 시스템 예제 저장소(530)로부터 의미 프레임(12)에 대응하는 사용자 발화-시스템 응답 후보 쌍이 검색되는 경우 해당 시스템 응답 후보(13)를 선택할 수 있다.
예컨대, 대화 관리부(520)는 시스템 예제 저장소(530)로부터 상기한 [표 1]의 1번 입력 문장(11)에 대응하는 2번과 같은 시스템 응답 후보(13)가 검색되는 경우 2번 시스템 응답 후보(13)를 선택할 수 있다.
그 다음, 자연어 생성부(540)는 선택된 시스템 응답 후보(13)를 자연어로 변경하여 시스템 응답(14)을 출력(S205)한다. 이때, 자연어 생성부(540)는 대화 관리부(520)를 통해 선택된 시스템 응답 후보(13)가 존재하지 않는 경우 관심사 온톨로지 및 개체명 온톨로지를 이용하여 'Primera Liga'의 하위 주제인 'sports league'를 포함하는 새로운 시스템 응답 후보(13)를 생성하고, 4번과 같은 시스템 응답(14)을 출력할 수 있다. 이때, 자연어 생성부(540)는 "Tell me more about"이란 템플릿을 이용하여 시스템 응답 후보(13)를 생성할 수 있다.
한편, 6번과 같이, 입력 문장(11)에 개체명이 포함되지 않고, 사용자가 대화 주제를 추천 받고자 할 때, 자연어 생성부(540)는 기존의 대화를 통해 저장된 관심사 온톨로지 및 개체명 온톨로지를 이용하여 발화 빈도가 높은 'Real Madrid'를 포함하는 새로운 시스템 응답 후보(13)를 생성하고, 9번과 같은 시스템 응답(14)을 출력할 수 있다. 이때, 자연어 생성부(540)는 "Let's talk about"이란 템플릿을 이용하여 시스템 응답 후보(13)를 생성할 수 있다.
즉, 본 발명의 실시 예에 따른 대화 관리 장치(1)은 사용자 별로 관심사에 대한 온톨로지를 구축하고, 미리 저장된 시스템 응답 후보(13)가 없더라도 온톨로지를 이용하여 새로운 시스템 응답 후보(13)를 생성함으로써 사용자와 대화를 지속할 수 있고, 친밀도를 향상시킬 수 있다.
도 3은 본 발명의 실시 예에 따른 대화 관리 시스템을 도시한 도면이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 대화 관리 장치(1)는 음성 인식 장치(ARS; automatic speech recognition)(2) 및 문자-음성(TTS; text-to-speech) 변환 장치(3)와 결합될 수 있다. 즉, 자동 음성 인식 장치(2)로부터 사용자의 음성이 입력 문장(11)으로 변환되고, 대화 관리 장치(1)로부터 출력된 시스템 응답(14)이 문자-음성 변환 장치(3)를 통해 출력 문장으로 변환될 수 있다.
또한, 본 발명의 실시 예에 따른 대화 관리 장치(1)는 다양한 목적으로 사용자와 상호 작용할 수 있는 로봇, 사용자 별로 대화 이력을 저장하여 적절한 정보를 제공할 수 있는 키오스크(kiosk)나 스마트 텔레비전 등 다양한 물리적 매체에 결합되어 복수의 사용자와 동시에 대화를 진행할 수도 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100: 개체명 추출부, 200: 관심사 검출부, 300: 외부 지식 베이스, 400: 온톨로지 저장소, 500: 응답부

Claims (17)

  1. 사용자가 발화한 입력 문장으로부터 개체명을 추출하는 개체명 추출부;
    외부 지식 베이스를 이용하여 상기 개체명으로부터 상기 사용자의 관심사를 추론하고, 상기 관심사를 기반으로 하는 온톨로지를 구축 및 저장하는 관심사 검출부; 및
    상기 온톨로지를 이용하여 상기 입력 문장에 대응하는 시스템 응답을 출력하는 응답부
    를 포함하는 대화 관리 장치.
  2. 제1 항에 있어서,
    상기 관심사 검출부는
    상기 개체명의 상위 주제 및 관심 정도를 관심사 온톨로지로 구축하여 관심사 저장소에 저장하는 대화 관리 장치.
  3. 제2 항에 있어서,
    상기 관심사 검출부는
    상기 개체명의 발화 빈도수, 발화 시간, 발화 내용 중 적어도 어느 하나를 이용하여 상기 관심 정도를 연산하는 대화 관리 장치.
  4. 제2 항에 있어서,
    상기 개체명 추출부는
    상기 입력 문장에 포함된 상기 개체명을 발화 개체명으로 출력하고, 상기 외부 지식 베이스로부터 상기 발화 개체명에 대응하는 정식 개체명을 검색 및 출력하는 대화 관리 장치.
  5. 제4 항에 있어서,
    상기 관심사 검출부는
    상기 발화 개체명, 상기 정식 개체명, 상기 발화 개체명의 상기 상위 주제, 하위 주제, 상기 관심 정도를 개체명 온톨로지로 구축하여 개체명 저장소에 저장하는 대화 관리 장치.
  6. 제5 항에 있어서,
    상기 사용자는 적어도 1 이상이고,
    상기 관심사 검출부는
    상기 사용자 별로 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 구축하는 대화 관리 장치.
  7. 제5 항에 있어서,
    상기 응답부는
    상기 입력 문장에 대응하여 미리 설정된 적어도 하나의 시스템 응답 후보가 저장된 시스템 예제 저장소;
    상기 시스템 예제 저장소로부터 상기 입력 문장에 대응하는 상기 시스템 응답 후보를 검색하고, 상기 검색 결과 및 상기 관심사 온톨로지를 이용하여 상기 시스템 응답 후보를 선택하는 대화 관리부; 및
    상기 대화 관리부에 의해 선택된 상기 시스템 응답 후보, 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 이용하여 상기 시스템 응답을 생성 및 출력하는 자연어 생성부
    를 포함하는 대화 관리 장치.
  8. 제7 항에 있어서,
    상기 대화 관리부는
    상기 검색된 시스템 응답 후보가 복수개인 경우 상기 복수의 시스템 응답 후보로부터 상기 관심사를 각각 추출하고, 상기 추출된 복수의 관심사 중 상기 관심사 저장소에 저장된 관심사와 연관성이 가장 높은 관심사를 포함하는 시스템 응답 후보를 선택하는 대화 관리 장치.
  9. 제7 항에 있어서,
    상기 대화 관리부는
    상기 선택된 시스템 응답 후보로부터 제1 개체명을 추출하고, 상기 제1 개체명과 상기 개체명 저장소에 저장된 제2 개체명의 상기 상위 주제 및 하위 주제가 동일한 경우 상기 제1 개체명을 상기 제2 개체명으로 치환하여 상기 시스템 응답 후보를 수정하는 대화 관리 장치.
  10. 제7 항에 있어서,
    상기 자연어 생성부는
    상기 대화 관리부에 의해 선택된 시스템 응답 후보가 존재하지 않는 경우 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 이용하여 새로운 시스템 응답 후보를 생성하는 대화 관리 장치.
  11. 제7 항에 있어서,
    상기 응답부는
    상기 입력 문장의 의도를 검출하여 의미 프레임을 출력하는 음성 언어 이해부를 더 포함하는 대화 관리 장치.
  12. 사용자가 발화한 입력 문장 및 외부 지식 베이스를 이용하여 상기 사용자의 관심사를 추론하는 단계;
    상기 관심사를 기반으로 하는 온톨로지를 구축 및 저장하는 단계; 및
    상기 온톨로지를 이용하여 상기 입력 문장에 대응하는 시스템 응답을 출력하는 단계
    를 포함하는 대화 관리 방법.
  13. 제12 항에 있어서,
    상기 관심사를 추론하는 단계는
    상기 입력 문장으로부터 개체명을 추출하는 단계; 및
    상기 외부 지식 베이스로부터 상기 개체명의 상위 주제를 검색하는 단계
    를 포함하는 대화 관리 방법.
  14. 제13 항에 있어서,
    상기 온톨로지를 구축하는 단계는
    상기 개체명의 상기 상위 주제 및 관심 정도를 관심사 온톨로지로 구축하는 단계; 및
    상기 개체명에 대응하여 상기 사용자가 발화한 발화 개체명, 상기 외부 지식 베이스로부터 검색된 정식 개체명, 상기 상위 주제, 하위 주제 및 상기 관심 정도를 개체명 온톨로지로 구축하는 단계
    를 포함하는 대화 관리 방법.
  15. 제14 항에 있어서,
    상기 시스템 응답을 출력하는 단계는
    상기 입력 문장에 대응하는 시스템 응답 후보를 시스템 예제 저장소로부터 검색하는 단계; 및
    상기 검색 결과, 상기 관심사 온톨로지 및 상기 개체명 온톨로지를 이용하여 상기 시스템 응답을 생성 및 출력하는 단계
    를 포함하는 대화 관리 방법.
  16. 제15 항에 있어서,
    상기 시스템 응답을 생성하는 단계는
    상기 검색된 시스템 응답 후보가 복수개인 경우 상기 각각의 시스템 응답 후보로부터 상기 관심사를 추출하는 단계;
    상기 추출된 관심사 중 상기 관심사 온톨로지에 저장된 관심사와 연관성이 가장 높은 관심사를 포함하는 시스템 응답 후보를 선택하는 단계; 및
    상기 선택된 시스템 응답 후보를 자연어로 변환하는 단계
    를 포함하는 대화 관리 방법.
  17. 제15 항에 있어서,
    상기 시스템 응답을 생성하는 단계는
    상기 검색된 시스템 응답 후보가 존재하지 않는 경우 상기 관심사 온톨로지및 상기 개체명 온톨로지를 이용하여 새로운 시스템 응답 후보를 생성하는 단계; 및
    상기 새로운 시스템 응답 후보를 자연어로 변환하는 단계
    를 포함하는 대화 관리 방법.
KR1020160107101A 2016-08-23 2016-08-23 대화 관리 장치 및 방법 KR20180022156A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160107101A KR20180022156A (ko) 2016-08-23 2016-08-23 대화 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160107101A KR20180022156A (ko) 2016-08-23 2016-08-23 대화 관리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20180022156A true KR20180022156A (ko) 2018-03-06

Family

ID=61727599

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107101A KR20180022156A (ko) 2016-08-23 2016-08-23 대화 관리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20180022156A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061877A (ko) * 2018-11-26 2020-06-03 주식회사 솔트룩스 온톨로지 기반 패러프레이즈 문장 생성을 위한 시스템 및 방법
WO2020180001A1 (ko) * 2019-03-07 2020-09-10 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR20210024855A (ko) * 2019-08-26 2021-03-08 주식회사 포켓메모리 인공지능 기반 생체 인식형 대화서비스 제공 방법 및 장치
KR20210104396A (ko) * 2020-02-17 2021-08-25 한국과학기술연구원 온톨로지 기반 지식 제공 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061877A (ko) * 2018-11-26 2020-06-03 주식회사 솔트룩스 온톨로지 기반 패러프레이즈 문장 생성을 위한 시스템 및 방법
WO2020180001A1 (ko) * 2019-03-07 2020-09-10 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR20210024855A (ko) * 2019-08-26 2021-03-08 주식회사 포켓메모리 인공지능 기반 생체 인식형 대화서비스 제공 방법 및 장치
KR20210104396A (ko) * 2020-02-17 2021-08-25 한국과학기술연구원 온톨로지 기반 지식 제공 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR102388042B1 (ko) 대화 시스템 및 그것을 위한 컴퓨터 프로그램
US11037553B2 (en) Learning-type interactive device
KR101309042B1 (ko) 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법
US20080071533A1 (en) Automatic generation of statistical language models for interactive voice response applications
Anderson et al. Recognition of elderly speech and voice-driven document retrieval
US12001465B2 (en) Response selecting apparatus, response selecting method, and response selecting program
KR20160089152A (ko) 화행 분석을 통한 스티커 추천 방법 및 시스템
JP2006201870A (ja) 対話処理装置
Griol et al. Combining speech-based and linguistic classifiers to recognize emotion in user spoken utterances
JP6225012B2 (ja) 発話文生成装置とその方法とプログラム
KR101410601B1 (ko) 유머 발화를 이용하는 음성 대화 시스템 및 그 방법
KR101677859B1 (ko) 지식 베이스를 이용하는 시스템 응답 생성 방법 및 이를 수행하는 장치
KR101534413B1 (ko) 상담 정보를 이용하여 상담 대화를 제공하는 방법 및 장치
KR20180022156A (ko) 대화 관리 장치 및 방법
US9805740B2 (en) Language analysis based on word-selection, and language analysis apparatus
JP5073024B2 (ja) 音声対話装置
KR101149521B1 (ko) 도메인 온톨로지를 이용한 음성 인식 방법 및 그 장치
Dyriv et al. The user's psychological state identification based on Big Data analysis for person's electronic diary
JP2013029652A (ja) 音声認識装置および音声認識プログラム
Shi et al. Supporting dictation speech recognition error correction: the impact of external information
Barroso et al. GorUp: an ontology-driven audio information retrieval system that suits the requirements of under-resourced languages
Kafle et al. Usability evaluation of captions for people who are deaf or hard of hearing
JP3956730B2 (ja) 言語処理装置
Griol et al. Fusion of sentiment analysis and emotion recognition to model the user's emotional state
US8635071B2 (en) Apparatus, medium, and method for generating record sentence for corpus and apparatus, medium, and method for building corpus using the same

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