KR20220069219A - 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 PDF

Info

Publication number
KR20220069219A
KR20220069219A KR1020200156124A KR20200156124A KR20220069219A KR 20220069219 A KR20220069219 A KR 20220069219A KR 1020200156124 A KR1020200156124 A KR 1020200156124A KR 20200156124 A KR20200156124 A KR 20200156124A KR 20220069219 A KR20220069219 A KR 20220069219A
Authority
KR
South Korea
Prior art keywords
domain
vector
input
sentence
language
Prior art date
Application number
KR1020200156124A
Other languages
Korean (ko)
Other versions
KR102438969B1 (en
Inventor
김종윤
구상준
김준성
Original Assignee
주식회사 스캐터랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스캐터랩 filed Critical 주식회사 스캐터랩
Priority to KR1020200156124A priority Critical patent/KR102438969B1/en
Publication of KR20220069219A publication Critical patent/KR20220069219A/en
Application granted granted Critical
Publication of KR102438969B1 publication Critical patent/KR102438969B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Machine Translation (AREA)

Abstract

The present invention relates to a functional dialog filter system and a method thereof for determining a sentence corresponding to a specific domain by learning only a domain function according to a purpose. The system comprises: a reception unit receiving an input sentence; and a sentence determination unit determining the input sentence as an in-domain sentence or an out-of-domain sentence by comparing language vectors for the input sentence processed by a language model converting input into a vector with restored vectors restored by an auto-encoder receiving an in-domain input vector among the language vectors.

Description

문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법{FUNCTIONAL DIALOG FILTER SYSTEM APPLYING SENTENCE RECONSTRUCTION AND CONTRASTIVE LOSS AND THE METHOD THEREOF}FUNCTIONAL DIALOG FILTER SYSTEM APPLYING SENTENCE RECONSTRUCTION AND CONTRASTIVE LOSS AND THE METHOD THEREOF

본 발명은 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 목적에 따른 도메인(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 was provided in a structure to deliver 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.

한국공개특허 제10-2014-0054494호(2014.05.09. 공개), “대화 서비스 제공 방법 및 장치”Korean Patent Application Laid-Open No. 10-2014-0054494 (published on May 9, 2014), “Method and Apparatus for Providing Conversation Services”

본 발명은 입력 문장을 개발 목적에 따라 할당된 도메인 기능에서만 판별함으로써, 기존 기술에 비해 특정 주제에 대한 넓고 깊은 대화를 공유하며, 일상적인 대화 또는 공감하는 형식의 대화와 같은 향상된 대화 능력을 제공하고자 한다.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 conversations or sympathetic conversations. 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 determining 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.

상기 제어부는 상기 언어 벡터를 축소 후, 상기 복원 벡터로 복원하는 상기 오토 인코더의 재구축 손실과 대비 손실을 통해 훈련시키며, 상기 오토 인코더는 상기 도메인 내 입력 벡터로만 학습되어 상기 도메인 내 입력 벡터만 복원할 수 있다.The control unit trains through the reconstruction loss and contrast loss of the auto-encoder that restores the reconstructed vector after reducing the language 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 the input within the domain and the input outside the domain.

상기 제어부는 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.The controller may perform a contrast learning algorithm for learning the same cluster or a different cluster by using an input vector within the domain and an input vector outside the domain among the language vectors.

본 발명의 실시예에 따른 기능 대화 필터 방법은 입력 문장을 수신하는 단계 및 입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 단계를 포함한다.A functional dialog 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 conversational ability such as a conversation in a common conversation or a form of empathy.

도 1은 본 발명의 실시예에 따른 기능 대화 필터 시스템의 세부 구성을 블록도로 도시한 것이다.
도 2는 본 발명의 실시예에 따른 기능 대화 필터 시스템에서 입력 문장을 판별하는 프로세스를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 기능 대화 필터 시스템을 이용하여 특정 도메인에 따라 문장을 판별하는 예를 설명하기 위해 도시한 것이다.
도 4는 본 발명의 실시예에 따른 기능 대화 필터 방법의 동작 흐름도를 도시한 것이다.
1 is a block diagram showing 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 conversation 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 specifically defined explicitly.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.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) 기능만을 학습시켜 도메인 내 또는 도메인 외의 문장을 판별하는 것을 그 요지로 한다. The gist of the embodiments of the present invention is to learn 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 dialog 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 service screen configuration, data input, data transmission/reception, and data storage 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 capable of providing 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 dialogue filter system 100 according to an embodiment of the present invention includes the receiving unit 110 and the sentence determining unit 130 , and may further include a control unit 120 and a database 140 .

수신부(110)는 입력 문장을 수신한다. 이때, 입력 문장은 평서문, 의문문, 명령문, 청유문, 감탄문 및 약속문 중 어느 하나일 수 있으며, 복수의 단어가 조합된 문장 형태일 수 있다.The receiving unit 110 receives an input sentence. In this case, the input sentence may be any one of a declarative sentence, an interrogative sentence, a command sentence, a request sentence, an exclamation sentence, and a promise sentence, and may be a sentence form in which a plurality of words are combined.

이때, 수신부(110)는 사용자의 음성 또는 사용자의 채팅에 의해 입력되는 대화 형태 데이터에 기반하여 텍스트 및 형태소의 입력 문장을 수신할 뿐만 아니라, 사용자가 사용하는 이모티콘 또는 스티커와 같은 대화 형태 데이터를 수신할 수도 있다. At this time, the receiving unit 110 receives not only the input sentences of text and morphemes based on the user's voice or the user's chatting form data input through chatting, but also receives the conversation form data such as emoticons or stickers used by the user. You may.

문장 판별부(130)는 입력을 벡터로 변환하는 언어 모델(Language Model)에 의해 처리되는 입력 문장에 대한 언어 벡터와, 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더(AutoEncoder)에 의해 복원되는 복원 벡터를 비교하여 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별한다. 여기서, 문장 판별부(130)는 문장을 벡터로 변환하는 언어 모델과 언어 모델을 통해 처리된 언어 벡터를 축소 및 복원하는 오토 인코더가 결합된 것일 수 있다. The sentence determining unit 130 is restored by an autoencoder that receives a language vector for an input sentence processed by a language model that converts an input into a vector, and an input vector within a domain among language vectors. The reconstructed vectors are compared to determine whether the input sentence is in-domain or out-of-domain. Here, the sentence determining unit 130 may be a combination of a language model that converts a sentence into a vector and an auto encoder that reduces and restores a language vector processed through the language model.

이때, 상기 언어 모델(Language Model)은 문장을 벡터로 사상하는 모델을 일컫으며, 오토 인코더(AutoEncoder)는 언어 모델에 의해 사상된 벡터를 축소 후, 원래 벡터로 복원하는 것을 일컫는다. 나아가, 오토 인코더(AutoEncoder)는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원하며, 도메인 외 입력 벡터는 복원하지 못하는 것을 특징으로 한다. In this case, the language model refers to a model that maps sentences to vectors, and the autoencoder refers to a vector mapped by the language model after reducing the vector mapped to the original vector. Furthermore, the auto-encoder is learned only from input vectors within the domain and only reconstructs the input vectors within the domain, but cannot reconstruct the input vectors outside the domain.

이에, 본 발명의 실시예에 따른 문장 판별부(130)는 언어 모델로 처리한 언어 벡터와 오토 인코더로 복원한 복원 벡터를 비교하며, 언어 벡터 및 복원 벡터가 기 설정된 수치값 이상을 나타내면 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다. Accordingly, the sentence determining unit 130 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 when the language vector and the restored vector represent more than a preset numerical value, the input sentence can be determined as a sentence outside the domain, otherwise it can be determined as a sentence within the domain.

보다 상세하게, 문장 판별부(130)는 언어 벡터와 복원 벡터 간의 벡터값 차이가 기 설정된 수치값 이상이면 두 벡터 간의 유사도가 낮다고 판단하여 도메인 외의 문장으로 판별하며, 기 설정된 수치값 이하이면 두 벡터 간의 유사도가 높다고 판단하여 도메인 내의 문장으로 판별할 수 있다. 예를 들면, 문장 판별부(130)는 입력 문장에 대해서 언어 모델에 의해 변환되는 언어 벡터인 x와 오토 인코더로 복원한 복원 벡터 x’를 비교하며, 언어 벡터 x와 복원 벡터 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로, 그렇지 않은 경우에는 도메인 내 문장 입력으로 판별할 수 있다. In more detail, the sentence discrimination unit 130 determines that the similarity between the two vectors is low when the difference between the vector values between the language vector and the reconstructed vector is greater than or equal to a preset numerical value, and determines the sentence as a non-domain sentence. It can be determined that the similarity between the sentences is high, so that the sentences are within the domain. For example, the sentence discrimination unit 130 compares the input sentence with x, which is a language vector converted by the language model, and the restored vector x' restored by the auto-encoder, and the language vector x and the restored vector x' are constant values. If an abnormality is recorded, the sentence can be determined as a sentence input outside the domain, otherwise, it can be determined as a sentence input within the domain.

제어부(120)는 언어 벡터 중에서 도메인 내 입력 벡터 만을 추출하여 오토 인코더를 학습시킬 수 있다.The controller 120 may train the auto-encoder by extracting only an input vector within a domain from among the language vectors.

제어부(120)는 언어 벡터를 축소 후, 복원 벡터로 복원하는 오토 인코더의 재구축 손실과 대비 손실을 위해 언어 벡터 중에서 도메인 내 입력 벡터(In-Domain)만을 추출 및 이용하여 오토 인코더를 훈련시킬 수 있으며, 오토 인코더는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원할 수 있다. 아울러, 제어부(120)는 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다. 상기 대비 학습은 서로 일치하는 군집에 있으면 ‘같은 군집’, 그렇지 않으면 ‘다른 군집’을 학습시키는 알고리즘으로, 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시키는 방식일 수 있다.The control unit 120 can train the auto-encoder by extracting and using only an input vector (In-Domain) from among language vectors for reconstruction loss and contrast loss of the auto-encoder that restores the reconstructed vector after reducing the language vector. In addition, the auto-encoder is trained only with input vectors within the domain, so that only the input vectors within the domain can be restored. In addition, the controller 120 may perform a contrastive task so that the language model classifies and processes the input within the domain and the input outside the domain. The contrast learning is an algorithm that learns 'same cluster', otherwise 'different cluster' if they are in matching clusters.

이에 따라서, 제어부(120)는 언어 벡터 중에서 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.Accordingly, the controller 120 may perform a contrast learning algorithm for learning the same cluster or a different cluster using an input vector within a domain and an input vector outside the domain among language vectors.

본 발명의 실시예에 따른 기능 대화 필터 시스템(100)의 데이터베이스(140)는 적어도 하나 이상의 특정 도메인에 대한 데이터를 구축하며, 사용자에 의해 수신되는 입력 문장을 단어 및 형태소로 분류하기 위한 기본적인 문법 데이터를 저장하여 유지할 수 있다. 나아가, 데이터베이스(140)는 특정 도메인에 해당하는 사용자와 상대방 간의 대화로 인해 발생하는 대화 형태 데이터 및 그에 대한 답변 데이터를 누적하여 구축하며, 시스템(100) 내부에 기 저장된 데이터 및 외부 서버로부터 수신되어 업데이트되는 데이터를 저장하여 유지할 수 있다.The database 140 of the functional dialogue filter system 100 according to an embodiment of the present invention builds data for at least one or more specific domains, and basic grammar data for classifying input sentences received by the user into words and morphemes. can be saved and maintained. Furthermore, the database 140 accumulates and builds dialogue form data and response data generated due to a conversation between a user corresponding to a specific domain and a counterpart, and data stored in the system 100 and received from an external server. You can save and maintain updated data.

도 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 language model 220 that converts an input sentence 210 into a vector and a language vector 230 that is converted by the language model 230 . After reduction, it consists of an auto-encoder 240 that restores the original vector.

도 2에 도시된 바와 같이 데이터 배치에 도메인 내 입력과 도메인 외 입력의 입력 문장(210)이 함께 들어오면, 도메인 내 입력과 도메인 외 입력으로 분류되며, 문장의 각 단위별로 구분되는 단어, 나아가 형태소의 입력들은 언어 모델(220)을 통해 고정된 차원의 언어 벡터(230)로 변환된다. 이때, 언어 벡터(230)는 입력 문장(210)에 대한 도메인 내 입력 벡터(In-Domain, 231) 및 도메인 외 입력 벡터(Out-of-Domain, 232)를 포함할 수 있다.As shown in FIG. 2 , when an input sentence 210 of an intra-domain input and an out-of-domain input enters the data arrangement together, it is classified into an intra-domain input and an out-of-domain input. Inputs of are converted into a language vector 230 of a fixed dimension through the language model 220 . In this case, the language vector 230 may include an in-domain input vector 231 and an out-of-domain input vector 232 for the input sentence 210 .

이에, 본 발명은 도메인 내 입력 벡터(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 input sentence 210 is extracted from among the language vectors 230 including the in-domain input vector 231 and the out-of-domain input vector 232 . to learn the auto encoder 240 . For this reason, since the auto-encoder 240 is trained only with the input vector 231 within the domain, only the input vector 231 within the domain can be restored, and the input vector outside the domain cannot be restored or cannot be properly restored. .

아울러, 본 발명은 언어 모델(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 language model 220 to classify and transform the input within the domain and the input outside the domain in different directions, a contrastive task 250 is performed. Contrast learning 250 extracts and uses both the in-domain input vector (In-Domain, 231) and the out-of-domain input vector (Out-of-Domain, 232) from the language vector 230, and uses the intra-domain input vector 231 ) and the out-of-domain input vector 232 are in the same cluster, 'same cluster', otherwise 'different cluster' is an algorithm for learning the process of the present invention. In this case, in the present invention, through the contrast learning 250 , it is possible to learn why an incorrect answer is an incorrect answer as well as why the correct answer according to the cluster is the correct answer.

전술한 바에 따라 학습되는 프로세스를 통해 본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장(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 input sentence 210 is given, it is converted using the language model 220 and the language vector x and the auto-encoder 240 ), the restored vector x' is compared, and if x and x' record more than a certain value, the sentence is determined as an out-of-domain sentence input.

도 3은 본 발명의 실시예에 따른 기능 대화 필터 시스템을 이용하여 특정 도메인에 따라 문장을 판별하는 예를 설명하기 위해 도시한 것이다.3 is a diagram to explain an example of discriminating a sentence according to a specific domain using the functional conversation 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, and in the movie 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 input 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 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 into 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 a functional dialog filter system according to the embodiment of the present invention shown in FIG. 1 .

도 4를 참조하면, 단계 410에서, 입력 문장을 수신한다. 이때, 입력 문장은 평서문, 의문문, 명령문, 청유문, 감탄문 및 약속문 중 어느 하나일 수 있으며, 복수의 단어가 조합된 문장 형태일 수 있다.Referring to FIG. 4 , in step 410, an input sentence is received. In this case, the input sentence may be any one of a declarative sentence, an interrogative sentence, a command sentence, a request sentence, an exclamation sentence, and a promise sentence, and may be a sentence form in which a plurality of words are combined.

이때, 단계 410은 사용자의 음성 또는 사용자의 채팅에 의해 입력되는 대화 형태 데이터에 기반하여 텍스트 및 형태소의 입력 문장을 수신할 뿐만 아니라, 사용자가 사용하는 이모티콘 또는 스티커와 같은 대화 형태 데이터를 수신할 수도 있다.In this case, in step 410, not only the input sentences of text and morphemes are received based on the user's voice or the conversational data input by the user's chatting, but also the conversational data such as emoticons or stickers used by the user may be received. have.

단계 420에서, 입력을 벡터로 변환하는 언어 모델(Language Model)에 의해 처리되는 입력 문장에 대한 언어 벡터와, 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더(AutoEncoder)에 의해 복원되는 복원 벡터를 비교하여 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별한다. 여기서, 단계 420은 문장을 벡터로 변환하는 언어 모델과 언어 모델을 통해 처리된 언어 벡터를 축소 및 복원하는 오토 인코더가 결합된 것일 수 있다.In step 420, a language vector for an input sentence processed by a language model that converts an input into a vector, and a restored vector restored by an autoencoder that receives an input vector in a domain among language vectors By comparison, the input sentence is determined as an in-domain or out-of-domain sentence. Here, step 420 may be a combination of a language model that converts a sentence into a vector and an auto encoder that reduces and restores a language vector processed through the language model.

이때, 상기 언어 모델(Language Model)은 문장을 벡터로 사상하는 모델을 일컫으며, 오토 인코더(AutoEncoder)는 언어 모델에 의해 사상된 벡터를 축소 후, 원래 벡터로 복원하는 것을 일컫는다. 나아가, 오토 인코더(AutoEncoder)는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원하며, 도메인 외 입력 벡터는 복원하지 못하는 것을 특징으로 한다. In this case, the language model refers to a model that maps sentences to vectors, and the autoencoder refers to a vector mapped by the language model after reducing the vector mapped to the original vector. Furthermore, the auto-encoder is learned only from input vectors within the domain and only reconstructs the input vectors within the domain, but cannot reconstruct the input vectors outside the domain.

이에, 본 발명의 실시예에 따른 단계 420은 언어 모델로 처리한 언어 벡터와 오토 인코더로 복원한 복원 벡터를 비교하며, 언어 벡터 및 복원 벡터가 기 설정된 수치값 이상을 나타내면 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다. Accordingly, in step 420 according to an embodiment of the present invention, the language vector processed by the language model and the restored vector restored by the auto-encoder are compared. , otherwise it can be identified as a sentence within the domain.

보다 상세하게, 단계 420은 언어 벡터와 복원 벡터 간의 벡터값 차이가 기 설정된 수치값 이상이면 두 벡터 간의 유사도가 낮다고 판단하여 도메인 외의 문장으로 판별하며, 기 설정된 수치값 이하이면 두 벡터 간의 유사도가 높다고 판단하여 도메인 내의 문장으로 판별할 수 있다. 예를 들면, 단계 420은 입력 문장에 대해서 언어 모델에 의해 변환되는 언어 벡터인 x와 오토 인코더로 복원한 복원 벡터 x’를 비교하며, 언어 벡터 x와 복원 벡터 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로, 그렇지 않은 경우에는 도메인 내 문장 입력으로 판별할 수 있다. More specifically, in step 420, if the difference between the vector values between the language vector and the reconstructed vector is greater than or equal to a preset numerical value, it is determined that the similarity between the two vectors is low, and it is determined as a sentence outside the domain. If it is less than the preset numerical value, the similarity between the two vectors is high. It can be determined as a sentence within the domain by judging. For example, step 420 compares the language vector x converted by the language model with respect to the input sentence and the restored vector x' restored by the auto-encoder, and when the language vector x and the restored vector x' record a certain number or more The sentence may be determined as a sentence input outside the domain, otherwise it may be determined as a sentence input within the domain.

단계 430에서, 언어 벡터 중에서 도메인 내 입력 벡터 만을 추출하여 오토 인코더를 학습시킬 수 있다.In step 430, the auto-encoder may be trained by extracting only an input vector within a domain from among the language vectors.

단계 430은 언어 벡터를 축소 후, 복원 벡터로 복원하는 오토 인코더의 재구축 손실과 대비 손실을 위해 언어 벡터 중에서 도메인 내 입력 벡터(In-Domain)만을 추출 및 이용하여 오토 인코더를 훈련시킬 수 있으며, 오토 인코더는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원할 수 있다. 아울러, 단계 430은 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다. 상기 대비 학습은 서로 일치하는 군집에 있으면 ‘같은 군집’, 그렇지 않으면 ‘다른 군집’을 학습시키는 알고리즘으로, 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시키는 방식일 수 있다.Step 430 can train the auto-encoder by extracting and using only an input vector (In-Domain) from among language vectors for reconstruction loss and contrast loss of the auto-encoder that restores the reconstructed vector after reducing the language vector, The auto-encoder is trained only with input vectors within the domain and can only restore input vectors within the domain. In addition, in operation 430, a contrastive task may be performed so that the language model classifies and processes intra-domain input and out-of-domain input. The contrast learning is an algorithm that learns 'same cluster', otherwise 'different cluster' if they are in matching clusters.

이에 따라서, 단계 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 the step 430 of learning the auto-encoder in FIG. 4 is shown to be performed after the step 420, it is not limited thereto, and the step 430 is located between the steps 410 and 420 to train the auto-encoder.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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, 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), 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 executed on the operating system. A 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 can 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)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.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 apparatus, 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 from the above description by those skilled in the art. For example, the described techniques are performed in an order different from 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)의 문장으로 판별하는 문장 판별부
를 포함하는 기능 대화 필터 시스템.
a receiver for receiving an input sentence; and
A language vector for the input sentence processed by a language model that converts an input into a vector is compared with a reconstructed vector restored by an auto-encoder that receives an 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
A feature dialog filter system that includes.
제1항에 있어서,
상기 문장 판별부는
문장을 벡터로 변환하는 상기 언어 모델과 상기 언어 모델을 통해 처리된 상기 언어 벡터를 축소 및 복원하는 상기 오토 인코더가 결합된 것을 특징으로 하는, 기능 대화 필터 시스템.
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.
제2항에 있어서,
상기 문장 판별부는
상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별하는, 기능 대화 필터 시스템.
3. The method of claim 2,
The sentence discrimination unit
The language vector processed with the language model is compared 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 determined as a sentence outside the domain, otherwise If not, to determine the sentence within the domain, a function dialog filter system.
제1항에 있어서,
상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 제어부
를 더 포함하는 기능 대화 필터 시스템.
According to claim 1,
A control unit for learning the auto-encoder by extracting only an input vector within the domain from among the language vectors
Features dialog filter system further comprising.
제4항에 있어서,
상기 제어부는
상기 언어 벡터를 축소 후, 상기 복원 벡터로 복원하는 상기 오토 인코더의 재구축 손실과 대비 손실을 통해 훈련시키며,
상기 오토 인코더는
상기 도메인 내 입력 벡터로만 학습되어 상기 도메인 내 입력 벡터만 복원하는 것을 특징으로 하는, 기능 대화 필터 시스템.
5. The method of claim 4,
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 within the domain is learned and only the input vector within the domain is restored.
제4항에 있어서,
상기 제어부는
상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행하는 것을 특징으로 하는, 기능 대화 필터 시스템.
5. The method of claim 4,
the control unit
A functional dialog filter system, characterized in that the language model performs a contrastive task in order to classify and process intra-domain input and out-of-domain input.
제6항에 있어서,
상기 제어부는
상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행하는, 기능 대화 필터 시스템.
7. The method of claim 6,
the control unit
A functional dialog filter system for performing 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)의 문장으로 판별하는 단계
를 포함하는 기능 대화 필터 방법.
receiving an input sentence; and
A language vector for the input sentence processed by a language model that converts an input into a vector is compared with a reconstructed vector restored by an auto-encoder that receives an 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
A feature dialog filter method comprising a.
제8항에 있어서,
상기 판별하는 단계는
상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별하는, 기능 대화 필터 방법.
9. The method of claim 8,
The determining step is
The language vector processed with the language model is compared 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 determined as a sentence outside the domain, otherwise Otherwise, it is determined as a sentence within the domain, a function dialog filter method.
제8항에 있어서,
상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 단계
를 더 포함하는 기능 대화 필터 방법.
9. The method of claim 8,
Learning the auto-encoder by extracting only the input vector within the domain from among the language vectors
A function dialog filter method further comprising a.
제10항에 있어서,
상기 학습시키는 단계는
상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행하는 것을 특징으로 하는, 기능 대화 필터 방법.
11. The method of claim 10,
The learning step
Functional dialogue filter method, characterized in that the language model performs a contrast learning (contrast task) to classify and process intra-domain input and out-of-domain input.
제11항에 있어서,
상기 학습시키는 단계는
상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행하는, 기능 대화 필터 방법.
12. The method of claim 11,
The learning step
A function dialog filter method for performing 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.
KR1020200156124A 2020-11-20 2020-11-20 Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof KR102438969B1 (en)

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 true KR20220069219A (en) 2022-05-27
KR102438969B1 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140054494A (en) 2012-10-26 2014-05-09 심심이(주) Device and method for providing communication service
US20180165554A1 (en) * 2016-12-09 2018-06-14 The Research Foundation For The State University Of New York Semisupervised autoencoder for sentiment analysis
KR20190019748A (en) * 2017-08-18 2019-02-27 삼성전자주식회사 Method and apparatus for generating natural language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140054494A (en) 2012-10-26 2014-05-09 심심이(주) Device and method for providing communication service
US20180165554A1 (en) * 2016-12-09 2018-06-14 The Research Foundation For The State University Of New York Semisupervised autoencoder for sentiment analysis
KR20190019748A (en) * 2017-08-18 2019-02-27 삼성전자주식회사 Method and apparatus for generating natural language

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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
KR102438969B1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
US20200152174A1 (en) Method, Apparatus, and System for Conflict Detection and Resolution for Competing Intent Classifiers in Modular Conversation System
US11735176B2 (en) Speaker diarization using speaker embedding(s) and trained generative model
CN113591902B (en) Cross-modal understanding and generating method and device based on multi-modal pre-training model
US11188720B2 (en) Computing system including virtual agent bot providing semantic topic model-based response
US20200004878A1 (en) System and method for generating dialogue graphs
US11120802B2 (en) Diarization driven by the ASR based segmentation
US20210089909A1 (en) High fidelity speech synthesis with adversarial networks
WO2022121251A1 (en) Method and apparatus for training text processing model, computer device and storage medium
Chi et al. Speaker role contextual modeling for language understanding and dialogue policy learning
CN115914148A (en) Conversational agent with two-sided modeling
JP2021081713A (en) Method, device, apparatus, and media for processing voice signal
US10891954B2 (en) Methods and systems for managing voice response systems based on signals from external devices
KR20190074508A (en) Method for crowdsourcing data of chat model for chatbot
JP7182584B2 (en) A method for outputting information of parsing anomalies in speech comprehension
KR102438969B1 (en) Functional dialog filter system applying sentence reconstruction and contrastive loss and the method thereof
KR20210042707A (en) Method and apparatus for processing speech
JP7348447B2 (en) Speaker diarization correction method and system utilizing text-based speaker change detection
US20220284891A1 (en) Noisy student teacher training for robust keyword spotting
US20220180865A1 (en) Runtime topic change analyses in spoken dialog contexts
KR102372642B1 (en) Apparatus and method for generating an automatic response
JP7426919B2 (en) Program, device and method for estimating causal terms from images
CN116913278B (en) Voice processing method, device, equipment and storage medium
US11417336B2 (en) Methods and systems of generating a customized response based on a context
US20230281396A1 (en) Message mapping and combination for intent classification
CN116663571A (en) Translation method, translation device, electronic equipment and computer readable storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant