KR20200023049A - Method and system for generating multi-turn conversation response using deep learing generation model and multi-modal distribution - Google Patents
Method and system for generating multi-turn conversation response using deep learing generation model and multi-modal distribution Download PDFInfo
- Publication number
- KR20200023049A KR20200023049A KR1020180099404A KR20180099404A KR20200023049A KR 20200023049 A KR20200023049 A KR 20200023049A KR 1020180099404 A KR1020180099404 A KR 1020180099404A KR 20180099404 A KR20180099404 A KR 20180099404A KR 20200023049 A KR20200023049 A KR 20200023049A
- Authority
- KR
- South Korea
- Prior art keywords
- dialogue
- response
- learning
- generating
- distribution
- Prior art date
Links
- 230000004044 response Effects 0.000 title claims abstract description 94
- 238000009826 distribution Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000015654 memory Effects 0.000 claims description 26
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 230000001419 dependent effect Effects 0.000 claims description 12
- 239000000203 mixture Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 241000282472 Canis lupus familiaris Species 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000028252 learning or memory Effects 0.000 description 1
- 210000004185 liver Anatomy 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
Description
아래의 설명은 대화 응답을 자동 생성하는 기술에 관한 것이다.The description below relates to a technique for automatically generating a conversation response.
홈 네트워크 서비스의 인공지능 스피커와 같이 음성을 기반으로 동작하는 인터페이스는 마이크(microphone)를 통해 사용자의 음성요청을 수신하고, 음성요청에 대응하는 응답정보를 제공하기 위해 답변음성을 합성하여 스피커를 통해 제공하거나 또는 응답정보가 포함하는 컨텐츠의 오디오를 출력할 수 있다.An interface operating based on voice, such as an AI speaker of a home network service, receives a user's voice request through a microphone and synthesizes the answer voice to provide response information corresponding to the voice request. It may provide or output the audio of the content included in the response information.
예를 들어, 한국공개특허 제10-2011-0139797호는 홈 미디어 디바이스 및 이를 이용한 홈 네트워크 시스템, 방법에 관한 기술로, 홈 네트워크 서비스에서 이동통신망 외에 와이파이와 같은 제2 통신망을 이용하여 홈 네트워크 서비스를 제공하는 것이 가능하고, 홈 내 복수의 멀티미디어 기기를 사용자가 별도의 버튼 조작 없이도 음성 명령을 통해 다중 제어할 수 있는 기술을 개시하고 있다.For example, Korean Patent Laid-Open Publication No. 10-2011-0139797 describes a home media device and a home network system and method using the same. In a home network service, a home network service using a second communication network such as Wi-Fi in addition to a mobile communication network is used. It is possible to provide, and discloses a technology that allows a user to control a plurality of multimedia devices in the home through a voice command without a separate button operation.
이러한 종래기술들에서는 주어진 질문에 대하여 대화 응답을 자동으로 생성하여 제공한다. 그러나, 동일한 질문이나 발화에 대해 매번 동일한 응답만 생성하기 때문에 응답의 다양성이 부족할 뿐만 아니라 발화와 응답의 내용이 의미적으로 관계 없는 경우가 빈번하고 싱글턴(single-turn) 방식의 대화로 대화 전체 맥락에 대한 대화 응답이 어려운 실정이다.These prior arts automatically generate and provide a dialogue response to a given question. However, not only is there a lack of diversity of responses because only the same response is generated each time for the same question or utterance, but the content of the utterance and response is often semantically irrelevant. It is difficult to respond to the conversation.
WGAN(Wasserstein Generative Adversarial Network)과 다중모달 가우시안 혼합(Multimodal Gaussian Mixture) 사전 분포(prior distribution)를 이용하여 다양한 표현과 대화 전체 맥락에 대한 대화 응답을 자동으로 생성할 수 있는 방법 및 시스템을 제공한다.It provides a method and system that can automatically generate conversational responses to a variety of expressions and dialogue-wide contexts using the Wassstein Generative Adversarial Network (WGAN) and the Multimodal Gaussian Mixture prior distribution.
컴퓨터 시스템에서 수행되는 대화 응답 생성 방법에 있어서, 과거 발화를 포함하는 대화 문맥(dialogue context)에 대해 잠재 변수 공간(latent variable space) 내에서 GAN(Generative Adversarial Network)을 학습시킴으로써 데이터 분포를 모델링한 대화 모델을 학습하는 단계; 및 상기 대화 모델을 통해 상기 데이터 분포로부터 샘플링된 잠재 변수를 이용하여 대화 응답을 생성하는 단계를 포함하는 대화 응답 생성 방법을 제공한다.A conversation response generation method performed in a computer system, comprising: a conversation modeling a data distribution by learning a GAN (Generative Adversarial Network) in a latent variable space for a dialogue context including past utterances Training the model; And generating a conversation response using a latent variable sampled from the data distribution through the conversation model.
일 측면에 따르면, 상기 학습하는 단계는, FFNN(feed-forward neural network)을 이용하여 잠재 변수에 대한 사전 분포(prior distribution)와 사후 분포(posterior distribution)를 모델링하는 단계를 포함할 수 있다.According to an aspect, the learning may include modeling a prior distribution and a posterior distribution of latent variables using a feed-forward neural network (FFNN).
다른 측면에 따르면, 상기 학습하는 단계는, 신경망(neural network)을 이용하여 문맥-의존 랜덤 노이즈(context-dependent random noise)를 잠재 변수에 대한 샘플로 변환함으로써 잠재 변수에 대한 사전 분포(prior distribution)와 사후 분포(posterior distribution)를 모델링하는 단계를 포함할 수 있다.According to another aspect, the learning step comprises prior distribution of latent variables by converting context-dependent random noise into samples for latent variables using a neural network. And modeling a posterior distribution.
또 다른 측면에 따르면, 상기 대화 모델은 상기 사전 분포와 상기 사후 분포 간의 다이버전스(divergence)를 최소화하면서 잠재 변수로부터 재구성된 응답의 로그 확률을 최대화할 수 있다.According to another aspect, the dialogue model may maximize the log probability of the reconstructed response from the latent variable while minimizing the divergence between the pre- and post-distribution.
또 다른 측면에 따르면, 상기 학습하는 단계는, 사전 샘플을 사후 샘플과 구별하는 적대 구별자(adversarial discriminator)를 이용하여 잠재 변수에 대한 사전 분포와 사후 분포를 대응시키는 단계를 포함할 수 있다.According to another aspect, the learning may include mapping a pre-distribution and a post-distribution for latent variables using an adversarial discriminator that distinguishes the pre-sample from the post-sample.
또 다른 측면에 따르면, 상기 문맥-의존 랜덤 노이즈는 FFNN(feed-forward neural network)인 사전 네트워크(prior network)와 인지 네트워크(recognition network) 각각을 통해 상기 대화 문맥으로부터 계산되는 정규 분포에서 도출될 수 있다.According to another aspect, the context-dependent random noise may be derived from a normal distribution computed from the dialogue context via each of a prior network and a recognition network, which are feed-forward neural networks (FFNNs). have.
또 다른 측면에 따르면, 상기 생성하는 단계는, 상기 신경망을 통해 상기 문맥-의존 랜덤 노이즈로부터 잠재 변수의 샘플을 생성한 후 생성된 잠재 변수를 상기 대화 응답으로 디코딩하는 단계를 포함할 수 있다.According to another aspect, the generating may include generating a sample of the latent variable from the context-dependent random noise through the neural network and then decoding the generated latent variable into the dialogue response.
또 다른 측면에 따르면, 상기 학습하는 단계는, 가우시안 혼합 사전 네트워크(Gaussian mixture prior tetwork)를 이용하여 랜덤 노이즈를 샘플링함으로써 다중모달(multimodal) 응답을 학습하는 단계를 포함할 수 있다.According to another aspect, the learning may include learning a multimodal response by sampling random noise using a Gaussian mixture prior tetwork.
또 다른 측면에 따르면, 상기 다중모달 응답을 학습하는 단계는, 하나 이상의 모드를 가지는 가우시안 분포에서 다중 모드를 캡쳐하여 상기 잠재 변수 공간에서 다중모달 응답을 학습할 수 있다.According to another aspect, the step of learning the multi-modal response may learn the multi-modal response in the latent variable space by capturing multiple modes in a Gaussian distribution having one or more modes.
컴퓨터와 결합되어 상기 대화 응답 생성 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.In combination with a computer, a computer program stored on a computer readable recording medium for executing the method for generating a conversation response is provided.
상기 대화 응답 생성 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.Provided is a computer-readable recording medium, in which a program for causing the computer to execute the conversation response generating method is recorded.
컴퓨터 시스템에 있어서, 메모리; 및 상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 과거 발화를 포함하는 대화 문맥에 대해 잠재 변수 공간 내에서 GAN을 학습시킴으로써 데이터 분포를 모델링한 대화 모델을 학습하고, 상기 대화 모델을 통해 상기 데이터 분포로부터 샘플링된 잠재 변수를 이용하여 대화 응답을 생성하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.A computer system, comprising: a memory; And at least one processor coupled with the memory and configured to execute computer readable instructions contained in the memory, wherein the at least one processor is configured to execute a GAN within a latent variable space for a dialogue context including past speech. Learning a dialogue model modeling the data distribution by learning the, and generates a dialogue response using the latent variables sampled from the data distribution through the dialogue model.
본 발명의 실시예들에 따르면, 신경망(neural network)을 사용하여 문맥-의존 랜덤 노이즈(context-dependent random noise)를 변환함으로써 잠재 변수(latent variables)에 대한 사전 분포(prior distribution)와 사후 분포(posterior distribution)로부터 샘플링 하고 두 분포 간의 바세르슈타인 거리(Wasserstein distance)를 최소화하는 대화 모델을 구현할 수 있고 이를 통해 대화 전체 맥락에 대한 대화 응답을 생성할 수 있다.According to embodiments of the present invention, prior and post distributions for latent variables are obtained by transforming context-dependent random noise using a neural network. Conversation models can be implemented that sample from the posterior distribution and minimize the Wasserstein distance between the two distributions, thereby generating a dialogue response for the entire context of the dialogue.
본 발명의 실시예들에 따르면, 잠재 공간을 더욱 풍부하게 하기 위한 가우시안 혼합 사전 네트워크(Gaussian mixture prior network, PriNet)를 사용하여 대화 응답의 다중모달(multimodal) 성질을 고려한 대화 모델을 구현할 수 있고 이를 통해 보다 논리적이고 유용하며 다양한 대화 응답을 생성할 수 있다.According to embodiments of the present invention, a Gaussian mixture prior network (PriNet) for enriching the potential space may be used to implement a dialogue model in consideration of the multimodal nature of the dialogue response. This allows you to generate more logical, useful, and diverse conversation responses.
도 1은 본 발명의 일실시예에 따른 음성 기반 인터페이스를 활용한 서비스 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 음성 기반 인터페이스를 활용한 서비스 환경의 다른 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 클라우드 인공지능 플랫폼의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 5는 본 발명의 일실시예에 있어서, 바세르슈타인 오토 인코더(WAE)를 이용하여 다중모달 응답을 생성하는 DialogWAE 대화 모델의 개략도를 도시한 것이다.
도 6은 본 발명의 일실시예에 있어서, DialogWAE 대화 모델의 세부적인 학습 알고리즘을 나타낸 것이다.
도 7은 본 발명의 일실시예에 있어서, DialogWAE 대화 모델에 의해 생성된 응답의 예시를 나타낸 것이다.1 is a diagram illustrating an example of a service environment using a voice-based interface according to an embodiment of the present invention.
2 is a diagram illustrating another example of a service environment using a voice-based interface according to an embodiment of the present invention.
3 is a diagram illustrating an example of a cloud AI platform according to an embodiment of the present invention.
4 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention.
FIG. 5 illustrates a schematic diagram of a DialogWAE dialogue model for generating a multimodal response using a Wasserstein Auto Encoder (WAE), in an embodiment of the invention.
6 illustrates a detailed learning algorithm of the DialogWAE dialogue model according to an embodiment of the present invention.
7 illustrates an example of a response generated by the DialogWAE dialogue model according to an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들은 대화 응답을 자동 생성하는 기술에 관한 것이다.Embodiments of the present invention relate to a technique for automatically generating a conversation response.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 음성 기반 인터페이스를 활용한 서비스 환경에서 딥러닝 생성모델과 다중모달 분포를 이용하여 멀티턴 방식의 대화 응답을 생성할 수 있고, 이를 통해 다양성, 연계성, 정확성, 효율성 등의 측면에 있어서 상당한 장점들을 달성한다.Embodiments including those specifically disclosed herein may generate a multiturn communication dialogue response using a deep learning generation model and a multimodal distribution in a service environment using a voice-based interface, thereby allowing diversity and connectivity. Significant advantages are achieved in terms of accuracy, accuracy and efficiency.
도 1은 본 발명의 일실시예에 따른 음성 기반 인터페이스를 활용한 서비스 환경의 예를 도시한 도면이다. 도 1의 실시예에서는 스마트홈(smart home)이나 홈 네트워크 서비스와 같이 댁내의 디바이스들을 연결하여 제어하는 기술에서, 음성을 기반으로 동작하는 인터페이스를 제공하는 전자 기기(100)가 사용자(110)의 발화에 따라 수신되는 음성 입력 "불 꺼줘"를 인식 및 분석하여 댁내에서 전자 기기(100)와 내부 네트워크를 통해 연계된 댁내 조명기기(120)의 라이트 전원을 제어하는 예를 나타내고 있다.1 is a diagram illustrating an example of a service environment using a voice-based interface according to an embodiment of the present invention. In the embodiment of FIG. 1, in a technology of connecting and controlling devices in a home such as a smart home or a home network service, an
예를 들어, 댁내의 디바이스들은 상술한 댁내 조명기기(120) 외에도 텔레비전, PC(Personal Computer), 주변기기, 에어컨, 냉장고, 로봇 청소기 등과 같은 가전제품을 비롯하여, 수도, 전기, 냉난방 기기 등과 같은 에너지 소비장치, 도어록, 감시카메라 등과 같은 보안기기 등 온라인 상에서 연결되어 제어될 수 있는 다양한 디바이스들을 포함할 수 있다. 또한, 내부 네트워크는 이더넷(Ethernet), HomePNA, IEEE 1394와 같은 유선 네트워크 기술이나, 블루투스(Bluetooth), UWB(ultra Wide Band), 지그비(ZigBee), Wireless 1394, Home RF와 같은 무선 네트워크 기술 등이 활용될 수 있다.For example, in-house devices include home appliances such as televisions, personal computers (PCs), peripherals, air conditioners, refrigerators, robot cleaners, etc., as well as energy consumption such as water, electricity, and heating and heating devices, in addition to the above-described
전자 기기(100)는 댁내의 디바이스들 중 하나일 수 있다. 예를 들어, 전자 기기(100)는 댁내에 구비된 인공지능 스피커나 로봇 청소기 등과 같은 디바이스들 중 하나일 수 있다. 또한, 전자 기기(100)는 스마트폰(smart phone), 휴대폰, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등과 같은 사용자(110)의 모바일 기기일 수도 있다. 이처럼 전자 기기(100)는 사용자(110)의 음성 입력을 수신하여 댁내의 디바이스들을 제어하기 위해 댁내의 디바이스들과 연결 가능한 기능을 포함하는 기기라면 특별히 제한되지 않는다. 또한, 실시예에 따라 상술한 사용자(110)의 모바일 기기들이 댁내의 디바이스들로서 포함될 수도 있다.The
도 2는 본 발명의 일실시예에 따른 음성 기반 인터페이스를 활용한 서비스 환경의 다른 예를 도시한 도면이다. 도 2는 음성을 기반으로 동작하는 인터페이스를 제공하는 전자 기기(100)가 사용자(110)의 발화에 따라 수신되는 음성 입력 "오늘 날씨"를 인식 및 분석하여 외부 네트워크를 통해 외부 서버(210)로부터 오늘의 날씨에 대한 정보를 획득하고 획득한 정보를 "오늘의 날씨는 ..."와 같이 음성으로 출력하는 예를 나타내고 있다.2 is a diagram illustrating another example of a service environment using a voice-based interface according to an embodiment of the present invention. FIG. 2 illustrates that the
예를 들어, 외부 네트워크는 PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다.For example, external networks include personal area networks (PANs), local area networks (LANs), campus area networks (CANs), metropolitan area networks (MANs), wide area networks (WANs), broadband networks (BBNs), and the Internet. It may include any one or more of the network of.
도 2의 실시예에서도 전자 기기(100)는 댁내의 디바이스들 중 하나이거나 사용자(110)의 모바일 기기 중 하나일 수 있으며, 사용자(110)의 음성 입력을 수신하여 처리하기 위한 기능과 외부 네트워크를 통해 외부 서버(210)에 접속하여 외부 서버(210)가 제공하는 서비스나 컨텐츠를 사용자(110)에게 제공하기 위한 기능을 포함하는 기기라면 특별히 제한되지 않는다.In the embodiment of FIG. 2, the
이처럼, 본 발명의 실시예들에 따른 전자 기기(100)는 음성 기반 인터페이스를 통해 사용자(110)의 발화에 따라 수신되는 음성 입력을 포함하는 사용자 명령을 처리할 수 있는 기기라면 특별히 제한되지 않을 수 있다. 예를 들어, 전자 기기(100)는 직접 사용자의 음성 입력을 인식 및 분석하여 음성 입력에 알맞은 동작을 수행함으로써 사용자 명령을 처리할 수도 있으나, 실시예에 따라 사용자의 음성 입력에 대한 인식이나 인식된 음성 입력의 분석, 사용자에게 제공될 음성의 합성 등의 처리를 전자 기기(100)와 연계된 외부의 플랫폼을 통해 수행할 수도 있다.As such, the
도 3은 본 발명의 일실시예에 있어서, 클라우드 인공지능 플랫폼의 예를 도시한 도면이다. 도 3은 전자 기기들(310)과 클라우드 인공지능 플랫폼(320) 및 컨텐츠·서비스(330)를 나타내고 있다.3 is a diagram illustrating an example of a cloud AI platform according to an embodiment of the present invention. 3 illustrates
일례로, 전자 기기들(310)은 댁내에 구비되는 디바이스들을 의미할 수 있으며, 적어도 앞서 설명한 전자 기기(100)를 포함할 수 있다. 이러한 전자 기기들(310)이나 전자 기기들(310)에 설치 및 구동되는 어플리케이션들(이하, 앱들)은 인터페이스 커넥트(340)를 통해 클라우드 인공지능 플랫폼(320)과 연계될 수 있다. 여기서 인터페이스 커넥트(340)는 전자 기기들(310)이나 전자 기기들(310)에 설치 및 구동되는 앱들의 개발을 위한 SDK(Software Development Kit) 및/또는 개발 문서들을 개발자들에게 제공할 수 있다. 또한, 인터페이스 커넥트(340)는 전자 기기들(310)이나 전자 기기들(310)에 설치 및 구동되는 앱들이 클라우드 인공지능 플랫폼(320)이 제공하는 기능들을 활용할 수 있는 API(Application Program Interface)를 제공할 수 있다. 구체적인 예로, 개발자들은 인터페이스 커넥트(340)가 제공하는 SDK(Software Development Kit) 및/또는 개발 문서를 이용하여 개발한 기기나 앱은 인터페이스 커넥트(340)가 제공하는 API를 이용하여 클라우드 인공지능 플랫폼(320)이 제공하는 기능들을 활용할 수 있게 된다.For example, the
여기서 클라우드 인공지능 플랫폼(320)은 음성 기반의 서비스를 제공하기 위한 기능을 제공할 수 있다. 예를 들어, 클라우드 인공지능 플랫폼(320)은 수신된 음성을 인식하고, 출력될 음성을 합성하기 위한 음성처리모듈(321), 수신된 영상이나 동영상을 분석하여 처리하기 위한 비전처리모듈(322), 수신된 음성에 따라 알맞은 음성을 출력하기 위해 적절한 대화를 결정하기 위한 대화처리모듈(323), 수신된 음성에 알맞은 기능을 추천하기 위한 추천모듈(324), 인공지능이 데이터 학습을 통해 문장 단위로 언어를 번역할 수 있도록 지원하는 인공신경망 기반 기계 번역(Neural Machine Translation, NMT, 325) 등과 같이 음성 기반 서비스를 제공하기 위한 다양한 모듈들을 포함할 수 있다.Here, the
예를 들어, 도 1 및 도 2의 실시예들에서 전자 기기(100)는 사용자(110)의 음성 입력을 인터페이스 커넥트(340)에서 제공하는 API를 이용하여 클라우드 인공지능 플랫폼(320)으로 전송할 수 있다. 이 경우, 클라우드 인공지능 플랫폼(320)은 수신된 음성 입력을 상술한 모듈들(321 내지 325)을 활용하여 인식 및 분석할 수 있으며, 수신된 음성 입력에 따라 적절한 답변 음성을 합성하여 제공하거나, 적절한 동작을 추천할 수 있다.For example, in the embodiments of FIGS. 1 and 2, the
또한, 확장 키트(350)는 제3자 컨텐츠 개발자 또는 회사들이 클라우드 인공지능 플랫폼(320)에 기반하여 새로운 음성기반 기능을 구현할 수 있는 개발 키트를 제공할 수 있다. 예를 들어, 도 2의 실시예에서, 전자 기기(100)는 사용자(110)의 음성 입력을 외부 서버(210)로 전송할 수 있고, 외부 서버(210)는 확장 키트(350)를 통해 제공되는 API를 통해 클라우드 인공지능 플랫폼(320)으로 음성 입력을 전송할 수 있다. 이 경우, 앞서 설명한 바와 유사하게 클라우드 인공지능 플랫폼(320)은 수신되는 음성 입력을 인식, 분석하여 적절한 답변 음성을 합성하여 제공하거나 음성 입력을 통해 처리되어야 할 기능에 대한 추천정보를 외부 서버(210)로 제공할 수 있다. 일례로, 도 2에서, 외부 서버(210)는 음성 입력 "오늘 날씨"를 클라우드 인공지능 플랫폼(320)으로 전송할 수 있고, 클라우드 인공지능 플랫폼(320)으로부터 음성 입력 "오늘 날씨"의 인식을 통해 추출되는 키워드 "오늘" 및 "날씨"를 수신할 수 있다. 이 경우, 외부 서버(210)는 키워드 "오늘" 및 "날씨"를 통해 "오늘의 날씨는 ..."와 같은 텍스트 정보를 생성하여 다시 클라우드 인공지능 플랫폼(320)으로 생성된 텍스트 정보를 전송할 수 있다. 이때, 클라우드 인공지능 플랫폼(320)는 텍스트 정보를 음성으로 합성하여 외부 서버(210)로 제공할 수 있다. 외부 서버(210)는 합성된 음성을 전자 기기(100)로 전송할 수 있고, 전자 기기(100)는 합성된 음성 "오늘의 날씨는 ..."을 스피커를 통해 출력함으로써, 사용자(110)로부터 수신한 음성 입력 "오늘 날씨"가 처리될 수 있다.In addition, the
이때, 전자 기기(100)는 사용자와의 대화를 기반으로 디바이스 동작이나 컨텐츠 제공을 위한 것이다.At this time, the
도 4는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 4의 전자 기기(410)는 앞서 설명한 전자 기기(100)에 대응할 수 있고, 서버(420)는 앞서 설명한 외부 서버(210) 또는 클라우드 인공지능 플랫폼(320)을 구현하는 하나의 컴퓨터 장치에 대응할 수 있다.4 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. The
전자 기기(410)과 서버(420)는 메모리(411, 421), 프로세서(412, 422), 통신 모듈(413, 423) 그리고 입출력 인터페이스(414, 424)를 포함할 수 있다. 메모리(411, 421)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리(411, 421)와는 구분되는 별도의 영구 저장 장치로서 전자 기기(410)나 서버(420)에 포함될 수도 있다. 또한, 메모리(411, 421)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 전자 기기(410)에 설치되어 특정 서비스의 제공을 위해 전자 기기(410)에서 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(411, 421)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(413, 423)을 통해 메모리(411, 421)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(430)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(일례로 상술한 어플리케이션)에 기반하여 전자 기기(410)의 메모리(411)에 로딩될 수 있다.The
프로세서(412, 422)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(411, 421) 또는 통신 모듈(413, 423)에 의해 프로세서(412, 422)로 제공될 수 있다. 예를 들어 프로세서(412, 422)는 메모리(411, 421)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(413, 423)은 네트워크(430)를 통해 전자 기기(410)과 서버(420)가 서로 통신하기 위한 기능을 제공할 수 있으며, 전자 기기(410) 및/또는 서버(420)가 다른 전자 기기 또는 다른 서버와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기(410)의 프로세서(412)가 메모리(411)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(413)의 제어에 따라 네트워크(430)를 통해 서버(420)로 전달될 수 있다. 역으로, 서버(420)의 프로세서(422)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(423)과 네트워크(430)를 거쳐 전자 기기(410)의 통신 모듈(413)을 통해 전자 기기(410)로 수신될 수 있다. 예를 들어 통신 모듈(413)을 통해 수신된 서버(420)의 제어 신호나 명령, 컨텐츠, 파일 등은 프로세서(412)나 메모리(411)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기(410)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The
입출력 인터페이스(414)는 입출력 장치(415)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드, 마우스, 마이크로폰, 카메라 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(414)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(415)는 전자 기기(410)와 하나의 장치로 구성될 수도 있다. 또한, 서버(420)의 입출력 인터페이스(424)는 서버(420)와 연결되거나 서버(420)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 보다 구체적인 예로, 전자 기기(410)의 프로세서(412)가 메모리(411)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(420)나 다른 전자 기기가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(414)를 통해 디스플레이에 표시될 수 있다.The input /
또한, 다른 실시예들에서 전자 기기(410) 및 서버(420)는 도 4의 구성요소들보다 더 적은 또는 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기(410)는 상술한 입출력 장치(415) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기(410)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 동작 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기(410)에 더 포함되도록 구현될 수 있다.Also, in other embodiments, the
본 실시예들에서 전자 기기(410)는 사용자의 음성 입력을 수신하기 위한 마이크를 입출력 장치(415)로서 기본적으로 포함할 수 있으며, 사용자의 음성 입력에 대응하는 답변 음성이나 오디오 컨텐츠와 같은 소리를 출력하기 위한 스피커를 입출력 장치(415)로서 더 포함할 수 있다.In the present exemplary embodiment, the
본 발명에서는 조건부(conditional) 바세르슈타인 오토 인코더(Wasserstein AutoEncoder, WAE)를 이용하여 다중모달 응답(multimodal response)을 생성하는 대화 모델(이하, DialogWAE 대화 모델)을 제안한다.The present invention proposes a dialogue model (hereinafter referred to as DialogWAE dialogue model) for generating a multimodal response using a conditional Wasserstein AutoEncoder (WAE).
대화 응답 생성(dialog response generation)은 자연어 연구의 오래된 주제이다. 데이터-기반(data-driven) 신경망 대화 모델링에 대한 대부분의 최근 방식들은 주로 seq2seq(sequence-to-sequence) 학습 혹은 메모리 네트워크(memory network)에 기반한다. 그러나, seq2seq 대화 모델의 경우 의미 있고 다양하며 주제에 맞는 응답을 생성하는 데 어려움이 있고 메모리 네트워크 기반 모델의 경우 메모리 증가에 따른 모델 크기와 속도 등에 이슈가 있다.Dialog response generation is an old topic in natural language research. Most recent approaches to data-driven neural network dialogue modeling are mainly based on seq2seq (sequence-to-sequence) learning or memory networks. However, in the seq2seq dialogue model, there is a difficulty in generating meaningful, diverse, and subjective responses, and in the case of memory network-based models, there are issues such as model size and speed due to memory increase.
VAE(Variational AutoEncoder)는 seq2seq 대화 모델의 문제를 해결하는 데에 유망한 결과들을 보여주었다. VAE는 응답에 대한 고-레벨의 시맨틱(high-level semantics)을 표현하는 잠재 변수(latent variables)에 대한 근사 사후 분포(approximate posterior distribution)를 산출하기 위하여 인지 네트워크(recognition network)를 사용하며, 이 분포의 샘플을 조건으로 하여 응답을 단어 별로 디코딩한다. 예를 들어, 잠재 변수는 주제(topics), 톤(tones) 또는 고-레벨 신택틱 성질(high-level syntactic properties)을 캡쳐하여 더 다양한 응답들을 생성한다. 그러나, 대부분의 VAE 대화 모델들은 잠재 변수에 대한 근사 사후 분포를 표준 정규 분포와 같은 단순한 사전 분포(prior distribution)에 대응함으로써 생성된 응답들을 상대적으로 단순한(예를 들어, single-modal) 범위로 제한한다.VAE (Variational AutoEncoder) has shown promising results in solving problems with the seq2seq conversation model. VAE uses a cognitive network to calculate an approximate posterior distribution of latent variables that express high-level semantics for the response. Decode the response word by word, subject to samples of the distribution. For example, latent variables capture topics, tones, or high-level syntactic properties to produce more diverse responses. However, most VAE dialogue models limit the responses generated to a relatively simple (eg, single-modal) range by matching approximate posterior distributions for latent variables to a simple prior distribution, such as a standard normal distribution. do.
VAE 이외에 응답에 대한 분포를 직접적으로 모델링하는 GAN(Generative Adversarial Network)-기반 대화 모델이 등장하였으나, 이는 이산 토큰(discrete tokens)에 대한 적대 학습(adversarial training)이 비차분성(non-diffenrentiability)에 의하여 까다롭다는 문제가 있다.In addition to VAEs, a Generic Adversarial Network (GAN) -based dialogue model has emerged that directly models the distribution of responses, but this is due to the non-diffenrentiability of adversarial training on discrete tokens. The problem is that it is tricky.
또한, GAN에 강화 학습(reinforcement learning, RL)을 적용한 하이브리드 방식의 대화 모델이 등장하였으며, 이 모델에서는 구별자(discriminator)가 예상한 수치를 생성자(generator)를 학습하기 위한 보상(reward)으로 사용한다. 그러나, 강화 학습은 경사 추정(gradient estimate)에 대한 높은 변동에 의해 불안정하고, 근사 단어 임베딩 계층(approximate word embedding layer)으로 GAN 모델이 미분 가능하도록 만들어 오직 단어 수준의 변동성(variability)을 더한 것이므로 결과적으로 주제(topics) 및 상황(situations)과 같은 고-레벨 응답 변동성을 표현하기에는 적합하지 않다.In addition, a hybrid conversational model using reinforcement learning (RL) in the GAN has emerged, in which the discriminator uses the expected value as a reward for learning the generator. do. However, reinforcement learning is unstable by high fluctuations in the gradient estimates, which makes the GAN model differentiable with an approximate word embedding layer, adding only word-level variability. This is not suitable for expressing high-level response variability such as topics and situations.
따라서, 본 발명에서는 신경 대화 모델링을 위한 GAN의 새로운 변형인 DialogWAE 대화 모델을 제안한다. 잠재 변수에 대해 단순한 분포를 가하는 기존 VAE 대화 모델과는 달리, 본 발명에 따른 DialogWAE 대화 모델은 잠재 변수 공간(latent variable space) 내에서 GAN을 학습시킴으로써 데이터 분포를 모델링한다. 특히, 본 발명에 따른 DialogWAE 대화 모델은 신경망(neural network)을 이용하여 문맥-의존 랜덤 노이즈(context-dependent random noise)를 변환함으로써 잠재 변수에 대한 사전 분포 및 사후 분포로부터 샘플링을 하고 사전 분포 및 사후 분포 간의 바세르슈타인 거리(Wasserstein distance)를 최소화한다. 또한, 본 발명에 따른 DialogWAE 대화 모델은 가우시안 혼합 사전 네트워크(Gaussian mixture prior network, PriNet)를 사용함으로써 응답의 다중모달(multimodal) 성질을 고려한다. 가우시안 혼합 사전 네트워크를 통한 적대 학습은 DialogWAE가 풍부한 잠재 공간을 캡쳐하는 것을 가능하게 하며, 이는 더 논리적이고, 유용하며 다양한 응답들을 생성할 수 있다.Accordingly, the present invention proposes a dialog dialogue model, DialogWAE, which is a new variant of GAN for neural dialogue modeling. Unlike the existing VAE dialogue model, which applies a simple distribution to latent variables, the DialogWAE dialogue model according to the present invention models the data distribution by learning the GAN in a latent variable space. In particular, the DialogWAE dialogue model according to the present invention uses a neural network to transform context-dependent random noise to sample from pre- and post-distribution for latent variables, and to pre- and post-post Minimize the Wasserstein distance between distributions. In addition, the DialogWAE dialogue model according to the present invention considers the multimodal nature of the response by using a Gaussian mixture prior network (PriNet). Hostile learning through a Gaussian mixed dictionary network enables DialogWAE to capture rich potential space, which can generate more logical, useful and diverse responses.
본 발명에 따른 DialogWAE 대화 모델은 (1) 잠재 변수에 대한 샘플들을 생성하기 위하여 GAN을 이용하는 신경 대화 모델링용 GAN-기반 모델, 및 (2) 다중모달 사전 분포로부터 랜덤 노이즈를 샘플링하기 위한 가우시안 혼합 사전 네트워크를 포함한다. 따라서, 본 발명에 따른 DialogWAE 대화 모델은 다중모달 잠재 구조를 이용하는 GAN 대화 모델로 구현될 수 있다.The DialogWAE dialogue model according to the present invention is (1) a GAN-based model for neural dialogue modeling using GAN to generate samples for latent variables, and (2) a Gaussian mixture dictionary for sampling random noise from a multimodal prior distribution. Include a network. Accordingly, the DialogWAE dialogue model according to the present invention may be implemented as a GAN dialogue model using a multimodal latent structure.
인코더-디코더 변형(Encoder-decoder variants): 순수한 인코더-디코더 대화 모델에 대한 "안전한 응답(safe response)" 문제를 다루기 위하여 수 많은 변형들이 존재한다. 본 발명에 따른 DialogWAE 대화 모델은 상황 및 주제와 같은 보조 정보(extra information)를 필요로 하지 않기 때문에 기존 대화 모델과 구별된다.Encoder-decoder variants: There are a number of variants to address the "safe response" problem for pure encoder-decoder dialogue models. The DialogWAE dialogue model according to the present invention is distinguished from the existing dialogue model because it does not require extra information such as situation and subject.
VAE 대화 모델(VAE conversation models): 변분 오토 인코더(VAE)는 대화 모델링을 위한 가장 대중적인 프레임워크 중 하나이다. VAE 대화 모델의 주된 문제점인 "사후 붕괴(posterior collapse)"를 해결하기 위해, 디코더에 예비 단어 모음 손실(auxiliary bag-of-words loss)을 도입한 모델, 대화 행동(dialogue acts) 및 화자 프로필(speaker profiles)과 같은 보조 대화 정보를 통합하는 지식-기반 CVAE 모델(knowledge-guided CVAE model), 신경망을 사용하여 가우시안 노이즈를 변환함으로써 잠재 변수에 대한 사전 및 사후 분포로부터 샘플링을 하고 KL 다이버전스(KL divergence)로 가우시안 노이즈의 사전 및 사후 분포를 대응시키는 협력형(collaborative) CVAE 모델, 잠재 변수들의 계층 구조와 발화 탈락 정규화(utterance drop regularization)를 통합시키는 변분 계층적 대화 RNN(Variational Hierarchical Conversation RNN, VHCR) 모델 등이 등장하였다. 본 발명에 따른 DialogWAE 대화 모델은 잠재 공간 내에 GAN 아키텍처를 사용함으로써 VAE 대화 모델의 한계를 해결한다.VAE conversation models: The Variable Auto Encoder (VAE) is one of the most popular frameworks for conversational modeling. In order to solve the "posterior collapse", which is the main problem of the VAE dialogue model, the model introduces auxiliary bag-of-words loss into the decoder, dialogue acts and speaker profiles ( Knowledge-guided CVAE model incorporating auxiliary dialogue information such as speaker profiles, using Gaussian to transform Gaussian noise, sampling from pre and post distributions of latent variables and KL divergence A collaborative CVAE model that corresponds to the pre and post distribution of Gaussian noise, and a variant hierarchical conversation RNN (VHCR) that integrates the hierarchical structure of latent variables and utterance drop regularization. Models appeared. The DialogWAE dialogue model according to the present invention solves the limitations of the VAE dialogue model by using a GAN architecture in the latent space.
GAN 대화 모델(GAN conversation models): GAN/CGAN가 이미지 생성에서 큰 성공을 보이고 있지만, 이를 자연어 대화 생성자에 적용시키는 것은 쉬운 작업이 아니다. 이는 자연어 토큰(natural language tokens)의 비차분적(non-differentiable) 성질 때문이다. 구별자(discriminator)가 생성자를 최적화하기 위하여 보상을 예상하는 강화 학습과 GAN을 결합함으로써 이 문제를 해결할 수 있다. 그러나, 강화 학습은 샘플링된 경사의 높은 변동에 의해 불안정하다. 그리고, GAN 대화 모델은 디코더가 습득한 단어 확률(word probabilities)을 대응하는 단어 벡터(word vectors)에 직접적으로 곱함으로써 seq2seq GAN이 미분 가능하도록 하고 이는 목표 배열(target sequence)에 대해 대략적으로 벡터화된 표현식을 도출시킨다. 그러나, 상기한 방식은 전체적인 응답 수준보다는 단어 수준에서의 다양성을 보장하는 것에 불과하다. 본 발명에 따른 DialogWAE 대화 모델은 직접 토큰(direct tokens) 대신 높은 수준의 잠재 공간에서 응답들의 대한 분포를 형성하고 경사 변동이 큰 RL에 의존하지 않는다는 점에서 기존의 GAN 대화 모델과 구별된다.GAN conversation models: Although GAN / CGAN has shown great success in image generation, applying it to natural language conversation generators is not an easy task. This is due to the non-differentiable nature of natural language tokens. The problem can be solved by combining the GAN with reinforcement learning, where the discriminator expects a reward to optimize the generator. However, reinforcement learning is unstable by the high variation of the sampled slope. In addition, the GAN dialogue model allows seq2seq GAN to be differentiated by directly multiplying word probabilities acquired by the decoder with corresponding word vectors, which are approximately vectorized to the target sequence. Derive an expression. However, the above approach merely guarantees diversity at the word level rather than the overall response level. The DialogWAE dialogue model according to the present invention is distinguished from the existing GAN dialogue model in that it forms a distribution of responses in a high level of latent space instead of direct tokens and does not rely on RL with large gradient fluctuations.
본 발명에 따른 DialogWAE 대화 모델은 앞서 설명한 전자 기기(410) 또는 서버(420)와 같은 컴퓨터 시스템에 구현될 수 있으며, 딥러닝 생성모델과 다중모달 분포를 바탕으로 멀티턴 형식의 대화 응답을 생성할 수 있다. 이때, 컴퓨터 시스템(410 또는 420)의 프로세서(412 또는 422)는 메모리(411 또는 421)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(412 또는 422)는 컴퓨터 시스템(410 또는 420)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 시스템(410 또는 420)이 이하에서 설명하게 될 DialogWAE 대화 모델에 기반한 대화 응답 생성 방법을 수행하도록 컴퓨터 시스템(410 또는 420)을 제어할 수 있다.The DialogWAE dialogue model according to the present invention may be implemented in a computer system such as the
본 발명에 따른 DialogWAE 대화 모델을 구체적으로 설명하면 다음과 같다.The DialogWAE dialogue model according to the present invention will be described in detail as follows.
Problem StatementProblem Statement
가 개의 발화(utterance)에 대한 대화 발화(dialogue utterance)를 나타낸다고 하자. 여기서, 는 하나의 발화를 나타내고, 는 내의 n번째 단어(word)를 나타낸다. end Suppose a dialogue utterance of the dog's utterance. here, Represents one utterance, Is Represents the nth word in.
그리고, 는 개의 과거 발화(historical utterances)인 대화 문맥(dialogue context)을 나타내고, 가 다음 발화를 의미하는 응답(response)이라고 하자.And, Is Represents the dialogue context, which is the historical utterances of dogs, Is a response that means the next utterance.
DialogWAE 대화 모델에서의 목표는 과거 발화가 주어질 때 현재 응답에 대한 조건부 분포(conditional distribution)인 를 추정하는 것이다.The goal in the DialogWAE dialogue model is to be a conditional distribution of the current response given a past utterance. To estimate.
와 가 이산 토큰(discrete tokens)에 대한 배열(sequence)이기 때문에 이것들 간의 직접적인 결합을 찾는 것은 쉽지 않다. 대신에, 응답에 대한 높은 레벨의 표현식을 나타내는 연속적인 잠재 변수 를 도입한다. Wow Since is a sequence of discrete tokens, finding a direct combination between them is not easy. Instead, a series of latent variables that represent a high level expression of the response. Introduce.
응답 생성은 두 단계 절차로 간주될 수 있고, 여기서 잠재 변수 는 잠재 공간 상의 분포 로부터 샘플링되며, 그 후 응답 는 를 사용하여 로부터 디코딩 된다. DialogWAE 대화 모델 하에서 응답의 확률은 방정식 1과 같이 정의될 수 있다.Response generation can be thought of as a two-step procedure, where latent variables Latent space Distribution Is sampled from and then responded to Is use with Decoded from Under the DialogWAE dialogue model, the probability of the response can be defined as in
[방정식 1]
잠재 변수 를 주변화(marginalize out)하는 것은 다루기 힘들기 때문에 정확한 로그 확률을 계산하기가 어렵다. 그러므로, 본 발명에서는 잠재 변수 에 대한 사후 분포를 로 근사화하며, 이는 인지 네트워크(recognition network, RecNet)라고 불리는 신경망에 의해 계산될 수 있다. 이러한 근사적인 사후 분포를 사용하여 증거 하한 값(evidence lower bound, ELBO)을 대신 계산할 수 있다(방정식 2).Latent variables Marginalize out is difficult, so it is difficult to calculate the exact log probability. Therefore, in the present invention, latent variables Post-distribution for Approximation can be calculated by a neural network called a cognition network (RecNet). Using this approximate posterior distribution, the lower bound of evidence (ELBO) can be calculated instead (Equation 2).
[방정식 2][Equation 2]
여기서, 는 가 주어졌을 때 에 대한 사전 분포를 나타내며, 사전 네트워크(prior network)라고 불리는 신경망을 통해 모델링될 수 있다.here, Is Is given Represents a prior distribution for and can be modeled through a neural network called a prior network.
Conditional Conditional WassersteinWasserstein Auto-Encoders for Dialogue Modeling Auto-Encoders for Dialogue Modeling
기존 VAE 대화 모델은 잠재 변수 가 정규 분포과 같이 단순한 사전 분포를 따른다고 가정한다. 그러나, 실제 응답의 잠재 공간은 더 복잡하며 그렇게 단순한 분포로 추정하기는 어렵다. 이것은 대게 사후 붕괴(posterior collapse) 문제를 야기한다.The existing VAE dialogue model is a latent variable Assume that follows a simple dictionary distribution like a normal distribution. However, the latent space of the actual response is more complex and difficult to estimate with such a simple distribution. This usually causes a problem of posterior collapse.
본 발명에 따른 DialogWAE 대화 모델은 GAN과 적대 오토-인코더(Adversarial Auto-Encoder, AAE)에 기초하여 잠재 공간 내에서 GAN을 학습시킴으로써 에 대한 분포를 모델링한다.The DialogWAE dialogue model according to the present invention is based on learning GAN in latent space based on GAN and Adversarial Auto-Encoder (AAE). Model the distribution for.
본 발명에서는 신경망을 사용하여 랜덤 노이즈(random noise) 를 변환함으로써 잠재 변수에 대한 사전 및 사후 분포로부터 샘플링한다.In the present invention, random noise using a neural network. Sample from the pre and post distributions for latent variables by transforming
특히, 사전 샘플 은 생성자 에 의해 문맥-의존 랜덤 노이즈(context-dependent random noise) 로부터 생성되는 반면, 근사 사후 샘플 은 생성자 에 의해 문맥-의존 랜덤 노이즈 로부터 생성된다. 와 는 평균과 공분산 행렬(대각선 행렬로 가정)이 피드 포워드 신경망(feed-forward neural networks)인 사전 네트워크(prior network) 및 인지 네트워크(recognition network) 각각을 통해 로부터 계산되는 정규 분포에서 도출된다(방정식 3과 방정식 4).Especially, advance sample Silver constructor Context-dependent random noise Approximate post-sample, while generated from Silver constructor Context-dependent random noise by Is generated from Wow Is derived from each of the prior and recognition networks where the mean and covariance matrices (assuming a diagonal matrix) are feed-forward neural networks. It is derived from the normal distribution calculated from (
[방정식 3][Equation 3]
[방정식 4][Equation 4]
여기서, 및 는 피드 포워드 신경망이다. 본 발명에 따른 DialogWAE 대화 모델의 목표는 과 간의 다이버전스(divergence)를 최소화하는 반면, 로부터 재구성된(reconstructed) 응답의 로그 확률을 최대화하는 것이다.here, And Is a feedforward neural network. The goal of the DialogWAE dialog model according to the present invention is and Minimize divergence between livers, To maximize the log probability of the reconstructed response.
본 발명에 따른 DialogWAE 대화 모델은 방정식 5의 문제에 관한 것이다.The DialogWAE dialogue model according to the invention relates to the problem of equation (5).
[방정식 5][Equation 5]
여기서, 사전 분포 및 사후 분포 는 각각 방정식 3과 방정식 4를 구현하는 신경망이다. 는 디코더이고, 는 두 분포 간의 바세르슈타인 거리(Wasserstein distance)를 의미한다.Where the dictionary distribution And posterior distribution Are neural networks that implement
도 5는 본 발명에 따른 DialogWAE 대화 모델의 개략도를 도시한 것이다.5 shows a schematic diagram of the DialogWAE dialogue model according to the present invention.
발화 인코더(utterance encoder)(RNN)(501)은 대화 내의 (응답 를 포함하는) 각 발화를 실수 벡터(real-valued vector)로 변환한다.An utterance encoder (RNN) 501 may be used to Each utterance (including) is converted to a real-valued vector.
문맥 인코더(context encoder)(RNN)(502)는 문맥 내의 i 번째 발화에서 인코딩 벡터와 대화 플로어(conversation floor)(504)의 연결(concatenation)을 입력으로 받고 숨겨진 상태(hidden state) 를 계산한다. 문맥 인코더(502)의 마지막 숨겨진 상태는 문맥 표현식(context representation)으로서 사용된다.A context encoder (RNN) 502 receives as input a concatenation of the encoding vector and the conversation floor 504 at the i th speech in the context, the hidden state. Calculate The last hidden state of the
생성 시기에, DialogWAE 대화 모델은 평균과 대각선 행렬 공분산 각각을 야기하는 두 가지 행렬 곱셈이 뒤따르는 피드-포워드 네트워크를 통해 문맥 를 변환하는 사전 네트워크(prior network, PriNet)(510)로부터 랜덤 노이즈 (511)를 도출한다. 그 후, 생성자 (512)는 피드-포워드 네트워크를 통해 노이즈(511)로부터 잠재 변수 (513)의 샘플을 생성한다. 디코더(decoder) RNN은 생성된 (513)를 응답으로 디코딩한다.At the time of creation, the DialogWAE dialogue model uses a feed-forward network, followed by two matrix multiplications that result in mean and diagonal matrix covariances, respectively. Random noise from a prior network (prior network, PriNet) 510 for converting (511) is derived. After that, the
학습 시기에, DialogWAE 대화 모델은 문맥 와 응답 를 조건으로 잠재 변수에 대한 사후 분포를 추론한다. 인지 네트워크(recognition network, RecNet)(520)는 와 의 연결을 입력으로 받아서 정규 평균과 대각선 행렬 공분산 각각을 정의하는 두 가지 행렬 곱셈이 뒤따르는 피드-포워드 네트워크를 통해 변환한다. 가우시안 노이즈(Gaussian noise) (521)는 재매개화 트릭(re-parametrization trick)을 사용해 인지 네트워크(520)로부터 도출된다. 그 후, 생성자(generator) (522)는 피드-포워드 네트워크를 통하여 가우시안 노이즈 (521)를 잠재 변수 (523)에 대한 샘플로 변환한다. 응답 디코더(RNN)(503)는 재구성 손실(reconstruction loss)을 방정식 6을 통해 계산한다.At the time of learning, the DialogWAE dialogue model And response Infer the posterior distribution of the latent variables on the condition of Recognition network (RecNet) 520 Wow Takes a concatenation of, and converts it through a feed-forward network followed by two matrix multiplications that define each of the normal mean and the diagonal matrix covariance.
[방정식 6][Equation 6]
사전 샘플을 사후 샘플과 구별하는 적대 구별자(adversarial discriminator) (530)를 도입함으로써 에 대한 사전 분포와 근사 사후 분포를 대응시킨다. (530)는 입력으로 와 의 연결을 받고 실수 값(real value)을 출력하는 피드-포워드 신경망으로서 구현된다.Adversarial discriminator that distinguishes a pre-sample from a post-sample By introducing 530 Correlate the pre- and approximate post-distribution for. 530 is the input Wow It is implemented as a feed-forward neural network that accepts a connection of and outputs a real value.
방정식 7과 같이 구별자 손실을 최소화함으로써 (530)를 학습한다.By minimizing the discriminator loss, as in
[방정식 7][Equation 7]
구체적인 도시는 생략되었으나, DialogWAE 대화 모델은 잠재 공간 내에서 대화 문맥 와 함께 화자 정보를 학습시킴으로써 화자 스타일을 고려하여 에 대한 분포를 모델링할 수 있다. 따라서, 본 발명에 따른 DialogWAE 대화 모델은 주어진 문맥에 대하여 해당 화자의 대화 스타일에 맞는 응답을 생성하여 제공할 수 있다.Although the specific illustration is omitted, the DialogWAE dialogue model does not have the dialogue context in the latent space. By considering the speaker style by learning the speaker information with You can model the distribution for. Accordingly, the DialogWAE dialogue model according to the present invention can generate and provide a response that matches the dialogue style of the speaker for a given context.
MultimodalMultimodal Response generation with Response generation with GaussianGaussian Mixture Prior Network Mixture Prior Network
조건부 적대 오토-인코더(AAE) 아키텍처에서 사전 분포가 정규 분포인 것은 일반적인 적용이다. 그러나, 대게 응답들은 동등한 가능성이 있는 다수의 상황, 주제 및 감정들을 반영하는 다중모달 성질(multimodal nature)을 갖는다. 정규 분포를 갖는 랜덤 노이즈는 가우시안 분포의 단일-모달 성질에 의해 생성자가 단일 기본 모드(sigle dominant mode)로 잠재 공간을 만들어내도록 제한할 수 있다. 결과적으로, 생성된 응답들은 단순한 프로토타입을 따를 수도 있다.In conditional hostile auto-encoder (AAE) architectures, it is a common application that the pre-distribution is normal. However, responses usually have a multimodal nature that reflects multiple situations, subjects, and emotions that are equally likely. Random noise with a normal distribution can limit the generator to creating latent space in a single dominant mode by the single-modal nature of the Gaussian distribution. As a result, the generated responses may follow a simple prototype.
잠재 변수에 대한 확률 분포에서 다중 모드를 캡쳐하기 위하여 본 발명에서는 하나 이상의 모드 K를 가질 수 있는 분포를 사용한다. 매번, 잠재 변수를 생성하는 노이즈가 이 모드들 중 하나에서 선택된다. 이를 달성하기 위하여, 본 발명에 따른 DialogWAE 대화 모델에서는 사전 네트워크가 일명 GMM()이라고 불리는 가우시안 분포의 혼합을 캡쳐하도록 한다. 여기서, , 및 는 k 번째 구성요소의 파라미터들이다. 이는 두 단계의 생성 절차로 잠재 변수 공간에서 다중모달 매니폴드(multimodal manifold)를 학습하게 한다. 첫 번째 단계는 로 구성요소 를 선택하는 것이고, 다음은 선택된 구성요소로 방정식 8과 같이 가우시안 노이즈를 샘플링하는 것이다.In order to capture multiple modes in a probability distribution over latent variables, the present invention uses a distribution that may have more than one mode K. Each time, the noise that produces the latent variable is selected in one of these modes. In order to achieve this, in the DialogWAE dialogue model according to the present invention, the dictionary network is called GMM ( Capture a mixture of Gaussian distributions called). here, , And Are parameters of the k th component. This is a two-step creation process that allows you to learn multimodal manifolds in latent variable spaces. First step Component Next, we sample the Gaussian noise with the selected component, as shown in equation (8).
[방정식 8][Equation 8]
여기서, 는 클래스 확률 를 갖는 구성요소 지시자(indicator)이고, 는 GMM의 k 번째 구성요소의 혼합 계수(mixture coefficient)이다.here, Is the class probability Is a component indicator with Is the mixing coefficient of the k-th component of the GMM.
는 방정식 9와 같이 계산된다. Is calculated as in
[방정식 9]
정확한 샘플링 대신, 본 발명에서는 구성요소 지시자 에 대한 인스턴스를 샘플링하기 위하여 방정식 10과 같이 Gumbel-softmax 재매개화를 사용한다.Instead of accurate sampling, the component indicators in the present invention Use Gumbel-softmax remediation as shown in
[방정식 10][Equation 10]
여기서 는 방정식 11과 같이 계산되는 Gumbel 노이즈이다.here Is the Gumbel noise calculated as
[방정식 11]
는 모든 실험에서 0.1로 설정된 softmax 온도이다. Is the softmax temperature set to 0.1 in all experiments.
TrainingTraining
본 발명에 따른 DialogWAE 대화 모델의 세부적인 학습 절차의 일례는 도 6에 도시한 알고리즘 1과 같다.An example of a detailed learning procedure of the DialogWAE dialogue model according to the present invention is the same as
도 6을 참조하면, DialogWAE 대화 모델은 수렴(convergence)에 도달할 때까지 에포치 단위로(epochwise) 학습한다. 각 에포치에서 디코딩된 응답들의 재구성 손실이 최소화되는 오토 인코더(AE) 단계와 잠재 변수의 총 사후 분포가 조건부 사전 분포와 매치되는 GAN 단계를 반복적으로 교대 시행함으로써 대화 모델을 학습한다. 일례로, DialogWAE 대화 모델의 세부적인 학습 절차는 도 6에 도시한 알고리즘 1과 같다.Referring to FIG. 6, the DialogWAE dialogue model learns in epochwise terms until convergence is reached. The dialogue model is trained by iteratively alternating between the Auto Encoder (AE) stage where the reconstruction loss of the decoded responses at each epoch is minimized and the GAN stage where the total post-distribution of latent variables matches the conditional pre-distribution. In one example, the detailed learning procedure of the DialogWAE dialogue model is the same as
도 7은 일상 대화 데이터 세트에서 본 발명에 따른 DialogWAE 대화 모델에 의해 생성된 응답의 예시를 나타낸 것이다. 도 7의 테이블에서 '_eou_'는 turn의 변화를 나타내고, 'Eg.i'는 i번째 응답을 나타낸 것이다.7 shows an example of a response generated by the DialogWAE dialogue model according to the present invention in a daily dialogue data set. In the table of FIG. 7, '_eou_' represents a change in turn, and 'Eg.i' represents an i th response.
도 7은 주어진 문맥에 대해 대화 모델에 의해 생성된 응답으로 이루어진 문맥-응답 쌍으로, 기존 모델(CVAE-CO)에 의해 생성된 응답과 본 발명에 따른 DialogWAE 대화 모델(DialogWAE-GMP)에 의해 생성된 응답을 비교한 것이다.7 is a context-response pair consisting of responses generated by the dialogue model for a given context, generated by the existing model (CVAE-CO) and by the DialogWAE dialogue model (DialogWAE-GMP) according to the present invention. Compare the responses.
도 7에 도시한 바와 같이, DialogWAE 대화 모델(DialogWAE-GMP)은 여러 가지 가능한 측면을 다루면서 보다 일관되고 다양한 응답을 생성하고 있음을 알 수 있다. 또한, DialogWAE 대화 모델(DialogWAE-GMP)은 기존 모델(CVAE-CO)의 응답에 비해 보다 길고 유익한 내용을 담은 응답을 제시하고 있음을 알 수 있다.As shown in FIG. 7, it can be seen that the DialogWAE Dialog Model (DialogWAE-GMP) generates more consistent and diverse responses while addressing various possible aspects. In addition, it can be seen that the DialogWAE Dialog Model (DialogWAE-GMP) provides a response containing longer and more beneficial contents than the response of the conventional model (CVAE-CO).
기존 모델(CVAE-CO)에 의해 생성된 응답은 비교적 제한된 변화를 보이고, 응답 내용에 약간의 변형이 보이지만 대부분은 유사한 표현(예컨대, "how much" 등)이 반복됨을 알 수 있다.The response generated by the existing model (CVAE-CO) shows a relatively limited change and some variation in the response content, but most of the similar expressions (eg, “how much”, etc.) are repeated.
이처럼 본 발명의 실시예들에 따르면, 신경망을 사용하여 문맥-의존 랜덤 노이즈를 변환함으로써 잠재 변수에 대한 사전 분포와 사후 분포로부터 샘플링 하고 두 분포 간의 바세르슈타인 거리를 최소화하는 대화 모델을 구현할 수 있고 이를 통해 대화 전체 맥락에 대한 대화 응답을 생성할 수 있다. 더 나아가, 잠재 공간을 더욱 풍부하게 하기 위한 가우시안 혼합 사전 네트워크를 사용하여 대화 응답의 다중모달 성질을 고려한 대화 모델을 향상시킬 수 있고 이를 통해 보다 논리적이고 유용하며 다양한 대화 응답을 생성할 수 있다.As described above, according to the embodiments of the present invention, a neural network can be used to transform the context-dependent random noise to sample a pre- and post-distribution distribution of latent variables and to implement a dialogue model that minimizes the Wasserstein distance between the two distributions. This allows you to generate a dialogue response for the entire context of the conversation. Furthermore, Gaussian mixed dictionary networks to enrich the potential space can be used to enhance conversation models that take into account the multimodal nature of the conversation responses, thereby generating more logical, useful and diverse conversation responses.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable PLU (programmable). It can be implemented using one or more general purpose or special purpose computers, such as logic units, microprocessors, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and may configure the processing device to operate as desired, or process independently or collectively. You can command the device. The software and / or data may be embodied in any type of machine, component, physical device, computer storage medium or device in order to be interpreted by or provided to the processing device or to provide instructions or data to the processing device. have. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. In this case, the medium may be to continuously store a computer executable program or to temporarily store the program for execution or download. In addition, the medium may be a variety of recording means or storage means in the form of a single or several hardware combined, not limited to a medium directly connected to any computer system, it may be distributed on the network. Examples of media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And ROM, RAM, flash memory, and the like, configured to store program instructions. In addition, examples of another medium may include a recording medium or a storage medium managed by an app store that distributes an application, a site that supplies or distributes various software, a server, or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or, even if replaced or substituted by equivalents, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.
Claims (15)
과거 발화를 포함하는 대화 문맥(dialogue context)에 대해 잠재 변수 공간(latent variable space) 내에서 GAN(Generative Adversarial Network)을 학습시킴으로써 데이터 분포를 모델링한 대화 모델을 학습하는 단계; 및
상기 대화 모델을 통해 상기 데이터 분포로부터 샘플링된 잠재 변수를 이용하여 대화 응답을 생성하는 단계
를 포함하는 대화 응답 생성 방법.In the method of generating a conversation response performed in a computer system,
Learning a dialogue model modeling data distribution by learning a GAN (Generative Adversarial Network) in a latent variable space for a dialogue context including past utterances; And
Generating a dialogue response using latent variables sampled from the data distribution through the dialogue model
Conversation response generation method comprising a.
상기 학습하는 단계는,
FFNN(feed-forward neural network)을 이용하여 잠재 변수에 대한 사전 분포(prior distribution)와 사후 분포(posterior distribution)를 모델링하는 단계
를 포함하는 대화 응답 생성 방법.The method of claim 1,
The learning step,
Modeling prior and posterior distributions of latent variables using a feed-forward neural network (FFNN)
Conversation response generation method comprising a.
상기 학습하는 단계는,
신경망(neural network)을 이용하여 문맥-의존 랜덤 노이즈(context-dependent random noise)를 잠재 변수에 대한 샘플로 변환함으로써 잠재 변수에 대한 사전 분포(prior distribution)와 사후 분포(posterior distribution)를 모델링하는 단계
를 포함하는 대화 응답 생성 방법.The method of claim 1,
The learning step,
Modeling prior and posterior distributions of latent variables by converting context-dependent random noise into samples of latent variables using neural networks
Conversation response generation method comprising a.
상기 대화 모델은 상기 사전 분포와 상기 사후 분포 간의 다이버전스(divergence)를 최소화하면서 잠재 변수로부터 재구성된 응답의 로그 확률을 최대화하는 것
을 특징으로 하는 대화 응답 생성 방법.The method of claim 3,
The dialogue model maximizes the log probability of the reconstructed response from the latent variable while minimizing the divergence between the pre and post distributions.
Method for generating a conversation response characterized in that.
상기 학습하는 단계는,
사전 샘플을 사후 샘플과 구별하는 적대 구별자(adversarial discriminator)를 이용하여 잠재 변수에 대한 사전 분포와 사후 분포를 대응시키는 단계
를 포함하는 대화 응답 생성 방법.The method of claim 3,
The learning step,
Mapping the pre- and post-distribution of latent variables using an adversarial discriminator that distinguishes the pre-sample from the post-sample
Conversation response generation method comprising a.
상기 문맥-의존 랜덤 노이즈는 FFNN(feed-forward neural network)인 사전 네트워크(prior network)와 인지 네트워크(recognition network) 각각을 통해 상기 대화 문맥으로부터 계산되는 정규 분포에서 도출되는 것
을 특징으로 하는 대화 응답 생성 방법.The method of claim 3,
The context-dependent random noise is derived from a normal distribution computed from the dialogue context via each of a prior network and a recognition network, which are feed-forward neural networks (FFNNs).
Method for generating a conversation response characterized in that.
상기 생성하는 단계는,
상기 신경망을 통해 상기 문맥-의존 랜덤 노이즈로부터 잠재 변수의 샘플을 생성한 후 생성된 잠재 변수를 상기 대화 응답으로 디코딩하는 단계
를 포함하는 대화 응답 생성 방법.The method of claim 3,
The generating step,
Generating samples of the latent variables from the context-dependent random noise via the neural network and then decoding the generated latent variables into the dialogue response.
Conversation response generation method comprising a.
상기 학습하는 단계는,
가우시안 혼합 사전 네트워크(Gaussian mixture prior tetwork)를 이용하여 랜덤 노이즈를 샘플링함으로써 다중모달(multimodal) 응답을 학습하는 단계
를 포함하는 대화 응답 생성 방법.The method of claim 1,
The learning step,
Learning multimodal responses by sampling random noise using a Gaussian mixture prior tetwork
Conversation response generation method comprising a.
상기 다중모달 응답을 학습하는 단계는,
하나 이상의 모드를 가지는 가우시안 분포에서 다중 모드를 캡쳐하여 상기 잠재 변수 공간에서 다중모달 응답을 학습하는 것
을 특징으로 하는 대화 응답 생성 방법.The method of claim 8,
Learning the multimodal response,
Learning multimodal responses in the latent variable space by capturing multiple modes in a Gaussian distribution with one or more modes
Method for generating a conversation response characterized in that.
메모리; 및
상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
과거 발화를 포함하는 대화 문맥에 대해 잠재 변수 공간 내에서 GAN을 학습시킴으로써 데이터 분포를 모델링한 대화 모델을 학습하고,
상기 대화 모델을 통해 상기 데이터 분포로부터 샘플링된 잠재 변수를 이용하여 대화 응답을 생성하는 것
을 특징으로 하는 컴퓨터 시스템.In a computer system,
Memory; And
At least one processor coupled with the memory and configured to execute computer readable instructions contained in the memory
Including,
The at least one processor,
We learn a dialogue model that models the distribution of data by learning the GAN in a latent variable space for dialogue contexts that include past utterances,
Generating a dialogue response using latent variables sampled from the data distribution through the dialogue model
Computer system characterized in that.
상기 적어도 하나의 프로세서는,
FFNN을 이용하여 잠재 변수에 대한 사전 분포와 사후 분포를 모델링하는 것
을 특징으로 하는 컴퓨터 시스템.The method of claim 12,
The at least one processor,
Modeling pre and post distributions of latent variables using FFNN
Computer system characterized in that.
상기 적어도 하나의 프로세서는,
신경망을 이용하여 문맥-의존 랜덤 노이즈를 잠재 변수에 대한 샘플로 변환함으로써 잠재 변수에 대한 사전 분포와 사후 분포를 모델링하는 것
을 특징으로 하는 컴퓨터 시스템.The method of claim 12,
The at least one processor,
Modeling the pre and post distribution of latent variables by transforming context-dependent random noise into samples of latent variables using neural networks
Computer system characterized in that.
상기 적어도 하나의 프로세서는,
가우시안 혼합 사전 네트워크를 이용하여 랜덤 노이즈를 샘플링함으로써 다중모달 응답을 학습하는 것
을 특징으로 하는 컴퓨터 시스템.The method according to claim 12,
The at least one processor,
Learning multimodal responses by sampling random noise using a Gaussian mixed dictionary network
Computer system characterized in that.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180099404A KR102204979B1 (en) | 2018-08-24 | 2018-08-24 | Method and system for generating multi-turn conversation response using deep learing generation model and multi-modal distribution |
JP2019099323A JP6797240B2 (en) | 2018-08-24 | 2019-05-28 | Methods and systems for generating multi-turn conversational responses using deep learning generative models and multimodal distributions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180099404A KR102204979B1 (en) | 2018-08-24 | 2018-08-24 | Method and system for generating multi-turn conversation response using deep learing generation model and multi-modal distribution |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200023049A true KR20200023049A (en) | 2020-03-04 |
KR102204979B1 KR102204979B1 (en) | 2021-01-19 |
Family
ID=69624322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180099404A KR102204979B1 (en) | 2018-08-24 | 2018-08-24 | Method and system for generating multi-turn conversation response using deep learing generation model and multi-modal distribution |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6797240B2 (en) |
KR (1) | KR102204979B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102372642B1 (en) * | 2021-01-27 | 2022-03-08 | 아주대학교산학협력단 | Apparatus and method for generating an automatic response |
CN114359360A (en) * | 2022-03-17 | 2022-04-15 | 成都信息工程大学 | Two-way consistency constraint medical image registration algorithm based on countermeasure |
WO2022114324A1 (en) * | 2020-11-30 | 2022-06-02 | 한국과학기술원 | Apparatus and method for generating video on basis of natural language |
KR102452814B1 (en) * | 2021-10-15 | 2022-10-07 | 한국기술교육대학교 산학협력단 | Methods for analyzing and extracting issues in documents |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143535B (en) * | 2019-12-27 | 2021-08-10 | 北京百度网讯科技有限公司 | Method and apparatus for generating a dialogue model |
JP2020103914A (en) * | 2020-02-26 | 2020-07-09 | 株式会社三洋物産 | Game machine |
CN111680123B (en) * | 2020-05-25 | 2024-01-26 | 腾讯科技(深圳)有限公司 | Training method and device for dialogue model, computer equipment and storage medium |
CN111797220B (en) * | 2020-07-30 | 2024-02-09 | 腾讯科技(深圳)有限公司 | Dialog generation method, apparatus, computer device and storage medium |
CN112270199A (en) * | 2020-11-03 | 2021-01-26 | 辽宁工程技术大学 | CGAN (Carrier-grade network Access network) method based personalized semantic space keyword Top-K query method |
US11736423B2 (en) | 2021-05-04 | 2023-08-22 | International Business Machines Corporation | Automated conversational response generation |
CN113222147B (en) * | 2021-05-11 | 2024-02-13 | 北华航天工业学院 | Construction method of conditional double-countermeasure learning reasoning model |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745808B1 (en) * | 2015-12-31 | 2017-06-28 | 엔에이치엔엔터테인먼트 주식회사 | Method and system for processing module modulization of server-side logic |
KR20170103586A (en) * | 2016-02-24 | 2017-09-13 | 라인 가부시키가이샤 | Method and system for artificial intelligence learning using messaging service and method and system for relaying answer using artificial intelligence |
KR20180052347A (en) * | 2016-11-10 | 2018-05-18 | 삼성전자주식회사 | Voice recognition apparatus and method |
-
2018
- 2018-08-24 KR KR1020180099404A patent/KR102204979B1/en active IP Right Grant
-
2019
- 2019-05-28 JP JP2019099323A patent/JP6797240B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745808B1 (en) * | 2015-12-31 | 2017-06-28 | 엔에이치엔엔터테인먼트 주식회사 | Method and system for processing module modulization of server-side logic |
KR20170103586A (en) * | 2016-02-24 | 2017-09-13 | 라인 가부시키가이샤 | Method and system for artificial intelligence learning using messaging service and method and system for relaying answer using artificial intelligence |
KR20180052347A (en) * | 2016-11-10 | 2018-05-18 | 삼성전자주식회사 | Voice recognition apparatus and method |
Non-Patent Citations (1)
Title |
---|
Li, Jiwei 외 5명, "Adversarial learning for neural dialogue generation." ,arXiv preprint arXiv:1701.06547, 2017.09.24, pp3. 1부.* * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022114324A1 (en) * | 2020-11-30 | 2022-06-02 | 한국과학기술원 | Apparatus and method for generating video on basis of natural language |
KR102372642B1 (en) * | 2021-01-27 | 2022-03-08 | 아주대학교산학협력단 | Apparatus and method for generating an automatic response |
KR102452814B1 (en) * | 2021-10-15 | 2022-10-07 | 한국기술교육대학교 산학협력단 | Methods for analyzing and extracting issues in documents |
CN114359360A (en) * | 2022-03-17 | 2022-04-15 | 成都信息工程大学 | Two-way consistency constraint medical image registration algorithm based on countermeasure |
Also Published As
Publication number | Publication date |
---|---|
JP6797240B2 (en) | 2020-12-09 |
JP2020030403A (en) | 2020-02-27 |
KR102204979B1 (en) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102204979B1 (en) | Method and system for generating multi-turn conversation response using deep learing generation model and multi-modal distribution | |
US11854527B2 (en) | Electronic device and method of controlling speech recognition by electronic device | |
US10923130B2 (en) | Electronic device and method of performing function of electronic device | |
JP7208952B2 (en) | Method and apparatus for generating interaction models | |
KR101949497B1 (en) | Method and system for processing user command to provide and adjust operation of device or range of providing contents accoding to analyzing presentation of user speech | |
CN105843381B (en) | Data processing method for realizing multi-modal interaction and multi-modal interaction system | |
US20180144749A1 (en) | Speech recognition apparatus and method | |
US20190197121A1 (en) | Method and apparatus with natural language generation | |
KR102034255B1 (en) | Method and system for human-machine emotional communication | |
US11437034B2 (en) | Remote control method and apparatus for an imaging apparatus | |
JP6728319B2 (en) | Service providing method and system using a plurality of wake words in an artificial intelligence device | |
JP6567727B2 (en) | User command processing method and system for adjusting output volume of sound output based on input volume of received voice input | |
Tiwari et al. | Virtual home assistant for voice based controlling and scheduling with short speech speaker identification | |
US20240013784A1 (en) | Speaker recognition adaptation | |
CN115688937A (en) | Model training method and device | |
CN116737895A (en) | Data processing method and related equipment | |
KR20190109651A (en) | Voice imitation conversation service providing method and sytem based on artificial intelligence | |
JP2019012506A (en) | Method and system for automatic activation of machine | |
KR20190018666A (en) | Method and system for automatic activation of machine | |
US12002451B1 (en) | Automatic speech recognition | |
KR102239223B1 (en) | Method and system for automatic activation of machine | |
US11893982B2 (en) | Electronic apparatus and controlling method therefor | |
Katumba et al. | Luganda Speech Intent Recognition for IoT Applications | |
Blair | Architectures for Real-Time Automatic Sign Language Recognition on Resource-Constrained Device | |
Malagi | Voice control personal assistant using Raspberry PI |
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 |