KR102383043B1 - Learning method and cognition method for omission restoration and apparatus for executing the method - Google Patents
Learning method and cognition method for omission restoration and apparatus for executing the method Download PDFInfo
- Publication number
- KR102383043B1 KR102383043B1 KR1020200081800A KR20200081800A KR102383043B1 KR 102383043 B1 KR102383043 B1 KR 102383043B1 KR 1020200081800 A KR1020200081800 A KR 1020200081800A KR 20200081800 A KR20200081800 A KR 20200081800A KR 102383043 B1 KR102383043 B1 KR 102383043B1
- Authority
- KR
- South Korea
- Prior art keywords
- restoration
- previous
- value
- type
- restoration type
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3349—Reuse of stored results of previous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Machine Translation (AREA)
Abstract
생략 복원 학습 방법 및 인식 방법과 이를 수행하기 위한 장치가 개시된다. 개시되는 일 실시예에 따른 생략 복원 학습 방법은, 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 각 이전 대화문에서 사용자의 질문에 생략된 표현과 대응되는 복원 타입과 관련된 복원 타입 관련 정보를 출력하도록 학습하는 동작 및 각 이전 대화문들의 은닉 상태 벡터 및 복원 타입 관련 정보를 입력 받고, 각 이전 대화문에서 복원 타입에 대응하는 복원 값의 경계를 검출하도록 학습하는 동작을 포함한다.Disclosed are an omission restoration learning method, a recognition method, and an apparatus for performing the same. Omission restoration learning method according to an embodiment disclosed is a method performed in a computing device having a memory for storing one or more programs executed by one or more processors, and one or more processors, and input multi-turn dialog An operation of learning to receive a hidden state vector for each of the previous dialogs that exist before the user's question, and output information related to the restoration type related to the restoration type corresponding to the expression omitted from the user's question in each previous dialog; and and receiving the hidden state vector and restoration type-related information of each previous dialog, and learning to detect the boundary of the restoration value corresponding to the restoration type in each previous dialog.
Description
개시되는 실시예는 질의 응답을 위한 생략 복원 기술과 관련된다.Disclosed embodiments relate to omission recovery techniques for query answering.
최근, 인공 지능 기술의 발달로 챗봇(Chatbot) 서비스를 제공하는 분야가 증가하고 있다. 챗봇 서비스에 대한 사용자의 만족도를 높이면서 지속적인 서비스가 이루어지기 위해서는 사람과의 연속적인 대화(멀티턴 대화)에서 사용자의 질의를 정확하게 파악하고 그에 대한 적절한 대답을 할 수 있어야 한다. 그러나 종래의 챗봇들은 사용자의 질의에 대해 원하는 대답을 주지 못하는 경우가 자주 발생한다. Recently, with the development of artificial intelligence technology, the field of providing chatbot services is increasing. In order to achieve continuous service while increasing user satisfaction with the chatbot service, it is necessary to accurately understand the user's query in a continuous conversation with a human (multi-turn conversation) and to provide an appropriate answer. However, conventional chatbots often do not provide a desired answer to a user's query.
이는 사용자가 발화를 할 때 사용자의 발화문 안에서 특정 단어들이 생략되는 생략 현상이 빈번히 발생하기 때문이다. 예를 들어, AI 야구 챗봇에서 사용자와 챗봇 간에 다음과 같은 대화가 이루어지는 경우를 살펴보기로 한다. This is because, when the user speaks, an omission phenomenon in which specific words are omitted from the user's utterance frequently occurs. For example, consider the following conversation between the user and the chatbot in an AI baseball chatbot.
사용자 : 어제 넥센 기아 경기 어디서 했어?User: Where did you play the Nexen Kia match yesterday?
챗봇 : 고척 스카이돔에서 했습니다.Chatbot: It was done at Gocheok Sky Dome.
사용자 : 승리 투수는 누구야?User: Who is the winning pitcher?
여기서, 사용자의 마지막 질문을 보면, 어느 경기인지에 대한 정보가 생략되어 있는데, 사용자는 사람과 사람 간의 대화에서와 같이 챗봇이 대화의 맥락을 이미 이해하고 있다고 생각하여 이러한 정보를 생략하여 발화하는 것이 빈번하게 발생하게 된다. 이 경우, 챗봇은 사용자의 질문에 대해 올바른 답변을 줄 수 없는 바, 사용자의 질문에서 생략된 표현을 복원할 수 있는 방안이 요구된다.Here, when looking at the user's last question, information about which game is being played is omitted. The user thinks that the chatbot already understands the context of the conversation, such as in a human-to-human conversation, so omitting this information and uttering it occurs frequently. In this case, since the chatbot cannot give a correct answer to the user's question, a method for restoring the omitted expression from the user's question is required.
개시되는 일 실시예는 멀티턴 대화 중 사용자의 질문에서 생략된 표현을 복원할 수 있는 생략 복원 학습 방법과 인식 방법 및 이를 수행하기 위한 컴퓨팅 장치를 제공하기 위한 것이다.An embodiment disclosed is to provide an omission restoration learning method and recognition method capable of restoring an expression omitted from a user's question during a multi-turn conversation, and a computing device for performing the same.
개시되는 일 실시예에 따른 생략 복원 학습 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 상기 각 이전 대화문에서 상기 사용자의 질문에 생략된 표현과 대응되는 복원 타입과 관련된 복원 타입 관련 정보를 출력하도록 학습하는 동작; 및 상기 각 이전 대화문들의 은닉 상태 벡터 및 상기 복원 타입 관련 정보를 입력 받고, 상기 각 이전 대화문에서 상기 복원 타입에 대응하는 복원 값의 경계를 검출하도록 학습하는 동작을 포함한다.Omission restoration learning method according to an embodiment disclosed is a method performed in a computing device having one or more processors, and a memory for storing one or more programs executed by the one or more processors, the input multi-turn Learning to receive a hidden state vector for each of the previous dialogs that exist before the user's question among dialogs, and to output restoration type-related information related to the restoration type corresponding to the expression omitted from the user's question in each of the previous dialogs action to do; and receiving a hidden state vector of each of the previous dialogues and information related to the restoration type, and learning to detect a boundary of a restoration value corresponding to the restoration type in each of the previous conversations.
상기 생략 복원 학습 방법은, 상기 입력되는 멀티턴 대화문에 기초하여 상기 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작을 더 포함할 수 있다.The omission restoration learning method may further include generating a hidden state vector for each of the previous dialog sentences based on the input multi-turn dialog sentence.
상기 은닉 상태 벡터를 생성하는 동작은, 상기 입력되는 멀티턴 대화문 각각에 대한 토큰 시퀀스(Token Sequence)를 생성하는 동작; 상기 멀티턴 대화문 각각에 대한 토큰 시퀀스를 입력 받고, 상기 토큰 시퀀스에 대해 임베딩 벡터를 생성하는 동작; 상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작; 및 상기 각 이전 대화문들의 문장 벡터를 입력 받고, 상기 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작을 포함할 수 있다.The generating of the hidden state vector may include: generating a token sequence for each of the input multi-turn dialogues; receiving a token sequence for each of the multi-turn dialogues, and generating an embedding vector for the token sequence; converting an embedding vector of each previous dialogue existing before the user's question into a sentence vector; and receiving a sentence vector of each of the previous dialogues, and generating a hidden state vector for each of the previous dialogues.
상기 문장 벡터로 변환하는 동작은, 상기 멀티턴 대화문에서 사용자의 질문에 대한 임베딩 벡터가 입력되는 경우, 상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터에 대해 주의 집중 가중치(Attention Weight)를 결정하는 동작; 및 상기 주의 집중 가중치를 기반으로 상기 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작을 포함할 수 있다.The converting into the sentence vector includes, when an embedding vector for a user's question is input in the multi-turn dialog, an attention weight for the embedding vector of each previous dialog that exists before the user's question. deciding action; and converting the embedding vector of each previous dialogue into a sentence vector based on the attention weight.
상기 은닉 상태 벡터를 생성하는 동작은, 상기 각 이전 대화문들의 문장 벡터를 상기 사용자의 질문에서 시간 상으로 가까운 순서대로 입력 받아 상기 은닉 상태 벡터를 생성할 수 있다.The operation of generating the hidden state vector may include receiving the sentence vectors of each of the previous dialogue sentences in a chronological order from the user's question to generate the hidden state vector.
상기 복원 타입은, 상기 멀티턴 대화문에 포함되는 개체(Entity)의 타입으로, 인물(Person), 위치(Location), 조직(Organization), 날짜(Date), 및 시간(Time) 중 하나 이상이 포함될 수 있다.The restoration type is a type of an entity included in the multi-turn dialogue, and includes at least one of Person, Location, Organization, Date, and Time. can
상기 복원 타입 관련 정보는, 상기 각 이전 대화문들의 상기 복원 타입 별 복원 타입 분류 값 및 상기 각 이전 대화문들에 상기 복원 타입이 포함되는지에 여부에 대한 복원 타입 포함 정보 중 하나 이상을 포함할 수 있다.The restoration type-related information may include at least one of a restoration type classification value for each restoration type of each of the previous dialogues and restoration type inclusion information on whether the restoration type is included in each of the previous conversations.
상기 복원 값의 경계를 검출하도록 학습하는 동작은, 상기 각 이전 대화문들 중 상기 복원 타입을 포함하는 이전 대화문에서 해당 복원 타입에 대응하는 복원 값의 시작 위치 및 끝 위치를 학습할 수 있다.The operation of learning to detect the boundary of the restoration value may include learning the start position and the end position of the restoration value corresponding to the restoration type from the previous dialog sentences including the restoration type among the previous dialog sentences.
개시되는 일 실시예에 따른 생략 복원 학습 장치는, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서, 입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 상기 각 이전 대화문에서 상기 사용자의 질문에 생략된 표현과 대응되는 복원 타입과 관련된 복원 타입 관련 정보를 출력하도록 학습되는 복원 타입 학습부; 및 상기 각 이전 대화문들의 은닉 상태 벡터 및 상기 복원 타입 관련 정보를 입력 받고, 상기 각 이전 대화문에서 상기 복원 타입에 대응하는 복원 값의 경계를 검출하도록 학습되는 복원값 학습부를 포함한다.Omission restoration learning apparatus according to an embodiment disclosed is a computing device having a memory for storing one or more programs executed by one or more processors and the one or more processors, Restoration type learning that is learned to receive a hidden state vector for each of the previous dialogues that exist before the question, and to output restoration type-related information related to the restoration type corresponding to the expression omitted from the user's question in each of the previous dialogues wealth; and a restoration value learning unit that receives the hidden state vector of each of the previous dialogues and the restoration type-related information, and is trained to detect a boundary of restoration values corresponding to the restoration type in each of the previous conversations.
개시되는 일 실시예에 따른 생략 복원 인식 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받는 동작; 및 상기 이전 대화문들의 은닉 상태 벡터에 기초하여 상기 사용자의 질문에서 생략된 표현이 복원할 필요가 있는지를 확인하는 동작을 포함한다.Omission restoration recognition method according to an embodiment disclosed is a method performed in a computing device having one or more processors, and a memory for storing one or more programs executed by the one or more processors, receiving a hidden state vector for each of the previous dialogues existing before the user's question among dialogues; and determining whether the expression omitted from the user's question needs to be restored based on the hidden state vectors of the previous dialogues.
상기 생략 복원 인식 방법은, 상기 입력되는 멀티턴 대화문에 기초하여 상기 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작을 더 포함할 수 있다.The omission restoration recognition method may further include generating a hidden state vector for each of the previous dialogue sentences based on the input multi-turn dialogue sentence.
상기 은닉 상태 벡터를 생성하는 동작은, 상기 입력되는 멀티턴 대화문 각각에 대한 토큰 시퀀스(Token Sequence)를 생성하는 동작; 상기 멀티턴 대화문 각각에 대한 토큰 시퀀스를 입력 받고, 상기 토큰 시퀀스에 대해 임베딩 벡터를 생성하는 동작; 상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작; 및 상기 각 이전 대화문들의 문장 벡터를 입력 받고, 상기 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작을 포함할 수 있다.The generating of the hidden state vector may include: generating a token sequence for each of the input multi-turn dialogues; receiving a token sequence for each of the multi-turn dialogues, and generating an embedding vector for the token sequence; converting an embedding vector of each previous dialogue existing before the user's question into a sentence vector; and receiving a sentence vector of each of the previous dialogues, and generating a hidden state vector for each of the previous dialogues.
상기 문장 벡터로 변환하는 동작은, 상기 멀티턴 대화문에서 사용자의 질문에 대한 임베딩 벡터가 입력되는 경우, 상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터에 대해 주의 집중 가중치(Attention Weight)를 결정하는 동작; 및 상기 주의 집중 가중치를 기반으로 상기 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작을 포함할 수 있다.The converting into the sentence vector includes, when an embedding vector for a user's question is input in the multi-turn dialog, an attention weight for the embedding vector of each previous dialog that exists before the user's question. deciding action; and converting the embedding vector of each previous dialogue into a sentence vector based on the attention weight.
상기 은닉 상태 벡터를 생성하는 동작은, 상기 각 이전 대화문들의 문장 벡터를 상기 사용자의 질문에서 시간 상으로 가까운 순서대로 입력 받아 상기 은닉 상태 벡터를 생성할 수 있다.The operation of generating the hidden state vector may include receiving the sentence vectors of each of the previous dialogue sentences in a chronological order from the user's question to generate the hidden state vector.
상기 복원 타입은, 상기 멀티턴 대화문에 포함되는 개체(Entity)의 타입으로, 인물(Person), 위치(Location), 조직(Organization), 날짜(Date), 및 시간(Time) 중 하나 이상이 포함될 수 있다.The restoration type is a type of an entity included in the multi-turn dialogue, and includes at least one of Person, Location, Organization, Date, and Time. can
상기 생략된 표현이 복원할 필요가 있는지를 확인하는 동작은, 상기 각 이전 대화문들의 은닉 상태 벡터에 기초하여 상기 각 이전 대화문을 대상으로 각 복원 타입에 대한 복원타입 분류 값을 출력하는 동작; 상기 각 이전 대화문들의 각 복원 타입에 대한 복원타입 분류 값과 기 설정된 임계값을 비교하여 비교 값을 출력하는 동작; 및 상기 비교 값에 따라 각 복원 타입 별로 복원여부 값을 출력하는 동작을 포함할 수 있다.The operation of determining whether the omitted expression needs to be restored may include: outputting a restoration type classification value for each restoration type with respect to each previous dialog sentence based on a hidden state vector of each of the previous dialog sentences; outputting a comparison value by comparing a restoration type classification value for each restoration type of each of the previous dialogues with a preset threshold value; and outputting a restoration or not value for each restoration type according to the comparison value.
상기 비교 값을 출력하는 동작은, 상기 복원타입 분류 값이 기 설정된 임계값 이상인 경우 상기 비교 값으로 하이(High)를 출력하고, 상기 복원타입 분류 값이 기 설정된 임계 값 미만인 경우 상기 비교 값으로 로우(Low)를 출력할 수 있다.The outputting of the comparison value includes outputting High as the comparison value when the restoration type classification value is equal to or greater than a preset threshold value, and displaying a low value as the comparison value when the restoration type classification value is less than a preset threshold value. (Low) can be output.
상기 복원여부 값을 출력하는 동작은, 상기 각 복원타입 별로 상기 비교값이 하이(High)인 경우가 1개 이상이면 상기 복원여부 값으로 하이(High)를 출력하고, 상기 각 복원타입 별로 상기 비교값이 하이(High)인 경우가 하나도 없으면 상기 복원여부 값으로 로우(Low)를 출력할 수 있다.The operation of outputting the restoration status value includes outputting High as the restoration status value if there is at least one case in which the comparison value is High for each restoration type, and the comparison for each restoration type If there is no case where the value is High, Low may be output as the restoration or not value.
상기 생략된 표현이 복원할 필요가 있는지를 확인하는 동작은, 상기 각 복원타입의 상기 복원여부 값이 모두 로우(Low)인 경우, 상기 사용자 질문에서 생략된 표현이 복원할 필요가 없는 것으로 결정할 수 있다.The operation of determining whether the omitted expression needs to be restored may include determining that the omitted expression in the user question does not need to be restored when all of the restoration values of the respective restoration types are low. there is.
상기 생략 복원 인식 방법은, 상기 사용자의 질문에서 생략된 표현의 복원 타입을 인식하는 동작; 및 상기 각 이전 대화문들의 은닉 상태 벡터 및 상기 복원여부 값에 기초하여 상기 이전 대화문에서 상기 생략된 표현의 복원 타입에 대응하는 복원 값을 인식하는 동작을 더 포함할 수 있다.The omission restoration recognition method may include: recognizing a restoration type of an expression omitted from the user's question; and recognizing a restoration value corresponding to the restoration type of the omitted expression in the previous dialog sentence based on the hidden state vector of each of the previous dialog sentences and the restoration status value.
상기 생략된 표현의 복원 타입을 인식하는 동작은, 상기 복원타입 중 상기 복원여부 값이 하이(High)인 복원타입에 대해 상기 복원타입 분류값이 가장 높은 이전 발화문을 상기 복원값을 추출할 이전 발화문으로 결정할 수 있다.The operation of recognizing the restoration type of the omitted expression includes extracting the restoration value from a previous utterance having the highest restoration type classification value with respect to a restoration type in which the restoration status value is High among the restoration types. It can be determined by utterance.
상기 복원 값을 인식하는 동작은, 상기 결정된 이전 발화문의 은닉 상태 벡터 및 상기 결정된 이전 발화문의 복원 타입 포함 정보를 입력 받아 상기 결정된 이전 발화문에서 해당 복원타입에 대한 복원값을 출력할 수 있다.The operation of recognizing the restoration value may include receiving the determined hidden state vector of the previous utterance and the determined information including the restoration type of the previous utterance, and outputting a restoration value for a corresponding restoration type in the determined previous utterance.
개시되는 일 실시예에 따른 생략 복원 인식 장치는, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서, 입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 상기 이전 대화문들의 은닉 상태 벡터에 기초하여 상기 사용자의 질문에서 생략된 표현이 복원할 필요가 있는지를 확인하는 복원타입 인식부를 포함한다.Omission restoration recognition apparatus according to an embodiment of the present disclosure is a computing device having one or more processors and a memory for storing one or more programs executed by the one or more processors, A restoration type recognition unit that receives a hidden state vector for each of the previous dialogs existing before the question and checks whether the expression omitted from the user's question needs to be restored based on the hidden state vector of the previous dialogs do.
개시되는 실시예에 의하면, 사용자와 챗봇 간의 멀티턴 대화에서 사용자의 질의에 생략된 표현이 존재한다고 하여도, 사용자의 질의에서 생략된 표현을 복원할 수 있는 바, 사용자의 질의에 대해 보다 정확한 답변을 제공해줄 수 있게 된다.According to the disclosed embodiment, even if there is an omitted expression in the user's query in the multi-turn conversation between the user and the chatbot, the omitted expression in the user's query can be restored, so a more accurate answer to the user's query be able to provide
도 1은 개시되는 일 실시예에 따른 생략 복원 학습 장치의 구성을 나타낸 도면
도 2는 개시되는 일 실시예에 따른 생략 복원 학습 장치에서 복원 타입 분류 값에 따라 학습된 상태를 나타낸 도면
도 3은 개시되는 일 실시예에 따른 생략 복원 학습 장치에서 복원 값을 학습하는 상태를 나타낸 도면
도 4는 개시되는 일 실시예에 따른 생략 복원 인식 장치의 구성을 나타낸 도면
도 5는 개시되는 일 실시예에 따른 복원타입 인식부의 구성을 나타낸 블록도
도 6은 개시되는 일 실시예에 따른 복원타입 인식 과정을 개략적으로 나타낸 도면
도 7은 개시되는 일 실시예에 따른 생략 복원 인식 장치에서 복원 값을 인식하는 상태를 나타낸 도면
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도1 is a diagram showing the configuration of an omission restoration learning apparatus according to an embodiment of the present disclosure;
2 is a diagram illustrating a state learned according to a restoration type classification value in an omission restoration learning apparatus according to an embodiment of the present disclosure;
3 is a diagram illustrating a state in which a restoration value is learned in an omission restoration learning apparatus according to an embodiment of the present disclosure;
4 is a diagram showing the configuration of an omission restoration recognition apparatus according to an embodiment of the present disclosure;
5 is a block diagram illustrating a configuration of a restoration type recognition unit according to an embodiment of the present disclosure;
6 is a diagram schematically illustrating a restoration type recognition process according to an embodiment of the present disclosure;
7 is a diagram illustrating a state in which a restoration value is recognized in an apparatus for recognizing omitted restoration according to an embodiment of the present disclosure;
8 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments;
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, devices, and/or systems described herein. However, this is merely an example, and the present invention is not limited thereto.
상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 명세서에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.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. As used herein, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, operations, elements, some or 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.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다. In the following description, the terms "transmission", "communication", "transmission", "reception" and other similar meanings of a signal or information are not only directly transmitted from one component to another component, but also a signal or information This includes passing through other components. In particular, to “transmit” or “transmit” a signal or information to a component indicates the final destination of the signal or information and does not imply a direct destination. The same is true for "reception" of signals or information. In addition, in this specification, when two or more data or information are "related", it means that when one data (or information) is acquired, at least a part of other data (or information) can be acquired based thereon.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Also, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The above terms may be used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.
개시되는 실시예는 사용자와 챗봇 간의 멀티턴 대화에서 사용자의 질의에 생략된 표현을 복원하기 위한 것이다. 개시되는 실시예에서는, 사용자의 질의에서 복원해야 할 단어 또는 표현을 기 설정된 타입의 개체(Entity)로 설정할 수 있다. 이는 사용자의 생략된 표현이 포함된 질문에 대해 올바른 답을 하기 위해, 부수적인 정보보다는 중요한 정보(즉, 핵심 정보)에 집중하여 생략 복원을 수행하기 위함이다. The disclosed embodiment is for restoring an omitted expression in a user's query in a multi-turn conversation between a user and a chatbot. In the disclosed embodiment, a word or expression to be restored in a user's query may be set as an entity of a preset type. This is to perform omission restoration by focusing on important information (ie, core information) rather than additional information in order to give a correct answer to the user's question including the omitted expression.
여기서, 개체의 타입으로는 인물(Person), 위치(Location), 조직(Organization), 날짜(Date), 및 시간(Time)이 포함될 수 있다. 개시되는 실시예에서 생략 복원 기술은 복원 타입 인식 및 복원값 인식으로 구분될 수 있다. 복원값은 사용자의 질의에서 생략된 표현(즉, 복원할 표현)으로서 해당 개체의 내용을 의미할 수 있다. 복원 타입은 복원값의 타입으로서, 복원할 개체의 타입을 의미할 수 있다. 예를 들어, 복원값이 "김동수"라고 하면, 복원 타임은 "인물(Person)"이 되게 된다.Here, the object type may include Person, Location, Organization, Date, and Time. In the disclosed embodiment, the omitted restoration technique may be divided into restoration type recognition and restoration value recognition. The restored value is an expression omitted from the user's query (ie, an expression to be restored) and may mean the contents of the object. The restoration type is a type of restoration value and may mean the type of an object to be restored. For example, if the restoration value is “Dong-Soo Kim”, the restoration time is “Person”.
이와 같이, 복원 타입 인식을 거쳐서 복원 값을 인식하게 되면 보다 정확하고 효율적으로 생략 복원을 수행할 수 있게 된다. 예를 들어, AI 야구 챗봇에서 사용자와 챗봇 간에 다음과 같은 대화가 이루어지는 경우를 살펴보기로 한다. In this way, when the restoration value is recognized through the restoration type recognition, skip restoration can be performed more accurately and efficiently. For example, consider the following conversation between the user and the chatbot in an AI baseball chatbot.
사용자 : 1990년 엘지 주요 선수 알려줘.User: Tell me about LG's major players in 1990.
챗봇 : 포수 김동수, 유격수 김재박 등이 주로 활약했어요!Chatbot: Catcher Dong-soo Kim and shortstop Jae-Pak Kim were mainly active!
사용자 : 이때 김동수 나이가 어땠어?User: What was the age of Dongsoo Kim at that time?
챗봇 : 만 22세 였어요!Chatbot: I was 22 years old!
사용자 : 성적은?User: Your grades?
여기서, 사용자의 질문 "성적은?"에 대해 복원 값인 "1990년", "LG", "김동수"를 인식하는 것보다 복원 타입(Date)와 복원 값"1990년"을 인식하고, 복원 타입(Organization)과 복원 값 "LG"를 인식하며, 복원 타입(Person)과 복원 값 "김동수"를 인식하는 것이 보다 정확한 생략 복원을 수행할 수 있게 된다. Here, the restoration type (Date) and restoration value “1990” are recognized rather than the restoration values “1990”, “LG”, and “Kim Dong-soo” for the user’s question “How are your grades?” Organization) and the restoration value “LG”, and recognizing the restoration type (Person) and restoration value “Kim Dong-soo” can perform more accurate omission restoration.
그리고, 복원 값과 복원 타입이 한 쌍으로 인식되기 때문에, 여러 응용 분야에서 데이터를 용이하게 처리할 수 있게 된다. 또한, 복원 타입을 인식하고 복원 값을 인식하는 방식은 상호 참조(Reference Resolution) 문제에 있어서도 동일하게 적용할 수 있게 된다. 이에 대해 아래의 대화문을 예시로 살펴보기로 한다. And, since the restored value and the restored type are recognized as a pair, data can be easily processed in various application fields. In addition, the method of recognizing the restoration type and recognizing the restoration value can be equally applied to the problem of reference resolution. Let's take a look at the dialogue below as an example.
사용자 : 4월 25일 롯데 선발은 누구야?User: Who is the Lotte starter on April 25th?
챗봇 : 송승준입니다. Chatbot: This is Seungjun Song.
사용자 : 그 날 송승준이 이겼어?User: Did Song Seung-jun win that day?
여기서, 사용자의 마지막 질문 중 "그 날"은 "4월 25일"과 같은 날짜를 가리키는 표현이어서 상호 참조 관계에 있게 된다. 그러나, 챗봇은 사용자의 질문만으로는 "그 날"이 언제인지를 알 수 없는데, 생략 복원 처리 과정에서 사용자의 질문으로부터 복원 타입인 Date를 인식한 후, "질문 문장 + 복원 타입"으로부터 복원 값인 "4월 25"을 인식하여 처리할 수 있게 된다. Here, "the day" in the user's last question is an expression indicating a date such as "April 25", and thus has a cross-reference relationship. However, the chatbot cannot know when "that day" is only from the user's question. After recognizing the restoration type Date from the user's question in the omission restoration process, the restored value "4" from "question sentence + restoration type" 25" per month can be recognized and processed.
개시되는 실시예에서, 생략 복원 기술은 딥 러닝(Deep Learning) 기술에 의해 구현될 수 있다. 이때, 생략 복원 기술은 크게 학습 과정과 인식 과정으로 구분될 수 있다. In the disclosed embodiment, the omission restoration technique may be implemented by a deep learning technique. In this case, the omission restoration technique can be largely divided into a learning process and a recognition process.
학습 과정은 1) 멀티턴 대화 문장들을 벡터 공간 상의 벡터로 변환하고, 2) 멀티턴 대화 중 사용자 질문에서 생략된 복원 타입을 각 이전 발화문 단위로 학습하며, 3) 멀티턴 대화 중 사용자 질문에서 생략된 복원 값의 경계(복원 값의 시작 위치 및 복원 값의 끝 위치)를 이전 발화문에서 학습하는 과정으로 이루어질 수 있다. The learning process 1) converts multi-turn dialogue sentences into vectors in vector space, 2) learns the restoration type omitted from the user question during multi-turn dialogue for each previous utterance, 3) from the user question during multi-turn dialogue It may consist of a process of learning the boundary of the omitted restoration value (the start position of the restoration value and the end position of the restoration value) from the previous utterance.
인식 과정은 1) 멀티턴 대화 문장들을 벡터 공간 상의 벡터로 변환하고, 2) 멀티턴 대화 중 사용자 질문에서 생략된 복원 타입을 인식하며, 3) 인식된 복원 타입 별로 복원 값을 추출할 이전 발화문의 위치를 인식하고, 4) 멀티턴 대화 중 사용자 질문에서 생략된 복원 값의 경계를 이전 발화문에서 인식하는 과정으로 이루어질 수 있다. The recognition process 1) converts multi-turn dialogue sentences into vectors on a vector space, 2) recognizes a restoration type omitted from a user question during multi-turn conversation, and 3) a previous utterance from which restoration values are extracted for each recognized restoration type. Recognizing the location and 4) recognizing the boundary of the restored value omitted from the user's question during the multi-turn conversation in the previous utterance.
도 1은 개시되는 일 실시예에 따른 생략 복원 학습 장치의 구성을 나타낸 도면이다. 1 is a diagram illustrating a configuration of an omission restoration learning apparatus according to an embodiment of the present disclosure.
도 1을 참조하면, 생략 복원 학습 장치(100)는 토큰화부(102), 임베딩 벡터 생성부(104), 어텐션부(106), 은닉상태 벡터 생성부(108), 및 복원타입 분류부(110)를 포함할 수 있다.Referring to FIG. 1 , the omission
이하에서, 아래와 같이 복원 타입 및 복원 값에 대한 정답이 태깅된 멀티턴 대화문을 학습 데이터로 하는 경우를 일 예로 설명하기로 한다. Hereinafter, a case in which a multi-turn dialogue sentence in which correct answers to the restoration type and restoration value are tagged as follows is used as learning data will be described as an example.
사용자(U4) : (Date =1990년) (Team =엘지) 주요 선수 알려줘.User (U4): (Date =1990) (Team =LG) Tell me about the main players.
챗봇(U3) : 포수 김동수, 유격수 김재박 등이 주로 활약했어요!Chatbot (U3): Catcher Dong-soo Kim and shortstop Jae-Pak Kim were mainly active!
사용자(U2) : 이때 (Person =김동수) 나이가 어땠어?User (U2): What was your age at this time (Person = Dongsoo Kim)?
챗봇(U1) : 만 22세 였어요!Chatbot (U1): I was 22 years old!
사용자(Q) : 성적은?User (Q): What is your grade?
토큰화부(102)는 사용자와 챗봇 간의 멀티턴 대화문을 각각 입력 받을 수 있다. 토큰화부(102)는 각 멀티턴 대화문(U4, U3, U2, U1, Q)에 대한 토큰 시퀀스(Token Sequence)를 생성할 수 있다. The
구체적으로, 토큰화부(102)는 입력되는 각 멀티턴 대화문(U4, U3, U2, U1, Q)을 기 설정된 분할 단위의 토큰으로 분할하고, 분할된 복수의 토큰을 포함하는 토큰 시퀀스를 생성할 수 있다. 여기서, 제1 이전 대화문(U1)은 멀티턴 대화문 중 사용자의 질문(Q)에서 가장 가까운 거리에 위치하는 대화문이고, 제4 이전 대화문(U4)은 멀티턴 대화문 중 사용자의 질문(Q)에서 가장 먼 거리에 위치하는 대화문이 된다.Specifically, the
예시적인 실시예에서, 분할 단위는 형태소(Morpheme) 단위일 수 있다. 즉, 토큰 시퀀스에 포함된 각 토큰은 멀티턴 대화문에 포함된 각 형태소일 수 있다. 토큰화부(102)는 입력되는 각 멀티턴 대화문에 대해 형태소 분석(Morphological Analysis)을 수행하여 각 멀티턴 대화문을 형태소 단위로 분할 할 수 있다. 그러나, 이에 한정되는 것은 아니며 분할 단위는 음절 등이 될 수도 있다. In an exemplary embodiment, the division unit may be a morpheme unit. That is, each token included in the token sequence may be each morpheme included in the multi-turn dialogue. The
임베딩 벡터 생성부(104)는 토큰화부(102)에서 출력되는 각 멀티턴 대화문에 대한 토큰 시퀀스를 입력 받을 수 있다. 임베딩 벡터 생성부(104)는 각 멀티턴 대화문에 대한 토큰 시퀀스를 기 설정된 차원의 벡터 표현으로 변환할 수 있다. 임베딩 벡터 생성부(104)는 멀티턴 대화문에서 입력되는 문장의 좌우 문맥을 고려하여 해당 토큰 시퀀스에 대해 임베딩 벡터를 생성할 수 있다. The embedding
예시적인 실시예에서, 임베딩 벡터 생성부(104)는 BERT(Bidirectional Encoder Representations from Transformers)일 수 있으나, 이에 한정되는 것은 아니며 LSTM(Long Short Term Memory) 등 그 이외의 다양한 딥러닝 모델을 이용할 수 있다. In an exemplary embodiment, the embedding
어텐션부(106)는 멀티턴 대화문 중 사용자의 질문(Q) 이전의 각 이전 대화문(U4, U3, U2, U1)에 대해 주의 집중 가중치(Attention Weight)를 결정할 수 있다. 즉, 어텐션부(106)는 사용자의 질문(Q)에 대한 임베딩 벡터(즉, 제5 임베딩 벡터)가 입력되는 경우, 각 이전 대화문(U4, U3, U2, U1)의 임베딩 벡터에서 어떤 부분(즉, 어떤 토큰)에 집중하여야 하는 지를 주의 집중 가중치를 통해 나타낼 수 있다. 이러한 주의 집중 메커니증(Attention Mechanism)은 기 공지된 기술이므로, 이에 대한 자세한 설명은 생략하기로 한다.The
어텐션부(106)는 각 이전 대화문(U4, U3, U2, U1)의 임베딩 벡터에서 각 토큰 시퀀스의 주의 집중 가중치를 합산하여 해당 이전 대화문을 특정 길이의 문장 벡터로 변환할 수 있다. The
은닉상태 벡터 생성부(108)는 어텐션부(106)에서 출력되는 각 이전 대화문들의 문장 벡터를 입력 받을 수 있다. 은닉상태 벡터 생성부(108)는 이전 대화문들을 사용자의 질문(Q)에서 시간 상으로 가까운 이전 대화문부터 순차적으로 입력 받을 수 있다. 즉, 은닉상태 벡터 생성부(108)는 제1 이전 대화문(U1), 제2 이전 대화문(U2), 제3 이전 대화문(U3), 및 제4 이전 대화문(U4)의 순서(즉, 역방향 순서)로 입력 받을 수 있다. The hidden
은닉상태 벡터 생성부(108)는 어텐션부(106)에서 출력되는 각 이전 대화문들의 문장 벡터를 역방향 순으로 입력 받고, 각 이전 대화문들에 대한 은닉 상태 벡터(Hidden State Vector)를 생성할 수 있다. 예시적인 실시예에서, 은닉상태 벡터 생성부(108)는 Unidirectional LSTM이 사용될 수 있으나, 이에 한정되는 것은 아니다.The hidden
여기서, 은닉상태 벡터 생성부(108)는 각 이전 대화문들의 문장 벡터를 역방향 순으로 입력 받기 때문에, 제1 이전 대화문(U1)에 대한 은닉 상태 벡터는 제2 이전 대화문(U2) 내지 제4 이전 대화문(U4)의 특징이 반영되지 않게 된다. 즉, 사용자 질문(Q)에서 시간 상으로 먼 거리에 있는 이전 대화문보다는 가까운 거리에 있는 이전 대화문에 생략된 표현이 있을 확률이 높으므로, 제1 이전 대화문(U1)에 대한 은닉 상태 벡터에서 제2 이전 대화문(U2) 내지 제4 이전 대화문(U4)의 특징이 반영되지 않도록 할 수 있다.Here, since the hidden
그리고, 제2 이전 대화문(U2)에 대한 은닉 상태 벡터는 제1 이전 대화문(U1)의 특징은 반영되나, 제3 이전 대화문(U3) 내지 제4 이전 대화문(U4)의 특징은 반영되지 않게 된다. 또한, 제3 이전 대화문(U3)에 대한 은닉 상태 벡터는 제1 이전 대화문(U1) 및 제2 이전 대화문(U2)의 특징은 반영되나, 제4 이전 대화문(U4)의 특징은 반영되지 않게 된다. 또한, 제4 이전 대화문(U4)에 대한 은닉 상태 벡터는 제1 이전 대화문(U1) 내지 제3 이전 대화문(U3)에 대한 특징을 모두 반영하게 된다.In addition, in the hidden state vector for the second previous dialogue sentence U2, the characteristics of the first previous dialogue sentence U1 are reflected, but the characteristics of the third previous dialogue sentences U3 to the fourth previous dialogue sentences U4 are not reflected. . Also, in the hidden state vector for the third previous dialogue sentence U3, the characteristics of the first previous dialogue sentence U1 and the second previous dialogue sentence U2 are reflected, but the characteristics of the fourth previous dialogue sentence U4 are not reflected. . In addition, the hidden state vector for the fourth previous dialog text U4 reflects all the features of the first previous dialog text U1 to the third previous dialog text U3.
복원 타입 학습부(110)는 은닉상태 벡터 생성부(108)로부터 각 이전 대화문들의 은닉 상태 벡터를 입력 받을 수 있다. 복원 타입 학습부(110)는 각 이전 대화문들의 은닉 상태 벡터로부터 각 이전 대화문에 포함된 복원 타입(즉, 개체 타입)을 분류하도록 학습될 수 있다. 예시적인 실시예에서, 복원 타입 학습부(110)는 멀티 레이블 분류기(Multi Label CLASSIFIER)를 포함할 수 있다. The reconstruction
멀티 레이블 분류기는 입력 데이터에 대해 여러 개의 레이블을 할당하는 태스크를 수행하는 것일 수 있다. 예를 들어, 멀티 레이블 분류기는 시그모이드(Sigmoid) 함수를 사용하여 0.0 ~ 1.0 사이의 값을 분류 값으로 출력할 수 있다. The multi-label classifier may perform the task of assigning multiple labels to the input data. For example, a multi-label classifier may output a value between 0.0 and 1.0 as a classification value using a sigmoid function.
도 2는 개시되는 일 실시예에 따른 생략 복원 학습 장치에서 복원 타입 분류 값에 따라 학습된 상태를 나타낸 도면이다. FIG. 2 is a diagram illustrating a learning state according to a restoration type classification value in the omission restoration learning apparatus according to the disclosed embodiment.
도 2를 참조하면, 복원 타입 학습부(110)는 은닉상태 벡터 생성부(108)로부터 각 이전 대화문(U1 ~ U4)들의 은닉 상태 벡터를 입력 받을 수 있다. 복원 타입 학습부(110)는 각 이전 대화문들의 은닉 상태 벡터로부터 해당 이전 대화문의 복원 타입 분류 값을 학습할 수 있다. 즉, 복원 타입 학습부(110)는 이전 대화문들의 복원 타입 분류 값이 라벨링 된 정답 값(즉, 학습할 복원 타입 정보)과 일치하도록 파라미터들을 조절하면서 학습할 수 있다. Referring to FIG. 2 , the reconstruction
여기서, 행렬의 각 컬럼(Column)은 각 이전 대화문(U1 ~ U4)을 나타내고, 각 행(Row)은 학습할 5개의 복원 타입(Person, Location, Team, Date, Time)을 나타낸다. 그리고, 행렬의 각 셀(Cell)은 복원 타입 분류 값에 대한 학습된 파라미터를 음영의 농도로 표현하였다. 즉, 음영이 짙은 셀은 복원 타입 분류 값에 대한 파라미터가 1.0에 가깝게 학습된 것이고, 음영이 옅은 셀은 복원 타입 분류 값에 대한 파라미터가 0.0에 가깝게 학습된 것을 나타낸다.Here, each column of the matrix represents each previous dialogue sentence U1 to U4, and each row represents five restoration types (Person, Location, Team, Date, Time) to be learned. And, in each cell of the matrix, the learned parameter for the reconstruction type classification value is expressed as the density of the shade. That is, a dark cell indicates that the parameter for the restoration type classification value is learned close to 1.0, and the cell with a light shade indicates that the parameter for the restoration type classification value is learned close to 0.0.
제4 이전 대화문(U4) "(Date =1990년) (Team =엘지) 주요 선수 알려줘"의 경우, 복원 타입 Date 및 Team에 대해 복원값 정답을 포함하고 있으므로, 해당 복원 타입(Date, Team)에 대해 분류 값이 높은 값(즉, 짙은 음영)으로 학습되었다. In the case of the 4th previous dialogue (U4) "(Date = 1990) (Team = LG) tell me the main players", the restoration type contains the correct answer for the restoration type Date and Team, so the restoration type (Date, Team) Classification values were trained with high values (that is, dark shadows).
제2 이전 대화문(U2) "이때 (Person =김동수) 나이가 어땠어?"의 경우, 복원 타입 Person에 대해 복원 값 정답을 포함하고 있으므로, 해당 복원 타입(Person)에 대해 분류 값이 높은 값(즉, 짙은 음영)으로 학습되었다. In the case of the second previous dialogue sentence (U2) “What was your age (Person = Dongsoo Kim) at this time?”, since it contains the correct answer for the restoration value for the restoration type Person, the classification value for the restoration type (Person) is high (that is, , dark shading).
또한, 제3 이전 대화문(U3) "포수 김동수, 유격수 김재박 등이 주로 활약했어요!"의 경우, 복원 타입 Person에 대해 복원 값 정답(김동수)를 포함하고 있으나, 복원 값이 아닌 오답(김재박)도 포함하고 있으므로 제2 이전 대화문(U2) 보다는 분류 값이 낮은 값(즉, 보통 음영)으로 학습되었다. In addition, in the case of the 3rd previous dialogue (U3) "Catcher Dong-soo Kim, shortstop Kim Jae-bak, etc. were mainly active!", the restoration value correct answer (Kim Dong-soo) is included for the restoration type Person, but the incorrect answer (Kim Jae-bak) is not the restoration value. Therefore, it was learned with a lower classification value (ie, normal shade) than the second previous dialogue (U2).
여기서, 복원 타입 학습부(110)는 각 이전 대화문의 복원 타입 분류값을 통해 각 이전 대화문이 포함하고 있는 복원 타입 정보가 확인되도록 학습될 수 있다. 즉, 복원 타입 학습부(110)는 복원 타입 분류 값(즉, 0.0 ~ 1.0 사이의 값)과 기 설정된 임계 값(예를 들어, 0.5)을 비교하여 각 이전 대화문의 해당 복원 타입의 포함 여부를 확인하도록 학습될 수 있다. Here, the restoration
복원 타입 학습부(110)는 복원 타입 분류 값이 기 설정된 임계 값 이상인 경우, 이전 대화문이 해당 복원 타입을 포함하는 것으로 결정하도록 학습될 수 있다. 복원 타입 학습부(110)는 복원 타입 분류 값이 기 설정된 임계 값 미만인 경우, 이전 대화문이 해당 복원 타입을 포함하고 있지 않은 것으로 결정하도록 학습될 수 있다. The restoration
이에 의하면 도 2에서, 복원 타입 학습부(110)는 제4 이전 대화문(U4)이 복원 타입 "Team"과 "Date"를 포함하는 것으로 결정하도록 학습될 수 있다. 제3 이전 대화문(U3)은 복원 타입 Person에 대해 일정 수준의 복원 타입 분류 값을 나타내고 있으나 기 설정된 임계 값 미만이어서 복원 타입을 아무것도 포함하고 있지 않은 것으로 결정하도록 학습될 수 있다. 제2 이전 대화문(U2)은 복원 타입 "Person"을 포함하는 것으로 결정하도록 학습될 수 있다. 제1 이전 대화문(U1)은 복원 타입을 아무것도 포함하고 있지 않은 것으로 결정하도록 학습될 수 있다. 복원 타입 학습부(110)는 각 이전 대화문에 대해 복원 타입 포함 여부에 따라 복원 타입 정보를 출력하도록 학습될 수 있다.According to this, in FIG. 2 , the restoration
도 3은 개시되는 일 실시예에 따른 생략 복원 학습 장치에서 복원 값을 학습하는 상태를 나타낸 도면이다. 도 3을 참조하면, 생략 복원 학습 장치(100)는 복원값 학습부(112)를 더 포함할 수 있다. 복원값 학습부(112)는 각 이전 대화문(U1 ~U4)들의 은닉 상태 벡터 및 각 이전 대화문(U1 ~U4)들의 복원 타입 포함 정보를 각각 입력 받을 수 있다. 3 is a diagram illustrating a state in which a restoration value is learned in the omission restoration learning apparatus according to an embodiment of the present disclosure; Referring to FIG. 3 , the omission
복원값 학습부(112)는 은닉상태 벡터 생성부(108)로부터 각 이전 대화문(U1 ~U4)들의 은닉 상태 벡터를 입력 받을 수 있다. 또한, 복원값 학습부(112)는 복원 타입 학습부(110)로부터 각 이전 대화문(U1 ~U4)들의 복원 타입 포함 정보를 입력 받을 수 있다. 여기서, 복원값 학습부(112)는 각 이전 대화문(U1 ~U4)들의 은닉 상태 벡터에 복원 타입 포함 정보를 연결(Concatenate)하여 입력 할 수 있다. 제4 이전 대화문(U4)의 경우 "Date"와 "Team"이라는 두 개의 복원 타입을 포함하고 있으므로, 각 복원 타입에 대한 복원 타입 포함 정보가 개별적으로 입력되어 학습될 수 있다.The restoration
복원값 학습부(112)는 복원 타입을 포함하는 이전 대화문에서 복원 타입에 대응하는 복원 값의 경계(즉, 해당 이전 대화문에서 복원 값의 시작 위치 및 복원 값의 끝 위치)를 학습하도록 구현될 수 있다. 예시적인 실시예에서, 복원값 학습부(112)는 Pointer Network으로 이루어질 수 있으나, 이에 한정되는 것은 아니다. The restoration
도 4는 개시되는 일 실시예에 따른 생략 복원 인식 장치의 구성을 나타낸 도면이다. 도 4를 참조하면, 생략 복원 인식 장치(200)는 토큰화부(202), 임베딩 벡터 생성부(204), 어텐션부(206), 은닉상태 벡터 생성부(208), 및 복원타입 인식부(210)를 포함할 수 있다. 4 is a diagram illustrating a configuration of an omission restoration recognition apparatus according to an embodiment of the present disclosure. Referring to FIG. 4 , the omission
여기서, 토큰화부(202), 임베딩 벡터 생성부(204), 어텐션부(206), 및 은닉상태 벡터 생성부(208)는 도 1에 도시된 토큰화부(102), 임베딩 벡터 생성부(104), 어텐션부(106), 및 은닉상태 벡터 생성부(108)와 동일하므로 이에 대한 자세한 설명은 생략하기로 한다.Here, the
복원타입 인식부(210)는 멀티턴 대화문의 사용자 질문(Q)에서 생략된 표현이 복원할 필요가 있는지 여부를 확인할 수 있다. 복원타입 인식부(210)는 사용자 질문(Q)에서 생략된 표현의 복원 타입을 인식할 수 있다. 복원타입 인식부(210)는 사용자 질문(Q)의 이전 발화문에서 복원값을 추출할 이전 발화문을 추출할 수 있다. The restoration
도 5는 개시되는 일 실시예에 따른 복원타입 인식부(210)의 구성을 나타낸 블록도이고, 도 6은 개시되는 일 실시예에 따른 복원타입 인식 과정을 개략적으로 나타낸 도면이다. 도 6에서, 행렬의 각 컬럼(Column)은 각 이전 대화문(U1 ~ U4)을 나타내고, 각 행(Row)은 5개의 복원 타입(Person, Location, Team, Date, Time)을 나타낸다.5 is a block diagram showing the configuration of the restoration
도 5 및 도 6을 참조하면, 복원타입 인식부(210)는 분류기(221), 임계값 비교부(223), 복원여부 확인부(225), 및 발화문 결정부(227)를 포함할 수 있다. 5 and 6 , the restoration
분류기(221)는 은닉상태 벡터 생성부(208)로부터 각 이전 대화문들의 은닉 상태 벡터를 입력 받을 수 있다. 분류기(221)는 각 이전 대화문들의 은닉 상태 벡터로부터 각 이전 대화문에 포함된 복원 타입을 분류할 수 있다. 예시적인 실시예에서, 분류기(221)는 시그모이드(Sigmoid) 함수를 사용하여 0.0 ~ 1.0 사이의 값을 복원타입 분류 값으로 출력할 수 있다. 분류기(221)는 각 이전 대화문을 대상으로 각 복원타입(예를 들어, Person, Location, Team, Date, Time)에 대한 복원타입 분류 값을 출력할 수 있다. The
임계값 비교부(223)는 각 이전 대화문들의 각 복원 타입에 대한 복원타입 분류값과 기 설정된 임계값을 비교하여 비교 값을 출력할 수 있다. 예를 들어, 임계값 비교부(223)는 각 이전 대화문들의 각 복원 타입에 대한 복원타입 분류값이 기 설정된 임계값 이상인 경우, 비교 값으로 1(즉, High)을 출력할 수 있다. 또한, 임계값 비교부(223)는 각 이전 대화문들의 각 복원 타입에 대한 복원타입 분류값이 기 설정된 임계값 미만인 경우, 비교 값으로 0(즉, Low)을 출력할 수 있다.The threshold
복원여부 확인부(225)는 임계값 비교부(223)에서 출력되는 비교값에 따라 각 복원타입 별로 복원여부 값을 출력할 수 있다. 복원여부 확인부(225)는 각 복원타입 별로 비교값이 1인 경우가 1개 이상 있으면 해당 복원타입을 복원하는 것으로 하는 복원여부 값 1(즉, High)을 출력할 수 있다. 복원여부 확인부(225)는 각 복원타입 별로 비교값이 1인 경우가 하나도 없으면 해당 복원타입을 미복원하는 것으로 하는 복원여부 값 0(즉, Low)을 출력할 수 있다. The
예를 들어, 도 6에서 복원여부 확인부(225)는 복원타입 "Person"에 대해 복원 여부 값 1을 출력하고, 복원타입 "Location"에 대해 복원 여부 값 0을 출력하며, 복원타입 "Team"에 대해 복원 여부 값 1을 출력하고, 복원타입 "Date"에 대해 복원 여부 값 1을 출력하고, 복원타입 "Time"에 대해 복원 여부 값 0을 출력할 수 있다. For example, in FIG. 6 , the
복원여부 확인부(225)는 모든 복원타입에 대해 복원여부 값이 0(미복원)으로 나오는 경우, 사용자 질문(Q)에서 생략된 표현이 복원할 필요가 없는 것으로 결정할 수 있다. The
발화문 결정부(227)는 복원여부 값이 1인 복원타입에 대해 복원타입 분류 값이 가장 높은 이전 발화문을 각각 복원값을 추출할 이전 발화문으로 결정할 수 있다. 예를 들어, 도 6에서 발화문 결정부(227)는 복원 여부 값이 1인 복원타입 "Person"의 경우 제2 이전 발화문(U2)을 복원값을 추출할 이전 발화문으로 결정할 수 있다. 또한, 발화문 결정부(227)는 복원 여부 값이 1인 복원타입 "Team"에 대해 제4 이전 발화문(U4)을 복원값을 추출할 이전 발화문으로 결정할 수 있다. 또한, 발화문 결정부(227)는 복원 여부 값이 1인 복원타입 "Date"에 대해 제4 이전 발화문(U4)을 복원값을 추출할 이전 발화문으로 결정할 수 있다.The
도 7은 개시되는 일 실시예에 따른 생략 복원 인식 장치에서 복원 값을 인식하는 상태를 나타낸 도면이다. 도 7을 참조하면, 생략 복원 인식 장치(200)는 복원값 인식부(212)를 더 포함할 수 있다. 7 is a diagram illustrating a state of recognizing a restoration value in an apparatus for recognizing omitted restoration according to an embodiment of the present disclosure. Referring to FIG. 7 , the omitted
복원값 인식부(212)는 발화문 결정부(227)에서 결정된 이전 발화문(예를 들어, 제2 이전 발화문(U2) 및 제4 이전 발화문(U4))의 은닉 상태 벡터를 입력 받을 수 있다. 또한, 복원값 인식부(212)는 복원여부 확인부(225)로부터 복원 여부 값이 1인 복원 타입("Person", "Team", "Date") 포함 정보를 입력 받을 수 있다. The restored
복원값 인식부(212)는 각 이전 발화문의 은닉 상태 벡터에 복원 타입 포함 정보를 연결(Concatenate)하여 입력하고 인식된 복원 값을 각각 출력할 수 있다. 예를 들어, 복원값 인식부(212)는 복원타입 "Person"에 대해 제2 이전 발화문(U2)으로부터 복원값 "김동수"를 출력할 수 있다. 복원값 인식부(212)는 복원타입 "Team"에 대해 제4 이전 발화문(U4)으로부터 복원값 "엘지"를 출력할 수 있다. 복원값 인식부(212)는 복원타입 "Date"에 대해 제4 이전 발화문(U4)으로부터 복원값 "1990년"을 출력할 수 있다. 예시적인 실시예에서, 복원값 인식부(212)는 Pointer Network으로 이루어질 수 있다. The restoration
개시되는 실시예에 의하면, 사용자와 챗봇 간의 멀티턴 대화에서 사용자의 질의에 생략된 표현이 존재한다고 하여도, 사용자의 질의에서 생략된 표현을 복원할 수 있는 바, 사용자의 질의에 대해 보다 정확한 답변을 제공해줄 수 있게 된다.According to the disclosed embodiment, even if there is an omitted expression in the user's query in the multi-turn conversation between the user and the chatbot, the omitted expression in the user's query can be restored, so a more accurate answer to the user's query be able to provide
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.8 is a block diagram illustrating and describing a
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 생략 복원 학습 장치(100)일 수 있다. 또한, 컴퓨팅 장치(12)는 생략 복원 인식 장치(200)일 수 있다. 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)와 연결될 수도 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those of ordinary skill in the art to which the present invention pertains will understand that various modifications are possible within the limits without departing from the scope of the present invention with respect to the above-described embodiments. . Therefore, the scope of the present invention should not be limited to the described embodiments, and should be defined by the claims described below as well as the claims and equivalents.
100 : 게임 서비스 시스템
102 : 사용자 단말
102a : 원격 게임 제공 어플리케이션
104 : 원격 실행 단말
104a : 에뮬레이터
104b : 게임 소프트웨어
104c : 웹 RTC 모듈
202 : 게임 실행 모듈
204 : 스트리밍 모듈
211 : 제1 인터페이스
213 : 상태 에이전트
215 : 제2 인터페이스
217 : 스트리밍 컨트롤러100: game service system
102: user terminal
102a: remote game providing application
104: remote execution terminal
104a : emulator
104b: game software
104c: Web RTC Module
202: game execution module
204: Streaming module
211: first interface
213 : state agent
215: second interface
217 : Streaming Controller
Claims (23)
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
입력되는 멀티턴 대화문에 기초하여 상기 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작;
상기 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 상기 각 이전 대화문에서 상기 사용자의 질문에 생략된 표현과 대응되는 복원 타입과 관련된 복원 타입 관련 정보를 출력하도록 학습하는 동작; 및
상기 각 이전 대화문들의 은닉 상태 벡터 및 상기 복원 타입 관련 정보를 입력 받고, 상기 각 이전 대화문에서 상기 복원 타입에 대응하는 복원 값의 경계를 검출하도록 학습하는 동작을 포함하고,
상기 복원 타입 관련 정보는, 상기 각 이전 대화문들의 상기 복원 타입 별 복원 타입 분류 값 및 상기 각 이전 대화문들에 상기 복원 타입이 포함되는지에 여부에 대한 복원 타입 포함 정보 중 하나 이상을 포함하는, 챗봇 서비스를 위한 생략 복원 학습 방법.one or more processors, and
A method performed in a computing device having a memory storing one or more programs to be executed by the one or more processors, the method comprising:
generating a hidden state vector for each of the previous dialogues existing before the user's question among the multi-turn dialogues based on the input multi-turn dialogue;
learning to receive a hidden state vector for each of the previous dialogues and to output restoration type-related information related to a restoration type corresponding to an expression omitted from the user's question in each of the previous dialogues; and
receiving a hidden state vector of each of the previous dialogues and information related to the restoration type, and learning to detect a boundary of a restoration value corresponding to the restoration type in each of the previous conversations;
The restoration type-related information includes at least one of a restoration type classification value for each restoration type of each of the previous conversations and restoration type inclusion information on whether the restoration type is included in each of the previous conversations. Omit restoration learning method for .
상기 은닉 상태 벡터를 생성하는 동작은,
상기 입력되는 멀티턴 대화문 각각에 대한 토큰 시퀀스(Token Sequence)를 생성하는 동작;
상기 멀티턴 대화문 각각에 대한 토큰 시퀀스를 입력 받고, 상기 토큰 시퀀스에 대해 임베딩 벡터를 생성하는 동작;
상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작; 및
상기 각 이전 대화문들의 문장 벡터를 입력 받고, 상기 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작을 포함하는, 챗봇 서비스를 위한 생략 복원 학습 방법.The method according to claim 1,
The operation of generating the hidden state vector comprises:
generating a token sequence for each of the input multi-turn dialogues;
receiving a token sequence for each of the multi-turn dialogues, and generating an embedding vector for the token sequence;
converting an embedding vector of each previous dialogue existing before the user's question into a sentence vector; and
and receiving the sentence vector of each of the previous dialogues and generating a hidden state vector for each of the previous dialogues.
상기 문장 벡터로 변환하는 동작은,
상기 멀티턴 대화문에서 사용자의 질문에 대한 임베딩 벡터가 입력되는 경우, 상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터에 대해 주의 집중 가중치(Attention Weight)를 결정하는 동작; 및
상기 주의 집중 가중치를 기반으로 상기 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작을 포함하는, 챗봇 서비스를 위한 생략 복원 학습 방법.4. The method according to claim 3,
The operation of converting to the sentence vector is,
determining an attention weight with respect to an embedding vector of each previous dialogue that exists before the user's question when an embedding vector for a user's question is input in the multi-turn dialogue; and
and converting the embedding vector of each previous dialogue into a sentence vector based on the attention weight.
상기 은닉 상태 벡터를 생성하는 동작은,
상기 각 이전 대화문들의 문장 벡터를 상기 사용자의 질문에서 시간 상으로 가까운 순서대로 입력 받아 상기 은닉 상태 벡터를 생성하는, 챗봇 서비스를 위한 생략 복원 학습 방법.4. The method according to claim 3,
The operation of generating the hidden state vector comprises:
The omission restoration learning method for a chatbot service, wherein the hidden state vector is generated by receiving the sentence vectors of the respective previous dialogues in the order closest in time to the user's question.
상기 복원 타입은,
상기 멀티턴 대화문에 포함되는 개체(Entity)의 타입으로, 인물(Person), 위치(Location), 조직(Organization), 날짜(Date), 및 시간(Time) 중 하나 이상이 포함되는, 챗봇 서비스를 위한 생략 복원 학습 방법.The method according to claim 1,
The restoration type is
As a type of entity included in the multi-turn dialogue, a chatbot service that includes at least one of Person, Location, Organization, Date, and Time Omit Restoration Learning Method for.
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 상기 각 이전 대화문에서 상기 사용자의 질문에 생략된 표현과 대응되는 복원 타입과 관련된 복원 타입 관련 정보를 출력하도록 학습하는 동작; 및
상기 각 이전 대화문들의 은닉 상태 벡터 및 상기 복원 타입 관련 정보를 입력 받고, 상기 각 이전 대화문에서 상기 복원 타입에 대응하는 복원 값의 경계를 검출하도록 학습하는 동작을 포함하고,
상기 복원 값의 경계를 검출하도록 학습하는 동작은,
상기 각 이전 대화문들 중 상기 복원 타입을 포함하는 이전 대화문에서 해당 복원 타입에 대응하는 복원 값의 시작 위치 및 끝 위치를 학습하는, 챗봇 서비스를 위한 생략 복원 학습 방법.one or more processors, and
A method performed in a computing device having a memory storing one or more programs to be executed by the one or more processors, the method comprising:
Among the input multi-turn dialogues, a hidden state vector for each of the previous dialogues existing before the user's question is input, and restoration type related information related to the restoration type corresponding to the expression omitted from the user's question in each of the previous dialogues. learning to output and
receiving a hidden state vector of each of the previous dialogues and information related to the restoration type, and learning to detect a boundary of a restoration value corresponding to the restoration type in each of the previous conversations;
The operation of learning to detect the boundary of the restored value is,
Omit restoration learning method for a chatbot service, for learning the start position and the end position of the restoration value corresponding to the restoration type in the previous dialog including the restoration type among the previous dialog sentences.
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서,
입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 상기 각 이전 대화문에서 상기 사용자의 질문에 생략된 표현과 대응되는 복원 타입과 관련된 복원 타입 관련 정보를 출력하도록 학습되는 복원 타입 학습부; 및
상기 각 이전 대화문들의 은닉 상태 벡터 및 상기 복원 타입 관련 정보를 입력 받고, 상기 각 이전 대화문에서 상기 복원 타입에 대응하는 복원 값의 경계를 검출하도록 학습되는 복원값 학습부를 포함하고,
상기 복원값 학습부는, 상기 각 이전 대화문들 중 상기 복원 타입을 포함하는 이전 대화문에서 해당 복원 타입에 대응하는 복원 값의 시작 위치 및 끝 위치를 학습하는, 챗봇 서비스를 위한 생략 복원 학습 장치.one or more processors, and
A computing device having a memory to store one or more programs executed by the one or more processors, the computing device comprising:
Among the input multi-turn dialogues, a hidden state vector for each of the previous dialogues existing before the user's question is input, and restoration type related information related to the restoration type corresponding to the expression omitted from the user's question in each of the previous dialogues. a restoration type learning unit that is learned to output ; and
and a restoration value learning unit that receives the hidden state vector of each of the previous dialogues and the restoration type-related information, and is trained to detect a boundary between restoration values corresponding to the restoration type in each of the previous conversations;
The restoration value learning unit may be configured to learn a start position and an end position of a restoration value corresponding to the restoration type from a previous conversation including the restoration type among the previous conversation sentences.
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
입력되는 멀티턴 대화문에 기초하여 상기 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작;
상기 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받는 동작;
상기 이전 대화문들의 은닉 상태 벡터에 기초하여 상기 사용자의 질문에서 생략된 표현이 복원할 필요가 있는지를 확인하는 동작;
상기 생략된 표현이 복원할 필요가 있는 경우, 상기 사용자의 질문에서 생략된 표현의 복원 타입을 인식하는 동작; 및
상기 각 이전 대화문들의 은닉 상태 벡터 및 상기 복원 타입 별로 산출되는 복원여부 값에 기초하여 상기 이전 대화문에서 상기 생략된 표현의 복원 타입에 대응하는 복원 값을 인식하는 동작을 포함하는, 챗봇 서비스를 위한 생략 복원 인식 방법.one or more processors, and
A method performed in a computing device having a memory storing one or more programs to be executed by the one or more processors, the method comprising:
generating a hidden state vector for each of the previous dialogues existing before the user's question among the multi-turn dialogues based on the input multi-turn dialogue;
receiving a hidden state vector for each of the previous dialogues;
checking whether the expression omitted from the user's question needs to be restored based on the hidden state vectors of the previous dialogues;
recognizing a restoration type of the omitted expression in the user's question when the omitted expression needs to be restored; and
Omit for the chatbot service, comprising the operation of recognizing a restoration value corresponding to the restoration type of the omitted expression in the previous conversation sentence based on the hidden state vector of each of the previous conversation sentences and the restoration status value calculated for each restoration type How to recognize restoration.
상기 은닉 상태 벡터를 생성하는 동작은,
상기 입력되는 멀티턴 대화문 각각에 대한 토큰 시퀀스(Token Sequence)를 생성하는 동작;
상기 멀티턴 대화문 각각에 대한 토큰 시퀀스를 입력 받고, 상기 토큰 시퀀스에 대해 임베딩 벡터를 생성하는 동작;
상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작; 및
상기 각 이전 대화문들의 문장 벡터를 입력 받고, 상기 각 이전 대화문들에 대한 은닉 상태 벡터를 생성하는 동작을 포함하는, 챗봇 서비스를 위한 생략 복원 인식 방법.11. The method of claim 10,
The operation of generating the hidden state vector comprises:
generating a token sequence for each of the input multi-turn dialogues;
receiving a token sequence for each of the multi-turn dialogues, and generating an embedding vector for the token sequence;
converting an embedding vector of each previous dialogue existing before the user's question into a sentence vector; and
and receiving a sentence vector of each of the previous dialogues and generating a hidden state vector for each of the previous dialogues.
상기 문장 벡터로 변환하는 동작은,
상기 멀티턴 대화문에서 사용자의 질문에 대한 임베딩 벡터가 입력되는 경우, 상기 사용자의 질문 이전에 존재하는 각 이전 대화문의 임베딩 벡터에 대해 주의 집중 가중치(Attention Weight)를 결정하는 동작; 및
상기 주의 집중 가중치를 기반으로 상기 각 이전 대화문의 임베딩 벡터를 문장 벡터로 변환하는 동작을 포함하는, 챗봇 서비스를 위한 생략 복원 인식 방법.13. The method of claim 12,
The operation of converting to the sentence vector is,
determining an attention weight with respect to an embedding vector of each previous dialogue that exists before the user's question when an embedding vector for a user's question is input in the multi-turn dialogue; and
and converting the embedding vector of each previous dialogue into a sentence vector based on the attention weight.
상기 은닉 상태 벡터를 생성하는 동작은,
상기 각 이전 대화문들의 문장 벡터를 상기 사용자의 질문에서 시간 상으로 가까운 순서대로 입력 받아 상기 은닉 상태 벡터를 생성하는, 챗봇 서비스를 위한 생략 복원 인식 방법.13. The method of claim 12,
The operation of generating the hidden state vector comprises:
A method for recognizing omission restoration for a chatbot service, wherein the hidden state vector is generated by receiving the sentence vectors of each of the previous dialogues in a chronologically close order from the user's question.
상기 복원 타입은,
상기 멀티턴 대화문에 포함되는 개체(Entity)의 타입으로, 인물(Person), 위치(Location), 조직(Organization), 날짜(Date), 및 시간(Time) 중 하나 이상이 포함되는, 챗봇 서비스를 위한 생략 복원 인식 방법.11. The method of claim 10,
The restoration type is
As a type of entity included in the multi-turn dialogue, a chatbot service that includes at least one of Person, Location, Organization, Date, and Time Skip for restoration recognition method.
상기 생략된 표현이 복원할 필요가 있는지를 확인하는 동작은,
상기 각 이전 대화문들의 은닉 상태 벡터에 기초하여 상기 각 이전 대화문을 대상으로 각 복원 타입에 대한 복원타입 분류 값을 출력하는 동작;
상기 각 이전 대화문들의 각 복원 타입에 대한 복원타입 분류 값과 기 설정된 임계값을 비교하여 비교 값을 출력하는 동작; 및
상기 비교 값에 따라 각 복원 타입 별로 복원여부 값을 출력하는 동작을 포함하는, 챗봇 서비스를 위한 생략 복원 인식 방법.11. The method of claim 10,
The operation of checking whether the omitted expression needs to be restored is,
outputting a restoration type classification value for each restoration type with respect to each of the previous dialog sentences based on the hidden state vector of each of the previous dialog sentences;
outputting a comparison value by comparing a restoration type classification value for each restoration type of each of the previous dialogues with a preset threshold value; and
An omitted restoration recognition method for a chatbot service, comprising outputting a restoration or not value for each restoration type according to the comparison value.
상기 비교 값을 출력하는 동작은,
상기 복원타입 분류 값이 기 설정된 임계값 이상인 경우 상기 비교 값으로 하이(High)를 출력하고, 상기 복원타입 분류 값이 기 설정된 임계 값 미만인 경우 상기 비교 값으로 로우(Low)를 출력하는, 챗봇 서비스를 위한 생략 복원 인식 방법.17. The method of claim 16,
The operation of outputting the comparison value is,
A chatbot service that outputs High as the comparison value when the restoration type classification value is greater than or equal to a preset threshold value, and outputs Low as the comparison value when the restoration type classification value is less than a preset threshold value Skip restoration recognition method for.
상기 복원여부 값을 출력하는 동작은,
상기 각 복원타입 별로 상기 비교값이 하이(High)인 경우가 1개 이상이면 상기 복원여부 값으로 하이(High)를 출력하고, 상기 각 복원타입 별로 상기 비교값이 하이(High)인 경우가 하나도 없으면 상기 복원여부 값으로 로우(Low)를 출력하는, 챗봇 서비스를 위한 생략 복원 인식 방법.18. The method of claim 17,
The operation of outputting the restoration value is,
If there is more than one case in which the comparison value is High for each restoration type, High is output as the restoration status value, and there is no case in which the comparison value is High for each restoration type. If there is no restoration or not, outputting a low as the restoration value, omitting restoration recognition method for a chatbot service.
상기 생략된 표현이 복원할 필요가 있는지를 확인하는 동작은,
상기 각 복원타입의 상기 복원여부 값이 모두 로우(Low)인 경우, 상기 사용자 질문에서 생략된 표현이 복원할 필요가 없는 것으로 결정하는, 챗봇 서비스를 위한 생략 복원 인식 방법.19. The method of claim 18,
The operation of checking whether the omitted expression needs to be restored is,
When the restoration value of each restoration type is all low, it is determined that the expression omitted from the user question does not need restoration.
상기 생략된 표현의 복원 타입을 인식하는 동작은,
상기 복원타입 중 상기 복원여부 값이 하이(High)인 복원타입에 대해 상기 복원타입 분류값이 가장 높은 이전 발화문을 상기 복원값을 추출할 이전 발화문으로 결정하는, 챗봇 서비스를 위한 생략 복원 인식 방법.20. The method of claim 19,
The operation of recognizing the restoration type of the omitted expression is,
Omit restoration recognition for a chatbot service, which determines the previous utterance having the highest restoration type classification value as the previous utterance from which the restoration value is to be extracted for the restoration type in which the restoration value is High among the restoration types Way.
상기 복원 값을 인식하는 동작은,
상기 결정된 이전 발화문의 은닉 상태 벡터 및 상기 결정된 이전 발화문의 복원 타입 포함 정보를 입력 받아 상기 결정된 이전 발화문에서 해당 복원타입에 대한 복원값을 출력하는, 챗봇 서비스를 위한 생략 복원 인식 방법.22. The method of claim 21,
The operation of recognizing the restored value is,
A method for recognizing omission restoration for a chatbot service, receiving the determined hidden state vector of the previous utterance and the determined information including the restoration type of the previous utterance, and outputting a restoration value for the restoration type in the determined previous utterance.
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서,
입력되는 멀티턴 대화문 중 사용자의 질문 이전에 존재하는 각 이전 대화문들에 대한 은닉 상태 벡터를 입력 받고, 상기 이전 대화문들의 은닉 상태 벡터에 기초하여 상기 사용자의 질문에서 생략된 표현이 복원할 필요가 있는지를 확인하는 복원타입 인식부를 포함하고,
상기 복원타입 인식부는,
상기 각 이전 대화문들의 은닉 상태 벡터에 기초하여 상기 각 이전 대화문을 대상으로 각 복원 타입에 대한 복원타입 분류 값을 출력하고, 상기 각 이전 대화문들의 각 복원 타입에 대한 복원타입 분류 값과 기 설정된 임계값을 비교하여 비교 값을 출력하며, 상기 비교 값에 따라 각 복원 타입 별로 복원여부 값을 출력하는, 챗봇 서비스를 위한 생략 복원 인식 장치.one or more processors, and
A computing device having a memory to store one or more programs executed by the one or more processors, the computing device comprising:
Among the input multi-turn dialogues, a hidden state vector for each previous dialogue that exists before the user's question is input, and based on the hidden state vector of the previous dialogues, whether the expression omitted from the user's question needs to be restored Includes a restoration type recognition unit to confirm,
The restoration type recognition unit,
Outputs a restoration type classification value for each restoration type for each previous dialog sentence based on the hidden state vector of each previous dialog sentence, and a restoration type classification value for each restoration type of each previous dialog sentence and a preset threshold value and outputs a comparison value, and outputs a restoration or not value for each restoration type according to the comparison value, an omission restoration recognition device for a chatbot service.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200081800A KR102383043B1 (en) | 2020-07-02 | 2020-07-02 | Learning method and cognition method for omission restoration and apparatus for executing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200081800A KR102383043B1 (en) | 2020-07-02 | 2020-07-02 | Learning method and cognition method for omission restoration and apparatus for executing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220003930A KR20220003930A (en) | 2022-01-11 |
KR102383043B1 true KR102383043B1 (en) | 2022-04-05 |
Family
ID=79355766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200081800A KR102383043B1 (en) | 2020-07-02 | 2020-07-02 | Learning method and cognition method for omission restoration and apparatus for executing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102383043B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101806151B1 (en) | 2016-07-21 | 2017-12-07 | 숭실대학교산학협력단 | Method and device for extracting alternative words automatically, recording medium for performing the method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6074820B2 (en) * | 2015-01-23 | 2017-02-08 | 国立研究開発法人情報通信研究機構 | Annotation auxiliary device and computer program therefor |
KR20190046124A (en) * | 2017-10-25 | 2019-05-07 | 한국전자통신연구원 | Method and apparatus for real-time automatic interpretation based on context information |
KR102103273B1 (en) * | 2018-02-27 | 2020-04-22 | 주식회사 와이즈넛 | Method and apprartus for chatbots in customer service analyzing hierarchical user expression and generating responses |
KR20190133931A (en) * | 2018-05-24 | 2019-12-04 | 한국과학기술원 | Method to response based on sentence paraphrase recognition for a dialog system |
-
2020
- 2020-07-02 KR KR1020200081800A patent/KR102383043B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101806151B1 (en) | 2016-07-21 | 2017-12-07 | 숭실대학교산학협력단 | Method and device for extracting alternative words automatically, recording medium for performing the method |
Also Published As
Publication number | Publication date |
---|---|
KR20220003930A (en) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3642834B1 (en) | Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface | |
CN111933129B (en) | Audio processing method, language model training method and device and computer equipment | |
WO2019200923A1 (en) | Pinyin-based semantic recognition method and device and human-machine conversation system | |
US11797772B2 (en) | Word lattice augmentation for automatic speech recognition | |
US9548051B2 (en) | System and method of spoken language understanding in human computer dialogs | |
CN112673421B (en) | Training and/or using language selection models to automatically determine language for speech recognition of spoken utterances | |
US9805718B2 (en) | Clarifying natural language input using targeted questions | |
KR101534413B1 (en) | Method and apparatus for providing counseling dialogue using counseling information | |
CN110890097A (en) | Voice processing method and device, computer storage medium and electronic equipment | |
CN114981885A (en) | Alphanumeric sequence biasing for automatic speech recognition | |
WO2021162779A1 (en) | Multi-stream recurrent neural network transducer(s) | |
KR20200140171A (en) | Electronic device and Method for controlling the electronic device thereof | |
CN112686060B (en) | Text translation method, device, electronic equipment and storage medium | |
KR102544700B1 (en) | Mehtod and apparatus for detecting object contained within paragraph | |
CN115512692B (en) | Voice recognition method, device, equipment and storage medium | |
KR102383043B1 (en) | Learning method and cognition method for omission restoration and apparatus for executing the method | |
US12019997B2 (en) | Method of training real-time simultaneous interpretation model based on external alignment information, and method and system for simultaneous interpretation based on external alignment information | |
CN112183114B (en) | Model training and semantic integrity recognition method and device | |
CN113555006B (en) | Voice information identification method and device, electronic equipment and storage medium | |
KR102261411B1 (en) | Mehtod and apparatus for learning chatting model | |
Paraschiv et al. | Voice control framework for form based applications | |
US10210153B1 (en) | Semiotic class normalization | |
CN118538221A (en) | Speech recognition method, apparatus, device, storage medium, and program product | |
WO2022221379A1 (en) | Intent detection via multi-hop unified syntactic graph | |
CN118471230A (en) | Speech recognition method and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |