KR101851793B1 - 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법 - Google Patents

멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법 Download PDF

Info

Publication number
KR101851793B1
KR101851793B1 KR1020170178886A KR20170178886A KR101851793B1 KR 101851793 B1 KR101851793 B1 KR 101851793B1 KR 1020170178886 A KR1020170178886 A KR 1020170178886A KR 20170178886 A KR20170178886 A KR 20170178886A KR 101851793 B1 KR101851793 B1 KR 101851793B1
Authority
KR
South Korea
Prior art keywords
domain
matching
module
input data
score
Prior art date
Application number
KR1020170178886A
Other languages
English (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 KR1020170178886A priority Critical patent/KR101851793B1/ko
Application granted granted Critical
Publication of KR101851793B1 publication Critical patent/KR101851793B1/ko

Links

Images

Classifications

    • G06F17/28

Landscapes

  • Machine Translation (AREA)

Abstract

본 발명은 챗봇 모듈, 검색엔진 모듈이나 음성인식 모듈의 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법에 관한 것이다. 이를 위하여 어구 정보를 어떤 도메인 파이프라인에 매칭하는 것이 적합할지에 대한 정보인 도메인 스코어를 계산하는 도메인 스코어 계산 모듈; 및 도메인 스코어가 가장 높은 도메인에 관련된 도메인 파이프라인에 어구 정보를 매칭하는 도메인 매칭 모듈;이 제공될 수 있다.

Description

멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법{Domain matching device and method for multi-domain natural language processing}
본 발명은 챗봇 모듈, 검색엔진 모듈이나 음성인식 모듈의 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법에 관한 것이다.
사람의 언어는 풍부하고 복잡하며, 복잡한 문법 및 문맥 의미를 갖는 많은 어휘를 포함하고 있으나 하드웨어 또는 소프트웨어 애플리케이션은 일반적으로 특정 형식 또는 규칙에 따라 데이터를 입력할 것을 요구한다. 여기서, 자연어 입력은 사람과 상호작용하기 위한 거의 모든 소프트웨어 애플리케이션에서 이용될 수 있다. 일반적인 자연어 처리 과정은 자연어를 토큰(Token)으로 분리하고 소프트웨어 애플리케이션에 의해 제공되는 하나 이상의 동작에 매핑하며 각각의 소프트웨어 애플리케이션이 일련의 고유한 동작들을 가지도록 설정된다. 즉, 소프트웨어 개발자가 자연어 입력을 해석하는 코드를 작성하여 입력을 각각의 애플리케이션에 대한 적절한 동작에 매핑하는 방식이다. 이러한 자연어 처리 장치는 음성 인식 엔진, 검색 엔진, 문장 인식 엔진 등에 이용되고 있다.
이러한 자연어 처리 장치의 대표적인 예로 챗봇을 들 수 있다. 최근 챗봇의 등장으로 고객지원 서비스의 품질 향상 해결하기 위해, 챗봇을 도입해 고객 응대에 필요한 인력을 줄임과 동시에 24시간 빠르게 응답처리 하고자 하는 회사들이 상당히 많이 생기고 있다. 예를 들어, AT&T는 CS에 전화를 하면 봇이 응대하도록 하고 있다.
도 1은 챗봇의 기본적인 모듈 구성을 도시한 모식도이다. 도 1에 도시된 바와 같이 챗봇은 채팅의 텍스트나 음성으로 구성된 언어적 입력(Lexical input)을 NLP(자연어 처리 프로세서, Natural Language Processor) 모듈이 입력받아 컴퓨터상에서 처리될 수 있는 형태로 처리해주고, 처리된 자연어의 Context를 분석하는 Context Analyzer를 지나서, Context에 따라 답변 내용을 정하는 Decision Maker에서 답변 내용을 분류하여 확정하고, 확정된 답변 내용에 따라 사용자에게 답변을 하는 Response Generator를 통해 언어적 출력(Lexical output)이 나오게 되는 구조로 되어 있다.
도 2는 일반적인 챗봇 모듈 구성을 구체적으로 도시한 모식도이다. 도 2에 도시된 바와 같이, 일반적인 챗봇은 NLP에 형태소 분석기(Morphemic Analyzer)를 붙여서 입력되는 언어적 입력의 형태소를 분석하고, 문장학적으로 어떤 의미를 갖는지에 대한 Taxonomy Analyzer를 붙여서 문장을 컴퓨터상에서 처리할 수 있는 형태로 처리하게 된다. Context Analyzer는 Context Database에서 해당 문장이 어떤 Context인지를 검색 엔진(Search engine)을 통해 매칭하게 된다. 매칭된 Context에 대한 대답을 Decision Maker에서 찾게 된다. 보통 특정 Context에 대한 대답은 챗봇을 도입하려는 특정 회사의 고객지원 프로토콜 데이터 템플릿에 의해 결정된다.
도 3은 머신러닝을 이용한 챗봇 모듈 구성을 구체적으로 도시한 모식도이다. 도 3에 도시된 바와 같이, 머신러닝을 이용한 챗봇은 기존의 일반적인 챗봇의 요소들이 많이 대체되었다. 머신러닝을 이용한 챗봇 모듈 구성에서는 NLP에 딥러닝 모델(Deep-learning model)이 적용된다. NLP에 적용되는 딥러닝 모델로는 2016년 4월에 공개된 Google의 SyntexNet이 이용될 수 있고, NLU(Natural Language Understanding)의 초기 버전으로 이해할 수 있다. SyntexNet을 거치면 특정 언어적 입력이 Vector 형태로 바뀌게 된다. 그 후, Context Analyzer, Decision Maker 및 Response Generator를 통합하여 딥러닝 모델을 적용하고 트레이닝 세트를 계속 학습시키게 된다. Context Analyzer, Decision Maker 및 Response Generator의 통합 모듈에 이용되는 딥러닝 모델로는 RNN(Recurrent Neural Network) 등의 적어도 하나 이상의 모델이 이용되게 된다.
챗봇 이외에도 자연어 처리와 응답 생성을 기반으로 하는 서비스가 다양하게 제공되고 있다. 챗봇 이외에 자연어 처리와 응답 생성을 기반으로 하는 서비스에는 음성인식, 검색 엔진 등이 있다.
대한민국 공개특허 제10-2017-0021902호, 페이스북 인크
기존에는 챗봇, 검색엔진, 음성인식 모듈 등의 자연어 처리 장치를 설계하는 데에 있어 다음과 같은 문제점이 존재하였다.
먼저, 자연어 학습을 위한 정제된 데이터 세트를 구하기가 굉장히 어려우므로, 정제되지 않은 데이터 세트를 정제하는 전처리 과정이 필요하게 된다. 데이터 수급과 전처리를 원활하게 하기 위해서는, 특정 도메인의 데이터를 집중적으로 수집한 후, 이에 맞는 챗봇을 설계하는 것이 가장 용이하고 정확도를 높이는 방법이다. 왜냐하면, 각각의 도메인에 따라 사용되는 용어의 의미가 다르다는 점에서, 질문과 대답의 범위가 좁아질수록 자연어 처리의 성능이 좋아지기 때문이다.
특정 도메인의 데이터를 집중적으로 학습한 챗봇 등의 자연어 처리 장치를 만들면 해당 도메인에 대한 대화만이 가능한 자연어 처리 장치가 되게 된다. 이러한 자연어 처리 장치로 만들어진 챗봇, 검색엔진, 음성인식 모듈 등은 하나의 도메인 내에서는 목적에 맞게 잘 작동할 수 있으나 범용성이 떨어진다는 단점이 있다.
위의 단점, 즉 범용성을 해결하기 위해 여러 도메인에 걸쳐진 데이터 세트를 모아서 자연어 처리 장치에 기계학습을 진행하면, 입력에 대한 자연어 처리 장치의 출력이 원하지 않는 도메인에서 도출되는 문제와 감정 분석과 같은 도메인 의존적인 과제의 처리가 어렵다는 문제가 발생한다.
따라서, 본 발명의 목적은, 위와 같은 문제를 해결하기 위해 특정 도메인 특화된 복수개의 응답 모듈을 설계하고, 입력 데이터(예를 들어, 입력 발화 데이터, 입력 문장 데이터, 질의 데이터 등)를 여러 개의 도메인 중 하나로 분류할 수 있는 중간 분류기를 만들어, 입력 데이터를 여러 개의 도메인 중 하나로 분류하고 분류된 도메인에 맞는 도메인 특화된 응답 모듈로 입력 데이터를 할당하는 방법에 관한 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법을 제공하는데에 있다.
또한, 본 발명의 다른 목적은, 위와 같은 문제를 해결하기 위해 특정 도메인 특화된 복수개의 응답 모듈에서 생성된 대답 데이터 등과 같은 출력 데이터에 대해 적정한 도메인의 출력 데이터를 선정하는 방법에 관한 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법을 제공하는데에 있다.
또한, 본 발명의 다른 목적은, 위와 같은 문제를 해결하기 위해 이전 대화 또는 쿼리에서 어떤 도메인으로 분류되었는지에 따라 현재 대화 또는 쿼리의 도메인의 선정에 가중치를 달리 주는 방법에 대한 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법을 제공하는데에 있다.
또한, 본 발명의 다른 목적은, 위와 같은 문제를 해결하기 위해 이전 대화 또는 쿼리에서 어떤 도메인으로 분류되었는지와 특정 도메인에서 다른 특정 도메인으로 전이될 확률인 전이 확률을 이용하여 현재 대화 또는 쿼리의 도메인의 선정에 가중치를 달리 주는 방법에 대한 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법을 제공하는데에 있다.
또한, 본 발명의 다른 목적은, 위와 같은 문제를 해결하기 위해 특정 분류 방법으로 특정 대화 또는 쿼리에 대해 도메인을 분류한 뒤 출력 데이터를 출력하고, 출력 데이터에 따른 사용자의 응답 데이터의 센티멘탈 분석을 통해 해당 도메인의 분류 모델에 대한 강화학습을 하는 방법에 대한 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법을 제공하는데에 있다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 입력 데이터를 일반 문자열 형태로 입력받고, 상기 입력 데이터를 개체(entity) 또는 의미구(intent)로 구분하여 단어 또는 단어 조합으로 구성되는 어구 정보를 생성하는 구분 모듈; 및 상기 어구 정보와 질문 데이터 세트를 토대로 특정 도메인에 대한 출력 데이터를 생성하는, 복수개의 도메인에 대한 복수개의 도메인 파이프라인;을 포함하는 멀티 도메인의 자연어 처리를 수행하기 위한 자연어 처리 장치의 도메인 매칭을 위한 도메인 매칭 장치에 있어서, 상기 어구 정보를 어떤 도메인 파이프라인에 매칭하는 것이 적합할지에 대한 정보인 도메인 스코어를 계산하는 도메인 스코어 계산 모듈; 및 상기 도메인 스코어가 가장 높은 도메인에 관련된 상기 도메인 파이프라인에 상기 어구 정보를 매칭하는 도메인 매칭 모듈;을 포함하며, 상기 도메인 스코어의 계산은, 상기 어구 정보와 상기 질문 데이터 세트와의 유사도를 기초로 수행되고, 상기 어구 정보와 매칭된 상기 복수개의 도메인 파이프라인 중 하나의 도메인 파이프라인이 상기 출력 데이터를 생성하도록 구성되는 것을 특징으로 하는, 멀티 도메인의 자연어 처리를 위한 도메인 매칭 장치를 제공하여 달성될 수 있다.
또한, 가중치를 생성하고, 상기 도메인 스코어 계산 모듈의 도메인 스코어 계산에 상기 가중치를 제공하는 가중치 모듈;을 더 포함하고, 상기 도메인 스코어의 계산은, 상기 유사도 및 상기 가중치를 기초로 수행되며, 상기 가중치는 이전의 도메인 스코어에 대한 정보인 것을 특징으로 할 수 있다.
또한, 가중치를 생성하고, 상기 도메인 스코어 계산 모듈의 도메인 스코어 계산에 상기 가중치를 제공하는 가중치 모듈;을 더 포함하고, 상기 도메인 스코어의 계산은, 상기 유사도 및 상기 가중치를 기초로 수행되며, 상기 가중치는 직전 동일 도메인 구간 정보인 것을 특징으로 할 수 있다.
또한, 가중치를 생성하고, 상기 도메인 스코어 계산 모듈의 도메인 스코어 계산에 상기 가중치를 제공하는 가중치 모듈;을 더 포함하고, 상기 도메인 스코어의 계산은, 상기 유사도 및 상기 가중치를 기초로 수행되며, 상기 가중치는 타 도메인으로의 전이 확률인 것을 특징으로 할 수 있다.
또한, 상기 도메인 스코어의 계산은, 상기 어구 정보를 상태(state), 상기 도메인 매칭 장치를 에이전트(agent), 상기 도메인 파이프라인의 매칭을 액션(action), 상기 출력 데이터에 따른 새로운 입력 데이터에 대한 정보를 보상(reward)로 하는 강화학습에 의해 업데이트되는 것을 특징으로 할 수 있다.
또한, 이전의 도메인 스코어에 대한 정보인 가중치를 생성하고, 상기 도메인 스코어 계산 모듈의 도메인 스코어 계산에 상기 가중치를 제공하는 가중치 모듈;을 더 포함하고, 상기 도메인 스코어의 계산은, 상기 유사도 및 상기 가중치를 기초로 수행되며, 상기 가중치 모듈의 가중치 생성은, 상기 어구 정보를 상태(state), 상기 가중치 모듈을 에이전트(agent), 상기 가중치의 생성을 액션(action), 상기 출력 데이터에 따른 새로운 입력 데이터에 대한 정보를 보상(reward)로 하는 강화학습에 의해 업데이트되는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 입력 데이터를 일반 문자열 형태로 입력받고, 상기 입력 데이터를 개체(entity) 또는 의미구(intent)로 구분하여 단어 또는 단어 조합으로 구성되는 어구 정보를 생성하는 구분 모듈; 및 상기 어구 정보와 질문 데이터 세트를 토대로 특정 도메인에 대한 출력 데이터를 생성하는, 복수개의 도메인에 대한 복수개의 도메인 파이프라인;을 포함하는 멀티 도메인의 자연어 처리를 수행하기 위한 자연어 처리 장치의 도메인 매칭을 위한 도메인 매칭 장치에 의해 수행되는 도메인 매칭 방법에 있어서, 상기 도메인 매칭 장치의 일구성인 도메인 스코어 계산 모듈이, 상기 어구 정보를 어떤 도메인 파이프라인에 매칭하는 것이 적합할지에 대한 정보인 도메인 스코어를 계산하는 도메인 스코어 계산 단계; 및 상기 도메인 매칭 장치의 일구성인 도메인 매칭 모듈이, 상기 도메인 스코어가 가장 높은 도메인에 관련된 상기 도메인 파이프라인에 상기 어구 정보를 매칭하는 도메인 매칭 단계;을 포함하며, 상기 도메인 스코어의 계산은, 상기 어구 정보와 상기 질문 데이터 세트와의 유사도를 기초로 수행되고, 상기 어구 정보와 매칭된 상기 복수개의 도메인 파이프라인 중 하나의 도메인 파이프라인이 상기 출력 데이터를 생성하도록 구성되는 것을 특징으로 하는, 멀티 도메인의 자연어 처리를 위한 도메인 매칭 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 입력 데이터를 일반 문자열 형태로 입력받고, 상기 입력 데이터를 개체(entity) 또는 의미구(intent)로 구분하여 단어 또는 단어 조합으로 구성되는 어구 정보를 생성하는 구분 모듈; 상기 어구 정보와 질문 데이터 세트를 토대로 특정 도메인에 대한 출력 데이터를 생성하는, 복수개의 도메인에 대한 복수개의 도메인 파이프라인; 상기 어구 정보를 어떤 도메인 파이프라인에 매칭하는 것이 적합할지에 대한 정보인 도메인 스코어를 계산하는 도메인 스코어 계산 모듈; 및 상기 도메인 스코어가 가장 높은 도메인에 관련된 상기 도메인 파이프라인에 상기 어구 정보를 매칭하는 도메인 매칭 모듈;을 포함하며, 상기 도메인 스코어의 계산은, 상기 어구 정보와 상기 질문 데이터 세트와의 유사도를 기초로 수행되고, 상기 어구 정보와 매칭된 상기 복수개의 도메인 파이프라인 중 하나의 도메인 파이프라인이 상기 출력 데이터를 생성하도록 구성되는 것을 특징으로 하는, 멀티 도메인의 자연어 처리를 수행하기 위한 자연어 처리 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 입력 데이터를 수신하고, 상기 입력 데이터의 어구 정보를 생성하는 제1구분 모듈; 특정 도메인에 대한 출력 데이터를 생성하는 특정 도메인 파이프라인의 질문 데이터 세트를 수신하고, 상기 질문 데이터 세트의 어구 정보를 생성하는 제2구분 모듈; 상기 입력 데이터의 어구 정보 및 상기 특정 도메인 파이프라인의 상기 질문 데이터 세트의 어구 정보를 이용하여 각각의 도메인 파이프라인에 대한 도메인 스코어를 계산하는 도메인 스코어 계산 모듈; 및 상기 도메인 스코어가 가장 높은 상기 도메인 파이프라인에 상기 입력 데이터의 상기 어구 정보를 매칭하여 입력하는 도메인 매칭 모듈;을 포함하는, 멀티 도메인의 자연어 처리를 위한 도메인 매칭 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 제1구분 모듈이, 입력 데이터를 수신하고, 상기 입력 데이터의 어구 정보를 생성하는 제1구분 단계; 제2구분 모듈이, 특정 도메인에 대한 출력 데이터를 생성하는 특정 도메인 파이프라인의 질문 데이터 세트를 수신하고, 상기 질문 데이터 세트의 어구 정보를 생성하는 제2구분 단계; 도메인 스코어 계산 모듈이, 상기 입력 데이터의 어구 정보 및 상기 특정 도메인 파이프라인의 상기 질문 데이터 세트의 어구 정보를 이용하여 각각의 도메인 파이프라인에 대한 도메인 스코어를 계산하는 도메인 스코어 계산 단계; 및 도메인 매칭 모듈이, 상기 도메인 스코어가 가장 높은 상기 도메인 파이프라인에 상기 입력 데이터의 상기 어구 정보를 매칭하여 입력하는 도메인 매칭 단계;를 포함하는, 멀티 도메인의 자연어 처리를 위한 도메인 매칭 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 제1구분 모듈이, 입력 데이터를 수신하고, 상기 입력 데이터의 어구 정보를 생성하는 제1구분 단계; 제2구분 모듈이, 특정 도메인에 대한 출력 데이터를 생성하는 특정 도메인 파이프라인의 질문 데이터 세트를 수신하고, 상기 질문 데이터 세트의 어구 정보를 생성하는 제2구분 단계; 도메인 스코어 계산 모듈이, 상기 입력 데이터의 어구 정보 및 상기 특정 도메인 파이프라인의 상기 질문 데이터 세트의 어구 정보를 이용하여 각각의 도메인 파이프라인에 대한 도메인 스코어를 계산하는 도메인 스코어 계산 단계; 및 도메인 매칭 모듈이, 상기 도메인 스코어가 가장 높은 상기 도메인 파이프라인에 상기 입력 데이터의 상기 어구 정보를 매칭하여 입력하는 도메인 매칭 단계;를 포함하는, 멀티 도메인의 자연어 처리를 위한 도메인 매칭 방법이 컴퓨터 상에서 수행되는 기록매체에 저장된 프로그램을 제공하여 달성될 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, 각각의 특정 도메인에 특화된 응답의 생성이 가능해지는 효과가 발생된다.
둘째, 본 발명의 일실시예에 따르면, 각각의 특정 도메인에 특화된 입력 데이터가 쌓여서, 도메인 별로 응답 모듈의 집중적인 학습이 가능해지는 효과가 발생된다.
셋째, 본 발명의 일실시예에 따른 도메인 매칭 장치에 따르면, 입력 데이터를 수신하여 각각의 특정 도메인 파이프라인에 할당하는 작업의 계산량이 매우 적어지고 처리 속도가 향상되는 효과가 발생된다.
넷째, 본 발명의 일실시예에 따른 가중치 모듈에 따르면, 입력 데이터를 수신하여 각각의 특정 도메인 파이프라인에 할당하는 작업의 계산량이 매우 적어지면서도 정확도가 점진적으로 향상되는 효과가 발생된다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 챗봇의 기본적인 모듈 구성을 도시한 모식도,
도 2는 일반적인 챗봇 모듈 구성을 구체적으로 도시한 모식도,
도 3은 머신러닝을 이용한 챗봇 모듈 구성을 구체적으로 도시한 모식도,
도 4는 본 발명의 일실시예에 따른 도메인 매칭 장치와 응답 모듈과의 관계를 나타낸 모식도,
도 5는 본 발명의 제1확장예에 따른 자연어 처리 장치의 신호 흐름을 도시한 모식도,
도 6은 본 발명의 제4확장예에 따른 자연어 처리 장치의 신호 흐름을 도시한 모식도,
도 7은 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습을 도시한 모식도,
도 8은 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습의 상태흐름을 도시한 모식도,
도 9는 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습의 신호 흐름을 도시한 모식도,
도 10은 본 발명의 제5확장예에 따른 자연어 처리 장치의 강화학습의 예측치에 관한 Q 함수를 도시한 것,
도 11, 12는 본 발명의 제7확장예에 따른 뉴럴 네트워크를 이용한 강화학습을 도시한 것,
도 13은 본 발명의 제8확장예에 따른 자연어 처리 장치의 뉴럴 네트워크를 이용한 강화학습의 네트워크 구조를 도시한 것,
도 14는 본 발명의 변형예에 따른 자연어 처리 장치의 신호 흐름을 도시한 것,
도 15, 16은 본 발명의 변형예에 따른 자연어 처리 장치의 강화학습의 신호 흐름을 도시한 모식도,
도 17은 본 발명의 일실시예에 따른 멀티 도메인 자연어 처리를 위한 자연어 처리 장치의 도메인 매칭 방법을 도시한 흐름도,
도 18은 본 발명의 일실시예에 따른 도메인 매칭 방법의 각 단계별 결과 예시를 도시한 것,
도 19는 본 발명의 제1확장예에 따른 도메인 매칭 방법을 도시한 흐름도,
도 20은 본 발명의 제2확장예에 따른 도메인 매칭 방법을 도시한 흐름도,
도 21은 본 발명의 제3확장예에 따른 도메인 매칭 방법을 도시한 흐름도,
도 22는 본 발명의 제4확장예에 따른 도메인 매칭 방법을 도시한 흐름도,
도 23은 본 발명의 제4확장예에 따른 도메인 매칭 방법의 다른 예를 도시한 흐름도,
도 24는 본 발명의 변형예에 따른 자연어 처리 장치의 신호 흐름을 도시한 모식도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
멀티 도메인 자연어 처리를 위한 도메인 매칭 장치
도 4는 본 발명의 일실시예에 따른 도메인 매칭 장치와 응답 모듈과의 관계를 나타낸 모식도이다. 도 4에 도시된 바와 같이, 질문이나 검색 쿼리로 구성된 입력 데이터(200)를 멀티 도메인 자연어 처리 장치(1)의 일구성인 구분 모듈(2)에서 수신하고, 형태소로 구분된 입력 데이터를 도메인 매칭 장치(3)에 전달하여 응답 모듈(4)의 특정 도메인 파이프라인(40)에 매칭하여 출력 데이터를 생성하게 된다.
구분 모듈(2)은 입력 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)와 의미구(intent)로 구분하는 모듈이다. 구분 모듈(2)에 의해 입력 데이터는 단어 또는 단어의 조합인 어구로 구분될 수 있다. NLP 모듈(21)은 구체적으로 형태소 분석, 어간 추출, 불용어 추출, TF, TFIDF 등의 기능을 포함할 수 있다. 이후, 벡터화 모듈(22, Sentence2vec나 Word2vec, SyntexNet)에 의해 구분된 개체와 의미구를 벡터값으로 처리하게 된다. 또는 Word2vec가 이용될 수 있고, 구체적으로는 n-gram, 문맥으로부터 단어를 예측하는 CBOW 모델, 또는 단어로부터 문맥을 예측하는 Skip-gram 모델 등이 이용될 수 있다. 즉, 구분 모듈(2)은 개체와 의미구를 포함하는 어구 정보를 생성할 수 있고, 벡터화 모듈(22)에 의해 어구 정보는 벡터값으로 표현될 수 있다. 본 발명의 일실시예에 따르면 벡터화 모듈(22)은 도메인 매칭 장치(3)에서 유사도 판단을 수행하는 경우에만 선택적으로 구성될 수 있다.
도메인 매칭 장치(3)는 상기 구분 모듈(2)에서 수신한 벡터화 된 어구 정보를 토대로 각각의 특정 도메인 파이프라인(40)의 질문 데이터 세트와의 유사도를 산출하여 도메인 스코어를 생성하고, 각각의 도메인 중 도메인 스코어가 가장 높은 도메인으로 입력 데이터를 매칭하게 된다. 이때 유사도의 계산은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 예를 들어, 한국어의 경우, 국립국어원의 General Corpus 등을 이용할 수 있고, 영어는 Brown Corpus 등을 이용할 수 있다. 또는, 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다. 이를 Knowledge-based Similarity라고 할 수 있다. 예를 들어, wordNet을 들 수 있다. wordNet을 활용한 단어와 단어 사이의 유사도 측정은 노드 사이의 최소 거리를 활용하는 Path similarity, 노드의 최소거리 및 최대 깊이를 활용하는 Leacock & Chodorow Similarity, 깊이 및 최소 상위 노드를 활용하는 Wu & Palmer Similarity 등의 방법으로 수행될 수 있다.
또한, 본 발명의 다른 실시예에 따른 도메인 매칭 장치(3)의 유사도 계산 방법은, k-nearest neighbors algorithm, Naive Bayes classifier, Support Vector machine 등의 방법을 사용할 수 있다. 또한, 예를 들어, 본 발명의 일실시예에 따르면 아래 수학식과 같은 방법으로 유사도를 계산할 수 있다.
Figure 112017128601910-pat00001
위 수학식 1에서, Score는 벡터 x가 Dk 도메인에 속할 확률 점수로서의 도메인 스코어, Dk는 k번째 도메인, x는 n개의 원소로 이루어진 벡터, xi는 x의 i번째 원소, P(Dk)와 P(x)는 스케일링 팩터를 의미할 수 있다. 본 발명의 일실시예에 따른 수학식 1과 같은 방법으로는 유사도인 P(Dk|x)가 가장 높은 도메인 Dk로 입력 벡터 x를 분류하게 된다. 위와 같이 벡터 x가 Dk 도메인에 속할 확률 점수를 이용하는 방법에 따르면 적은 계산량을 가지고도 빠르게 도메인을 매칭시킬 수 있는 효과가 발생된다.
또한, 본 발명의 다른 실시예에 따른 도메인 매칭 장치(3)는 구분 모듈(2)에서 구분된 어구가 어떤 특정 도메인에 특징적인지 여부를 판단하기 위하여 특정 도메인 파이프라인(40)의 질문 데이터 세트에서의 입력 데이터(200)의 어구 출현 빈도(또는 어구 출현 확률)와 다른 특정 도메인 파이프라인(40)의 질문 데이터 세트에서의 입력 데이터(200)의 어구 출현 빈도(또는 어구 출현 확률)을 비교하고, 이를 통해 입력 데이터의 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하여 도메인 스코어에 반영한 뒤, 각각의 도메인 중 도메인 스코어가 가장 높은 특정 도메인에 입력 데이터(200)를 매칭할 수 있다.
또한, 본 발명의 다른 실시예에 따른 도메인 매칭 장치(3)는 구분 모듈(2)에서 구분된 어구가 어떤 특정 도메인에 특징적인지 여부를 판단하기 위하여 특정 도메인 파이프라인(40)의 질문 데이터 세트에서의 입력 데이터(200)의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus에서의 입력 데이터(200)의 어구 출현 빈도(또는 어구 출현 확률)를 비교하고, 두 빈도의 차이(또는 확률의 차이)를 통해 입력 데이터의 해당 어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 특화 점수를 판정하여 도메인 스코어에 반영한 뒤, 각각의 도메인 중 도메인 스코어가 가장 높은 특정 도메인에 입력 데이터(200)를 매칭할 수 있다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 어구 출현 확률)를 파악하고, General corpus의 어구 출현 빈도보다 질문 데이터 세트에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 입력 데이터(200)의 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다. General corpus의 데이터의 양에 따라 어구 출현 빈도 판단의 기준이 될 상호관계의 거리를 i+n, i-n 까지 늘리거나 줄일 수 있다. 여기서 말하는 i는 문장 내 단어의 index 이다. 데이터의 양과 상수 n은 비례할 수 있다.
본 발명의 일실시예에 따른 도메인 매칭 장치에 따르면, 입력 데이터를 수신하여 각각의 특정 도메인 파이프라인에 할당하는 작업의 계산량이 매우 적어지고 처리 속도가 향상되는 효과가 발생된다.
본 발명의 다른 실시예에 따르면, 구분 모듈은 제1구분 모듈과 제2구분 모듈로 구성되고, 제1구분 모듈은 입력 데이터를 수신하고, 상기 입력 데이터의 어구 정보를 생성하도록 구성될 수 있다. 제2구분 모듈은 특정 도메인에 대한 출력 데이터를 생성하는 특정 도메인 파이프라인의 질문 데이터 세트를 수신하고, 상기 질문 데이터 세트의 어구 정보를 생성하도록 구성될 수 있다. 이때, 도메인 스코어 계산 모듈은, 상기 입력 데이터의 어구 정보 및 상기 특정 도메인 파이프라인의 상기 질문 데이터 세트의 어구 정보를 이용하여 각각의 도메인 파이프라인에 대한 도메인 스코어를 계산하도록 구성될 수 있다.
응답 모듈(4)은 복수개의 특정 도메인 파이프라인(40)을 보유하고, 도메인 매칭 장치(3)에 의해 매칭된 도메인에 대해 입력 데이터를 특정 도메인 파이프라인(40)에 할당하여 특정 도메인에 맞는 응답을 출력하는 모듈이다.
특정 도메인 파이프라인(40)은 도 1 내지 도 4와 같은 기존의 자연어 응답 모듈에서 구분 모듈을 제외한 나머지 모듈인 문맥 분석기(Context Analyzer), 응답 결정기(Decision Maker), 응답 생성기(Response Generator) 및 각각의 도메인에 맞는 질문 데이터 세트를 포함할 수 있다.
[ 제1확장예 ]
본 발명의 일실시예에 따른 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치의 제1확장예와 관련하여, 도메인 매칭 장치는 도메인의 매칭에 관한 가중치를 도메인 스코어의 계산에 적용할 수 있고, 이러한 가중치를 시계열적으로 업데이트하는 가중치 모듈과 연결될 수 있다.
도 5는 본 발명의 제1확장예에 따른 자연어 처리 장치의 신호 흐름을 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 제1확장예에 따른 자연어 처리 장치는 시간 t의 자연어 처리 장치와 시간 t+1의 자연어 처리 장치 사이에 가중치 모듈(5)을 더 포함할 수 있다.
가중치 모듈(5)은 시간 t의 도메인 매칭 장치(3)에서 산출된 도메인 스코어 또는 특정 도메인에 대한 정보를 시간 t+1의 도메인 매칭 장치(3)에서의 도메인 스코어 또는 특정 도메인의 매칭에 가중치로서 적용하는 모듈이다.
가중치의 산출 방법으로, 시간 t에 입력된 입력 데이터가 매칭된 도메인의 도메인 스코어가 시간 t+1의 입력 데이터에 대한 도메인 스코어에 영향을 주는 것으로서, 가까운 시간 내에 입력 데이터가 연속적으로 입력될수록 특정 도메인의 도메인 스코어에 양의 가중치를 더 주게 되고, 시간이 지날수록 이러한 양의 가중치는 저감되며, 다른 특정 도메인의 도메인 스코어가 더 높아서 다른 도메인으로 매칭되어야 하는 경우 음의 가중치를 주게 되는 방법으로 구성될 수 있다. 즉, 가중치는 입력 데이터가 입력되는 시간차에 따라 도메인이 유지될 확률을 의미할 수 있다.
또는, 다른 형태의 가중치 산출 방법으로, 이전에 어떤 어구 정보에 대해 어떻게 도메인 스코어가 나왔는지, 또는 이전에 어떤 어구 정보에 대해 어떤 도메인으로 매칭되었는지를 의미할 수 있다.
이러한 가중치를 시계열적으로 업데이트하는 가중치 모듈에 따르면, 예를 들어, "얼마에요?" 등과 같은 어떤 도메인 파이프라인에 매칭해야 하는지가 애매한 입력 데이터에 대해 정교하게 도메인 매칭을 수행할 수 있게 되는 효과가 발생된다.
본 발명의 일실시예에 따른 가중치 산출 방법의 확장예로는 이하와 같다.
[ 제2확장예 -메모리 방식]
일련의 입력 데이터가 들어오고 있는 상황에서, 본 발명의 제2확장예에 따른 가중치 모듈(5)은 앞서 들어온 입력 데이터를 매칭한 도메인에 대해 도메인 매칭 장치(3)가 가중치를 부여하도록 구성될 수 있다. 현재 입력 데이터, 즉 i번째 입력 데이터를 x(i)이라고 했을 때, x(i-1), x(i-2), x(i-3) … x(i-M) 가 각각 할당된 도메인이 모두 Dk로 동일하면 이는 하나의 도메인에서 M개의 입력 데이터가 연속되었다고 볼 수 있다. 이때, i-1, i-2, i-3,..., i-M은 '직전 동일 도메인 구간'으로 정의될 수 있다. 또한, 이러한 직전 동일 도메인 구간에 기매칭된 도메인인 Dk는 '기매칭 도메인'으로 정의될 수 있다.
이에 따라 도메인 매칭 장치(3)는 가중치인 W(Dk, x(i))를 유사도 방식에서 산출한 P(Dk|x)에 곱하여 다른 나머지 도메인 파이프라인에 대한 유사도 계산을 수행하지 않고도 도메인 매칭을 유지할 수 있다. 본 발명의 제2확장예에서 가중치 모듈(5)은 직전 동일 도메인 구간의 도메인 스코어를 토대로 시간 t의 도메인 스코어에 적용할 가중치를 생성할 수 있다.
보다 구체적으로는 아래 수학식과 같다.
Figure 112017128601910-pat00002
Figure 112017128601910-pat00003
Figure 112017128601910-pat00004
수학식 3은 M개의 입력 데이터가 연속으로 Dk에 포함되거나, 포함되지 않을 때에 M에 대한 함수로 표현되는 가중치 W(Dk, x)를 기재한 것이다.
수학식 2, 3에서 Score는 벡터 x가 Dk 도메인에 속할 확률 점수로서의 도메인 스코어, Dk는 k번째 도메인, x는 n개의 원소로 이루어진 벡터, xi는 x의 i번째 원소, P(Dk)와 P(x)는 스케일링 팩터 또는 확률 분포를 의미할 수 있다. 또한, i번째 입력 데이터를 x(i)이라고 했을 때, x(i-1), x(i-2), x(i-3) … x(i-M) 가 각각 할당된 도메인이 모두 Dk로 동일하면 이는 하나의 도메인에서 M개의 입력 데이터가 연속되었다고 볼 수 있으며, 이에 따라 가중치인 W(Dk, x(i))를 유사도 방식에서 산출한 P(Dk|x)에 곱하여 도메인 스코어를 산출하게 됨으로써 도메인 매칭을 유지할 수 있다.
또는, 유사도 P(Dk|x)의 불연속 미분값을 산출하여 변화도를 구하고 이를 통해 최근 M개의 입력 데이터에 대한 가중치 W(Dk, x(i))를 구할 수도 있다.
Figure 112017128601910-pat00005
위 수학식에서 N은 입력 데이터의 최종 입력 횟수를 의미할 수 있다. 각 도메인의 가중치인 W(Dk) 양상은 아래와 같이 변화할 수 있다.
Figure 112017128601910-pat00006
제2확장예에 따른 각 도메인의 가중치인 W(Dk)의 시계열적 양상
본 발명의 제2확장예의 또 다른 예에서의 가중치는 직전 동일 도메인 구간의 도메인에 속할 확률을 별도로 계측하는 것이다. 이는 Recurrent Neural Network과 같은 방식으로 시계열적인 시퀀스 데이터를 기초로 학습될 수 있다. 예를 들어, 본 발명의 제2확장예에서의 가중치는 특정 도메인에서 입력 데이터 A가 입력된 뒤에 순차적으로 입력 데이터 B가 입력될 확률을 의미할 수 있다.
Figure 112017128601910-pat00007
Figure 112017128601910-pat00008
제2확장예의 다른 예에 따른 RNN 방식의 모식도
위의 표 2에서 wrec는 RNN에서의 되먹임 가중치를 의미할 수 있다.위 표 2에서 S함수는 특정 도메인 파이프라인을 의미할 수 있다. 이러한 경우 RNN의 출력 데이터인 y(t)로 시간 t에 어떤 어구 정보가 입력 데이터로 입력될지에 대한 예측이 가능해지는 효과가 발생된다. 본 발명의 제2확장예에서의 가중치는 이러한 입력 데이터 예측 정보가 이용될 수 있다.
이와 같은 방식을 적용하면, 예를 들어, 치킨 배달 도메인으로 분류되는 입력 데이터를 처리하는 도중(ex. 파닭은 얼마에요? / 황금올리브 쿠폰 적용 되나요?) 말뭉치 유사도만으로 특정 도메인을 판정하기 어려운 입력 데이터(ex. 그래서 몇시까지 되요? / 얼마냐구요?)가 입력되더라도 이를 기존에 처리하고 있던 도메인으로 분류하여 일관적인 주제의 대화로 수렴시키는 것이 가능해지는 효과가 발생된다.
또한, 입력 데이터를 통해 도메인 파이프라인을 매칭하는데 있어서, 연산량 절감의 효과가 발생된다. 직전의 입력 벡터(벡터화된 입력 데이터)인 x(i-1)이 Dk에 속하는 경우, P(Dk|x(i)) 와 W(Dk, x(i))의 곱이 임계확률(예. 50%)을 넘으면 Dk를 제외한 다른 도메인과 유사도를 산출할 필요 없이 곧바로 x(i-1)을 Dk에 할당할 수 있도록 구성할 수 있는 효과가 발생된다.
[ 제3확장예 -전이 확률 방식]
일련의 입력 데이터가 들어오고 있는 상황에서, 현재 매칭되어 있는 도메인 파이프라인에서 다른 도메인 파이프라인으로 전이해야 할 상황이 오는 경우, 본 발명의 제3확장예에 따른 가중치 모듈(5)은 앞서 들어온 입력 데이터를 매칭한 도메인에서 다른 도메인으로 전이될 확률에 기초해 도메인 매칭 장치(3)에 가중치를 부여하도록 구성될 수 있다. 보다 구체적으로 본 발명의 제3확장예에 따른 가중치 모듈(5)은, 일련의 입력 데이터가 들어오고 있고 앞서 들어온 입력 데이터가 각각 하나씩의 도메인에 할당되어 있을 때, 직전에 들어온 입력 데이터가 할당된 도메인에서 도메인 집합 내의 도메인으로 전이될 수 있는 확률 분포 테이블(도메인 전이 확률 분포)을 구성하고, 이를 적용하여 각 도메인에 할당될 확률을 계산하도록 구성될 수 있다. 예를 들어 아래와 같이 설명될 수 있다.
Figure 112017128601910-pat00009
제3확장예에 따른 도메인 전이 확률 분포의 도식화된 예
도메인 전이 확률 분포 테이블 D1 (게임) D2 (영화) D3 (치킨) ...
D1 (게임) 60% 20% 4%
D2 (영화) 15% 75% 5%
D3 (치킨) 3% 2% 80%
...
Figure 112017128601910-pat00010
Figure 112017128601910-pat00011
위 수학식에서 Score는 도메인 스코어, P(Dk|x)는 입력 데이터 x가 Dk에 속하는 확률, W(Dk, x(i))는 가중치, P(Dk|Dj)는 Dk에서 Dj로 전이될 도메인 전이 확률을 의미할 수 있다.
이와 같은 방식을 적용하면, 도메인의 전환이 일어나는 시점에서 도메인 간의 전이에 대한 확률인 도메인 전이 확률을 기반으로, 이전 입력 데이터의 도메인으로부터 전이될 확률이 높은 도메인으로 다음 입력 데이터를 분류할 수 있는 확률을 곱하여 도메인 스코어를 결정할 수 있다. 예를 들어, 영화 이야기를 나누다가 연예인 이야기로 도메인이 전이될 확률은 높지만, 영화 이야기를 나누다가 치킨 이야기로 도메인이 전이될 확률은 낮다는 것을 도메인 스코어의 계산에 적용할 수 있다. 도메인 전이 확률은 과거의 도메인 전이에 관한 데이터를 기반으로 계산될 수 있고, 입력 데이터의 입력 시간차에 따라 달라질 수 있다.
또한, 도메인이 기존의 Dk에서 다음 도메인 Dj로 넘어가는 시점에서, Dj를 계산하기 위해 Dk를 제외한 모든 도메인과 유사도를 구할 필요 없이, Dk와의 도메인 전이 확률이 높은 도메인들을 먼저 계산하는 것으로 계산량을 감축시킬 수 있다.
[ 제4확장예 - 도메인 강화학습]
일련의 입력 데이터가 들어오고 있는 상황에서, 본 발명의 제4확장예에 따른 가중치 모듈(5)은 앞서 들어온 입력 데이터를 매칭한 도메인에서 다른 도메인으로 전이될 확률에 기초해 가중치를 부여하도록 구성되는 동시에, 해당 가중치에 강화학습(Reinforcement Learning)을 수행하여 사용자의 반응에 따라 가중치가 업데이트 되도록 구성될 수 있다. 강화 학습에서 이용될 보상으로는 도메인 매칭 장치(3)의 특정 도메인 파이프라인(40)의 매칭에 의해 출력되는 시간 t의 출력 데이터(201)에 대한 사용자의 반응, 즉 시간 t의 출력 데이터(201)를 사용자가 수신한 뒤에 재차 입력되는 시간 t+1의 입력 데이터(200)의 감성 분석값이 이용될 수 있다.
도 6은 본 발명의 제4확장예에 따른 자연어 처리 장치의 신호 흐름을 도시한 모식도이다. 도 6에 도시된 바와 같이, 본 발명의 제4확장예에 따른 자연어 처리 장치는 시간 t의 자연어 처리 장치와 시간 t+1의 자연어 처리 장치 사이에 구성되는 가중치 모듈(5)과 센티멘탈 분석 모듈(6)을 더 포함할 수 있다. 가중치 모듈(5)은 시간 t의 도메인 매칭 장치(3)에서 산출된 도메인 스코어 또는 특정 도메인에 대한 정보를 시간 t+1의 도메인 매칭 장치(3)에서의 도메인 스코어 또는 특정 도메인의 매칭에 적용하는 모듈로서, 제1,2,3확장예의 가중치 모듈(5)과 동일한 역할을 수행하도록 구성될 수 있다. 다만, 제4확장예에서의 가중치 모듈(5)의 가중치는 센티멘탈 분석 모듈(6)의 감성 분석값에 의해 업데이트 되도록 구성될 수 있다. 또한, 센티멘탈 분석 모듈(6)은 시간 t+1의 구분 모듈(2)과 연결되어 입력 데이터(200)의 구분된 어구 및 Sentiment dictionary를 이용하여 시간 t+1의 입력 데이터(200)의 감성 분석값을 생성하고, 생성된 감성 분석값을 가중치 모듈(5)에 제공할 수 있다.
도 7은 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습을 도시한 모식도이다. 도 7에 도시된 바와 같이, 본 발명의 제4확장예에 따른 자연어 처리 장치는 시간 t의 자연어 처리 장치와 시간 t+1의 자연어 처리 장치 사이에 구성되는 가중치 모듈(5)을 Agent로 하고, 가중치 모듈(5)에서 생성되는 가중치를 Agent의 Action으로, 도메인 매칭 장치(3)의 각각의 특정 도메인 파이프라인(40)에 포함된 질문 데이터 세트와 입력 데이터(200)와의 유사도 및 가중치에 의해 도메인 스코어가 결정되는 환경을 Environment로, 시간 t의 입력 데이터(200)를 State로, 시간 t+1의 입력 데이터(200)를 센티멘탈 분석 모듈(6)이 감성 분석하여 생성하는 감성 분석값을 Reward로 하는 강화학습 알고리즘이 구성될 수 있다.
기존의 강화학습은 대부분 게임과 같은 도메인에 주로 이용되었고, 본 발명의 제4확장예와 같이 자연어 처리 장치에 이용된 바가 매우 드믈다. 또한, 기존에 자연어 처리를 함에 있어서 강화학습을 적용한다 하여도 구체적으로 본 발명의 제4확장예와 같이 Agent, Action, State, Reward 및 Environment를 설정한 바는 찾아보기 힘들다. 본 발명의 제4확장예와 같이 Agent를 가중치 모듈(5)로 구성하고, 가중치 모듈(5)의 가중치를 Action으로, 그리고 시간 t의 입력 데이터(200)를 State로 구성하게 되면, 복수개의 도메인 파이프라인을 가진 자연어 처리 장치가 특정 입력 데이터(200)의 어구 구성에 따라 가중치가 다이나믹하게 업데이트 되면서 점점 정교하게 특정 도메인 파이프라인을 매칭하게 될 확률이 높아지는 효과가 발생된다. 또한, 가중치 모듈(5)의 가중치 결정을 Action으로 하는 동시에 시간 t+1의 입력 데이터(200)의 감성 분석값을 Reward로 구성한 것에 의해 사용자의 내심의 의사에 맞는 특정 도메인 파이프라인이 매칭될 수 있는 효과가 발생된다.
도 8은 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습의 상태흐름을 도시한 모식도이다. 도 8에 도시된 바와 같이, 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습은 State, Action, Reward의 상태가 연속적으로 수행될 수 있다. 이러한 자연어 처리 장치의 강화학습은 이러한 신호 단계로 계속되거나, 도 8의 Sn과 같은 최종 상태(Terminal state)를 포함하도록 구성될 수 있다.
도 9는 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습의 신호 흐름을 도시한 모식도이다. 도 9에 도시된 바와 같이, 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습은 시간 t의 자연어 처리 장치와 시간 t+1의 자연어 처리 장치 사이에 구성되는 가중치 모듈(5)을 Agent로 하고, 가중치 모듈(5)에서 생성되는 가중치를 Agent의 Action0으로, 시간 t의 입력 데이터(200)를 State0로, 시간 t+1의 입력 데이터(200)를 센티멘탈 분석 모듈(6)이 감성 분석하여 생성하는 감성 분석값을 Reward1로 하는 강화학습 알고리즘이 구성될 수 있다. 이후 시간 t+1의 입력 데이터(200)를 State1로 다시 강화학습 사이클을 시작할 수 있다.
위와 같은 본 발명의 제4확장예에 따르면, 기존에 자연어 처리 장치에 적용하기 어려웠던 강화학습을 이용하여 각각의 입력 데이터에 가장 맞는 특정 도메인 파이프라인을 매칭하게 되는 효과가 발생된다.
[ 제5확장예 -Q를 이용한 강화학습]
본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습은 Reward가 희박(sparse)하다는 문제가 발생될 수 있다. Reward가 희박하다는 문제는 특정 상태(state, 입력 데이터)가 주어졌을 때 어떤 행위(action, 가중치)를 선택할지에 대해 더 나은 방향으로 훈련하는 과정에 있어서, 특정 action을 하더라도 이로 인한 Reward가 시간이 지나 시간 t+1의 입력 데이터가 입력된 이후에 나타나기 때문에 훈련이 제대로 되지 않을 리스크가 있다는 것이다.
따라서 이러한 문제를 해소하기 위하여 예측치 Q를 이용하여 강화학습을 하도록 구성될 수 있다. 이를 본 발명의 제5확장예로 정의할 수 있고, 도 10은 본 발명의 제5확장예에 따른 자연어 처리 장치의 강화학습의 예측치에 관한 Q 함수를 도시한 것이다. 도 10에 도시된 바와 같이, 본 발명의 제5확장예에 따른 자연어 처리 장치의 Q 함수를 이용한 강화학습은 입력 데이터(200)를 State로 하고, Agent인 가중치 모듈(5)에서 설정되는 가중치를 Action으로 하여 예상되는 Reward인 Quality를 출력하는 함수 Q(state, action)를 이용할 수 있다. Q함수를 이용하게 되면 특정 행동을 하기 이전에 Reward에 대한 예측치를 이용하여 강화학습 할 수 있게 되는 효과가 있다.
Figure 112017128601910-pat00012
위 수학식 6에서 Q는 Reward에 대한 예측치, Max Q는 Q가 가질 수 있는 최대값, s는 시간 t의 state, a'는 시간 t+1의 action을 의미한다. "'"는 시간 t+1을 의미한다. Q의 최대치를 주는 action에 대해서는 아래와 같은 Optimal policy가 제안될 수 있다.
Figure 112017128601910-pat00013
위의 수학식 7에서 π*은 Q에 대한 Optimal Policy를 의미할 수 있다. 이때, 시간 t의 Q(s,a)를 시간 t+1의 Q(s',a')로 이용하여 표현하기 위해 아래와 같은 방식이 제안될 수 있다.
Figure 112017128601910-pat00014
Agent인 가중치 모듈(5)이 받을 수 있는 미래의 모든 Reward의 합을 R, 최종 상태를 n이라고 정의했을 때, R은 위의 수학식 8과 같이 정의될 수 있다. R을 시간 t에 대한 변수로 표현하면 아래와 같이 계산될 수 있다.
Figure 112017128601910-pat00015
또한, 수학식 9를 시간 t+1에 대한 변수로 표현하면 아래와 같이 계산될 수 있다.
Figure 112017128601910-pat00016
따라서, Rt는 아래와 같이 표현될 수 있다.
Figure 112017128601910-pat00017
이러한 Rt에 대한 Optimal 값은 대략적으로 아래와 같이 표현될 수 있다.
Figure 112017128601910-pat00018
위 수학식 12에서 "*"는 Optimal, max는 최대치를 의미할 수 있다.
따라서, 수학식 12에 따르면 아래와 같이 Q함수에 대해서도 수학식 12와 같이 표현할 수 있게 된다.
Figure 112017128601910-pat00019
수학식 13에서 Q hat은 Q값에 대한 예측치, s,a는 시간 t의 state와 action, r은 시간 t의 reward, s',a'는 시간 t+1의 state와 action을 의미할 수 있다. 수학식 13에 따르면, 현재의 Q값에 대한 예측치는 현재의 reward와 t+1의 Q값의 예측치의 최대치를 이용하여 업데이트 될 수 있다. 따라서, 본 발명의 제4확장예에 따른 자연어 처리 장치의 강화학습에서 Q값은 수학식 13과 같이 강화학습 될 수 있다.
구체적인 알고리즘과 관련하여, 이하 표는 본 발명의 제5확장예에 따른 Q값을 이용한 강화학습 알고리즘을 도시한 것이다.
Algorithm
For each s,a initialize table entry
Figure 112017128601910-pat00020

Observe current state s
Do forever:
-Select an action a and execute it
-Receive immediate reward r
-Observe the new state s'
-Update the table entry for
Figure 112017128601910-pat00021
as follows:
Figure 112017128601910-pat00022

-s <- s'

본 발명의 제5확장예에 따른 자연어 처리 장치의 강화학습에서 Q값을 이용한 강화학습 알고리즘
[ 제6확장예 - 학습률을 이용한 강화학습]
본 발명의 제4,5확장예에 따른 강화학습은 action인 가중치와 실제로 특정 도메인 파이프라인을 매칭하는 것이 동일하지 않을 가능성이 있어서 학습이 어려운 문제가 발생될 수 있다. 예를 들어, 특정 입력 데이터의 어구 정보에 대해 '날씨'에 대한 도메인에 높은 가중치가 부여되도록 action이 결정되는 경우, 도메인 매칭 장치(3)에서는 입력 데이터의 어구 정보와 각각의 특정 도메인 파이프라인에 포함되는 질문 데이터 세트와의 유사도를 상기 가중치와 함께 고려하기 때문에, 확률적(Stochastic)으로 '날씨'에 대한 도메인이 매칭되도록 구성될 수 있다.
이렇게 확률적으로 action이 Environment에 적용되는 경우, 제대로 학습이 되지않을 가능성이 있다. 왜냐하면, 특정 action의 선택에 따라 특정 action이 확률적으로 수행된다면 제대로 된 피드백이 확률적으로 발생하게 되기 때문이다.
따라서, 본 발명의 제6확장예에서는 이러한 문제를 해결하기 위해 학습률(learning rate)을 더 추가적으로 적용할 수 있다. 시간 t의 Q(s,a)를 업데이트함에 있어서, 학습률을 적용하여 시간 t+1의 Q(s')에 대해서는 가중치 모듈(5)을를 0~1의 특정 비율로 학습하고, 시간 t의 Q(s)도 특정 비율로 함께 고려하는 것이다.
학습률을 적용한 Q(s,a)의 업데이트는 아래 수학식과 같이 수행될 수 있다.
Figure 112017128601910-pat00023
위 수학식 14에서 k는 학습률을 의미할 수 있다.
위의 수학식 14에 따라 본 발명의 제6확장예에 따른 자연어 처리 장치의 강화학습의 알고리즘은 아래와 같이 대략적으로 구성될 수 있다.
Algorithm
For each s,a initialize table entry
Figure 112017128601910-pat00024

Observe current state s
Do forever:
-Select an action a and execute it
-Receive immediate reward r
-Observe the new state s'
-Update the table entry for
Figure 112017128601910-pat00025
as follows:
Figure 112017128601910-pat00026

-s <- s'

본 발명의 제6확장예에 따른 자연어 처리 장치의 강화학습에서 학습률 k를 이용한 강화학습 알고리즘
위와 같이 본 발명의 제6확장예에 따라 학습률을 적용하게 되면, action이 확률적으로 수행되는 경우에도 강화학습이 잘 진행될 수 있는 효과가 발생된다.
[ 제7확장예 - 뉴럴 네트워크를 이용한 강화학습 1]
본 발명의 제4,5,6확장예에 따른 자연어 처리 장치의 강화학습은 입력 데이터의 자유도가 높거나 경우의 수가 많을수록 학습이 어려워지는 문제가 발생될 수 있다.
따라서, 이러한 문제를 해결하기 위해 본 발명의 제7확장예에 따른 자연어 처리 장치의 강화학습은 뉴럴 네트워크를 이용할 수 있다. 도 11, 12는 본 발명의 제7확장예에 따른 뉴럴 네트워크를 이용한 강화학습을 도시한 것이다. 도 11에 도시된 바와 같이, state인 입력 데이터와 action인 가중치를 뉴럴 네트워크의 인풋 레이어(input layer)에 입력하고 해당 action에 대한 예측되는 reward인 Q값의 근사치를 아웃풋 레이어(ouput layer)에서 출력받는 모델을 적용할 수 있다. 또한, 도 12에 도시된 바와 같이 state인 입력 데이터만을 뉴럴 네트워크의 인풋 레이어(input layer)에 입력하고 전체의 action에 대해 예측되는 reward인 Q값의 근사치를 아웃풋 레이어(ouput layer)에서 출력받는 모델을 적용할 수 있다.
본 발명의 제7확장예에 따라 뉴럴 네트워크를 이용한 강화학습을 적용하면 입력 데이터의 자유도가 지나치게 높아서 전체 environment의 경우의 수의 계산량이 지나치게 많은 경우에 근사적으로 Q를 출력하게 되므로 계산량이 감축되는 효과가 발생된다.
도 12를 기초로 보다 구체적으로 기술하면, 뉴럴 네트워크의 타겟(y)은 optimal한 Q값인 Q*로 설정될 수 있고, 해당 뉴럴 네트워크에서 최소화하고자 하는 cost 함수는 다음과 같이 기술될 수 있다.
Figure 112017128601910-pat00027
위 수학식에서 cost(W)는 뉴럴 네트워크 W에 대한 cost function, Ws는 state인 입력 데이터가 input layer에 입력되었을 때 output layer에서 출력되는 값으로 Q의 예측값이자 근사치라고 할 수 있다. y는 optimal한 Q값 이다. 이때 y는 아래와 같이 기술될 수 있다.
Figure 112017128601910-pat00028
y는 optimal한 Q값으로 Q*을 의미하며, r은 시간 t의 reward, maxQ(s')는 시간 t+1에 받을 수 있는 Q값의 최대치를 의미할 수 있다. 이를 조금 더 formal한 수학식으로 변경하면 아래와 같다.
Figure 112017128601910-pat00029
위 수학식에서 Ws는 뉴럴 네트워크의 출력값,
Figure 112017128601910-pat00030
은 Q에 대한 예측값으로 주어진 s 또는 s,a에 의해서 주어지고 θ라는 상태를 전제로 하게 된다. θ는 뉴럴 네트워크 또는 뉴럴 네트워크의 weight를 의미할 수 있다. Q*은 optimal Q값을 의미한다. 따라서 뉴럴 네트워크의 cost function은 아래와 같이 표현될 수 있다.
Figure 112017128601910-pat00031
위 수학식 18에 따르면 Q에 대한 예측값과 optimal Q값의 차이를 최소화하는 θ값을 찾는 방향으로 자연어 처리 장치의 강화학습이 진행되게 된다.
위의 수학식 18에 따라 본 발명의 제7확장예에 따른 자연어 처리 장치의 강화학습의 알고리즘은 아래와 같이 예시적으로 구성될 수 있다.
Algorithm
Initialize action - value function Q with random weights θ
Initialize state s1 = {x1}
for t =1, T do
With probability ε select a random action at,
otherwise select at = maxaQ*(st,a;θ)
Execute action at in 가중치 모듈 and observe reward rt
Set st+1 = st,at

Set
Figure 112017128601910-pat00032

Perform a gradient descent step on (yj - Q(sj,aj;θ))2
end for
본 발명의 제7확장예에 따른 자연어 처리 장치의 강화학습에서 뉴럴 네트워크를 이용한 강화학습 알고리즘
위 알고리즘에서 확률ε는 action의 선택을 위한 greedy algorithm 등을 의미할 수 있다. s는 state, a는 action, Q는 Q값, θ는 뉴럴 네트워크의 weight, r은 reward, y는 타겟을 의미할 수 있다.
[ 제8확장예 - 뉴럴 네트워크를 이용한 강화학습 2]
본 발명의 제7확장예에 따른 자연어 처리 장치의 뉴럴 네트워크를 이용한 강화학습은 타겟이 일정하게 유지되지 않는다는 문제가 발생될 수 있다. 위 수학식 18에 기재된 바와 같이, 뉴럴 네트워크의 cost function에서 Q에 대한 예측값과 optimal Q값의 차이를 최소화하는 θ값을 찾는 방향으로 자연어 처리 장치의 강화학습이 진행되게 되는데, Q에 대한 예측값이 θ값의 업데이트와 함게 업데이트 되는 동시에 cost function의 타겟인 optimal Q값의 θ값도 함께 업데이트가 되게 되므로 타겟이 일정하게 유지되지 않아 학습이 어려워진다. 위 수학식 18에서
Figure 112017128601910-pat00033
가 Q에 대한 예측값,
Figure 112017128601910-pat00034
가 optimal Q값(타겟)을 의미할 수 있다.
따라서, 본 발명의 제8확장예에 따른 자연어 처리 장치의 뉴럴 네트워크를 이용한 강화학습은 이러한 문제를 해결하기 위해 Q에 대한 예측값에서 이용되는 뉴럴 네트워크와 타겟에서 이용되는 뉴럴 네트워크를 θ와
Figure 112017128601910-pat00035
로 다르게 구성하고, 특정 시간이 지난 뒤에 또는 특정 조건이 만족되면
Figure 112017128601910-pat00036
를 θ로 업데이트하는 방법을 이용할 수 있다. 도 13은 본 발명의 제8확장예에 따른 자연어 처리 장치의 뉴럴 네트워크를 이용한 강화학습의 네트워크 구조를 도시한 것인데, 도 13에 도시된 바와 같이, 뉴럴 네트워크 θ는 Q의 예측값(Ws)에 이용하고, 뉴럴 네트워크
Figure 112017128601910-pat00037
는 optimal Q값에 이용하도록 구성될 수 있다. 이에 따르면 위의 수학식 18은 아래의 수학식과 같이 수정될 수 있다.
Figure 112017128601910-pat00038
위 수학식 19에 따르면 Q에 대한 예측값과 고정된 optimal Q값의 차이를 최소화하는 θ값을 찾는 방향으로 자연어 처리 장치의 강화학습이 진행되게 된다. 또한, θ값이 업데이트 될 때, Q에 대한 예측값만 업데이트되고 optimal Q값은 고정되게 되는 효과가 발생된다.
위의 수학식 19에 따라 본 발명의 제8확장예에 따른 자연어 처리 장치의 강화학습의 알고리즘은 아래와 같이 예시적으로 구성될 수 있다.
Algorithm
Initialize action - value function Q with random weights θ
Initialize target action - value function
Figure 112017128601910-pat00039
with weights
Figure 112017128601910-pat00040

Initialize state s1 = {x1}
for t =1, T do
With probability ε select a random action at,
otherwise select at = maxaQ*(st,a;θ)
Execute action at in 가중치 모듈 and observe reward rt
Set st+1 = st,at

Set
Figure 112017128601910-pat00041

Perform a gradient descent step on (yj - Q(sj,aj;θ))2 with respect to network parameters θ
Every n steps reset
Figure 112017128601910-pat00042

end for
본 발명의 제8확장예에 따른 자연어 처리 장치의 강화학습에서 뉴럴 네트워크를 이용한 강화학습 알고리즘
본 발명의 제8확장예에 따른 자연어 처리 장치의 강화학습의 위 알고리즘 예시에서 타겟과 예측값이 이용하는 뉴럴 네트워크가 각각 달라서 타겟이 뉴럴 네트워크의 weight 업데이트에 의해 변동되지 않는 효과가 발생된다. 타겟이 고정되게 되므로 강화학습이 제대로 작동하게 된다. 또한, 특정 단계마다 타겟의 뉴럴 네트워크도 함께 업데이트 되므로 타겟이 업데이트 되지 않은 채로 오랫동안 고정되는 문제도 함께 해결될 수 있다.
위 본 발명의 제4,5,6,7,8확장예에 따른 자연어 처리 장치의 강화학습에서 reward는 시간 t+1의 입력 데이터에 대한 감성 분석값으로 처리되는 것으로 기재되었다. 하지만 본 발명의 범위는 이에 한정되지 않으며, 시간 t+1의 입력 데이터가 입력되는 시간이 얼마나 짧은지, 시간 t+1의 입력 데이터가 얼마나 길게 입력 되는지 등을 강화학습의 reward로 할 수 있다.
[ 변형예 ]
본 발명의 변형예에서는 가중치 모듈(5)의 기능이 도메인 매칭 장치(3) 내에 포함되도록 구성될 수 있다. 도 14는 본 발명의 변형예에 따른 자연어 처리 장치의 신호 흐름을 도시한 것이다. 도 14에 도시된 바와 같이, 본 발명의 변형예에 따르면 가중치 모듈(5)의 기능이 도메인 매칭 장치(3) 내에 포함되도록 구성되어, 시간 t의 도메인 매칭 장치(3)에서 가중치가 생성되어 시간 t+1의 도메인 매칭 장치(3)에 송신하도록 구성될 수 있다. 본 발명의 변형예에 따라 도메인 매칭 장치(3)에서 생성되는 가중치는 본 발명의 제1,2,3확장예의 가중치를 포함할 수 있다.
본 발명의 변형예에 따라 가중치 모듈(5)의 기능이 도메인 매칭 장치(3) 내에 포함되는 경우의 강화학습은 도 15, 16과 같이 구성될 수 있다. 도 15, 16은 본 발명의 변형예에 따른 자연어 처리 장치의 강화학습의 신호 흐름을 도시한 모식도이다. 도 15, 16에 도시된 바와 같이, 본 발명의 변형예에 따른 자연어 처리 장치의 강화학습은 시간 t의 자연어 처리 장치에 구성되는 도메인 매칭 장치(3)를 Agent로 하고, 도메인 매칭 장치(3)에서 생성되는 도메인의 매칭을 Agent의 Action0으로, 시간 t의 입력 데이터(200)를 State0로, 시간 t+1의 입력 데이터(200)를 센티멘탈 분석 모듈(6)이 감성 분석하여 생성하는 감성 분석값을 Reward1로 하는 강화학습 알고리즘이 구성될 수 있다. 이후 시간 t+1의 입력 데이터(200)를 State1로 다시 강화학습 사이클을 시작할 수 있다. 전체 environment에는 응답 모듈(4)의 각각의 특정 도메인 파이프라인에 포함되는 질문 데이터 세트와 각 시간의 입력 데이터(200)가 포함될 수 있다.
멀티 도메인 자연어 처리를 위한 도메인 매칭 방법
본 발명의 일실시예에 따른 멀티 도메인 자연어 처리를 위한 도메인 매칭 방법에 있어서, 도 17은 본 발명의 일실시예에 따른 멀티 도메인 자연어 처리를 위한 자연어 처리 장치의 도메인 매칭 방법을 도시한 흐름도이다. 도 17에 도시된 바와 같이, 본 발명의 일실시예에 따른 도메인 매칭 방법은, 구분 단계(S10), 도메인 스코어 생성 단계(S11), 매칭 단계(S12)를 포함할 수 있다.
구분 단계(S10)는 구분 모듈(2)이 입력 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)와 의미구(intent)로 구분하는 단계이다. 구분 단계에 의해 입력 데이터는 단어 또는 단어의 조합(어구 정보)으로 구분될 수 있다.
도메인 스코어 생성 단계(S11)는 도메인 매칭 장치(3)가 상기 구분 모듈(2)에서 수신한 벡터화 된 어구 정보를 토대로 각각의 특정 도메인 파이프라인(40)의 질문 데이터 세트와의 유사도를 산출하여 도메인 스코어를 생성하는 단계이다.
매칭 단계(S12)는 각각의 도메인 파이프라인 중 도메인 스코어가 가장 높은 도메인으로 입력 데이터를 매칭하는 단계이다.
본 발명의 일실시예에 따른 도메인 매칭 방법에 따르면, 입력 데이터를 수신하여 각각의 특정 도메인 파이프라인에 할당하는 작업의 계산량이 매우 적어지고 처리 속도가 향상되는 효과가 발생된다.
도 18은 본 발명의 일실시예에 따른 도메인 매칭 방법의 각 단계별 결과 예시를 도시한 것이다. 도 18에 따르면, S10에서는 "강남역으로 양념치킨 배달 가능해요?"와 같은 입력 데이터가 형태소 분석으로 '강남역', '양념치킨', '배달', '가능'와 같은 어구로 분절되고, S11에서 도메인 매칭 장치(3)는 적어도 하나의 어구 정보에 대해 어떤 특정 도메인 파이프라인에 얼마나 특화되어 있는지에 대한 점수인 도메인 스코어를 계산하여 '음식 배달'=1, '의류 주문'=0.5, '날씨'=0.3, '시간'=0.2 등으로 생성하게 된다. S12에서 도메인 매칭 장치(3)는 가장 높거나 특정 조건을 만족하는 도메인 스코어에 매칭되는 특정 도메인 파이프라인인 "음식 배달" 도메인 파이프라인에 해당 입력 데이터(200)를 매칭하게 된다.
본 발명의 일실시예에 따르면 S11의 도메인 스코어 계산에 입력 데이터와 각각의 특정 도메인 파이프라인에 구성되는 질문 데이터 세트와의 유사도를 이용할 수 있다.
[ 제1확장예 ]
본 발명의 일실시예에 따른 멀티 도메인 자연어 처리를 위한 도메인 매칭 방법의 제1확장예와 관련하여, 도 19는 본 발명의 제1확장예에 따른 도메인 매칭 방법을 도시한 흐름도이다. 도 19에 도시된 바와 같이, 본 발명의 제1확장예에 따른 도메인 매칭 방법은 S11 이전에 가중치 생성 단계(S10')를 더 포함할 수 있다. 또한 도메인 스코어 생성 단계인 S11는 도메인 스코어를 산출하는데 있어서 추가적으로 가중치를 더 적용할 수 있도록 구성될 수 있다(S11').
도메인 매칭 장치는 도메인 스코어를 계산하는 S11 단계에서 도메인의 매칭에 관한 가중치를 도메인 스코어의 계산에 적용하는 가중치를 생성하기 위한 가중치 생성 단계(S10')를 S11' 이전에 수행할 수 있고, 이러한 가중치를 시계열적으로 업데이트하는 가중치 모듈과 연결될 수 있다.
가중치 생성 단계(S10')에서 가중치는 가중치 모듈(5) 또는 시간 t-1의 도메인 매칭 장치(3)가 생성하여 시간 t의 도메인 매칭 장치(3)에 제공하는 weight를 의미할 수 있다. 가중치 생성 단계(S10')에서는 가중치를 생성하여 S11'에 이용할 수 있다. S11에서 가중치를 적용하는 것은 시간 t의 도메인 매칭 장치(3)에서 산출된 도메인 스코어 또는 특정 도메인에 대한 정보를 시간 t+1의 도메인 매칭 장치(3)에서의 도메인 스코어 또는 특정 도메인의 매칭에 적용하는 것이다.
S10'의 가중치의 산출 방법으로, 시간 t에 입력된 입력 데이터가 매칭된 도메인의 도메인 스코어가 시간 t+1의 입력 데이터에 대한 도메인 스코어에 영향을 주는 것으로서, 가까운 시간 내에 입력 데이터가 연속적으로 입력될수록 특정 도메인의 도메인 스코어에 양의 가중치를 더 주게 되고, 시간이 지날수록 이러한 양의 가중치는 저감되며, 다른 특정 도메인의 도메인 스코어가 더 높아서 다른 도메인으로 매칭되어야 하는 경우 음의 가중치를 주게 되는 방법으로 구성될 수 있다. 즉, 가중치는 입력 데이터가 입력되는 시간차에 따라 도메인이 유지될 확률을 의미할 수 있다.
[ 제2확장예 ]
일련의 입력 데이터가 들어오고 있는 상황에서, 본 발명의 제2확장예에 따른 도메인 매칭 방법에서, 가중치 모듈(5)은 앞서 들어온 입력 데이터를 매칭한 도메인에 대해서 도메인 매칭 장치(3)가 가중치를 부여하도록 구성될 수 있다. 현재 입력 데이터, 즉 i번째 입력 데이터를 x(i)이라고 했을 때, x(i-1), x(i-2), x(i-3) … x(i-M) 가 각각 할당된 도메인이 모두 Dk로 동일하면 이는 하나의 도메인에서 M개의 입력 데이터가 연속되었다고 볼 수 있으며, 이에 따라 도메인 매칭 장치(3)는 가중치인 W(Dk, x(i))를 유사도 방식에서 산출한 P(Dk|x)에 곱하여 도메인 매칭을 유지할 수 있다.
도 20은 본 발명의 제2확장예에 따른 도메인 매칭 방법을 도시한 흐름도이다. 도 20에 도시된 바와 같이, 본 발명의 제2확장예에 따른 도메인 매칭 방법은 구분 단계(S10), 가중치 생성 단계(S20), 도메인 스코어 계산 단계(S21), 도메인 유지 여부 판정 단계(S22), 도메인 유지 단계(S23), 도메인 스코어 계산 단계(S24), 도메인 매칭 단계(S25)를 포함할 수 있다.
구분 단계(S10)는 구분 모듈(2)이 입력 데이터(200)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)와 의미구(intent)로 구분하는 단계이다. 구분 단계에 의해 입력 데이터는 단어 또는 단어의 조합(어구 정보)으로 구분될 수 있다.
가중치 생성 단계(S20)는 현재의 도메인 매칭 방법의 단계를 시간 t라고 가정할 때, 가중치 모듈(5) 또는 도메인 매칭 장치(3)가 직전 동일 도메인 구간의 도메인 스코어를 토대로 시간 t의 도메인 스코어에 적용할 가중치를 생성하는 단계이다. 본 발명의 제2확장예에서 직전 동일 도메인 구간은 t-1의 도메인과 동일한 도메인 파이프라인으로 매칭된 시간 t-1, t-2,..., t-n의 시간 구간을 의미할 수 있다.
도메인 스코어 계산 단계(S21)는 도메인 매칭 장치(3)가 S10에서 수신한 어구 정보를 토대로 산출되는 직전 동일 도메인 구간에 기매칭된 특정 도메인 파이프라인의 질문 데이터 세트와의 유사도와 S20의 가중치를 이용하여 도메인 스코어를 생성하는 단계이다.
도메인 유지 여부 판정 단계(S22)는 시간 t의 도메인 매칭 장치(3)가 도메인을 유지할지 말지에 대해 판정하는 단계이고, S21에서 생성된 도메인 스코어가 기설정된 특정 값 또는 특정 확률의 이상 또는 초과인 경우 직전 동일 도메인 구간에 기매칭된 특정 도메인 파이프라인에 재차 매칭되도록 S23으로 분기될 수 있다. 또한, S21에서 생성된 도메인 스코어가 기설정된 특정 값 또는 특정 확률의 미만 또는 이하인 경우 직전 동일 도메인 구간에 기매칭된 특정 도메인 파이프라인이 아닌 다른 특정 도메인 파이프라인에 매칭되도록 S24로 분기될 수 있다.
도메인 유지 단계(S23)는 S21에서 생성된 도메인 스코어가 기설정된 특정 값 또는 특정 확률의 이상 또는 초과인 경우, 직전 동일 도메인 구간에 기매칭된 특정 도메인 파이프라인에 재차 매칭되도록 도메인 매칭 장치(3)가 도메인을 유지하는 단계이다.
도메인 스코어 계산 단계(S24)는 S21에서 생성된 도메인 스코어가 기설정된 특정 값 또는 특정 확률의 미만 또는 이하인 경우, 직전 동일 도메인 구간에 기매칭된 특정 도메인 파이프라인이 아닌 다른 특정 도메인 파이프라인에 매칭되도록 도메인 매칭 장치(3)가 S10에서 수신한 어구 정보를 토대로 나머지 특정 도메인 파이프라인의 질문 데이터 세트와의 유사도를 산출하고, 이러한 유사도와 S20의 가중치를 이용하여 각각의 나머지 특정 도메인 파이프라인에 대한 도메인 스코어를 계산하는 단계이다.
도메인 매칭 단계(S25)는 각각의 나머지 특정 도메인 파이프라인 중 도메인 스코어가 가장 높은 도메인으로 입력 데이터를 매칭하는 단계이다. 기매칭된 도메인이 다른 도메인으로 전이되는 단계이다.
이와 같은 방식을 적용하면, 예를 들어, 치킨 배달 도메인으로 분류되는 입력 데이터를 처리하는 도중(ex. 파닭은 얼마에요? / 황금올리브 쿠폰 적용 되나요?) 말뭉치 유사도만으로 특정 도메인을 판정하기 어려운 입력 데이터(ex. 그래서 몇시까지 되요? / 얼마냐구요?)가 입력되더라도 이를 기존에 처리하고 있던 도메인으로 분류하여 일관적인 주제의 대화로 수렴시키는 것이 가능해지는 효과가 발생된다.
또한, 입력 데이터를 통해 도메인 파이프라인을 매칭하는데 있어서, 연산량 절감의 효과가 발생된다. 직전의 입력 벡터(벡터화된 입력 데이터)인 x(i-1)이 Dk에 속하는 경우, P(Dk|x(i)) 와 W(Dk, x(i))의 곱이 임계확률(예. 50%)을 넘으면 Dk를 제외한 다른 도메인과 유사도를 산출할 필요 없이 곧바로 x(i-1)을 Dk에 할당할 수 있도록 구성할 수 있는 효과가 발생된다.
[ 제3확장예 ]
일련의 입력 데이터가 들어오고 있는 상황에서, 현재 매칭되어 있는 도메인 파이프라인에서 다른 도메인 파이프라인으로 전이해야 할 상황이 오는 경우, 본 발명의 제3확장예에 따른 도메인 매칭 방법에서, 가중치 모듈(5)은 앞서 들어온 입력 데이터를 매칭한 도메인에서 다른 도메인으로 전이될 확률에 기초해 도메인 매칭 장치(3)에 가중치를 부여하도록 구성될 수 있다. 보다 구체적으로 본 발명의 제3확장예에 따른 도메인 매칭 방법에서 가중치 모듈(5)은, 일련의 입력 데이터가 들어오고 있고 앞서 들어온 입력 데이터가 각각 하나씩의 도메인에 할당되어 있을 때, 직전에 들어온 입력 데이터가 할당된 도메인에서 도메인 집합 내의 도메인으로 전이될 수 있는 확률 분포 테이블(도메인 전이 확률 분포)을 구성하고, 이를 적용하여 각 도메인에 할당될 확률을 계산하도록 구성될 수 있다.
보다 구체적으로, 도 21은 본 발명의 제3확장예에 따른 도메인 매칭 방법을 도시한 흐름도이다. 도 21에 도시된 바와 같이, 본 발명의 제3확장예에 따른 도메인 매칭 방법은, 도 20의 도메인 스코어 계산 단계인 S24 이전에 전이 확률 적용 단계(S24')를 더 포함할 수 있다.
전이 확률 적용 단계(S24')는 S24에서 이용되는 가중치에 전이 확률이 포함될 수 있도록 가중치에 전이 확률을 적용하는 단계이다. 전이 확률은 특정 도메인에서 다른 도메인으로 전이될 확률에 대한 정보를 의미한다.
이와 같은 방식을 적용하면, 도메인의 전환이 일어나는 시점에서 도메인 간의 전이에 대한 확률인 도메인 전이 확률을 기반으로, 이전 입력 데이터의 도메인으로부터 전이될 확률이 높은 도메인으로 다음 입력 데이터를 분류할 수 있는 확률을 곱하여 도메인 스코어를 결정할 수 있다. 예를 들어, 영화 이야기를 나누다가 연예인 이야기로 도메인이 전이될 확률은 높지만, 영화 이야기를 나누다가 치킨 이야기로 도메인이 전이될 확률은 낮다는 것을 도메인 스코어의 계산에 적용할 수 있다. 도메인 전이 확률은 과거의 도메인 전이에 관한 데이터를 기반으로 계산될 수 있고, 입력 데이터의 입력 시간차에 따라 달라질 수 있다.
또한, 도메인이 기존의 Dk에서 다음 도메인 Dj로 넘어가는 시점에서, Dj를 계산하기 위해 Dk를 제외한 모든 도메인과 유사도를 구할 필요 없이, Dk와의 도메인 전이 확률이 높은 도메인들을 먼저 계산하는 것으로 계산량을 감축시킬 수 있다.
[ 제4확장예 ]
일련의 입력 데이터가 들어오고 있는 상황에서, 본 발명의 제4확장예에 따른 도메인 매칭 방법의 가중치 모듈(5)은 앞서 들어온 입력 데이터를 매칭한 도메인에서 다른 도메인으로 전이될 확률에 기초해 가중치를 부여하도록 구성되는 동시에, 해당 가중치에 강화학습(Reinforcement Learning)을 수행하여 사용자의 반응에 따라 가중치가 업데이트 되도록 구성될 수 있다. 강화 학습에서 이용될 보상으로는 도메인 매칭 장치(3)의 특정 도메인 파이프라인(40)의 매칭에 의해 출력되는 시간 t의 출력 데이터(201)에 대한 사용자의 반응, 즉 시간 t의 출력 데이터(201)를 사용자가 수신한 뒤에 재차 입력되는 시간 t+1의 입력 데이터(200)의 감성 분석값이 이용될 수 있다.
보다 구체적으로, 도 22는 본 발명의 제4확장예에 따른 도메인 매칭 방법을 도시한 흐름도이다. 도 22에 도시된 바와 같이, 도 17의 도메인 매칭 단계(S12) 이후에 감성분석 단계(S40), 강화학습 단계(S41)를 더 포함할 수 있다.
감성분석 단계(S40)는 도메인 매칭 단계(S12) 이후에 매칭된 도메인 파이프라인에서 출력 데이터가 출력된 이후에 사용자가 입력한 새로운 입력 데이터의 감성분석을 수행하여 감성 분석값을 생성하는 단게이다.
강화학습 단계(S41)는 S40의 감성 분석값을 reward로 하고, 도메인 매칭 장치(3)를 agent, 도메인 스코어를 action으로 하여, 특정 어구 정보에 대한 도메인 스코어를 감성 분석값에 따라 업데이트하는 단계이다. 예를 들어, 새로운 입력 데이터의 감성이 "좋음"으로 분류되는 경우 S10의 입력 데이터의 어구 정보에 대해서는 S12에서 매칭된 도메인에 대해 높은 가중치가 부여되도록 도메인 매칭 장치(3)의 도메인 스코어 산출 방법이 업데이트 될 수 있다. 또한, 예를 들어, 새로운 입력 데이터의 감성이 "나쁨"으로 분류되는 경우 S10의 입력 데이터의 어구 정보에 대해서는 S12에서 매칭된 도메인에 대해 낮은 가중치가 부여되도록 도메인 매칭 장치(3)의 도메인 스코어 산출 방법이 업데이트 될 수 있다.
도 23은 본 발명의 제4확장예에 따른 도메인 매칭 방법의 다른 예를 도시한 흐름도이다. 도 23에 도시된 바와 같이, 본 발명의 제4확장예에 따른 도메인 매칭 방법의 강화학습에서, 강화학습 단계(S41)는 S40의 감성 분석값을 reward로 하고, 가중치 모듈(5)을 agent, 가중치를 action으로 하여, 특정 어구 정보에 대한 가중치를 감성 분석값에 따라 업데이트하도록 구성될수도 있다. 예를 들어, 새로운 입력 데이터의 감성이 "좋음"으로 분류되는 경우 S10의 입력 데이터의 어구 정보에 대해서는 S12에서 매칭된 도메인에 대해 높은 가중치가 부여되도록 가중치 모듈(5)의 가중치 산출 방법이 업데이트 될 수 있다. 또한, 예를 들어, 새로운 입력 데이터의 감성이 "나쁨"으로 분류되는 경우 S10의 입력 데이터의 어구 정보에 대해서는 S12에서 매칭된 도메인에 대해 낮은 가중치가 부여되도록 가중치 모듈(5)의 가중치 산출 방법이 업데이트 될 수 있다.
이상에서는 설명의 편의를 위해 입력 데이터가 입력된 뒤에 도메인 매칭 장치(3)가 도메인을 매칭하여 특정 도메인 파이프라인(40)에 입력 데이터를 할당하는 것으로 기재하였으나, 도 24에 도시된 바와 같이 순서가 바뀌는 것을 본 발명의 범위에 포함하지 않는 것은 아니다. 도 24는 본 발명의 변형예에 따른 자연어 처리 장치의 신호 흐름을 도시한 모식도이다. 도 24에 도시된 바와 같이, 구분 모듈에 의해 어구 정보로 구분된 입력 데이터(200)를 각각의 도메인 파이프라인(40)이 직접 받은 뒤, 각각의 도메인 파이프라인(40)에서 각각 출력 데이터를 생성하고, 도메인 매칭 장치(3)에서 복수의 출력 데이터를 rating하거나 ranking하는 등의 방법으로 선별하여 하나의 출력 데이터를 선택하도록 구성될 수 있다.
이상에서는 설명의 편의를 위해 챗봇을 위주로 설명하였으나, 본 발명의 범위는 챗봇에만 국한되는 것이 아니고, 음성 분석(음성 봇)을 위한 인공지능 모듈, 자연어 분석을 위한 인공지능 모듈이나 문장 생성을 위한 Generative 인공지능 모듈 등의 자연어 처리 장치에 본 발명이 적용되는 것이 본 발명의 범위에 포함될 수 있다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.
본 설명의 일부는 정보 상 연산의 기호 표현 및 알고리즘에 관한 본 발명의 실시예들을 기술한다. 이러한 알고리즘적 설명 및 표현은, 일반적으로 그들의 작업의 핵심을 효율적으로 다른 당업자에게 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용된다. 이러한 동작은 기능적, 연산적, 또는 논리적으로 설명되지만, 컴퓨터나 이와 동등한 전기 회로, 마이크로코드 등에 의해 구현될 것으로 이해된다. 나아가, 또한 이것은 모듈로서의 이러한 동작의 배열을 나타내기 위해, 때때로 일반성의 상실 없이 편리하게 입증된다. 상기 기술된 동작 및 그들의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합 내에서 구현될 수 있다.
여기서 기술된 임의의 단계, 동작, 또는 프로세스는, 하나 이상의 하드웨어 또는 소프트웨어 모듈과 함께 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독 가능 매체로 구성되는 컴퓨터 프로그램 제품과 함께 구현되고, 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 공정, 단계, 또는 동작을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.
또한, 본 발명의 실시예들은, 여기서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이들 장치는 요구되는 목적을 위해 특별히 제작될 수 있고/있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반적-목적의 연산 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 유형의 컴퓨터 판독가능 저장 매체 또는 전자 명령어를 저장하기 위해 적합한 임의의 유형의 미디어 내에 저장될 수 있고, 컴퓨터 시스템 버스에 결합될 수 있다. 나아가, 본 명세서에 참조되는 임의의 연산 시스템은 단일 프로세서를 포함할 수 있거나, 증가한 연산 능력을 위한 다중 프로세서 디자인을 채택한 구조가 될 수 있다.
마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.
1: 자연어 처리 장치
2: 구분 모듈
3: 도메인 매칭 장치
4: 응답 모듈
5: 가중치 모듈
6: 센티멘탈 분석 모듈
21: NLP 모듈
22: 벡터화 모듈
40: 도메인 파이프라인
200: 입력 데이터
201: 출력 데이터

Claims (3)

  1. 입력 데이터를 일반 문자열 형태로 입력받고, 상기 입력 데이터를 구분하여 단어 또는 단어 조합으로 구성되는 어구 정보를 생성하는 구분 모듈; 및
    상기 어구 정보와 질문 데이터 세트를 토대로 특정 도메인에 대한 출력 데이터를 생성하는, 복수개의 도메인에 대한 복수개의 도메인 파이프라인;
    을 포함하는 멀티 도메인의 자연어 처리를 수행하기 위한 자연어 처리 장치의 도메인 매칭을 위한 도메인 매칭 장치에 있어서,
    상기 어구 정보를 어떤 도메인 파이프라인에 매칭하는 것이 적합할지에 대한 정보인 도메인 스코어를 계산하는 도메인 스코어 계산 모듈;
    타 도메인으로의 전이 확률을 기초로 가중치를 생성하고, 상기 도메인 스코어 계산 모듈의 도메인 스코어 계산에 상기 가중치를 제공하는 가중치 모듈; 및
    상기 도메인 스코어가 가장 높은 도메인에 관련된 상기 도메인 파이프라인에 상기 어구 정보를 매칭하는 도메인 매칭 모듈;
    을 포함하며,
    상기 도메인 스코어의 계산은, 상기 어구 정보와 상기 질문 데이터 세트와의 유사도 및 상기 가중치를 기초로 수행되고,
    상기 도메인 스코어 계산 모듈은, 상기 어구 정보를 상태(state), 상기 도메인 매칭 장치를 에이전트(agent), 상기 도메인 파이프라인의 매칭을 액션(action), 상기 출력 데이터에 따른 새로운 입력 데이터에 대한 정보를 보상(reward)로 하는 강화학습에 의해 업데이트되며,
    상기 어구 정보와 매칭된 상기 복수개의 도메인 파이프라인 중 하나의 도메인 파이프라인이 상기 출력 데이터를 생성하도록 구성되는 것을 특징으로 하는,
    멀티 도메인의 자연어 처리를 위한 도메인 매칭 장치.
  2. 입력 데이터를 일반 문자열 형태로 입력받고, 상기 입력 데이터를 구분하여 단어 또는 단어 조합으로 구성되는 어구 정보를 생성하는 구분 모듈; 및
    상기 어구 정보와 질문 데이터 세트를 토대로 특정 도메인에 대한 출력 데이터를 생성하는, 복수개의 도메인에 대한 복수개의 도메인 파이프라인;
    을 포함하는 멀티 도메인의 자연어 처리를 수행하기 위한 자연어 처리 장치의 도메인 매칭을 위한 도메인 매칭 장치에 의해 수행되는 도메인 매칭 방법에 있어서,
    상기 도메인 매칭 장치의 일구성인 가중치 모듈이, 타 도메인으로의 전이 확률을 기초로 가중치를 생성하는 가중치 단계;
    상기 도메인 매칭 장치의 일구성인 도메인 스코어 계산 모듈이, 상기 어구 정보를 어떤 도메인 파이프라인에 매칭하는 것이 적합할지에 대한 정보인 도메인 스코어를 계산하는 도메인 스코어 계산 단계;
    상기 도메인 매칭 장치의 일구성인 도메인 매칭 모듈이, 상기 도메인 스코어가 가장 높은 도메인에 관련된 상기 도메인 파이프라인에 상기 어구 정보를 매칭하는 도메인 매칭 단계;
    을 포함하며,
    상기 도메인 스코어의 계산은, 상기 어구 정보와 상기 질문 데이터 세트와의 유사도 및 상기 가중치를 기초로 수행되고,
    상기 도메인 스코어 계산 모듈은, 상기 어구 정보를 상태(state), 상기 도메인 매칭 장치를 에이전트(agent), 상기 도메인 파이프라인의 매칭을 액션(action), 상기 출력 데이터에 따른 새로운 입력 데이터에 대한 정보를 보상(reward)로 하는 강화학습에 의해 업데이트되며,
    상기 어구 정보와 매칭된 상기 복수개의 도메인 파이프라인 중 하나의 도메인 파이프라인이 상기 출력 데이터를 생성하도록 구성되는 것을 특징으로 하는,
    멀티 도메인의 자연어 처리를 위한 도메인 매칭 방법.
  3. 삭제
KR1020170178886A 2017-12-22 2017-12-22 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법 KR101851793B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170178886A KR101851793B1 (ko) 2017-12-22 2017-12-22 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170178886A KR101851793B1 (ko) 2017-12-22 2017-12-22 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170058838A Division KR101851787B1 (ko) 2017-05-11 2017-05-11 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101851793B1 true KR101851793B1 (ko) 2018-04-24

Family

ID=62084903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170178886A KR101851793B1 (ko) 2017-12-22 2017-12-22 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101851793B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220037297A (ko) 2020-09-17 2022-03-24 고려대학교 산학협력단 대화 수행 시스템, 장치 및 방법
US11347966B2 (en) 2018-07-20 2022-05-31 Samsung Electronics Co., Ltd. Electronic apparatus and learning method of electronic apparatus
US11443117B2 (en) 2019-11-19 2022-09-13 International Business Machines Corporation Contextual question answering using human chat logs
US11551143B2 (en) 2019-11-21 2023-01-10 International Business Machines Corporation Reinforcement learning for chatbots

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101309042B1 (ko) 2012-09-17 2013-09-16 포항공과대학교 산학협력단 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101309042B1 (ko) 2012-09-17 2013-09-16 포항공과대학교 산학협력단 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
W. Zhang et al., A topic clustering approach to finding similar questions from large question and answer archives, www.plosone.org, vol.9 issue 3, 2014 march

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347966B2 (en) 2018-07-20 2022-05-31 Samsung Electronics Co., Ltd. Electronic apparatus and learning method of electronic apparatus
US11443117B2 (en) 2019-11-19 2022-09-13 International Business Machines Corporation Contextual question answering using human chat logs
US11551143B2 (en) 2019-11-21 2023-01-10 International Business Machines Corporation Reinforcement learning for chatbots
KR20220037297A (ko) 2020-09-17 2022-03-24 고려대학교 산학협력단 대화 수행 시스템, 장치 및 방법

Similar Documents

Publication Publication Date Title
KR101851787B1 (ko) 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법
Yao et al. An improved LSTM structure for natural language processing
US10909152B2 (en) Predicting intent of a user from anomalous profile data
US10891956B2 (en) Customizing responses to users in automated dialogue systems
US10540965B2 (en) Semantic re-ranking of NLU results in conversational dialogue applications
Kim et al. Two-stage multi-intent detection for spoken language understanding
KR101851793B1 (ko) 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법
US9269354B2 (en) Semantic re-ranking of NLU results in conversational dialogue applications
KR101715118B1 (ko) 문서 감정 분류용 딥러닝 인코딩 장치 및 방법.
US9361884B2 (en) Communicating context across different components of multi-modal dialog applications
CN110457708B (zh) 基于人工智能的词汇挖掘方法、装置、服务器及存储介质
KR101851788B1 (ko) 텍스트 감성 분석의 감정사전 업데이트 장치 및 방법
JP2021152963A (ja) 語義特徴の生成方法、モデルトレーニング方法、装置、機器、媒体及びプログラム
CN104484815A (zh) 基于模糊本体面向产品方面的情感分析方法及系统
KR101851790B1 (ko) 질문 데이터 세트 확장 장치 및 방법
KR101834564B1 (ko) 도메인 특화 용어를 이용한 도메인 매칭 장치 및 방법
US20230350929A1 (en) Method and system for generating intent responses through virtual agents
Noaman et al. Enhancing recurrent neural network-based language models by word tokenization
Fathullah et al. Ensemble distillation approaches for grammatical error correction
Seilsepour et al. Self-supervised sentiment classification based on semantic similarity measures and contextual embedding using metaheuristic optimizer
KR101851795B1 (ko) 도메인 특화 용어를 이용한 감정사전 업데이트 장치 및 방법
Khassanov et al. Enriching rare word representations in neural language models by embedding matrix augmentation
Sheikhan et al. Structure and weights optimisation of a modified Elman network emotion classifier using hybrid computational intelligence algorithms: a comparative study
Naulla et al. Predicting the Next Word of a Sinhala Word Series Using Recurrent Neural Networks
KR101851794B1 (ko) 타겟 어구의 감정 스코어 생성 장치 및 방법

Legal Events

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