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 PDF

Info

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
Application number
KR1020180099404A
Other languages
Korean (ko)
Other versions
KR102204979B1 (en
Inventor
하정우
고소동
김성훈
Original Assignee
네이버 주식회사
라인 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사, 라인 가부시키가이샤 filed Critical 네이버 주식회사
Priority to KR1020180099404A priority Critical patent/KR102204979B1/en
Priority to JP2019099323A priority patent/JP6797240B2/en
Publication of KR20200023049A publication Critical patent/KR20200023049A/en
Application granted granted Critical
Publication of KR102204979B1 publication Critical patent/KR102204979B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech 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

Disclosed is a technology for automatically generating a conversation response. A method for generating a conversation response comprises the steps of: learning a conversation model, which models data distribution, by learning a generative adversarial network (GAN) in a latent variable space for conversation context including past utterance; and generating a conversation response using a latent variable sampled from the data distribution through the conversation model.

Description

딥러닝 생성모델과 다중모달 분포를 이용하여 멀티턴 대화 응답을 생성하는 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING MULTI-TURN CONVERSATION RESPONSE USING DEEP LEARING GENERATION MODEL AND MULTI-MODAL DISTRIBUTION}METHOD AND SYSTEM FOR GENERATING MULTI-TURN CONVERSATION RESPONSE USING DEEP LEARING GENERATION MODEL AND MULTI-MODAL DISTRIBUTION}

아래의 설명은 대화 응답을 자동 생성하는 기술에 관한 것이다.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 electronic device 100 that provides an interface operating based on voice may be used by the user 110. An example of controlling the light power of the indoor lighting device 120 connected to the electronic device 100 through the internal network by recognizing and analyzing the voice input “turn off the light” received according to the utterance is shown.

예를 들어, 댁내의 디바이스들은 상술한 댁내 조명기기(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 indoor lighting devices 120 It may include various devices that can be connected and controlled online such as security devices such as devices, door locks and surveillance cameras. Internal networks also include wired network technologies such as Ethernet, HomePNA, and IEEE 1394, and wireless network technologies such as Bluetooth, ultra wide band (UWB), ZigBee, Wireless 1394, and Home RF. Can be utilized.

전자 기기(100)는 댁내의 디바이스들 중 하나일 수 있다. 예를 들어, 전자 기기(100)는 댁내에 구비된 인공지능 스피커나 로봇 청소기 등과 같은 디바이스들 중 하나일 수 있다. 또한, 전자 기기(100)는 스마트폰(smart phone), 휴대폰, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등과 같은 사용자(110)의 모바일 기기일 수도 있다. 이처럼 전자 기기(100)는 사용자(110)의 음성 입력을 수신하여 댁내의 디바이스들을 제어하기 위해 댁내의 디바이스들과 연결 가능한 기능을 포함하는 기기라면 특별히 제한되지 않는다. 또한, 실시예에 따라 상술한 사용자(110)의 모바일 기기들이 댁내의 디바이스들로서 포함될 수도 있다.The electronic device 100 may be one of devices in the home. For example, the electronic device 100 may be one of devices such as an AI speaker or a robot cleaner provided in the home. In addition, the electronic device 100 may be a mobile device of the user 110 such as a smart phone, a mobile phone, a notebook computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a tablet PC, or the like. have. As such, the electronic device 100 is not particularly limited as long as the device includes a function capable of connecting with devices in the home to receive voice input of the user 110 and control the devices in the home. In addition, according to an embodiment, the above-described mobile devices of the user 110 may be included as devices in the home.

도 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 electronic device 100 providing an interface operating based on voice recognizes and analyzes a voice input “today's weather” received according to the user 110's speech from an external server 210 through an external network. This example shows how to obtain information about today's weather and output the obtained information as a voice such as "Weather in today is ...".

예를 들어, 외부 네트워크는 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 electronic device 100 may be one of the devices in the home or one of the mobile devices of the user 110. The electronic device 100 may include an external network and a function for receiving and processing a voice input of the user 110. The device is not particularly limited as long as the device includes a function for providing the user 110 with a service or content provided by the external server 210 by accessing the external server 210.

이처럼, 본 발명의 실시예들에 따른 전자 기기(100)는 음성 기반 인터페이스를 통해 사용자(110)의 발화에 따라 수신되는 음성 입력을 포함하는 사용자 명령을 처리할 수 있는 기기라면 특별히 제한되지 않을 수 있다. 예를 들어, 전자 기기(100)는 직접 사용자의 음성 입력을 인식 및 분석하여 음성 입력에 알맞은 동작을 수행함으로써 사용자 명령을 처리할 수도 있으나, 실시예에 따라 사용자의 음성 입력에 대한 인식이나 인식된 음성 입력의 분석, 사용자에게 제공될 음성의 합성 등의 처리를 전자 기기(100)와 연계된 외부의 플랫폼을 통해 수행할 수도 있다.As such, the electronic device 100 according to the embodiments of the present invention may not be particularly limited as long as it is a device capable of processing a user command including a voice input received according to the speech of the user 110 through a voice-based interface. have. For example, the electronic device 100 may process a user command by directly recognizing and analyzing a voice input of the user and performing an operation suitable for the voice input. However, according to an embodiment, the electronic device 100 may recognize or recognize the voice input of the user. Analysis of voice input, synthesis of voice to be provided to the user, and the like may be performed through an external platform connected with the electronic device 100.

도 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 electronic devices 310, a cloud AI platform 320, and a content service 330.

일례로, 전자 기기들(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 electronic devices 310 may refer to devices provided in a home, and may include at least the electronic device 100 described above. Applications (hereinafter, referred to as apps) installed and driven on the electronic devices 310 or the electronic devices 310 may be associated with the cloud AI platform 320 through the interface connect 340. Here, the interface connect 340 may provide developers with a software development kit (SDK) and / or development documents for development of apps installed and driven on the electronic devices 310 or the electronic devices 310. In addition, the interface connect 340 includes an application program interface (API) that enables applications installed and driven on the electronic devices 310 or the electronic devices 310 to utilize functions provided by the cloud AI platform 320. Can provide. As a specific example, developers may develop a device or app using a software development kit (SDK) and / or a development document provided by the interface connect 340 using a cloud AI platform (API) provided by the interface connect 340. The functions provided by 320 may be utilized.

여기서 클라우드 인공지능 플랫폼(320)은 음성 기반의 서비스를 제공하기 위한 기능을 제공할 수 있다. 예를 들어, 클라우드 인공지능 플랫폼(320)은 수신된 음성을 인식하고, 출력될 음성을 합성하기 위한 음성처리모듈(321), 수신된 영상이나 동영상을 분석하여 처리하기 위한 비전처리모듈(322), 수신된 음성에 따라 알맞은 음성을 출력하기 위해 적절한 대화를 결정하기 위한 대화처리모듈(323), 수신된 음성에 알맞은 기능을 추천하기 위한 추천모듈(324), 인공지능이 데이터 학습을 통해 문장 단위로 언어를 번역할 수 있도록 지원하는 인공신경망 기반 기계 번역(Neural Machine Translation, NMT, 325) 등과 같이 음성 기반 서비스를 제공하기 위한 다양한 모듈들을 포함할 수 있다.Here, the cloud AI platform 320 may provide a function for providing a voice-based service. For example, the cloud AI platform 320 recognizes the received voice, and a voice processing module 321 for synthesizing the output voice, and a vision processing module 322 for analyzing and processing the received image or video. A dialogue processing module 323 for determining an appropriate dialogue in order to output a suitable speech according to the received speech, a recommendation module 324 for recommending a function suitable for the received speech, and a sentence unit of artificial intelligence through data learning. It may include various modules for providing a speech-based service, such as neural machine translation (NMT, 325) to support the translation of the language.

예를 들어, 도 1 및 도 2의 실시예들에서 전자 기기(100)는 사용자(110)의 음성 입력을 인터페이스 커넥트(340)에서 제공하는 API를 이용하여 클라우드 인공지능 플랫폼(320)으로 전송할 수 있다. 이 경우, 클라우드 인공지능 플랫폼(320)은 수신된 음성 입력을 상술한 모듈들(321 내지 325)을 활용하여 인식 및 분석할 수 있으며, 수신된 음성 입력에 따라 적절한 답변 음성을 합성하여 제공하거나, 적절한 동작을 추천할 수 있다.For example, in the embodiments of FIGS. 1 and 2, the electronic device 100 may transmit the voice input of the user 110 to the cloud AI platform 320 using an API provided by the interface connect 340. have. In this case, the cloud AI platform 320 may recognize and analyze the received voice input by using the above-described modules 321 to 325, and synthesize and provide an appropriate answer voice according to the received voice input, Proper action can be recommended.

또한, 확장 키트(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 extension kit 350 may provide a development kit that allows third-party content developers or companies to implement new voice-based functions based on the cloud AI platform 320. For example, in the embodiment of FIG. 2, the electronic device 100 may transmit a voice input of the user 110 to the external server 210, and the external server 210 may be provided through the expansion kit 350. The voice input may be transmitted to the cloud AI platform 320 through the API. In this case, as described above, the cloud AI platform 320 recognizes and analyzes the received voice input, synthesizes an appropriate answer voice, and provides recommendation information on a function to be processed through the voice input. ) Can be provided. As an example, in FIG. 2, the external server 210 can send a voice input “today's weather” to the cloud AI platform 320 and through recognition of the voice input “today's weather” from the cloud AI platform 320. The extracted keywords "today" and "weather" can be received. In this case, the external server 210 generates text information such as "today's weather ..." through the keywords "today" and "weather" to send the text information generated back to the cloud AI platform 320. Can be. In this case, the cloud AI platform 320 may synthesize text information into a voice and provide it to the external server 210. The external server 210 may transmit the synthesized voice to the electronic device 100, and the electronic device 100 outputs the synthesized voice "Weather of the day ..." through the speaker, thereby outputting from the user 110. The received voice input "Weather today" can be processed.

이때, 전자 기기(100)는 사용자와의 대화를 기반으로 디바이스 동작이나 컨텐츠 제공을 위한 것이다.At this time, the electronic device 100 is for providing a device operation or content based on a conversation with a user.

도 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 electronic device 410 of FIG. 4 may correspond to the electronic device 100 described above, and the server 420 may correspond to one computer device that implements the external server 210 or the cloud AI platform 320 described above. Can be.

전자 기기(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 electronic device 410 and the server 420 may include memories 411 and 421, processors 412 and 422, communication modules 413 and 423, and input / output interfaces 414 and 424. The memories 411 and 421 are computer-readable recording media. Non-volatile memory such as random access memory (RAM), read only memory (ROM), disk drive, solid state drive (SSD), flash memory, and the like. It may include a permanent mass storage device. In this case, the non-volatile mass storage device such as a ROM, an SSD, a flash memory, a disk drive, or the like may be included in the electronic device 410 or the server 420 as a separate permanent storage device that is distinct from the memories 411 and 421. In addition, the memory 411 and 421 may store an operating system and at least one program code (for example, a code installed in the electronic device 410 and driven by the electronic device 410 to provide a specific service). Can be. These software components may be loaded from a computer readable recording medium separate from the memories 411 and 421. Such a separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, memory card, and the like. In other embodiments, software components may be loaded into the memory 411, 421 through a communication module 413, 423 that is not a computer readable recording medium. For example, the at least one program may be electronically based on a computer program (for example, the application described above) installed by files provided through a network 430 by a file distribution system that distributes installation files of developers or applications. The memory 411 of the device 410 may be loaded.

프로세서(412, 422)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(411, 421) 또는 통신 모듈(413, 423)에 의해 프로세서(412, 422)로 제공될 수 있다. 예를 들어 프로세서(412, 422)는 메모리(411, 421)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.Processors 412 and 422 may be configured to process instructions of a computer program by performing basic arithmetic, logic and input / output operations. Instructions may be provided to the processors 412 and 422 by the memory 411 and 421 or the communication modules 413 and 423. For example, processors 412 and 422 may be configured to execute instructions received in accordance with program code stored in a recording device such as memory 411 and 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 communication modules 413 and 423 may provide a function for the electronic device 410 and the server 420 to communicate with each other through the network 430, and the electronic device 410 and / or the server 420 may be different from each other. It may provide a function for communicating with an electronic device or another server. In one example, a request generated by the processor 412 of the electronic device 410 according to a program code stored in a recording device such as a memory 411 is controlled by the server 420 through the network 430 under the control of the communication module 413. Can be delivered. Conversely, control signals, commands, contents, files, and the like provided according to the control of the processor 422 of the server 420 are communicated with the communication module 413 of the electronic device 410 via the communication module 423 and the network 430. ) May be received by the electronic device 410. For example, the control signal, command, content, file, etc. of the server 420 received through the communication module 413 may be transmitted to the processor 412 or the memory 411, and the content, file, etc. may be transferred to an electronic device ( 410 may be stored as a storage medium (permanent storage device described above) that may further include.

입출력 인터페이스(414)는 입출력 장치(415)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드, 마우스, 마이크로폰, 카메라 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(414)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(415)는 전자 기기(410)와 하나의 장치로 구성될 수도 있다. 또한, 서버(420)의 입출력 인터페이스(424)는 서버(420)와 연결되거나 서버(420)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 보다 구체적인 예로, 전자 기기(410)의 프로세서(412)가 메모리(411)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(420)나 다른 전자 기기가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(414)를 통해 디스플레이에 표시될 수 있다.The input / output interface 414 may be a means for interfacing with the input / output device 415. For example, the input device may include a device such as a keyboard, a mouse, a microphone, a camera, and the like, and the output device may include a device such as a display, a speaker, a haptic feedback device, and the like. As another example, the input / output interface 414 may be a means for interfacing with a device in which functions for input and output are integrated into one, such as a touch screen. The input / output device 415 may be configured as the electronic device 410 and one device. In addition, the input / output interface 424 of the server 420 may be a means for interfacing with an apparatus (not shown) for input or output that may be connected to or included in the server 420. More specifically, the processor 412 of the electronic device 410 processes a command of a computer program loaded in the memory 411, and includes a service screen configured by using data provided by the server 420 or another electronic device. The content may be displayed on the display via the input / output interface 414.

또한, 다른 실시예들에서 전자 기기(410) 및 서버(420)는 도 4의 구성요소들보다 더 적은 또는 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기(410)는 상술한 입출력 장치(415) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기(410)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 동작 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기(410)에 더 포함되도록 구현될 수 있다.Also, in other embodiments, the electronic device 410 and server 420 may include fewer or more components than the components of FIG. 4. However, there is no need to clearly show most prior art components. For example, the electronic device 410 may be implemented to include at least some of the above-described input and output devices 415 or other components such as a transceiver, a global positioning system (GPS) module, a camera, various sensors, a database, and the like. It may also include more. More specifically, when the electronic device 410 is a smartphone, an acceleration sensor, a gyro sensor, a motion sensor, a camera module, various physical buttons, a button using a touch panel, an input / output port, and vibration are generally included in the smartphone. Various components such as a vibrator may be implemented to be further included in the electronic device 410.

본 실시예들에서 전자 기기(410)는 사용자의 음성 입력을 수신하기 위한 마이크를 입출력 장치(415)로서 기본적으로 포함할 수 있으며, 사용자의 음성 입력에 대응하는 답변 음성이나 오디오 컨텐츠와 같은 소리를 출력하기 위한 스피커를 입출력 장치(415)로서 더 포함할 수 있다.In the present exemplary embodiment, the electronic device 410 may basically include a microphone for receiving a voice input of the user as the input / output device 415, and may output a sound such as an answer voice or audio content corresponding to the voice input of the user. A speaker for outputting may be further included as the input / output device 415.

본 발명에서는 조건부(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 electronic device 410 or the server 420 described above, and may generate a multiturn type dialogue response based on a deep learning generation model and a multimodal distribution. Can be. In this case, the processor 412 or 422 of the computer system 410 or 420 may be implemented to execute a control instruction according to a code of an operating system included in the memory 411 or 421 or a code of at least one program. . Here, the processor 412 or 422 performs a method of generating a dialogue response based on the DialogWAE dialogue model, which will be described below by the computer system 410 or 420 according to a control command provided by code stored in the computer system 410 or 420. Computer system 410 or 420 can be controlled to do so.

본 발명에 따른 DialogWAE 대화 모델을 구체적으로 설명하면 다음과 같다.The DialogWAE dialogue model according to the present invention will be described in detail as follows.

Problem StatementProblem Statement

Figure pat00001
Figure pat00002
개의 발화(utterance)에 대한 대화 발화(dialogue utterance)를 나타낸다고 하자. 여기서,
Figure pat00003
는 하나의 발화를 나타내고,
Figure pat00004
Figure pat00005
내의 n번째 단어(word)를 나타낸다.
Figure pat00001
end
Figure pat00002
Suppose a dialogue utterance of the dog's utterance. here,
Figure pat00003
Represents one utterance,
Figure pat00004
Is
Figure pat00005
Represents the nth word in.

그리고,

Figure pat00006
Figure pat00007
개의 과거 발화(historical utterances)인 대화 문맥(dialogue context)을 나타내고,
Figure pat00008
가 다음 발화를 의미하는 응답(response)이라고 하자.And,
Figure pat00006
Is
Figure pat00007
Represents the dialogue context, which is the historical utterances of dogs,
Figure pat00008
Is a response that means the next utterance.

DialogWAE 대화 모델에서의 목표는 과거 발화가 주어질 때 현재 응답에 대한 조건부 분포(conditional distribution)인

Figure pat00009
를 추정하는 것이다.The goal in the DialogWAE dialogue model is to be a conditional distribution of the current response given a past utterance.
Figure pat00009
To estimate.

Figure pat00010
Figure pat00011
가 이산 토큰(discrete tokens)에 대한 배열(sequence)이기 때문에 이것들 간의 직접적인 결합을 찾는 것은 쉽지 않다. 대신에, 응답에 대한 높은 레벨의 표현식을 나타내는 연속적인 잠재 변수
Figure pat00012
를 도입한다.
Figure pat00010
Wow
Figure pat00011
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.
Figure pat00012
Introduce.

응답 생성은 두 단계 절차로 간주될 수 있고, 여기서 잠재 변수

Figure pat00013
는 잠재 공간
Figure pat00014
상의 분포
Figure pat00015
로부터 샘플링되며, 그 후 응답
Figure pat00016
Figure pat00017
를 사용하여
Figure pat00018
로부터 디코딩 된다. DialogWAE 대화 모델 하에서 응답의 확률은 방정식 1과 같이 정의될 수 있다.Response generation can be thought of as a two-step procedure, where latent variables
Figure pat00013
Latent space
Figure pat00014
Distribution
Figure pat00015
Is sampled from and then responded to
Figure pat00016
Is
Figure pat00017
use with
Figure pat00018
Decoded from Under the DialogWAE dialogue model, the probability of the response can be defined as in Equation 1.

[방정식 1]Equation 1

Figure pat00019
Figure pat00019

잠재 변수

Figure pat00020
를 주변화(marginalize out)하는 것은 다루기 힘들기 때문에 정확한 로그 확률을 계산하기가 어렵다. 그러므로, 본 발명에서는 잠재 변수
Figure pat00021
에 대한 사후 분포를
Figure pat00022
로 근사화하며, 이는 인지 네트워크(recognition network, RecNet)라고 불리는 신경망에 의해 계산될 수 있다. 이러한 근사적인 사후 분포를 사용하여 증거 하한 값(evidence lower bound, ELBO)을 대신 계산할 수 있다(방정식 2).Latent variables
Figure pat00020
Marginalize out is difficult, so it is difficult to calculate the exact log probability. Therefore, in the present invention, latent variables
Figure pat00021
Post-distribution for
Figure pat00022
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]

Figure pat00023
Figure pat00023

여기서,

Figure pat00024
Figure pat00025
가 주어졌을 때
Figure pat00026
에 대한 사전 분포를 나타내며, 사전 네트워크(prior network)라고 불리는 신경망을 통해 모델링될 수 있다.here,
Figure pat00024
Is
Figure pat00025
Is given
Figure pat00026
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 대화 모델은 잠재 변수

Figure pat00027
가 정규 분포과 같이 단순한 사전 분포를 따른다고 가정한다. 그러나, 실제 응답의 잠재 공간은 더 복잡하며 그렇게 단순한 분포로 추정하기는 어렵다. 이것은 대게 사후 붕괴(posterior collapse) 문제를 야기한다.The existing VAE dialogue model is a latent variable
Figure pat00027
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을 학습시킴으로써

Figure pat00028
에 대한 분포를 모델링한다.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).
Figure pat00028
Model the distribution for.

본 발명에서는 신경망을 사용하여 랜덤 노이즈(random noise)

Figure pat00029
를 변환함으로써 잠재 변수에 대한 사전 및 사후 분포로부터 샘플링한다.In the present invention, random noise using a neural network.
Figure pat00029
Sample from the pre and post distributions for latent variables by transforming

특히, 사전 샘플

Figure pat00030
은 생성자
Figure pat00031
에 의해 문맥-의존 랜덤 노이즈(context-dependent random noise)
Figure pat00032
로부터 생성되는 반면, 근사 사후 샘플
Figure pat00033
은 생성자
Figure pat00034
에 의해 문맥-의존 랜덤 노이즈
Figure pat00035
로부터 생성된다.
Figure pat00036
Figure pat00037
는 평균과 공분산 행렬(대각선 행렬로 가정)이 피드 포워드 신경망(feed-forward neural networks)인 사전 네트워크(prior network) 및 인지 네트워크(recognition network) 각각을 통해
Figure pat00038
로부터 계산되는 정규 분포에서 도출된다(방정식 3과 방정식 4).Especially, advance sample
Figure pat00030
Silver constructor
Figure pat00031
Context-dependent random noise
Figure pat00032
Approximate post-sample, while generated from
Figure pat00033
Silver constructor
Figure pat00034
Context-dependent random noise by
Figure pat00035
Is generated from
Figure pat00036
Wow
Figure pat00037
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.
Figure pat00038
It is derived from the normal distribution calculated from (Equations 3 and 4).

[방정식 3][Equation 3]

Figure pat00039
Figure pat00039

[방정식 4][Equation 4]

Figure pat00040
Figure pat00040

여기서,

Figure pat00041
Figure pat00042
는 피드 포워드 신경망이다. 본 발명에 따른 DialogWAE 대화 모델의 목표는
Figure pat00043
Figure pat00044
간의 다이버전스(divergence)를 최소화하는 반면,
Figure pat00045
로부터 재구성된(reconstructed) 응답의 로그 확률을 최대화하는 것이다.here,
Figure pat00041
And
Figure pat00042
Is a feedforward neural network. The goal of the DialogWAE dialog model according to the present invention is
Figure pat00043
and
Figure pat00044
Minimize divergence between livers,
Figure pat00045
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]

Figure pat00046
Figure pat00046

여기서, 사전 분포

Figure pat00047
및 사후 분포
Figure pat00048
는 각각 방정식 3과 방정식 4를 구현하는 신경망이다.
Figure pat00049
는 디코더이고,
Figure pat00050
는 두 분포 간의 바세르슈타인 거리(Wasserstein distance)를 의미한다.Where the dictionary distribution
Figure pat00047
And posterior distribution
Figure pat00048
Are neural networks that implement equations 3 and 4.
Figure pat00049
Is a decoder,
Figure pat00050
Is the Wasserstein distance between the two distributions.

도 5는 본 발명에 따른 DialogWAE 대화 모델의 개략도를 도시한 것이다.5 shows a schematic diagram of the DialogWAE dialogue model according to the present invention.

발화 인코더(utterance encoder)(RNN)(501)은 대화 내의 (응답

Figure pat00051
를 포함하는) 각 발화를 실수 벡터(real-valued vector)로 변환한다.An utterance encoder (RNN) 501 may be used to
Figure pat00051
Each utterance (including) is converted to a real-valued vector.

문맥 인코더(context encoder)(RNN)(502)는 문맥 내의 i 번째 발화에서 인코딩 벡터와 대화 플로어(conversation floor)(504)의 연결(concatenation)을 입력으로 받고 숨겨진 상태(hidden state)

Figure pat00052
를 계산한다. 문맥 인코더(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.
Figure pat00052
Calculate The last hidden state of the context encoder 502 is used as the context representation.

생성 시기에, DialogWAE 대화 모델은 평균과 대각선 행렬 공분산 각각을 야기하는 두 가지 행렬 곱셈이 뒤따르는 피드-포워드 네트워크를 통해 문맥

Figure pat00053
를 변환하는 사전 네트워크(prior network, PriNet)(510)로부터 랜덤 노이즈
Figure pat00054
(511)를 도출한다. 그 후, 생성자
Figure pat00055
(512)는 피드-포워드 네트워크를 통해 노이즈(511)로부터 잠재 변수
Figure pat00056
(513)의 샘플을 생성한다. 디코더(decoder) RNN은 생성된
Figure pat00057
(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.
Figure pat00053
Random noise from a prior network (prior network, PriNet) 510 for converting
Figure pat00054
(511) is derived. After that, the constructor
Figure pat00055
512 is a latent variable from noise 511 via a feed-forward network.
Figure pat00056
A sample of 513 is generated. Decoder RNN is generated
Figure pat00057
Decode 513 as a response.

학습 시기에, DialogWAE 대화 모델은 문맥

Figure pat00058
와 응답
Figure pat00059
를 조건으로 잠재 변수에 대한 사후 분포를 추론한다. 인지 네트워크(recognition network, RecNet)(520)는
Figure pat00060
Figure pat00061
의 연결을 입력으로 받아서 정규 평균과 대각선 행렬 공분산 각각을 정의하는 두 가지 행렬 곱셈이 뒤따르는 피드-포워드 네트워크를 통해 변환한다. 가우시안 노이즈(Gaussian noise)
Figure pat00062
(521)는 재매개화 트릭(re-parametrization trick)을 사용해 인지 네트워크(520)로부터 도출된다. 그 후, 생성자(generator)
Figure pat00063
(522)는 피드-포워드 네트워크를 통하여 가우시안 노이즈
Figure pat00064
(521)를 잠재 변수
Figure pat00065
(523)에 대한 샘플로 변환한다. 응답 디코더(RNN)(503)는 재구성 손실(reconstruction loss)을 방정식 6을 통해 계산한다.At the time of learning, the DialogWAE dialogue model
Figure pat00058
And response
Figure pat00059
Infer the posterior distribution of the latent variables on the condition of Recognition network (RecNet) 520
Figure pat00060
Wow
Figure pat00061
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. Gaussian noise
Figure pat00062
521 is derived from cognitive network 520 using a re-parametrization trick. Then the generator
Figure pat00063
522 is Gaussian noise over a feed-forward network
Figure pat00064
521 latent variables
Figure pat00065
Convert to sample for 523. Response decoder (RNN) 503 calculates the reconstruction loss through equation (6).

[방정식 6][Equation 6]

Figure pat00066
Figure pat00066

사전 샘플을 사후 샘플과 구별하는 적대 구별자(adversarial discriminator)

Figure pat00067
(530)를 도입함으로써
Figure pat00068
에 대한 사전 분포와 근사 사후 분포를 대응시킨다.
Figure pat00069
(530)는 입력으로
Figure pat00070
Figure pat00071
의 연결을 받고 실수 값(real value)을 출력하는 피드-포워드 신경망으로서 구현된다.Adversarial discriminator that distinguishes a pre-sample from a post-sample
Figure pat00067
By introducing 530
Figure pat00068
Correlate the pre- and approximate post-distribution for.
Figure pat00069
530 is the input
Figure pat00070
Wow
Figure pat00071
It is implemented as a feed-forward neural network that accepts a connection of and outputs a real value.

방정식 7과 같이 구별자 손실을 최소화함으로써

Figure pat00072
(530)를 학습한다.By minimizing the discriminator loss, as in equation 7
Figure pat00072
Learn 530.

[방정식 7][Equation 7]

Figure pat00073
Figure pat00073

구체적인 도시는 생략되었으나, DialogWAE 대화 모델은 잠재 공간 내에서 대화 문맥

Figure pat00074
와 함께 화자 정보를 학습시킴으로써 화자 스타일을 고려하여
Figure pat00075
에 대한 분포를 모델링할 수 있다. 따라서, 본 발명에 따른 DialogWAE 대화 모델은 주어진 문맥에 대하여 해당 화자의 대화 스타일에 맞는 응답을 생성하여 제공할 수 있다.Although the specific illustration is omitted, the DialogWAE dialogue model does not have the dialogue context in the latent space.
Figure pat00074
By considering the speaker style by learning the speaker information with
Figure pat00075
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(

Figure pat00076
)이라고 불리는 가우시안 분포의 혼합을 캡쳐하도록 한다. 여기서,
Figure pat00077
,
Figure pat00078
Figure pat00079
는 k 번째 구성요소의 파라미터들이다. 이는 두 단계의 생성 절차로 잠재 변수 공간에서 다중모달 매니폴드(multimodal manifold)를 학습하게 한다. 첫 번째 단계는
Figure pat00080
로 구성요소
Figure pat00081
를 선택하는 것이고, 다음은 선택된 구성요소로 방정식 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 (
Figure pat00076
Capture a mixture of Gaussian distributions called). here,
Figure pat00077
,
Figure pat00078
And
Figure pat00079
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
Figure pat00080
Component
Figure pat00081
Next, we sample the Gaussian noise with the selected component, as shown in equation (8).

[방정식 8][Equation 8]

Figure pat00082
Figure pat00082

여기서,

Figure pat00083
는 클래스 확률
Figure pat00084
를 갖는 구성요소 지시자(indicator)이고,
Figure pat00085
는 GMM의 k 번째 구성요소의 혼합 계수(mixture coefficient)이다.here,
Figure pat00083
Is the class probability
Figure pat00084
Is a component indicator with
Figure pat00085
Is the mixing coefficient of the k-th component of the GMM.

Figure pat00086
는 방정식 9와 같이 계산된다.
Figure pat00086
Is calculated as in equation 9.

[방정식 9]Equation 9

Figure pat00087
Figure pat00087

정확한 샘플링 대신, 본 발명에서는 구성요소 지시자

Figure pat00088
에 대한 인스턴스를 샘플링하기 위하여 방정식 10과 같이 Gumbel-softmax 재매개화를 사용한다.Instead of accurate sampling, the component indicators in the present invention
Figure pat00088
Use Gumbel-softmax remediation as shown in Equation 10 to sample the instances for.

[방정식 10][Equation 10]

Figure pat00089
Figure pat00089

여기서

Figure pat00090
는 방정식 11과 같이 계산되는 Gumbel 노이즈이다.here
Figure pat00090
Is the Gumbel noise calculated as

[방정식 11]Equation 11

Figure pat00091
Figure pat00091

Figure pat00092
는 모든 실험에서 0.1로 설정된 softmax 온도이다.
Figure pat00092
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 Algorithm 1 shown in FIG. 6.

도 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 Algorithm 1 shown in FIG. 6.

도 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.
제1항에 있어서,
상기 학습하는 단계는,
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.
제1항에 있어서,
상기 학습하는 단계는,
신경망(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.
제3항에 있어서,
상기 대화 모델은 상기 사전 분포와 상기 사후 분포 간의 다이버전스(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.
제3항에 있어서,
상기 학습하는 단계는,
사전 샘플을 사후 샘플과 구별하는 적대 구별자(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.
제3항에 있어서,
상기 문맥-의존 랜덤 노이즈는 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.
제3항에 있어서,
상기 생성하는 단계는,
상기 신경망을 통해 상기 문맥-의존 랜덤 노이즈로부터 잠재 변수의 샘플을 생성한 후 생성된 잠재 변수를 상기 대화 응답으로 디코딩하는 단계
를 포함하는 대화 응답 생성 방법.
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.
제1항에 있어서,
상기 학습하는 단계는,
가우시안 혼합 사전 네트워크(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.
제8항에 있어서,
상기 다중모달 응답을 학습하는 단계는,
하나 이상의 모드를 가지는 가우시안 분포에서 다중 모드를 캡쳐하여 상기 잠재 변수 공간에서 다중모달 응답을 학습하는 것
을 특징으로 하는 대화 응답 생성 방법.
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.
컴퓨터와 결합되어 제1항 내지 제9항 중 어느 한 항의 대화 응답 생성 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer readable recording medium, coupled with a computer, for causing a computer to execute the method of generating a conversational response of any one of claims 1 to 9. 제1항 내지 제9항 중 어느 한 항의 대화 응답 생성 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium having a program recorded therein for executing a method of generating a conversation response according to any one of claims 1 to 9. 컴퓨터 시스템에 있어서,
메모리; 및
상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
과거 발화를 포함하는 대화 문맥에 대해 잠재 변수 공간 내에서 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.
제12항에 있어서,
상기 적어도 하나의 프로세서는,
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.
제12항에 있어서,
상기 적어도 하나의 프로세서는,
신경망을 이용하여 문맥-의존 랜덤 노이즈를 잠재 변수에 대한 샘플로 변환함으로써 잠재 변수에 대한 사전 분포와 사후 분포를 모델링하는 것
을 특징으로 하는 컴퓨터 시스템.
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.
제12에 있어서,
상기 적어도 하나의 프로세서는,
가우시안 혼합 사전 네트워크를 이용하여 랜덤 노이즈를 샘플링함으로써 다중모달 응답을 학습하는 것
을 특징으로 하는 컴퓨터 시스템.
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.
KR1020180099404A 2018-08-24 2018-08-24 Method and system for generating multi-turn conversation response using deep learing generation model and multi-modal distribution KR102204979B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Li, Jiwei 외 5명, "Adversarial learning for neural dialogue generation." ,arXiv preprint arXiv:1701.06547, 2017.09.24, pp3. 1부.* *

Cited By (4)

* Cited by examiner, † Cited by third party
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