KR20190106011A - 대화 시스템 및 그 방법, 그 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램 - Google Patents
대화 시스템 및 그 방법, 그 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR20190106011A KR20190106011A KR1020180026883A KR20180026883A KR20190106011A KR 20190106011 A KR20190106011 A KR 20190106011A KR 1020180026883 A KR1020180026883 A KR 1020180026883A KR 20180026883 A KR20180026883 A KR 20180026883A KR 20190106011 A KR20190106011 A KR 20190106011A
- Authority
- KR
- South Korea
- Prior art keywords
- response
- conversation
- speech
- subject
- context
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 59
- 238000004590 computer program Methods 0.000 title claims description 3
- 230000004044 response Effects 0.000 claims abstract description 178
- 238000004458 analytical method Methods 0.000 claims abstract description 34
- 238000012937 correction Methods 0.000 claims description 10
- 230000014509 gene expression Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 230000000306 recurrent effect Effects 0.000 claims description 8
- 238000013135 deep learning Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009118 appropriate response Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008649 adaptation response Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
- G10L17/14—Use of phonemic categorisation or speech recognition prior to speaker recognition or verification
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
본 발명에 따른 대화 시스템은 사용자의 발화를 입력받는 입력부, 상기 발화를 분석하여 주제를 검출하는 분석부, 상기 발화의 화자 및 발화시 상황을 분석하여 대화 맥락을 검출하는 분석부, 상기 검출된 주제와 대화 맥락을 이용하여 상기 발화에 대한 응답을 생성하는 응답생성부 및 문맥보정부, 상기 생성된 응답을 출력하는 출력부를 포함한다.
Description
본 발명은 대화 시스템 및 그 방법에 관한 것으로 구체적으로 기 설정된 발화스타일과 주제를 고려하는 대화 시스템 및 그 방법에 관한 것이다.
인간을 대신하거나 보조할 목적으로 가사 로봇과 비서 로봇과 엔터테인먼트 로봇 등의 지능화된 로봇이 출현되고 있다. 대화 시스템은 음성 또는 문자를 이용하여 사용자에게 대화를 통해 필요한 정보를 제공하는 장치를 말한다.
지능화된 로봇이 주어진 서비스를 수행하는데 있어, 사람과 기계가 대화할 수 있는 대화 시스템이 유용한 기술이라는 인식은 보편화되었으며, 이러한 대화 시스템은 차세대 지능형 인터페이스로서 단말기, 자동차, 로봇 등으로 그 이용 범위가 점차 확장되어 가고 있다.
종래의 대화 시스템들은 대용량의 데이터베이스에 예상되는 질문과 답변을 저장해 두고, 사용자 입력 문장과 매칭되는 질문을 데이터베이스에서 검색하여 그에 대한 답변을 제시하는 것이다. 그러나, 종래의 방법에서는 언어 처리를 하지 않기 때문에 '텔레비전 주세요.'와 'TV 주세요'를 다른 문자열로 인식하기 때문에, '텔레비전 주세요.' 라는 질문과 이에 대한 답변이 데이터베이스에 있어도, 사용자가 'TV 주세요'라고 하면 답변을 제시해주지 못하는 문제점이 있다.
또한, 종래의 대화 시스템은 문맥을 유지할 수 없는 1문 1답형 대화만을 처리하기 때문에 목적 지향의 대화를 처리할 수 없는 문제점이 있다. 사람 대 사람의 관계에서 이루어지는 대화들은 대화의 주제에 따라 흐름이 이어지며, 상대에 따라 문장을 구성하는 단어, 서술어, 종결 어미 등이 다양하게 변형된다. 허나 기존의 대화 시스템이 대화 상대에 따라 적응적으로 응답을 생성해내지 않기에 어미 혹은 단어의 변형이 이루어지지 않으며 따라서 부자연스러운 문장을 응답으로 생성해내는 경우가 발생한다.
등록특허 제 10-1359718호에서 대화 관리 시스템 및 방법을 개시하고 있다. 등록특허 제10-1359718호는 인공지능 에이전트와 특정 목적이 아닌 자유 발화 대화가 가능한 채팅(chatting) 대화 시스템을 구축하는 데 있어서 효과적으로 대화 관리를 수행하기 위한 모델 구축 방법에 관한 것이다. 등록특허 제10-1359718호는 미리 시스템 내부에 지니고 있던 발화 쌍을 토대로 대화 서비스를 제공하고 있으며, 발화 스타일에 대한 고려가 없다.
특허출원 제 10-2015-0086534호에서 대화 상황 및 주제에 따른 대화 순서 관리 장치 및 방법을 개시하고 있다. 특허출원 제 10-2015-0086534호는 사용자의 발화 정보로부터 키워드를 추출하여 대화 주제를 판단하고 사용자의 시선, 제스처 및 터치를 포함하는 명시적 신호를 바탕으로 플로어 액션의 상태를 고려한 뒤 대화 상황에 따라 저장된 대화 모델에 따라 대화 순서를 다르게 적용시킬 수 있는 방법에 관한 것이다. 특허출원 제 10-2015-0086534호는 대화 상황에 따른 대화 모델이 정의된 사용자에 보정된 높임말·낮춤말 혹은 발화 스타일을 제공하지 않으며 주제와 상황에 따라 대화 순서를 다르게 제공한다.
특허출원 제10-2013-0124534호에서 사용자 발화 스타일에 따른 대화형 서비스 장치 및 방법을 개시하고 있다. 특허출원 제10-2013-0124534호는 사용자 발화 스타일에 따른 대화형 서비스 장치 및 방법에 관한 것으로서, 대화형 서비스 장치가 사용자 발화 문장의 의미를 분석하여 사용자 발화 의도를 파악하고 사용자 발화 스타일에 따른 응답 문장을 생성하는 방법에 관한 것이다. 특허출원 제10-2013-0124534호는 사용자를 프로파일링 하여 발화 스타일을 학습하지만 대화 주제를 고려하지 않는다. 또한 특허출원 제10-2013-0124534호는 응답 생성시 제한된 문장 템플릿을 사용하여 자유도가 높은 응답을 생성할 수 없다.
등록특허 제10-1497411호에서 문체 변환 장치, 문체 변환 방법, 저장 매체, 자동 대화 서비스 시스템 및 방법을 개시하고 있다. 등록특허 제10-1497411호는 문체 변환 장치, 문체 변환 방법, 저장 매체, 자동 대화 서비스 시스템 및 방법에 관한 것으로, 사용자에게 제공할 문장을 다양한 문체로 제공하여 사용자 친숙도를 높이기 위한 것이다. 등록특허 제10-1497411호는 시스템 내부의 데이터베이스나 규칙을 토대로 사용자에게 변형된 응답을 제공하고 있으나 대화 상대와의 관계에 일치하는 응답을 생성해내기는 어렵다.
그 밖에도 다양한 분야에서 대화 시스템이 소개되고 있지만 제공되는 대화 시스템은 문장의 흐름과는 부자연스러운 응답을 생성해내거나 불특정다수에게 동일한 발화 스타일로 응답을 하고 있다. 예를 들면 유치원 교사라는 페르소나를 지닌 대화 시스템은 대상이 유아인지 학부모인지 여부에 따라 상이한 발화 스타일과 단어로 응답을 생성해내야 한다. 허나 이미 특정한 발화 스타일을 고정했을 경우에는 적응적인 응답을 생성해내기 어렵다는 문제가 발생한다. 이에 따라, 주어진 상황과 대상에 맞게 적응적으로 응답을 생성해내는 대화 시스템이 필요하다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서 대화의 문맥을 고려하여 주어진 상황과 대상에 맞게 적응적으로 응답을 생성해내는 대화 시스템 및 그 방법을 제공하는데 목적이 있다.
본 발명의 일 실시예에 따른 대화 시스템은 사용자의 발화를 입력받는 입력부, 상기 발화를 분석하여 주제를 검출하는 분석부, 상기 검출된 주제와 기 설정된 페르소나를 이용하여 상기 발화에 대한 응답을 생성하는 응답생성부 및 상기 생성된 응답을 출력하는 출력부를 포함한다.
상기 입력부는 심층 학습 기반의 인코더(Encoder)를 통해 상기 발화로부터 의미 표현을 생성하고, 상기 분석부는 상기 의미 표현을 이용하여 주제를 검출하며, 상기 응답생성부는 심층 학습 기반의 디코더(Decoder)를 통해 상기 응답을 생성하고, 상기 인코더(Encoder)와 상기 디코더(Decoder)는 순환신경망(Recurrent neural network)을 사용하는 것을 특징으로 한다.상기 응답생성부는 상기 발화에 대한 복수의 후보 응답을 생성하고 상기 복수의 후보 응답에 대해 상기 검출된 주제와의 유사도를 각각 분석하여 하나의 최종 응답을 결정하는 주제 유사도 분석부를 더 포함하는 것을 특징으로 한다.
상기 주제 유사도 분석부는 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하여 분석하는 것을 특징으로 한다.
상기 대화 시스템은 상기 생성된 응답을 현재 대화 상대 및 대화 상황에 따라 문맥을 보정하는 문맥보정부를 더 포함하고 상기 출력부는 보정된 응답을 출력하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 대화 시스템의 대화 방법은 사용자의 발화를 입력받는 입력 단계, 상기 입력된 발화를 분석하여 주제를 검출하는 분석 단계, 상기 검출된 주제와 기 설정된 페르소나를 이용하여 상기 발화에 대한 응답을 생성하는 응답 생성 단계, 및 상기 생성된 응답을 출력하는 출력 단계를 포함한다.
상기 응답 생성 단계는 기 설정된 페르소나에 따른 응답을 생성하는 것을 특징으로 한다.
상기 응답 생성 단계는 상기 발화에 대한 복수의 후보 응답을 생성하고 상기 출력 단계 이전에 상기 복수의 후보 응답에 대해 상기 검출된 주제와의 유사도를 각각 분석하여 하나의 최종 응답을 결정하는 주제 유사도 분석단계를 더 포함하고 상기 출력 단계는 상기 결정된 최종응답을 출력하는 것을 특징으로 한다.
상기 주제 유사도 분석단계는 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하여 분석하는 것을 특징으로 한다.
상기 대화 시스템의 대화 방법은 상기 출력 단계 이전에 상기 생성된 응답을 기 설정된 대화 상대에 따라 문맥을 보정하는 문맥 보정 단계를 더 포함하고 상기 출력단계는 보정된 응답을 출력하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 의하면 하드웨어와 결합하여 상기 방법들 중 어느 하나의 방법을 실행하기 위해 매체에 저장된 컴퓨터 프로그램이 제공될 수 있다.
본 발명의 대화 시스템 및 그 방법에 따르면 대화 시스템에 주어진 역할과 그에 따른 기 설정된 페르소나를 기반으로 응답을 생성하여 대화 시스템의 목적에 맞는 자연스러운 응답을 생성할 수 있다.
또한 본 발명의 대화 시스템 및 그 방법에 따르면 현재 대화 세션(연속적으로 이어지는 대화)의 주제를 분석하고, 생성한 후보 응답들과 현재 대화 간의 주제 유사도를 분석하여 최종 응답을 결정하므로 사용자 발화에 대해 좀 더 적절한 응답을 생성할 수 있다.
또한 본 발명의 대화 시스템 및 그 방법에 따르면 현재 대화 시스템의 대화 상대와 대화 상황에 따라 적절한 응답을 생성함으로써 대화의 자연스러움이 증진된다.
도 1은 대화 시스템의 일반적인 동작 방식을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 대화 시스템의 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 대화 시스템의 전반적인 아키텍쳐를 도시한 도면이다.
도 4는 본 발명의 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 대화 시스템의 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 대화 시스템의 전반적인 아키텍쳐를 도시한 도면이다.
도 4는 본 발명의 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
페르소나는 개인이 사회에 대한 이해를 바탕으로 사회에서 가정하는 자신의 역할을 의미한다. 본 명세서에서 페르소나는 대화 시스템이 적용되는 환경 및 목적 수행을 위한 가상의 인격을 지칭한다.
이하 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 대화 시스템 및 그 대화 방법을 상세하게 설명하기로 한다.
도 1은 대화 시스템의 일반적인 동작 방식을 나타낸 도면이다.
도 1을 참조하면, 대화 시스템(10)은 사용자가 발화를 하면 시스템이 이를 입력 받아 그에 대한 응답을 생성하여 출력하는 방식으로 동작한다.
이하 구체적으로 설명한다.
a단계에서 사용자의 발화가 대화 시스템(10)에 음성 또는 텍스트로 입력된다. 대화 시스템(10)은 b단계에서 입력된 사용자의 발화에 대한 언어처리를 통하여 분석 후 사용자의 의도를 표현하는 의미표현을 생성한다. c단계에서 대화 시스템(10) 내 대화관리자가 사용자의 의미표현에 따른 대화 흐름과 상황을 고려하여 사용자의 발화 의도에 부합하는 의미표현을 생성한다. 대화 시스템(10)은 d단계에서 입력된 의미표현을 이용하여 시스템이 발화할 문장을 생성한다. e단계에서 대화 시스템(10)은 생성된 문장을 음성/텍스트로 출력한다.
b단계와 d단계에 대해 심층 학습 기반의 인코더-디코더(Encoder-Decoder) 방식을 채용함으로써 사용자 발화를 보다 폭넓게 이해하고 더 자연스럽고 다양한 자연어 응답을 생성할 수 있다. 이하 도 2에서 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 대화 시스템의 구조를 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 대화 시스템(100)은 입력부(110), 분석부(120), 응답생성부(130), 문맥보정부(140) 및 출력부(150)를 포함할 수 있다.
입력부(110)는 사용자의 발화를 입력 받는다. 입력부(110)가 사용자의 발화를 입력 받는 방식은 음성 또는 문자가 될 수 있다. 입력부(110)가 음성을 통해 인식하는 경우 마이크(미도시)와 음성 인식부(미도시)를 구비하고 문자를 통해 입력 받는 경우 문자를 입력할 수 있는 입력패널(미도시)을 구비할 수 있다. 또한 입력부(110)는 카메라(미도시)를 더 구비하여 영상의 음성을 통해 입력 받거나 영상에서 인식된 문자를 통해 입력받을 수도 있다. 입력부(110)가 음성을 통해 상기 발화를 입력 받는 경우 음성 인식부는 이를 문자로 변환한다. 상기 음성 인식부는 STT(Speech-to-Text)모듈일 수 있다.
입력부(110)는 최종적으로 문자열로 변환된 사용자 발화를 심층학습 기반의 인코더(Encoder)를 통해 의미표현을 생성한다. 입력부(110)의 인코더(Encoder)에는 순환 신경망(Recurrent neural network)이 사용될 수 있다. 그러나 이에 한정되지 않고 자연어 이해에 필요한 다른 기술(형태소 분석, 구문 분석 등)이 사용되거나 함께 사용될 수 있다.
분석부(120)는 입력된 발화를 분석하여 주제 검출, 대화 상대 및 대화 상황 분석, 주제 유사도 분석을 수행할 수 있다. 이를 위해 분석부(120)는 주제 분석부(121), 대화 상대 분석부(122), 대화 상황 분석부(123) 및 주제 유사도 분석부(124)를 포함할 수 있다.
주제 분석부(121)는 현재 대화 세션에서 주제를 검출한다.
구체적으로 주제 분석부(121)는 주제를 검출함에 있어 여러 자연어 처리 방법 중 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용할 수 있다. 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)이란 주어진 문서에 대하여 각 문서에 어떤 주제들이 존재하는지를 서술하는 확률적 토픽 모델 기법 중 하나이다. 미리 학습된 주제별 단어 분포를 바탕으로, 주어진 문서의 단어 분포를 분석함으로써 해당 문서가 어떤 주제들을 함께 다루고 있을지를 예측할 수 있다.
주제 분석부(121)가 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하여 대화의 주제를 검출하는 경우에는 현재 대화 세션과 사용자의 발화에 포함된 주제가 디리클레 분포(Dirichlet distribution)를 따른다고 가정하고 검출되는 주제는 특정 단어나 문장이 아닌 주제들의 다중 분포(Multinomial distribution) 형태로 얻어진다.
본 발명의 다른 실시예에 의하면, 주제 분석부(121)는 입력부(110)가 생성한 의미 표현을 이용하여 주제를 검출할 수 있다.
대화 상대 분석부(122)는 센서(카메라, 마이크 등 - 미도시)로부터 입력 받은 영상, 음성 정보를 분석하여 대화 상대에 대한 정보를 얻는다. 대화 상대에 대한 구체적인 정보에는 이름, 나이, 직업, 결혼 여부, 성장 환경, 취미, 관심사, 배경지식, 성장환경, 가치관, 인생 목표, 좋아하는 브랜드 및 성격 등이 포함될 수 있다. 상기 열거된 목록에 한정되는 것은 아니며 개인을 특정할 수 있는 그 밖의 모든 요소가 포함될 수 있다.
대화 상대 분석부(122)는 사용자와의 연속되는 대화를 통해 대화 상대에 대한 정보를 학습하여 저장한다. 저장된 정보는 해당 대화 상대인 대화 시스템(100)이 사용자에 대한 맞춤 대화를 할 수 있도록 하며, 또한 사용자와 친근감을 형성하며 대화의 흐름이 자연스럽게 이어지도록 하는 역할을 한다.
대화 상황 분석부(123)는 입력된 사용자의 발화를 분석하여 대화 상황에 대한 정보를 얻는다. 예를 들면 대화 시스템(100)은 은행에서 운용되고 있으며 사용자는 대출에 관심이 있는 상황인 경우에, 대화 시스템(100)은 해당 사용자의 재정 상태에 관한 질문을 하기보다는 해당 은행의 대출 상품, 상기 대출 상품 각각의 세부 정보를 전달하는 데 중점을 두고 응답을 생성해야 한다. 이를 위해 대화 상황에 대한 구체적인 정보가 필요하게 된다.
대화 상황에 대한 구체적인 정보에는 대화 시스템(100)이 운용되고 있는 분야(예를 들면 은행, 인터넷 쇼핑몰 고객센터), 운용되는 장소, 대화 상대의 현재 위치, 대화 상대의 현 상황 및 대화 상대의 대화 목적(예를 들면 단순 대화, 정보 요청) 등이 포함될 수 있다. 상기 열거된 목록에 한정되는 것은 아니며 대화 시스템(100)과 사용자간의 대화를 자연스럽게 만들어 줄 수 있는 그 밖의 모든 요소가 포함될 수 있다.
본 발명의 다른 실시예에 의하면 대화 상대 및 대화 상황에 관한 정보는 대화 시스템(100)의 사용자가 직접 입력하거나 상기 열거된 목록들을 이용하여 미리 설정될 수 있다. 이 경우 분석부(120)는 대화 상대 분석부(122)나 대화 상황 분석부(123)를 포함하지 않는다.
응답생성부(130)은 심층학습 기반의 디코더를 통해 자연어 응답을 생성한다. 응답생성부(130)의 디코더(Decoder)에는 순환 신경망(Recurrent neural network)이 사용될 수 있다. 순환 신경망(Recurrent neural network)은 입력 받은 맥락에 기초하여 가장 적절한 단어를 연속적으로 생성할 수 있기 때문에 응답 생성을 위해 사전에 질문-응답 패턴 및 자연어 문형(Natural language template)을 정의할 필요가 없어진다. 이를 통해 종래 대화 시스템에 비해 더욱 대화 상황에 적절하고 의미 있으며 자연스러운 응답을 생성할 수 있다.
입력부(110)와 응답생성부(130)에서 사용하는 순환신경망(Recurrent neural network)은 장단기 메모리(Long short-term memory), 게이트된 순환 유닛(Gated Recurrent Unit) 및 주의 모델(Attention model) 등이 포함될 수 있으나 이에 한정되지 않으며 자연어 이해 및 생성에 활용 가능한 모든 기술이 포함될 수 있다.
응답생성부(130)는 분석부(120)을 통해 검출된 주제 및 대화 상대와 상황에 대한 분석 결과를 이용하여 입력된 사용자의 발화에 대한 응답을 생성한다. 구체적으로 응답생성부(130)는 검출된 주제와 기 설정된 페르소나의 역할을 반영하여 응답을 생성한다. 기 설정된 페르소나란 대화 시스템이 운용되는 분야나 목적에 따라서 설정 내지 변경될 수 있다. 예를 들어, 인터넷 쇼핑몰 고객센터에서 운용되는 경우와 게임 상에서 컴퓨터가 유저와 함께 게임을 플레이 하는 상황에서 운용되는 경우는 대화 시스템에 요구되는 역할이 상이하므로 이를 고려하여 설정된다.
상기 페르소나를 설정하기 위해 가상의 인적 정보가 이용될 수 있다. 상기 가상의 인적 정보에는 이름, 나이, 직업, 결혼 여부, 성장 환경, 취미, 관심사, 배경지식, 성장환경, 가치관, 인생 목표, 좋아하는 브랜드 및 성격이 포함될 수 있다. 이러한 가상의 인적 정보와 함께 대화 시스템의 역할을 수행한 대화 데이터를 학습함으로써 대화 시스템이 설정된 페르소나에 적합한 대화를 수행할 수 있도록 한다. 응답생성부(130)는 기 설정된 페르소나를 기반으로 응답을 생성하게 되어 좀 더 자신의 역할에 맞는 자연스러운 응답을 생성할 수 있다.
본 발명의 다른 실시예에 의하면 응답생성부(130)는 복수의 후보 응답을 생성하고 기 생성한 응답에 대해 각각 주제를 검출할 수 있다. 응답생성부(130)는 기 정의된 응답을 선택하는 것이 아니라 순환신경망을 통해 자연어 응답을 생성하기 때문에 복수의 후보 응답을 생성할 수 있다. 상기 후보응답의 수는 10개일 수 있으며, 응답의 정확성 및 대화 주제와의 관련성을 고려하여 최적의 결과를 보여주는 응답이 선택되거나 수정될 수 있다.
주제 유사도 분석부(124)는 응답생성부(130)가 복수의 후보 응답을 생성한 경우 상기 복수의 후보 응답의 주제와 현재 대화 세션 및 사용자 발화의 주제 간에 주제 유사도를 분석하여 하나의 최종 응답을 결정한다.
주제 유사도 분석부(124)는 주제 분석부(121)가 검출한 주제를 이용하여 상기 복수의 후보 응답에 대해 주제 유사도를 각각 분석한다. 이를 위해 주제 유사도 분석부(124)는 사용자 발화로부터 얻어진 주제 분포와 기 생성된 후보 응답으로부터 얻어진 주제 분포 간 코사인 유사도(Cosine similarity) 또는 쿨백-라이블러 발산(Kullback-Leiblerdivergence) 등을 계산함으로써 주제 유사도를 분석할 수 있다. 주제 유사도 분석부(124)는 복수의 후보 응답에 대해 주제 유사도를 분석하여 최종 응답을 결정하므로 사용자 발화 및 현재 대화 맥락에 대해 좀 더 적절한 응답을 생성할 수 있다.
문맥보정부(140)는 응답생성부(130)가 생성한 응답을 분석부(120)의 대화 상대 분석부(122)와 대화 상황 분석부(123)의 결과에 따라 문맥을 보정한다. 특정 페르소나를 지닌 대화시스템이라 하더라도 대화 상대와 대화 상황이 달라짐에 따라 생성하는 응답의 문맥이 보정될 필요가 있다. 예를 들어, 학교에서 교육 목적으로 사용되는 대화시스템의 경우 대화 상대가 학부모, 학생, 교장 선생님 등으로 달라질 수 있으며 각각의 경우마다 응답 발화의 스타일은 달라져야 한다. 마찬가지로 공히 학생을 대상으로 하는 발화라 하더라도 수업시간 교실에서 이루어지는 대화와 쉬는 시간 운동장에서 진행되는 대화 간의 발화 스타일을 달리함으로써 사용자에게 정보전달과 친밀감 획득 등의 상이한 목적을 이룰 수 있다.
문맥보정부(140)는 또한 본 발명의 다른 실시 예에 따라 기 설정된 대화 상대와 대화 상황에 따라 문맥을 보정할 수 있다. 기 설정된 대화 상대란 대화 시스템이 운용되는 상황이나 장소에 따라서 설정 내지 변경될 수 있다. 예를 들어, 인터넷 쇼핑몰 고객센터에서 운용되는 경우와 대화 상대는 해당 쇼핑몰의 고객일 것이고 게임 상에서 컴퓨터가 유저와 함께 게임을 플레이 하는 상황에서 운용되는 경우 대화 상대는 함께 게임을 플레이 하는 유저가 된다.
상기 대화 상대를 설정하기 위해 상기 대화 상대에 대한 일반적인 인적 정보가 사용될 수 있다. 상기 일반적인 인적 정보에는 대화 시스템과의 관계(예를 들면 고객, 친구 등), 이름, 나이, 직업, 결혼 여부, 성장 환경, 취미, 관심사, 배경지식, 성장환경, 가치관, 인생 목표, 좋아하는 브랜드 및 성격이 포함될 수 있다.
문맥보정부(140)는 대화상대의 친소상하관계에 따라 평어, 높임말 및 낮춤말 등의 어휘를 보정한다. 예를 들면 기 설정된 페르소나가 유치원 교사인 경우 대화 상대가 유아인 경우와 학부모인 경우에 따라 사용하는 어휘나 말투의 변형이 필요하게 된다. 문맥보정부(140)는 이를 고려하여 기 생성된 응답의 문맥을 보정한다.
문맥보정부(140)는 높임말, 낮춤말 보정 외에도 친밀감 획득 등의 목적으로 대화 상대의 일반적인 인적 정보를 반영하여 말투를 교정할 수 있다. 예를 들면, 남자 중학생과 친구 역할을 수행하기 위해 해당 연령대 남학생 말투를 흉내 내도록 보정할 수 있다.
본 발명의 다른 실시예에 의하면, 문맥보정부(140)는 단순 규칙이나 기 정의된 문형을 사용하여 보정하는 것이 아니라, 대화 상대와 대화 상황이 주어졌을 때 응답생성부(130)가 생성한 응답을 해당 조건에 적절한 문장으로 재구성(Reconstruction)하도록 오토인코더(Autoencoder)를 학습함으로써 구현화 될 수 있다. 문맥보정부(140)는 문맥을 보정할 자연어를 의미 벡터 표현으로 인코딩하고, 이 의미 벡터 표현과 대화 상대, 상황을 나타내는 속성(Attribute) 표현을 함께 고려하여 입력 받은 자연어를 문맥에 맞게 보정할 수 있다. 이러한 심화 학습 기법으로 문맥보정부(140)를 구축함으로써 보다 자연스럽고 다양한 형태로 응답의 문맥을 보정할 수 있다.
문맥보정부(140)는 응답생성부(130)가 복수의 후보 응답을 생성한 경우 주제 유사도 분석부(124)가 결정한 최종 응답의 문맥을 보정한다. 문맥보정부(140)는 대화 상대와 대화 상황을 고려하여 대화 문맥에 부합하도록 출력 전 응답을 보정함으로써 대화의 자연스러움이 증진된다.
출력부(150)는 응답생성부(130)가 생성한 응답을 출력한다.
본 발명의 다른 실시예에 의하면 출력부(150)는 주제 유사도 분석부(124)가 결정한 최종 응답 또는 문맥보정부(140)가 보정한 응답을 출력할 수 있다.
출력부(150)는 디스플레이부(미도시), 음성합성부(미도시) 및 스피커(미도시)를 구비할 수 있다. 상기 음성합성부는 문자를 음성으로 변환하는 TTS(Text-To-Speech)모듈이다.
입력부(110)가 입력패널을 통해 문자로 사용자의 발화를 입력 받은 경우 출력부(150)는 상기 응답을 문자로 출력해야 한다. 출력부(150)는 상기 응답을 상기 디스플레이부에 표시한다.
입력부(110)가 음성인식부를 통해 사용자의 발화를 입력 받은 경우 출력부(150)는 상기 응답을 음성으로 출력해야 한다. 상기 음성합성부가 상기 응답을 음성으로 변환하면, 출력부(150)는 변환된 응답을 상기 스피커를 통해 출력한다.
본 발명의 다른 실시예에 따르면 입력부(110)가 사용자의 발화를 문자로 입력받은 경우에도 출력부(150)는 상기 사용자의 발화에 대한 응답을 음성으로 출력할 수 있고, 마찬가지로 입력부(110)가 사용자의 발화를 음성으로 입력 받은 경우에는 출력부(150)가 상기 사용자의 발화에 대한 응답을 문자로 출력할 수 있다. 또한 출력부(150)는 사용자의 입력 방식과 무관하게 상기 사용자의 발화에 대한 응답을 문자 및 음성으로 출력할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 대화 시스템의 전반적인 아키텍쳐를 도시한 도면이다.
도 3을 참조하면, 사용자의 발화가 음성/문자로 입력부(110)를 통해 대화 시스템(100)에 입력된다. 대화 시스템(100)은 입력된 발화에서 분석부(120)를 통해 주제를 검출한다. 대화 시스템(100)은 응답생성부(130)를 통해 검출된 주제를 이용하여 사용자의 발화에 대한 응답을 생성한다. 문맥보정부(140)는 기 설정된 대화 상대 및 대화 상황에 대한 정보를 분석부(120)로부터 얻고 이를 이용하여 생성된 응답의 문맥을 보정한다. 보정된 응답은 출력부(150)를 통해 음성/문자로 출력된다. 상기와 같은 방식을 통해 사용자의 발화에 대해 대화 시스템(100)이 발화하게 된다.
본 발명의 다른 실시예에 의하면 사용자의 발화가 입력된 후 응답 생성부(130)는 검출된 주제를 이용하여 복수의 후보 응답을 생성한다. 생성된 복수의 후보 응답은 분석부(120)가 주제 유사도를 분석하여 하나의 최종 응답을 결정한다. 문맥 보정부(140)는 최종 응답의 문맥을 보정하고 대화 시스템(100)은 보정된 최종 응답을 발화하게 된다.
본 발명의 또 다른 실시예에 의하면 사용자의 발화가 입력된 후 분석부(120)는 주제뿐만 아니라 대화 상대 및 대화 상황에 대한 정보를 분석한다. 기 설정된 대화 상대 및 대화 상황 대신 실제 대화 상대와 대화 상황을 직접 분석함으로써 더욱 자유도 높은 대화를 진행할 수 있다. 분석된 정보는 문맥 보정부(140)가 상기 응답 또는 상기 최종 응답의 문맥을 보정하는 데 사용된다.
도 4는 본 발명의 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 본 발명의 다른 실시예에 따른 대화 시스템의 대화 방법은 사용자 발화 입력 단계(S200), 입력된 발화의 주제 검출 단계(S300), 주제를 이용하여 발화에 대한 응답 생성 단계(S400) 및 생성된 응답을 출력하는 단계(S500)를 포함한다.
단계 S200에서, 사용자의 발화가 대화 시스템(100)에 입력된다. 상기 발화가 입력되는 방식은 사용자가 입력부(110)에 구비된 입력패널을 이용하여 문자로 입력부(110)에 입력될 수 있고 입력부(110)에 구비된 마이크를 통해 음성으로 입력부(110)에 입력될 수 있다.
사용자의 발화가 음성으로 입력된 경우 대화 시스템(100)은 상기 음성을 문자로 변환한다.
단계 S300에서, 대화 시스템(100)은 입력된 발화의 주제를 검출한다. 대화 시스템(100)이 주제를 검출함에 있어 여러 자연어 처리 방법 중 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용할 수 있다.
대화 시스템(100)이 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하여 주제를 검출하는 경우에는 사용자의 발화에 포함된 주제가 디리클레 분포(Dirichlet distribution)를 따른다고 가정하고 검출되는 주제는 특정 단어나 문장이 아닌 주제의 디리클레 분포(Dirichlet distribution) 형태로 얻어진다.
단계 S400에서, 대화 시스템(100)은 검출된 주제를 이용하여 발화에 대한 응답을 생성한다. 대화 시스템(100)은 응답생성부(130)를 통해 상기 검출된 주제와 기 설정된 페르소나에 따른 발화스타일을 반영하여 응답을 생성할 수 있다.
구체적으로 예를 들면,
기 설정된 페르소나가 사극의 양반인 경우 “나와 함께 찾아볼래?”라는 응답이 아닌 “나와 함께 찾아보시겠소?”와 같이 응답생성부(130)는 기 설정된 페르소나의 발화스타일을 반영하여 응답을 생성한다.
단계 S500에서, 대화 시스템(100)은 출력부(150)를 통해 자신이 생성한 응답을 출력한다. 상기 응답을 출력하는 방식은 문자 또는 합성된 음성일 수 있다.
대화 시스템(100)이 문자로 상기 응답을 출력하는 경우에는 출력부(150)에 구비된 디스플레이부에 상기 응답을 표시한다.
대화 시스템(100)이 음성으로 상기 응답을 출력하는 경우에는 출력부(150)에 구비된 음성합성부가 상기 응답을 음성으로 변환한다. 대화 시스템(100)은 변환된 응답을 출력부(150)에 구비된 스피커를 통해 출력한다.
따라서 본 발명에 따른 대화 시스템의 대화방법은 기 설정된 페르소나를 기반으로 응답을 생성하여 좀 더 대화적(conversational)이며 대화시스템에 주어진 역할을 자연스럽게 수행 할 수 있다.
본 발명의 다른 실시예에 의하면 대화 시스템(100)은 상기 응답을 문자 및 합성된 음성으로 출력할 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법은 사용자 발화 입력 단계(S210), 입력된 발화의 주제 검출 단계(S310), 주제를 이용하여 발화에 대한 응답 생성 단계(S410), 생성된 응답의 문맥을 보정하는 단계(S510) 및 보정된 응답을 출력하는 단계(S610)를 포함한다.
단계 S210 내지 S410은 도 4의 단계 S200 내지 S400과 동일하다.
단계 S510에서, 대화 시스템(100)은 생성된 응답을 기 설정된 대화 상대에 따라 문맥을 보정한다.
대화 시스템(100)은 기 설정된 대화상대와의 친소상하관계에 따라 평어, 높임말 및 낮춤말 등의 어휘를 보정한다.
구체적으로 예를 들면,
대화 시스템(100)이 “요청하신 내용을 찾을 수 없습니다.” 라는 응답을 생성하였으나 대화상대가 친구같이 대등한 관계로 설정되어 있는 경우, 대화 시스템(100)은 이를 “요청한 내용을 찾을 수 없어.”로 보정한다.
대화 시스템(100)이 “도서관은 남쪽에 있다.”라는 응답을 생성하였으나 대화상대가 특정 서비스 이용고객으로 설정되어 있는 경우, 대화 시스템(100)은 이를 “도서관은 남쪽에 있습니다.”로 보정한다.
단계 S610에서, 대화 시스템(100)은 출력부(150)를 통해 보정된 응답을 출력한다. 보정된 응답을 출력하는 방식은 도 4에서 설명한 바와 동일하다.
상기와 같이 본 발명에 따른 대화 시스템의 대화방법은 대화 상대에 따라 대화 문맥에 적절한 응답을 생성함으로써 대화의 자연스러움이 증진된다.
도 6은 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 본 발명의 또 다른 실시예에 따른 대화 시스템의 대화 방법은 사용자 발화 입력 단계(S220), 입력된 발화의 주제 검출 단계(S320), 주제를 이용하여 발화에 대한 복수의 후보 응답 생성 단계(S420), 주제 유사도 분석하여 최종 응답 결정하는 단계(S520) 및 최종 응답을 출력하는 단계(S620)를 포함한다.
단계 S220 및 S320은 도 4의 단계 S200 및 S300과 동일하다.
단계 S420에서, 대화 시스템(100)은 검출된 주제를 이용하여 사용자의 발화에 대한 복수의 후보 응답을 생성한다.
대화 시스템(100)이 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하여 주제를 검출한 경우 주제의 디리클레 분포(Dirichlet distribution)를 얻을 수 있다. 대화 시스템(100)은 상기 주제의 확률 분포를 이용하여 복수의 후보 응답을 생성할 수 있다.
상기 후보응답의 수는 10개일 수 있으며, 응답의 정확성을 고려하여 최적의 결과를 보여주는 값으로 설정되거나 수정될 수 있다.
단계 S520에서 대화 시스템(100)은 검출된 주제를 이용하여 상기 복수의 후보 응답에 대해 주제 유사도를 각각 분석한다.
대화 시스템(100)이 주제 유사도 분석을 위해 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하는 경우 각 후보 문장에 대해 주제 분포를 측정한다.
대화 시스템(100)은 각 후보응답의 주제 분포를 측정한 후 기 검출된 주제의 다중 분포(Multinomial distribution)와 분포가 가장 유사한 후보응답을 최종 응답으로 결정한다.
단계 S620에서, 대화 시스템(100)운 출력부(150)를 통해 최종 응답을 출력한다. 최종 응답을 출력하는 방식은 도 4에서 설명한 바와 동일하다.
상기와 같이 본 발명은 사용자 발화에 대해 복수의 후보 응답을 생성 후 주제 유사도를 분석하여 최종 응답을 결정하므로 사용자 발화에 대해 좀 더 적절한 응답을 생성할 수 있다.
본 발명의 다른 실시예에 의하면 단계 S620은 최종 응답의 문맥을 보정하는 제1 단계와 보정된 최종 응답을 출력하는 제2 단계를 포함할 수 있다.
제1 단계에서, 대화 시스템(100)은 주제 유사도에 따라 결정된 최종 응답을 기 설정된 대화상대와의 친소상하관계에 따라 평어, 높임말 및 낮춤말 등의 어휘를 보정한다. 구체적인 내용은 도 5의 단계 S510에서 설명한 바와 동일하다.
제2 단계에서, 대화 시스템(100)은 출력부(150)를 통해 문맥을 보정한 최종 응답을 출력한다. 보정된 최종 응답이 출력되는 방식은 도 4에서 설명한 바와 동일하다.
따라서 본 발명에 따른 대화 시스템 대화방법은 사용자 발화에 대한 주제를 고려하는 동시에 대화 상대에 따라 대화 문맥에 적절한 응답을 생성함으로써 대화의 자연스러움이 증진된다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다.
상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다.
추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다.
확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.
본 발명은 또한 하나 이상의 실시 예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시 예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시 예는 여기에 설명된 하나 이상의 실시 예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다.
더구나, 전체 도면에서, 실시 예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
10, 100 : 대화 시스템
110 : 입력부
120 : 분석부
121 : 주제 분석부
122 : 대화 상대 분석부
123 : 대화 상황 분석부
124 : 주제 유사도 분석부
130 : 응답생성부
140 : 문맥보정부
150 : 출력부
110 : 입력부
120 : 분석부
121 : 주제 분석부
122 : 대화 상대 분석부
123 : 대화 상황 분석부
124 : 주제 유사도 분석부
130 : 응답생성부
140 : 문맥보정부
150 : 출력부
Claims (11)
- 사용자의 발화를 입력받는 입력부;
상기 발화를 분석하여 주제를 검출하는 분석부;
상기 검출된 주제와 기 설정된 페르소나를 이용하여 상기 발화에 대한 응답을 생성하는 응답생성부; 및
상기 생성된 응답을 출력하는 출력부를 포함하는 대화 시스템.
- 제1 항에 있어서,
상기 입력부는 심층 학습 기반의 인코더(Encoder)를 통해 상기 발화로부터 의미 표현을 생성하고,
상기 분석부는 상기 의미 표현을 이용하여 주제를 검출하며,
상기 응답생성부는 심층 학습 기반의 디코더(Decoder)를 통해 상기 응답을 생성하고,
상기 인코더(Encoder)와 상기 디코더(Decoder)는 순환신경망(Recurrent neural network)을 사용하는 것을 특징으로 하는 대화 시스템.
- 제1 항에 있어서,
상기 응답생성부는 상기 발화에 대한 복수의 후보 응답을 생성하고
상기 복수의 후보 응답에 대해 상기 검출된 주제와의 유사도를 각각 분석하여 하나의 최종 응답을 결정하는 주제 유사도 분석부를 더 포함하는 것을 특징으로 하는 대화 시스템.
- 제3 항에 있어서,
상기 주제 유사도 분석부는 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하여 분석하는 것을 특징으로 하는 대화 시스템.
- 제1 항에 있어서,
상기 생성된 응답을 기 설정된 대화 상대에 따라 문맥을 보정하는 문맥보정부를 더 포함하고
상기 출력부는 보정된 응답을 출력하는 것을 특징으로 하는 대화 시스템.
- 사용자의 발화를 입력받는 입력 단계;
상기 입력된 발화를 분석하여 주제를 검출하는 분석 단계;
상기 검출된 주제와 기 설정된 페르소나를 이용하여 상기 발화에 대한 응답을 생성하는 응답 생성 단계; 및
상기 생성된 응답을 출력하는 출력 단계를 포함하는 대화 시스템의 대화 방법.
- 제6 항에 있어서,
상기 응답 생성 단계는
상기 발화에 대한 복수의 후보 응답을 생성하고
상기 출력 단계 이전에
상기 복수의 후보 응답에 대해 상기 검출된 주제와의 유사도를 각각 분석하여 하나의 최종 응답을 결정하는 주제 유사도 분석 단계를 더 포함하고
상기 출력 단계는
상기 결정된 최종응답을 출력하는 것을 특징으로 하는 대화 시스템의 대화방법.
- 제7 항에 있어서,
상기 주제 유사도 분석단계는 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)을 이용하여 분석하는 것을 특징으로 하는 대화 시스템의 대화방법.
- 제6 항에 있어서,
상기 출력 단계 이전에
상기 생성된 응답을 기 설정된 대화 상대에 따라 문맥을 보정하는 문맥 보정 단계를 더 포함하고
상기 출력 단계는
보정된 응답을 출력하는 것을 특징으로 하는 대화 시스템의 대화방법.
- 제6 항에 있어서,
상기 출력 단계 이전에
상기 생성된 응답을 현재 대화의 대화 상대와 대화 상황을 분석하고 그 분석 결과에 따라 문맥을 보정하는 문맥 보정 단계를 더 포함하고
상기 출력 단계는
보정된 응답을 출력하는 것을 특징으로 하는 대화 시스템의 대화방법.
- 하드웨어와 결합하여 제6 항 내지 제10 항 중 어느 한 항의 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180026883A KR20190106011A (ko) | 2018-03-07 | 2018-03-07 | 대화 시스템 및 그 방법, 그 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180026883A KR20190106011A (ko) | 2018-03-07 | 2018-03-07 | 대화 시스템 및 그 방법, 그 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190106011A true KR20190106011A (ko) | 2019-09-18 |
Family
ID=68071186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180026883A KR20190106011A (ko) | 2018-03-07 | 2018-03-07 | 대화 시스템 및 그 방법, 그 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190106011A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021071110A1 (en) * | 2019-10-10 | 2021-04-15 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for controlling electronic apparatus |
-
2018
- 2018-03-07 KR KR1020180026883A patent/KR20190106011A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021071110A1 (en) * | 2019-10-10 | 2021-04-15 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for controlling electronic apparatus |
US11468892B2 (en) | 2019-10-10 | 2022-10-11 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for controlling electronic apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11705096B2 (en) | Autonomous generation of melody | |
US20210142794A1 (en) | Speech processing dialog management | |
US10573304B2 (en) | Speech recognition system and method using an adaptive incremental learning approach | |
Gharavian et al. | Speech emotion recognition using FCBF feature selection method and GA-optimized fuzzy ARTMAP neural network | |
Triantafyllopoulos et al. | An overview of affective speech synthesis and conversion in the deep learning era | |
US11847168B2 (en) | Training model with model-provided candidate action | |
Griol et al. | An architecture to develop multimodal educative applications with chatbots | |
JP4729902B2 (ja) | 音声対話システム | |
US11132994B1 (en) | Multi-domain dialog state tracking | |
JP2024508033A (ja) | 対話中のテキスト-音声の瞬時学習 | |
Siegert et al. | “Speech Melody and Speech Content Didn’t Fit Together”—Differences in Speech Behavior for Device Directed and Human Directed Interactions | |
CN113761268A (zh) | 音频节目内容的播放控制方法、装置、设备和存储介质 | |
US11176943B2 (en) | Voice recognition device, voice recognition method, and computer program product | |
US20220253609A1 (en) | Social Agent Personalized and Driven by User Intent | |
Siegert et al. | Admitting the addressee detection faultiness of voice assistants to improve the activation performance using a continuous learning framework | |
US12112740B2 (en) | Creative work systems and methods thereof | |
KR20190106011A (ko) | 대화 시스템 및 그 방법, 그 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램 | |
Mamun et al. | Affective social anthropomorphic intelligent system | |
Shih | Voice revolution | |
CN113066473A (zh) | 一种语音合成方法、装置、存储介质及电子设备 | |
JP2022021349A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN113555006B (zh) | 一种语音信息识别方法、装置、电子设备及存储介质 | |
CN118410813B (zh) | 一种语言学习方法、系统及存储介质 | |
US20240274123A1 (en) | Systems and methods for phoneme recognition | |
Griol et al. | Fusion of sentiment analysis and emotion recognition to model the user's emotional state |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |