KR101851791B1 - Apparatus and method for computing domain diversity using domain-specific terms and high frequency general terms - Google Patents
Apparatus and method for computing domain diversity using domain-specific terms and high frequency general terms Download PDFInfo
- Publication number
- KR101851791B1 KR101851791B1 KR1020170178792A KR20170178792A KR101851791B1 KR 101851791 B1 KR101851791 B1 KR 101851791B1 KR 1020170178792 A KR1020170178792 A KR 1020170178792A KR 20170178792 A KR20170178792 A KR 20170178792A KR 101851791 B1 KR101851791 B1 KR 101851791B1
- Authority
- KR
- South Korea
- Prior art keywords
- domain
- module
- specific
- word
- sentence group
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
-
- G06N99/005—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 도메인 특화 용어 및 고빈도 일반 용어를 이용한 도메인 다양성 계산 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for calculating domain diversity using domain-specific terms and high frequency generic terms.
현재 대부분의 회사가 고객지원 서비스 부서의 인력과 인프라의 부족으로 고객들에게 만족할만한 서비스를 제공하지 못하는 상태이다. 최근 챗봇의 등장으로 고객지원 서비스의 품질 향상 해결하기 위해, 챗봇을 도입해 고객 응대에 필요한 인력을 줄임과 동시에 24시간 빠르게 응답처리 하고자 하는 회사들이 상당히 많이 생기고 있다. 예를 들어, AT&T는 CS에 전화를 하면 봇이 응대하도록 하고 있다. Currently, most companies are not able to provide satisfactory services to their customers due to lack of personnel and infrastructure of the customer support service department. Recently, there have been a lot of companies trying to solve the problem by improving the quality of the customer support service by introducing the chatbot. For example, AT & T calls the CS to let the bot respond.
도 1은 챗봇의 기본적인 모듈 구성을 도시한 모식도이다. 도 1에 도시된 바와 같이 챗봇은 채팅의 텍스트나 음성으로 구성된 언어적 입력(Lexical input)을 NLP(자연어 처리 프로세서, Natural Language Processor) 모듈이 입력받아 컴퓨터상에서 처리될 수 있는 형태로 처리해주고, 처리된 자연어의 Context를 분석하는 Context Analyzer를 지나서, Context에 따라 답변 내용을 정하는 Decision Maker에서 답변 내용을 분류하여 확정하고, 확정된 답변 내용에 따라 사용자에게 답변을 하는 Response Generator를 통해 언어적 출력(Lexical output)이 나오게 되는 구조로 되어 있다. 1 is a schematic diagram showing a basic module configuration of a chatbot. As shown in FIG. 1, the chatbot receives a lexical input composed of a text or voice of a chat in a form that can be processed on a computer by a NLP (Natural Language Processor) module, In response to the Context Analyzer, which analyzes the Context of the natural language, the Decision Maker decides the answer contents according to the Context, classifies the answers and confirms them, and responds to the user according to the determined answers. output.
도 2는 일반적인 챗봇 모듈 구성을 구체적으로 도시한 모식도이다. 도 2에 도시된 바와 같이, 일반적인 챗봇은 NLP에 형태소 분석기(Morphemic Analyzer)를 붙여서 입력되는 언어적 입력의 형태소를 분석하고, 문장학적으로 어떤 의미를 갖는지에 대한 Taxonomy Analyzer를 붙여서 문장을 컴퓨터상에서 처리할 수 있는 형태로 처리하게 된다. Context Analyzer는 Context Database에서 해당 문장이 어떤 Context인지를 검색 엔진(Search engine)을 통해 매칭하게 된다. 매칭된 Context에 대한 대답을 Decision Maker에서 찾게 된다. 보통 특정 Context에 대한 대답은 챗봇을 도입하려는 특정 회사의 고객지원 프로토콜 데이터 템플릿에 의해 결정된다. FIG. 2 is a schematic diagram specifically showing a general chatbot module configuration. As shown in FIG. 2, a general chatbot analyzes a morpheme of a linguistic input inputted with a Morphemic Analyzer attached to a NLP, attaches a Taxonomy Analyzer to a semantically meaningful word, and processes the sentence on a computer It is processed in a form that can be done. The Context Analyzer will match the context in the Context Database through the search engine. The Decision Maker will find the answer to the matching context. Usually, the answer to a specific context is determined by the customer support protocol data template of the particular company that is trying to introduce the chatbot.
도 3은 머신러닝을 이용한 챗봇 모듈 구성을 구체적으로 도시한 모식도이다. 도 3에 도시된 바와 같이, 머신러닝을 이용한 챗봇은 기존의 일반적인 챗봇의 요소들이 많이 대체되었다. 머신러닝을 이용한 챗봇 모듈 구성에서는 NLP에 딥러닝 모델(Deep-learning model)이 적용된다. NLP에 적용되는 딥러닝 모델로는 2016년 4월에 공개된 Google의 SyntexNet이 이용될 수 있고, NLU(Natural Language Understanding)의 초기 버전으로 이해할 수 있다. SyntexNet을 거치면 특정 언어적 입력이 Vector 형태로 바뀌게 된다. 그 후, Context Analyzer, Decision Maker 및 Response Generator를 통합하여 딥러닝 모델을 적용하고 트레이닝 세트를 계속 학습시키게 된다. Context Analyzer, Decision Maker 및 Response Generator의 통합 모듈에 이용되는 딥러닝 모델로는 RNN(Recurrent Neural Network) 등의 적어도 하나 이상의 모델이 이용되게 된다. FIG. 3 is a schematic diagram specifically showing the configuration of a chatbot module using machine learning. As shown in FIG. 3, a chatbot using machine learning has replaced a lot of elements of a conventional chatbot. Deep-learning model is applied to NLP in the chatbot module configuration using machine learning. Deep learning models applied to NLP can be understood as an early version of NLU (Natural Language Understanding), which is available from Google's SyntexNet published in April 2016. Through SyntexNet, certain verbal input changes to Vector format. We then integrate the Context Analyzer, Decision Maker, and Response Generator to apply the Deep Learning model and continue learning the training set. At least one model such as RNN (Recurrent Neural Network) is used as the deep learning model used in the integration module of Context Analyzer, Decision Maker and Response Generator.
하지만, 이러한 챗봇은 단순히 코드 몇 줄을 심거나 API를 제공하여 구현할 수 있는 서비스가 아니다. 특정 회사에서 챗봇을 도입하려면 단순히 서비스 integration으로 단번에 끝나는 것이 아니라. 기존에 쌓여 있던 고객지원 데이터를 챗봇의 인공지능 모듈의 학습에 필요한 데이터로 가공하는 과정이 필요하다. However, these chatbots are not just services that can be implemented by simply planting a few lines of code or providing an API. The introduction of chatbots in a particular company is not just a one-off process of service integration. It is necessary to process the customer support data accumulated in the past as data necessary for the learning of the artificial intelligence module of the chatbot.
챗봇은 인간이 수동으로 하던 질문에 대한 응답을 대신 처리해줄 솔루션, 즉 고객지원 서비스에 수요가 많은 상황이다. 기존 고객지원을 운영하던 회사는 하나의 센터가 일괄적으로 처리를 하거나 템플릿이 있는 정형화된 형식으로 처리하기보다는 고객지원 상담을 하는 개개인의 특성에 따라 같은 응답이라도 다르게 하고, 고객의 감정상태에 따라 같은 문제라도 다르게 해결하는 경우가 많다. Chatbot is a situation where there is a lot of demand for customer support services, that is, a solution that will deal with the answers to the questions that people do manually. The company that operates the existing customer support is different from the one based on the individual characteristics of the customer support counseling rather than processing the whole process in a single process or a formal format with templates, The same problem is often solved differently.
그렇기 때문에, 일반적인 챗봇은 같은 의미의 문의가 같은 레이블로 분류되어야 하는데, 응답이 제각각 다르기 때문에 인공지능 엔진의 입장에서는 레이블이 없는 데이터와 다름없고, 이에 따라 인공지능 엔진에 맞는 데이터로 가공하는 공수가 발생된다. 다년간 쌓인 데이터를 일일이 사람이 처리하기엔 불가능에 가깝다. 반면 챗봇 도입에 투입할 인적자원 확보를 위해 추가로 고용을 하거나 기존 서비스를 운영하는 인적자원을 투입하기에는, 챗봇을 도입하고자 하는 목적, 즉 서비스에 필요한 인적자원을 줄이는 방법론의 모순이 생긴다. For this reason, general chatbots should be classified as the same label with the same meaning. Since the response is different, the artificial intelligence engine is like unlabeled data, . It is almost impossible for a person to handle the accumulated data for many years. On the other hand, there is a contradiction in the methodology of reducing the human resources needed for service introduction, that is, introducing chatbots, in order to employ human resources to hire additional human resources or to operate existing services in order to secure human resources to be introduced into the introduction of chattbots.
또한, 한 회사가 챗봇을 위한 데이터 가공에 인력을 투입하고자 했을 때도, 인간이 판단하고 처리하는 문의의 문맥이 다중 의미를 포함하고 있는 경우에 문제가 된다. 각각의 개인이 판단하는 기준에 따라 분류가 되기 때문에 오류나 편향을 만들게 되는데, 이는 인공지능의 정확도를 현저히 낮추는 심각한 오류를 만들기도 한다.In addition, even when a company intends to put labor into data processing for chatbots, it is a problem when the context of a query to be judged and processed by humans includes multiple meanings. Because each individual is categorized according to the criteria they judge, they make errors or biases, which also make a serious error that significantly reduces the accuracy of artificial intelligence.
결국, 데이터의 수가 많아질 경우 대부분 가공되지 않거나 가공되었다 하더라도 완벽하지 못하고 인공지능에 넣을 훈련 데이터로써 오류와 편향을 포함할 경우가 많기 때문에, 결국 가공되지 않은 데이터와 다름없게 된다.As a result, when the number of data increases, most of the data is unprocessed or processed, but it is incomplete, and training data to be included in artificial intelligence often contains errors and defects.
기존에는 이러한 문제를 데이터로부터 얻을 수 있는 동사 구조와 각각의 단어의 태깅된 정보를 수동으로 사전으로 제작하여, 사전을 이용해 분류된 결과값으로 레이블을 하는 방식으로 해결하려 하고 있었다. 하지만, 이와 같은 방식은 작업량이 상당하고, 새로 추가되는 데이터에 대한 추가적인 작업이 발생하게 되는 문제점이 발생된다.Previously, we tried to solve this problem by manually creating a dictionary structure of the verb structure and the tagged information of each word, which can be obtained from the data, and labeling them with classified results using a dictionary. However, this method has a problem in that the workload is considerable and additional work is performed on the newly added data.
따라서 본 발명의 목적은, 별도의 제작된 사전이 존재하지 않는 경우에도 관리자가 쉽게 질문과 대답을 매칭시킬 수 있도록 자동으로 레이블을 생성할 수 있도록 하는, 도메인 특화 용어 및 고빈도 일반 용어를 이용한 도메인 다양성 계산 장치 및 방법을 제공하는데에 있다.Therefore, it is an object of the present invention to provide a domain-specific term and a domain using a high-frequency general term, which enables a label to be automatically generated so that an administrator can easily match a question and an answer even when a separately- And an apparatus and method for calculating diversity.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.Hereinafter, specific means for achieving the object of the present invention will be described.
본 발명의 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 레이블링하기 위한 가상 레이블 생성 장치에 있어서, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 모듈; 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 모듈; 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 용어인 도메인 특화 용어를 분류하는 도메인 특화 용어 분류 모듈; 및 상기 도메인 특화 용어 분류 모듈에 의해 분류된 상기 도메인 특화 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 모듈;을 포함하고, 상기 챗봇 관리자가 상기 유사 문장 그룹을 레이블링 할 수 있도록, 상기 클러스터링 모듈에 의해 생성된 적어도 하나의 상기 유사 문장 그룹을 챗봇 관리자의 클라이언트에 제공하는 것을 특징으로 하는, 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 장치를 제공하여 달성될 수 있다. An object of the present invention is to provide a virtual label generation apparatus for labeling a training set for learning of an artificial intelligence module of a chatbot that receives question data and outputs specific answer data, A classifying module for classifying the question data into entities or intents and processing the question data as vector values; In order to judge whether or not the segmented phrases classified in the classification module are characteristic to a specific domain, the probability of occurrence of a word or occurrence of a word in the question data is compared with the probability of occurrence of a word or occurrence of a word in a general corpus, A domain-specific score calculation module for determining a domain-specific score that is a score of how characteristic a phrase is in the domain; A domain-specific term classification module for classifying a domain-specific term, which is a term specific to the domain, among the phrases of the question data, based on the domain-specific score calculated by the domain-specific score calculation module; And a clustering module for clustering the query data into at least one similar sentence group based on the degree of similarity with the domain-specific terms classified by the domain-specific term classification module, wherein the chatbot manager labels the similar sentence group And providing the at least one similar sentence group generated by the clustering module to the client of the chatbot manager so that the chatbot manager can provide a similar label to the client of the chatbot manager.
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 레이블링하기 위한 가상 레이블 생성 장치에 있어서, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 모듈; 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 모듈; 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 모듈; 및 상기 고빈도 일반 용어 분류 모듈에 의해 분류된 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 모듈;을 포함하고, 상기 챗봇 관리자가 상기 유사 문장 그룹을 레이블링 할 수 있도록, 상기 클러스터링 모듈에 의해 생성된 상기 유사 문장 그룹을 챗봇 관리자의 클라이언트에 제공하는 것을 특징으로 하는, 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 장치를 제공하여 달성될 수 있다. Another object of the present invention is to provide a virtual label generation apparatus for labeling a training set for learning of an artificial intelligence module of a chatbot receiving question data and outputting specific answer data, A classification module for classifying the question data into entities or intents and processing the question data as vector values; In order to judge whether or not the segmented phrases classified in the classification module are characteristic to a specific domain, the probability of occurrence of a word or occurrence of a word in the question data is compared with the probability of occurrence of a word or occurrence of a word in a general corpus, A domain-specific score calculation module for determining a domain-specific score that is a score of how characteristic a phrase is in the domain; And classifying domain specific terms and general terms specific to the domain among the phrases of the question data based on the domain specific score calculated by the domain specific score calculation module, A high frequency general term classification module for classifying frequency generic terms; And a clustering module for clustering the query data into at least one similar sentence group based on the degree of similarity with the high frequency general term classified by the high frequency general term classification module, And providing the similar sentence group generated by the clustering module to the client of the chatbot manager so that the chatbot can label the chatbot.
본 발명의 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 레이블링하기 위한 가상 레이블 생성 장치에 있어서, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 모듈; 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 모듈; 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 모듈; 상기 고빈도 일반 용어 분류 모듈에 의해 분류된 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 모듈; 상기 클러스터링 모듈에서 상기 고빈도 일반 용어와의 유사도를 기초로 클러스터링 된 상기 유사 문장 그룹에 포함된 복수개의 문장을 상기 도메인 특화 용어와의 유사도를 기초로 2차 분류하여 적어도 하나의 도메인 유사 문장 그룹으로 분류하는 2차 분류 모듈; 상기 2차 분류 모듈에 의해 상기 유사 문장 그룹 내에서 분류되는 상기 도메인 유사 문장 그룹의 개수를 토대로 상기 유사 문장 그룹의 도메인 다양성을 계산하는 도메인 다양성 계산 모듈; 및 상기 도메인 다양성 계산 모듈에서 계산된 상기 유사 문장 그룹의 상기 도메인 다양성을 기초로 상기 유사 문장 그룹의 중요도를 판정하여 챗봇 관리자에게 제공할 문장 그룹인 레이블 문장 그룹을 판정하는 레이블 문장 그룹 판정 모듈;을 포함하고, 상기 챗봇 관리자가 상기 레이블 문장 그룹을 레이블링 할 수 있도록, 상기 레이블 문장 그룹을 챗봇 관리자의 클라이언트에 제공하는 것을 특징으로 하는, 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 장치를 제공하여 달성될 수 있다. An object of the present invention is to provide a virtual label generation apparatus for labeling a training set for learning of an artificial intelligence module of a chatbot that receives question data and outputs specific answer data, A classifying module for classifying the question data into entities or intents and processing the question data as vector values; In order to judge whether or not the segmented phrases classified in the classification module are characteristic to a specific domain, the probability of occurrence of a word or occurrence of a word in the question data is compared with the probability of occurrence of a word or occurrence of a word in a general corpus, A domain-specific score calculation module for determining a domain-specific score that is a score of how characteristic a phrase is in the domain; And classifying domain specific terms and general terms specific to the domain among the phrases of the question data based on the domain specific score calculated by the domain specific score calculation module, A high frequency general term classification module for classifying frequency generic terms; A clustering module for clustering the query data into at least one similar sentence group based on the degree of similarity with the high frequency general term classified by the high frequency general term classification module; The clustering module classifies a plurality of sentences included in the similar sentence group clustered on the basis of the degree of similarity with the high frequency general term as second domain classification on the basis of the degree of similarity with the domain specific term to form at least one domain similar sentence group A secondary classification module to classify; A domain diversity calculation module for calculating a domain diversity of the similar sentence group based on the number of the domain similar sentence groups classified in the similar sentence group by the secondary classification module; And a label sentence group determination module that determines the importance of the similar sentence group based on the domain diversity of the similar sentence group calculated by the domain diversity calculation module and determines a label sentence group that is a sentence group to be provided to the chatbot manager And providing the label sentence group to the client of the chatbot manager so that the chatbot administrator can label the label sentence group. The apparatus for generating a virtual label for a training set labeling of a chatbot, .
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 레이블링하기 위한 가상 레이블 생성 장치를 이용한 가상 레이블 생성 방법에 있어서, 상기 가상 레이블 생성 장치의 일구성인 구분 모듈이, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 단계; 상기 가상 레이블 생성 장치의 일구성인 도메인 특화 점수 계산 모듈이, 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 단계; 상기 가상 레이블 생성 장치의 일구성인 도메인 특화 용어 분류 모듈이, 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 용어인 도메인 특화 용어를 분류하는 도메인 특화 용어 분류 단계; 및 상기 가상 레이블 생성 장치의 일구성인 클러스터링 모듈이, 상기 도메인 특화 용어 분류 모듈에 의해 분류된 상기 도메인 특화 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 단계;를 포함하고, 상기 챗봇 관리자가 상기 유사 문장 그룹을 레이블링 할 수 있도록, 상기 클러스터링 모듈에 의해 생성된 적어도 하나의 상기 유사 문장 그룹을 챗봇 관리자의 클라이언트에 제공하는 것을 특징으로 하는, 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 방법을 제공하여 달성될 수 있다. Another object of the present invention is to provide a virtual label generation method using a virtual label generation apparatus for labeling a training set for learning of an artificial intelligence module of a chatbot receiving question data and outputting specific answer data, A classifying module which is a constituent unit of the apparatus receives the question data in a general string form and classifies the question data into entities or intents and processes the question data into vector values; The domain-specific score calculation module, which is a component of the virtual label generation device, calculates a word occurrence frequency or a word occurrence probability in the question data and a word occurrence probability in the general corpus in order to judge whether the word classified in the classification module is characteristic to a specific domain A domain-specific score calculation step of comparing the appearance frequency of a word or the probability of appearance of a word and determining a domain-specific score that is a score of how characteristic a word is in the corresponding word through the difference; The domain-specific term classification module, which is a component of the virtual label generation apparatus, classifies domain-specific terms, which are terms specific to the domain, among the phrases of the query data based on the domain-specific score calculated by the domain- Domain-specific term classification step; And a clustering step of clustering the query data into at least one similar sentence group based on the degree of similarity with the domain-specific terms classified by the domain-specific term classification module, the clustering module being a component of the virtual label generation apparatus Wherein the at least one similar phrase group generated by the clustering module is provided to the client of the chatbot manager so that the chatbot administrator can label the similar sentence group. And a method for generating a virtual label for the virtual label.
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 레이블링하기 위한 가상 레이블 생성 장치를 이용한 가상 레이블 생성 방법에 있어서, 상기 가상 레이블 생성 장치의 일구성인 구분 모듈이, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 단계; 상기 가상 레이블 생성 장치의 일구성인 도메인 특화 점수 계산 모듈이, 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 단계; 상기 가상 레이블 생성 장치의 일구성인 고빈도 일반 용어 분류 모듈이, 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 단계; 및 상기 가상 레이블 생성 장치의 일구성인 클러스터링 모듈이, 상기 고빈도 일반 용어 분류 모듈에 의해 분류된 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 단계;를 포함하고, 상기 챗봇 관리자가 상기 유사 문장 그룹을 레이블링 할 수 있도록, 상기 클러스터링 모듈에 의해 생성된 적어도 하나의 상기 유사 문장 그룹을 챗봇 관리자의 클라이언트에 제공하는 것을 특징으로 하는, 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 방법을 제공하여 달성될 수 있다. Another object of the present invention is to provide a virtual label generation method using a virtual label generation apparatus for labeling a training set for learning of an artificial intelligence module of a chatbot receiving question data and outputting specific answer data, A classifying module which is a constituent unit of the apparatus receives the question data in a general string form and classifies the question data into entities or intents and processes the question data into vector values; The domain-specific score calculation module, which is a component of the virtual label generation device, calculates a word occurrence frequency or a word occurrence probability in the question data and a word occurrence probability in the general corpus in order to judge whether the word classified in the classification module is characteristic to a specific domain A domain-specific score calculation step of comparing the appearance frequency of a word or the probability of appearance of a word and determining a domain-specific score that is a score of how characteristic a word is in the corresponding word through the difference; Wherein the high frequency general term classification module which is a component of the virtual label generation apparatus comprises a domain specific word calculation module for calculating a domain specific word and a general term specific to the corresponding domain of the query data based on the domain specific word, A high frequency general term classification step of classifying a high frequency general term having a frequency of occurrence of a word or a probability of occurrence of a word among the general terms; And a clustering module for clustering the query data into at least one similar sentence group on the basis of the degree of similarity with the high frequency general term classified by the high frequency general term classification module, Wherein the at least one similar sentence group generated by the clustering module is provided to the client of the chatbot manager so that the chatbot administrator can label the similar sentence group, Can be achieved by providing a method of generating a virtual label for labeling.
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 레이블링하기 위한 가상 레이블 생성 장치를 이용한 가상 레이블 생성 방법에 있어서, 상기 가상 레이블 생성 장치의 일구성인 구분 모듈이, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 단계; 상기 가상 레이블 생성 장치의 일구성인 도메인 특화 점수 계산 모듈이, 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 단계; 상기 가상 레이블 생성 장치의 일구성인 고빈도 일반 용어 분류 모듈이, 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 단계; 상기 가상 레이블 생성 장치의 일구성인 클러스터링 모듈이, 상기 고빈도 일반 용어 분류 모듈에 의해 분류된 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 단계; 상기 가상 레이블 생성 장치의 일구성인 2차 분류 모듈이, 상기 클러스터링 모듈에서 상기 고빈도 일반 용어와의 유사도를 기초로 클러스터링 된 상기 유사 문장 그룹에 포함된 복수개의 문장을 상기 도메인 특화 용어와의 유사도를 기초로 2차 분류하여 적어도 하나의 도메인 유사 문장 그룹으로 분류하는 2차 분류 단계; 상기 가상 레이블 생성 장치의 일구성인 도메인 다양성 계산 모듈이, 상기 2차 분류 모듈에 의해 상기 유사 문장 그룹 내에서 분류되는 상기 도메인 유사 문장 그룹의 개수를 토대로 상기 유사 문장 그룹의 도메인 다양성을 계산하는 도메인 다양성 계산 단계; 및 상기 가상 레이블 생성 장치의 일구성인 레이블 문장 그룹 판정 모듈이, 상기 도메인 다양성 계산 모듈에서 계산된 상기 유사 문장 그룹의 상기 도메인 다양성을 기초로 상기 유사 문장 그룹의 중요도를 판정하여 챗봇 관리자에게 제공할 문장 그룹인 레이블 문장 그룹을 판정하는 레이블 문장 그룹 판정 단계;을 포함하고, 상기 챗봇 관리자가 상기 레이블 문장 그룹을 레이블링 할 수 있도록, 상기 레이블 문장 그룹을 챗봇 관리자의 클라이언트에 제공하는 것을 특징으로 하는, 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 방법을 제공하여 달성될 수 있다. Another object of the present invention is to provide a virtual label generation method using a virtual label generation apparatus for labeling a training set for learning of an artificial intelligence module of a chatbot receiving question data and outputting specific answer data, A classifying module which is a constituent unit of the apparatus receives the question data in a general string form and classifies the question data into entities or intents and processes the question data into vector values; The domain-specific score calculation module, which is a component of the virtual label generation device, calculates a word occurrence frequency or a word occurrence probability in the question data and a word occurrence probability in the general corpus in order to judge whether the word classified in the classification module is characteristic to a specific domain A domain-specific score calculation step of comparing the appearance frequency of a word or the probability of appearance of a word and determining a domain-specific score that is a score of how characteristic a word is in the corresponding word through the difference; Wherein the high frequency general term classification module which is a component of the virtual label generation apparatus comprises a domain specific word calculation module for calculating a domain specific word and a general term specific to the corresponding domain of the query data based on the domain specific word, A high frequency general term classification step of classifying a high frequency general term having a frequency of occurrence of a word or a probability of occurrence of a word among the general terms; A clustering step of clustering the query data into at least one similar sentence group on the basis of the degree of similarity with the high frequency general term classified by the high frequency general term classification module; Wherein the second classifying module, which is a component of the virtual label generating apparatus, searches a plurality of sentences included in the similar sentence group clustered on the basis of the similarity with the high frequency general term in the clustering module, A second classifying step of classifying the sentence into at least one domain similar sentence group; Wherein the domain diversity calculation module, which is a constitution of the virtual label generation apparatus, calculates a domain diversity of the similar sentence group based on the number of the domain similar sentence groups classified in the similar sentence group by the second classification module, Diversity calculation step; And a label sentence group determination module that is a component of the virtual label generation device determines the importance of the similar sentence group based on the domain diversity of the similar sentence group calculated by the domain diversity calculation module and provides the similar sentence group to the chatbox manager And a label sentence group determination step of determining a label sentence group that is a sentence group, wherein the label sentence group is provided to a client of the chatbot manager so that the chatbot manager can label the label sentence group. This can be achieved by providing a virtual label generation method for labeling a training set of a chatbot.
본 발명의 다른 목적은, 일반 문자열 형태의 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하는 구분 모듈; 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 모듈; 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 용어인 도메인 특화 용어를 분류하는 도메인 특화 용어 분류 모듈; 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 상기 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 모듈; 및 상기 도메인 특화 용어 분류 모듈에 의해 분류된 상기 도메인 특화 용어 및 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 모듈;을 포함하는, 도메인 특화 용어 및 고빈도 일반 용어를 이용한 문장 클러스터링 장치를 제공하여 달성될 수 있다.It is another object of the present invention to provide a classifying module for classifying question data of a general string form into entities or intents; In order to judge whether or not the segmented phrases classified in the classification module are characteristic to a specific domain, the probability of occurrence of a word or occurrence of a word in the question data is compared with the probability of occurrence of a word or occurrence of a word in a general corpus, A domain-specific score calculation module for determining a domain-specific score that is a score of how characteristic a phrase is in the domain; A domain-specific term classification module for classifying a domain-specific term, which is a term specific to the domain, among the phrases of the question data, based on the domain-specific score calculated by the domain-specific score calculation module; A high frequency general term classification module for classifying the domain-specific terms and general terms specific to the domain among the phrases of the question data and classifying high frequency common terms having a high frequency of occurrence of phrases or phrases among the general terms; And a clustering module for clustering the query data into at least one similar sentence group based on the degree of similarity with the domain-specific term and the high frequency general term classified by the domain-specific term classification module. Can be achieved by providing a sentence clustering apparatus using high frequency general terms.
본 발명의 다른 목적은, 구분 모듈이, 일반 문자열 형태의 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하는 구분 단계; 도메인 특화 점수 계산 모듈이, 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 단계; 도메인 특화 용어 분류 모듈이, 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 용어인 도메인 특화 용어를 분류하는 도메인 특화 용어 분류 단계; 고빈도 일반 용어 분류 모듈이, 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 상기 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 단계; 및 클러스터링 모듈이, 상기 도메인 특화 용어 분류 모듈에 의해 분류된 상기 도메인 특화 용어 및 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 단계;를 포함하는, 도메인 특화 용어 및 고빈도 일반 용어를 이용한 문장 클러스터링 방법을 제공하여 달성될 수 있다.Another object of the present invention is to provide a classifying module for classifying question data of a general string type into entities or intents; The domain-specific score calculation module calculates the probability of occurrence of a word in the question data or the probability of occurrence of a word in the question data and the probability of occurrence of a word in the general corpus or the probability of occurrence of a word in the general corpus, A domain-specific score calculation step of determining a domain-specific score, which is a score of a characteristic word for the corresponding word, through a difference; Wherein the domain-specific term classification module classifies domain-specific terms, which are terms specific to the domain, among the phrases of the query data based on the domain-specific score calculated by the domain-specific score calculation module; Wherein the high frequency general term classification module classifies the domain-specific terms and general terms specific to the domain among the phrases of the question data and classifies high frequency general terms having a high frequency of occurrence of phrases or phrases High frequency general term classification step; And clustering module clustering the query data into at least one similar sentence group based on the degree of similarity with the domain-specific term and the high frequency general term classified by the domain-specific term classification module. Domain specific terms and high frequency general terms.
본 발명의 다른 목적은, 구분 모듈이, 일반 문자열 형태의 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하는 구분 단계; 도메인 특화 점수 계산 모듈이, 상기 구분 모듈에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 단계; 도메인 특화 용어 분류 모듈이, 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 용어인 도메인 특화 용어를 분류하는 도메인 특화 용어 분류 단계; 고빈도 일반 용어 분류 모듈이, 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 상기 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 단계; 및 클러스터링 모듈이, 상기 도메인 특화 용어 분류 모듈에 의해 분류된 상기 도메인 특화 용어 및 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 단계;를 포함하는, 도메인 특화 용어 및 고빈도 일반 용어를 이용한 문장 클러스터링 방법을 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램을 제공하여 달성될 수 있다.Another object of the present invention is to provide a classifying module for classifying question data of a general string type into entities or intents; The domain-specific score calculation module calculates the probability of occurrence of a word in the question data or the probability of occurrence of a word in the question data and the probability of occurrence of a word in the general corpus or the probability of occurrence of a word in the general corpus, A domain-specific score calculation step of determining a domain-specific score, which is a score of a characteristic word for the corresponding word, through a difference; Wherein the domain-specific term classification module classifies domain-specific terms, which are terms specific to the domain, among the phrases of the query data based on the domain-specific score calculated by the domain-specific score calculation module; Wherein the high frequency general term classification module classifies the domain-specific terms and general terms specific to the domain among the phrases of the question data and classifies high frequency general terms having a high frequency of occurrence of phrases or phrases High frequency general term classification step; And clustering module clustering the query data into at least one similar sentence group based on the degree of similarity with the domain-specific term and the high frequency general term classified by the domain-specific term classification module. It is possible to achieve a sentence clustering method using a domain specific term and a high frequency general term by providing a program stored in a recording medium which is executed on a computer.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.As described above, the present invention has the following effects.
첫째, 본 발명의 일실시예에 따르면, 기존의 10만건의 데이터를 10개의 레이블로 집합화하면, 지도학습에 필요한 레이블은 10건의 답변을 입력하는 과정으로 끝낼 수 있게 되는 효과가 발생된다. 이 과정에서 분류되는 기준은 지도학습의 판단기준과 유사한 방법론으로 레이블을 할당하기 때문에 인간이 수동적으로 할당한 데이터보다 더 명확하게 구별할 수 있는 유효한 훈련 데이터를 생성할 수 있다.First, according to one embodiment of the present invention, if the existing 100,000 data sets are grouped into ten labels, the label required for map learning can be ended by inputting ten answers. The criteria that are classified in this process can generate valid training data that can be more clearly distinguished than the manually assigned data because labels are assigned in a methodology that is similar to the criteria for learning maps.
둘째, 본 발명의 일실시예에 따르면, 질문 데이터가 가공되지 않아서 레이블 자체가 형성되어있지 않은 경우나, 레이블이 잘못 형성되어있는 경우(즉 질문과 대답의 매칭이 잘못 되어있는 경우) 등에도 도메인에 맞게 관련이 있는 질문 데이터의 문장들이 클러스터링 되는 효과가 발생된다.Second, according to one embodiment of the present invention, when the question data is not processed and the label itself is not formed, or when the label is erroneously formed (i.e., the matching of the question and the answer is wrong) The effect of clustering the sentences of the question data related to each other is generated.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 챗봇의 기본적인 모듈 구성을 도시한 모식도,
도 2는 일반적인 챗봇 모듈 구성을 구체적으로 도시한 모식도,
도 3은 머신러닝을 이용한 챗봇 모듈 구성을 구체적으로 도시한 모식도,
도 4는 본 발명의 일실시예에 따른 가상 레이블 생성 장치와 챗봇 인공지능 모듈과의 관계를 나타낸 모식도,
도 5는 본 발명의 제1실시예에 따른 가상 레이블 생성 장치를 도시한 모식도,
도 6은 본 발명의 제2실시예에 따른 가상 레이블 생성 장치를 도시한 모식도,
도 7은 본 발명의 일실시예에 따른 고빈도 일반 용어 분류 모듈에 의한 질문 데이터의 분류를 도시한 것,
도 8은 본 발명의 제3실시예에 따른 가상 레이블 생성 장치를 도시한 모식도,
도 9는 본 발명의 제3실시예에 따른 2차 분류 모듈(41)에 의한 도메인 유사 문장 그룹으로의 분류의 예를 도시한 모식도,
도 10은 본 발명의 제1실시예에 따른 가상 레이블 생성 방법을 도시한 모식도,
도 11은 본 발명의 제1실시예에 따른 가상 레이블 생성 방법의 각 단계별 결과 예시를 도시한 것,
도 12는 본 발명의 제2실시예에 따른 가상 레이블 생성 방법을 도시한 모식도,
도 13은 본 발명의 제2실시예에 따른 가상 레이블 생성 방법의 각 단계별 결과 예시를 도시한 것,
도 14는 본 발명의 제3실시예에 따른 가상 레이블 생성 방법을 도시한 모식도,
도 15는 본 발명의 제3실시예에 따른 가상 레이블 생성 방법의 각 단계별 결과 예시를 도시한 것,
도 16은 본 발명의 제4실시예에 따른 가상 레이블 생성 방법을 도시한 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate preferred embodiments of the invention and, together with the description, And shall not be interpreted.
1 is a schematic diagram showing a basic module configuration of a chatbox,
FIG. 2 is a schematic diagram specifically showing a general chatbot module configuration,
FIG. 3 is a schematic diagram specifically showing the configuration of a chatbot module using machine learning,
FIG. 4 is a schematic diagram illustrating a relationship between a virtual label generation apparatus and a chatbox AI module according to an embodiment of the present invention;
5 is a schematic diagram illustrating a virtual label generation apparatus according to a first embodiment of the present invention.
6 is a schematic diagram showing a virtual label generating apparatus according to a second embodiment of the present invention.
FIG. 7 illustrates classification of query data by the high frequency general term classification module according to an embodiment of the present invention,
FIG. 8 is a schematic diagram showing a virtual label generation apparatus according to a third embodiment of the present invention,
9 is a schematic diagram showing an example of classification into a domain similar sentence group by the secondary classification module 41 according to the third embodiment of the present invention,
FIG. 10 is a schematic diagram illustrating a method of generating a virtual label according to the first embodiment of the present invention. FIG.
11 is a diagram illustrating an example of a result of each step of the method of generating a virtual label according to the first embodiment of the present invention,
12 is a schematic diagram illustrating a method of generating a virtual label according to a second embodiment of the present invention.
13 is a diagram illustrating an example of a result of each step of the method of generating a virtual label according to the second embodiment of the present invention,
FIG. 14 is a schematic diagram illustrating a method of generating a virtual label according to a third embodiment of the present invention;
FIG. 15 is a diagram illustrating an example of a result of each step of the method of generating a virtual label according to the third embodiment of the present invention,
FIG. 16 illustrates a method of generating a virtual label according to a fourth embodiment of the present invention.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following detailed description of the operation principle of the preferred embodiment of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may unnecessarily obscure the subject matter of the present invention.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.The same reference numerals are used for portions having similar functions and functions throughout the drawings. In the specification, when a specific portion is connected to another portion, it includes not only a direct connection but also a case where the other portion is indirectly connected with another element in between. In addition, the inclusion of a specific constituent element does not exclude other constituent elements unless specifically stated otherwise, but may include other constituent elements.
특정 도메인에 대한 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 장치Virtual Label Generator for Chatset's Training Set Labeling for Specific Domains
도 4는 본 발명의 일실시예에 따른 가상 레이블 생성 장치와 챗봇 인공지능 모듈과의 관계를 나타낸 모식도이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 가상 레이블 생성 장치(1)는 질문 데이터(200, 사용자가 입력하는 질문 쿼리 데이터 또는 고객사가 제공해주는 기존 Q&A 데이터 세트)를 받아서 챗봇 관리자의 라벨링 지원을 받아 챗봇 인공지능 모듈(10)의 학습에 적용되는 트레이닝 세트를 생성하게 된다. 질문 데이터(200)에는 특정 대답으로 매핑되도록 레이블이 된 문의의 문장들 또는 레이블 되지 않은 문장들이 포함될 수 있다. 본 발명의 일실시예에 따른 가상 레이블 생성 장치(1)에 따라 챗봇 인공지능 모듈(10)은 레이블이 잘못되거나 불명확한 질문 데이터 세트로도 특정 도메인에 특징적인 챗봇을 구현할 수 있게 되는 효과가 발생된다.4 is a schematic diagram illustrating a relationship between a virtual label generation apparatus and a chatbox AI module according to an embodiment of the present invention. 4, the virtual
[제1실시예][First Embodiment]
도 5는 본 발명의 제1실시예에 따른 가상 레이블 생성 장치를 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 제1실시예에 따른 가상 레이블 생성 장치(1)는 질문 데이터(200)가 입력될 수 있고, 구분 모듈(2), 분류 모듈(3), 레이블링 모듈(5)을 포함할 수 있다. 5 is a schematic diagram showing a virtual label generating apparatus according to a first embodiment of the present invention. 5, the virtual
구분 모듈(2)은 질문 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)나 의미구(intent)와 같은 어구로 구분하는 모듈이다. NLP 모듈(21)은 구체적으로 형태소 분석, 어간 추출, 불용어 추출, TF, TFIDF 등의 기능을 포함할 수 있다. 이후, 벡터화 모듈(22, Sentence2vec나 Word2vec, SyntexNet)에 의해 구분된 개체(entity)나 의미구(intent)와 같은 어구를 벡터값으로 처리하게 된다. 또는 Word2vec가 이용될 수 있고, 구체적으로는 n-gram, 문맥으로부터 단어를 예측하는 CBOW 모델, 또는 단어로부터 문맥을 예측하는 Skip-gram 모델 등이 이용될 수 있다. The class module 2 receives the question data 200 as a normal text form and inputs the general string form into the
분류 모듈(3)은 본 발명의 일실시예에 따른 특정 룰을 토대로 질문 데이터(200)의 문장들을 클러스터링하여 관리자가 레이블링을 하게 되는 언레이블드 그룹(unlabeled group)인 유사 문장 그룹을 생성하는 모듈이다. 본 발명의 일실시예에 따른 분류 모듈(3)은 도메인 특화 점수 계산 모듈(31), 도메인 특화 용어 분류 모듈(32), 클러스터링 모듈(33)을 포함할 수 있다. The classification module 3 is a module for clustering sentences of the question data 200 based on a specific rule according to an embodiment of the present invention and generating a similar sentence group which is an unlabeled group to be. The classification module 3 according to an embodiment of the present invention may include a domain-specific
도메인 특화 점수 계산 모듈(31)은 구분 모듈(2)에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 질문 데이터에서의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus에서의 어구 출현 빈도(또는 어구 출현 확률)를 비교하고, 두 빈도의 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 모듈이다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 어구 출현 확률)를 파악하고, General corpus의 어구 출현 빈도보다 질문 데이터(200)에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다. General corpus의 데이터의 양에 따라 어구 출현 빈도 판단의 기준이 될 상호관계의 거리를 i+n, i-n 까지 늘리거나 줄일 수 있다. 여기서 말하는 i는 문장 내 단어의 index 이다. 데이터의 양과 상수 n은 비례할 수 있다.The domain-specific
도메인 특화 용어 분류 모듈(32)은 도메인 특화 점수 계산 모듈(31)에서 계산된 도메인 특화 점수를 토대로 질문 데이터(200)의 어구들 중 도메인 특화 용어를 분류하는 구성이다. 도메인 특화 용어 분류 모듈(32)에 의해 질문 데이터(200)의 어구들은 도메인 특화 용어, 일반 용어로 구분될 수 있다. The domain-specific
클러스터링 모듈(33)은 도메인 특화 용어 분류 모듈(32)에 의해 분류된 각각의 도메인 특화 용어와 가까운 거리(유사도)의 어구(유사 어구)를 포함하는 질문 데이터(200)의 문장을 적어도 하나 이상의 그룹(유사 문장 그룹)으로 클러스터링하는 구성이다. 도메인 특화 용어와의 유사도 판단은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 예를 들어, 한국어의 경우, 국립국어원의 General Corpus 등을 이용할 수 있고, 영어는 Brown Corpus 등을 이용할 수 있다. 또는, 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다. 이를 Knowledge-based Similarity라고 할 수 있다. 예를 들어, wordNet을 들 수 있다. wordNet을 활용한 단어와 단어 사이의 유사도 측정은 노드 사이의 최소 거리를 활용하는 Path similarity, 노드의 최소거리 및 최대 깊이를 활용하는 Leacock & Chodorow Similarity, 깊이 및 최소 상위 노드를 활용하는 Wu & Palmer Similarity 등의 방법으로 수행될 수 있다.The
레이블링 모듈(5)은 클러스터링 모듈(33)에 의해 생성된 적어도 하나 이상의 유사 문장 그룹(복수개의 문장으로 구성됨)을 챗봇 관리자의 클라이언트에 제공하고, 챗봇 관리자의 클라이언트에서 적어도 하나 이상의 유사 문장 그룹에 대응되는 레이블을 입력받아 질문과 대답을 매칭하는 구성이다. 레이블링 모듈(5)에 의해 매우 정확도 높은 트레이닝 세트로서의 질문 데이터가 완성되는 효과가 발생된다.The
[제2실시예][Second Embodiment]
도 6은 본 발명의 제2실시예에 따른 가상 레이블 생성 장치를 도시한 모식도이다. 도 6에 도시된 바와 같이, 본 발명의 제2실시예에 따른 가상 레이블 생성 장치(1)는 질문 데이터(200)가 입력될 수 있고, 구분 모듈(2), 분류 모듈(3), 레이블링 모듈(5)을 포함할 수 있다. 6 is a schematic diagram showing a virtual label generation apparatus according to a second embodiment of the present invention. 6, the virtual
구분 모듈(2)은 질문 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)나 의미구(intent)와 같은 어구로 구분하는 모듈이다. NLP 모듈(21)은 구체적으로 형태소 분석, 어간 추출, 불용어 추출, TF, TFIDF 등의 기능을 포함할 수 있다. 이후, 벡터화 모듈(22, Sentence2vec나 Word2vec, SyntexNet)에 의해 구분된 개체(entity)나 의미구(intent)와 같은 어구를 벡터값으로 처리하게 된다. 또는 Word2vec가 이용될 수 있고, 구체적으로는 n-gram, 문맥으로부터 단어를 예측하는 CBOW 모델, 또는 단어로부터 문맥을 예측하는 Skip-gram 모델 등이 이용될 수 있다. The class module 2 receives the question data 200 as a normal text form and inputs the general string form into the
분류 모듈(3)은 본 발명의 일실시예에 따른 특정 룰을 토대로 질문 데이터(200)의 문장들을 클러스터링하여 관리자가 레이블링을 하게 되는 언레이블드 그룹(unlabeled group)인 유사 문장 그룹을 생성하는 모듈이다. 본 발명의 일실시예에 따른 분류 모듈(3)은 도메인 특화 점수 계산 모듈(31), 고빈도 일반 용어 분류 모듈(34), 클러스터링 모듈(33)을 포함할 수 있다. The classification module 3 is a module for clustering sentences of the question data 200 based on a specific rule according to an embodiment of the present invention and generating a similar sentence group which is an unlabeled group to be. The classification module 3 according to an embodiment of the present invention may include a domain-specific
도메인 특화 점수 계산 모듈(31)은 구분 모듈(2)에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 질문 데이터에서의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus에서의 어구 출현 빈도(또는 어구 출현 확률)를 비교하고, 두 빈도의 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 모듈이다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 어구 출현 확률)를 파악하고, General corpus의 어구 출현 빈도보다 질문 데이터(200)에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다. General corpus의 데이터의 양에 따라 어구 출현 빈도 판단의 기준이 될 상호관계의 거리를 i+n, i-n 까지 늘리거나 줄일 수 있다. 여기서 말하는 i는 문장 내 단어의 index 이다. 데이터의 양과 상수 n은 비례할 수 있다.The domain-specific
고빈도 일반 용어 분류 모듈(34)은 도메인 특화 점수 계산 모듈(31)에서 계산된 도메인 특화 점수를 토대로 질문 데이터(200)의 어구들 중 고빈도 일반 용어를 분류하는 구성이다. 도 7은 본 발명의 일실시예에 따른 고빈도 일반 용어 분류 모듈에 의한 질문 데이터의 분류를 도시한 것이다. 도 7에 도시된 바와 같이, 고빈도 일반 용어 분류 모듈(34)에 의해 질문 데이터(200)의 어구들은 도메인 특화 용어, 일반 용어로 구분될 수 있다. The high frequency general term classification module 34 classifies the high frequency general terms among the phrases of the question data 200 based on the domain specific score calculated by the domain specific
일반 용어는 고빈도 일반 용어와 저빈도 일반 용어로 구분될 수 있다. 본 발명의 일실시예에 따른 도메인 특화 용어란, 도메인 특화 점수 계산 모듈(31)에서 정의된 바와 같이, 질문 데이터(200)에서의 어구의 출현 확률빈도가 일반 말뭉치(general corpus)에서의 확률빈도보다 월등히 높은 어구를 의미한다. 도메인 특화 용어가 아닌 나머지 어구들은 일반 용어로 구분될 수 있고, 일반 용어는 고빈도 일반 용어와 저빈도 일반 용어로 구분될 수 있다. 고빈도 일반 용어는 도메인 안에서의 확률 빈도는 높지만 일반 말뭉치에서의 확률 빈도도 높아서 어구의 출현 확률빈도가 질문 데이터(200)와 일반 말뭉치(general corpus)에서 크게 차이가 나지 않아 일반 용어로 분류된 어구들을 의미한다. 고빈도 일반 용어가 되는 단어들의 기준점은, 예를 들어, 가장 낮은 빈도수를 가지는 도메인 특화 용어의 빈도수보다 높은 용어로 정의될 수 있다. 고빈도 일반 용어에는 일반적으로 많이 쓰는 표현 - 장소(지역명, 지역대명사 등), 시간(내일, 오전, 다음주 등) - 이 많이 포함될 수 있고, 특정 의미가 없는 일반용어가 도메인 내에선 특정 의미로 많이 사용되는 용어라는 점을 도메인에서의 출현 빈도에 기초하여 확인할 수 있다.General terms can be divided into high frequency general terms and low frequency general terms. The domain-specific term according to an embodiment of the present invention is defined as a domain specific score of a query corpus, as defined in the domain-specific
저빈도 일반 용어는 고빈도 일반 용어를 제외한 일반 용어를 의미할 수 있다. 즉, 저빈도 일반 용어는 질문 데이터(200)에서도 출현 확률빈도가 낮고, 일반 말뭉치(general corpus)에서도 출현 확률빈도가 낮은 것을 의미할 수 있다. 저빈도 일반 용어는 질문 데이터(200)의 클러스터링에 있어서 노이즈에 가깝다고 판단될 수 있다. Low frequency generic terms can mean generic terms except high frequency generic terms. That is, the low frequency general term may mean that the occurrence probability frequency is low in the question data 200 and the occurrence probability frequency is low in the general corpus. The low frequency general term may be determined to be close to noise in the clustering of the query data 200. [
클러스터링 모듈(33)은 고빈도 일반 용어 분류 모듈(34)에 의해 분류된 각각의 고빈도 일반 용어와 가까운 거리(유사도)의 어구(유사 어구)를 포함하는 질문 데이터(200)의 문장을 적어도 하나 이상의 그룹(유사 문장 그룹)으로 클러스터링하는 구성이다. 고빈도 일반 용어와의 유사도 판단은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 예를 들어, 한국어의 경우, 국립국어원의 General Corpus 등을 이용할 수 있고, 영어는 Brown Corpus 등을 이용할 수 있다. 또는, 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다. 이를 Knowledge-based Similarity라고 할 수 있다. 예를 들어, wordNet을 들 수 있다. wordNet을 활용한 단어와 단어 사이의 유사도 측정은 노드 사이의 최소 거리를 활용하는 Path similarity, 노드의 최소거리 및 최대 깊이를 활용하는 Leacock & Chodorow Similarity, 깊이 및 최소 상위 노드를 활용하는 Wu & Palmer Similarity 등의 방법으로 수행될 수 있다.The
레이블링 모듈(5)은 클러스터링 모듈(33)에 의해 생성된 적어도 하나 이상의 유사 문장 그룹(복수개의 문장으로 구성됨)을 챗봇 관리자의 클라이언트에 제공하고, 챗봇 관리자의 클라이언트에서 적어도 하나 이상의 유사 문장 그룹에 대응되는 레이블을 입력받아 질문과 대답을 매칭하는 구성이다. 레이블링 모듈(5)에 의해 매우 정확도 높은 트레이닝 세트로서의 질문 데이터가 완성되는 효과가 발생된다.The
[제3실시예][Third Embodiment]
도 8은 본 발명의 제3실시예에 따른 가상 레이블 생성 장치를 도시한 모식도이다. 도 8에 도시된 바와 같이, 본 발명의 제3실시예에 따른 가상 레이블 생성 장치(1)는 질문 데이터(200)가 입력될 수 있고, 구분 모듈(2), 분류 모듈(3), 중요도 판정 모듈(4), 레이블링 모듈(5)을 포함할 수 있다. 8 is a schematic diagram showing a virtual label generation apparatus according to a third embodiment of the present invention. 8, the virtual
구분 모듈(2)은 질문 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)나 의미구(intent)와 같은 어구로 구분하는 모듈이다. NLP 모듈(21)은 구체적으로 형태소 분석, 어간 추출, 불용어 추출, TF, TFIDF 등의 기능을 포함할 수 있다. 이후, 벡터화 모듈(22, Sentence2vec나 Word2vec, SyntexNet)에 의해 구분된 개체(entity)나 의미구(intent)와 같은 어구를 벡터값으로 처리하게 된다. 또는 Word2vec가 이용될 수 있고, 구체적으로는 n-gram, 문맥으로부터 단어를 예측하는 CBOW 모델, 또는 단어로부터 문맥을 예측하는 Skip-gram 모델 등이 이용될 수 있다. The class module 2 receives the question data 200 as a normal text form and inputs the general string form into the
분류 모듈(3)은 본 발명의 일실시예에 따른 특정 룰을 토대로 질문 데이터(200)의 문장들을 클러스터링하여 관리자가 레이블링을 하게 되는 언레이블드 그룹(unlabeled group)인 유사 문장 그룹을 생성하는 모듈이다. 본 발명의 일실시예에 따른 분류 모듈(3)은 도메인 특화 점수 계산 모듈(31), 고빈도 일반 용어 분류 모듈(34), 클러스터링 모듈(33)을 포함할 수 있다. The classification module 3 is a module for clustering sentences of the question data 200 based on a specific rule according to an embodiment of the present invention and generating a similar sentence group which is an unlabeled group to be. The classification module 3 according to an embodiment of the present invention may include a domain-specific
도메인 특화 점수 계산 모듈(31)은 구분 모듈(2)에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 질문 데이터에서의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus에서의 어구 출현 빈도(또는 어구 출현 확률)를 비교하고, 두 빈도의 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 모듈이다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 어구 출현 확률)를 파악하고, General corpus의 어구 출현 빈도보다 질문 데이터(200)에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다. General corpus의 데이터의 양에 따라 어구 출현 빈도 판단의 기준이 될 상호관계의 거리를 i+n, i-n 까지 늘리거나 줄일 수 있다. 여기서 말하는 i는 문장 내 단어의 index 이다. 데이터의 양과 상수 n은 비례할 수 있다.The domain-specific
고빈도 일반 용어 분류 모듈(34)은 도메인 특화 점수 계산 모듈(31)에서 계산된 도메인 특화 점수를 토대로 질문 데이터(200)의 어구들 중 고빈도 일반 용어를 분류하는 구성이다. 도 7은 본 발명의 일실시예에 따른 고빈도 일반 용어 분류 모듈에 의한 질문 데이터의 분류를 도시한 것이다. 도 7에 도시된 바와 같이, 고빈도 일반 용어 분류 모듈(34)에 의해 질문 데이터(200)의 어구들은 도메인 특화 용어, 일반 용어로 구분될 수 있다. The high frequency general term classification module 34 classifies the high frequency general terms among the phrases of the question data 200 based on the domain specific score calculated by the domain specific
일반 용어는 고빈도 일반 용어와 저빈도 일반 용어로 구분될 수 있다. 본 발명의 일실시예에 따른 도메인 특화 용어란, 도메인 특화 점수 계산 모듈(31)에서 정의된 바와 같이, 질문 데이터(200)에서의 어구의 출현 확률빈도가 일반 말뭉치(general corpus)에서의 확률빈도보다 월등히 높은 어구를 의미한다. 도메인 특화 용어가 아닌 나머지 어구들은 일반 용어로 구분될 수 있고, 일반 용어는 고빈도 일반 용어와 저빈도 일반 용어로 구분될 수 있다. 고빈도 일반 용어는 도메인 안에서의 확률 빈도는 높지만 일반 말뭉치에서의 확률 빈도도 높아서 어구의 출현 확률빈도가 질문 데이터(200)와 일반 말뭉치(general corpus)에서 크게 차이가 나지 않아 일반 용어로 분류된 어구들을 의미한다. 고빈도 일반 용어가 되는 단어들의 기준점은, 예를 들어, 가장 낮은 빈도수를 가지는 도메인 특화 용어의 빈도수보다 높은 용어로 정의될 수 있다. 고빈도 일반 용어에는 일반적으로 많이 쓰는 표현 - 장소(지역명, 지역대명사 등), 시간(내일, 오전, 다음주 등) - 이 많이 포함될 수 있고, 특정 의미가 없는 일반용어가 도메인 내에선 특정 의미로 많이 사용되는 용어라는 점을 도메인에서의 출현 빈도에 기초하여 확인할 수 있다. General terms can be divided into high frequency general terms and low frequency general terms. The domain-specific term according to an embodiment of the present invention is defined as a domain specific score of a query corpus, as defined in the domain-specific
고빈도 일반 용어의 경우, 각각의 어구 사이의 거리를 일반 말뭉치(general corpus)로부터 계산하고 가까운 거리의 집합된 단어들을 집합화하면 어구들의 집합이 어떤 의미를 갖는지는 자동화하기 어렵지만, 분류된 집합의 어구들을 살펴보면 시간을 의미하는 문장 그룹, 장소를 의미하는 문장 그룹 등으로 분류된 것을 확인할 수 있다. 이에 따라 고빈도 일반 용어는 해당 도메인에서 특수한 또는 중요한 역할을 하는 용어로 정의될 수 있다.In the case of high frequency general terms, it is difficult to automate the meaning of the set of phrases by calculating the distance between each phrase from a general corpus and grouping the aggregated words at a close distance. However, If you look at the phrases, you can see that they are classified into sentence group which means time, and sentence group which means place. Accordingly, the high frequency generic term can be defined as a special or important term in the domain.
저빈도 일반 용어는 고빈도 일반 용어를 제외한 일반 용어를 의미할 수 있다. 즉, 저빈도 일반 용어는 질문 데이터(200)에서도 출현 확률빈도가 낮고, 일반 말뭉치(general corpus)에서도 출현 확률빈도가 낮은 것을 의미할 수 있다. 저빈도 일반 용어는 질문 데이터(200)의 클러스터링에 있어서 노이즈에 가깝다고 판단될 수 있다. Low frequency generic terms can mean generic terms except high frequency generic terms. That is, the low frequency general term may mean that the occurrence probability frequency is low in the question data 200 and the occurrence probability frequency is low in the general corpus. The low frequency general term may be determined to be close to noise in the clustering of the query data 200. [
클러스터링 모듈(33)은 고빈도 일반 용어 분류 모듈(34)에 의해 분류된 각각의 고빈도 일반 용어와 가까운 거리(유사도)의 어구(유사 어구)를 포함하는 질문 데이터(200)의 문장을 적어도 하나 이상의 그룹(유사 문장 그룹)으로 클러스터링하는 구성이다. 고빈도 일반 용어와의 유사도 판단은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 예를 들어, 한국어의 경우, 국립국어원의 General Corpus 등을 이용할 수 있고, 영어는 Brown Corpus 등을 이용할 수 있다. 또는, 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다. 이를 Knowledge-based Similarity라고 할 수 있다. 예를 들어, wordNet을 들 수 있다. wordNet을 활용한 단어와 단어 사이의 유사도 측정은 노드 사이의 최소 거리를 활용하는 Path similarity, 노드의 최소거리 및 최대 깊이를 활용하는 Leacock & Chodorow Similarity, 깊이 및 최소 상위 노드를 활용하는 Wu & Palmer Similarity 등의 방법으로 수행될 수 있다.The
다른 예로, 질문 데이터의 문장 자체가 도메인 특화 용어로만 되어 있는 경우에는 고빈도 일반 용어와의 유사도를 통해 클러스터되는 것과 별도로 클러스터링을 할 수 있다. 이렇게 도메인 특화 용어와의 유사도로 클러스터링 되는 유사 문장 그룹은 중요도 판정 모듈(4)을 거치지 않고 곧바로 레이블링 모듈(5)로 제공될 수 있다. As another example, when the sentence of question data itself is only domain-specific terms, clustering can be performed separately from clustering through similarity with high frequency general terms. The similar sentence group clustered in similarity with the domain-specific terms can be provided to the
중요도 판정 모듈(4)은 클러스터링 모듈(33)에서 클러스터링 된 적어도 하나 이상의 유사 문장 그룹(고빈도 일반 용어와 유사한 어구를 포함하는 문장 그룹)에서 도메인에 중요한 유사 문장 그룹인지 여부를 판정하는 모듈이다. 중요도 판정 모듈(4)은 2차 분류 모듈(41), 도메인 다양성 계산 모듈(42), 레이블 문장 그룹 판정 모듈(43)을 포함할 수 있다. The importance level determination module 4 is a module for determining whether or not it is an important similar sentence group in the domain in at least one similar sentence group cluster (a sentence group including a phrase similar to the high frequency common term) clustered in the
2차 분류 모듈(41)은 클러스터링 모듈(33)에서 고빈도 일반 용어와의 유사도를 기초로 클러스터링 된 적어도 하나 이상의 유사 문장 그룹에 포함된 복수개의 문장을 도메인 특화 용어와의 유사도를 기초로 2차 분류하여 도메인 유사 문장 그룹으로 분류하는 모듈이다. 도 9는 본 발명의 제3실시예에 따른 2차 분류 모듈(41)에 의한 도메인 유사 문장 그룹으로의 분류의 예를 도시한 모식도이다. 도 9에 도시된 바와 같이, 본 발명의 제3실시예에 따른 2차 분류 모듈(41)에 따르면 고빈도 일반 용어를 기준으로 A 유사 문장 그룹과 B 유사 문장 그룹으로 구분되고, 도메인 특화 용어를 기준으로 각각의 유사 문장 그룹이 적어도 하나의 도메인 유사 문장 그룹으로 분류될 수 있다. The second classification module 41 generates a plurality of sentences included in at least one similar sentence group clustered based on the similarity with the high frequency general term in the
도메인 다양성 계산 모듈(42)은 2차 분류 모듈(41)에 의해 유사 문장 그룹 내에서 분류되는 적어도 하나 이상의 도메인 유사 문장 그룹의 분포를 토대로 해당 유사 문장 그룹의 도메인 다양성을 계산하는 모듈이다. 본 발명의 제3실시예에 따라 도메인 다양성을 계산하는 일 예로, 도메인 특화 용어와의 유사도로 전체 질문 데이터(200)가 몇 개로 분류되는지 계산하고, 각각의 유사 문장 그룹 내에서 2차로 분류되는 도메인 유사 문장 그룹의 수와 비교하는 방법이 이용될 수 있다. 예를 들어, 전체 질문 데이터(200)가 도메인 특화 용어와의 유사도에 의해 10개 그룹으로 분류될 수 있을 때, A 유사 문장 그룹은 5개의 도메인 유사 문장 그룹으로 분류되고 B 유사 문장 그룹은 8개의 도메인 유사 문장 그룹으로 분류되는 경우 A 유사 문장 그룹의 도메인 다양성이 더 낮다고 판정될 수 있다. The domain diversity calculation module 42 is a module for calculating the domain diversity of the similar sentence group based on the distribution of at least one domain similar sentence group classified in the similar sentence group by the secondary classification module 41. As an example of calculating the domain diversity in accordance with the third embodiment of the present invention, it is possible to calculate how many of the total query data 200 are classified based on the degree of similarity with domain-specific terms, A method of comparing with the number of similar sentence groups can be used. For example, when the entire query data 200 can be classified into 10 groups by the degree of similarity with domain-specific terms, the A-like sentence group is classified into five domain-similar sentence groups, and the B- It can be determined that the domain diversity of the A similar sentence group is lower when it is classified into the domain similar sentence group.
레이블 문장 그룹 판정 모듈(43)은 도메인 다양성 계산 모듈에서 계산된 특정 유사 문장 그룹의 도메인 다양성을 기초로 특정 유사 문장 그룹의 중요도를 판정하여 챗봇 관리자에게 제공하는 문장 그룹인 레이블 문장 그룹을 판정하는 모듈이다. 레이블링을 하는 것이 유의미한 문장 그룹을 챗봇 관리자에게 제공하는 것이 본 발명의 제3실시예에 따른 목적이므로, 레이블 문장 그룹 판정 모듈(43)은 유사 문장 그룹의 도메인 다양성을 토대로 그룹의 중요도를 판정하여 챗봇 관리자에게 제공되는 레이블 문장 그룹으로 판정할지, 챗봇 관리자에게 제공되지 않는 문장 그룹으로 판정할지를 결정할 수 있다. The label sentence
일예로, 유사 문장 그룹의 중요도는 해당 유사 문장 그룹의 레이블링 모듈(5)에서의 챗봇 관리자에 대한 제공 여부를 결정해주는 기준이 될 수 있다. 예를 들어, 유사 문장 그룹의 도메인 다양성이 높을수록 해당 도메인에서 레이블을 나누는데 영향을 미치지 않는 문장 그룹일 가능성이 높다고 판정될 수 있고, 유사 문장 그룹의 도메인 다양성이 낮을수록 해당 도메인에서 레이블을 나누는데 영향을 미치는 문장 그룹일 가능성이 높다고 판정될 수 있다. 레이블을 나누는데 영향을 미치는 문장 그룹은 레이블 문장 그룹으로 정의하고 챗봇 관리자에게 제공하도록 레이블링 모듈에 제공할 수 있다. 레이블을 나누는데 영향을 미치지 않는 문장 그룹은 언레이블 문장 그룹으로 정의하고 챗봇 관리자에게 제공하지 않도록 레이블링 모듈에 제공할 수 있다. 본 발명의 제3실시예에 따르면, 도메인 다양성이 높은 유사 문장 그룹의 경우, 해당 고빈도 일반 용어와의 유사도로 클러스터링 된 유사 문장 그룹으로부터 발생된 도메인 유사 문장 그룹들은 유효하지 않다고 판단되어 잡음으로 처리되고, 도메인 특화 용어와의 유사도로 이루어지는 유사 문장 그룹에 흡수되도록 구성될 수 있다. For example, the importance level of the similar sentence group may be a criterion for determining whether or not to provide the chatbot administrator with the
다른 예로, 도메인 다양성이 낮은 유사 문장 그룹의 경우, 2차로 분류되는 도메인 유사 문장 그룹이 레이블 문장 그룹으로 판정될 수 있다. 또한 도메인 다양성이 높은 유사 문장 그룹의 경우, 2차로 분류되는 것과 관련 없이 해당 유사 문장 그룹 자체가 레이블 문장 그룹으로 판정되어 챗봇 관리자의 부하를 줄여줄 수 있다. 이러한 경우, 유사 문장 그룹의 중요도인 도메인 다양성은 해당 유사 문장 그룹을 레이블 문장 그룹으로 판정할지, 해당 유사 문장 그룹 내에서 분류되는 각각의 도메인 유사 문장 그룹을 레이블 문장 그룹으로 판정할지에 대한 기준이 될 수 있다.As another example, in the case of a similar sentence group having a low domain diversity, a domain similar sentence group classified as a second order can be determined as a label sentence group. In the case of a similar sentence group having a high domain diversity, the similar sentence group itself can be determined as a label sentence group regardless of being classified as a second order, thereby reducing the burden on the chatbot manager. In this case, the domain diversity that is the importance of the similar sentence group is a criterion for determining whether the similar sentence group is a label sentence group or whether each domain similar sentence group classified in the similar sentence group is a label sentence group .
레이블링 모듈(5)은 클러스터링 모듈(33)에 의해 생성된 적어도 하나 이상의 유사 문장 그룹 중 레이블 문장 그룹 판정 모듈(43)에 의해 챗봇 관리자에게 제공하기로 판정된 유사 문장 그룹(레이블 문장 그룹)을 챗봇 관리자의 클라이언트에 제공하고, 챗봇 관리자의 클라이언트에서 해당 유사 문장 그룹에 대응되는 레이블을 입력받아 질문과 대답을 매칭하는 구성이다. The
레이블링 모듈(5)에 의해 매우 정확도 높은 트레이닝 세트로서의 질문 데이터가 완성되는 효과가 발생된다. 중요도 판정 모듈(4)에서의 고빈도 일반 용어와의 유사도로 클러스터링 되는 유사 문장 그룹내의 도메인 유사 문장 그룹 분포율을 통해 중복된 문맥 집합군이 감소되는 효과가 발생될 수 있다. 예를 들어, 질문 데이터가 도메인 특화 용어와의 유사도 또는 고빈도 일반 용어와의 유사도만으로 분류되는 경우 챗봇 관리자가 60개의 레이블링을 수행해야 했다면, 본 발명의 제3실시예에 따라 레이블링에 중요하지 않은 유사 문장 그룹들을 배제할 수 있게 되므로 20개의 레이블링만 수행하면 되는 효과가 발생될 수 있는 것이다. An effect that the question data as a highly accurate training set is completed is generated by the
다른 예로, 질문 데이터의 문장 자체가 도메인 특화 용어로만 되어 있는 경우에는 클러스터링 모듈(33)에서 고빈도 일반 용어와의 유사도를 통해 클러스터되는 것과 별도로 클러스터링을 할 수 있다. 이렇게 도메인 특화 용어와의 유사도로 클러스터링 되는 유사 문장 그룹은 중요도 판정 모듈(4)을 거치지 않고 곧바로 레이블링 모듈(5)로 제공될 수 있다. 이러한 경우, 레이블링 모듈(5)은 도메인 특화 용어로만 구성된 유사 문장 그룹과 레이블 문장 그룹 판정 모듈(43)에 의해 챗봇 관리자에게 제공하기로 판정된 레이블 문장 그룹을 챗봇 관리자의 클라이언트에 제공할 수 있다. As another example, when the sentence of the question data itself is only a domain-specific term, the
특정 도메인에 대한 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 방법How to create a virtual label for chattob's training set labeling for a specific domain
[제1실시예][First Embodiment]
도 10은 본 발명의 제1실시예에 따른 가상 레이블 생성 방법을 도시한 모식도이다. 도 10에 도시된 바와 같이, 본 발명의 제1실시예에 따른 가상 레이블 생성 방법은 구분 단계(S10), 도메인 특화 점수 생성 단계(S11), 도메인 특화 용어 분류 단계(S12), 클러스터링 단계(S13)를 포함할 수 있다. 10 is a schematic diagram showing a method of generating a virtual label according to the first embodiment of the present invention. 10, the method of generating a virtual label according to the first embodiment of the present invention includes a classification step S10, a domain-specialized score generation step S11, a domain-specific term classification step S12, a clustering step S13 ).
구분 단계(S10)는, 구분 모듈(2)이 질문 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)나 의미구(intent)와 같은 어구로 구분하고 벡터화 모듈(22)에 의해 vector 값으로 변환하는 단계이다. NLP 모듈(21)은 구체적으로 형태소 분석, 어간 추출, 불용어 추출, TF, TFIDF 등의 기능으로 형태소를 분절할 수 있다. 벡터화 모듈(22, Sentence2vec나 Word2vec, SyntexNet)은 구분된 개체(entity)나 의미구(intent)와 같은 어구를 벡터값으로 처리하게 되는데, Word2vec가 이용될 수 있고, 구체적으로는 n-gram, 문맥으로부터 단어를 예측하는 CBOW 모델, 또는 단어로부터 문맥을 예측하는 Skip-gram 모델 등이 이용될 수 있다. In the discriminating step S10, the discrimination module 2 receives the question data 200 as a normal text form, and the general character string type thus inputted is inputted to the
도메인 특화 점수 생성 단계(S11)는, 분류 모듈(3)의 일구성인 도메인 특화 점수 계산 모듈(31)이 구분 모듈(2)에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 질문 데이터에서의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus에서의 어구 출현 빈도(또는 어구 출현 확률)를 비교하고, 두 빈도의 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 단계이다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 어구 출현 확률)를 파악하고, General corpus의 어구 출현 빈도보다 질문 데이터(200)에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다. General corpus의 데이터의 양에 따라 어구 출현 빈도 판단의 기준이 될 상호관계의 거리를 i+n, i-n 까지 늘리거나 줄일 수 있다. 여기서 말하는 i는 문장 내 단어의 index 이다. 데이터의 양과 상수 n은 비례할 수 있다.The domain-specific score generation step S11 is a step in which the domain-specific
도메인 특화 용어 분류 단계(S12)는, 분류 모듈(3)의 일구성인 도메인 특화 용어 분류 모듈(32)이 도메인 특화 점수 계산 모듈(31)에서 계산된 도메인 특화 점수를 토대로 질문 데이터(200)의 어구들 중 도메인 특화 용어를 분류하는 단계이다. 도메인 특화 용어 분류 모듈(32)에 의해 질문 데이터(200)의 어구들은 도메인 특화 용어, 일반 용어로 구분될 수 있다. The domain-specific term classification step S12 is a step in which the domain-specific
클러스터링 단계(S13)는, 분류 모듈(3)의 일구성인 클러스터링 모듈(33)이 도메인 특화 용어 분류 모듈(32)에 의해 분류된 각각의 도메인 특화 용어와 가까운 거리(유사도)의 어구(유사 어구)를 포함하는 질문 데이터(200)의 문장을 적어도 하나 이상의 그룹(유사 문장 그룹)으로 클러스터링하는 구성이다. 도메인 특화 용어와의 유사도 판단은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 예를 들어, 한국어의 경우, 국립국어원의 General Corpus 등을 이용할 수 있고, 영어는 Brown Corpus 등을 이용할 수 있다. 또는, 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다. 이를 Knowledge-based Similarity라고 할 수 있다. 예를 들어, wordNet을 들 수 있다. wordNet을 활용한 단어와 단어 사이의 유사도 측정은 노드 사이의 최소 거리를 활용하는 Path similarity, 노드의 최소거리 및 최대 깊이를 활용하는 Leacock & Chodorow Similarity, 깊이 및 최소 상위 노드를 활용하는 Wu & Palmer Similarity 등의 방법으로 수행될 수 있다.The clustering step S13 is a step in which the
클러스터링 단계(S13)에서 생성된 적어도 하나 이상의 유사 문장 그룹은, 레이블링 모듈(5)에 의해 챗봇 관리자의 클라이언트에 제공되고, 챗봇 관리자의 클라이언트에서 적어도 하나 이상의 유사 문장 그룹에 대응되는 레이블을 입력받아 질문과 대답을 매칭하게 된다. 레이블링 모듈(5)에 의해 매우 정확도 높은 트레이닝 세트로서의 질문 데이터가 완성되는 효과가 발생된다.The at least one similar sentence group generated in the clustering step S13 is provided to the client of the chatbot manager by the
도 11은 본 발명의 제1실시예에 따른 가상 레이블 생성 방법의 각 단계별 결과 예시를 도시한 것이다. 도 11에 따르면, S10에서는 질문 데이터가 '양념치킨', '주문', '배달', '강남역', '잠실역', '오전', '오후'로 형태소 분석으로 어구로 분절되고, S11에서는 각각의 어구에 대해 얼마나 도메인에 특화되어 있는지에 대한 점수인 도메인 특화 점수를 계산하여 '양념치킨'=1, '주문'=0.8, '배달'=0.7, '강남역'=0.2, '잠실역'=0.2, '오전'=0.1, '오후'=0.1로 생성하게 된다. 도메인 특화 점수가 높을수록 general corpus에서보다 질문 데이터에서의 출현 확률 빈도가 높음을 의미한다. S12에서는 도메인 특화 점수를 기초로 해당 어구들을 도메인 특화 용어('양념치킨', '주문', '배달')와 일반 용어('강남역', '잠실역', '오전', '오후')로 분류하게 된다. S13에서는 도메인 특화 용어와의 유사도를 기초로 적어도 하나의 유사 문장 그룹(1그룹:'오전에 배달 가능 한가요', '오후에도 주문 가능한가요', '잠실역으로 배달 가능한가요')이 생성되고, 이러한 유사 문장 그룹은 레이블링 모듈에서 챗봇 관리자에게 제공되며, 관리자에 의해 태깅이 된 이후에는 챗봇 인공지능 모듈의 트레이닝 세트로 활용하게 된다. 11 is a diagram illustrating an example of a result of each step of the method of generating a virtual label according to the first embodiment of the present invention. 11, in S10, the question data is segmented into morphemes by morphological analysis as 'seasoned chicken', 'order', 'delivery', 'Gangnam Station', 'Jamsil Station', 'morning' and 'afternoon' , 'Order' = 0.8, 'Delivery' = 0.7, 'Gangnam Station' = 0.2, 'Jamsil Station' = 0.2, which is the score of domain specificity score, , 'Morning' = 0.1, and 'afternoon' = 0.1. The higher the domain-specific score, the higher the probability of appearance in question data than in general corpus. In S12, the phrases are classified into domain specific terms ('spicy chicken', 'order', 'delivery') and general terms ('Kangnam Station', 'Jamsil Station', 'AM', 'afternoon' . At step S13, at least one similar sentence group (1 group: 'can be delivered in the morning', 'can be ordered in the afternoon', 'can be delivered to Jamsil station') is generated based on the degree of similarity with the domain- The group is provided to the chambot administrator in the labeling module, and after tagging by the administrator, it is used as the training set of the chatbox AI module.
본 발명의 제1실시예에 따르면 일반 말뭉치(general corpus)를 이용하여 질문 데이터를 클러스터링하는 것보다 훨씬 도메인에 특화된 클러스터링이 가능해지는 효과가 발생된다. 또한, 기존에 사전을 제작하여 해결하던 문제를 별도의 사전 없이 해결할 수 있게 되므로 상당한 비용과 인적 자원을 절감할 수 있는 효과가 발생된다. According to the first embodiment of the present invention, it is possible to perform clustering more specific to a domain than to clustering question data using a general corpus. In addition, it is possible to solve the problem of preparing and solving a dictionary without a separate dictionary, thereby resulting in a significant cost and a reduction in human resources.
[제2실시예][Second Embodiment]
본 발명의 다른 실시예와 관련하여, 도 12는 본 발명의 제2실시예에 따른 가상 레이블 생성 방법을 도시한 모식도이다. 도 12에 도시된 바와 같이, 본 발명의 제2실시예에 따른 가상 레이블 생성 방법은 구분 단계(S10), 도메인 특화 점수 생성 단계(S11), 고빈도 일반 용어 분류 단계(S12'), 클러스터링 단계(S13')를 포함할 수 있다. 12 is a schematic diagram showing a method of generating a virtual label according to a second embodiment of the present invention. 12, a method of generating a virtual label according to a second embodiment of the present invention includes a classification step S10, a domain-specialized score generation step S11, a high frequency general term classification step S12 ' (S13 ').
구분 단계(S10)는, 구분 모듈(2)이 질문 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)나 의미구(intent)와 같은 어구로 구분하고 벡터화 모듈(22)에 의해 vector 값으로 변환하는 단계이다. NLP 모듈(21)은 구체적으로 형태소 분석, 어간 추출, 불용어 추출, TF, TFIDF 등의 기능으로 형태소를 분절할 수 있다. 벡터화 모듈(22, Sentence2vec나 Word2vec, SyntexNet)은 구분된 개체(entity)나 의미구(intent)와 같은 어구를 벡터값으로 처리하게 되는데, Word2vec가 이용될 수 있고, 구체적으로는 n-gram, 문맥으로부터 단어를 예측하는 CBOW 모델, 또는 단어로부터 문맥을 예측하는 Skip-gram 모델 등이 이용될 수 있다. In the discriminating step S10, the discrimination module 2 receives the question data 200 as a normal text form, and the general character string type thus inputted is inputted to the
도메인 특화 점수 생성 단계(S11)는, 분류 모듈(3)의 일구성인 도메인 특화 점수 계산 모듈(31)이 구분 모듈(2)에서 구분된 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 질문 데이터에서의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus에서의 어구 출현 빈도(또는 어구 출현 확률)를 비교하고, 두 빈도의 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 단계이다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 어구 출현 확률)를 파악하고, General corpus의 어구 출현 빈도보다 질문 데이터(200)에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다. General corpus의 데이터의 양에 따라 어구 출현 빈도 판단의 기준이 될 상호관계의 거리를 i+n, i-n 까지 늘리거나 줄일 수 있다. 여기서 말하는 i는 문장 내 단어의 index 이다. 데이터의 양과 상수 n은 비례할 수 있다.The domain-specific score generation step S11 is a step in which the domain-specific
고빈도 일반 용어 분류 단계(S12')는, 분류 모듈(3)의 일구성인 고빈도 일반 용어 분류 모듈(34)이 도메인 특화 점수 계산 모듈(31)에서 계산된 도메인 특화 점수를 토대로 질문 데이터(200)의 어구들 중 고빈도 일반 용어를 분류하는 단계이다. 고빈도 일반 용어 분류 모듈(34)에 의해 질문 데이터(200)의 어구들은 도메인 특화 용어, 일반 용어로 구분될 수 있다. The high frequency general term classification step S12 'is a step in which the high frequency general term classification module 34, which is a component of the classification module 3, 200) is a step of sorting high frequency common terms among the phrases. The phrases of the query data 200 by the high frequency general term classification module 34 can be divided into domain-specific terms and general terms.
일반 용어는 고빈도 일반 용어와 저빈도 일반 용어로 구분될 수 있다. 본 발명의 일실시예에 따른 도메인 특화 용어란, 도메인 특화 점수 계산 모듈(31)에서 정의된 바와 같이, 질문 데이터(200)에서의 어구의 출현 확률빈도가 일반 말뭉치(general corpus)에서의 확률빈도보다 월등히 높은 어구를 의미한다. 도메인 특화 용어가 아닌 나머지 어구들은 일반 용어로 구분될 수 있고, 일반 용어는 고빈도 일반 용어와 저빈도 일반 용어로 구분될 수 있다. 고빈도 일반 용어는 도메인 안에서의 확률 빈도는 높지만 일반 말뭉치에서의 확률 빈도도 높아서 어구의 출현 확률빈도가 질문 데이터(200)와 일반 말뭉치(general corpus)에서 크게 차이가 나지 않아 일반 용어로 분류된 어구들을 의미한다. 고빈도 일반 용어가 되는 단어들의 기준점은, 예를 들어, 가장 낮은 빈도수를 가지는 도메인 특화 용어의 빈도수보다 높은 용어로 정의될 수 있다. 고빈도 일반 용어에는 일반적으로 많이 쓰는 표현 - 장소(지역명, 지역대명사 등), 시간(내일, 오전, 다음주 등) - 이 많이 포함될 수 있고, 특정 의미가 없는 일반용어가 도메인 내에선 특정 의미로 많이 사용되는 용어라는 점을 도메인에서의 출현 빈도에 기초하여 확인할 수 있다.General terms can be divided into high frequency general terms and low frequency general terms. The domain-specific term according to an embodiment of the present invention is defined as a domain specific score of a query corpus, as defined in the domain-specific
저빈도 일반 용어는 고빈도 일반 용어를 제외한 일반 용어를 의미할 수 있다. 즉, 저빈도 일반 용어는 질문 데이터(200)에서도 출현 확률빈도가 낮고, 일반 말뭉치(general corpus)에서도 출현 확률빈도가 낮은 것을 의미할 수 있다. 저빈도 일반 용어는 질문 데이터(200)의 클러스터링에 있어서 노이즈에 가깝다고 판단될 수 있다.Low frequency generic terms can mean generic terms except high frequency generic terms. That is, the low frequency general term may mean that the occurrence probability frequency is low in the question data 200 and the occurrence probability frequency is low in the general corpus. The low frequency general term may be determined to be close to noise in the clustering of the query data 200. [
클러스터링 단계(S13')는, 분류 모듈(3)의 일구성인 클러스터링 모듈(33)이 고빈도 일반 용어 분류 모듈(34)에 의해 분류된 각각의 고빈도 일반 용어와 가까운 거리(유사도)의 어구(유사 어구)를 포함하는 질문 데이터(200)의 문장을 적어도 하나 이상의 그룹(유사 문장 그룹)으로 클러스터링하는 구성이다. 고빈도 일반 용어와의 유사도 판단은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 예를 들어, 한국어의 경우, 국립국어원의 General Corpus 등을 이용할 수 있고, 영어는 Brown Corpus 등을 이용할 수 있다. 또는, 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다. 이를 Knowledge-based Similarity라고 할 수 있다. 예를 들어, wordNet을 들 수 있다. wordNet을 활용한 단어와 단어 사이의 유사도 측정은 노드 사이의 최소 거리를 활용하는 Path similarity, 노드의 최소거리 및 최대 깊이를 활용하는 Leacock & Chodorow Similarity, 깊이 및 최소 상위 노드를 활용하는 Wu & Palmer Similarity 등의 방법으로 수행될 수 있다.The clustering step S13 'is a step in which the
클러스터링 단계(S13')에서 생성된 적어도 하나 이상의 유사 문장 그룹은, 레이블링 모듈(5)에 의해 챗봇 관리자의 클라이언트에 제공되고, 챗봇 관리자의 클라이언트에서 적어도 하나 이상의 유사 문장 그룹에 대응되는 레이블을 입력받아 질문과 대답을 매칭하게 된다. 레이블링 모듈(5)에 의해 매우 정확도 높은 트레이닝 세트로서의 질문 데이터가 완성되는 효과가 발생된다.At least one similar sentence group generated in the clustering step S13 'is provided to the client of the chatbot manager by the
도 13은 본 발명의 제2실시예에 따른 가상 레이블 생성 방법의 각 단계별 결과 예시를 도시한 것이다. 도 13에 따르면, S10에서는 질문 데이터가 '양념치킨', '주문', '배달', '강남역', '잠실역', '오전', '오후'로 형태소 분석으로 어구로 분절되고, S11에서는 각각의 어구에 대해 얼마나 도메인에 특화되어 있는지에 대한 점수인 도메인 특화 점수를 계산하여 '양념치킨'=1, '주문'=0.8, '배달'=0.7, '강남역'=0.2, '잠실역'=0.2, '오전'=0.1, '오후'=0.1로 생성하게 된다. 도메인 특화 점수가 높을수록 general corpus에서보다 질문 데이터에서의 출현 확률 빈도가 높음을 의미한다. S12'에서는 도메인 특화 점수를 기초로 해당 어구들을 도메인 특화 용어('양념치킨', '주문', '배달'), 고빈도 일반 용어('오전', '오후')와 저빈도 일반 용어('강남역', '잠실역')로 분류하게 된다. S13'에서는 고빈도 일반 용어와의 유사도를 기초로 적어도 하나의 유사 문장 그룹(1그룹:'오전에 배달 가능 한가요', '오후에도 주문 가능한가요', '내일 오후에 잠실역으로 배달 가능한가요')이 생성되고, 이러한 유사 문장 그룹은 레이블링 모듈에서 챗봇 관리자에게 제공되며, 관리자에 의해 태깅이 된 이후에는 챗봇 인공지능 모듈의 트레이닝 세트로 활용하게 된다.FIG. 13 shows an example of the result of each step of the method of generating a virtual label according to the second embodiment of the present invention. According to FIG. 13, in S10, the question data is segmented into morphemes by morphological analysis as 'seasoned chicken', 'order', 'delivery', 'Gangnam Station', 'Jamsil Station', 'morning' and 'afternoon' , 'Order' = 0.8, 'Delivery' = 0.7, 'Gangnam Station' = 0.2, 'Jamsil Station' = 0.2, which is the score of domain specificity score, , 'Morning' = 0.1, and 'afternoon' = 0.1. The higher the domain-specific score, the higher the probability of appearance in question data than in general corpus. S12 ', the corresponding phrases are classified into domain specific terms (' spicy chicken ',' order ',' delivery '), high frequency general terms (' am 'and' afternoon ') and low frequency general terms Gangnam Station ',' Jamsil Station '). S13 'generates at least one similar sentence group (1 group:' Can it be delivered in the morning ',' Can it be ordered in the afternoon ',' Can it be delivered to Jamsil station tomorrow afternoon ') based on the similarity with the high frequency general term? These similar sentence groups are provided to the chatbot manager in the labeling module, and after tagging by the manager, they are used as a training set of the chatbot artificial intelligence module.
본 발명의 제2실시예에 따르면 일반 말뭉치(general corpus)를 이용하여 질문 데이터를 클러스터링하는 것보다 훨씬 도메인에 특화된 클러스터링이 가능해지는 효과가 발생된다. 특히 도메인 특화 용어와의 유사도를 이용하여 클러스터링을 수행했을 때 놓칠 수 있는 실제 도메인에서의 문장도 고빈도 일반 용어에 의해 클러스터링할 수 있는 효과가 발생된다. 또한, 기존에 사전을 제작하여 해결하던 문제를 별도의 사전 없이 해결할 수 있게 되므로 상당한 비용과 인적 자원을 절감할 수 있는 효과가 발생된다. According to the second embodiment of the present invention, it is possible to perform domain-specific clustering much more than cluster the question data using a general corpus. In particular, the use of similarity with domain-specific terms makes it possible to cluster clusters of high-frequency generic terms in real domains that may be missed when clustering is performed. In addition, it is possible to solve the problem of preparing and solving a dictionary without a separate dictionary, thereby resulting in a significant cost and a reduction in human resources.
[제3실시예][Third Embodiment]
본 발명의 다른 실시예와 관련하여, 도 14는 본 발명의 제3실시예에 따른 가상 레이블 생성 방법을 도시한 모식도이다. 도 14에 도시된 바와 같이, 본 발명의 제3실시예에 따른 가상 레이블 생성 방법은 구분 단계(S10), 도메인 특화 점수 생성 단계(S11), 고빈도 일반 용어 분류 단계(S12'), 클러스터링 단계(S13'), 2차 분류 단계(S14), 도메인 다양성 계산 단계(S15), 레이블 문장 그룹 판정 단계(S16)를 포함할 수 있다. FIG. 14 is a schematic diagram showing a method of generating a virtual label according to a third embodiment of the present invention, in relation to another embodiment of the present invention. 14, the method for generating a virtual label according to the third embodiment of the present invention includes a classification step S10, a domain-specialized score generation step S11, a high frequency general term classification step S12 ' (S13 '), a secondary classification step (S14), a domain diversity calculation step (S15), and a label sentence group determination step (S16).
구분 단계(S10), 도메인 특화 점수 생성 단계(S11), 고빈도 일반 용어 분류 단계(S12'), 클러스터링 단계(S13')는 위에서 설명된 본 발명의 제2실시예에 따른 가상 레이블 생성 방법과 동일하다. The method of generating a virtual label according to the second embodiment of the present invention as described above may further comprise: a classification step S10, a domain-specific score generation step S11, a high frequency general term classification step S12 ', and a clustering step S13' same.
2차 분류 단계(S14)는, 2차 분류 모듈(41)이 클러스터링 모듈(33)에서 고빈도 일반 용어와의 유사도를 기초로 클러스터링 된 적어도 하나 이상의 유사 문장 그룹에 포함된 복수개의 문장을 도메인 특화 용어와의 유사도를 기초로 2차 분류하여 도메인 유사 문장 그룹으로 분류하는 단계이다. The secondary classification step S14 is a step of classifying the plurality of sentences included in at least one similar sentence group clustered on the basis of the degree of similarity with the high frequency general term in the
도메인 다양성 계산 단계(S15)는, 도메인 다양성 계산 모듈(42)이 2차 분류 모듈(41)에 의해 유사 문장 그룹 내에서 분류되는 적어도 하나 이상의 도메인 유사 문장 그룹의 분포를 토대로 해당 유사 문장 그룹의 도메인 다양성을 계산하는 단계이다. 본 발명의 제3실시예에 따라 도메인 다양성을 계산하는 일 예로, 도메인 특화 용어와의 유사도로 전체 질문 데이터(200)가 몇 개로 분류되는지 계산하고, 각각의 유사 문장 그룹 내에서 2차로 분류되는 도메인 유사 문장 그룹의 수와 비교하는 방법이 이용될 수 있다. 예를 들어, 전체 질문 데이터(200)가 도메인 특화 용어와의 유사도에 의해 10개 그룹으로 분류될 수 있을 때, A 유사 문장 그룹은 5개의 도메인 유사 문장 그룹으로 분류되고 B 유사 문장 그룹은 8개의 도메인 유사 문장 그룹으로 분류되는 경우 A 유사 문장 그룹의 도메인 다양성이 더 낮다고 판정될 수 있다. The domain diversity calculation step S15 is a step in which the domain diversity calculation module 42 compares the domain of the similar sentence group 41 based on the distribution of at least one domain similar sentence group classified in the similar sentence group by the secondary classification module 41 It is a step to calculate diversity. As an example of calculating the domain diversity in accordance with the third embodiment of the present invention, it is possible to calculate how many of the total query data 200 are classified based on the degree of similarity with domain-specific terms, A method of comparing with the number of similar sentence groups can be used. For example, when the entire query data 200 can be classified into 10 groups by the degree of similarity with domain-specific terms, the A-like sentence group is classified into five domain-similar sentence groups, and the B- It can be determined that the domain diversity of the A similar sentence group is lower when it is classified into the domain similar sentence group.
레이블 문장 그룹 판정 단계(S16)는, 레이블 문장 그룹 판정 모듈(43)이 도메인 다양성 계산 모듈에서 계산된 특정 유사 문장 그룹의 도메인 다양성을 기초로 특정 유사 문장 그룹의 중요도를 판정하여 챗봇 관리자에게 제공하는 문장 그룹인 레이블 문장 그룹을 판정하는 단계이다. 레이블링을 하는 것이 유의미한 문장 그룹을 챗봇 관리자에게 제공하는 것이 본 발명의 제3실시예에 따른 목적이므로, 레이블 문장 그룹 판정 모듈(43)은 유사 문장 그룹의 도메인 다양성을 토대로 그룹의 중요도를 판정하여 챗봇 관리자에게 제공되는 레이블 문장 그룹으로 판정할지, 챗봇 관리자에게 제공되지 않는 문장 그룹으로 판정할지를 결정할 수 있다. In the label sentence group determination step S16, the label sentence
일예로, 유사 문장 그룹의 중요도는 해당 유사 문장 그룹의 레이블링 모듈(5)에서의 챗봇 관리자에 대한 제공 여부를 결정해주는 기준이 될 수 있다. 예를 들어, 유사 문장 그룹의 도메인 다양성이 높을수록 해당 도메인에서 레이블을 나누는데 영향을 미치지 않는 문장 그룹일 가능성이 높다고 판정될 수 있고, 유사 문장 그룹의 도메인 다양성이 낮을수록 해당 도메인에서 레이블을 나누는데 영향을 미치는 문장 그룹일 가능성이 높다고 판정될 수 있다. 레이블을 나누는데 영향을 미치는 문장 그룹은 레이블 문장 그룹으로 정의하고 챗봇 관리자에게 제공하도록 레이블링 모듈에 제공할 수 있다. 레이블을 나누는데 영향을 미치지 않는 문장 그룹은 언레이블 문장 그룹으로 정의하고 챗봇 관리자에게 제공하지 않도록 레이블링 모듈에 제공할 수 있다. 본 발명의 제3실시예에 따르면, 도메인 다양성이 높은 유사 문장 그룹의 경우, 해당 고빈도 일반 용어와의 유사도로 클러스터링 된 유사 문장 그룹으로부터 발생된 도메인 유사 문장 그룹들은 유효하지 않다고 판단되어 잡음으로 처리되고, 도메인 특화 용어와의 유사도로 이루어지는 유사 문장 그룹에 흡수되도록 구성될 수 있다. For example, the importance level of the similar sentence group may be a criterion for determining whether or not to provide the chatbot administrator with the
다른 예로, 도메인 다양성이 낮은 유사 문장 그룹의 경우, 2차로 분류되는 도메인 유사 문장 그룹이 레이블 문장 그룹으로 판정될 수 있다. 또한 도메인 다양성이 높은 유사 문장 그룹의 경우, 2차로 분류되는 것과 관련 없이 해당 유사 문장 그룹 자체가 레이블 문장 그룹으로 판정되어 챗봇 관리자의 부하를 줄여줄 수 있다. 이러한 경우, 유사 문장 그룹의 중요도인 도메인 다양성은 해당 유사 문장 그룹을 레이블 문장 그룹으로 판정할지, 해당 유사 문장 그룹 내에서 분류되는 각각의 도메인 유사 문장 그룹을 레이블 문장 그룹으로 판정할지에 대한 기준이 될 수 있다.As another example, in the case of a similar sentence group having a low domain diversity, a domain similar sentence group classified as a second order can be determined as a label sentence group. In the case of a similar sentence group having a high domain diversity, the similar sentence group itself can be determined as a label sentence group regardless of being classified as a second order, thereby reducing the burden on the chatbot manager. In this case, the domain diversity that is the importance of the similar sentence group is a criterion for determining whether the similar sentence group is a label sentence group or whether each domain similar sentence group classified in the similar sentence group is a label sentence group .
레이블 문장 그룹 판정 단계(S16)에서 생성된 적어도 하나 이상의 레이블 문장 그룹은, 레이블링 모듈(5)에 의해 챗봇 관리자의 클라이언트에 제공되고, 챗봇 관리자의 클라이언트에서 적어도 하나 이상의 레이블 문장 그룹에 대응되는 레이블을 입력받아 질문과 대답을 매칭하게 된다. 레이블링 모듈(5)에 의해 매우 정확도 높은 트레이닝 세트로서의 질문 데이터가 완성되는 효과가 발생된다.At least one or more label sentence groups generated in the label sentence group determination step (S16) are provided to the client of the chattube manager by the labeling module (5), and a label corresponding to at least one or more label sentence groups It receives input and matches the question and answer. An effect that the question data as a highly accurate training set is completed is generated by the
도 15는 본 발명의 제3실시예에 따른 가상 레이블 생성 방법의 각 단계별 결과 예시를 도시한 것이다. 도 15에 따르면, S10에서는 질문 데이터가 '양념치킨', '주문', '배달', '강남역', '잠실역', '오전', '오후'로 형태소 분석으로 어구로 분절되고, S11에서는 각각의 어구에 대해 얼마나 도메인에 특화되어 있는지에 대한 점수인 도메인 특화 점수를 계산하여 '양념치킨'=1, '주문'=0.8, '배달'=0.7, '강남역'=0.2, '잠실역'=0.2, '오전'=0.1, '오후'=0.1로 생성하게 된다. 도메인 특화 점수가 높을수록 general corpus에서보다 질문 데이터에서의 출현 확률 빈도가 높음을 의미한다. S12'에서는 도메인 특화 점수를 기초로 해당 어구들을 도메인 특화 용어('양념치킨', '주문', '배달'), 고빈도 일반 용어('오전', '오후', '강남역', '잠실역')와 저빈도 일반 용어('과자', '냉장고')로 분류하게 된다. S13'에서는 고빈도 일반 용어와의 유사도를 기초로 적어도 하나의 유사 문장 그룹(1그룹:'오전에 배달 가능 한가요', '오후에도 주문 가능한가요', '내일 오후에 잠실역으로 배달 가능한가요', 2그룹: '강남역으로 양념치킨 주문할게요'와 '잠실역으로 배달 가능한가요')이 생성된다. S14에서는 각각의 유사 문장 그룹 내의 문장들을 도메인 특화 용어와의 유사도를 토대로 2차 분류하여 도메인 유사 문장 그룹(1그룹 내 A그룹: '오전에 배달 가능 한가요', '오후에도 주문 가능한가요', '내일 오후에 잠실역으로 배달 가능한가요'…, 1그룹 내 B그룹: '오전에 치킨 가능 한가요', '오후에도 런치메뉴 주문 가능한가요', '내일 오후에 후라이드 가능한가요'…)을 생성한다. S15에서는 생성된 도메인 유사 문장 그룹의 개수를 토대로 해당 유사 문장 그룹의 도메인 다양성(1그룹= 도메인 다양성 0.8, 2그룹= 도메인 다양성 0.2,...)을 계산한다. S16에서는 챗봇 관리자에게 제공할 문장 그룹인 레이블 문장 그룹을 결정하는 단계로서, 도메인 다양성을 토대로 어떤 문장 그룹을 레이블 문장 그룹으로 할지를 결정하게 된다. 도메인 다양성이 높은 경우 해당 도메인 내에서 레이블링을 하기에 중요하지 않은 문장 그룹으로 판정하여 레이블 문장 그룹으로 결정하지 않거나 유사 문장 그룹 자체를 도메인 특화 용어만으로 구성된 유사 문장 그룹에 편입 시켜 레이블 문장 그룹으로 결정할 수 있다. 도메인 다양성이 낮은 경우 해당 도메인 내에서 레이블링을 하기에 중요한 문장 그룹으로 판정하여 도메인 유사 문장 그룹 중 적어도 일부를 레이블 문장 그룹으로 결정할 수 있다. 이에 따라 챗봇 관리자는 레이블링을 하기에 중요한 문장 그룹만 레이블링을 하면 되므로, 인력의 소모가 감소하는 효과가 발생된다. FIG. 15 illustrates an example of a result of each step of the method of generating a virtual label according to the third embodiment of the present invention. 15, in S10, the question data is segmented into morphemes by morphological analysis as 'seasoned chicken', 'order', 'delivery', 'Gangnam Station', 'Jamsil Station', 'morning', and 'afternoon' , 'Order' = 0.8, 'Delivery' = 0.7, 'Gangnam Station' = 0.2, 'Jamsil Station' = 0.2, which is the score of domain specificity score, , 'Morning' = 0.1, and 'afternoon' = 0.1. The higher the domain-specific score, the higher the probability of appearance in question data than in general corpus. S12 ', the corresponding phrases are classified into domain specific terms (' seasoned chicken ',' order ',' delivery ') and high frequency general terms (' morning ',' afternoon ',' ) And low frequency general terms ('cookies', 'refrigerators'). In S13 ', at least one similar sentence group (1 group:' can be delivered in the morning ',' can be ordered in the afternoon ',' can it be delivered to Jamsil station tomorrow afternoon ' : 'Can I order spicy chicken with Gangnam Station ' and 'Can it be delivered to Jamsil Station ') is generated. S14 in each of the similar statements secondary classification of sentences within the group, based on the similarity of the domain-specific terminology and domain similar sentence group (
본 발명의 제3실시예에 따르면 일반 말뭉치(general corpus)를 이용하여 질문 데이터를 클러스터링하는 것보다 훨씬 도메인에 특화된 클러스터링이 가능해지는 효과가 발생된다. 특히 도메인 특화 용어와의 유사도를 이용하여 클러스터링을 수행했을 때 놓칠 수 있는 실제 도메인에서의 문장도 고빈도 일반 용어에 의해 클러스터링할 수 있는 효과가 발생된다. 게다가 도메인에서 레이블을 구분하기에 중요한 고빈도 일반 용어와 중요하지 않은 고빈도 일반 용어를 자동적으로 구분시켜줄 수 있는 효과가 발생된다. 이에 따라 도메인 맞춤형 레이블링이 가능하게 된다. 또한, 기존에 사전을 제작하여 해결하던 문제를 별도의 사전 없이 해결할 수 있게 되므로 상당한 비용과 인적 자원을 절감할 수 있는 효과가 발생된다. According to the third embodiment of the present invention, clustering specialized for a domain can be performed much more than clustering question data using a general corpus. In particular, the use of similarity with domain-specific terms makes it possible to cluster clusters of high-frequency generic terms in real domains that may be missed when clustering is performed. In addition, it has the effect of automatically distinguishing between high-frequency generic terms that are important for distinguishing labels in domains and non-critical high-frequency generic terms. This enables domain-specific labeling. In addition, it is possible to solve the problem of preparing and solving a dictionary without a separate dictionary, thereby resulting in a significant cost and a reduction in human resources.
[제4실시예][Fourth Embodiment]
다른 예로, 도 16은 본 발명의 제4실시예에 따른 가상 레이블 생성 방법을 도시한 것이다. 도 16에 도시된 바와 같이, 본 발명의 제4실시예에 따른 가상 레이블 생성 방법은 문장 자체가 도메인 특화 용어로만 되어 있는지 여부에 따라 클러스터링 방법을 달리 할 수 있고, 이를 위해 분기 단계(S121)를 더 포함할 수 있다. In another example, FIG. 16 shows a method of generating a virtual label according to the fourth embodiment of the present invention. As shown in FIG. 16, in the method of generating a virtual label according to the fourth embodiment of the present invention, the clustering method may be different depending on whether the sentence itself is only a domain-specific term, and branching step S121 .
본 발명의 제4실시예에 따라, 질문 데이터의 문장 자체가 도메인 특화 용어로만 되어 있는 경우에는 고빈도 일반 용어와의 유사도를 통해 클러스터되는 것과 별도로 도메인 특화 용어와의 유사도를 기초로 클러스터링을 할 수 있다(S13). 이렇게 도메인 특화 용어와의 유사도로 클러스터링 되는 유사 문장 그룹은 중요도 판정 모듈(4)을 거치지 않고 곧바로 레이블링 모듈(5)로 제공될 수 있다. 이러한 경우, 레이블링 모듈(5)은 도메인 특화 용어로만 구성된 유사 문장 그룹과 레이블 문장 그룹 판정 모듈(43)에 의해 챗봇 관리자에게 제공하기로 판정된 레이블 문장 그룹을 챗봇 관리자의 클라이언트에 제공할 수 있다. According to the fourth embodiment of the present invention, when the sentence of the question data itself is only a domain-specific term, clustering can be performed based on the degree of similarity with the domain-specific term in addition to being clustered through the degree of similarity with the high- (S13). The similar sentence group clustered in similarity with the domain-specific terms can be provided to the
본 발명의 제4실시예에 따라, 질문 데이터의 문장이 도메인 특화 용어로만 되어있지 않은 경우에는 제3실시예에 따른 단계(S13', S14, S15, S16)가 순차적으로 수행될 수 있다. According to the fourth embodiment of the present invention, the steps S13 ', S14, S15, and S16 according to the third embodiment may be sequentially performed when the sentence of the question data is not limited to domain-specific terms.
본 발명의 제4실시예에 따르면 S13에 의해 생성되는 유사 문장 그룹과 S16에 의해 생성되는 레이블 문장 그룹이 챗봇 관리자에게 제공될 수 있다. 또한, S15에 생성된 유사 문장 그룹에 도메인 유사 문장 그룹이 고루 사용되는 경우에는 해당 고빈도 일반 용어가 레이블들간의 상관관계에서 중요한 역할을 하지 않는다고 판단하여 노이즈로 처리하고, S13에서 만든 도메인 특화 용어만으로 이루어진 유사 문장 그룹에 흡수될 수 있는 효과가 발생된다. According to the fourth embodiment of the present invention, a similar sentence group generated by S13 and a label sentence group generated by S16 can be provided to the chatbot administrator. If the domain similar sentence group is commonly used in the similar sentence group generated in S15, it is determined that the high frequency common term does not play an important role in the correlation between the labels and processed as noise, and the domain- The effect of which can be absorbed in a similar sentence group composed of only one sentence.
이상에서는 설명의 편의를 위해 챗봇을 위주로 설명하였으나, 본 발명의 범위는 챗봇에만 국한되는 것이 아니고, 음성 분석(음성 봇)을 위한 인공지능 모듈, 자연어 분석을 위한 인공지능 모듈이나 문장 생성을 위한 Generative 인공지능 모듈 등에 본 발명이 적용되는 것이 본 발명의 범위에 포함될 수 있다.Although the chatbot has been described above for the convenience of explanation, the scope of the present invention is not limited to the chatbot, but an artificial intelligence module for voice analysis (voice bots), an artificial intelligence module for natural language analysis, Artificial intelligence module and the like may be included in the scope of the present invention.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.As described above, those skilled in the art will appreciate that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. It is therefore to be understood that the above-described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.The features and advantages described herein are not all inclusive, and in particular, many additional features and advantages will be apparent to those skilled in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used herein is primarily chosen for readability and for purposes of teaching, and may not be selected to delineate or limit the subject matter of the invention.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.The foregoing description of embodiments of the invention has been presented for purposes of illustration; It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Those skilled in the art will appreciate that many modifications and variations are possible in light of the above teachings.
본 설명의 일부는 정보 상 연산의 기호 표현 및 알고리즘에 관한 본 발명의 실시예들을 기술한다. 이러한 알고리즘적 설명 및 표현은, 일반적으로 그들의 작업의 핵심을 효율적으로 다른 당업자에게 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용된다. 이러한 동작은 기능적, 연산적, 또는 논리적으로 설명되지만, 컴퓨터나 이와 동등한 전기 회로, 마이크로코드 등에 의해 구현될 것으로 이해된다. 나아가, 또한 이것은 모듈로서의 이러한 동작의 배열을 나타내기 위해, 때때로 일반성의 상실 없이 편리하게 입증된다. 상기 기술된 동작 및 그들의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합 내에서 구현될 수 있다.Some portions of this description describe embodiments of the present invention relating to symbolic representations and algorithms of informational operations. These algorithmic descriptions and representations are generally used by those skilled in the data processing arts to efficiently convey the essence of their work to the other skilled artisan. While such operations are described functionally, computationally, or logically, they are understood to be implemented by a computer or equivalent electrical circuitry, microcode, or the like. Furthermore, this is also conveniently demonstrated without loss of generality, sometimes to represent an arrangement of such operations as a module. The operations described above and their associated modules may be implemented in software, firmware, hardware, or any combination thereof.
여기서 기술된 임의의 단계, 동작, 또는 프로세스는, 하나 이상의 하드웨어 또는 소프트웨어 모듈과 함께 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독 가능 매체로 구성되는 컴퓨터 프로그램 제품과 함께 구현되고, 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 공정, 단계, 또는 동작을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.Any of the steps, operations, or processes described herein may be performed or implemented in conjunction with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product comprised of a computer-readable medium comprising computer program code, and the computer program code is executable to perform any or all of the processes, steps, May be executed by a computer processor.
또한, 본 발명의 실시예들은, 여기서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이들 장치는 요구되는 목적을 위해 특별히 제작될 수 있고/있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반적-목적의 연산 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 유형의 컴퓨터 판독가능 저장 매체 또는 전자 명령어를 저장하기 위해 적합한 임의의 유형의 미디어 내에 저장될 수 있고, 컴퓨터 시스템 버스에 결합될 수 있다. 나아가, 본 명세서에 참조되는 임의의 연산 시스템은 단일 프로세서를 포함할 수 있거나, 증가한 연산 능력을 위한 다중 프로세서 디자인을 채택한 구조가 될 수 있다.Furthermore, embodiments of the invention may relate to an apparatus for performing the operations herein. These devices may include a general-purpose computing device that may be specially constructed and / or selectively activated or reconfigured by a computer program stored within the computer for the required purpose. Such a computer program may be stored in any type of media suitable for storing computer readable storage media or type of instructions, and may be coupled to a computer system bus. Further, any computing system referred to herein may comprise a single processor, or it may be a structure employing a multiprocessor design for increased computing power.
마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.Finally, the language used herein has been chosen primarily for readability and for purposes of teaching, and may not be selected to describe or limit the subject matter of the invention.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.The scope of the invention is, therefore, not to be limited by the Detailed Description, but is to be defined by the claims of any application based thereon. Accordingly, the disclosure of embodiments of the invention is illustrative and not restrictive of the scope of the invention, which is set forth in the following claims.
1: 가상 레이블 생성 장치
2: 구분 모듈
3: 분류 모듈
4: 중요도 판정 모듈
5: 레이블링 모듈
10: 챗봇 인공지능 모듈
21: NLP 모듈
22: 벡터화 모듈
31: 도메인 특화 점수 판정 모듈
32: 고빈도 일반 용어 분류 모듈
33: 클러스터링 모듈
34: 도메인 특화 용어 분류 모듈
41: 2차 분류 모듈
42: 도메인 다양성 계산 모듈
43: 레이블 문장 그룹 판정 모듈
200: 질문 데이터1: Virtual label generation device
2: Separation module
3: Classification module
4: Priority module
5: Labeling module
10: Chatbot AI module
21: NLP module
22: vectorization module
31: Domain-specific score determination module
32: High frequency general term classification module
33: Clustering module
34: Domain-specific term classification module
41: Secondary classification module
42: Domain Diversity Calculation Module
43: label sentence group judgment module
200: Question Data
Claims (3)
상기 구분 모듈에서 구분된 상기 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 모듈;
상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 모듈;
상기 고빈도 일반 용어 분류 모듈에 의해 분류된 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 모듈;
상기 클러스터링 모듈에서 상기 고빈도 일반 용어와의 유사도를 기초로 클러스터링 된 상기 유사 문장 그룹에 포함된 복수개의 문장을 상기 도메인 특화 용어와의 유사도를 기초로 분류하여 적어도 하나의 도메인 유사 문장 그룹으로 분류하는 분류 모듈; 및
상기 분류 모듈에 의해 상기 유사 문장 그룹 내에서 분류되는 상기 도메인 유사 문장 그룹의 개수를 토대로 상기 유사 문장 그룹의 도메인 다양성을 계산하는 도메인 다양성 계산 모듈;
을 포함하는,
도메인 특화 용어 및 고빈도 일반 용어를 이용한 도메인 다양성 계산 장치.
A division module for receiving the question data in the form of a general string and dividing the question data into phrases;
In order to determine whether the word classified in the classification module is characteristic to a specific domain, the probability of occurrence of a word or occurrence of a word in the question data is compared with the probability of occurrence of a word or occurrence of a word in a general corpus, A domain-specific score calculation module for determining a domain-specific score, which is a score of a characteristic word of the corresponding phrase in the domain;
And classifying domain specific terms and general terms specific to the domain among the phrases of the question data based on the domain specific score calculated by the domain specific score calculation module, A high frequency general term classification module for classifying frequency generic terms;
A clustering module for clustering the query data into at least one similar sentence group based on the degree of similarity with the high frequency general term classified by the high frequency general term classification module;
The clustering module classifies a plurality of sentences included in the similar sentence group clustered based on the similarity with the high frequency general term on the basis of the degree of similarity with the domain specific word and classifies the sentence into at least one domain similar sentence group Classification module; And
A domain diversity calculation module for calculating a domain diversity of the similar sentence group based on the number of the domain similar sentence groups classified in the similar sentence group by the classification module;
/ RTI >
A domain diversity calculation device using domain - specific terms and high frequency generic terms.
상기 도메인 다양성 계산 장치의 일구성인 도메인 특화 점수 계산 모듈이, 상기 구분 모듈에서 구분된 상기 어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률과 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 비교하고, 차이를 통해 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하는 도메인 특화 점수 계산 단계;
상기 도메인 다양성 계산 장치의 일구성인 고빈도 일반 용어 분류 모듈이, 상기 도메인 특화 점수 계산 모듈에서 계산된 상기 도메인 특화 점수를 토대로 상기 질문 데이터의 어구들 중 해당 도메인에 특화된 도메인 특화 용어와 일반 용어를 분류하고, 상기 일반 용어 중 어구 출현 빈도 또는 어구 출현 확률이 높은 고빈도 일반 용어를 분류하는 고빈도 일반 용어 분류 단계;
상기 도메인 다양성 계산 장치의 일구성인 클러스터링 모듈이, 상기 고빈도 일반 용어 분류 모듈에 의해 분류된 상기 고빈도 일반 용어와의 유사도를 토대로 상기 질문 데이터를 적어도 하나의 유사 문장 그룹으로 클러스터링하는 클러스터링 단계;
상기 도메인 다양성 계산 장치의 일구성인 분류 모듈이, 상기 클러스터링 모듈에서 상기 고빈도 일반 용어와의 유사도를 기초로 클러스터링 된 상기 유사 문장 그룹에 포함된 복수개의 문장을 상기 도메인 특화 용어와의 유사도를 기초로 분류하여 적어도 하나의 도메인 유사 문장 그룹으로 분류하는 분류 단계; 및
상기 도메인 다양성 계산 장치의 일구성인 도메인 다양성 계산 모듈이, 상기 분류 모듈에 의해 상기 유사 문장 그룹 내에서 분류되는 상기 도메인 유사 문장 그룹의 개수를 토대로 상기 유사 문장 그룹의 도메인 다양성을 계산하는 도메인 다양성 계산 단계;
를 포함하는,
도메인 특화 용어 및 고빈도 일반 용어를 이용한 도메인 다양성 계산 방법.
A division module that is a component of the domain diversity calculation apparatus, receives the question data in a general string form and classifies the question data into phrases;
The domain-specific score calculation module, which is a component of the domain diversity calculation apparatus, calculates the frequency of occurrence of a query or the appearance probability of a query in the query data and the occurrence probability of a general corpus A domain-specific score calculation step of comparing a frequency of occurrence of a word or a probability of occurrence of a word in the domain and determining a domain-specific score that is a score of how characteristic the word is in the domain through the difference;
Wherein the high frequency general term classification module which is a component of the domain diversity calculation device calculates a domain specific word based on the domain specific word calculated by the domain specific score calculation module, A high frequency general term classification step of classifying a high frequency general term having a frequency of occurrence of a word or a probability of occurrence of a word among the general terms;
A clustering step of clustering the query data into at least one similar sentence group based on a degree of similarity with the high frequency general term classified by the high frequency general term classification module, the clustering module being a component of the domain diversity calculation apparatus;
Wherein the classification module, which is a component of the domain diversity calculation apparatus, calculates a plurality of sentences included in the similar sentence group clustered on the basis of the degree of similarity with the high frequency general term in the clustering module based on the degree of similarity with the domain- Classified into at least one domain similar sentence group; And
A domain diversity calculation module that is a component of the domain diversity calculation apparatus calculates a domain diversity calculation for calculating the domain diversity of the similar sentence group based on the number of the domain similar sentence groups classified in the similar sentence group by the classification module step;
/ RTI >
Domain Diversity Calculation Method Using Domain - Specific Terms and High Frequency General Terms.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170178792A KR101851791B1 (en) | 2017-12-22 | 2017-12-22 | Apparatus and method for computing domain diversity using domain-specific terms and high frequency general terms |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170178792A KR101851791B1 (en) | 2017-12-22 | 2017-12-22 | Apparatus and method for computing domain diversity using domain-specific terms and high frequency general terms |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170044416A Division KR101851786B1 (en) | 2017-04-05 | 2017-04-05 | Apparatus and method for generating undefined label for labeling training set of chatbot |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101851791B1 true KR101851791B1 (en) | 2018-04-24 |
Family
ID=62087468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170178792A KR101851791B1 (en) | 2017-12-22 | 2017-12-22 | Apparatus and method for computing domain diversity using domain-specific terms and high frequency general terms |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101851791B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020112177A1 (en) * | 2018-11-28 | 2020-06-04 | Intuit Inc. | Detecting duplicated questions using reverse gradient adversarial domain adaptation |
CN112101020A (en) * | 2020-08-27 | 2020-12-18 | 北京百度网讯科技有限公司 | Method, device, equipment and storage medium for training key phrase identification model |
WO2021127488A1 (en) * | 2019-12-18 | 2021-06-24 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for creating and using minimum dictionary language (mdl) to access data in closed-domain data sets |
CN113692595A (en) * | 2019-04-19 | 2021-11-23 | 三星电子株式会社 | Multi-model structure for classification and intent determination |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101309042B1 (en) | 2012-09-17 | 2013-09-16 | 포항공과대학교 산학협력단 | Apparatus for multi domain sound communication and method for multi domain sound communication using the same |
-
2017
- 2017-12-22 KR KR1020170178792A patent/KR101851791B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101309042B1 (en) | 2012-09-17 | 2013-09-16 | 포항공과대학교 산학협력단 | Apparatus for multi domain sound communication and method for multi domain sound communication using the same |
Non-Patent Citations (2)
Title |
---|
Zhang, Wei-Nan, et al. "A topic clustering approach to finding similar questions from large question and answer archives." PloS one 9.3, 2014.3.4. |
Zhang, Yu, et al. "Phrasal paraphrase based question reformulation for archived question retrieval." PloS one 8.6, 2013.6.21. |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020112177A1 (en) * | 2018-11-28 | 2020-06-04 | Intuit Inc. | Detecting duplicated questions using reverse gradient adversarial domain adaptation |
AU2019386712B2 (en) * | 2018-11-28 | 2021-12-09 | Intuit Inc. | Detecting duplicated questions using reverse gradient adversarial domain adaptation |
CN113692595A (en) * | 2019-04-19 | 2021-11-23 | 三星电子株式会社 | Multi-model structure for classification and intent determination |
WO2021127488A1 (en) * | 2019-12-18 | 2021-06-24 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for creating and using minimum dictionary language (mdl) to access data in closed-domain data sets |
US12026482B2 (en) | 2019-12-18 | 2024-07-02 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for creating and using minimum dictionary language (MDL) to access data in closed-domain data sets |
CN112101020A (en) * | 2020-08-27 | 2020-12-18 | 北京百度网讯科技有限公司 | Method, device, equipment and storage medium for training key phrase identification model |
CN112101020B (en) * | 2020-08-27 | 2023-08-04 | 北京百度网讯科技有限公司 | Method, apparatus, device and storage medium for training key phrase identification model |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816441B2 (en) | Device and method for machine reading comprehension question and answer | |
US10354188B2 (en) | Extracting facts from unstructured information | |
US20180232443A1 (en) | Intelligent matching system with ontology-aided relation extraction | |
Daumé III et al. | A large-scale exploration of effective global features for a joint entity detection and tracking model | |
US10783877B2 (en) | Word clustering and categorization | |
KR101851790B1 (en) | Question Data Set Extension and Method | |
KR101851791B1 (en) | Apparatus and method for computing domain diversity using domain-specific terms and high frequency general terms | |
US20170193088A1 (en) | Entailment knowledge base in natural language processing systems | |
JP6663826B2 (en) | Computer and response generation method | |
US11217226B2 (en) | System to detect and reduce understanding bias in intelligent virtual assistants | |
US9984066B2 (en) | Method and system of extracting patent features for comparison and to determine similarities, novelty and obviousness | |
KR101851786B1 (en) | Apparatus and method for generating undefined label for labeling training set of chatbot | |
WO2021159656A1 (en) | Method, device, and equipment for semantic completion in a multi-round dialogue, and storage medium | |
US11151117B2 (en) | Increasing the accuracy of a statement by analyzing the relationships between entities in a knowledge graph | |
KR102088357B1 (en) | Device and Method for Machine Reading Comprehension Question and Answer | |
Specia et al. | A hybrid approach for extracting semantic relations from texts | |
JP2006244262A (en) | Retrieval system, method and program for answer to question | |
JP5426292B2 (en) | Opinion classification device and program | |
CN113157887B (en) | Knowledge question and answer intention recognition method and device and computer equipment | |
KR101851792B1 (en) | Apparatus and method for generating a virtual label of a question dataset | |
Dunn et al. | Language-independent ensemble approaches to metaphor identification | |
WO2017058584A1 (en) | Extracting facts from unstructured information | |
Tufiş et al. | Revealing Translators' Knowledge: Statistical Methods in Constructing Practical Translation Lexicons for Language and Speech Processing | |
CN111949781B (en) | Intelligent interaction method and device based on natural sentence syntactic analysis | |
Bhattacharjee et al. | What do users care about? detecting actionable insights from user feedback |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |