KR20190053027A - 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법 - Google Patents

자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법 Download PDF

Info

Publication number
KR20190053027A
KR20190053027A KR1020170148979A KR20170148979A KR20190053027A KR 20190053027 A KR20190053027 A KR 20190053027A KR 1020170148979 A KR1020170148979 A KR 1020170148979A KR 20170148979 A KR20170148979 A KR 20170148979A KR 20190053027 A KR20190053027 A KR 20190053027A
Authority
KR
South Korea
Prior art keywords
utterance
chatbot
response
learning
question
Prior art date
Application number
KR1020170148979A
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 KR1020170148979A priority Critical patent/KR20190053027A/ko
Publication of KR20190053027A publication Critical patent/KR20190053027A/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 or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

챗봇 장치에서의 자동 질문 생성을 이용한 동작방법에 있어서, 사용자에 의해 입력된 제1 발화를 분석하여, 제1 발화가 질문이면 미리 생성된 학습지식을 이용하여 제1 발화에 대한 챗봇 장치의 제1 응답을 생성하고, 제1 발화가 질문이 아니면 학습지식을 이용하여 사용자의 제2 발화를 예측하고 또한 예측된 제2 발화를 유도하는 챗봇 장치의 제2 응답을 생성하는 단계 및 제1 발화에 대한 답변으로서 생성된 챗봇 장치의 제1 응답 또는 제2 응답을 제공하는 단계를 포함하며, 학습지식은 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 생성되는, 챗봇 장치의 동작방법이 개시된다.

Description

자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법{CHATBOT APPARATUS AND METHOD OF OPERATION THEREOF USING AUTOMATIC QUESTION GENERATION}
본 개시는 챗봇 장치에서의 자동 질문 생성을 이용한 대화 관리 방법에 관한 것으로, 보다 구체적으로는 사용자 발화를 분석하여 상대방 발화가 질문인지 여부에 따라 상대방의 다음 발화를 유도하는 적절한 응답을 제공하는 챗봇 장치의 대화 관리 방법에 관한 것이다.
챗봇(chatbot)은 사람과의 문자 대화를 통해 질문에 알맞은 답이나 각종 연관 정보를 제공하는 인공지능 기반의 커뮤니케이션 소프트웨어를 의미하는 것으로서, 사람들이 필요로 하는 서비스와 데이터를 찾아주는 등의 기업과 개인을 연결해주는 역할을 한다. 최근 언어학습을 위한 챗봇, 날씨정보를 제공하는 챗봇 및 쇼핑몰 서비스를 제공하는 챗봇 등 다양한 분야에서 챗봇의 활용도가 증가하고 있는 실정이다.
한편, 언어학습을 위한 챗봇의 경우, 사용할 수 있는 단어나 문장, 시나리오가 한정되어 있고, 이를 확장하려는 경우 많은 데이터를 구축해야 하는 어려움이 있다. 또한, 단순한 비목적 지향적인 챗봇은 대화의 주제나 흐름을 제어하기 어려운 문제가 있고, 최근 신경망 기반의 챗봇 시스템은 사용자의 발화에 대한 응답으로서 너무 단순하고 일반적인 응답이 발화된다는 문제가 있다.
본 개시의 기술적 과제는 확장성 있고 논리적인 흐름을 지향하는 지식/언어 학습을 위한 챗봇 장치 및 그 방법을 제공하는 것이다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따르면, 챗봇 장치에서의 자동 질문 생성을 이용한 동작방법에 있어서, 사용자에 의해 입력된 제1 발화를 분석하여, 상기 제1 발화가 질문이면 미리 생성된 학습지식을 이용하여 상기 제1 발화에 대한 상기 챗봇 장치의 제1 응답을 생성하고, 상기 제1 발화가 질문이 아니면 상기 학습지식을 이용하여 상기 사용자의 제2 발화를 예측하고 또한 상기 예측된 제2 발화를 유도하는 상기 챗봇 장치의 제2 응답을 생성하는 단계; 및 상기 제1 발화에 대한 답변으로서 생성된 상기 챗봇 장치의 상기 제1 응답 또는 상기 제2 응답을 제공하는 단계를 포함하며, 상기 학습지식은 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 생성되는, 챗봇 장치의 동작방법이 제공될 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 확장성 있고 논리적인 흐름을 지향하는 지식/언어 학습을 위한 챗봇 장치 및 그 방법을 제공할 수 있다.
또한, 본 개시에 따르면, 학습을 위한 코퍼스를 구하기 용이하며, 사용자에게 일반적인 문장의 흐름에 따른 대화를 유도할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1 및 2는 일 실시예에 따른 자동 질문 생성을 이용한 챗봇 장치의 구성을 나타내는 블록도이다.
도 3은 일 실시예에 따른 학습지식을 생성하는 방법을 나타내는 도면이다.
도 4는 일 실시예에 따른 자동 질문 생성을 이용한 챗봇 장치의 동작방법을 나타내는 흐름도이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.
도 1 및 2는 일 실시예에 따른 자동 질문 생성을 이용한 챗봇 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 일 실시예에 따른 챗봇 장치(100)는 입력부(110), 제어부(120) 및 저장부(130)를 포함할 수 있다. 다만, 이는 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시한 것일 뿐, 챗봇 장치(100)에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다.
예를 들어, 도 2를 참조하면, 챗봇 장치(200)는 응답 생성부(220), 문장 예측부(230), 질문 생성부(240), 출력부(250) 및 챗봇 지식 생성부(260)를 더 포함할 수 있다. 도 2의 챗봇 장치(200)는 도 1의 챗봇 장치(100)에 대응될 수 있다.
챗봇은 사람과의 문자 대화를 통해 질문에 알맞은 답이나 각종 연관 정보를 제공하는 인공지능 기반 서비스를 의미하는 것으로서, 명령방식에 따라 챗봇, 음성인식봇 및 개인비서 등으로 구분될 수 있다. 한편, 동작 방식에 따라 규칙 기반의 챗봇 및 기계학습 기반의 챗봇으로 구분될 수 있으며, 규칙 기반 챗봇의 경우 자연어 해석 규칙, 자연어 생성 규칙 및 반응 규칙 등을 이용하며, 규칙을 기반으로 동작하므로 구현이 쉽고 규칙이 잘 정의될 경우 높은 품질의 대화 서비스가 가능한 장점이 있으나, 규칙을 잘 정의하기가 어렵고 규칙을 작성하는데 어려움이 있다. 한편, 기계학습 기반의 챗봇의 경우 자연어 이해, 자연어 생성 및 대화 관리 등을 통해 기계학습을 수행하며, 자연어 처리를 기반으로 구현할 수 있으며 높은 수준의 대화가 가능한 장점이 있으나, 자연어 관련 기계학습을 위해 많은 지식 및 툴이 요구되며, 적용되는 분야에 따라 기존의 결과를 다시 활용하기 어려운 경우도 있다.
한편 최근 음성 인터페이스 기반 서비스가 확대됨으로 인해 지능형 가상비서 시장이 급속도로 확대되고 있으며, 2015년 16억불에서 2021년 158억불로 성장할 것으로 전망되고 있다(Tractica, ‘16.8). 또한, 가상비서 내장형 스피커 시장은 2015년 3.6억불에서 2020년 21억불로 성장할 것으로 전망되고 있다(Gartner, ‘16.9), 이러한 음성 대화형 서비스가 확대됨에 따라 대화형 언어학습/지식학습을 위한 챗봇 기능에 대한 요구도 증가되리라 예측되고 있다.
본 개시에 있어서, 챗봇은 음성 또는 텍스트의 입/출력을 모두 포함할 수 있으며, 후술하는 바와 같이 각 구성요소에 따라 규칙 기반 또는 기계학습 기반의 방법이 이용될 수 있으며, 또한 텍스트 기반의 챗봇에 요구되는 패턴인식, 자연어처리, 시맨틱 웹, 텍스트 마이닝 및 상황인식컴퓨팅 등의 기술도 포함될 수 있다.
챗봇 장치(100)는 사용자에 의해 입력된 사용자 발화를 분석하여, 사용자 발화에 대한 응답으로서 챗봇 장치의 발화를 생성할 수 있다. 일 실시예에 따를 때 사용자 발화 및 챗봇 장치의 발화는 텍스트 또는 음성일 수 있으나, 이에 제한되지 않는다.
일 실시예에 따를 때, 챗봇 장치(100)는 사용자에 의해 입력된 제1 발화를 분석하여, 제1 발화가 질문이면 미리 생성된 학습지식을 이용하여 제1 발화에 대한 제1 응답을 생성하고, 제1 발화가 질문이 아니면 학습지식을 이용하여 사용자의 제2 발화를 예측하고 또한 예측된 제2 발화를 유도하는 제2 응답을 생성하고, 생성된 제1 응답 및 제 응답을 출력할 수 있다. 한편, 일 실시예에 따른 학습지식은 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 생성될 수 있다.
도 1을 참조하면, 입력부(110)는 제어부(120)의 제어에 의해 챗봇 장치(100)의 외부에서부터 텍스트, 오디오(예를 들어, 음성, 음악 등) 및 부가 정보(예를 들어, EPG 등) 등을 수신한다. 도 2의 입력부(210)는 도 1의 입력부(110)에 대응될 수 있다.
일 실시예에 따른 입력부(110)는 사용자에 의해 음성 또는 텍스트를 입력 받을 수 있다. 일 실시예에 따를 때, 사용자 입력이 음성일 경우, 사용자의 음성 입력은 음성 인식을 통해 텍스트로 변환될 수 있다.
제어부(120)는 챗봇 장치(100)의 전반적인 동작 및 챗봇 장치(100)의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부(120)는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 저장부(130)에 저장된 다양한 애플리케이션을 실행할 수 있다. 도 1의 제어부(120)는 도 2의 응답 생성부(220), 문장 예측부(230) 및 질문 생성부(240)를 포함할 수 있으나, 이는 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시한 것일 뿐, 제어부(120)에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다.
일 실시예에 따른 제어부(120)는 사용자에 의해 입력된 제1 발화를 분석하여, 제1 발화가 질문이면 미리 생성된 학습지식을 이용하여 제1 발화에 대한 제1 응답을 생성하고, 제1 발화가 질문이 아니면 학습지식을 이용하여 사용자의 제2 발화를 예측하고 또한 예측된 제2 발화를 유도하는 제2 응답을 생성할 수 있다.
저장부(130)는 제어부(120)의 제어에 의해 챗봇 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 애플리케이션을 저장할 수 있다. 저장부(130)는 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 생성된 학습지식을 저장하는 것을 비롯하여 응답 생성부(220), 문장 예측부(230), 질문 생성부(240)의 구동에 대응되는 입/출력되는 신호 또는 데이터를 저장할 수 있다. 도 2의 챗봇 지식 생성부(260)는 도 1의 저장부(130)에 포함될 수 있다.
후술하는 바와 같이 도 2를 참조하여 자동 질문 생성을 이용한 챗봇 장치(200)의 동작을 살펴보도록 하겠다.
도 2를 참조하면, 입력부(210)는 사용자에 의해 음성 또는 텍스트를 입력 받을 수 있다. 일 실시예에 따를 때, 사용자 입력이 음성일 경우, 사용자의 음성 입력은 음성 인식을 통해 텍스트로 변환될 수 있다.
입력부(210)에 입력된 사용자 입력을 편의상 사용자의 제1 발화라고 하면, 제1 발화가 질문인 경우, 일 실시예에 따른 응답 생성부(220)는 학습지식을 이용하여 제1 발화에 대한 챗봇 장치(200)의 제1 응답을 생성한다. 이때 학습지식은 규칙 기반, 데이터베이스 검색 기반 또는 신경망 네트워크 학습 기반 등의 방법이 이용될 수 있으나, 이에 제한되지 않으며 챗봇을 이용한 대화 관리 방법에서 일반적으로 사용되는 기법이 활용될 수 있다.
한편, 제1 발화가 질문이 아닌 경우, 일 실시예에 따른 문장 예측부(230)는 학습지식을 이용하여 제1 발화에 이어 사용자에 의해 발화될 것으로 예측되는 적절한 발화를 예측하고, 이를 편의상 사용자의 제2 발화라고 한다. 일 실시예에 따를 때, 제2 발화를 예측하는 방법으로 문장 생성(test generation) 방법이 사용될 수 있으며, 예를 들어, sequence-to-sequence recurrent neural network(RNN)를 이용하여 텍스트가 주어진 경우 현재 문장을 입력으로 하고, 다음 문장을 출력으로 하여 학습을 수행할 수 있다. 즉, 텍스트에서 현재 문장에서 다음 문장으로의 번역기를 구축하는 것이다.
일 실시예에 따른 질문 생성부(240)는 학습지식을 이용하여 문장 예측부(230)에서 예측한 제2 발화를 유도할 수 있는 질문을 생성하며, 이를 편의상 챗봇 장치(200)의 제2 응답이라고 한다. 일 실시예에 따를 때, 제2 응답은 규칙 기반 또는 학습 기반에 의하여 생성될 수 있으며, 규칙 기반의 경우, 문장에서 주어진 문장에 대해 의문문을 생성하는 변환 패턴을 기술하여 생성될 수 있다. 한편, 학습 기반의 경우, 일반적인 챗봇은 발화-응답쌍으로 이루어진 학습 대화턴에서 발화에 대한 응답을 생성하도록 학습되는 방식이지만, 본 개시의 챗봇은 응답에 대해 응답 이전의 발화를 생성하도록 학습되는 방식도 포함할 수 있다.
일 실시예에 따른 챗봇 장치(200)가 학습지식을 생성하기 위하여 기존의 발화-응답쌍의 대화턴 뿐만 아니라 응답-질문쌍의 대화턴도 포함함으로써, 챗봇 장치(200)는 사용자에게 일반적인 문장의 흐름에 따른 대화를 유도할 수 있으며, 또한 일반적으로 대화턴 데이터보다 일반 텍스트가 구하기 쉽기 때문에 학습을 위한 코퍼스를 구하기에도 용이하다는 장점이 있다.
일 실시예에 따른 출력부(250)는 응답 생성부(220)에서 생성된 챗봇 장치(200)의 제1 응답 또는 질문 생성부(240)에서 생성된 챗봇 장치(200)의 제2 응답을 사용자에게 출력할 수 있다. 예를 들어, 제1 발화가 질문인 경우 챗봇 장치(200)는 제1 응답을 사용자에게 제공하고, 제1 발화가 질문이 아닌 경우 챗봇 장치(200)는 제2 응답을 사용자에게 제공할 수 있다.
일 실시예에 따른 챗봇 지식 생성부(260)는 응답 생성부(220), 문장 예측부(230) 및 질문 생성부(240)에서 이용될 학습지식을 생성하기 위하여 학습 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행할 수 있으며, 이에 관해서는 도 3을 참고하여 보다 구체적으로 후술하도록 한다.
상술한 바와 같이 편의상 입력부(210), 응답 생성부(220), 문장 예측부(230), 질문 생성부(240), 출력부(250) 및 챗봇 지식 생성부(260)로 구분하여 각 구성요소에서의 동작을 설명하였으나, 이에 제한되지 않으며, 챗봇 장치(200)에서 상술한 각 구성요소별 동작들이 모두 수행될 수 있다.
도 3은 일 실시예에 따른 학습지식을 생성하는 방법을 나타내는 도면이다.
도 3을 참조하면, 일 실시예에 따른 챗봇 지식 생성부(300)는 질문 생성부(330), 학습데이터 추출부(340) 및 챗봇 지식 학습부(380)를 포함할 수 있으나, 다만, 이는 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시한 것일 뿐, 챗봇 지식 생성부(300)에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다. 한편, 도 3의 챗봇 지식 생성부(300)는 도 2의 챗봇 지식 생성부(260)에 대응될 수 있다.
챗봇 지식 생성부(300)는 도 2의 제1 응답, 제2 발화 및 제2 응답 등을 생성하기 위하여, 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 학습지식을 생성할 수 있다. 일 실시예에 따를 때 챗봇 장치(200)는 현재 문장-다음 문장쌍 데이터(350), 질문-응답쌍 데이터(360), 응답-질문쌍 데이터(370)로 각각 학습된 3개의 문장 생성기들을 포함할 수 있다.
도 3을 참조하면, 챗봇 지식 생성부(300)에서 이용하는 코퍼스는 두 화자의 주고 받는 대화를 모은 대화 코퍼스(310) 및 대화 코퍼스(310)가 아닌 에세이, 기사(article), 설명문, 교육용 자료 등을 일반적인 텍스트(text)들을 모은 텍스트(320)를 포함할 수 있다. 일 실시예에 따른 질문 생성부(330)는 일반 텍스트(320)를 대상으로 하여, 주어진 문장으로부터 질문을 생성할 수 있으며, 편의상 질문포함 코퍼스라 한다. 예를 들어, 질문 생성부(330)는 “I don’t have much time to cook, so I eat a lot of instant food.”로부터 규칙 기반 방법을 이용하여 질문 “Do you have much time to cook?” 또는 ”Do you eat instant food?”를 생성할 수 있다. 일 실시예에 따를 때, 규칙 기반 방식은 평서문을 질문으로 변형하는 패턴을 적용하여 구현될 수 있다. 예를 들어, 규칙 기반 방식은
I do not VP -> do you VP?
I VBP VP/VBP -> do you VBP VP/VBP?
와 같이 평서문을 질문으로 변형할 수 있다. 여기서 VP/VBP의 구문태그의 의미는 VP(동사구)에서 VBP(현재형 동사) 품사를 가지는 단어를 제외한 나머지 구문을 의마한다. 또한, 예를 들어, 규칙 기반 방식은 평서문 The desert is a very hot and dry place.”에 대해서,
The NN1 is NP/NN2 NN2 -> What NN2 is NN1?
의 패턴을 적용하여, 질문 “What place is the desert?”를 생성할 수 있다.
일 실시예에 따른 학습데이터 추출부(340)는 대화 코퍼스(310), 텍스트(320) 및 질문 생성부(330)에서 생성된 질문포함 코퍼스를 이용하여 현재 문장-다음 문장쌍 데이터(350), 질문-응답쌍 데이터(360), 응답-질문쌍 데이터(370)들을 추출할 수 있다. 예를 들어, 학습데이터 추출부(340)는 텍스트(320)로부터 현재 문장-다음 문장쌍 데이터(350)를 추출하고, 대화 코퍼스(310) 및 질문포함 코퍼스로부터 질문-응답쌍 데이터(360) 및 응답-질문쌍 데이터(370)를 추출할 수 있다.
일 실시예에 따른 챗봇 지식 학습부(380)는 학습데이터 추출부(340)로부터 추출된 3종류의 데이터들의 데이터베이스에 대해 학습을 수행하여 학습지식(390)을 생성할 수 있다. 일 실시예에 따를 때, 학습지식을 학습하는 방법은 기계학습 방법을 포함하여 인덱싱, 신경망 처리 등의 방법이 적용될 수 있다.
이하 표 1 및 2 참조하여, 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 학습지식이 생성되는 과정을 구체적으로 후술하기로 한다.
<Talk about the types of instant food you eat>
I don’t have much time to cook, so I eat a lot of instant food.
I think I eat instant noodles the most often.
They are easy to cook and are very filling.
There are a whole variety of products you can buy at stores.
There are also various types of instant rice products.
Most of them are frozen.
You just have to put them in the microwave and heat them up.
Some are fried rice menus and some are just plain steamed rice.
Plus, I also eat a lot of canned products.
Among them, canned tuna is what I eat the most.
There are various flavors of canned tuna.
They make a great side dish.
Instant food is not the healthiest type of food, but sometimes I have no choice.
Talk about the types of instant food you eat>
S: Do you eat instant food? ... 추가된 질문
U: I don’t have much time to cook, so I eat a lot of instant food.
S: What kind of instant food do you like? ... 추가된 질문
U: I think I eat instant noodles the most often.
U: They are easy to cook and are very filling.
U: There are a whole variety of products you can buy at stores.
S: Are there any rice products? ... 추가된 질문
U: There are also various types of instant rice products.
...
표 1은 영어 교육용 텍스트 자료로서, 앞문장과 뒷문장간에 대화의 흐름이 있다. 표 1의 일부 지문 사이에 질문들을 추가함으로써 표 2와 같은 대화를 만들어 낼 수 있음을 알 수 있다. 따라서, 표 2에서와 같이 질문 생성부(330)에서 대화를 추가하여 일반 텍스트(320)로부터 질문포함 코퍼스를 생성하고, 챗봇 지식 생성부(300)는 생성된 질문포함 코퍼스를 학습에 활용할 수 있다.
한편, 일 실시예에 따를 때, 표 1 및 2의 텍스트 자료를 이용하여 학습데이터 추출부(340)에서 추출된 데이터들은 구체적으로 다음의 표 3과 같다.
주제어 Instant food

현재 문장-다음 문장쌍 데이터
I don’t have much time to cook, so I eat a lot of instant food.
I don’t have much time to cook, so I eat a lot of instant food. -> I think I eat instant noodles the most often.
I think I eat instant noodles the most often. -> They are easy to cook and are very filling.
They are easy to cook and are very filling. -> There are a whole variety of products you can buy at stores.
There are a whole variety of products you can buy at stores. -> There are also various types of instant rice products.

질문-응답쌍 데이터
Do you eat instant food? -> I don’t have much time to cook, so I eat a lot of instant food.
What kind of instant food do you like? -> I think I eat instant noodles the most often.
Are there any rice products? -> There are also various types of instant rice products.

응답-질문쌍 데이터
I don’t have much time to cook, so I eat a lot of instant food. -> Do you eat instant food?
I think I eat instant noodles the most often. -> What kind of instant food do you like?
There are also various types of instant rice products. -> Are there any rice products?
일 실시예에 따른 챗봇 지식 학습부(380)는 표 3의 학습데이터 추출부(340)로부터 추출된 3종류의 데이터들의 데이터베이스에 대해 학습을 수행하여 학습지식(390)을 생성할 수 있다. 일 실시예에 따를 때, 학습지식을 학습하는 방법은 기계학습 방법을 포함하여 인덱싱, 신경망 처리 등의 방법이 적용될 수 있다.
한편, 일 실시예에 따른 챗봇 장치(200)는 챗봇 지식 생성부(300)에서 생성된 학습지식을 이용하여 하기와 같은 순서로 동작할 수 있다. 먼저, 사용자에 의해 또는 챗봇 장치(200)에서 임의로 또는 미리 선정된 주제를 선택할 수 있고, 그 주제를 키워드로 다음 문장을 예측할 수 있다. 예를 들어, 표 3과 같이 주제가 ‘instant food’라고 하면, 챗봇 장치(200)는 “instant food”를 입력으로 하여 현재 문장-다음 문장으로 학습된 문장 생성기를 실행할 수 있다. 텍스트는 해당 주제를 입력으로 첫문장을 예측하도록 학습되어 있다면, 첫 번째 예측된 문장으로 “I don’t have much time to cook, so I eat a lot of instant food.”가 생성될 수 있다. 그리고, 위 문장에 대해 응답-질문으로 학습된 문장 생성기를 수행하면, “I don’t have much time to cook, so I eat a lot of instant food.”와 같은 답을 유도할 수 있는 질문이 생성될 수 있다. 이 경우 챗봇 장치(200)는 “Do you eat instant food?”를 생성할 수 있고, 설명을 위해 만일 사용자가 “I don’t have much time to cook, so I eat a lot of instant food.”라고 입력했다고 하면, 챗봇 장치(200)는 다시 이 문장을 토대로 다음 문장을 예측할 수 있다. 만일 “I think I eat instant noodles the most often.”가 예측되었다고 하면 다시 챗봇 장치(200)는 응답-질문 생성기를 통해 “What kind of instant food do you like?”를 생성할 수 있다.
도 4는 일 실시예에 따른 자동 질문 생성을 이용한 챗봇 장치의 동작방법을 나타내는 흐름도이다.
도 4를 참조하면, S400 단계에서 챗봇 장치는 사용자에 의해 입력된 제1 발화를 수신한다. S410 단계에서 챗봇 장치는 사용자에 의해 입력된 제1 발화를 분석하여 제1 발화가 질문인지를 판단한다.
S410 단계에서의 판단 결과, 제1 발화가 질문이면, S420 단계에서 챗봇 장치는 학습지식을 이용하여 챗봇 장치의 제1 응답을 생성한다. 일 실시예에 따를 때 학습지식은 규칙 기반, 데이터베이스 검색 기반 또는 신경망 네트워크 학습 기반 등의 방법이 이용될 수 있으나, 이에 제한되지 않으며 챗봇을 이용한 대화 관리 방법에서 일반적으로 사용되는 기법이 활용될 수 있다.
S410 단계에서의 판단 결과, 제1 발화가 질문이 아니면, S430 단계에서 챗봇 장치는 학습지식을 이용하여 사용자의 제2 발화를 예측한다. 일 실시예에 따를 때 제2 발화는 사용자에 의해 발화될 것으로 예측되는 적절한 발화일 수 있으며, 제2 발화를 예측하는 방법으로 문장 생성 방법이 사용될 수 있다.
S440 단계에서 챗봇 장치는 학습지식을 이용하여 사용자의 제2 발화를 유도할 수 있는 질문으로서 챗봇 장치의 제2 응답을 생성한다. 일 실시예에 따를 때 제2 응답은 규칙 기반 또는 학습 기반에 의하여 생성될 수 있다. 구체적으로, 규칙 기반의 경우, 문장에서 주어진 문장에 대해 의문문을 생성하는 변환 패턴을 기술하여 생성될 수 있으며, 학습 기반의 경우, 일반적인 챗봇은 발화-응답쌍으로 이루어진 학습 대화턴에서 발화에 대한 응답을 생성하도록 학습되는 방식이지만, 본 개시의 챗봇은 응답에 대해 응답 이전의 발화를 생성하도록 학습되는 방식도 포함할 수 있다.
S450에서 챗봇 장치는 S420에서 생성된 제1 응답 또는 S440에서 생성된 제2 응답을 사용자에게 출력한다. 예를 들어, 제1 발화가 질문인 경우 챗봇 장치는 S420에서 생성된 제1 응답을 사용자에게 제공하고, 제1 발화가 질문이 아닌 경우 챗봇 장치는 S440에서 생성된 제2 응답을 사용자에게 제공할 수 있다.
이상 도 1 내지 도 4를 참고하여, 본 개시의 일 실시 예에 따른 챗봇 장치에서의 자동 질문 생성을 이용한 대화 관리 방법에 대해 설명하였다.
본 개시에 따르면, 확장성 있고 논리적인 흐름을 지향하는 지식/언어 학습을 위한 챗봇 장치 및 그 방법을 제공할 수 있다.
또한, 본 개시에 따르면, 학습을 위한 코퍼스를 구하기 용이하며, 사용자에게 일반적인 문장의 흐름에 따른 대화를 유도할 수 있다.
한편, 본 개시의 일 양상에 따르면 챗봇 장치의 동작방법을 수행하기 위해 실행가능한 명령들(executable instructions)을 가지는 소프트웨어 또는 컴퓨터-판독가능한 매체(computer-readable medium)가 제공될 수 있다. 상기 실행가능한 명령들은, 사용자에 의해 입력된 제1 발화를 분석하여, 제1 발화가 질문이면 미리 생성된 학습지식을 이용하여 제1 발화에 대한 챗봇 장치의 제1 응답을 생성하고, 제1 발화가 질문이 아니면 학습지식을 이용하여 사용자의 제2 발화를 예측하고 또한 예측된 제2 발화를 유도하는 챗봇 장치의 제2 응답을 생성하는 단계; 및 제1 발화에 대한 답변으로서 생성된 챗봇 장치의 제1 응답 또는 제2 응답을 제공하는 단계를 포함하며, 학습지식은 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 생성되는 것을 특징으로 할 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
200 : 챗봇 장치
210 : 입력부
220 : 응답 생성부
230 : 문장 예측부
240 : 질문 생성부
250 : 출력부
260 : 챗봇 지식 생성부

Claims (1)

  1. 챗봇 장치에서의 자동 질문 생성을 이용한 동작방법에 있어서,
    사용자에 의해 입력된 제1 발화를 분석하여, 상기 제1 발화가 질문이면 미리 생성된 학습지식을 이용하여 상기 제1 발화에 대한 상기 챗봇 장치의 제1 응답을 생성하고, 상기 제1 발화가 질문이 아니면 상기 학습지식을 이용하여 상기 사용자의 제2 발화를 예측하고 또한 상기 예측된 제2 발화를 유도하는 상기 챗봇 장치의 제2 응답을 생성하는 단계; 및
    상기 제1 발화에 대한 답변으로서 생성된 상기 챗봇 장치의 상기 제1 응답 또는 상기 제2 응답을 제공하는 단계를 포함하며,
    상기 학습지식은 코퍼스로부터 구축된 데이터베이스에 대해 기계학습을 수행하여 생성되는, 챗봇 장치의 동작방법.
KR1020170148979A 2017-11-09 2017-11-09 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법 KR20190053027A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170148979A KR20190053027A (ko) 2017-11-09 2017-11-09 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170148979A KR20190053027A (ko) 2017-11-09 2017-11-09 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200070561A Division KR102230372B1 (ko) 2020-06-10 2020-06-10 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
KR20190053027A true KR20190053027A (ko) 2019-05-17

Family

ID=66678383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170148979A KR20190053027A (ko) 2017-11-09 2017-11-09 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법

Country Status (1)

Country Link
KR (1) KR20190053027A (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210009903A (ko) * 2019-07-18 2021-01-27 건국대학교 산학협력단 질의 응답 방법 및 이를 수행하는 장치들
KR20210156515A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 기록매체
KR20210156510A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 방법
KR20210156526A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 효율적 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치 및 방법
KR20210156546A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치
KR20210156508A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 기록매체
KR20210156542A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 방법
KR20210156520A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 및 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치
KR20210156518A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 및 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 방법
KR20210156514A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 프로그램
KR20210156522A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 및 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공을 위한 프로그램
KR20210156547A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공을 위한 프로그램
KR20210156513A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치
KR20210156533A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 기록매체

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210009903A (ko) * 2019-07-18 2021-01-27 건국대학교 산학협력단 질의 응답 방법 및 이를 수행하는 장치들
KR20210156515A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 기록매체
KR20210156510A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 방법
KR20210156526A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 효율적 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치 및 방법
KR20210156546A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치
KR20210156508A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 기록매체
KR20210156542A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 방법
KR20210156520A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 및 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치
KR20210156518A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 및 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 방법
KR20210156514A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 프로그램
KR20210156522A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 및 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공을 위한 프로그램
KR20210156547A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 텍스트 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공을 위한 프로그램
KR20210156513A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 이미지 캐러셀 운용을 제공하는 챗봇 기반의 사용자 인터페이스 제공 장치
KR20210156533A (ko) 2020-06-18 2021-12-27 주식회사 꿈많은청년들 기록매체

Similar Documents

Publication Publication Date Title
KR20190053027A (ko) 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법
KR102230372B1 (ko) 자동 질문 생성을 이용한 챗봇 장치 및 그 동작방법
JP7346609B2 (ja) 自然言語理解(nlu)フレームワークを使用して意味探索を実行するシステムおよび方法
US10713441B2 (en) Hybrid learning system for natural language intent extraction from a dialog utterance
JP6726800B2 (ja) 人工知能に基づくヒューマンマシンインタラクション方法及び装置
Mairesse et al. Stochastic language generation in dialogue using factored language models
US11520992B2 (en) Hybrid learning system for natural language understanding
AU2020298542B2 (en) Deriving multiple meaning representations for an utterance in a natural language understanding framework
CN104573099B (zh) 题目的搜索方法及装置
US10380154B2 (en) Information retrieval using structured resources for paraphrase resolution
US10628521B2 (en) Scoring automatically generated language patterns for questions using synthetic events
Damljanović et al. Improving habitability of natural language interfaces for querying ontologies with feedback and clarification dialogues
WO2016087982A1 (en) Persona-based profiles in question answering system
EP2988298B1 (en) Response generation method, response generation apparatus, and response generation program
JP2023076413A (ja) 言語モデルを利用してドメインに特化した対話を提供する方法、コンピュータ装置、およびコンピュータプログラム
US20210012217A1 (en) Leveraging entity relations to discover answers using a knowledge graph
Veselovsky et al. Generating faithful synthetic data with large language models: A case study in computational social science
Zheng et al. Knowledge-grounded dialogue generation with term-level de-noising
Melacci et al. Enhancing modern supervised word sense disambiguation models by semantic lexical resources
US11270085B2 (en) Generating method, generating device, and recording medium
US10147050B2 (en) Avoiding supporting evidence processing when evidence scoring does not affect final ranking of a candidate answer
US11443117B2 (en) Contextual question answering using human chat logs
Cremene et al. Service composition based on natural language requests
US10373060B2 (en) Answer scoring by using structured resources to generate paraphrases
Santana et al. Reducing the impact of out of vocabulary words in the translation of natural language questions into SPARQL queries

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination
A107 Divisional application of patent