[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20220069219A - 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법 - Google Patents

문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법 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
English (en)
Other versions
KR102438969B1 (ko
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/ko
Publication of KR20220069219A publication Critical patent/KR20220069219A/ko
Application granted granted Critical
Publication of KR102438969B1 publication Critical patent/KR102438969B1/ko

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

Abstract

본 발명은 목적에 따른 도메인(Domain) 기능만을 학습하여 특정 도메인에 해당하는 문장을 판별하기 위한 기능 대화 필터 시스템 및 그 방법에 관한 것으로, 입력 문장을 수신하는 수신부 및 입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 문장 판별부를 포함한다.

Description

문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법{FUNCTIONAL DIALOG FILTER SYSTEM APPLYING SENTENCE RECONSTRUCTION AND CONTRASTIVE LOSS AND THE METHOD THEREOF}
본 발명은 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 목적에 따른 도메인(Domain) 기능만을 학습하여 특정 도메인에 해당하는 문장을 판별하기 위한 기술에 관한 것이다.
최근 들어 네트워크 인프라의 발달과 전자 기기 성능의 향상으로 인하여, 정보 소통 이상의 온라인 서비스가 제공되고 있다.
그 중에서, 사용자 간의 능동적인 소통의 장으로서 채팅 서비스가 제공되고 있으며, 방대한 양의 데이터를 효과적으로 검색할 수 있는 다양한 검색 시스템이 제공되고 있다.
기존의 기능형 AI(Artificial Intelligence) 채팅 서비스의 경우, 사용자가 입력한 텍스트 내용에 대한 지시와 명령을 수행하며, 기존의 ‘심심이’와 같은 관계형 AI(Artificial Intelligence) 채팅 서비스의 경우, 사용자가 입력한 텍스트 내용에 대해 데이터베이스에 기 입력된 내용만을 단순하게 대답하는 형식으로 사용자에게 정보를 전달하는 구조로 서비스 되었다.
이러한 기존 기술은 기 설정된 데이터를 기반으로 채팅 서비스를 제공하는 것이므로, 사용자의 한정된 텍스트에 대해서만 응답하거나, 직전 문장에 대해서만 추론하여 응답을 제공한다는 한계가 존재하였다. 또한, 기존 기술은 많은 단어로 조합된 문장을 인식하는 과정에서 문장 인식의 오류로 인해 특정 도메인(domain)에 대한 대화를 이어가지 못한다는 한계가 존재하였다.
한국공개특허 제10-2014-0054494호(2014.05.09. 공개), “대화 서비스 제공 방법 및 장치”
본 발명은 입력 문장을 개발 목적에 따라 할당된 도메인 기능에서만 판별함으로써, 기존 기술에 비해 특정 주제에 대한 넓고 깊은 대화를 공유하며, 일상적인 대화 또는 공감하는 형식의 대화와 같은 향상된 대화 능력을 제공하고자 한다.
본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장을 수신하는 수신부 및 입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 문장 판별부를 포함한다.
상기 문장 판별부는 문장을 벡터로 변환하는 상기 언어 모델과 상기 언어 모델을 통해 처리된 상기 언어 벡터를 축소 및 복원하는 상기 오토 인코더가 결합된 것일 수 있다.
상기 문장 판별부는 상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다.
또한, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 제어부를 더 포함할 수 있다.
상기 제어부는 상기 언어 벡터를 축소 후, 상기 복원 벡터로 복원하는 상기 오토 인코더의 재구축 손실과 대비 손실을 통해 훈련시키며, 상기 오토 인코더는 상기 도메인 내 입력 벡터로만 학습되어 상기 도메인 내 입력 벡터만 복원할 수 있다.
상기 제어부는 상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다.
상기 제어부는 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.
본 발명의 실시예에 따른 기능 대화 필터 방법은 입력 문장을 수신하는 단계 및 입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 단계를 포함한다.
또한, 본 발명의 실시예에 따른 기능 대화 필터 방법은 상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 할당된 도메인 기능만을 처리하여 특정 주제에 대한 넓고 깊은 대화를 공유하며, 일상적인 대화 또는 공감하는 형식의 대화와 같은 향상된 대화 능력을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 기능 대화 필터 시스템의 세부 구성을 블록도로 도시한 것이다.
도 2는 본 발명의 실시예에 따른 기능 대화 필터 시스템에서 입력 문장을 판별하는 프로세스를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 기능 대화 필터 시스템을 이용하여 특정 도메인에 따라 문장을 판별하는 예를 설명하기 위해 도시한 것이다.
도 4는 본 발명의 실시예에 따른 기능 대화 필터 방법의 동작 흐름도를 도시한 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 실시예들은 목적에 따른 도메인(Domain) 기능만을 학습시켜 도메인 내 또는 도메인 외의 문장을 판별하는 것을 그 요지로 한다.
본 발명의 실시예에 따른 기능 대화 필터 시스템 및 그 방법은 사용자의 음성을 인식하거나, 사용자가 소지하는 단말 기기를 통해 입력되는 사용자의 채팅을 인식하여 특정 도메인에 해당하는 문장인지를 판별할 수 있다.
단말 기기는 PC, 스마트폰, 태블릿 PC 등으로, 본 발명의 실시예에 따른 기능 대화 필터 시스템 및 그 방법과 관련된 웹/모바일 사이트의 접속 또는 서비스 전용 어플리케이션의 설치 및 실행이 가능한 모든 단말 장치를 의미할 수 있다. 이 때, 단말 기기는 웹/모바일 사이트 또는 전용 어플리케이션의 제어 하에 서비스 화면 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등 서비스 전반의 동작을 수행할 수 있다.
나아가, 본 발명은 단말 기기를 통한 온라인 또는 어플리케이션(Application) 상의 대화, 채팅에 한정하지 않으며, 사용자의 음성, 제스처, 표정으로부터 인식되는 대화 형태 데이터에 대한 답변 데이터를 제공할 수 있는 다양한 제품 또는 서비스에 적용 가능하다.
이하에서는, 도 1 내지 도 4를 참조하여 본 발명에 대해 보다 상세히 설명하고자 한다.
도 1은 본 발명의 실시예에 따른 기능 대화 필터 시스템의 세부 구성을 블록도로 도시한 것이다.
도 1을 참조하면, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 목적에 따른 도메인(Domain) 기능만을 학습하여 도메인에 해당하는 문장을 판별한다.
이를 위해, 본 발명의 실시예에 따른 기능 대화 필터 시스템(100)은 수신부(110) 및 문장 판별부(130)를 포함하며, 제어부(120) 및 데이터베이스(140)를 더 포함할 수 있다.
수신부(110)는 입력 문장을 수신한다. 이때, 입력 문장은 평서문, 의문문, 명령문, 청유문, 감탄문 및 약속문 중 어느 하나일 수 있으며, 복수의 단어가 조합된 문장 형태일 수 있다.
이때, 수신부(110)는 사용자의 음성 또는 사용자의 채팅에 의해 입력되는 대화 형태 데이터에 기반하여 텍스트 및 형태소의 입력 문장을 수신할 뿐만 아니라, 사용자가 사용하는 이모티콘 또는 스티커와 같은 대화 형태 데이터를 수신할 수도 있다.
문장 판별부(130)는 입력을 벡터로 변환하는 언어 모델(Language Model)에 의해 처리되는 입력 문장에 대한 언어 벡터와, 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더(AutoEncoder)에 의해 복원되는 복원 벡터를 비교하여 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별한다. 여기서, 문장 판별부(130)는 문장을 벡터로 변환하는 언어 모델과 언어 모델을 통해 처리된 언어 벡터를 축소 및 복원하는 오토 인코더가 결합된 것일 수 있다.
이때, 상기 언어 모델(Language Model)은 문장을 벡터로 사상하는 모델을 일컫으며, 오토 인코더(AutoEncoder)는 언어 모델에 의해 사상된 벡터를 축소 후, 원래 벡터로 복원하는 것을 일컫는다. 나아가, 오토 인코더(AutoEncoder)는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원하며, 도메인 외 입력 벡터는 복원하지 못하는 것을 특징으로 한다.
이에, 본 발명의 실시예에 따른 문장 판별부(130)는 언어 모델로 처리한 언어 벡터와 오토 인코더로 복원한 복원 벡터를 비교하며, 언어 벡터 및 복원 벡터가 기 설정된 수치값 이상을 나타내면 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다.
보다 상세하게, 문장 판별부(130)는 언어 벡터와 복원 벡터 간의 벡터값 차이가 기 설정된 수치값 이상이면 두 벡터 간의 유사도가 낮다고 판단하여 도메인 외의 문장으로 판별하며, 기 설정된 수치값 이하이면 두 벡터 간의 유사도가 높다고 판단하여 도메인 내의 문장으로 판별할 수 있다. 예를 들면, 문장 판별부(130)는 입력 문장에 대해서 언어 모델에 의해 변환되는 언어 벡터인 x와 오토 인코더로 복원한 복원 벡터 x’를 비교하며, 언어 벡터 x와 복원 벡터 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로, 그렇지 않은 경우에는 도메인 내 문장 입력으로 판별할 수 있다.
제어부(120)는 언어 벡터 중에서 도메인 내 입력 벡터 만을 추출하여 오토 인코더를 학습시킬 수 있다.
제어부(120)는 언어 벡터를 축소 후, 복원 벡터로 복원하는 오토 인코더의 재구축 손실과 대비 손실을 위해 언어 벡터 중에서 도메인 내 입력 벡터(In-Domain)만을 추출 및 이용하여 오토 인코더를 훈련시킬 수 있으며, 오토 인코더는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원할 수 있다. 아울러, 제어부(120)는 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다. 상기 대비 학습은 서로 일치하는 군집에 있으면 ‘같은 군집’, 그렇지 않으면 ‘다른 군집’을 학습시키는 알고리즘으로, 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시키는 방식일 수 있다.
이에 따라서, 제어부(120)는 언어 벡터 중에서 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.
본 발명의 실시예에 따른 기능 대화 필터 시스템(100)의 데이터베이스(140)는 적어도 하나 이상의 특정 도메인에 대한 데이터를 구축하며, 사용자에 의해 수신되는 입력 문장을 단어 및 형태소로 분류하기 위한 기본적인 문법 데이터를 저장하여 유지할 수 있다. 나아가, 데이터베이스(140)는 특정 도메인에 해당하는 사용자와 상대방 간의 대화로 인해 발생하는 대화 형태 데이터 및 그에 대한 답변 데이터를 누적하여 구축하며, 시스템(100) 내부에 기 저장된 데이터 및 외부 서버로부터 수신되어 업데이트되는 데이터를 저장하여 유지할 수 있다.
도 2는 본 발명의 실시예에 따른 기능 대화 필터 시스템에서 입력 문장을 판별하는 프로세스를 도시한 것이다.
도 2를 참조하면, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장(210)을 벡터로 변환하는 언어 모델(220)과, 언어 모델(230)에 의해 변환된 언어 벡터(230)를 축소 후, 원래 벡터로 복원하는 오토 인코더(240)로 구성된다.
도 2에 도시된 바와 같이 데이터 배치에 도메인 내 입력과 도메인 외 입력의 입력 문장(210)이 함께 들어오면, 도메인 내 입력과 도메인 외 입력으로 분류되며, 문장의 각 단위별로 구분되는 단어, 나아가 형태소의 입력들은 언어 모델(220)을 통해 고정된 차원의 언어 벡터(230)로 변환된다. 이때, 언어 벡터(230)는 입력 문장(210)에 대한 도메인 내 입력 벡터(In-Domain, 231) 및 도메인 외 입력 벡터(Out-of-Domain, 232)를 포함할 수 있다.
이에, 본 발명은 도메인 내 입력 벡터(231)와 도메인 외 입력 벡터(232)를 포함하는 언어 벡터(230) 중에서 입력 문장(210)에 포함된 도메인 내 입력 벡터(In-Domain, 231)만을 추출하여 오토 인코더(240)를 학습시킨다. 이로 인해, 오토 인코더(240)는 도메인 내 입력 벡터(231)로만 학습이 되므로, 도메인 내 입력 벡터(231)만 복원이 가능하고, 도메인 외 입력 벡터는 복원이 불가하거나, 제대로 복원하지 못할 수 있다.
아울러, 본 발명은 언어 모델(220)이 도메인 내 입력과 도메인 외 입력을 서로 다른 방향으로 분류 및 변환하도록 하기 위해서, 대비 학습(Contrastive Task, 250)을 수행한다. 대비 학습(250)은 언어 벡터(230)로부터 도메인 내 입력 벡터(In-Domain, 231) 및 도메인 외 입력 벡터(Out-of-Domain, 232)를 모두 추출하여 사용하며, 도메인 내 입력 벡터(231)와 도메인 외 입력 벡터(232)가 서로 일치하는 군집에 있으면 ‘같은 군집’ 그렇지 않으면 ‘다른 군집’으로 본 발명의 프로세스를 학습시키는 알고리즘이다. 이때, 본 발명은 대비 학습(250)을 통해 군집에 따른 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시킬 수 있다.
전술한 바에 따라 학습되는 프로세스를 통해 본 발명의 실시예에 따른 기능 대화 필터 시스템은 입력 문장(210)이 주어졌을 때, 이를 언어 모델(220)을 이용하여 변환한 언어 벡터 x와 오토 인코더(240)로 복원한 복원 벡터 x’를 비교하며, x와 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로 판별하고, 일정 수치 이하를 나타내면 도메인 내 문장 입력으로 판별한다.
도 3은 본 발명의 실시예에 따른 기능 대화 필터 시스템을 이용하여 특정 도메인에 따라 문장을 판별하는 예를 설명하기 위해 도시한 것이다.
도 3을 참조하면, 본 발명의 실시예에 따른 기능 대화 필터 시스템은 사용자의 자연어 발화를 통해 교신하는 인터페이스를 일컫으며, 개발목적에 따라 할당된 특정 도메인(Domain) 데이터를 처리하는 것을 특징으로 한다. 예를 들어, 본 발명은 음식 도메인에 대한 대화를 처리하는 경우, 음식 주문, 음식 추천 요청 등의 요리, 음식, 음식점 및 식재료와 같은 음식에 관련된 카테고리들만을 처리하도록 설계될 수 있으며, 영화 도메인에 대한 대화를 처리하는 경우에는 영화 스케쥴 열람, 극장 예매 요청 등의 영화, 영화관, 예매, 평점 및 후기와 같은 영화에 관련된 카테고리들만을 처리할 수 있다.
그 외에 도 3의 예를 살펴보면, ‘바보야’ 또는 ‘메롱’과 같은 비문은 음식 도메인 또는 영화 도메인 외의 문장 입력으로 분류되며, ‘날씨 지금 어때?’, ‘인기차트 뭐야?’와 같은 타 도메인 요청 문장 또한 도메인 외 문장으로 분류시켜 특정 도메인에 대한 대화에 포함시키지 않을 수 있다.
이러한 본 발명의 실시예에 따른 기능 대화 필터 시스템은 특정되는 해당 도메인 기능만을 처리할 수 있도록 학습되며, 학습에 따라 입력되는 입력 문장을 도메인 내 문장 또는 도메인 외 문장으로 판별함으로써, 대화에 수용되지 못하는 문장을 분류하여 특정 도메인에 대한 넓고 깊은 대화를 공유하게 한다.
도 4는 본 발명의 실시예에 따른 기능 대화 필터 방법의 동작 흐름도를 도시한 것이다.
도 4의 방법은 도 1에 도시된 본 발명의 실시예에 따른 기능 대화 필터 시스템에 의해 수행된다.
도 4를 참조하면, 단계 410에서, 입력 문장을 수신한다. 이때, 입력 문장은 평서문, 의문문, 명령문, 청유문, 감탄문 및 약속문 중 어느 하나일 수 있으며, 복수의 단어가 조합된 문장 형태일 수 있다.
이때, 단계 410은 사용자의 음성 또는 사용자의 채팅에 의해 입력되는 대화 형태 데이터에 기반하여 텍스트 및 형태소의 입력 문장을 수신할 뿐만 아니라, 사용자가 사용하는 이모티콘 또는 스티커와 같은 대화 형태 데이터를 수신할 수도 있다.
단계 420에서, 입력을 벡터로 변환하는 언어 모델(Language Model)에 의해 처리되는 입력 문장에 대한 언어 벡터와, 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더(AutoEncoder)에 의해 복원되는 복원 벡터를 비교하여 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별한다. 여기서, 단계 420은 문장을 벡터로 변환하는 언어 모델과 언어 모델을 통해 처리된 언어 벡터를 축소 및 복원하는 오토 인코더가 결합된 것일 수 있다.
이때, 상기 언어 모델(Language Model)은 문장을 벡터로 사상하는 모델을 일컫으며, 오토 인코더(AutoEncoder)는 언어 모델에 의해 사상된 벡터를 축소 후, 원래 벡터로 복원하는 것을 일컫는다. 나아가, 오토 인코더(AutoEncoder)는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원하며, 도메인 외 입력 벡터는 복원하지 못하는 것을 특징으로 한다.
이에, 본 발명의 실시예에 따른 단계 420은 언어 모델로 처리한 언어 벡터와 오토 인코더로 복원한 복원 벡터를 비교하며, 언어 벡터 및 복원 벡터가 기 설정된 수치값 이상을 나타내면 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별할 수 있다.
보다 상세하게, 단계 420은 언어 벡터와 복원 벡터 간의 벡터값 차이가 기 설정된 수치값 이상이면 두 벡터 간의 유사도가 낮다고 판단하여 도메인 외의 문장으로 판별하며, 기 설정된 수치값 이하이면 두 벡터 간의 유사도가 높다고 판단하여 도메인 내의 문장으로 판별할 수 있다. 예를 들면, 단계 420은 입력 문장에 대해서 언어 모델에 의해 변환되는 언어 벡터인 x와 오토 인코더로 복원한 복원 벡터 x’를 비교하며, 언어 벡터 x와 복원 벡터 x’가 일정 수치 이상을 기록하면 그 문장을 도메인 외 문장 입력으로, 그렇지 않은 경우에는 도메인 내 문장 입력으로 판별할 수 있다.
단계 430에서, 언어 벡터 중에서 도메인 내 입력 벡터 만을 추출하여 오토 인코더를 학습시킬 수 있다.
단계 430은 언어 벡터를 축소 후, 복원 벡터로 복원하는 오토 인코더의 재구축 손실과 대비 손실을 위해 언어 벡터 중에서 도메인 내 입력 벡터(In-Domain)만을 추출 및 이용하여 오토 인코더를 훈련시킬 수 있으며, 오토 인코더는 도메인 내 입력 벡터로만 학습되어 도메인 내 입력 벡터만 복원할 수 있다. 아울러, 단계 430은 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행할 수 있다. 상기 대비 학습은 서로 일치하는 군집에 있으면 ‘같은 군집’, 그렇지 않으면 ‘다른 군집’을 학습시키는 알고리즘으로, 정답이 왜 정답인지와 더불어 오답이 왜 오답인지를 함께 학습시키는 방식일 수 있다.
이에 따라서, 단계 430은 언어 벡터 중에서 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행할 수 있다.
다만, 도 4에서 오토 인코더를 학습시키는 단계 430는 단계 420 뒤에 위치하여 수행되는 것으로 도시되었으나, 이에 한정되지 않으며, 단계 430은 단계 410과 단계 420 사이에 위치하여 오토 인코더를 학습시킬 수도 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (12)

  1. 입력 문장을 수신하는 수신부; 및
    입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 문장 판별부
    를 포함하는 기능 대화 필터 시스템.
  2. 제1항에 있어서,
    상기 문장 판별부는
    문장을 벡터로 변환하는 상기 언어 모델과 상기 언어 모델을 통해 처리된 상기 언어 벡터를 축소 및 복원하는 상기 오토 인코더가 결합된 것을 특징으로 하는, 기능 대화 필터 시스템.
  3. 제2항에 있어서,
    상기 문장 판별부는
    상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별하는, 기능 대화 필터 시스템.
  4. 제1항에 있어서,
    상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 제어부
    를 더 포함하는 기능 대화 필터 시스템.
  5. 제4항에 있어서,
    상기 제어부는
    상기 언어 벡터를 축소 후, 상기 복원 벡터로 복원하는 상기 오토 인코더의 재구축 손실과 대비 손실을 통해 훈련시키며,
    상기 오토 인코더는
    상기 도메인 내 입력 벡터로만 학습되어 상기 도메인 내 입력 벡터만 복원하는 것을 특징으로 하는, 기능 대화 필터 시스템.
  6. 제4항에 있어서,
    상기 제어부는
    상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행하는 것을 특징으로 하는, 기능 대화 필터 시스템.
  7. 제6항에 있어서,
    상기 제어부는
    상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행하는, 기능 대화 필터 시스템.
  8. 입력 문장을 수신하는 단계; 및
    입력을 벡터로 변환하는 언어 모델에 의해 처리되는 상기 입력 문장에 대한 언어 벡터와, 상기 언어 벡터 중에서 도메인 내 입력 벡터를 수신하는 오토 인코더에 의해 복원되는 복원 벡터를 비교하여 상기 입력 문장에 대한 도메인 내(In-Domain) 또는 도메인 외(Out-of-Domain)의 문장으로 판별하는 단계
    를 포함하는 기능 대화 필터 방법.
  9. 제8항에 있어서,
    상기 판별하는 단계는
    상기 언어 모델로 처리한 상기 언어 벡터와 상기 오토 인코더로 복원한 상기 복원 벡터를 비교하며, 상기 언어 벡터 및 상기 복원 벡터가 기 설정된 수치값 이상을 나타내면 상기 입력 문장을 도메인 외의 문장으로 판별하고, 그렇지 않으면 도메인 내 문장으로 판별하는, 기능 대화 필터 방법.
  10. 제8항에 있어서,
    상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 만을 추출하여 상기 오토 인코더를 학습시키는 단계
    를 더 포함하는 기능 대화 필터 방법.
  11. 제10항에 있어서,
    상기 학습시키는 단계는
    상기 언어 모델이 도메인 내 입력과 도메인 외 입력을 분류하여 처리하도록 하기 위해 대비 학습(contrastive task)을 수행하는 것을 특징으로 하는, 기능 대화 필터 방법.
  12. 제11항에 있어서,
    상기 학습시키는 단계는
    상기 언어 벡터 중에서 상기 도메인 내 입력 벡터 및 도메인 외 입력 벡터를 이용하여 같은 군집 또는 다른 군집을 학습시키는 대비 학습 알고리즘을 수행하는, 기능 대화 필터 방법.
KR1020200156124A 2020-11-20 2020-11-20 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법 KR102438969B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200156124A KR102438969B1 (ko) 2020-11-20 2020-11-20 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200156124A KR102438969B1 (ko) 2020-11-20 2020-11-20 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20220069219A true KR20220069219A (ko) 2022-05-27
KR102438969B1 KR102438969B1 (ko) 2022-09-01

Family

ID=81791332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200156124A KR102438969B1 (ko) 2020-11-20 2020-11-20 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102438969B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140054494A (ko) 2012-10-26 2014-05-09 심심이(주) 대화 서비스 제공 방법 및 장치
US20180165554A1 (en) * 2016-12-09 2018-06-14 The Research Foundation For The State University Of New York Semisupervised autoencoder for sentiment analysis
KR20190019748A (ko) * 2017-08-18 2019-02-27 삼성전자주식회사 자연어 생성 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140054494A (ko) 2012-10-26 2014-05-09 심심이(주) 대화 서비스 제공 방법 및 장치
US20180165554A1 (en) * 2016-12-09 2018-06-14 The Research Foundation For The State University Of New York Semisupervised autoencoder for sentiment analysis
KR20190019748A (ko) * 2017-08-18 2019-02-27 삼성전자주식회사 자연어 생성 방법 및 장치

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 (ko) 2022-09-01

Similar Documents

Publication Publication Date Title
US11455981B2 (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
WO2022121251A1 (zh) 文本处理模型训练方法、装置、计算机设备和存储介质
US20210019375A1 (en) Computing system including virtual agent bot providing semantic topic model-based response
US11120802B2 (en) Diarization driven by the ASR based segmentation
US20210089909A1 (en) High fidelity speech synthesis with adversarial networks
US10468031B2 (en) Diarization driven by meta-information identified in discussion content
US10891954B2 (en) Methods and systems for managing voice response systems based on signals from external devices
KR20190074508A (ko) 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법
CN114765025A (zh) 语音识别模型的生成方法、识别方法、装置、介质及设备
TWI818427B (zh) 使用基於文本的說話者變更檢測的說話者劃分糾正方法及系統
US12027162B2 (en) Noisy student teacher training for robust keyword spotting
JP7182584B2 (ja) スピーチ理解における解析異常の情報を出力するための方法
CN116913278B (zh) 语音处理方法、装置、设备和存储介质
KR102438969B1 (ko) 문장 재구축 및 대비 손실을 적용한 기능 대화 필터 시스템 및 그 방법
JP7426919B2 (ja) 画像から因果関係語を推定するプログラム、装置及び方法
US11417336B2 (en) Methods and systems of generating a customized response based on a context
KR102372642B1 (ko) 자동 응답 생성 방법 및 장치
KR20220075638A (ko) 비윤리 상황에서 사용자 특성정보 기반 챗봇 대응 제어 방법 및 그를 위한 장치
US12119003B2 (en) Methods and systems for combined voice and signaling
US12141540B2 (en) Message mapping and combination for intent classification
US20250029612A1 (en) Guiding transcript generation using detected section types as part of automatic speech recognition
CN118410162A (zh) 摘要提取方法、装置、设备、介质及程序产品
CN119130670A (zh) 用户意图识别方法、装置、终端设备以及介质
CN116010607A (zh) 文本聚类方法、装置、计算机系统及存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20201120

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220318

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220823

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220829

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220829

End annual number: 3

Start annual number: 1

PG1601 Publication of registration