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 PDF

Info

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
Application number
KR1020200156124A
Other languages
Korean (ko)
Other versions
KR20220069219A (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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • 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

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

문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법{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 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.

한국공개특허 제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 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 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 receiver 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)는 사용자의 음성 또는 사용자의 채팅에 의해 입력되는 대화 형태 데이터에 기반하여 텍스트 및 형태소의 입력 문장을 수신할 뿐만 아니라, 사용자가 사용하는 이모티콘 또는 스티커와 같은 대화 형태 데이터를 수신할 수도 있다. In this case, the receiving unit 110 receives not only the input sentences of text and morphemes based on the user's voice or the conversational form data input by the user's chatting, but also receives the conversational 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 discrimination 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 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 sentence determining unit 130 according to the 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 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, and determines the sentence as an out-of-domain sentence. If it is less than the preset numerical value, the two vectors It can be determined that the similarity between the sentences is high, so that the sentences are within the domain. For example, the sentence discriminator 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 an input of a sentence outside the domain, otherwise, it can be determined as an input of a sentence 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 may train the auto-encoder by extracting and using only the input vector (In-Domain) in the domain from among the language vectors for the 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' if they are in matching clusters, otherwise 'different clusters'.

이에 따라서, 제어부(120)는 언어 벡터 중에서 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.Accordingly, the controller 120 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.

본 발명의 실시예에 따른 기능 대화 필터 시스템(100)의 데이터베이스(140)는 적어도 하나 이상의 특정 도메인에 대한 데이터를 구축하며, 사용자에 의해 수신되는 입력 문장을 단어 및 형태소로 분류하기 위한 기본적인 문법 데이터를 저장하여 유지할 수 있다. 나아가, 데이터베이스(140)는 특정 도메인에 해당하는 사용자와 상대방 간의 대화로 인해 발생하는 대화 형태 데이터 및 그에 대한 답변 데이터를 누적하여 구축하며, 시스템(100) 내부에 기 저장된 데이터 및 외부 서버로부터 수신되어 업데이트되는 데이터를 저장하여 유지할 수 있다.The database 140 of the functional dialog filter system 100 according to an embodiment of the present invention builds data for at least one or more specific domains, and basic grammatical 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. The updated data can be saved and maintained.

도 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 input sentences 210 of in-domain input and out-of-domain input are included in the data arrangement, they are classified into intra-domain input and out-of-domain input, and words and further morphemes that are separated for each unit of the sentence. The 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 intra-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 in the domain, only the input vector 231 in the domain can be restored, and the input vector outside the domain cannot be restored or may not 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 an in-domain input vector (In-Domain, 231) and an 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, the present invention can learn why the incorrect answer is an incorrect answer as well as why the correct answer according to the cluster is the correct answer through the contrast learning 250 .

전술한 바에 따라 학습되는 프로세스를 통해 본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장(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, and if it shows a certain value or less, it is determined as an in-domain sentence input.

도 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 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 user's chatting form data, but also the user's conversation form data such as emoticons or stickers 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 reconstructed vector restored by an autoencoder that receives an input vector within 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 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 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 By judging, it can be determined as a sentence within the domain. 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 the input vector within the domain from among the language vectors.

단계 430은 언어 벡터를 축소 후, 복원 벡터로 복원하는 오토 인코더의 재구축 손실과 대비 손실을 위해 언어 벡터 중에서 도메인 내 입력 벡터(In-Domain)만을 추출 및 이용하여 오토 인코더를 훈련시킬 수 있으며, 오토 인코더는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원할 수 있다. 아울러, 단계 430은 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다. 상기 대비 학습은 서로 일치하는 군집에 있으면 ‘같은 군집’, 그렇지 않으면 ‘다른 군집’을 학습시키는 알고리즘으로, 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시키는 방식일 수 있다.In step 430, the autoencoder can be trained by extracting and using only the input vector (In-Domain) from among the language vectors for the reconstruction loss and contrast loss of the autoencoder 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 the input within the domain and the input outside the domain. The contrast learning is an algorithm that learns 'same cluster' if they are in matching clusters, otherwise 'different 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 step 430 of learning the auto-encoder in FIG. 4 is illustrated as being performed after step 420, the present invention is not limited thereto, and step 430 may be located between 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, 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.
제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 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.
삭제delete 제1항에 있어서,
상기 제어부는
상기 언어 벡터를 축소 후, 상기 복원 벡터로 복원하는 상기 오토 인코더의 재구축 손실과 대비 손실을 통해 훈련시키며,
상기 오토 인코더는
상기 도메인 내 입력 벡터로만 학습되어 상기 도메인 내 입력 벡터만 복원하는 것을 특징으로 하는, 기능 대화 필터 시스템.
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.
삭제delete 삭제delete 입력 문장을 수신하는 단계; 및
입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(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.
제8항에 있어서,
상기 판별하는 단계는
상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터 간의 벡터값의 차이가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별하는, 기능 대화 필터 방법.
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.
삭제delete 삭제delete 삭제delete
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 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* 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
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&amp;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