KR101851790B1 - 질문 데이터 세트 확장 장치 및 방법 - Google Patents

질문 데이터 세트 확장 장치 및 방법 Download PDF

Info

Publication number
KR101851790B1
KR101851790B1 KR1020170178791A KR20170178791A KR101851790B1 KR 101851790 B1 KR101851790 B1 KR 101851790B1 KR 1020170178791 A KR1020170178791 A KR 1020170178791A KR 20170178791 A KR20170178791 A KR 20170178791A KR 101851790 B1 KR101851790 B1 KR 101851790B1
Authority
KR
South Korea
Prior art keywords
similar
similarity
domain
phrase
generation module
Prior art date
Application number
KR1020170178791A
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 KR1020170178791A priority Critical patent/KR101851790B1/ko
Application granted granted Critical
Publication of KR101851790B1 publication Critical patent/KR101851790B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N99/005

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 질문 데이터 세트 확장 장치 및 방법에 관한 것이다. 이를 위하여, 기설정된 질문 데이터를 일반 문자열 형태로 입력받고, 상기 기설정된 질문 데이터를 개체(entity)와 의미구(intent)로 구분하며, 상기 기설정된 질문 데이터를 벡터값으로 처리하는 구분 모듈; 벡터값으로 처리된 상기 기설정된 질문 데이터를 수신하고, 상기 기설정된 질문 데이터에서 개체 및 의미구 중 적어도 하나의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 모듈; 및 상기 유사어구 정보를 이용하여 상기 기설정된 질문 데이터의 문장과 유사한 적어도 하나 이상의 문장을 생성하는 유사문장 생성 모듈;을 제공할 수 있다.

Description

질문 데이터 세트 확장 장치 및 방법{Question Data Set Extension and Method}
본 발명은 질문 데이터 세트 확장 장치 및 방법에 관한 것이다.
현재 대부분의 회사가 고객지원 서비스 부서의 인력과 인프라의 부족으로 고객들에게 만족할만한 서비스를 제공하지 못하는 상태이다. 최근 챗봇의 등장으로 고객지원 서비스의 품질 향상 해결하기 위해, 챗봇을 도입해 고객 응대에 필요한 인력을 줄임과 동시에 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) 등의 적어도 하나 이상의 모델이 이용되게 된다.
하지만, 이러한 챗봇은 단순히 코드 몇 줄을 심거나 API를 제공하여 구현할 수 있는 서비스가 아니다. 특정 회사에서 챗봇을 도입하려면 단순히 서비스 integration으로 단번에 끝나는 것이 아니라. 기존에 쌓여 있던 고객지원 데이터를 챗봇의 인공지능 모듈의 학습에 필요한 데이터로 가공하는 과정이 필요하다.
대한민국 공개특허 제10-2017-0021902호, 페이스북 인크
고객지원 데이터를 챗봇의 인공지능 모듈의 학습에 필요한 데이터로 가공하는 과정에서는 많은 문제가 발생된다. 예를 들어, 각각의 회사들 마다 고객지원 시 발생되는 질문들이 다르고 문제 해결방법이 다르기 때문에 데이터의 형식과 회사별, 업종별로 데이터의 특성이 상당히 차이나는 문제가 있다. 또한, 서비스를 시작한 지 얼마 되지 않는 스타트업과 같은 신규 회사들이나 새롭게 고객지원 서비스를 원하는 회사들은 이러한 고객 지원 데이터 자체가 없는 경우도 많고, 고객 지원 메뉴얼 조차 없는 회사가 많다.
챗봇 회사들의 인공지능 모듈에서, 일정량의 데이터는 챗봇의 인공지능 모듈을 구성하기 위한 필요충분조건이다. 특히, 챗봇의 정확도를 높이기 위해서는 학습에 필요한 데이터 형식을 맞춰서 학습시키는 것이 필수적이다. 헌데, 각각의 회사 데이터에 맞게 사후적으로 인공지능 모듈을 수정하기엔 다시 인공지능 모듈의 블랙박스 같은 특징 때문에 또다시 검증 과정이 필요한 문제가 있다. 또한, 데이터가 없을 경우엔 인공지능 엔진 자체를 사용할 수 없는 상황이 빈번하게 일어난다.
이전의 챗봇 회사들은 이와 같은 문제를 해결하고자, 데이터를 직접 가공하거나 각각의 회사별 도메인별 Entity의 쓰일 말뭉치(corpus)를 사람이 수동으로 제작, 태깅(tagging)해서 해당 도메인에 맞는 entity dictionary를 만들고 있었다. 하지만, 이와 같은 해결방식에는 확장성이 없고, 인력을 감소시키고자 도입한 챗봇에 또 다른 인력이 투입되어서 데이터를 가공해야 하는 부담이 더 발생되는 문제가 있었다.
따라서 본 발명의 목적은, 특정 도메인에 대한 챗봇의 트레이닝 세트를 제너레이션하기 위한 장치 및 방법을 제공하는데에 있다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 생성하는 장치에 있어서, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 모듈; 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 모듈; 및 상기 유사어구 정보를 이용하여 상기 질문 데이터의 문장과 유사한 적어도 하나 이상의 유사문장을 생성하는 유사문장 생성 모듈;을 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus 또는 의미 네트워크(Semantic Network)를 이용하여 생성되며, 상기 유사문장은 상기 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트로 적용되는 것을 특징으로 하는, 챗봇의 트레이닝 세트 생성 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트를 생성하는 장치에 있어서, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 챗봇 사용자의 질문 데이터를 개체(entity)와 의미구(intent)로 구분하며, 상기 챗봇 사용자의 질문 데이터를 벡터값으로 처리하는 구분 모듈; 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 모듈; 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 모듈; 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도를 기초로 도메인 유사어구를 생성하는 도메인 유사어구 생성 모듈; 및 상기 도메인 유사어구 정보를 이용하여 상기 챗봇 사용자의 질문 데이터의 문장과 유사한 적어도 하나 이상의 문장인 도메인 유사문장을 생성하는 도메인 유사문장 생성 모듈;을 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus 또는 의미 네트워크(Semantic Network)를 이용하여 생성되며, 상기 도메인 유사문장은 상기 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트로 적용되는 것을 특징으로 하는, 챗봇의 트레이닝 세트 생성 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 챗봇의 트레이닝 세트 생성 장치에 의해 트레이닝 세트를 생성하는 방법에 있어서, 상기 트레이닝 세트 생성 장치의 일구성인 구분 모듈이, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 질문 데이터를 개체(entity) 또는 의미구(intent)로 구분하며, 상기 질문 데이터를 벡터값으로 처리하는 구분 단계; 상기 트레이닝 세트 생성 장치의 일구성인 유사어구 생성 모듈이, 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 단계; 및 상기 트레이닝 세트 생성 장치의 일구성인 유사문장 생성 모듈이, 상기 유사어구 정보를 이용하여 상기 질문 데이터의 문장과 유사한 적어도 하나 이상의 유사문장을 생성하는 유사문장 생성 단계;을 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus 또는 의미 네트워크(Semantic Network)를 이용하여 생성되며, 상기 유사문장은 상기 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트로 적용되는 것을 특징으로 하는, 챗봇의 트레이닝 세트 생성 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 챗봇의 트레이닝 세트 생성 장치에 의해 트레이닝 세트를 생성하는 방법에 있어서, 상기 트레이닝 세트 생성 장치의 일구성인 구분 모듈이, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 챗봇 사용자의 질문 데이터를 개체(entity)와 의미구(intent)로 구분하며, 상기 챗봇 사용자의 질문 데이터를 벡터값으로 처리하는 구분 단계; 상기 트레이닝 세트 생성 장치의 일구성인 유사어구 생성 모듈이, 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 단계; 상기 트레이닝 세트 생성 장치의 일구성인 도메인 스코어 생성 모듈이, 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 단계; 상기 트레이닝 세트 생성 장치의 일구성인 도메인 유사어구 생성 모듈이, 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도를 기초로 도메인 유사어구를 생성하는 도메인 유사어구 생성 단계; 및 상기 트레이닝 세트 생성 장치의 일구성인 도메인 유사문장 생성 모듈이, 상기 도메인 유사어구 정보를 이용하여 상기 챗봇 사용자의 질문 데이터의 문장과 유사한 적어도 하나 이상의 문장인 도메인 유사문장을 생성하는 도메인 유사문장 생성 단계;를 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus 또는 의미 네트워크(Semantic Network)를 이용하여 생성되며, 상기 도메인 유사문장은 상기 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트로 적용되는 것을 특징으로 하는, 챗봇의 트레이닝 세트 생성 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 질문 데이터를 수신하여 특정 대답 데이터를 출력하는 챗봇의 인공지능 모듈의 학습을 위한 챗봇의 트레이닝 세트 생성 장치에 의해 트레이닝 세트를 생성하는 방법을 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램에 있어서, 상기 트레이닝 세트 생성 장치의 일구성인 구분 모듈이, 상기 질문 데이터를 일반 문자열 형태로 입력받고, 상기 챗봇 사용자의 질문 데이터를 개체(entity)와 의미구(intent)로 구분하며, 상기 챗봇 사용자의 질문 데이터를 벡터값으로 처리하는 구분 단계; 상기 트레이닝 세트 생성 장치의 일구성인 유사어구 생성 모듈이, 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 단계; 상기 트레이닝 세트 생성 장치의 일구성인 도메인 스코어 생성 모듈이, 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 단계; 상기 트레이닝 세트 생성 장치의 일구성인 도메인 유사어구 생성 모듈이, 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도를 기초로 도메인 유사어구를 생성하는 도메인 유사어구 생성 단계; 및 상기 트레이닝 세트 생성 장치의 일구성인 도메인 유사문장 생성 모듈이, 상기 도메인 유사어구 정보를 이용하여 상기 챗봇 사용자의 질문 데이터의 문장과 유사한 적어도 하나 이상의 문장인 도메인 유사문장을 생성하는 도메인 유사문장 생성 단계;를 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus 또는 의미 네트워크(Semantic Network)를 이용하여 생성되며, 상기 도메인 유사문장은 상기 챗봇의 인공지능 모듈의 학습을 위한 트레이닝 세트로 적용되는 것을 특징으로 하는, 챗봇의 트레이닝 세트 생성 방법을 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 일반 문자열 형태의 질문 데이터를 개체(entity)와 의미구(intent)로 구분하는 구분 모듈; 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 모듈; 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 모듈; 및 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도를 기초로 도메인 유사어구를 생성하는 도메인 유사어구 생성 모듈;을 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus에서의 유사도 또는 의미 네트워크(Semantic Network)에서의 유사도를 이용하며, 기존의 질문 데이터 세트에서 상기 질문 데이터가 분류된 레이블에 생성된 상기 유사문장을 통합하여 질문 데이터 세트를 확장시키는, 질문 데이터 세트 확장 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 구분 모듈이, 일반 문자열 형태의 질문 데이터를 개체(entity)와 의미구(intent)로 구분하는 구분 단계; 유사어구 생성 모듈이, 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 단계; 도메인 스코어 생성 모듈이, 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 단계; 및 도메인 유사어구 생성 모듈이, 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도를 기초로 도메인 유사어구를 생성하는 도메인 유사어구 생성 단계; 를 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus에서의 유사도 또는 의미 네트워크(Semantic Network)에서의 유사도를 이용하며, 기존의 질문 데이터 세트에서 상기 질문 데이터가 분류된 레이블에 생성된 상기 유사문장을 통합하여 질문 데이터 세트를 확장시키는, 질문 데이터 세트 확장 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 구분 모듈이, 일반 문자열 형태의 질문 데이터를 개체(entity)와 의미구(intent)로 구분하는 구분 단계; 유사어구 생성 모듈이, 구분되어 벡터값으로 처리된 상기 질문 데이터를 수신하고, 상기 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 단계; 도메인 스코어 생성 모듈이, 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도 또는 어구 출현 확률을 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 단계; 및 도메인 유사어구 생성 모듈이, 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도를 기초로 도메인 유사어구를 생성하는 도메인 유사어구 생성 단계;를 포함하고, 상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus에서의 유사도 또는 의미 네트워크(Semantic Network)에서의 유사도를 이용하며, 기존의 질문 데이터 세트에서 상기 질문 데이터가 분류된 레이블에 생성된 상기 유사문장을 통합하여 질문 데이터 세트를 확장시키는, 질문 데이터 세트 확장 방법을 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램을 제공하여 달성될 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, 챗봇을 구성할 때 해당 도메인의 질문-대답 데이터가 매우 적다고 하더라도 챗봇의 인공지능 모듈을 충분히 러닝 시킬 수 있는 양의 데이터를 도메인에 specific하게 생성할 수 있는 효과가 발생된다.
둘째, 본 발명의 일실시예에 따르면, 사용자들이 챗봇을 이용하면 이용할수록 챗봇의 인공지능 모듈이 기존의 방식보다 빠르게 도메인 최적화되는 효과가 발생된다.
셋째, 본 발명의 일실시예에 따르면, 취합된 단어 및 phrase의 유사성을 기준으로 고객사가 제공한 데이터를 같은 의미인 여러 형태의 문장의 군집으로 생성할 수 있다. 이는 챗봇을 개발하고자 하는 고객사가 스타트업인 경우, 보유하고 있는 데이터의 양이 매우 적다라는 고질적인 문제를 해결할수 있다. 본 발명의 일실시예에 따르면, 아주 적은 데이터 셋으로 유의미한 결과를 창출해낼 수 있으며 소량의 테스트로도 결과를 극대화할 수 있다. 즉, 전처리를 최소화시키고 고객사가 새로운 질문 각각에 레이블링(Labeling)을 해줘야 하는 필요성을 없애 챗봇 회사와 고객사 모두의 업무 부하를 줄여준다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 챗봇의 기본적인 모듈 구성을 도시한 모식도,
도 2는 일반적인 챗봇 모듈 구성을 구체적으로 도시한 모식도,
도 3은 머신러닝을 이용한 챗봇 모듈 구성을 구체적으로 도시한 모식도,
도 4는 본 발명의 일실시예에 따른 트레이닝 세트 생성 장치와 챗봇 인공지능 모듈과의 관계를 나타낸 모식도,
도 5는 본 발명의 일실시예에 따른 트레이닝 세트 생성 장치를 도시한 모식도,
도 6은 본 발명의 다른 실시예에 따른 트레이닝 세트 생성 장치를 도시한 모식도,
도 7은 본 발명의 일실시예에 따른 트레이닝 세트 생성 방법을 도시한 흐름도,
도 8은 본 발명의 일실시예에 따른 트레이닝 세트 생성 방법의 각 단계별 결과 예시를 도시한 것,
도 9는 본 발명의 제2실시예에 따른 트레이닝 세트 생성 방법을 도시한 흐름도,
도 10은 본 발명의 제2실시예에 따른 트레이닝 세트 생성 방법의 각 단계별 결과 예시를 도시한 것이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
챗봇의 트레이닝 세트 생성 장치
[제1실시예]
도 4는 본 발명의 일실시예에 따른 트레이닝 세트 생성 장치와 챗봇 인공지능 모듈과의 관계를 나타낸 모식도이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 트레이닝 세트 생성 장치(1)는 챗봇 인공지능 모듈(100)에서 사용자의 질문 쿼리 데이터를 제공받거나, 고객사가 제공해주는 기존 Q&A 데이터 세트를 제공받아서 챗봇 인공지능 모듈(100)의 학습에 적용되는 트레이닝 세트를 생성하게 된다. 본 발명의 일실시예에 따른 트레이닝 세트 생성 장치(1)에 따라 챗봇 인공지능 모듈(100)은 적은 데이터 세트로도 특정 도메인에 특징적인 챗봇을 구현할 수 있게 되는 효과가 발생된다.
도 5는 본 발명의 일실시예에 따른 트레이닝 세트 생성 장치를 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 트레이닝 세트 생성 장치(1)는 챗봇을 제작하고자 하는 회사에서 제공되는 기본 질문 데이터(200) 또는 사용자의 실제 질문 데이터(201)가 입력될 수 있고, 구분 모듈(2), 유사어구 생성 모듈(3), 유사문장 생성 모듈(4)을 포함할 수 있다.
구분 모듈(2)은 기본 질문 데이터(200) 또는 사용자의 실제 질문 데이터(201)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)와 의미구(intent)로 구분하는 모듈이다. NLP 모듈(21)은 구체적으로 형태소 분석, 어간 추출, 불용어 추출, TF, TFIDF 등의 기능을 포함할 수 있다. 이후, 벡터화 모듈(22, Sentence2vec나 Word2vec, SyntexNet)에 의해 구분된 개체와 의미구를 벡터값으로 처리하게 된다. 또는 Word2vec가 이용될 수 있고, 구체적으로는 n-gram, 문맥으로부터 단어를 예측하는 CBOW 모델, 또는 단어로부터 문맥을 예측하는 Skip-gram 모델 등이 이용될 수 있다.
유사어구 생성 모듈(3)은 벡터값으로 처리된 개체와 의미구를 통해, 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하고, 해당 어구 정보를 치환할 수 있도록 유사도가 특정 값 이상인 적어도 하나의 유사어구 정보를 생성하게 된다.
이때 어구 정보의 유사도 판단은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 예를 들어, 한국어의 경우, 국립국어원의 General Corpus 등을 이용할 수 있고, 영어는 Brown Corpus 등을 이용할 수 있다.
또는, 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다. 이를 Knowledge-based Similarity라고 할 수 있다. 예를 들어, wordNet을 들 수 있다. wordNet을 활용한 단어와 단어 사이의 유사도 측정은 노드 사이의 최소 거리를 활용하는 Path similarity, 노드의 최소거리 및 최대 깊이를 활용하는 Leacock & Chodorow Similarity, 깊이 및 최소 상위 노드를 활용하는 Wu & Palmer Similarity 등의 방법으로 수행될 수 있다.
문장 생성 모듈(4)은 특정 어구 정보를 대체 혹은 치환할 수 있는 유사어구 정보를 이용하여 입력된 기본 질문 데이터(200) 또는 사용자의 실제 질문 데이터(201)의 문장과 유사한 적어도 하나 이상의 문장을 생성하는 모듈이다. 유사문장 생성 모듈(4)의 유사문장 생성에는 특정 값 이상의 유사도를 가지는 유사어구들만 새로운 유사문장 생성에 이용될 수 있다. 유사문장 생성 모듈(4)은 유사어구 정보를 문법에 맞게 순서를 조정해주고 다양한 문법 규칙에 따라 문장을 다양하게 생성해주는 문법 생성 모듈(41)과, 사용자의 다양한 발화 톤에 따라 다양한 문장을 생성해주는 톤 생성 모듈(42)을 포함할 수 있다. 본 발명의 일실시예에 따르는 유사문장 생성 모듈(4)은 챗봇 인공지능 모듈(100)의 트레이닝 세트를 생성하는 구성이므로, 톤 생성 모듈(42)에서는 챗봇 관리자의 톤이 아닌 사용자들의 다양한 발화 톤으로 문장을 생성해주는 것이 특징이다.
위와 같은 본 발명의 일실시예에 따르면, 학습할 수 있는 질문 데이터의 수가 적은 경우에도 매우 많은 유사 문장을 생성하여 트레이닝 시킬 수 있으므로, 안정적으로 챗봇을 구성할 수 있는 효과가 발생된다.
[제2실시예]
도 6은 본 발명의 다른 실시예에 따른 트레이닝 세트 생성 장치를 도시한 모식도이다. 도 6에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 트레이닝 세트 생성 장치(1)는 기본 질문 데이터(200) 또는 사용자의 실제 질문 데이터(201)를 수신하여 도메인에 특징적인 트레이닝 세트를 생성하기 위해, 유사어구 생성 모듈(3) 외에 도메인 스코어 판정 모듈(31) 및 도메인 유사어구 생성모듈(32)을 더 포함할 수 있고, 도메인 유사문장 생성 모듈(4')과 연결될 수 있다. 이에 따르면 유사어구 생성 모듈(3)에 의해 도메인 유사문장 생성 모듈(4)에서 도메인에 특징적인 도메인 유사어구로 기존 어구를 치환하는 방법으로 새로운 문장들이 생성될 수 있다.
도메인 스코어 판정 모듈(31)은 유사어구 생성 모듈(3)에서 생성된 유사어구가 특정 도메인에 특징적인지 여부를 판단하기 위하여 질문 데이터에서의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus에서의 어구 출현 빈도(또는 어구 출현 확률)를 비교하고, 두 빈도의 차이를 통해 해당 유사어구가 해당 도메인에 얼마나 특징적인 어구인지에 대한 스코어인 도메인 스코어를 판정하는 모듈이다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 어구 출현 확률)를 파악하고, General corpus의 어구 출현 빈도보다 질문 데이터(200,201)에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다. General corpus의 데이터의 양에 따라 어구 출현 빈도 판단의 기준이 될 상호관계의 거리를 i+n, i-n 까지 늘리거나 줄일 수 있다. 여기서 말하는 i는 문장 내 단어의 index 이다. 데이터의 양과 상수 n은 비례할 수 있다.
도메인 유사어구 생성 모듈(32)은 각 어구별로 생성된 도메인 스코어를 가중치로 하여 General corpus로 정해지는 어구의 유사도를 스케일링하고, 스케일링된 유사도를 기초로 도메인 유사어구를 생성하는 모듈이다.
도메인 유사문장 생성 모듈(4')은 특정 어구 정보를 치환할 수 있는 도메인 유사어구 정보를 이용하여 입력된 질문 데이터(200,201)의 문장과 도메인에 특징적으로 유사한 적어도 하나 이상의 도메인 문장을 생성하는 모듈이다.
본 발명의 제1,2실시예에 따르면, 예를 들어, 프랜차이즈 체인본부에서 창업문의를 위한 챗봇을 적용하고자 했을 시, 기존의 창업문의 프로세스는 주로 전화로 하기 때문에, 챗봇에 적용될 label된 데이터 자체가 없을뿐더러, 인공지능 엔진에 넣을 데이터를 가공하려면 일일이 질문과 답변을 수동으로 작성해야 하는 문제를 해결할 수 있게 되는 효과가 발생된다. 챗봇의 정확도가 높아지기 위해선 질문 데이터 세트가 다량으로 있어야 해서 챗봇 회사나 프랜차이즈 체인본부에서 이를 별도로 가공해야 하는데, 데이터의 가공은 업무 부하가 상당하다. 본 발명의 제2실시예에 따르면, 이와 같은 문제를 트레이닝 세트 생성 장치(1)를 통해서 20개의 레이블에 대해서 20개의 질문 데이터 세트만으로도 각각 질문 데이터 세트별로 수백개의 유사 문장을 만들어 낼 수 있고, 테스트 레벨에서 추가적으로 입력되는 질문 데이터 세트를 파악해 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합인 어구를 비교해 기존의 질문 데이터 세트에 통합시키거나, 새로운 질문 데이터 세트 그룹을 도메인 유사어구들을 기반으로 분류해 찾아 낼 수 있게 되는 효과가 발생된다.
또한, 예를 들어, 정부에서 민원서비스에 챗봇을 적용하고자 할 때, 새로 시행되는 법규나 규제에 따라 달라지는 질문과 답변이 생길 수 있다. 기존에 존재하던 데이터와 비교했을 때 그 규모가 작거나 데이터 수가 상대적으로 적을 때, 본 발명의 제1,2실시예에 따르면 새롭게 추가된 label에 질문 데이터 세트를 populate시켜 기존의 질문 데이터 세트와 균형적인 데이터를 만들어, 이를 바탕으로 새로운 질문군에 대한 답변을 올바르게 할 수 있다. 또한, 균형적인 데이터 가공이 가능하기 때문에, 챗봇 인공지능 엔진의 정확도를 향상시킬 수 있다.
챗봇의 트레이닝 세트 생성 방법
[제1실시예]
도 7은 본 발명의 일실시예에 따른 트레이닝 세트 생성 방법을 도시한 흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따른 트레이닝 세트 생성 방법은 구분 단계(S10), 유사어구 생성 단계(S11), 유사문장 생성 단계(S12), 학습 단계(S13)를 포함할 수 있다.
구분 단계(S10)는 기본 질문 데이터(200)와 실제 질문 데이터(201)을 포함한 질문 데이터(200,201)를 일반 문자열 형태(Normal text)로 입력받게 되고, 이렇게 입력받은 일반 문자열 형태를 NLP 모듈(21)에 의해 개체(entity)와 의미구(intent)로 구분하고, 벡터화 모듈(22)에 의해 구분된 개체와 의미구를 벡터값으로 처리하는 단계이다.
유사어구 생성 단계(S11)는 벡터값으로 처리된 개체와 의미구에서 어구 정보를 생성하고, 해당 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 단계이다. 어구 정보의 유사도 판단은 General Corpus를 이용한 유사도를 이용할 수 있다. 이를 Corpus-used Similarity라고 할 수 있다. 또는 의미 네트워크(Semantic network)를 활용한 유사도 측정을 이용할 수 있다.
문장 생성 단계(S12)는 특정 어구 정보를 치환할 수 있는 유사어구 정보를 이용하여 입력된 질문 데이터(200,201)의 문장과 유사한 적어도 하나 이상의 문장인 유사문장을 생성하는 단계이다. 유사문장 생성 단계(S12)에서는 문법 생성 모듈과 톤 생성 모듈에 의해 동일한 의미를 갖는 다양한 형태의 표현이 생성될 수 있다.
학습 단계(S13)는 유사문장을 트레이닝 세트로 하여, 챗봇 인공지능 모듈(100)을 학습시키는 단계이다.
도 8은 본 발명의 일실시예에 따른 트레이닝 세트 생성 방법의 각 단계별 결과 예시를 도시한 것이다. 도 8에 따르면, "창업 비용 얼마나 들어요?"라는 질문 데이터가 트레이닝 세트 생성 방법으로 증식되는 경우, S10에서는 "창업, 비용, 얼마, 들다"로 형태소 분석으로 어구로 분절되고, S20에서는 각각의 어구에 대해 General Corpus 또는 Semantic network 등을 이용하여 "창업"에는 "개업, 사업, 개점, 개원 등"과 같은 유사도가 높은 유사어구를 생성하게 된다. S30에서는 생성된 유사어구를 이용하여 기존 어구를 치환하면서 유사문장을 생성하게 된다. S40에서는 "창업 돈 얼마 하다"와 같은 생성된 복수의 유사문장을 트레이닝 세트로 활용하게 된다.
[제2실시예]
본 발명의 다른 실시예와 관련하여, 도 9는 본 발명의 제2실시예에 따른 트레이닝 세트 생성 방법을 도시한 흐름도이다. 도 9에 도시된 바와 같이, 본 발명의 제2실시예에 따른 트레이닝 세트 생성 방법은 유사어구 생성 단계(S11) 이후에 도메인 스코어 생성 단계(S11-1), 도메인 유사어구 생성 단계(S11-2)를 포함할 수 있다. 도메인 유사어구 생성 단계 이후 도메인 유사문장 생성 단계(S12')를 포함할 수 있다.
도메인 스코어 생성 단계(S11-1)는 S11에서 생성된 유사어구가 특정 도메인에 특징적인지 여부를 질문 데이터에서의 어구 출현 빈도(또는 어구 출현 확률)와 General corpus와의 어구 출현 빈도(또는 어구 출현 확률) 비교를 통해 분석하고, 각각의 어구에 대해 얼마나 도메인에 특징적인지에 대한 정보인 도메인 스코어를 생성하는 단계이다. General corpus 내 각 단어의 좌우 단어를 확인하여 해당 어구가 General corpus에서 나올 수 있는 경우의 수(또는 확률)를 파악하고, General corpus의 어구 출현 빈도(또는 어구 출현 확률)보다 질문 데이터(200,201)에서의 어구 출현 빈도(또는 어구 출현 확률)가 더 높을 경우, 해당 어구는 해당 도메인에 특징적이라고 판정될 수 있다.
도메인 유사어구 생성 단계(S11-2)는 S11-1에서 생성된 각 유사어구별로 생성된 도메인 스코어를 가중치로 하여 유사어구의 유사도를 스케일링하고, 스케일링된 유사도를 기초로 도메인 유사어구를 생성하는 모듈이다. S11-2에서는 도메인 스코어로 스케일링된 유사어구의 유사도에 cut off value를 적용하여 도메인 유사어구를 한정적으로 선정할 수 있다.
도메인 유사문장 생성 단계(S12')에서는 S11-2의 도메인 유사어구를 토대로 특정 어구 정보를 치환하여 입력된 질문 데이터(200,201)의 문장과 유사한 적어도 하나 이상의 문장인 도메인 유사문장을 생성하는 단계이다. 유사문장 생성 단계(S12)에서는 문법 생성 모듈과 톤 생성 모듈에 의해 동일한 의미를 갖는 다양한 형태의 표현이 생성될 수 있다.
도 10은 본 발명의 제2실시예에 따른 트레이닝 세트 생성 방법의 각 단계별 결과 예시를 도시한 것이다. 도 10에 도시된 바와 같이, S11-1에서는 S11에서 생성된 유사어구인 "창업, 개업, 사업, 개점, 개원 등"에 관하여 기본 어구인 창업(1)을 기준으로 사업(0.7), 개업(0.5)과 같이 도메인 스코어가 생성될 수 있다. S11-2에서는 S11-1에서의 사업(0.7)과 같은 도메인 스코어를 가중치로 하여 유사어구의 유사도를 사업(0.7*0.9)과 같이 스케일링하고 도메인 유사어구를 생성할 수 있다. S12'에서는 도메인 유사어구를 토대로 도메인 유사문장을 생성할 수 있다. S13에서는 도메인 유사문장을 챗봇 인공지능 모듈의 트레이닝 세트에 추가할 수 있다. 본 발명의 제2실시예에 따른 트레이닝 세트 생성 방법에 따라 생성된 문장들은 도메인에 특징적인 도메인 유사문장이 생성되는 것을 확인할 수 있다.
이상에서는 설명의 편의를 위해 챗봇을 위주로 설명하였으나, 본 발명의 범위는 챗봇에만 국한되는 것이 아니고, 음성 분석(음성 봇)을 위한 인공지능 모듈, 자연어 분석을 위한 인공지능 모듈이나 문장 생성을 위한 Generative 인공지능 모듈 등에 본 발명이 적용되는 것이 본 발명의 범위에 포함될 수 있다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.
본 설명의 일부는 정보 상 연산의 기호 표현 및 알고리즘에 관한 본 발명의 실시예들을 기술한다. 이러한 알고리즘적 설명 및 표현은, 일반적으로 그들의 작업의 핵심을 효율적으로 다른 당업자에게 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용된다. 이러한 동작은 기능적, 연산적, 또는 논리적으로 설명되지만, 컴퓨터나 이와 동등한 전기 회로, 마이크로코드 등에 의해 구현될 것으로 이해된다. 나아가, 또한 이것은 모듈로서의 이러한 동작의 배열을 나타내기 위해, 때때로 일반성의 상실 없이 편리하게 입증된다. 상기 기술된 동작 및 그들의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합 내에서 구현될 수 있다.
여기서 기술된 임의의 단계, 동작, 또는 프로세스는, 하나 이상의 하드웨어 또는 소프트웨어 모듈과 함께 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독 가능 매체로 구성되는 컴퓨터 프로그램 제품과 함께 구현되고, 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 공정, 단계, 또는 동작을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.
또한, 본 발명의 실시예들은, 여기서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이들 장치는 요구되는 목적을 위해 특별히 제작될 수 있고/있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반적-목적의 연산 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 유형의 컴퓨터 판독가능 저장 매체 또는 전자 명령어를 저장하기 위해 적합한 임의의 유형의 미디어 내에 저장될 수 있고, 컴퓨터 시스템 버스에 결합될 수 있다. 나아가, 본 명세서에 참조되는 임의의 연산 시스템은 단일 프로세서를 포함할 수 있거나, 증가한 연산 능력을 위한 다중 프로세서 디자인을 채택한 구조가 될 수 있다.
마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.
1: 트레이닝 세트 생성 장치
2: 구분 모듈
3: 유사어구 생성 모듈
4: 유사문장 생성 모듈
4': 도메인 유사문장 생성 모듈
21: NLP 모듈
22: 벡터화 모듈
31: 도메인 스코어 판정 모듈
32: 도메인 유사어구 생성 모듈
41: 문법 생성 모듈
42: 톤 생성 모듈
100: 챗봇 인공지능 모듈
200: 기본 질문데이터
201: 실제 질문데이터

Claims (3)

  1. 수신된 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 모듈;
    상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도를 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도를 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 모듈;
    상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도에 특정 cutoff-value를 적용하여 도메인 유사어구를 한정적으로 선정하는 도메인 유사어구 생성 모듈;
    상기 도메인 유사어구 정보를 이용하여 상기 질문 데이터의 문장과 유사한 적어도 하나 이상의 제1유사문장을 생성하는 유사문장 생성 모듈;
    상기 유사문장 생성 모듈에서 수신된 상기 제1유사문장에 복수개의 문법 규칙을 적용하여 복수개의 제2유사문장을 생성하는 문법 생성 모듈; 및
    상기 문법 생성 모듈에서 생성된 복수개의 상기 제2유사문장에 복수개의 발화 톤을 적용하여 복수개의 제3유사문장을 생성하는 톤 생성 모듈;
    을 포함하고,
    상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus에서의 유사도 또는 의미 네트워크(Semantic Network)에서의 유사도를 이용하며,
    기존의 질문 데이터 세트에서 상기 질문 데이터가 분류된 레이블에 생성된 상기 제3유사문장을 통합하여 질문 데이터 세트를 확장시키는,
    질문 데이터 세트 확장 장치.
  2. 유사어구 생성 모듈이, 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 단계;
    도메인 스코어 생성 모듈이, 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도를 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도를 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 단계;
    도메인 유사어구 생성 모듈이, 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도에 특정 cutoff-value를 적용하여 도메인 유사어구를 한정적으로 선정하는 도메인 유사어구 생성 단계;
    유사문장 생성 모듈이, 상기 도메인 유사어구 정보를 이용하여 상기 질문 데이터의 문장과 유사한 적어도 하나 이상의 제1유사문장을 생성하는 유사문장 생성 단계;
    문법 생성 모듈이, 상기 유사문장 생성 모듈에서 수신된 상기 제1유사문장에 복수개의 문법 규칙을 적용하여 복수개의 제2유사문장을 생성하는 문법 생성 단계; 및
    톤 생성 모듈이, 상기 문법 생성 모듈에서 생성된 복수개의 상기 제2유사문장에 복수개의 발화 톤을 적용하여 복수개의 제3유사문장을 생성하는 톤 생성 단계;
    를 포함하고,
    상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus에서의 유사도 또는 의미 네트워크(Semantic Network)에서의 유사도를 이용하며,
    기존의 질문 데이터 세트에서 상기 질문 데이터가 분류된 레이블에 생성된 상기 제3유사문장을 통합하여 질문 데이터 세트를 확장시키는,
    질문 데이터 세트 확장 방법.
  3. 유사어구 생성 모듈이, 질문 데이터에서 적어도 하나의 개체, 의미구 또는 개체와 의미구의 조합으로 구성된 어구 정보를 생성하며, 상기 어구 정보를 치환할 수 있도록 유사도가 높은 적어도 하나의 유사어구 정보를 생성하는 유사어구 생성 단계;
    도메인 스코어 생성 모듈이, 상기 유사어구 생성 모듈에서 생성된 상기 유사어구 정보의 General corpus에서의 어구 출현 빈도를 의미하는 일반 출현 정보와 상기 질문 데이터에서의 어구 출현 빈도를 의미하는 도메인 출현 정보를 비교하여, 상기 유사어구 정보의 도메인 특징 정도를 의미하는 도메인 스코어 정보를 생성하는 도메인 스코어 생성 단계;
    도메인 유사어구 생성 모듈이, 상기 도메인 스코어 생성 모듈에서 생성된 상기 유사어구 정보의 도메인 스코어 정보를 가중치로 하여 상기 유사어구 정보의 상기 유사도를 스케일링하고, 스케일링된 상기 유사도에 특정 cutoff-value를 적용하여 도메인 유사어구를 한정적으로 선정하는 도메인 유사어구 생성 단계;
    유사문장 생성 모듈이, 상기 도메인 유사어구 정보를 이용하여 상기 질문 데이터의 문장과 유사한 적어도 하나 이상의 제1유사문장을 생성하는 유사문장 생성 단계;
    문법 생성 모듈이, 상기 유사문장 생성 모듈에서 수신된 상기 제1유사문장에 복수개의 문법 규칙을 적용하여 복수개의 제2유사문장을 생성하는 문법 생성 단계; 및
    톤 생성 모듈이, 상기 문법 생성 모듈에서 생성된 복수개의 상기 제2유사문장에 복수개의 발화 톤을 적용하여 복수개의 제3유사문장을 생성하는 톤 생성 단계;
    를 포함하고,
    상기 유사어구 생성 모듈에서의 상기 유사도는 General corpus에서의 유사도 또는 의미 네트워크(Semantic Network)에서의 유사도를 이용하며,
    기존의 질문 데이터 세트에서 상기 질문 데이터가 분류된 레이블에 생성된 상기 제3유사문장을 통합하여 질문 데이터 세트를 확장시키는,
    질문 데이터 세트 확장 방법을 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램.
KR1020170178791A 2017-12-22 2017-12-22 질문 데이터 세트 확장 장치 및 방법 KR101851790B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170178791A KR101851790B1 (ko) 2017-12-22 2017-12-22 질문 데이터 세트 확장 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170178791A KR101851790B1 (ko) 2017-12-22 2017-12-22 질문 데이터 세트 확장 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170034887A Division KR101851785B1 (ko) 2017-03-20 2017-03-20 챗봇의 트레이닝 세트 생성 장치 및 방법

Publications (1)

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

Family

ID=62087473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170178791A KR101851790B1 (ko) 2017-12-22 2017-12-22 질문 데이터 세트 확장 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101851790B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102103563B1 (ko) 2018-12-31 2020-04-22 충남대학교산학협력단 챗봇을 이용한 사용자 명령어의 태깅처리 시스템
CN111708873A (zh) * 2020-06-15 2020-09-25 腾讯科技(深圳)有限公司 智能问答方法、装置、计算机设备和存储介质
US10841251B1 (en) * 2020-02-11 2020-11-17 Moveworks, Inc. Multi-domain chatbot
KR20220087183A (ko) * 2020-12-17 2022-06-24 삼성생명보험주식회사 챗봇 시스템의 문장 생성 및 검증 방법
KR20220129713A (ko) * 2021-03-16 2022-09-26 주식회사 웨이센 복수 의미 유형 단어의 단일 의미 유형 단어로의 라벨링 방법
KR20230050673A (ko) * 2021-10-08 2023-04-17 주식회사 리니토 자연어이해 학습 모델을 위한 학습데이터의 이중 증강 방법 및 장치
KR20230099828A (ko) 2021-12-28 2023-07-05 주식회사 케이티 문장을 분류하는 장치, 방법 및 컴퓨터 프로그램

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 (2)

* Cited by examiner, † Cited by third party
Title
Zhang, Wei-Nan, et al. "A topic clustering approach to finding similar questions from large question and answer archives." PloS one 9.3, 2014.3.4.
Zhang, Yu, et al. "Phrasal paraphrase based question reformulation for archived question retrieval." PloS one 8.6, 2013.6.21.

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102103563B1 (ko) 2018-12-31 2020-04-22 충남대학교산학협력단 챗봇을 이용한 사용자 명령어의 태깅처리 시스템
US10841251B1 (en) * 2020-02-11 2020-11-17 Moveworks, Inc. Multi-domain chatbot
CN111708873A (zh) * 2020-06-15 2020-09-25 腾讯科技(深圳)有限公司 智能问答方法、装置、计算机设备和存储介质
CN111708873B (zh) * 2020-06-15 2023-11-24 腾讯科技(深圳)有限公司 智能问答方法、装置、计算机设备和存储介质
KR20220087183A (ko) * 2020-12-17 2022-06-24 삼성생명보험주식회사 챗봇 시스템의 문장 생성 및 검증 방법
KR102540563B1 (ko) 2020-12-17 2023-06-05 삼성생명보험주식회사 챗봇 시스템의 문장 생성 및 검증 방법
KR20220129713A (ko) * 2021-03-16 2022-09-26 주식회사 웨이센 복수 의미 유형 단어의 단일 의미 유형 단어로의 라벨링 방법
KR102579293B1 (ko) 2021-03-16 2023-09-18 주식회사 웨이센 복수 의미 유형 단어의 단일 의미 유형 단어로의 라벨링 방법
KR20230050673A (ko) * 2021-10-08 2023-04-17 주식회사 리니토 자연어이해 학습 모델을 위한 학습데이터의 이중 증강 방법 및 장치
KR102626714B1 (ko) * 2021-10-08 2024-01-23 주식회사 리니토 자연어이해 학습 모델을 위한 학습데이터의 이중 증강 방법 및 장치
KR20230099828A (ko) 2021-12-28 2023-07-05 주식회사 케이티 문장을 분류하는 장치, 방법 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
KR101851785B1 (ko) 챗봇의 트레이닝 세트 생성 장치 및 방법
KR101851790B1 (ko) 질문 데이터 세트 확장 장치 및 방법
KR101851789B1 (ko) 도메인 유사어구 생성 장치 및 방법
Bonta et al. A comprehensive study on lexicon based approaches for sentiment analysis
US20230132002A1 (en) System for providing intelligent part of speech processing of complex natural language
US11568855B2 (en) System and method for defining dialog intents and building zero-shot intent recognition models
US11816441B2 (en) Device and method for machine reading comprehension question and answer
CN110337645B (zh) 可适配的处理组件
US9740685B2 (en) Generation of natural language processing model for an information domain
US20170177715A1 (en) Natural Language System Question Classifier, Semantic Representations, and Logical Form Templates
KR20190133931A (ko) 문장 패러프레이즈 인식 기반 대화 시스템 답변 방법
US11567981B2 (en) Model-based semantic text searching
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
US11983501B2 (en) Apparatus and method for automatic generation of machine reading comprehension training data
CN110727796A (zh) 面向分级读物的多尺度难度向量分类方法
JP6663826B2 (ja) 計算機及び応答の生成方法
US20220414463A1 (en) Automated troubleshooter
US11151117B2 (en) Increasing the accuracy of a statement by analyzing the relationships between entities in a knowledge graph
Medagoda et al. A comparative analysis of opinion mining and sentiment classification in non-english languages
Rozovskaya et al. Correcting grammatical verb errors
Sun et al. Hierarchical verb clustering using graph factorization
KR101851791B1 (ko) 도메인 특화 용어 및 고빈도 일반 용어를 이용한 도메인 다양성 계산 장치 및 방법
KR101851786B1 (ko) 챗봇의 트레이닝 세트 레이블링을 위한 가상 레이블 생성 장치 및 방법
Mataoui et al. A new syntax-based aspect detection approach for sentiment analysis in Arabic reviews
Do et al. Vsec: Transformer-based model for vietnamese spelling correction

Legal Events

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