KR20210051523A - Dialogue system by automatic domain classfication - Google Patents
Dialogue system by automatic domain classfication Download PDFInfo
- Publication number
- KR20210051523A KR20210051523A KR1020190136910A KR20190136910A KR20210051523A KR 20210051523 A KR20210051523 A KR 20210051523A KR 1020190136910 A KR1020190136910 A KR 1020190136910A KR 20190136910 A KR20190136910 A KR 20190136910A KR 20210051523 A KR20210051523 A KR 20210051523A
- Authority
- KR
- South Korea
- Prior art keywords
- domain
- cluster
- conversation
- word embedding
- corpus
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
Description
본 발명은 대화 시스템에 관한 것으로, 자세하게는 대화 도메인을 자동으로 분류하는 도메인 자동 분류 대화 시스템에 관한 것이다. The present invention relates to a conversation system, and more particularly, to an automatic domain classification conversation system for automatically classifying conversation domains.
본 발명은 산업자원통상부 로봇산업핵심기술개발사업-인공지능융합로봇시스템기술의 일환으로 (주)아이피엘에서 주관하고, (주)솔트룩스에서 수행된 연구로부터 도출된 것이다. [연구기간: 2019.01.01.~2019.12.31., 연구관리 전문기관: 한국산업기술평가관리원, 연구과제명: 가정용 소셜로봇 및 서비스 개발 시스템, 과제 고유번호: 10077633]The present invention is derived from research conducted by IPL Co., Ltd. and conducted by Saltlux Co., Ltd. as part of the Robot Industry Core Technology Development Project-Artificial Intelligence Convergence Robot System Technology of the Ministry of Commerce, Industry and Energy. [Research period: January 1, 2019-December 31, 2019, Research management professional institution: Korea Institute of Industrial Technology Evaluation and Planning, Research project name: Home social robot and service development system, project serial number: 10077633]
대화 시스템은 사용자의 발언(utterance)에 응답하여 시스템의 발언을 생성 및 제공하는 시스템으로, 대화 시스템은 특정 대화 도메인(이하, 도메인이라 함)이나 상황에서 가능한 대화 환경을 제공하기 위한 도메인 대화 모델이 함께 제공된다. 사용자의 발언에 적합한 도메인이 파악되지 않는 경우, 사용자의 의도에 맞는 시스템의 발언의 생성 및 제공에 어려움이 발생할 수 있다. The dialogue system is a system that generates and provides speech of the system in response to the user's utterance, and the dialogue system has a domain dialogue model to provide a dialogue environment possible in a specific dialogue domain (hereinafter referred to as a domain) or situation. Comes with If the domain suitable for the user's speech is not identified, it may be difficult to generate and provide the system's speech that suits the user's intention.
본 발명의 기술적 과제는, 사용자의 발언으로부터 적합한 도메인을 파악할 수 있는, 도메인 자동 분류 대화 시스템을 제공하는 것이다. An object of the present invention is to provide an automatic domain classification dialog system capable of grasping a suitable domain from a user's speech.
상기 기술적 과제를 달성하기 위한 본 발명의 기술적 사상의 일측면에 따른 도메인 자동 분류 대화 시스템은, 네트워크를 통하여 사용자로부터 입력 문장을 수신하고, 상기 입력 문장에 대한 출력 문장을 상기 사용자에게 송신하는 유저 인터페이스; 엔티티들을 벡터로 생성하도록 워드 임베딩을 수행하는 제1 워드 임베딩 모듈, 및 벡터화된 상기 엔티티들을 클러스터링하는 클러스터링 모듈을 포함하는 클러스터 생성부; 대화 말뭉치를 이루는 복수의 대화를 이루는 엔티티들을 상기 제1 워드 임베딩 모듈에서 워드 임베딩한 벡터들 전체를 대상으로 상기 클러스터링 생성부에서 클러스터링을 하여 생성된 복수의 대화 클러스터를 저장하는 대화 말뭉치 클러스터 저장부; 상기 복수의 대화 클러스터 중, 상기 대화 말뭉치를 이루는 복수의 대화 각각을 이루는 엔티티들를 워드 임베딩한 벡터들에 대응하는 대화 클러스터로 이루어지는 상기 복수의 대화에 대한 대화별 클러스터와 도메인을 각각 입력과 출력으로 사용하여 도메인 분류 예측 모델을 학습시키는 도메인 분류 학습기를 포함하는 도메인 분류 학습부; 및 상기 복수의 대화 클러스터 중, 상기 제1 워드 임베딩 모듈에서 상기 입력 문장을 이루는 엔티티들을 워드 임베딩한 벡터들에 대응하는 복수의 클러스터 키로 이루어지는 입력 문장 클러스터을 이용하여 상기 입력 문장에 대한 도메인을 판단하는 도메인 판단부;를 포함한다. The domain automatic classification dialog system according to an aspect of the technical idea of the present invention for achieving the above technical problem is a user interface for receiving an input sentence from a user through a network and transmitting an output sentence for the input sentence to the user. ; A cluster generator including a first word embedding module for performing word embedding to generate entities as vectors, and a clustering module for clustering the vectorized entities; A dialogue corpus cluster storage unit for storing a plurality of dialogue clusters generated by clustering a plurality of dialogue entities forming a dialogue corpus by word-embedding all vectors word-embedded by the first word embedding module; Among the plurality of conversation clusters, each conversation cluster and domain for the plurality of conversations consisting of conversation clusters corresponding to vectors in which the entities constituting each of the plurality of conversations forming the conversation corpus are word-embedded are used as inputs and outputs, respectively. A domain classification learning unit including a domain classification learner that trains a domain classification prediction model by doing so; And a domain for determining a domain for the input sentence using an input sentence cluster consisting of a plurality of cluster keys corresponding to vectors in which the entities constituting the input sentence are word-embedded in the first word embedding module among the plurality of conversation clusters. It includes;
대화 말뭉치를 이루는 복수의 대화를 도메인 별로 분류하여 복수의 도메인 대화 말뭉치를 생성하는 도메인 분류부; 상기 복수의 도메인 대화 말뭉치 각각을 이루는 엔티티들을 워드 임베딩하여 복수의 도메인 워드 임베딩을 생성하는 제2 워드 임베딩 모듈; 상기 복수의 도메인 워드 임베딩 각각에 대하여 복수의 도메인 대화 모델을 생성하는 대화 모델 생성부;를 포함하는 대화 말뭉치 도메인 관리부를 더 포함할 수 있다. A domain classifying unit for classifying a plurality of conversations forming a conversation corpus by domain to generate a plurality of domain conversation corpuses; A second word embedding module for generating a plurality of domain word embeddings by word embedding entities constituting each of the plurality of domain dialogue corpuses; It may further include a dialog corpus domain management unit including; a dialog model generator for generating a plurality of domain dialog models for each of the plurality of domain word embedding.
상기 출력 문장은, 복수의 도메인 대화 모델 중, 상기 도메인 판단부에서 판단된 상기 입력 문장 클러스터에 대한 도메인에 해당하는 도메인 대화 모델에서 생성될 수 있다. The output sentence may be generated from a domain conversation model corresponding to a domain for the input sentence cluster determined by the domain determining unit among a plurality of domain conversation models.
상기 제2 워드 임베딩 모듈은, 예측 기반으로 워드 임베딩을 수행할 수 있다. 상기 제2 워드 임베딩 모듈은, Word2Vec 또는 글로브(Global Vectors for Word Representation, GloVe)를 기반으로 워드 임베딩을 수행할 수 있다. The second word embedding module may perform word embedding based on prediction. The second word embedding module may perform word embedding based on Word2Vec or Global Vectors for Word Representation (GloVe).
상기 도메인 분류 학습부는, 상기 입력 문장에 대한 도메인을 판단 결과에 대한 상기 사용자의 피드백을 저장하는 도메인 분류 로그;를 더 포함하며, 상기 도메인 분류 모델 학습기는, 상기 도메인 분류 로그에 저장된 상기 사용자의 피드백을 사용하여 상기 도메인 분류 예측 모델을 재생성하거나 업데이트할 수 있다. The domain classification learning unit further includes a domain classification log for storing the user's feedback on a result of determining the domain for the input sentence, wherein the domain classification model learner includes the user's feedback stored in the domain classification log. Can be used to regenerate or update the domain classification prediction model.
상기 대화 도메인 말뭉치 분류부는, 상기 도메인 상기 도메인 분류 로그에 저장된 상기 사용자의 피드백이 도메인이 올바르게 분류된 것일 경우, 상기 입력 문장을 상기 복수의 도메인 대화 말뭉치 중 해당하는 도메인에 대한 도메인 대화 말뭉치에 저장할 수 있다. The conversation domain corpus classification unit may store the input sentence in a domain conversation corpus for a corresponding domain among the plurality of domain conversation corpus when the user's feedback stored in the domain classification log is that the domain is correctly classified. have.
상기 제1 워드 임베딩 모듈은, 미리 학습된 언어 모형으로 워드 임베딩을 수행할 수 있다. The first word embedding module may perform word embedding using a pre-learned language model.
상기 제1 워드 임베딩 모듈은, ELMo(Embeddings from Language Model) 기반의 워드 임베딩을 수행할 수 있다. The first word embedding module may perform word embedding based on Embeddings from Language Model (ELMo).
상기 클러스터링 생성부는, 밀도 기반 클러스터링을 할 수 있다. The clustering generator may perform density-based clustering.
상기 클러스터링 생성부는, DBSCAN(Density-based spatial clustering of applications with noise) 방식으로 클러스터링을 할 수 있다. The clustering generator may perform clustering in a Density-based spatial clustering of applications with noise (DBSCAN) method.
본 발명에 따른 도메인 자동 분류 대화 시스템은, 사용자의 입력 문장에 대하여 미리 학습된 언어 모형으로 워드 임베딩을 수행하여, 엔티티를 벡터로 생성하고, 대화 말뭉치 클러스터를 이루는 복수의 대화 클러스터 중 입력 문장을 이루는 단어인 엔티티를 워드 임베딩한 벡터들 각각에 대응하는 대화 클러스터인 복수의 클러스터 키로 이루어지는 입력 문장 클러스터를 생성한 후, 도메인 분류 예측 모델에서 입력 문장 클러스터를 입력으로 사용하여, 입력 문장에 대한 도메인을 분류하여 출력으로 제공한다. The domain automatic classification dialog system according to the present invention performs word embedding with a pre-learned language model for a user's input sentence, generates an entity as a vector, and forms an input sentence among a plurality of dialog clusters forming a dialog corpus cluster. After creating an input sentence cluster consisting of a plurality of cluster keys, which is a dialog cluster corresponding to each of the vectors in which the word entity is word-embedded, the domain for the input sentence is classified using the input sentence cluster as an input in the domain classification prediction model. And provide it as an output.
입력 문장에 대한 워드 임베딩을 수행하는 과정에서, 서로 다른 도메인에서 다른 의미를 갖는 같은 표기의 단어를 하나의 벡터로 만들어버리는 문제를 해결하기 위하여, 미리 학습된 언어 모형, 예를 들면, ELMo 기반의 워드 임베딩을 수행하여, 엔티티를 벡터로 생성하여, 문맥에 따라서 다르게 워드 임베딩을 할 수 있다. 또한, 밀도 기반 클러스터링을 하여 생성한 복수의 대화 클러스터에 대응하는 복수의 클러스터 키로 이루어지는 입력 문장 클러스터를 생성하여 도메인 분류를 수행한다.In the process of performing word embedding for input sentences, in order to solve the problem of making words of the same notation having different meanings in different domains into one vector, a pre-learned language model, for example, ELMo-based By performing word embedding, an entity is generated as a vector, and word embedding can be performed differently depending on the context. In addition, domain classification is performed by generating an input sentence cluster composed of a plurality of cluster keys corresponding to a plurality of conversation clusters generated by performing density-based clustering.
따라서 본 발명에 따른 도메인 자동 분류 대화 시스템은, 오픈 도메인 환경에서 입력 문장이 주어졌을 때도, 입력 문장의 도메인을 판단하여, 알맞은 출력 문장을 생성할 수 있다. Accordingly, the automatic domain classification dialog system according to the present invention can generate an appropriate output sentence by determining the domain of the input sentence even when an input sentence is given in an open domain environment.
도 1은 본 발명의 예시적 실시 예에 따른 도메인 자동 분류 대화 시스템을 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시 예에 따른 도메인 자동 분류 대화 시스템의 클러스터 생성부에서 생성된 대화 말뭉치 클러스터를 설명하기 위한 개념도이다.
도 3은 본 발명의 예시적 실시 예에 따른 도메인 자동 분류 대화 시스템에서 도메인 분류 예측 모델을 생성하는 과정을 설명하기 위한 블록도이다.
도 4는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 클러스터 생성부에서 사용자의 입력 문장에 대한 클러스터를 생성하는 과정을 설명하기 위한 블록도이다.
도 5는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 자연어 이해부의 주요 구성을 나타내는 블록도이다.
도 6은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 대화 말뭉치 도메인 관리부의 주요 구성을 나타내는 블록도이다.
도 7은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 도메인 자동 분류를 하는 과정을 설명하기 위한 블록도이다. Fig. 1 is a block diagram showing an automatic domain classification dialog system according to an exemplary embodiment of the present invention.
2 is a conceptual diagram illustrating a dialog corpus cluster generated by a cluster generation unit of an automatic domain classification dialog system according to an exemplary embodiment of the present invention.
3 is a block diagram illustrating a process of generating a domain classification prediction model in an automatic domain classification dialog system according to an exemplary embodiment of the present invention.
4 is a block diagram illustrating a process of generating a cluster for a user's input sentence by a cluster generator of a dialog system having a plurality of dialog domains according to an exemplary embodiment of the present invention.
Fig. 5 is a block diagram showing a main configuration of a natural language understanding unit of a dialogue system having a plurality of dialogue domains according to an exemplary embodiment of the present invention.
Fig. 6 is a block diagram showing a main configuration of a dialogue corpus domain management unit of a dialogue system having a plurality of dialogue domains according to an exemplary embodiment of the present invention.
Fig. 7 is a block diagram illustrating a process of automatically classifying domains in a chat system having a plurality of chat domains according to an exemplary embodiment of the present invention.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Embodiments of the present invention are provided to more completely describe the present invention to those with average knowledge in the art. In the present invention, various modifications may be made and various forms may be applied, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to a specific form disclosed, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals are used for similar elements. In the accompanying drawings, the dimensions of the structures are shown to be enlarged or reduced compared to the actual one for clarity of the present invention.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance the possibility of the presence or addition.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present specification. .
이하 도면 및 설명에서, 하나의 블록, 예를 들면, '~부' 또는 '~모듈'로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.In the following drawings and description, a single block, for example, a component indicated or described as'~ unit' or'~ module' may be a hardware block or a software block. For example, each of the components may be an independent hardware block that exchanges signals with each other, or may be a software block that is executed in one processor.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다. In order to fully understand the configuration and effects of the present invention, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 예시적 실시 예에 따른 도메인 자동 분류 대화 시스템을 나타내는 블록도이다. Fig. 1 is a block diagram showing an automatic domain classification dialog system according to an exemplary embodiment of the present invention.
도 1을 참조하면, 도메인 자동 분류 대화 시스템(1, 이하 대화 시스템)은, 네트워크(20)를 통하여 사용자(10)로부터 발언(utterance)을 수신하고, 사용자에게 대화 시스템(1)의 발언을 송신하는 유저 인터페이스(UI, 100)를 포함한다. 네트워크(20)는 유선 인터넷 서비스, 근거리 통신망(LAN), 광대역 통신망(WAN), 인트라넷, 무선 인터넷 서비스, 이동 컴퓨팅 서비스, 무선 데이터 통신 서비스, 무선 인터넷 접속 서비스, 위성 통신 서비스, 무선 랜, 블루투스 등 유/무선을 통하여 데이터를 주고 받을 수 있는 것을 모두 포함할 수 있다. 네트워크(20)가 스마트폰 또는 태블릿 등과 연결되는 경우, 네트워크(20)는 3G, 4G, 5G 등의 무선 데이터 통신 서비스, 와이파이(Wi-Fi) 등의 무선 랜, 블루투스 등일 수 있다. Referring to FIG. 1, the automatic domain classification dialogue system (1, hereinafter dialogue system) receives utterance from the
유저 인터페이스(100)는 사용자(10)가 사용하는 단말기 등을 통하여 대화 시스템(1)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(10)는 유저 인터페이스(100)를 통하여 사용자(10)의 발언을 대화 시스템(1)에 전송할 수 있고, 유저 인터페이스(100)를 통하여 사용자(10)의 발언에 대한 대화 시스템(1)의 발언을 전달받을 수 있다. 발언(utterance)은 대화 과정에서 사용자(10) 또는 대화 시스템(1)이 상대에게 전달하고자 하는 문장이다. 사용자(10)의 발언은 입력 문장(30)이라 호칭할 수 있고, 대화 시스템(1)의 발언은 출력 문장(40)이라 호칭할 수 있다. 사용자(10)의 발언인 입력 문장(30)이 질의인 경우, 대화 시스템(1)의 발언인 출력 문장(40)은 질의에 대한 응답일 수 있다. The
대화 시스템(1)은 유저 인터페이스(100)와 연결되어, 입력 문장(30)을 수신하는 클러스터 생성부(200)를 포함한다. 클러스터 생성부(200)는 자연어 이해부(800)를 참조하여, 자연어 처리가 수행되어 컴퓨터가 읽을 수 있는 형태로 처리된 입력 문장(30)을 수신할 수 있다. 자연어 처리는 대상 어절을 최소의 의미 단위인 형태소로 분석하는 형태소 분석 과정, 이렇게 분석된 형태소 결과 중 가장 적합한 형태의 품사를 선택하는 과정으로서 문맥 좌우에 위치한 중의성 해소의 힌트가 되는 정보를 이용해서 적합한 분석 결과를 선택하는 품사 부착 과정, 명사구, 동사구, 부사구 등의 덩어리를 분석하는 구 단위 분석 과정, 중문, 복문 등의 문장을 단문 단위로 분해하는 절 단위 분석 과정, 및 문장을 이루고 있는 구성 성분 간 위계 관계를 분석하여 문장의 구조를 결정하는 구문 분석 과정을 포함할 수 있다. 또한, 클러스터 생성부(200)는 대화 말뭉치 저장부(700)로부터 대화 말뭉치 저장부(700)가 가지는 대화들을 수신할 수 있다. The dialogue system 1 includes a
말뭉치란, 언어 연구를 위해 텍스트들을 컴퓨터가 읽을 수 있는 형태로 모아 놓은 언어 자료를 의미하며, 대화 말뭉치는 복수의 대화를 컴퓨터가 읽을 수 있는 형태로 모아 놓은 언어 자료를 의미한다. The corpus refers to a language material that collects texts in a computer-readable form for language research, and the dialogue corpus refers to a language material that collects a plurality of dialogues in a computer-readable form.
대화 말뭉치 저장부(700)는 복수의 대화로 이루어지는 대화 말뭉치이 저장될 수 있다. 대화 말뭉치 저장부(700)는 대화 말뭉치를 이루는 각각의 대화 및 해당 대화의 도메인을 함께 저장할 수 있다. 즉, 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 이루는 각각의 대화는, 해당 대화에 대하여 분류된 도메인이 함께 저장될 수 있다. The dialogue
일부 실시 예에서, 대화 말뭉치 저장부(700)는 대화 시스템(1)의 외부에 존재하는 대화 말뭉치에 대한 정보를 저장할 수 있으며, 대화 말뭉치 저장부(700)는 저장된 외부에 존재하는 대화 말뭉치에 대한 정보를 참조하여, 네트워크(20)를 통하여 외부에 존재하는 대화 말뭉치에 억세스하여, 외부에 존재하는 대화 말뭉치를 이루는 대화들을 대화 시스템(1)에서 이용할 수 있도록 불러들이거나, 대화 말뭉치 저장부(700) 내에 저장해 놓을 수 있다. In some embodiments, the conversation
클러스터 생성부(200)는 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 클러스터링하여 복수의 대화 클러스터(도 2의 CL)로 이루어지는 대화 말뭉치 클러스터를 생성하여 대화 말뭉치 클러스터 저장부(250)에 저장할 수 있다. 클러스터 생성부(200)는 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 이루는 복수의 대화 각각을 이루는 단어인 엔티티(entity)들을 벡터로 워드 임베딩한 후, 복수의 대화로 이루어지는 대화 말뭉치에 대한 벡터화된 엔티티들 전체를 대상으로 클러스터링을 하여, 복수의 대화 클러스터(CL)를 생성할 수 있다. The
클러스터 생성부(200)는 입력 문장(30)을 클러스터링하여 입력 문장 클러스터(350)를 생성할 수 있다. 클러스터 생성부(200)는 입력 문장(30)을 이루는 단어인 엔티티(entity)들을 벡터로 워드 임베딩한 후, 입력 문장 클러스터(350)를 생성할 수 있다. 구체적으로, 클러스터 생성부(200)는 대화 말뭉치 클러스터 저장부(250)에 저장된 복수의 대화 클러스터(CL)를 참조하여, 입력 문장(30)에 대한 벡터화된 엔티티들에 대응하는 대화 클러스터(CL)를 선정하여 입력 문장 클러스터(350)를 생성할 수 있다. The
클러스터 생성부(200)는 미리 학습된 언어 모형으로 워드 임베딩을 수행하여, 엔티티를 벡터로 생성할 수 있다. 예를 들면, 클러스터 생성부(200)는 ELMo(Embeddings from Language Model) 기반의 워드 임베딩을 수행하여, 엔티티를 벡터로 생성할 수 있다. ELMo 기반의 워드 임베딩은 기존의 워드 임베딩, 예를 들면 예측 기반으로 워드 임베딩이 서로 다른 도메인에서 다른 의미를 갖는 같은 표기의 단어를 하나의 벡터로 만들어버리는 문제를 해결하기 위하여, 문맥에 따라서 다르게 워드 임베딩을 할 수 있다. The
클러스터 생성부(200)는 복수의 대화로 이루어지는 대화 말뭉치에 대한 벡터화된 엔티티들 전체를 대상으로 밀도 기반 클러스터링을 하여, 복수의 대화 클러스터(CL)를 생성할 수 있다. 예를 들면, 클러스터 생성부(200)는 DBSCAN(Density-based spatial clustering of applications with noise) 방식으로 복수의 대화로 이루어지는 대화 말뭉치에 대한 벡터화된 엔티티들 전체를 대상으로 클러스터링을 하여, 복수의 대화 클러스터(CL)를 생성할 수 있다. The
클러스터 생성부(200)에서 대화 말뭉치를 이루는 복수의 대화 각각 또는 입력 문장(30)을 벡터로 워드 임베딩하면, 복수의 대화 각각 또는 입력 문장(30)은, 대화 또는 입력 문장(30)을 이루는 단어인 엔티티를 워드 임베딩한 벡터들로 이루어지는 문장 벡터(sentence vector)로 변환될 수 있다. When each of the plurality of dialogues or
대화 말뭉치 클러스터를 이루는 복수의 대화 클러스터(CL) 중, 입력 문장(30)을 이루는 단어인 엔티티를 워드 임베딩한 벡터들 각각에 대응하는 대화 클러스터(CL)를 클러스터 키(cluster key)라 호칭할 수 있다. 입력 문장 클러스터(350)는 입력 문장(30)에 대한 문장 벡터를 이루는 벡터들 각각에 대응하는 복수의 클러스터 키(클러스터 1, 클러스터 2, ..., 클러스터 K)로 이루어질 수 있다. Among the plurality of dialogue clusters CL constituting the dialogue corpus cluster, the dialogue cluster CL corresponding to each of the vectors in which the entity, which is a word constituting the
도메인 판단부(500)는 도메인 분류 학습부(400)가 가지는 도메인 분류 예측 모델(420)을 참조하여, 입력 문장 클러스터(350)의 도메인을 판단할 수 있다. 도메인 도메인 분류 학습부(400)는 대화 말뭉치 클러스터 저장부(250)에 저장된 대화 말뭉치 클러스터 및 각 대화의 도메인을 학습하여 도메인 분류 예측 모델(420)을 생성할 수 있다. 도메인 분류 학습부(400)에서 도메인 분류 예측 모델(420)을 생성하는 방법은 도 3을 통하여 자세히 설명하도록 한다. The
입력 문장 클러스터(350)을 이용하여 도메인 판단부(500)에서 도메인이 판단된 입력 문장(30)의 워드 임베딩된 결과를 대화 말뭉치 도메인 관리부(600)에 대입하여, 입력 문장(30)에 대한 대화 시스템(1)의 발언이 생성될 수 있으며, 대화 시스템(1)의 발언은 자연어 생성부(900)를 참조하여 출력 문장(40)으로 생성되며, 출력 문장(40)을 유저 인터페이스(100)에서 네트워크(20)을 통하여 사용자(10)에게 제공될 수 있다. By using the
대화 말뭉치 도메인 관리부(600)는 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치가 포함하는 복수의 대화를 도메인 별로 분류하여, 도메인 별로 워드 임베딩하고, 도메인 별로 대화 모델을 생성하여 그 결과를 저장해서 가질 수 있다. 대화 말뭉치 도메인 관리부(600)는 예측 기반으로 워드 임베딩을 수행하여, 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치가 포함하는 복수의 대화를 도메인 별로 워드 임베딩할 수 있다. 예를 들면, 대화 말뭉치 도메인 관리부(600)는 Word2Vec 또는 글로브(Global Vectors for Word Representation, GloVe)를 기반으로 워드 임베딩을 수행하여, 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치가 포함하는 복수의 대화를 도메인 별로 워드 임베딩할 수 있다. 또한, 대화 말뭉치 도메인 관리부(600)는 도메인 별로 워드 임베딩된 대화들을 사용하여, 도메인별 대화모델을 생성할 수 있다.The conversation corpus
도메인 판단부(500)에서 도메인이 판단된 입력 문장(30)의 워드 임베딩된 결과는, 대화 말뭉치 도메인 관리부(600)가 가지는 해당 도메인에 대한 대화모델을 사용하여 입력 문장(30)에 대한 대화 시스템(10)의 발언이 생성될 수 있다. The word-embedded result of the
도 2는 본 발명의 예시적 실시 예에 따른 도메인 자동 분류 대화 시스템의 클러스터 생성부에서 생성된 대화 말뭉치 클러스터를 설명하기 위한 개념도이다. 2 is a conceptual diagram illustrating a dialog corpus cluster generated by a cluster generation unit of an automatic domain classification dialog system according to an exemplary embodiment of the present invention.
도 2를 참조하면, 대화 말뭉치 클러스터 저장부(250)는 복수의 대화 클러스터(CL)를 저장할 수 있다. 복수의 대화 클러스터(CL)는 복수의 대화로 이루어지는 대화 말뭉치에 대한 벡터화된 엔티티들 전체를 대상으로 밀도 기반 클러스터링을 하여 생성될 수 있다. 예를 들면, 복수의 대화 클러스터(CL)는 DBSCAN 방식으로 복수의 대화로 이루어지는 대화 말뭉치에 대한 벡터화된 엔티티들 전체를 대상으로 클러스터링을 하여 생성될 수 있다. Referring to FIG. 2, the conversation corpus
DBSCAN 방식으로 복수의 대화 클러스터(CL)로 클러스터링된 벡터화된 엔티티들은 대화 말뭉치에 속한 각각의 어휘들의 의미에 따라서 유사한 의미를 지닌 어휘들끼리 클러스터 갯수를 따로 지정하지 않아도 대화 클러스터(CL)를 형성할 수 있게 된다. 이는 설정된 반경거리 이내의 벡터화된 엔티티들가 아니면, 다른 클러스터를 형성하기 때문에 의미가 전혀 다르지만 설정된 클러스터 개수 때문에 벡터 공간상 거리가 최대한 가까운 임베딩 벡터들을 묶어버려, 각각의 클러스터가 가지는 의미를 해치게 되는 문제점을 보완할 수 있다. Vectorized entities clustered into a plurality of dialog clusters (CL) in the DBSCAN method can form a dialog cluster (CL) without specifying the number of clusters between vocabularies having similar meanings according to the meaning of each vocabulary in the dialog corpus. You will be able to. This has a completely different meaning because they form different clusters unless they are vectorized entities within the set radius distance, but because of the set number of clusters, the embedding vectors with the closest distance in the vector space are grouped together, thereby damaging the meaning of each cluster. Can be supplemented.
도 3은 본 발명의 예시적 실시 예에 따른 도메인 자동 분류 대화 시스템에서 도메인 분류 예측 모델을 생성하는 과정을 설명하기 위한 블록도이다. 3 is a block diagram illustrating a process of generating a domain classification prediction model in an automatic domain classification dialog system according to an exemplary embodiment of the present invention.
도 3을 참조하면, 대화 말뭉치 저장부(700)는 복수의 대화를 이루는 각각의 대화(대화X) 및 해당 대화의 도메인(도메인Y)을 함께 저장할 수 있다. 즉, 대화 말뭉치 저장부(700)는 도메인을 알고 있는 복수의 대화를 저장할 수 있다.Referring to FIG. 3, the conversation
클러스터 생성부(200)는 제1 워드 임베딩 모듈(210) 및 클러스터링 모듈(220)을 포함할 수 있다. 여기에서 제1 워드 임베딩 모듈(210)은 대화 말뭉치 도메인 관리부(도 6의 600)가 포함하는 제2 워드 임베딩 모듈(도 6의 630)과의 구분이 필요없는 경우에는 워드 임베딩 모듈이라고도 호칭할 수 있다. The
제1 워드 임베딩 모듈(210)은 미리 학습된 언어 모형으로 워드 임베딩을 수행하여, 엔티티를 벡터로 생성할 수 있다. 예를 들면, 제1 워드 임베딩 모듈(210)은 ELMo(Embeddings from Language Model) 기반의 워드 임베딩을 수행하여, 엔티티를 벡터로 생성할 수 있다. ELMo 기반의 워드 임베딩은 기존의 워드 임베딩, 예를 들면 예측 기반으로 워드 임베딩이 서로 다른 도메인에서 다른 의미를 갖는 같은 표기의 단어를 하나의 벡터로 만들어버리는 문제를 해결하기 위하여, 문맥에 따라서 다르게 워드임 베딩을 할 수 있다. The first
제1 워드 임베딩 모듈(210)은 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 이루는 복수의 대화 각각을 이루는 단어인 엔티티(entity)들을 벡터로 워드 임베딩할 수 있다. The first
클러스터링 모듈(220)은, 벡터화된 엔티티들에 대하여 밀도 기반 클러스터링을 할 수 있다. 예를 들면, 클러스터링 모듈(220)는 DBSCAN(Density-based spatial clustering of applications with noise) 방식으로 벡터화된 엔티티들에 대하여 클러스터링을 할 수 있다. The
클러스터링 모듈(220)은, 제1 워드 임베딩 모듈(210)에서 생성한 대화 말뭉치 저장부(700)에 저장된 복수의 대화로 이루어지는 대화 말뭉치에 대한 벡터화된 엔티티들 전체를 대상으로 밀도 기반 클러스터링을 하여, 복수의 대화 클러스터(도 2의 CL)를 생성하여, 대화 말뭉치 클러스터 저장부(250)에 저장할 수 있다. The
대화별 클러스터 조합부(280)는 대화 말뭉치를 이루는 복수의 대화 각각을 이루는 단어인 엔티티를 포함하는 대화 클러스터(CL), 즉 클러스터 키로 대체하여 복수의 클러스터 키로 이루어지는 대화별 클러스터를 생성하여, 복수의 대화 각각에 대한 대화별 클러스터와 도메인의 쌍으로 이루어지는 질의 유형 학습 셋(410)을 생성한다. The dialog-specific
도메인 분류 학습부(400)는 질의 유형 학습 셋(410)을 이용하여 도메인 분류 예측 모델(420)을 생성하도록 학습하는 도메인 분류 모델 학습기(450)를 포함한다. 도메인 분류 예측 모델(420)은 관리자로부터 입력되어 기설정된 도메인 분류 동작 규칙(430)을 기반으로, 도메인 분류를 수행할 수 있다. 도메인 분류 로그(490)는 도메인 분류에 대한 사용자(도 1의 10)의 피드백을 저장할 수 있다. The domain
즉, 도메인 분류 학습기(450)는 복수의 클러스터 키로 이루어지는 대화별 클러스터, 및 도메인을 각각 입력, 및 출력으로 사용하여, 도메인 분류 예측 모델(420)을 생성할 수 있다. 따라서, 도메인 분류 예측 모델(420)은 도 1에 보인 입력 문장 클러스터(350)를 입력으로 사용하여, 입력 문장(도 1의 30)에 대한 도메인을 분류할수 있다. That is, the
도 4는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 클러스터 생성부에서 사용자의 입력 문장에 대한 클러스터를 생성하는 과정을 설명하기 위한 블록도이다. 4 is a block diagram illustrating a process of generating a cluster for a user's input sentence by a cluster generator of a dialog system having a plurality of dialog domains according to an exemplary embodiment of the present invention.
도 4를 참조하면, 사용자(10)로부터 네트워크(20)를 통해서 유저 인터페이스(100)가 수신한 입력 문장(30)은 자연어 이해부(800)를 참조하여 자연어 처리가 수행되어, 컴퓨터가 읽을 수 있는 형태로 처리되어 클러스터링 생성부(200)에 에 전달된다. 4, the
클러스터 생성부(200)의 제1 워드 임베딩 모듈(210)은 입력 문장(30)을 이루는 단어인 엔티티(entity)들을 벡터로 워드 임베딩한 후, 클러스터링 모듈(220)에서 대화 말뭉치 클러스터 저장부(250)에 저장된 복수의 대화 클러스터(도 2의 CL)를 참조하여, 입력 문장(30)에 대한 벡터화된 엔티티들에 대응하는 대화 클러스터(CL)를 선정하여 입력 문장 클러스터(350)를 생성할 수 있다. After the first
제1 워드 임베딩 모듈(210)은 미리 학습된 언어 모형으로 워드 임베딩을 수행하여, 엔티티를 벡터로 생성할 수 있다. 예를 들면, 제1 워드 임베딩 모듈(210)는 ELMo(Embeddings from Language Model) 기반의 워드 임베딩을 수행하여, 엔티티를 벡터로 생성할 수 있다. ELMo 기반의 워드 임베딩은 기존의 워드 임베딩, 예를 들면 예측 기반으로 워드 임베딩이 서로 다른 도메인에서 다른 의미를 갖는 같은 표기의 단어를 하나의 벡터로 만들어버리는 문제를 해결하기 위하여, 문맥에 따라서 다르게 워드 임베딩을 할 수 있도록 하는 방법이다. The first
클러스터링 모듈(220)은 입력 문장(30)에 대한 벡터화된 엔티티들에 대응되는 복수의 대화 클러스터(CL)를 선정하여, 입력 문장 클러스터(350)를 생성할 수 있다. 따라서 입력 문장 클러스터(350)를 이루는 복수의 클러스터 키(클러스터 1, 클러스터 2, ..., 클러스터 K)는 로 이루어질 수 있다. 따라서, 입력 문장 클러스터(350)를 이루는 복수의 클러스터 키(클러스터 1, 클러스터 2, ..., 클러스터 K)는 밀도 기반 클러스터링을 한 것과 유사한 클러스터링 결과를 가질 수 있다. The
즉, 입력 문장(30)에 대한 벡터화된 엔티티들만으로는, 밀도 기반 클러스터링을 하기에는 벡터화된 엔티티들의 개수가 적을 수 있다. 그러나, 클러스터링 모듈(220)은 입력 문장(30)에 대한 벡터화된 엔티티들에 대응하는, 밀도 기반 클러스터링을 하여 얻어진 복수의 대화 클러스터(CL)을 선정하므로, 입력 문장 클러스터(350)를 이루는 복수의 클러스터 키(클러스터 1, 클러스터 2, ..., 클러스터 K)는 밀도 기반 클러스터링을 한 것과 유사한 클러스터링 결과를 가질 수 있다. That is, with only the vectorized entities for the
도 5는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 자연어 이해부의 주요 구성을 나타내는 블록도이다.Fig. 5 is a block diagram showing a main configuration of a natural language understanding unit of a dialogue system having a plurality of dialogue domains according to an exemplary embodiment of the present invention.
도 5를 참조하면, 자연어 이해부(800)는 유저 인터페이스(100)가 수신한 자연어 형태의 입력 문장(30)을 해석하는 자연어 분석부(810)를 포함할 수 있다. 자연어 분석부(810)는 형태소 분석부(811), 구문 분석부(812), 개체명 분석부(813), 필터링 분석부(814), 의도 분류부(815), 도메인 분석부(816) 및 시맨틱 롤 라벨링부(SRL, 817)를 포함할 수 있다. Referring to FIG. 5, the natural
형태소 분석부(811)는 입력 문장(30)을 최소의 의미 단위인 형태소 단위로 분리할 수 있다. 구문 분석부(812) 및 개체명 분석부(813)는 각각 형태소 단위로 분리된 입력 문장(30)에 대한 구문 분석 및 개체명 분석을 할 수 있다. The
구문 분석부(812)에서는 형태소 분석 결과 중 가장 적합한 형태의 품사를 선택하는 과정으로서 문맥 좌우에 위치한 중의성 해소의 힌트가 되는 정보를 이용해서 적합한 분석 결과를 선택하는 품사 부착 과정, 명사구, 동사구, 부사구 등의 덩어리를 분석하는 구 단위 분석 과정, 중문, 복문 등의 문장을 단문 단위로 분해하는 절 단위 분석 과정, 및 문장을 이루고 있는 구성 성분 간 위계 관계를 분석하여 문장의 구조를 결정하는 구문 분석 과정이 수행될 수 있다. The
필터링 분석부(814)는 입력 문장(30) 중 불필요한 피쳐를 제거하여 간결화된 문장을 생성할 수 있다. The
의도 분류부(815) 및 도메인 분석부(816)는 필터링 분석부(814)에서 생성한 간결화된 문장을 기초로 의미 역할이 부여된 질의의 의도 분류 및 도메인 분석을 할 수 있다. 의도 분류부(815)는, 입력 문장(30)에 대한 자연어 처리 결과로부터 의도를 검출할 수 있다. 의도란 발언의 의도로 사용되며, 하나의 의도에는 다수의 의역된(paraphrasing) 문장들을 설정할 수 있다. 의도 검출(Intent Classification 또는 Intent Detect)이란 특정 문장에 대한 의미를 결정하기 위해 대화 과정에서 설정된 의도 중 유사도가 높은 문장을 찾는 과정을 말한다.The
도메인 분석부(816)에서 수행되는 도메인 분석은, 도메인 분류 예측 모델(도 1의 420)에서, 입력 문장(30)에 대한 도메인 분류를 수행하는 과정에서 참조될 수 있다. 시맨틱 롤 라벨링부(SRL, 817)은 입력 문장(30)에 대한 의미 역할을 부여할 수 있다. 시맨틱 롤 라벨링이란, 입력 문장(30)의 형태소들에, E(Entity), P(Property), Q(Quntity), C(Class Information, 클래스 정보) 등과 같은 라벨(label)이 부여하는 것을 의미할 수 있다. The domain analysis performed by the
자연어 이해부(800)는 자연어 분석부(810)에서 수행된 자연어 처리 결과를 받아서, 입력 문장(30)에 대한 분류를 수행하는 질의 분류부(820)를 더 포함할 수 있다. 질의 분류부(820)는 입력 문장(30)에 대한 시맨틱 패턴 정보를 생성할 수 있다. 시맨틱 패턴은, 입력 문장(30) 전체에 대한 라벨의 구성, 예를 들면, EP(Entity, Property) 패턴, EPP(Entity, 2 Property) 패턴, EPQ(Entity, Property, Quntity) 패턴 등을 의미할 수 있다. 질의 분류부에서 생성한 시맨틱 패턴 정보는 입력 문장(30)에 대한 출력 문장(40)을 생성하는데에 사용될 수 있다. The natural
도 6은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 대화 말뭉치 도메인 관리부의 주요 구성을 나타내는 블록도이다.Fig. 6 is a block diagram showing a main configuration of a dialogue corpus domain management unit of a dialogue system having a plurality of dialogue domains according to an exemplary embodiment of the present invention.
도 6을 참조하면, 대화 말뭉치 도메인 관리부(600)는 대화 말뭉치 도메인 분류부(610), 제2 워드 임베딩 모듈(630), 및 대화 모델 생성부(650)를 포함할 수 있다. 여기에서 제2 워드 임베딩 모듈(630)은 클러스터 생성부(도 3의 200)가 포함하는 제1 워드 임베딩 모듈(210)과의 구분이 필요없는 경우에는 워드 임베딩 모듈이라고도 호칭할 수 있다. Referring to FIG. 6, the conversation corpus
대화 말뭉치 도메인 분류부(610)는 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 이루는 복수의 대화를 도메인 별로 분류하여, 복수의 도메인 대화 말뭉치(620)로 분류한다. 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 이루는 복수의 대화가 N개의 도메인을 가지고 있는 경우, 복수의 도메인 대화 말뭉치(620)는 제1 도메인 대화 말뭉치 내지 제N 도메인 대화 말뭉치인 N개의 도메인 대화 말뭉치로 분류될 수 있다. The conversation corpus
제2 워드 임베딩 모듈(630)은 복수의 도메인 대화 말뭉치(620) 각각에 포함되는 대화들을 이루는 단어인 엔티티(entity)들을 벡터로 워드 임베딩할 수 있다. 제2 워드 임베딩 모듈(630)은 도메인 별로 분류된 대화들로 이루어지는 도메인 대화 말뭉치별로 워드 임베딩을 하여, 복수의 도메인 워드 임베딩(640)을 생성할 수 있다. 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 이루는 복수의 대화가 N개의 도메인을 가지고 있는 경우, 즉 복수의 도메인 대화 말뭉치(620)는 제1 도메인 대화 말뭉치 내지 제N 도메인 대화 말뭉치인 N개의 도메인 대화 말뭉치로 분류되어 있는 경우, 복수의 도메인 워드 임베딩(640)은 N개의 도메인 각각에 대하여 분류된 제1 도메인 워드 임베딩 내지 제N 도메인 워드 임베딩인 N개의 도메인 워드 임베딩을 포함할 수 있다. The second
제2 워드 임베딩 모듈(630)은 예측 기반으로 워드 임베딩을 수행하여, 도메인 별로 분류된 대화들로 이루어지는 도메인 대화 말뭉치별로 워드 임베딩을 하여, 복수의 도메인 워드 임베딩(640)을 생성할 수 있다. 예를 들면, 제2 워드 임베딩 모듈(630)은 Word2Vec 또는 글로브(Global Vectors for Word Representation, GloVe)를 기반으로 워드 임베딩을 수행하여, 복수의 도메인 워드 임베딩(640)을 생성할 수 있다. 복수의 도메인 대화 말뭉치(620)는 도메인 별로 분류되어 있어, 서로 다른 도메인에서 다른 의미를 갖는 같은 표기의 단어를 하나의 벡터로 만들어버리는 문제가 발생하지 않으므로, 제2 워드 임베딩 모듈(630)은 예측 기반으로 워드 임베딩을 수행하여, 도메인 별로 분류된 대화들로 이루어지는 도메인 대화 말뭉치별로 워드 임베딩을 하여, 복수의 도메인 워드 임베딩(640)을 생성할 수 있다. The second
대화 모델 생성부(650)는 도메인 별로 생성된 복수의 도메인 워드 임베딩(640) 각각에 대하여 복수의 도메인 대화 모델(660)을 생성할 수 있다. 대화 말뭉치 저장부(700)에 저장된 대화 말뭉치를 이루는 복수의 대화가 N개의 도메인을 가지고 있는 경우, 즉 복수의 도메인 대화 말뭉치(620)가 제1 도메인 대화 말뭉치 내지 제N 도메인 대화 말뭉치인 N개의 도메인 대화 말뭉치로 분류되어, 복수의 도메인 워드 임베딩(640)이 제1 도메인 워드 임베딩 내지 제N 도메인 워드 임베딩인 N개의 도메인 워드 임베딩으로 이루어지는 경우, 대화 모델 생성부(650)는 N개의 도메인 각각 별인 제1 도메인 대화 모델 내지 제N 도메인 대화 모델로 이루어지는 N개의 도메인 대화 모델을 생성할 수 있다. 복수의 도메인 대화 모델(660)에 포함되는 제1 도메인 대화 모델 내지 제N 도메인 대화 모델로 이루어지는 N개의 도메인 대화 모델 각각은, 입력 문장(도 1의 30)에 대응하는 도메인에 따라 선택되어, 출력 문장(도 1의 40)을 생성할 수 있다. The
도 7은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 도메인 자동 분류를 하는 과정을 설명하기 위한 블록도이다. Fig. 7 is a block diagram illustrating a process of automatically classifying domains in a chat system having a plurality of chat domains according to an exemplary embodiment of the present invention.
도 7을 참조하면, 사용자(10)가 네트워크(20)를 통하여 입력한 입력 문장(30)은 도 4에서 설명한 것과 같이 입력 문장 클러스터(350)로 변환될 수 있다. 입력 문장 클러스터(350)는 도메인 분류 예측 모델(420)을 참조하여, 도메인 판단부(500)에서 도메인이 판단될 수 있다. 도메인 판단부(500)는 입력 문장 클러스터(350)가 가지는 복수의 클러스터 키(클러스터 1, 클러스터 2, ..., 클러스터 K)를 도메인 분류 예측 모델(420)을 참조하여, 입력 문장(350)의 도메인을 판단할 수 있다.Referring to FIG. 7, the
도메인 분류 예측 모델(420)은, 대화별 클러스터 조합부(280)는 대화 말뭉치를 이루는 복수의 대화 각각을 이루는 단어인 엔티티를 포함하는 대화 클러스터(CL), 즉 클러스터 키로 대체하여 복수의 클러스터 키로 이루어지는 대화별 클러스터를 생성하여, 복수의 대화 각각에 대한 대화별 클러스터와 도메인의 쌍으로 이루어지는 질의 유형 학습 셋(410)을 생성한다. In the domain
도메인 분류 예측 모델(420)은, 도메인 분류 학습기(도 3의 450)에서 질의 유형 학습 셋(도 3의 410)을 이용하여 생성될 수 있다. 질의 유형 학습 셋(410)은, 대화 말뭉치를 이루는 복수의 대화 각각을 이루는 단어인 엔티티를 포함하는 대화 클러스터(도 2의 CL), 즉 클러스터 키로 대체하여 복수의 클러스터 키로 이루어지는 대화별 클러스터와 도메인의 쌍으로 이루어질 수 있다. The domain
도메인 분류 학습기(450)는 복수의 클러스터 키로 이루어지는 대화별 클러스터, 및 도메인을 각각 입력, 및 출력으로 사용하여, 도메인 분류 예측 모델(420)을 생성하므로, 도메인 분류 예측 모델(420)은 입력 문장 클러스터(350)를 입력으로 사용하여, 입력 문장(30)에 대한 도메인을 분류할수 있다. The
도메인이 판단된 입력 문장(30), 정확히는 입력 문장(30)의 자연어 처리 결과는 복수의 도메인 대화 모델(660) 중 판단된 도메인에 대응되는 도메인 대화 모델, 예를 들면, 입력 문장(30)에 대한 도메인이 제2 도메인으로 판단된 경우, 입력 문장(30)은 제2 도메인 대화 모델에 의하여 출력인 대화 시스템(도 1의 1)의 발언이 생성될 수 있으며, 대화 시스템(1)의 발언은 자연어 생성부(900)를 참조하여 출력 문장(40)으로 생성되며, 출력 문장(40)을 유저 인터페이스(100)에서 네트워크(20)을 통하여 사용자(10)에게 제공될 수 있다. The
출력 문장(40)을 수신한 사용자(10)의 도메인 분류에 대한 피드백은 도메인 분류 로그(490)에 저장될 수 있다. 도메인 분류 로그(490)에 저장된 사용자(10)의 도메인 분류에 대한 피드백은 도메인 분류 예측 모델(420)을 재생성하거나 업데이트하는데에 사용될 수 있다. Feedback on domain classification of the
도메인 분류 로그(490)에 저장된 사용자(10)의 도메인 분류에 대한 피드백이, 도메인이 올바르게 분류된 것일 경우, 입력 문장(30)은 대화 말뭉치 도메인 분류부(610)에 의하여 도메인 복수의 도메인 대화 말뭉치(620) 중 해당하는 도메인에 대한 도메인 대화 말뭉치, 예를 들면 제2 도메인 대화 말뭉치에 저장될 수 있다. 이는 사용자(10)의 피드백에 의하여 업데이트된 제2 도메인 대화 말뭉치는, 다시 제2 워드 임베딩 모듈(630)에 의하여 워드 임베딩이 되어, 복수의 도메인 워드 임베딩(640) 중 제2 도메인 워드 임베딩이 재생성 또는 업데이트될 수 있고, 대화 모델 생성부(650)에 의하여 복수의 도메인 대화 모델(660) 중 제2 도메인에 대한 대화 모델인 제2 도메인 대화 모델이 재생성 또는 업데이트될 수 있다. If the feedback on the domain classification of the
도 1 내지 도 7을 함께 참조하면, 본 발명에 따른 도메인 자동 분류 대화 시스템(1)은 사용자(10)의 입력 문장(30)에 대하여 미리 학습된 언어 모형으로 워드 임베딩을 수행하여, 엔티티를 벡터로 생성하고, 대화 말뭉치 클러스터를 이루는 복수의 대화 클러스터(CL) 중 입력 문장(30)을 이루는 단어인 엔티티를 워드 임베딩한 벡터들 각각에 대응하는 대화 클러스터(CL)인 복수의 클러스터 키(클러스터 1, 클러스터 2, ..., 클러스터 K)로 이루어지는 입력 문장 클러스터(350)를 생성한 후, 도메인 분류 예측 모델(420)에서 입력 문장 클러스터(350)를 입력으로 사용하여, 입력 문장(30)에 대한 도메인을 분류하여 출력으로 제공한다. 1 to 7 together, the domain automatic classification dialog system 1 according to the present invention performs word embedding with a pre-learned language model with respect to the
따라서 입력 문장(30)에 대한 워드 임베딩을 수행하는 과정에서, 서로 다른 도메인에서 다른 의미를 갖는 같은 표기의 단어를 하나의 벡터로 만들어버리는 문제를 해결하기 위하여, 미리 학습된 언어 모형, 예를 들면, ELMo 기반의 워드 임베딩을 수행하여, 엔티티를 벡터로 생성하여, 문맥에 따라서 다르게 워드 임베딩을 할 수 있다. Therefore, in the process of performing word embedding for the
또한, 밀도 기반 클러스터링을 하여 생성한 복수의 대화 클러스터(CL)에 대응하는 복수의 클러스터 키(클러스터 1, 클러스터 2, ..., 클러스터 K)로 이루어지는 입력 문장 클러스터(350)를 생성하여 도메인 분류를 수행한다.In addition, domain classification by creating an
따라서 본 발명에 따른 도메인 자동 분류 대화 시스템(1)은, 오픈 도메인 환경에서 입력 문장(30)이 주어졌을 때도, 입력 문장(30)의 도메인을 판단하여, 알맞은 출력 문장(40)을 생성할 수 있다. Therefore, the automatic domain classification dialog system 1 according to the present invention can generate an
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다. Above, the present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various modifications and changes by those of ordinary skill in the art within the spirit and scope of the present invention This is possible.
1 : 도메인 자동 분류 대화 시스템, 10 : 사용자, 20 : 네트워크, 30 : 입력 문장, 40 : 출력 문장, 100 : 유저 인터페이스, 200 : 클러스터 생성부, 210 : 제1 워드 임베딩 모듈, 220 : 클러스터링 모듈, 250 : 대화 말뭉치 클러스터 저장부, CL : 대화 클러스터, 280 : 대화별 클러스터 조합부, 350 : 입력 문장 클러스터, 400 : 도메인 분류 학습부, 410 : 질의 유형 학습 셋, 420 : 도메인 분류 예측 모델, 430 : 도메인 분류 동작 규칙, 450 : 도메인 분류 모델 학습기, 490 : 도메인 분류 로그, 500 : 도메인 판단부, 600 : 대화 말뭉치 도메인 관리부, 610 : 대화 말뭉치 도메인 분류부, 620 : 도메인 대화 말뭉치, 630 : 제2 워드 임베딩 모듈, 640 : 도메인 워드 임베딩, 650 : 대화 모델 생성부, 660 : , 700 : 대화 말뭉치, 800 : 자연어 이해부, 900 : 자연어 생성부1: domain automatic classification dialog system, 10: user, 20: network, 30: input sentence, 40: output sentence, 100: user interface, 200: cluster generation unit, 210: first word embedding module, 220: clustering module, 250: dialogue corpus cluster storage unit, CL: dialogue cluster, 280: dialogue cluster combination unit, 350: input sentence cluster, 400: domain classification learning unit, 410: query type learning set, 420: domain classification prediction model, 430: Domain classification operation rule, 450: domain classification model learner, 490: domain classification log, 500: domain determination unit, 600: dialogue corpus domain management unit, 610: dialogue corpus domain classification unit, 620: domain dialogue corpus, 630: second word Embedding module, 640: domain word embedding, 650: dialogue model generation unit, 660:, 700: dialogue corpus, 800: natural language understanding unit, 900: natural language generation unit
Claims (11)
엔티티들을 벡터로 생성하도록 워드 임베딩을 수행하는 제1 워드 임베딩 모듈, 및 벡터화된 상기 엔티티들을 클러스터링하는 클러스터링 모듈을 포함하는 클러스터 생성부;
대화 말뭉치를 이루는 복수의 대화를 이루는 엔티티들을 상기 제1 워드 임베딩 모듈에서 워드 임베딩한 벡터들 전체를 대상으로 상기 클러스터링 생성부에서 클러스터링을 하여 생성된 복수의 대화 클러스터를 저장하는 대화 말뭉치 클러스터 저장부;
상기 복수의 대화 클러스터 중, 상기 대화 말뭉치를 이루는 복수의 대화 각각을 이루는 엔티티들를 워드 임베딩한 벡터들에 대응하는 대화 클러스터로 이루어지는 상기 복수의 대화에 대한 대화별 클러스터와 도메인을 각각 입력과 출력으로 사용하여 도메인 분류 예측 모델을 학습시키는 도메인 분류 학습기를 포함하는 도메인 분류 학습부; 및
상기 복수의 대화 클러스터 중, 상기 제1 워드 임베딩 모듈에서 상기 입력 문장을 이루는 엔티티들을 워드 임베딩한 벡터들에 대응하는 복수의 클러스터 키로 이루어지는 입력 문장 클러스터을 이용하여 상기 입력 문장에 대한 도메인을 판단하는 도메인 판단부;를 포함하는 도메인 자동 분류 대화 시스템.A user interface for receiving an input sentence from a user through a network and transmitting an output sentence for the input sentence to the user;
A cluster generator including a first word embedding module for performing word embedding to generate entities as vectors, and a clustering module for clustering the vectorized entities;
A dialogue corpus cluster storage unit for storing a plurality of dialogue clusters generated by clustering a plurality of dialogue entities forming a dialogue corpus by word-embedding all vectors word-embedded by the first word embedding module;
Among the plurality of conversation clusters, each conversation cluster and domain for the plurality of conversations consisting of conversation clusters corresponding to vectors in which the entities constituting each of the plurality of conversations forming the conversation corpus are word-embedded are used as inputs and outputs, respectively. A domain classification learning unit including a domain classification learner that trains a domain classification prediction model by doing so; And
Domain determination for determining a domain for the input sentence using an input sentence cluster consisting of a plurality of cluster keys corresponding to vectors in which the entities constituting the input sentence are word-embedded in the first word embedding module among the plurality of conversation clusters Domain automatic classification dialog system including;
대화 말뭉치를 이루는 복수의 대화를 도메인 별로 분류하여 복수의 도메인 대화 말뭉치를 생성하는 도메인 분류부;
상기 복수의 도메인 대화 말뭉치 각각을 이루는 엔티티들을 워드 임베딩하여 복수의 도메인 워드 임베딩을 생성하는 제2 워드 임베딩 모듈;
상기 복수의 도메인 워드 임베딩 각각에 대하여 복수의 도메인 대화 모델을 생성하는 대화 모델 생성부;를 포함하는 대화 말뭉치 도메인 관리부를 더 포함하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 1,
A domain classifying unit for classifying a plurality of conversations forming a conversation corpus by domain to generate a plurality of domain conversation corpuses;
A second word embedding module for generating a plurality of domain word embeddings by word embedding entities constituting each of the plurality of domain dialogue corpuses;
And a dialogue corpus domain management unit including a dialogue model generation unit that generates a plurality of domain dialogue models for each of the plurality of domain word embeddings.
상기 출력 문장은, 복수의 도메인 대화 모델 중, 상기 도메인 판단부에서 판단된 상기 입력 문장 클러스터에 대한 도메인에 해당하는 도메인 대화 모델에서 생성되는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 2,
The output sentence is generated from a domain conversation model corresponding to a domain for the input sentence cluster determined by the domain determination unit among a plurality of domain conversation models.
상기 제2 워드 임베딩 모듈은, 예측 기반으로 워드 임베딩을 수행하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 2,
And the second word embedding module performs word embedding based on prediction.
상기 제2 워드 임베딩 모듈은, Word2Vec 또는 글로브(Global Vectors for Word Representation, GloVe)를 기반으로 워드 임베딩을 수행하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 4,
The second word embedding module performs word embedding based on Word2Vec or Global Vectors for Word Representation (GloVe).
상기 도메인 분류 학습부는, 상기 입력 문장에 대한 도메인을 판단 결과에 대한 상기 사용자의 피드백을 저장하는 도메인 분류 로그;를 더 포함하며,
상기 도메인 분류 모델 학습기는, 상기 도메인 분류 로그에 저장된 상기 사용자의 피드백을 사용하여 상기 도메인 분류 예측 모델을 재생성하거나 업데이트하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 2,
The domain classification learning unit further includes a domain classification log for storing the user's feedback on a result of determining the domain for the input sentence,
The domain classification model learner regenerates or updates the domain classification prediction model using the user's feedback stored in the domain classification log.
상기 대화 도메인 말뭉치 분류부는,
상기 도메인 상기 도메인 분류 로그에 저장된 상기 사용자의 피드백이 도메인이 올바르게 분류된 것일 경우, 상기 입력 문장을 상기 복수의 도메인 대화 말뭉치 중 해당하는 도메인에 대한 도메인 대화 말뭉치에 저장하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 6,
The conversation domain corpus classification unit,
When the user's feedback stored in the domain classification log indicates that the domain is correctly classified, the input sentence is stored in a domain dialogue corpus for a corresponding domain among the plurality of domain dialogue corpuses. Dialogue system.
상기 제1 워드 임베딩 모듈은, 미리 학습된 언어 모형으로 워드 임베딩을 수행하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 1,
Wherein the first word embedding module performs word embedding with a pre-learned language model.
상기 제1 워드 임베딩 모듈은, ELMo(Embeddings from Language Model) 기반의 워드 임베딩을 수행하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 8,
The first word embedding module performs word embedding based on an ELMo (Embeddings from Language Model).
상기 클러스터링 생성부는, 밀도 기반 클러스터링을 하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 1,
The clustering generation unit, the automatic domain classification dialog system, characterized in that the density-based clustering.
상기 클러스터링 생성부는, DBSCAN(Density-based spatial clustering of applications with noise) 방식으로 클러스터링을 하는 것을 특징으로 하는 도메인 자동 분류 대화 시스템.The method of claim 10,
The clustering generation unit performs clustering in a Density-based spatial clustering of applications with noise (DBSCAN) method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190136910A KR102358485B1 (en) | 2019-10-30 | 2019-10-30 | Dialogue system by automatic domain classfication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190136910A KR102358485B1 (en) | 2019-10-30 | 2019-10-30 | Dialogue system by automatic domain classfication |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210051523A true KR20210051523A (en) | 2021-05-10 |
KR102358485B1 KR102358485B1 (en) | 2022-02-04 |
Family
ID=75917549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190136910A KR102358485B1 (en) | 2019-10-30 | 2019-10-30 | Dialogue system by automatic domain classfication |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102358485B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113723115A (en) * | 2021-09-30 | 2021-11-30 | 平安科技(深圳)有限公司 | Open domain question-answer prediction method based on pre-training model and related equipment |
KR20230111873A (en) * | 2022-01-19 | 2023-07-26 | 네이버 주식회사 | Method, computer device, and computer program for real-time inspector on live commerce platform |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160147303A (en) * | 2015-06-15 | 2016-12-23 | 포항공과대학교 산학협력단 | Method for dialog management based on multi-user using memory capacity and apparatus for performing the method |
KR20190018246A (en) * | 2017-08-14 | 2019-02-22 | 삼성전자주식회사 | Method and apparatus for determining domain of sentence |
-
2019
- 2019-10-30 KR KR1020190136910A patent/KR102358485B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160147303A (en) * | 2015-06-15 | 2016-12-23 | 포항공과대학교 산학협력단 | Method for dialog management based on multi-user using memory capacity and apparatus for performing the method |
KR20190018246A (en) * | 2017-08-14 | 2019-02-22 | 삼성전자주식회사 | Method and apparatus for determining domain of sentence |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113723115A (en) * | 2021-09-30 | 2021-11-30 | 平安科技(深圳)有限公司 | Open domain question-answer prediction method based on pre-training model and related equipment |
CN113723115B (en) * | 2021-09-30 | 2024-02-09 | 平安科技(深圳)有限公司 | Open domain question-answer prediction method based on pre-training model and related equipment |
KR20230111873A (en) * | 2022-01-19 | 2023-07-26 | 네이버 주식회사 | Method, computer device, and computer program for real-time inspector on live commerce platform |
WO2023140642A1 (en) * | 2022-01-19 | 2023-07-27 | 네이버 주식회사 | Method, computer device, and computer program for real-time inspector in live commerce platform |
Also Published As
Publication number | Publication date |
---|---|
KR102358485B1 (en) | 2022-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020182153A1 (en) | Method for performing speech recognition based on self-adaptive language, and related apparatus | |
JP6802005B2 (en) | Speech recognition device, speech recognition method and speech recognition system | |
EP3559946B1 (en) | Facilitating end-to-end communications with automated assistants in multiple languages | |
US11289083B2 (en) | Electronic apparatus and method for controlling thereof | |
KR20190046623A (en) | Dialog system with self-learning natural language understanding | |
CN109754809A (en) | Audio recognition method, device, electronic equipment and storage medium | |
EP2988298B1 (en) | Response generation method, response generation apparatus, and response generation program | |
CN114330371A (en) | Session intention identification method and device based on prompt learning and electronic equipment | |
KR102358485B1 (en) | Dialogue system by automatic domain classfication | |
JP6810580B2 (en) | Language model learning device and its program | |
US11615787B2 (en) | Dialogue system and method of controlling the same | |
KR20190074508A (en) | Method for crowdsourcing data of chat model for chatbot | |
CN116978367A (en) | Speech recognition method, device, electronic equipment and storage medium | |
KR100400220B1 (en) | Automatic interpretation apparatus and method using dialogue model | |
CN112017668B (en) | Intelligent voice conversation method, device and system based on real-time emotion detection | |
Tripathi et al. | CycleGAN-Based Speech Mode Transformation Model for Robust Multilingual ASR | |
Ohta et al. | Response type selection for chat-like spoken dialog systems based on LSTM and multi-task learning | |
Šoić et al. | Spoken notifications in smart environments using Croatian language | |
CN112037772A (en) | Multi-mode-based response obligation detection method, system and device | |
CN113555006B (en) | Voice information identification method and device, electronic equipment and storage medium | |
Lhioui et al. | Towards a Hybrid Approach to Semantic Analysis of Spontaneous Arabic Speech. | |
Choi et al. | Joint streaming model for backchannel prediction and automatic speech recognition | |
Griol et al. | Simulating heterogeneous user behaviors to interact with conversational interfaces | |
Bowden | A Review of Textual and Voice Processing Algorithms in the Field of Natural Language Processing | |
US11804225B1 (en) | Dialog management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |