KR102438969B1 - Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof - Google Patents
Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof Download PDFInfo
- Publication number
- KR102438969B1 KR102438969B1 KR1020200156124A KR20200156124A KR102438969B1 KR 102438969 B1 KR102438969 B1 KR 102438969B1 KR 1020200156124 A KR1020200156124 A KR 1020200156124A KR 20200156124 A KR20200156124 A KR 20200156124A KR 102438969 B1 KR102438969 B1 KR 102438969B1
- Authority
- KR
- South Korea
- Prior art keywords
- domain
- vector
- input
- sentence
- language
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000013598 vector Substances 0.000 claims abstract description 156
- 230000006870 function Effects 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002889 sympathetic effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G06Q50/30—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Machine Translation (AREA)
Abstract
본 발명은 목적에 따른 도메인(Domain) 기능만을 학습하여 특정 도메인에 해당하는 문장을 판별하기 위한 기능 대화 필터 시스템 및 그 방법에 관한 것으로, 입력 문장을 수신하는 수신부 및 입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 문장 판별부를 포함한다.The present invention relates to a functional dialogue filter system and a method for determining a sentence corresponding to a specific domain by learning only a domain function according to the purpose, and a receiver for receiving an input sentence and a language model for converting the input into a vector In-domain or out-of-domain for the input sentence by comparing the language vector for the input sentence processed by It includes a sentence discrimination unit that determines the sentence of (Out-of-Domain).
Description
본 발명은 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 목적에 따른 도메인(Domain) 기능만을 학습하여 특정 도메인에 해당하는 문장을 판별하기 위한 기술에 관한 것이다. The present invention relates to a functional dialog filter system and method to which sentence reconstruction and contrast loss are applied, and more particularly, to a technique for determining a sentence corresponding to a specific domain by learning only a domain function according to the purpose. will be.
최근 들어 네트워크 인프라의 발달과 전자 기기 성능의 향상으로 인하여, 정보 소통 이상의 온라인 서비스가 제공되고 있다.Recently, due to the development of network infrastructure and improvement of performance of electronic devices, online services beyond information communication are being provided.
그 중에서, 사용자 간의 능동적인 소통의 장으로서 채팅 서비스가 제공되고 있으며, 방대한 양의 데이터를 효과적으로 검색할 수 있는 다양한 검색 시스템이 제공되고 있다.Among them, a chat service is provided as a place for active communication between users, and various search systems capable of effectively searching a vast amount of data are provided.
기존의 기능형 AI(Artificial Intelligence) 채팅 서비스의 경우, 사용자가 입력한 텍스트 내용에 대한 지시와 명령을 수행하며, 기존의 ‘심심이’와 같은 관계형 AI(Artificial Intelligence) 채팅 서비스의 경우, 사용자가 입력한 텍스트 내용에 대해 데이터베이스에 기 입력된 내용만을 단순하게 대답하는 형식으로 사용자에게 정보를 전달하는 구조로 서비스 되었다.In the case of the existing functional AI (Artificial Intelligence) chat service, it performs instructions and commands for the text content entered by the user. The service is provided in a structure that delivers information to the user in the form of simply answering only the content already entered in the database for the text content entered.
이러한 기존 기술은 기 설정된 데이터를 기반으로 채팅 서비스를 제공하는 것이므로, 사용자의 한정된 텍스트에 대해서만 응답하거나, 직전 문장에 대해서만 추론하여 응답을 제공한다는 한계가 존재하였다. 또한, 기존 기술은 많은 단어로 조합된 문장을 인식하는 과정에서 문장 인식의 오류로 인해 특정 도메인(domain)에 대한 대화를 이어가지 못한다는 한계가 존재하였다. Since this existing technology provides a chatting service based on preset data, there is a limitation in responding only to the user's limited text or providing a response by inferring only the previous sentence. In addition, the existing technology has a limitation in that it cannot continue a conversation about a specific domain due to an error in sentence recognition in the process of recognizing a sentence combined with many words.
본 발명은 입력 문장을 개발 목적에 따라 할당된 도메인 기능에서만 판별함으로써, 기존 기술에 비해 특정 주제에 대한 넓고 깊은 대화를 공유하며, 일상적인 대화 또는 공감하는 형식의 대화와 같은 향상된 대화 능력을 제공하고자 한다.By discriminating input sentences only with domain functions assigned according to the purpose of development, the present invention shares a wide and deep conversation on a specific topic compared to existing technologies, and provides improved conversational ability such as everyday conversation or sympathetic conversation. do.
본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장을 수신하는 수신부 및 입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 문장 판별부를 포함한다.A functional dialogue filter system according to an embodiment of the present invention receives a language vector for the input sentence processed by a receiving unit for receiving an input sentence and a language model for converting an input into a vector, and an input vector within a domain among the language vectors and a sentence discrimination unit that compares the restored vectors restored by the auto-encoder to determine whether the input sentence is an in-domain or out-of-domain sentence.
상기 문장 판별부는 문장을 벡터로 변환하는 상기 언어 모델과 상기 언어 모델을 통해 처리된 상기 언어 벡터를 축소 및 복원하는 상기 오토 인코더가 결합된 것일 수 있다.The sentence determining unit may be a combination of the language model for converting a sentence into a vector and the auto-encoder for reducing and restoring the language vector processed through the language model.
상기 문장 판별부는 상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다.The sentence determining unit compares the language vector processed by the language model with the restored vector restored by the auto-encoder, and if the language vector and the restored vector represent more than a preset numerical value, the input sentence is converted to a sentence outside the domain. It can be determined, otherwise, it can be identified as a sentence within the domain.
또한, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 제어부를 더 포함할 수 있다.In addition, the functional dialogue filter system according to an embodiment of the present invention may further include a control unit for learning the auto-encoder by extracting only the input vector within the domain from among the language vectors.
상기 제어부는 상기 언어 벡터를 축소 후, 상기 복원 벡터로 복원하는 상기 오토 인코더의 재구축 손실과 대비 손실을 통해 훈련시키며, 상기 오토 인코더는 상기 도메인 내 입력 벡터로만 학습되어 상기 도메인 내 입력 벡터만 복원할 수 있다.After reducing the language vector, the control unit trains through the reconstruction loss and contrast loss of the auto-encoder that restores the reconstructed vector, and the auto-encoder is learned only from the input vector within the domain and restores only the input vector within the domain. can do.
상기 제어부는 상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다.The controller may perform a contrastive task so that the language model classifies and processes an input within a domain and an input outside the domain.
상기 제어부는 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.The controller may perform a contrast learning algorithm for learning the same cluster or a different cluster by using the input vector within the domain and the input vector outside the domain among the language vectors.
본 발명의 실시예에 따른 기능 대화 필터 방법은 입력 문장을 수신하는 단계 및 입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 단계를 포함한다.A functional dialogue filter method according to an embodiment of the present invention includes receiving an input sentence, a language vector for the input sentence processed by a language model that converts the input into a vector, and receiving an input vector in a domain from among the language vectors and comparing the restored vectors restored by the auto-encoder to determine whether the input sentence is an in-domain or out-of-domain sentence.
또한, 본 발명의 실시예에 따른 기능 대화 필터 방법은 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 단계를 더 포함할 수 있다. In addition, the functional dialogue filter method according to an embodiment of the present invention may further include the step of learning the auto-encoder by extracting only the input vector within the domain from among the language vectors.
본 발명의 실시예에 따르면, 할당된 도메인 기능만을 처리하여 특정 주제에 대한 넓고 깊은 대화를 공유하며, 일상적인 대화 또는 공감하는 형식의 대화와 같은 향상된 대화 능력을 제공할 수 있다. According to an embodiment of the present invention, it is possible to share a wide and deep conversation on a specific topic by processing only the assigned domain function, and to provide an improved conversation ability such as a conversation in a normal conversation or a sympathetic type of conversation.
도 1은 본 발명의 실시예에 따른 기능 대화 필터 시스템의 세부 구성을 블록도로 도시한 것이다.
도 2는 본 발명의 실시예에 따른 기능 대화 필터 시스템에서 입력 문장을 판별하는 프로세스를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 기능 대화 필터 시스템을 이용하여 특정 도메인에 따라 문장을 판별하는 예를 설명하기 위해 도시한 것이다.
도 4는 본 발명의 실시예에 따른 기능 대화 필터 방법의 동작 흐름도를 도시한 것이다.1 is a block diagram illustrating a detailed configuration of a functional dialogue filter system according to an embodiment of the present invention.
2 illustrates a process for determining an input sentence in a functional dialog filter system according to an embodiment of the present invention.
3 is a diagram to explain an example of discriminating a sentence according to a specific domain using the functional dialogue filter system according to an embodiment of the present invention.
4 is a flowchart illustrating an operation of a functional dialog filter method according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be embodied in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing the embodiments, and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly specifically defined.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. The same reference numerals are used for the same components in the drawings, and repeated descriptions of the same components are omitted.
본 발명의 실시예들은 목적에 따른 도메인(Domain) 기능만을 학습시켜 도메인 내 또는 도메인 외의 문장을 판별하는 것을 그 요지로 한다. Embodiments of the present invention make it a gist of learning only the domain function according to the purpose to determine the sentence within the domain or outside the domain.
본 발명의 실시예에 따른 기능 대화 필터 시스템 및 그 방법은 사용자의 음성을 인식하거나, 사용자가 소지하는 단말 기기를 통해 입력되는 사용자의 채팅을 인식하여 특정 도메인에 해당하는 문장인지를 판별할 수 있다. Functional conversation filter system and method according to an embodiment of the present invention can determine whether a sentence corresponds to a specific domain by recognizing a user's voice or by recognizing a user's chatting input through a terminal device possessed by the user. .
단말 기기는 PC, 스마트폰, 태블릿 PC 등으로, 본 발명의 실시예에 따른 기능 대화 필터 시스템 및 그 방법과 관련된 웹/모바일 사이트의 접속 또는 서비스 전용 어플리케이션의 설치 및 실행이 가능한 모든 단말 장치를 의미할 수 있다. 이 때, 단말 기기는 웹/모바일 사이트 또는 전용 어플리케이션의 제어 하에 서비스 화면 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등 서비스 전반의 동작을 수행할 수 있다. A terminal device is a PC, a smartphone, a tablet PC, etc., and refers to any terminal device capable of accessing a web/mobile site related to the functional dialogue filter system and method according to an embodiment of the present invention or installing and executing a service-only application. can do. In this case, the terminal device may perform overall service operations such as configuring a service screen, inputting data, transmitting/receiving data, and storing data under the control of a web/mobile site or a dedicated application.
나아가, 본 발명은 단말 기기를 통한 온라인 또는 어플리케이션(Application) 상의 대화, 채팅에 한정하지 않으며, 사용자의 음성, 제스처, 표정으로부터 인식되는 대화 형태 데이터에 대한 답변 데이터를 제공할 수 있는 다양한 제품 또는 서비스에 적용 가능하다. Furthermore, the present invention is not limited to online or application chatting through a terminal device, and various products or services that can provide response data to dialog form data recognized from a user's voice, gesture, and facial expression is applicable to
이하에서는, 도 1 내지 도 4를 참조하여 본 발명에 대해 보다 상세히 설명하고자 한다. Hereinafter, the present invention will be described in more detail with reference to FIGS. 1 to 4 .
도 1은 본 발명의 실시예에 따른 기능 대화 필터 시스템의 세부 구성을 블록도로 도시한 것이다.1 is a block diagram illustrating a detailed configuration of a functional dialogue filter system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 목적에 따른 도메인(Domain) 기능만을 학습하여 도메인에 해당하는 문장을 판별한다.Referring to FIG. 1 , the function conversation filter system according to an embodiment of the present invention learns only a domain function according to a purpose to determine a sentence corresponding to the domain.
이를 위해, 본 발명의 실시예에 따른 기능 대화 필터 시스템(100)은 수신부(110) 및 문장 판별부(130)를 포함하며, 제어부(120) 및 데이터베이스(140)를 더 포함할 수 있다.To this end, the functional
수신부(110)는 입력 문장을 수신한다. 이때, 입력 문장은 평서문, 의문문, 명령문, 청유문, 감탄문 및 약속문 중 어느 하나일 수 있으며, 복수의 단어가 조합된 문장 형태일 수 있다.The
이때, 수신부(110)는 사용자의 음성 또는 사용자의 채팅에 의해 입력되는 대화 형태 데이터에 기반하여 텍스트 및 형태소의 입력 문장을 수신할 뿐만 아니라, 사용자가 사용하는 이모티콘 또는 스티커와 같은 대화 형태 데이터를 수신할 수도 있다. In this case, the receiving
문장 판별부(130)는 입력을 벡터로 변환하는 언어 모델(Language Model)에 의해 처리되는 입력 문장에 대한 언어 벡터와, 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더(AutoEncoder)에 의해 복원되는 복원 벡터를 비교하여 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별한다. 여기서, 문장 판별부(130)는 문장을 벡터로 변환하는 언어 모델과 언어 모델을 통해 처리된 언어 벡터를 축소 및 복원하는 오토 인코더가 결합된 것일 수 있다. The
이때, 상기 언어 모델(Language Model)은 문장을 벡터로 사상하는 모델을 일컫으며, 오토 인코더(AutoEncoder)는 언어 모델에 의해 사상된 벡터를 축소 후, 원래 벡터로 복원하는 것을 일컫는다. 나아가, 오토 인코더(AutoEncoder)는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원하며, 도메인 외 입력 벡터는 복원하지 못하는 것을 특징으로 한다. In this case, the language model refers to a model that maps sentences into vectors, and the autoencoder refers to a vector mapped by the language model after reducing the vector mapped to the original vector. Furthermore, the autoencoder is learned only from input vectors within the domain, so that only the input vectors within the domain are restored, and the input vectors outside the domain cannot be restored.
이에, 본 발명의 실시예에 따른 문장 판별부(130)는 언어 모델로 처리한 언어 벡터와 오토 인코더로 복원한 복원 벡터를 비교하며, 언어 벡터 및 복원 벡터가 기 설정된 수치값 이상을 나타내면 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다. Accordingly, the
보다 상세하게, 문장 판별부(130)는 언어 벡터와 복원 벡터 간의 벡터값 차이가 기 설정된 수치값 이상이면 두 벡터 간의 유사도가 낮다고 판단하여 도메인 외의 문장으로 판별하며, 기 설정된 수치값 이하이면 두 벡터 간의 유사도가 높다고 판단하여 도메인 내의 문장으로 판별할 수 있다. 예를 들면, 문장 판별부(130)는 입력 문장에 대해서 언어 모델에 의해 변환되는 언어 벡터인 x와 오토 인코더로 복원한 복원 벡터 x’를 비교하며, 언어 벡터 x와 복원 벡터 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로, 그렇지 않은 경우에는 도메인 내 문장 입력으로 판별할 수 있다. In more detail, the
제어부(120)는 언어 벡터 중에서 도메인 내 입력 벡터 만을 추출하여 오토 인코더를 학습시킬 수 있다.The
제어부(120)는 언어 벡터를 축소 후, 복원 벡터로 복원하는 오토 인코더의 재구축 손실과 대비 손실을 위해 언어 벡터 중에서 도메인 내 입력 벡터(In-Domain)만을 추출 및 이용하여 오토 인코더를 훈련시킬 수 있으며, 오토 인코더는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원할 수 있다. 아울러, 제어부(120)는 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다. 상기 대비 학습은 서로 일치하는 군집에 있으면 ‘같은 군집’, 그렇지 않으면 ‘다른 군집’을 학습시키는 알고리즘으로, 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시키는 방식일 수 있다.The
이에 따라서, 제어부(120)는 언어 벡터 중에서 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.Accordingly, the
본 발명의 실시예에 따른 기능 대화 필터 시스템(100)의 데이터베이스(140)는 적어도 하나 이상의 특정 도메인에 대한 데이터를 구축하며, 사용자에 의해 수신되는 입력 문장을 단어 및 형태소로 분류하기 위한 기본적인 문법 데이터를 저장하여 유지할 수 있다. 나아가, 데이터베이스(140)는 특정 도메인에 해당하는 사용자와 상대방 간의 대화로 인해 발생하는 대화 형태 데이터 및 그에 대한 답변 데이터를 누적하여 구축하며, 시스템(100) 내부에 기 저장된 데이터 및 외부 서버로부터 수신되어 업데이트되는 데이터를 저장하여 유지할 수 있다.The
도 2는 본 발명의 실시예에 따른 기능 대화 필터 시스템에서 입력 문장을 판별하는 프로세스를 도시한 것이다.2 illustrates a process for determining an input sentence in a functional dialog filter system according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장(210)을 벡터로 변환하는 언어 모델(220)과, 언어 모델(230)에 의해 변환된 언어 벡터(230)를 축소 후, 원래 벡터로 복원하는 오토 인코더(240)로 구성된다.Referring to FIG. 2 , the functional dialogue filter system according to an embodiment of the present invention generates a
도 2에 도시된 바와 같이 데이터 배치에 도메인 내 입력과 도메인 외 입력의 입력 문장(210)이 함께 들어오면, 도메인 내 입력과 도메인 외 입력으로 분류되며, 문장의 각 단위별로 구분되는 단어, 나아가 형태소의 입력들은 언어 모델(220)을 통해 고정된 차원의 언어 벡터(230)로 변환된다. 이때, 언어 벡터(230)는 입력 문장(210)에 대한 도메인 내 입력 벡터(In-Domain, 231) 및 도메인 외 입력 벡터(Out-of-Domain, 232)를 포함할 수 있다.As shown in FIG. 2 , when
이에, 본 발명은 도메인 내 입력 벡터(231)와 도메인 외 입력 벡터(232)를 포함하는 언어 벡터(230) 중에서 입력 문장(210)에 포함된 도메인 내 입력 벡터(In-Domain, 231)만을 추출하여 오토 인코더(240)를 학습시킨다. 이로 인해, 오토 인코더(240)는 도메인 내 입력 벡터(231)로만 학습이 되므로, 도메인 내 입력 벡터(231)만 복원이 가능하고, 도메인 외 입력 벡터는 복원이 불가하거나, 제대로 복원하지 못할 수 있다.Accordingly, in the present invention, only the in-domain input vector (In-Domain, 231) included in the
아울러, 본 발명은 언어 모델(220)이 도메인 내 입력과 도메인 외 입력을 서로 다른 방향으로 분류 및 변환하도록 하기 위해서, 대비 학습(Contrastive Task, 250)을 수행한다. 대비 학습(250)은 언어 벡터(230)로부터 도메인 내 입력 벡터(In-Domain, 231) 및 도메인 외 입력 벡터(Out-of-Domain, 232)를 모두 추출하여 사용하며, 도메인 내 입력 벡터(231)와 도메인 외 입력 벡터(232)가 서로 일치하는 군집에 있으면 ‘같은 군집’ 그렇지 않으면 ‘다른 군집’으로 본 발명의 프로세스를 학습시키는 알고리즘이다. 이때, 본 발명은 대비 학습(250)을 통해 군집에 따른 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시킬 수 있다. In addition, in the present invention, in order for the
전술한 바에 따라 학습되는 프로세스를 통해 본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장(210)이 주어졌을 때, 이를 언어 모델(220)을 이용하여 변환한 언어 벡터 x와 오토 인코더(240)로 복원한 복원 벡터 x’를 비교하며, x와 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로 판별하고, 일정 수치 이하를 나타내면 도메인 내 문장 입력으로 판별한다. The functional dialogue filter system according to an embodiment of the present invention through the process learned as described above, when the
도 3은 본 발명의 실시예에 따른 기능 대화 필터 시스템을 이용하여 특정 도메인에 따라 문장을 판별하는 예를 설명하기 위해 도시한 것이다.3 is a diagram to explain an example of discriminating a sentence according to a specific domain using the functional dialogue filter system according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 사용자의 자연어 발화를 통해 교신하는 인터페이스를 일컫으며, 개발목적에 따라 할당된 특정 도메인(Domain) 데이터를 처리하는 것을 특징으로 한다. 예를 들어, 본 발명은 음식 도메인에 대한 대화를 처리하는 경우, 음식 주문, 음식 추천 요청 등의 요리, 음식, 음식점 및 식재료와 같은 음식에 관련된 카테고리들만을 처리하도록 설계될 수 있으며, 영화 도메인에 대한 대화를 처리하는 경우에는 영화 스케쥴 열람, 극장 예매 요청 등의 영화, 영화관, 예매, 평점 및 후기와 같은 영화에 관련된 카테고리들만을 처리할 수 있다.Referring to FIG. 3 , the functional dialogue filter system according to an embodiment of the present invention refers to an interface that communicates through a user's natural language utterance, and is characterized by processing specific domain data allocated according to the purpose of development. . For example, the present invention may be designed to process only food-related categories such as dishes, food, restaurants, and ingredients, such as food orders and food recommendation requests, when processing a conversation for a food domain, In the case of processing a conversation about a movie, only categories related to movies such as movie schedule reading and theater reservation request, movie theaters, reservations, ratings, and reviews can be processed.
그 외에 도 3의 예를 살펴보면, ‘바보야’ 또는 ‘메롱’과 같은 비문은 음식 도메인 또는 영화 도메인 외의 문장 입력으로 분류되며, ‘날씨 지금 어때?’, ‘인기차트 뭐야?’와 같은 타 도메인 요청 문장 또한 도메인 외 문장으로 분류시켜 특정 도메인에 대한 대화에 포함시키지 않을 수 있다. In addition, looking at the example of FIG. 3 , inscriptions such as 'Fool' or 'Melong' are classified as sentence inputs other than the food domain or movie domain, and other domains such as 'How is the weather now?' and 'What is the popular chart?' Request sentences may also be classified as non-domain sentences so that they may not be included in the conversation for a specific domain.
이러한 본 발명의 실시예에 따른 기능 대화 필터 시스템은 특정되는 해당 도메인 기능만을 처리할 수 있도록 학습되며, 학습에 따라 입력되는 입력 문장을 도메인 내 문장 또는 도메인 외 문장으로 판별함으로써, 대화에 수용되지 못하는 문장을 분류하여 특정 도메인에 대한 넓고 깊은 대화를 공유하게 한다. The functional dialogue filter system according to the embodiment of the present invention is learned to process only the specified corresponding domain function, and by determining the input sentence input according to the learning as an in-domain sentence or an out-of-domain sentence, it cannot be accepted in the conversation. Classify sentences to share broad and deep conversations about specific domains.
도 4는 본 발명의 실시예에 따른 기능 대화 필터 방법의 동작 흐름도를 도시한 것이다.4 is a flowchart illustrating an operation of a functional dialog filter method according to an embodiment of the present invention.
도 4의 방법은 도 1에 도시된 본 발명의 실시예에 따른 기능 대화 필터 시스템에 의해 수행된다.The method of FIG. 4 is performed by the functional dialog filter system according to the embodiment of the present invention shown in FIG. 1 .
도 4를 참조하면, 단계 410에서, 입력 문장을 수신한다. 이때, 입력 문장은 평서문, 의문문, 명령문, 청유문, 감탄문 및 약속문 중 어느 하나일 수 있으며, 복수의 단어가 조합된 문장 형태일 수 있다.Referring to FIG. 4 , in
이때, 단계 410은 사용자의 음성 또는 사용자의 채팅에 의해 입력되는 대화 형태 데이터에 기반하여 텍스트 및 형태소의 입력 문장을 수신할 뿐만 아니라, 사용자가 사용하는 이모티콘 또는 스티커와 같은 대화 형태 데이터를 수신할 수도 있다.In this case, in
단계 420에서, 입력을 벡터로 변환하는 언어 모델(Language Model)에 의해 처리되는 입력 문장에 대한 언어 벡터와, 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더(AutoEncoder)에 의해 복원되는 복원 벡터를 비교하여 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별한다. 여기서, 단계 420은 문장을 벡터로 변환하는 언어 모델과 언어 모델을 통해 처리된 언어 벡터를 축소 및 복원하는 오토 인코더가 결합된 것일 수 있다.In
이때, 상기 언어 모델(Language Model)은 문장을 벡터로 사상하는 모델을 일컫으며, 오토 인코더(AutoEncoder)는 언어 모델에 의해 사상된 벡터를 축소 후, 원래 벡터로 복원하는 것을 일컫는다. 나아가, 오토 인코더(AutoEncoder)는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원하며, 도메인 외 입력 벡터는 복원하지 못하는 것을 특징으로 한다. In this case, the language model refers to a model that maps sentences into vectors, and the autoencoder refers to a vector mapped by the language model after reducing the vector mapped to the original vector. Furthermore, the autoencoder is learned only from input vectors within the domain, so that only the input vectors within the domain are restored, and the input vectors outside the domain cannot be restored.
이에, 본 발명의 실시예에 따른 단계 420은 언어 모델로 처리한 언어 벡터와 오토 인코더로 복원한 복원 벡터를 비교하며, 언어 벡터 및 복원 벡터가 기 설정된 수치값 이상을 나타내면 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다. Accordingly, step 420 according to an embodiment of the present invention compares the language vector processed by the language model with the restored vector restored by the auto-encoder, and if the language vector and the restored vector indicate more than a preset numerical value, the input sentence is converted to a sentence outside the domain , otherwise it can be identified as a sentence within the domain.
보다 상세하게, 단계 420은 언어 벡터와 복원 벡터 간의 벡터값 차이가 기 설정된 수치값 이상이면 두 벡터 간의 유사도가 낮다고 판단하여 도메인 외의 문장으로 판별하며, 기 설정된 수치값 이하이면 두 벡터 간의 유사도가 높다고 판단하여 도메인 내의 문장으로 판별할 수 있다. 예를 들면, 단계 420은 입력 문장에 대해서 언어 모델에 의해 변환되는 언어 벡터인 x와 오토 인코더로 복원한 복원 벡터 x’를 비교하며, 언어 벡터 x와 복원 벡터 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로, 그렇지 않은 경우에는 도메인 내 문장 입력으로 판별할 수 있다. More specifically, in
단계 430에서, 언어 벡터 중에서 도메인 내 입력 벡터 만을 추출하여 오토 인코더를 학습시킬 수 있다.In
단계 430은 언어 벡터를 축소 후, 복원 벡터로 복원하는 오토 인코더의 재구축 손실과 대비 손실을 위해 언어 벡터 중에서 도메인 내 입력 벡터(In-Domain)만을 추출 및 이용하여 오토 인코더를 훈련시킬 수 있으며, 오토 인코더는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원할 수 있다. 아울러, 단계 430은 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다. 상기 대비 학습은 서로 일치하는 군집에 있으면 ‘같은 군집’, 그렇지 않으면 ‘다른 군집’을 학습시키는 알고리즘으로, 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시키는 방식일 수 있다.In
이에 따라서, 단계 430은 언어 벡터 중에서 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.Accordingly, step 430 may perform a contrast learning algorithm for learning the same cluster or a different cluster by using an input vector within a domain and an input vector outside the domain among language vectors.
다만, 도 4에서 오토 인코더를 학습시키는 단계 430는 단계 420 뒤에 위치하여 수행되는 것으로 도시되었으나, 이에 한정되지 않으며, 단계 430은 단계 410과 단계 420 사이에 위치하여 오토 인코더를 학습시킬 수도 있다. However, although
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, the devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (12)
입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 문장 판별부
를 포함하고,
상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 제어부
를 더 포함하고,
상기 제어부는
상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행하며, 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행하는 것을 특징으로 하는 기능 대화 필터 시스템. a receiver for receiving an input sentence; and
The language vector for the input sentence processed by the language model that converts the input into a vector is compared with the reconstructed vector restored by the auto-encoder that receives the input vector in the domain from among the language vectors in the domain for the input sentence. (In-Domain) or out-of-domain (Out-of-Domain) sentence discrimination unit
including,
A control unit for learning the auto-encoder by extracting only the input vector within the domain from among the language vectors
further comprising,
the control unit
A contrastive task is performed so that the language model classifies and processes intra-domain and non-domain inputs, and among the language vectors, the same or different clusters using the in-domain input vector and out-of-domain input vector Functional dialogue filter system, characterized in that it performs a contrast learning algorithm to learn.
상기 문장 판별부는
문장을 벡터로 변환하는 상기 언어 모델과 상기 언어 모델을 통해 처리된 상기 언어 벡터를 축소 및 복원하는 상기 오토 인코더가 결합된 것을 특징으로 하는, 기능 대화 필터 시스템.According to claim 1,
The sentence discrimination unit
The functional dialogue filter system, characterized in that the language model for converting a sentence into a vector and the auto-encoder for reducing and restoring the language vector processed through the language model are combined.
상기 문장 판별부는
상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터 간의 벡터값의 차이가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별하는, 기능 대화 필터 시스템. 3. The method of claim 2,
The sentence discrimination unit
The language vector processed by the language model is compared with the restored vector restored by the auto-encoder. A function dialog filter system that determines with , otherwise it is determined as a sentence within the domain.
상기 제어부는
상기 언어 벡터를 축소 후, 상기 복원 벡터로 복원하는 상기 오토 인코더의 재구축 손실과 대비 손실을 통해 훈련시키며,
상기 오토 인코더는
상기 도메인 내 입력 벡터로만 학습되어 상기 도메인 내 입력 벡터만 복원하는 것을 특징으로 하는, 기능 대화 필터 시스템.According to claim 1,
the control unit
After reducing the language vector, training through the reconstruction loss and contrast loss of the auto-encoder to restore the restored vector,
The auto encoder
Functional dialogue filter system, characterized in that only the input vector in the domain is learned and only the input vector in the domain is restored.
입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 단계
를 포함하고,
상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 단계
를 더 포함하고,
상기 학습시키는 단계는
상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행하고, 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행하는 것을 특징으로 하는 기능 대화 필터 방법.receiving an input sentence; and
The language vector for the input sentence processed by the language model that converts the input into a vector is compared with the reconstructed vector restored by the auto-encoder that receives the input vector in the domain from among the language vectors in the domain for the input sentence. Step to determine (In-Domain) or Out-of-Domain sentences
including,
Learning the auto-encoder by extracting only the input vector within the domain from among the language vectors
further comprising,
The learning step
In order for the language model to classify and process intra-domain input and out-of-domain input, a contrastive task is performed, and from among the language vectors, the same or different clusters using the in-domain input vector and out-of-domain input vector. Functional dialogue filter method, characterized in that performing a contrast learning algorithm for learning.
상기 판별하는 단계는
상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터 간의 벡터값의 차이가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별하는, 기능 대화 필터 방법. 9. The method of claim 8,
The determining step is
The language vector processed by the language model is compared with the restored vector restored by the auto-encoder. , and if not, it is determined as a sentence within a domain, a functional dialog filter method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200156124A KR102438969B1 (en) | 2020-11-20 | 2020-11-20 | Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200156124A KR102438969B1 (en) | 2020-11-20 | 2020-11-20 | Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220069219A KR20220069219A (en) | 2022-05-27 |
KR102438969B1 true KR102438969B1 (en) | 2022-09-01 |
Family
ID=81791332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200156124A KR102438969B1 (en) | 2020-11-20 | 2020-11-20 | Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102438969B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180165554A1 (en) | 2016-12-09 | 2018-06-14 | The Research Foundation For The State University Of New York | Semisupervised autoencoder for sentiment analysis |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102086046B1 (en) | 2012-10-26 | 2020-03-06 | 심심이(주) | Device and method for providing communication service |
KR20190019748A (en) * | 2017-08-18 | 2019-02-27 | 삼성전자주식회사 | Method and apparatus for generating natural language |
-
2020
- 2020-11-20 KR KR1020200156124A patent/KR102438969B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180165554A1 (en) | 2016-12-09 | 2018-06-14 | The Research Foundation For The State University Of New York | Semisupervised autoencoder for sentiment analysis |
Non-Patent Citations (2)
Title |
---|
Mikio Nakano et al., A Two-Stage Domain Selection Framework for Extensible Multi-Domain Spoken Dialogue Systems, Proceedings of the SIGDIAL 2011, pages 18-29, 2011. 1부.* |
Seonghan Ryu et al., Neural sentence embedding using only in-domain sentences for out-of-domain sentence detection in dialog systems, 2018.07.27. <https://arxiv.org/abs/1807.11567v1> 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220069219A (en) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102589637B1 (en) | Method and apparatus for performing machine translation | |
US11188720B2 (en) | Computing system including virtual agent bot providing semantic topic model-based response | |
WO2022121251A1 (en) | Method and apparatus for training text processing model, computer device and storage medium | |
CN108364650B (en) | Device and method for adjusting voice recognition result | |
US20200004878A1 (en) | System and method for generating dialogue graphs | |
US11481442B2 (en) | Leveraging intent resolvers to determine multiple intents | |
KR20200052453A (en) | Apparatus and method for training deep learning model | |
US10891954B2 (en) | Methods and systems for managing voice response systems based on signals from external devices | |
US11288293B2 (en) | Methods and systems for ensuring quality of unstructured user input content | |
US20200042643A1 (en) | Heuristic q&a system | |
CN115914148A (en) | Conversational agent with two-sided modeling | |
KR20190074508A (en) | Method for crowdsourcing data of chat model for chatbot | |
CN114765025A (en) | Method for generating and recognizing speech recognition model, device, medium and equipment | |
CN116913278B (en) | Voice processing method, device, equipment and storage medium | |
KR102438969B1 (en) | Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof | |
KR20210042707A (en) | Method and apparatus for processing speech | |
TWI818427B (en) | Method and system for correcting speaker diarisation using speaker change detection based on text | |
US11929063B2 (en) | Obfuscating audio samples for health privacy contexts | |
KR102372642B1 (en) | Apparatus and method for generating an automatic response | |
CN112786041B (en) | Voice processing method and related equipment | |
KR20220075638A (en) | Method and Apparatus for Controlling Chatbot Response Based on User Characteristic Information in Unethical Situations | |
US11363352B2 (en) | Video content relationship mapping | |
US11929845B2 (en) | AI-based virtual proxy nodes for intent resolution in smart audio devices | |
US20240212679A1 (en) | Methods and systems for combined voice and signaling | |
US11417336B2 (en) | Methods and systems of generating a customized response based on a context |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |