KR102261411B1 - Mehtod and apparatus for learning chatting model - Google Patents
Mehtod and apparatus for learning chatting model Download PDFInfo
- Publication number
- KR102261411B1 KR102261411B1 KR1020190057706A KR20190057706A KR102261411B1 KR 102261411 B1 KR102261411 B1 KR 102261411B1 KR 1020190057706 A KR1020190057706 A KR 1020190057706A KR 20190057706 A KR20190057706 A KR 20190057706A KR 102261411 B1 KR102261411 B1 KR 102261411B1
- Authority
- KR
- South Korea
- Prior art keywords
- learning
- model
- sentence
- chat
- chatting
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000000306 recurrent effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000010801 machine learning 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
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
채팅 모델 학습 방법 및 장치가 개시된다. 일 실시예에 따른 채팅 모델 학습 방법은, 복수의 문장을 학습 데이터로 이용한 비 지도 학습 기법을 이용하여 채팅 모델을 학습시키는 동작; 및 각각 발화 문장과 응답 문장을 포함하는 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습 기법을 이용하여, 상기 학습된 채팅 모델을 추가 학습시키는 동작을 포함한다.A chat model learning method and apparatus are disclosed. A chatting model learning method according to an embodiment includes: learning the chatting model using an unsupervised learning technique using a plurality of sentences as learning data; and additionally learning the learned chatting model using a supervised learning technique using a plurality of dialogue sentence pairs each including an utterance sentence and a response sentence as learning data.
Description
개시되는 실시예들은 기계 학습 기술과 관련된다.The disclosed embodiments relate to machine learning techniques.
채팅 시스템이란 사람과 컴퓨터가 자연어를 사용하여 대화하는 것으로, 방법에 따라 검색 모델과 생성 모델로 구분할 수 있다. 검색 모델은 발화-응답 쌍의 채팅 데이터에서 사용자 입력과 가장 유사한 발화를 찾고 그에 대응하는 응답을 출력한다. 정해진 응답을 출력하므로 정확한 출력을 할 수 있지만 데이터 이외의 답변은 출력하지 못한다. 생성 모델은 채팅 데이터를 학습하고 사용자 입력에 따른 응답을 생성한다. 생성 모델은 데이터에 없는 다양한 응답을 생성할 수 있지만 문법에 맞지 않는 응답을 생성하거나 같은 단어를 반복 출력하는 문제점이 있다. A chat system is a conversation between a human and a computer using natural language, and can be divided into a search model and a generative model depending on the method. The search model finds the utterance most similar to the user input in the chat data of the utterance-response pair and outputs a response corresponding thereto. Because it outputs a fixed response, it can output an accurate output, but it cannot output an answer other than data. The generative model learns chat data and generates responses based on user input. The generative model can generate various responses that are not in the data, but there are problems in generating responses that do not conform to grammar or repeating the same word.
개시되는 실시예들은 채팅 모델 학습 방법 및 장치를 제공하기 위한 것이다.Disclosed embodiments are to provide a chat model learning method and apparatus.
일 실시예에 따른 채팅 모델 학습 방법은, 복수의 문장을 학습 데이터로 이용한 비 지도 학습 기법을 이용하여 채팅 모델을 학습시키는 동작; 및 각각 발화 문장과 응답 문장을 포함하는 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습 기법을 이용하여, 상기 학습된 채팅 모델을 추가 학습시키는 동작을 포함한다.A chatting model learning method according to an embodiment includes: learning the chatting model using an unsupervised learning technique using a plurality of sentences as learning data; and additionally learning the learned chatting model by using a supervised learning technique using a plurality of dialogue sentence pairs each including an utterance sentence and a response sentence as learning data.
상기 학습시키는 동작은, 입력된 문장과 동일한 문장이 출력되도록 상기 채팅 모델을 학습시킬 수 있다.The learning operation may train the chatting model to output the same sentence as the input sentence.
상기 채팅 모델은, 각각 순환 신경망(Recurrent Neural Network, RNN)으로 구성된 인코더 및 디코더를 포함하는 인코더-디코더 모델일 수 있다.The chat model may be an encoder-decoder model including an encoder and a decoder configured with a recurrent neural network (RNN), respectively.
상기 채팅 모델은, 주의 집중 메커니즘(attention mechanism)이 적용된 주의 집중 기반 인코더-디코더 모델일 수 있다.The chat model may be an attention-based encoder-decoder model to which an attention mechanism is applied.
상기 추가 학습 시키는 동작은, 상기 학습된 채팅 모델의 가중치를 초기 가중치로 이용하여 상기 학습된 채팅 모델을 추가 학습시킬 수 있다.In the additional learning operation, the learned chatting model may be additionally trained by using the weight of the learned chatting model as an initial weight.
일 실시예에 따른 채팅 모델 학습 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 복수의 문장을 학습 데이터로 이용한 비 지도 학습 기법을 이용하여 채팅 모델을 학습시키고, 각각 발화 문장과 응답 문장을 포함하는 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습 기법을 이용하여, 상기 학습된 채팅 모델을 추가 학습시킨다.Chatting model learning apparatus according to an embodiment, a memory for storing one or more instructions; and one or more processors executing the one or more instructions, wherein the one or more processors train the chatting model using an unsupervised learning technique using a plurality of sentences as learning data, each including an utterance sentence and a response sentence By using a supervised learning technique using a plurality of dialogue sentence pairs as learning data, the learned chatting model is further trained.
상기 하나 이상의 프로세서는, 입력된 문장과 동일한 문장이 출력되도록 상기 채팅 모델을 학습시킬 수 있다.The one or more processors may train the chatting model to output the same sentence as the input sentence.
상기 채팅 모델은, 각각 순환 신경망(Recurrent Neural Network, RNN)으로 구성된 인코더 및 디코더를 포함하는 인코더-디코더 모델일 수 있다.The chat model may be an encoder-decoder model including an encoder and a decoder configured with a recurrent neural network (RNN), respectively.
상기 채팅 모델은, 주의 집중 메커니즘(attention mechanism)이 적용된 주의 집중 기반 인코더-디코더 모델일 수 있다.The chat model may be an attention-based encoder-decoder model to which an attention mechanism is applied.
상기 하나 이상의 프로세서는, 상기 학습된 채팅 모델의 가중치를 초기 가중치로 이용하여 상기 학습된 채팅 모델을 추가 학습시킬 수 있다.The one or more processors may further train the learned chatting model by using the weight of the learned chatting model as an initial weight.
개시되는 실시예들에 따르면, 복수의 문장을 학습 데이터로 이용한 비 지도 학습 기법을 이용하여 채팅 모델의 학습시켜 채팅 모델의 문장 이해 능력과 문장 생성 능력을 향상시킨 후, 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습 기법을 이용하여 채팅 모델을 추가 학습시킴으로써, 상대적으로 수집이 어려운 적은 수의 대화 문장 쌍을 학습 데이터로 이용하더라도 채팅 모델의 문장 이해 능력, 문장 생성 능력 및 대화 능력을 향상시킬 수 있다.According to the disclosed embodiments, the chat model is trained using an unsupervised learning technique using a plurality of sentences as learning data to improve the sentence understanding ability and sentence generation ability of the chat model, and then a plurality of conversation sentence pairs are learned By further learning the chat model using the supervised learning technique used as data, it is possible to improve the sentence understanding ability, sentence generation ability, and conversation ability of the chat model even if a small number of conversation sentence pairs that are relatively difficult to collect are used as training data. have.
도 1은 일 실시예에 따른 채팅 모델 학습 장치의 구성도이다.
도 2는 일 실시예에 따른 채팅 모델의 개략적 구성을 나타낸 도면이다.
도 3은 다른 실시예에 따른 채팅 모델의 개략적 구성을 나타낸 도면이다.
도 4는 일 실시예에 따른 채팅 모델 학습 방법의 순서도이다.
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.1 is a block diagram of an apparatus for learning a chatting model according to an embodiment.
2 is a diagram showing a schematic configuration of a chatting model according to an embodiment.
3 is a diagram illustrating a schematic configuration of a chatting model according to another embodiment.
4 is a flowchart of a chat model learning method according to an embodiment.
5 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and/or systems described herein. However, this is merely an example and the present invention is not limited thereto.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions, which may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing the embodiments only, and should in no way be limiting. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. In this description, expressions such as "comprising" or "comprising" are intended to indicate certain features, numbers, steps, acts, elements, some or a combination thereof, and one or more other than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, acts, elements, or any part or combination thereof.
도 1은 일 실시예에 따른 채팅 모델 학습 장치의 구성도이다.1 is a block diagram of an apparatus for learning a chatting model according to an embodiment.
도 1을 참조하면, 일 실시예에 따른 채팅 모델 학습 장치(100)는 제1 학습부(110) 및 제2 학습부(120)를 포함한다.Referring to FIG. 1 , the chat
한편, 일 실시예에서, 제1 학습부(110) 및 제2 학습부(120)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.Meanwhile, in one embodiment, the
제1 학습부(110)는 복수의 문장을 학습 데이터로 이용한 비 지도 학습(unsupervised learning) 기법을 이용하여 채팅 모델을 학습시킨다.The
이때, 채팅 모델은 자연어 문장을 이용하여 사용자와의 대화를 수행하는 채팅 시스템에서 사용자에 의해 입력된 문장에 대한 응답 문장을 생성하기 위한 심층 신경망(Deep Neural Network) 기반의 문장 생성 모델일 수 있다. In this case, the chatting model may be a deep neural network-based sentence generation model for generating a response sentence to a sentence input by the user in a chatting system that performs a conversation with the user using a natural language sentence.
한편, 일 실시예에 따르면, 채팅 모델에 대한 비 지도 학습을 위해 제1 학습부(110)에 의해 이용되는 복수의 문장은 각각 예를 들어, 뉴스 기사 등으로부터 사전 수집되거나 사용자에 의해 작성된 문장일 수 있다. Meanwhile, according to an embodiment, each of the plurality of sentences used by the
또한, 일 실시예에 따르면, 복수의 문장은 각각 문어체와 같이 특정한 문체로 작성된 문장일 수 있으나, 반드시 특정한 문체로 작성된 문장에 한정되는 것은 아니다. Also, according to an embodiment, each of the plurality of sentences may be a sentence written in a specific style, such as a written style, but is not necessarily limited to a sentence written in a specific style.
또한, 일 실시예에 따르면, 제1 학습부(110)는 비 지도 학습 기법을 이용하여 학습을 위해 입력된 문장과 동일한 문장을 생성하도록 채팅 모델을 학습시킬 수 있다. 이를 위해, 비 지도 학습 기법으로서 예를 들어, 오토인코더(Auto encoder)가 이용될 수 있다.Also, according to an embodiment, the
구체적으로, 제1 학습부(110)는 특정 문장이 입력되었을 때, 채팅 모델에서 출력되는 문장이 입력된 문장을 모방하여 출력하도록 채팅 모델의 심층 신경망을 구성하는 각 은닉층의 가중치를 학습시킬 수 있다. 이에 따라, 제1 학습부(110)에 의해 학습된 채팅 모델은 입력된 문장을 이해하는 문장 이해 능력과 문법적 오류가 없는 올바른 문장을 생성하는 문장 생성 능력을 향상시킬 수 있게 된다.Specifically, the
제2 학습부(120)는 각각 발화 문장과 응답 문장을 포함하는 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습(supervised learning) 기법을 이용하여 제1 학습부(110)에 의해 학습된 채팅 모델을 추가 학습시킨다.The
구체적으로, 제2 학습부(120)는 학습데이터로 이용되는 대화 문장 쌍에 포함된 발화 문장을 채팅 모델의 입력 데이터로 이용하고, 해당 대화 문장 쌍에 포함된 응답 문장을 채팅 모델의 목적 데이터로 이용하여 제1 학습부(120)에 의해 학습된 채팅 모델을 추가 학습시킬 수 있다. Specifically, the
이때, 제2 학습부(120)는 제1 학습부(120)에 의해 학습된 채팅 모델의 가중치를 추가 학습을 위한 초기 가중치로 이용할 수 있다. In this case, the
구체적으로, 제2 학습부(120)에 의해 추가 학습될 채팅 모델의 각 은닉층의 초기 가중치는 제1 학습부(110)에 의해 수행된 비지도 학습 결과에 의해 결정될 수 있다. 또한, 제2 학습부(120)는 학습 데이터로 이용되는 대화 문장 쌍에 포함된 발화 문장을 입력 받아, 해당 대화 문장 쌍에 포함된 응답 문장이 출력되도록 채팅 모델의 초기 가중치를 갱신함으로써 채팅 모델을 추가 학습시킬 수 있다. Specifically, the initial weight of each hidden layer of the chatting model to be further learned by the
이에 따라, 제2 학습부(120)에 의해 추가 학습된 채팅 모델은 문장 이해 능력과 문장 생성 능력을 유지하면서 대화 능력을 향상시킬 수 있게 된다. Accordingly, the chatting model additionally learned by the
한편, 지도 학습을 위해 이용되는 복수의 대화 문장 쌍은 예를 들어, 자연어 문장을 이용하여 2 이상의 사람들 사이에서 수행된 대화 내용을 저장하는 데이터베이스 등으로부터 사전 수집되거나 사용자에 의해 작성될 수 있다.Meanwhile, a plurality of pairs of dialogue sentences used for supervised learning may be pre-collected from, for example, a database that stores contents of conversations performed between two or more people using natural language sentences or may be prepared by a user.
도 2는 일 실시예에 따른 채팅 모델의 개략적 구성을 나타낸 도면이다.2 is a diagram showing a schematic configuration of a chatting model according to an embodiment.
도 2를 참조하면, 일 실시예에 따른 채팅 모델(200)은 각각 순환 신경망(Recurrent Neural Network, RNN)으로 구성된 인코더(encoder)(210)와 디코더(decoder)(230)를 포함하는 인코더-디코더 모델일 수 있다.Referring to FIG. 2 , the
구체적으로, 인코더(210)는 입력 시퀀스 X={x1, x2, x3, ..., xn}로부터 문맥 벡터(context vector, 220)를 생성하고, 디코더(230)는 문맥 벡터(220)로부터 출력 시퀀스 Y={y1, y2, y3,..., ym}를 생성할 수 있다.Specifically, the
이때, 입력 시퀀스 X에 포함된 토큰 값들(즉, x2, x3, ..., xn)은 각각 입력 문장을 예를 들어, 형태소, 음절 등과 같은 토큰 단위로 분할한 후, 분할된 각 토큰을 예를 들어, 워드 임베딩(word embedding)을 통해 변환한 임베딩 벡터(embedding vector)일 수 있다. At this time, the token values (ie, x 2 , x 3 , ..., x n ) included in the input sequence X are each divided into token units such as morphemes and syllables, and then each divided The token may be, for example, an embedding vector converted through word embedding.
또한, 출력 시퀀스 Y에 포함된 토큰 값들(즉, y1, y2, y3,..., ym)은 각각 출력 문장에 포함될 토큰에 대한 임베딩 벡터일 수 있다.In addition, token values (ie, y 1 , y 2 , y 3 ,..., y m ) included in the output sequence Y may each be an embedding vector for a token to be included in the output sentence.
한편, 인코더(210)로 입력 시퀀스 X의 i번째 토큰 값(즉, xi)이 인코더(210)로 입력된 경우, 인코더(210)의 은닉 상태 벡터(hidden state vector) hi는 아래의 수학식 1과 같이 표현될 수 있다.On the other hand, when the i-th token value (ie, x i ) of the input sequence X to the
[수학식 1][Equation 1]
수학식 1에서, f는 비선형 활성화 함수(non-linear active function)를 나타내며, 예를 들어 LSTM(Long-Short Term Memory) 또는 GRU(Gated Recurrent Unit)일 수 있다. 이하, f는 동일한 의미로 사용된다.In
한편, 문맥 벡터(220) c는 아래의 수학식 2를 이용하여 생성될 수 있다.Meanwhile, the context vector 220 c may be generated using
[수학식 2][Equation 2]
수학식 2에서, q는 문맥 벡터를 생성하기 위한 비선형 함수를 나타내며, 예를 들어, 아래의 수학식 3과 같이 인코더(210)의 마지막 은닉 상태 벡터를 추출하는 함수일 수 있다.In
[수학식 3][Equation 3]
한편, 디코더(230)는 문맥 벡터(220), 이전 출력 시점에서 디코더(230)의 은닉 상태 벡터 및 이전 출력 시점에서 출력된 토큰 값을 입력받아 현재 출력 시점에서 출력할 토큰 값을 결정할 수 있다. Meanwhile, the
구체적으로, 현재 출력 시점 j에서 디코더(230)의 은닉 상태 벡터 Sj는 아래의 수학식 4와 같이 표현될 수 있다. Specifically, the hidden state vector S j of the
[수학식 4][Equation 4]
또한, 디코더(230)는 예를 들어, 아래의 수학식 5와 같이 현재 시점에서 출력할 토큰 값에 대한 조건부 확률을 산출하고, 산출된 확률이 최대가 되도록 현재 시점에서 출력할 토큰 값을 결정할 수 있다.In addition, the
[수학식 5][Equation 5]
도 3은 다른 실시예에 따른 채팅 모델의 개략적 구성을 나타낸 도면이다.3 is a diagram illustrating a schematic configuration of a chatting model according to another embodiment.
도 3을 참조하면, 일 실시예에 따른 채팅 모델(300)은 주의 집중 메커니즘(attention mechanism)이 적용된 주의 집중 기반 인코더-디코더(attention based encoder-decoder) 모델일 수 있다.Referring to FIG. 3 , the
도 3에 도시된 실시예에서, 인코더(310)는 순방향 RNN(forward RNN)과 역방향 RNN(backward RNN)을 포함하는 양방향 RNN(bidirectional RNN)으로 구성될 수 있다. In the embodiment shown in FIG. 3 , the
구체적으로, 입력 시퀀스 X의 i번째 토큰 값(즉, xi)에 대한 인코더(310)의 순방향 은닉 상태 벡터 와 역방향 은닉 상태 벡터 는 각각 아래의 수학식 6 및 7과 같이 표현될 수 있다.Specifically, the forward hidden state vector of the
[수학식 6][Equation 6]
[수학식 7][Equation 7]
또한, xi에 대한 인코더(310)의 은닉 상태 벡터 는 아래의 수학식 8과 같이 와 를 결합(concatenate)하여 생성될 수 있다.Also, the hidden state vector of
[수학식 8][Equation 8]
한편, 주의 집중 층(attention layer, 320)은 인코더(310)에 의해 생성된 각 은닉 상태 벡터에 대한 디코더(330)의 현재 출력 시점에서의 주의 집중 가중치(attention weight)를 결정할 수 있다. 이때, 주의 집중 가중치는 현재 출력 시점에서 출력할 토큰 값을 결정하기 위해 입력 시퀀스에 포함된 토큰 값들 중 어떤 토큰 값에 집중하여야 할 지를 나타낸다.Meanwhile, the
구체적으로, 현재 출력 시점 j에서 인코더(310)의 i번째 은닉 상태 벡터 에 대한 주의 집중 가중치 는 예를 들어, 수학식 9와 같은 소프트맥스(softmax) 함수를 이용하여 정규화된 값으로 산출될 수 있다. Specifically, the i-th hidden state vector of the
[수학식 9][Equation 9]
수학식 9에서, Tx는 디코더(330)로 입력된 토큰 값의 개수를 나타낸다. 또한, 는 현재 출력 시점 j에서 인코더(310)의 i번째 은닉 상태 벡터 에 대한 주의 집중 스코어(attention score)이며, 이전 출력 시점에서 디코더(330)의 은닉 상태 벡터 와 인코더(310)의 i번째 은닉 상태 벡터 가 얼마나 유사한지를 나타낸다. 예를 들어, 주의 집중 스코어는 아래의 수학식 10에 의해 산출될 수 있다.In Equation 9, T x represents the number of token values input to the
[수학식 10][Equation 10]
수학식 10에서 는 스코어 함수를 나타낸다. 이때, 스코어 함수는 예를 와 를 입력으로 하고, tanh를 활성화 함수로 이용하는 앞 먹임 신경망(Feed-Forward Neural Network)로 구현될 수 있다. 그러나, 스코어 함수로서 앞 먹임 신경망 외에도 와 사이의 내적(dot product) 내지는 쌍선형 함수(bilinear function)가 이용될 수도 있다.in
한편, 디코더(330)는 이전 출력 시점에서 디코더(330)의 은닉 상태 벡터, 이전 출력 시점에서 출력된 토큰 값 및 현재 출력 시점에서 문맥 벡터를 입력받아 현재 출력 시점에서 출력할 토큰 값을 결정할 수 있다.Meanwhile, the
이때, 현재 출력 시점 j에서 디코더(330)로 입력되는 문맥 벡터 는 아래의 수학식 11과 같이 산출될 수 있다.At this time, the context vector input to the
[수학식 11][Equation 11]
또한, 현재 출력 시점 j에서 디코더(330)의 은닉 상태 벡터 는 아래의 수학식 12와 같이 표현될 수 있다.In addition, the hidden state vector of the
[수학식 12][Equation 12]
도 4는 일 실시예에 따른 채팅 모델 학습 방법의 순서도이다.4 is a flowchart of a chat model learning method according to an embodiment.
도 4에 도시된 방법은 예를 들어, 도 1에 도시된 채팅 모델 학습 장치(100)에 의해 수행될 수 있다.The method shown in FIG. 4 may be performed, for example, by the chat
도 4를 참조하면, 우선, 채팅 모델 학습 장치(100)는 복수의 문장을 학습 데이터로 이용한 비 지도 학습 기법을 이용하여 채팅 모델을 학습시킨다(410).Referring to FIG. 4 , first, the chat
이때, 일 실시예에 따르면, 채팅 모델 학습 장치(100)는 학습을 위해 입력된 문장과 동일한 문장을 생성하도록 채팅 모델을 학습시킬 수 있다. In this case, according to an embodiment, the chat
한편, 일 실시예에 따르면, 채팅 모델은 인코더-디코더 모델 또는 주의 집중 메커니즘이 적용된 주의 집중 기반 인코더-디코더 모델일 수 있다.Meanwhile, according to an embodiment, the chat model may be an encoder-decoder model or an attention-based encoder-decoder model to which an attention mechanism is applied.
이후, 채팅 모델 학습 장치(100)는 각각 발화 문장과 응답 문장을 포함하는 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습 기법을 이용하여 410 단계에서 학습된 채팅 모델을 추가 학습시킨다(420).Thereafter, the chat
이때, 일 실시예에 따르면, 채팅 모델 학습 장치(100)는 410 단계에서 학습된 채팅 모델의 가중치를 추가 학습을 위한 초기 가중치로 이용할 수 있다.At this time, according to an embodiment, the chat
한편, 도 4에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.On the other hand, in the flowchart shown in FIG. 4, the method is described by dividing the method into a plurality of steps, but it is performed together with other steps, omitted, performed divided into detailed steps, or one or more steps not shown are added. can be performed.
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.5 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those not described below.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 도 1에 도시된 애플리케이션 정보 제공 장치(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.The illustrated
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
개시된 실시예들에 따르면, 사용자의 게임 정보에 따라 게이밍 디바이스의 디스플레이 화면 상에 표시되는 게임 애플리케이션의 아이콘이 갱신되도록 함으로써, 각 사용자의 게임 정보에 따라 개인화된 아이콘이 표시되도록 할 수 있다. According to the disclosed embodiments, the icon of the game application displayed on the display screen of the gaming device is updated according to the game information of the user, so that the personalized icon can be displayed according to the game information of each user.
또한, 개시된 실시예들에 따르면, 사용자의 게임 정보에 대응되는 시각적 정보가 게임 애플리케이션의 아이콘을 통해 표시되도록 함으로써, 게임 애플리케이션의 아이콘을 통해 사용자에게 게임과 관련된 다양한 정보를 제공할 수 있고, 이를 통해 사용자의 게임 접속을 유도할 수 있다.In addition, according to the disclosed embodiments, by displaying visual information corresponding to the user's game information through the icon of the game application, various information related to the game may be provided to the user through the icon of the game application, through which It can induce users to access the game.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present invention has been described in detail through representative embodiments above, those of ordinary skill in the art to which the present invention pertains can make various modifications to the above-described embodiments without departing from the scope of the present invention. will understand Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims described below as well as the claims and equivalents.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 채팅 모델 학습 장치
110: 제1 학습부
120: 제2 학습부
200, 300: 채팅 모델10: Computing Environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: Program
22: input/output interface
24: input/output device
26: network communication interface
100: chat model training device
110: first learning unit
120: second learning unit
200, 300: chat model
Claims (10)
복수의 문장을 학습 데이터로 이용한 비 지도 학습 기법을 이용하여 채팅 모델을 학습시키되, 입력된 문장과 동일한 문장이 출력되도록 상기 채팅 모델을 학습시키는 동작; 및
각각 발화 문장과 응답 문장을 포함하는 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습 기법을 이용하여, 상기 학습된 채팅 모델을 추가 학습시키는 동작을 포함하는 채팅 모델 학습 방법.As a chat model learning method performed by the chat model learning device,
an operation of learning the chatting model using an unsupervised learning technique using a plurality of sentences as learning data, and learning the chatting model to output the same sentence as the inputted sentence; and
A method for learning a chatting model, comprising: additionally learning the learned chatting model using a supervised learning technique using a plurality of pairs of dialog sentences each including a spoken sentence and a response sentence as learning data.
상기 채팅 모델은, 각각 순환 신경망(Recurrent Neural Network, RNN)으로 구성된 인코더 및 디코더를 포함하는 인코더-디코더 모델인 채팅 모델 학습 방법.The method according to claim 1,
The chat model is an encoder-decoder model comprising an encoder and a decoder each configured with a recurrent neural network (RNN).
상기 채팅 모델은, 주의 집중 메커니즘(attention mechanism)이 적용된 주의 집중 기반 인코더-디코더 모델인 채팅 모델 학습 방법.4. The method of claim 3,
The chat model is a chat model learning method that is an attention-based encoder-decoder model to which an attention mechanism is applied.
상기 추가 학습 시키는 동작은, 상기 학습된 채팅 모델의 가중치를 초기 가중치로 이용하여 상기 학습된 채팅 모델을 추가 학습시키는 채팅 모델 학습 방법.The method according to claim 1,
The operation of the additional learning is a chat model learning method of further learning the learned chatting model by using the weight of the learned chatting model as an initial weight.
상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,
상기 하나 이상의 프로세서는,
복수의 문장을 학습 데이터로 이용한 비 지도 학습 기법을 이용하여 채팅 모델을 학습시키되, 입력된 문장과 동일한 문장이 출력되도록 상기 채팅 모델을 학습시키고,
각각 발화 문장과 응답 문장을 포함하는 복수의 대화 문장 쌍을 학습 데이터로 이용한 지도 학습 기법을 이용하여, 상기 학습된 채팅 모델을 추가 학습시키는 채팅 모델 학습 장치.a memory that stores one or more instructions; and
one or more processors executing the one or more instructions;
The one or more processors,
Learning the chatting model using an unsupervised learning technique using a plurality of sentences as learning data, learning the chatting model to output the same sentence as the inputted sentence,
A chat model learning apparatus for additionally learning the learned chatting model by using a supervised learning technique using a plurality of dialog sentence pairs each including an utterance sentence and a response sentence as learning data.
상기 채팅 모델은, 각각 순환 신경망(Recurrent Neural Network, RNN)으로 구성된 인코더 및 디코더를 포함하는 인코더-디코더 모델인 채팅 모델 학습 장치.7. The method of claim 6,
The chat model is an encoder-decoder model including an encoder and a decoder configured of a recurrent neural network (RNN), respectively.
상기 채팅 모델은, 주의 집중 메커니즘(attention mechanism)이 적용된 주의 집중 기반 인코더-디코더 모델인 채팅 모델 학습 장치.9. The method of claim 8,
The chat model is a chat model learning apparatus that is an attention-based encoder-decoder model to which an attention mechanism is applied.
상기 하나 이상의 프로세서는, 상기 학습된 채팅 모델의 가중치를 초기 가중치로 이용하여 상기 학습된 채팅 모델을 추가 학습시키는 채팅 모델 학습 장치.7. The method of claim 6,
The one or more processors, chat model learning apparatus for further learning the learned chat model by using the weight of the learned chat model as an initial weight.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190057706A KR102261411B1 (en) | 2019-05-17 | 2019-05-17 | Mehtod and apparatus for learning chatting model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190057706A KR102261411B1 (en) | 2019-05-17 | 2019-05-17 | Mehtod and apparatus for learning chatting model |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200132343A KR20200132343A (en) | 2020-11-25 |
KR102261411B1 true KR102261411B1 (en) | 2021-06-07 |
Family
ID=73645466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190057706A KR102261411B1 (en) | 2019-05-17 | 2019-05-17 | Mehtod and apparatus for learning chatting model |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102261411B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102643A (en) * | 2008-10-27 | 2010-05-06 | Omron Corp | Apparatus and method for interactive guidance support |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101860061B1 (en) * | 2015-06-08 | 2018-05-23 | 한국과학기술원 | System and method for predicting disease inforamtion using deep neural network |
KR102656620B1 (en) * | 2017-03-23 | 2024-04-12 | 삼성전자주식회사 | Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium |
KR102105876B1 (en) * | 2017-09-15 | 2020-04-29 | 한동대학교 산학협력단 | Intelligent multilingual dialog system using parallel corpus and other language dialog data and its operating method |
-
2019
- 2019-05-17 KR KR1020190057706A patent/KR102261411B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102643A (en) * | 2008-10-27 | 2010-05-06 | Omron Corp | Apparatus and method for interactive guidance support |
Also Published As
Publication number | Publication date |
---|---|
KR20200132343A (en) | 2020-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10762892B2 (en) | Rapid deployment of dialogue system | |
US11734375B2 (en) | Automatic navigation of interactive web documents | |
US10424302B2 (en) | Turn-based reinforcement learning for dialog management | |
CN110741363B (en) | Processing natural language using machine learning to determine slot values based on slot descriptors | |
JP6951712B2 (en) | Dialogue devices, dialogue systems, dialogue methods, and programs | |
US11227581B2 (en) | Systems and methods for generating a response based on task-independent conversational responses or task-specific responses | |
CN112119454A (en) | Automated assistant that accommodates multiple age groups and/or vocabulary levels | |
US9361589B2 (en) | System and a method for providing a dialog with a user | |
US11699074B2 (en) | Training sequence generation neural networks using quality scores | |
JP2018537788A (en) | Extension of neural network using external memory | |
CN115329779B (en) | Multi-person dialogue emotion recognition method | |
CN108227565A (en) | A kind of information processing method, terminal and computer-readable medium | |
EP2879062A2 (en) | A system and a method for providing a dialog with a user | |
KR20220113780A (en) | Speech synthesis training to generate unique speech sounds | |
US11854533B2 (en) | Speaker awareness using speaker dependent speech model(s) | |
CN110069611B (en) | Topic-enhanced chat robot reply generation method and device | |
CN112131367A (en) | Self-auditing man-machine conversation method, system and readable storage medium | |
JP6243072B1 (en) | Input / output system, input / output program, information processing device, chat system | |
KR102284903B1 (en) | Mehtod and apparatus for input sequence | |
KR102261411B1 (en) | Mehtod and apparatus for learning chatting model | |
JP7327647B2 (en) | Utterance generation device, utterance generation method, program | |
Kosovan et al. | Dialogue response generation using neural networks with attention and background knowledge | |
JP2015155932A (en) | User interaction system and method | |
CN113555006B (en) | Voice information identification method and device, electronic equipment and storage medium | |
KR102383043B1 (en) | Learning method and cognition method for omission restoration and apparatus for executing the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |