KR102030803B1 - 챗봇의 대화처리장치 및 그 방법 - Google Patents

챗봇의 대화처리장치 및 그 방법 Download PDF

Info

Publication number
KR102030803B1
KR102030803B1 KR1020170175764A KR20170175764A KR102030803B1 KR 102030803 B1 KR102030803 B1 KR 102030803B1 KR 1020170175764 A KR1020170175764 A KR 1020170175764A KR 20170175764 A KR20170175764 A KR 20170175764A KR 102030803 B1 KR102030803 B1 KR 102030803B1
Authority
KR
South Korea
Prior art keywords
answer
question
user
user terminal
response
Prior art date
Application number
KR1020170175764A
Other languages
English (en)
Other versions
KR20180126357A (ko
Inventor
이도용
Original Assignee
주식회사 에이아이리소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에이아이리소프트 filed Critical 주식회사 에이아이리소프트
Publication of KR20180126357A publication Critical patent/KR20180126357A/ko
Application granted granted Critical
Publication of KR102030803B1 publication Critical patent/KR102030803B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0638Interactive procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

하나 이상의 사용자 단말과 네트워크를 통해 연결되며, 상기 사용자 단말로 질문을 제공하고 상기 사용자 단말로부터 전송되는 답변음성을 처리하는 대화처리장치가 제공된다.
상기 대화처리장치는 상기 사용자 단말로 전송할 질문을 생성하는 질문/대답 생성부; 상기 사용자 단말로부터 전송되는 사용자의 답변이 상기 질문에 대한 대답인지 상기 대화처리장치에의 질문인지를 구분하고, 상기 사용자의 답변이 기존 사용자의 답변과 동일한지 여부를 판단하는 사용자답변 분석부; 상기 사용자의 답변을 지식베이스 기반에 기초해서 새로운 답변으로 분류가능한지 판단하는 신규 대답/반응 생성부; 및 상기 사용자답변 분석부의 판단결과 및 상기 신규 대답/반응 생성부의 판단결과에 기초해, 상기 사용자 단말에게 전송할 질문 또는 대답을 생성해, 그 결과를 상기 질문/대답 생성부에 제공하는 사용자답변 대응부를 포함한다.
이러한 대화처리장치를 통해, 챗봇의 질문에 대한 사용자의 답변이 질문에 대한 대답인지 챗봇에 질문을 한 것인지를 구별해, 대답에 대한 적절한 질문 및 반응 등을 보이면서 사용자와의 자연스러운 대화를 유도할 수 있다.

Description

챗봇의 대화처리장치 및 그 방법{AN APPRATUS AND A METHOD FOR PROCESSING CONVERSATION OF CHATTER ROBOT}
본 발명은 챗봇의 대화처리장치 및 방법에 관한 것으로서, 특히 외국어 학습을 위한 챗봇의 대화처리장치 및 방법에 관한 것이다.
외국어 학습장치는 컴퓨터와 사용자와의 대화를 통해 외국어 학습을 수행하는 장치로서, 대화 인터페이스를 통해 특정 상황에서 외국인과 대화하는 상황을 시뮬레이션하고, 사용자와 컴퓨터 간의 대화 속에서 사용자의 오류를 자동으로 인식하고, 인식된 오류 표현에 대한 올바른 표현을 제시하는 기능을 구비한다.
대화 인터페이스는 사용자가 외국에서 또는 국내에서 외국인과 대화할 수 있는 다양한 상황에 대해 학습된 계획에 따라 사용자에게 목표(goal)를 제시하고, 사용자는 정해진 목표를 수행하기 위해서 컴퓨터와 외국어로 대화한다. 이 과정에서 사용자는 다양한 표현 오류를 포함하는 문장을 발화하고, 시스템은 이를 인식하여 상황에 맞는 올바른 표현을 사용자에게 제시한다.
대화 이해, 대화 생성으로 이루어진 대화 인터페이스 기술은 컴퓨터와 사용자 간에 대화를 통하여 사용자가 자신의 목표를 달성할 수 있게끔 해주는 기술이다. 최근에는 대화 인터페이스로서 챗봇이 활용되고 있다. 챗봇은 채팅과 로봇의 합성어로 대화로봇을 의미하며, 정해진 응답 규칙을 바탕으로 메신저를 통해 사용자와 대화할 수 있도록 구현된 시스템이다. 챗봇은 홈쇼핑, 인터넷 쇼핑몰, 보험사, 은행, 음식 배달, 숙박 예약 등에서 소비자의 질문에 대답해 주거나 기존 소비자의 성향을 바탕으로 적합한 상품을 추천해 주는 역할로 활용된다.
챗봇의 원활한 대화를 위해서는 인공지능(AI)과 빅데이터 분석 기술을 기반으로 기계가 음성·문자 등을 식별할 수 있는 패턴 인식 기술, 인간의 언어를 컴퓨터에 인식시켜 질의응답·번역 등에 활용하는 자연어 처리 기술, 컴퓨터가 정보를 이해하고 논리적으로 추론할 수 있는 시멘틱 웹 기술, 문자로 구성된 데이터에서 유용한 정보를 찾아내는 텍스트마이닝 기술, 대화 상대의 상황과 문맥을 파악하는 상황인식 컴퓨팅 기술 등이 필요하다.
인간과 인간의 대화는 한쪽이 일방적으로 질문하는 것이 아니라 서로 질문과 대답을 주고 받는 것이 일반적이다. 그러나, 종래 인간과 대화하는 챗봇의 경우에는 주로 사용자의 일방적인 질문에 대답을 하거나 명령에 따른 처리에 중점을 두고 있어, 인간과 대화한다는 느낌을 가지기 어렵다는 문제점이 있었다.
본 발명의 실시예가 해결하려는 과제는 사용자의 일방적인 질문에 대답하는 것이 아니라 챗봇이 주도적으로 질문을 하고 사용자의 반응에 자연스럽게 대응할 수 있는 대화 주도형 챗봇의 대화처리 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 실시예에 따른 대화처리장치는 하나 이상의 사용자 단말과 네트워크를 통해 연결되며, 상기 사용자 단말로 질문을 제공하고 상기 사용자 단말로부터 전송되는 답변음성을 처리하는 대화처리장치로서,
상기 사용자 단말로 전송할 질문을 생성하는 질문/대답 생성부; 상기 사용자 단말로부터 전송되는 사용자의 답변이 상기 질문에 대한 대답인지 상기 대화처리장치에의 질문인지를 구분하고, 상기 사용자의 답변이 기존 사용자의 답변과 동일한지 여부를 판단하는 사용자답변 분석부; 상기 사용자 단말로부터 전송되는 사용자의 답변이 기존 사용자의 답변과 동일하지 않은 경우, 상기 사용자의 답변을 지식베이스 기반에 기초해서 새로운 답변으로 분류가능한지 판단하는 신규 대답/반응 생성부; 및 상기 사용자답변 분석부의 판단결과 및 상기 신규 대답/반응 생성부의 판단결과에 기초해, 상기 사용자 단말에게 전송할 질문 또는 대답을 생성해, 그 결과를 상기 질문/대답 생성부에 제공하는 사용자답변 대응부를 포함한다.
여기서, 대화처리장치는 상기 사용자 단말로 제공된 질문과 관련되어 하나 이상의 사용자가 이전에 응답한 대답을 저장하고 있는 질문/대답 DB; 상기 사용자 단말로 제공된 질문과 관련성이 없이, 사용자 단말로부터의 답변에 대한 상기 대화처리장치의 공통된 반응이 저장되어 있는 공통대답 DB; 및 사용자와의 대화를 위해 상기 사용자 단말에 제공할 질문과 사용자 답변에 따른 반응 등을 저장하고 있는 대화 시나리오 DB를 추가로 포함할 수 있다.
이때, 상기 사용자답변 분석부는 상기 사용자 단말로부터 제공되는 사용자의 답변이 상기 질문/대답 DB에 저장되어 있는 기존 사용자의 답변과 동일하거나 상기 공통대답 DB에 저장되어 있는 대답과 동일하다고 판단한 경우, 이에 대응하는 질문 또는 대답을 상기 질문/대답 DB 또는 공통대답 DB로부터 가져올 수 있다.
여기서, 상기 신규 대답/반응 생성부는 1차적으로 지식베이스 DB에 기초해 사용자의 답변이 새로운 대답(답변)으로 분류가능한지 판단하고, 2차적으로 word2vec 모델에 기초해서 새로운 대답으로 분류가능한지 판단할 수 있다.
또한, 대화처리장치는 상기 질문/대답 생성부에 의해 생성된 질문 데이터를 음성으로 변환시키는 TTS 변환부와 상기 사용자 단말로부터 전송되는 사용자의 답변음성으로부터 언어적 의미 내용을 식별해 단어 또는 문장 데이터를 추출한 후, 추출된 단어 또는 문장 데이터를 상기 사용자답변 분석부와 상기 신규 대답/반응 생성부에 제공하는 음성인식부를 더 포함할 수 있다.
여기서, 상기 질문/대답 생성부는 상기 대화시나리오 DB에 저장되어 있는 대화 시나리오에 기초해서 질문을 생성하거나, 상기 사용자답변 대응부에 의해 생성된 정보에 기초해 질문을 생성하는 것을 특징으로 하는 특징으로 하는 대화처리장치.
본 발명의 실시예에 따른 대화처리방법은 하나 이상의 사용자 단말과 네트워크를 통해 연결되며, 상기 사용자 단말로 질문을 제공하고 상기 사용자 단말로부터 전송되는 답변음성을 처리하는 대화처리장치의 대화처리방법으로서,
(a) 상기 대화처리장치가 상기 사용자 단말로 전송할 질문을 생성하고, 생성된 질문을 TTS 변환해 상기 사용자 단말로 전송하는 단계; (b) 상기 대화처리장치가 상기 사용자 단말로부터 전송되는 사용자의 답변이 상기 질문에 대한 대답인지 상기 대화처리장치에의 질문인지를 구분하고, 상기 사용자의 답변이 기존 사용자의 답변과 동일한지 여부를 판단하는 단계; (c) 상기 사용자 단말로부터 전송되는 사용자의 답변이 기존 사용자의 답변과 동일하지 않은 경우, 상기 대화처리장치가 상기 사용자의 답변을 지식베이스 기반에 기초해서 새로운 답변으로 분류가능한지 판단하는 단계; 및 (d) 상기 (b) 단계 및 상기 (c) 단계의 판단결과에 기초해, 상기 대화처리장치가 상기 사용자 단말에게 전송할 질문 또는 대답을 생성해, 생성된 질문 또는 대답을 TTS 변환해 상기 사용자 단말로 전송하는 단계를 포함한다.
이때, 상기 대화처리장치는 상기 사용자 단말로 제공된 질문과 관련되어 하나 이상의 사용자가 이전에 응답한 대답을 저장하고 있는 질문/대답 DB; 상기 사용자 단말로 제공된 질문과 관련성이 없이, 사용자 단말로부터의 답변에 대한 상기 대화처리장치의 공통된 반응이 저장되어 있는 공통대답 DB; 및 사용자와의 대화를 위해 상기 사용자 단말에 제공할 질문과 사용자 답변에 따른 반응 등을 저장하고 있는 대화 시나리오 DB를 포함할 수 있으며, 상기 단계 (b)는 (b1) 상기 대화처리장치가 상기 질문/대답 DB)를 참조해, 동일 질문에 대한 다른 사용자의 동일한 대답이 있는지를 판단하고), 동일한 대답이 있는 경우 기존 사용자의 답변과 같은 대답을 추출하는 단계; 및 (b2) 상기 단계 (b2)의 판단결과 동일한 대답이 없는 경우, 상기 대화처리장치가 상기 공통대답 DB에 있는 대답인지를 판단하고, 공통 대답이 있는 경우 상기 공통대답 DB으로부터 동일한 대답을 추출하는 단계를 포함할 수 있다.
이때, 상기 단계 (c)는 (c1) 상기 대화처리장치가 지식베이스 DB에 기초해 사용자의 답변이 새로운 답변으로 분류가능한지 판단하는 단계; (c2) 상기 단계 (c1)의 판단결과, 상기 지식베이스 DB를 이용해 새로운 답변으로 분류 가능하지 않은 경우, 상기 대화처리장치가 word2vec 모델에 기초해서 새로운 답변으로 분류가능한지 판단하는 단계; 및 (c2) 상기 단계 (c1) 및 상기 단계 (c2)에서 새로운 답변으로 분류가능한 것으로 판단한 경우, 상기 대화처리장치가 상기 사용자 단말로부터의 답변에 대한 새로운 반응대답을 생성하고, 상기 새로운 답변과 상기 새로운 반응대답을 연관시켜 상기 질문/대답 DB에 추가로 저장하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 대화처리 장치는 챗봇의 질문에 대한 사용자의 답변이 질문에 대한 대답인지 챗봇에 질문을 한 것인지를 구별해, 대답에 대한 적절한 질문 및 반응 등을 보이면서 사용자와의 자연스러운 대화를 유도할 수 있다.
도 1은 본 발명의 실시예에 따른 챗봇의 대화처리장치(100)를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 대화용 프로그램이 설치되어 있는 사용자 단말의 화면을 나타내는 도면이다.
도 3 및 도 4는 본 발명의 실시예에 따른 챗봇의 대화 처리방법을 나타내는 도면이다.
도 5는 사용자 단말로부터 전송되는 사용자 답변에 대한 분류처리를 보다 상세하게 나타낸 도면이다. .
도 6은 사용자 단말로부터 전송되는 사용자 답변에 대한 분류처리 결과에 따른 챗봇의 대응 시나리오를 구체적으로 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으므로 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체에서 동일 또는 유사한 구성요소에 대해서는 동일한 도면부호가 사용되었다. 또한, 널리 알려진 공지기술의 경우 그 구체적인 설명은 생략한다.
본 명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 본 명세서에 기재된 "…부", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하에서 설명하는 “답변”은 대화처리장치의 질문에 대한 사용자의 응답으로서, 대화처리장치의 질문에 대한 “대답”과 대화처리장치에 문의하는 “질문”을 포함하는 개념이지만, 경우에 따라서는 “답변”과 “대답”은 동일한 의미로 사용할 수 있다.
도 1은 본 발명의 실시예에 따른 챗봇의 대화처리장치를 나타내는 도면이다.
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 챗봇의 대화처리장치(100)는 인터넷을 통해 다수의 사용자 단말(200)에 연결되어, 사용자 단말(200)에 설치되어 있는 대화용 프로그램을 통해 사용자로부터 전송되는 답변에 대해 적절한 질문 및 반응 등을 보이면서 사용자와의 자연스러운 대화를 유도한다.
도 1에서, 본 발명의 실시예에 따른 챗봇의 대화처리장치(100)는 질문/대답 생성부(110), 사용자답변 분석부(120), 신규 대답/반응 생성부(130), 사용자답변 대응부(140), 음성인식부(150), TTS(text to speech) 변환부(160), 질문/대답 DB(181), 공통대답 DB(182), 지식베이스 DB(183), 대화시나리오 DB(184)를 포함한다.
질문/대답 생성부(110)는 사용자 단말(200)에 전송할 질문을 생성한다. 이때, 질문/대답 생성부(110)는 대화시나리오 DB(184)에 저장되어 있는 대화 시나리오에 기초해서 질문을 생성하거나, 사용자답변 대응부(140)에 의해 생성된 정보에 기초해 질문을 생성한다.
사용자답변 분석부(120)는 사용자 단말(200)로부터 전송되는 사용자의 답변이 챗봇의 질문에 대한 대답인지 챕봇에의 질문인지를 구분한 후, 사용자의 답변이 질문/대답 DB(181)에 저장되어 있는 기존 사용자의 답변과 같은지 또는 공통대답 DB(182)에 저장되어 있는 대답과 동일한지를 판단하고, 동일한 답변 또는 대답인 경우 이에 대응하는 질문 또는 대답을 질문/대답 DB(181) 또는 공통대답 DB (182)로부터 가져온다.
본 발명의 실시예에 따르면, 문장의 구조에 따라 사용자 단말(200)로부터 전송되는 사용자의 답변을 대답인지 질문인지 분류한다. 예를 들어, 평서문인 경우 대답으로 분류할 수 있으며, 의문사 뒤의 문장 구성이 동사+주어인 경우(Where are you from?), 조동사+주어+본동사인 경우(Do you like an apple?), 문장 끝 부가 의문문인 경우(You like and apple, don't you?), 또는 평서문인 경우에도 의문형(You are hungry?)을 사용하거나 문맥, 억양, 주어 You 사용 등으로 대답으로 분류할 수 있다.
신규 대답/반응 생성부(130)는 사용자 단말(200)로부터 전송되는 사용자의 답변이 질문/대답 DB(181)와 공통대답 DB(182)에 저장되어 있지 않은 새로운 내용인 경우, 사용자의 답변을 지식베이스 기반 및 word2vec 모델에 기초해서 새로운 대답(답변)으로 분류가능한지 판단한 후, 새로운 대답으로 분류 가능하면 이를 질문/대답 DB(181)에 저장해 기존의 질문/대답 DB(181)를 업데이트한다.
구체적으로, 본 발명의 실시예에 따르면, 신규 대답/반응 생성부(140)는 1차적으로 온톨로지 기반의 지식베이스 DB(183)에 기초해 사용자의 답변이 새로운 대답(답변)으로 분류가능한지 판단하고, 2차적으로 word2vec 모델에 기초해서 새로운 대답으로 분류가능한지 판단한다. word2vec은 2013년 구글에서 발표된 연구로, Tomas Mikolov을 필두로 여러 연구자들이 모여서 만든 Continuous Word Embedding 학습 모형으로서, 단어를 계산에 적용할 수 있는 숫자로 변환해서 다음에 올 단어를 예측하는 모델이다.
사용자답변 대응부(140)는 사용자답변 분석부(120)의 판단결과 및 신규 대답/반응 생성부(130)의 판단결과에 기초해, 사용자 단말(200)에게 전송할 질문 또는 대답을 생성해, 그 결과를 질문/대답 생성부(110)에 전송한다.
음성인식부(150)는 사용자 단말(200)로부터 전송되는 사용자의 답변음성으로부터 언어적 의미 내용을 식별해 단어 또는 문장 데이터를 추출한 후, 추출된 단어 또는 문장 데이터를 사용자답변 분석부(120)와 신규 대답/반응 생성부(130)에 전달한다.
TTS 변환부(160)는 질문/대답 생성부(110)에 의해 생성된 질문 데이터를 음성으로 변환시켜, 사용자 단말(200)로 전송한다.
본 발명의 실시예에서는 대화처리장치(100)에서 음성인식부(150)와 TTS 변환부(160)를 포함하고 있으나, 음성인식부(150) 및/또는 TTS 변환부(160)는 별도의 외부 서버에 구비되어 음성인식 후의 문장 데이터 및/또는 TTS 변환 후의 음성신호를 제공받을 수도 있다.
도 1에서, 질문/대답 DB(181)는 사용자 단말(200)로 제공된 질문에 대해 하나 이상의 사용자가 이전에 응답한 대답을 저장하고 있는 데이터베이스로서, 질문/대답 DB(181)에는 질문과 관련된 대답이 대응되어 저장되어 있다. 공통대답 DB(182)는 사용자 단말(200)로 제공된 질문과 관련성이 없이 사용자 단말(200)로부터 제공된 답변(예를 들어, “Pardon?”과 같이 질문을 이해하지 못한 경우의 답변 등)에 대하여, 대화처리장치의 공통된 반응(답변, 질문)을 저장하고 있는 데이터베이스이다.
지식베이스 DB(183)는 온톨로지 기반의 지식베이스 데이터베이스로서, 개념, 관계, 속성 등이 표현되어 있는 어휘 집합이 계층적 체계에 의해 저장되어 있다.
대화 시나리오 DB(184)는 외국어 학습 등을 위해 사용자 단말(200)에 제공할 질문과 사용자 답변에 따른 반응 등을 저장하고 있는 데이터베이스로서, 다수의 사용자 단말(200)과의 대화 정보를 빅데이이터로 분석해 이를 체계화하여 저장하고 있다.
본 발명의 실시예에서는 대화처리장치(100)에서 지식베이스 DB(183)와 대화 시나리오 DB(184)를 포함하고 있으나, 이를 별도의 외부 서버로부터 제공받을 수도 있다.
도 2는 사용자 단말(200)에 설치되어 있는 대화용 프로그램이 설치되어 있는 화면으로서, 본 발명의 실시예에 따르면 대화처리장치(100)로부터 전송된 질문 또는 대답은 “아이리”라는 전용 캐릭터를 통해 사용자에게 발화되며, 전용 캐릭터를 통해 사용자와 자연스러운 대화를 진행할 수 있다.
다음은 도 3 및 도 4를 참조해 본 발명의 실시예에 따른 챗봇의 대화 처리방법을 나타내는 도면이다.
먼저, 질문/대답 생성부(110)는 질문(“Where are you from?”)을 생성하고 이를 TTS 변환하여 사용자 단말(200)에 전송한다. (S10) 그러면, 사용자 단말(200)에 표시된 전용 캐릭터를 통해 해당 음성이 발화된다.
사용자 단말(200)로부터 사용자의 답변음성(“아이엠프럼코리아훼어알유프럼”이 수신되면(S15), 음성인식부(150)는 사용자의 답변음성을 문장데이터(“I am from Korea. Where are you from”)로 변환한다. (S20)
사용자답변 분석부(120)는 변환된 문장 데이터(“I am from Korea. Where are you from”)를 사용자 단말(200)로 전송하고, 사용자 단말(200)로부터 전송되는 사용자의 답변이 챗봇의 질문에 대한 대답인지 챗봇에의 질문인지를 구분한다. (S40) 즉, 사용자답변 분석부(120)는 사용자의 답변을 질문에 대한 대답(“I am from Korea.”)과 챗봇에의 질문(“Where are you from?”)으로 구분한다.
사용자답변 분석부(120)의 분석결과 대답이 있는 경우(S50)에는, 질문/대답 생성부(S10)는 대답(“I am from Korea.”)의 반응에 해당하는 문장(“I like K-pop)을 생성하고(S50a), TTS 변환부(160)를 거쳐 사용자 단말(200)로 전송한다. (S60) 그리고, 사용자답변 분석부(120)의 분석결과 질문(““Where are you from?”)으로 판단한 경우(S70)에는, 질문/대답 생성부(S10)는 질문에 대한 대답문장(“I am from Russia.”)을 생성해(S75), TTS 변환부(160)를 거쳐 사용자 단말(200)로 전송한다. (S80)
사용자답변 분석부(120)의 분석결과 대답 및 질문이 없거나, 사용자 단말(200)로부터 소정 시간 답변이 없는 경우에는, 질문/대답 생성부(S10)는 대화 시나리오 DB(184)에 기초해 새로운 질문(“Do you know Big-Bang?”)을 생성하고(S90), TTS 변환부(160)를 거쳐 사용자 단말(200)로 전송한다. (S95)
다음은 도 5를 참조해, 사용자 단말(200)로부터 전송되는 사용자 답변에 대한 분류처리를 보다 상세하게 설명한다.
먼저, 사용자 단말(200)로부터 질문에 대한 대답문장을 입력 받으면(S20), 사용자답변 분석부(120)는 질문/대답 DB(181)를 참조해, 동일 질문에 대한 다른 사용자의 동일한 대답(답변)이 있는지를 판단하고(S51), 동일한 대답이 있는 경우 기존 사용자의 답변과 같은 대답을 추출한다. (S52),
상기 단계 S51의 판단결과 동일한 대답이 없는 경우, 사용자답변 분석부(120)는 공통대답 DB(182)에 있는 대답인지를 판단하고(S53), 공통 대답이 있는 경우 공통대답 DB(182)에 있는 대답을 추출한다. (S54),
상기 단계 S53의 판단결과 공통대답 DB(182)에 없는 대답인 경우, 신규 대답/반응 생성부(130)는 온톨로지 기반의 지식베이스 DB를 이용해 사용자의 대답이나 반응이 새로운 답변으로 분류가능한지 판단한다. 상기 단계 S55의 판단결과 지식베이스 DB를 이용해 새로운 답변으로 분류 가능하지 않은 경우, 신규 대답/반응 생성부(130)는 word2vec 모델에 기초해서 새로운 답변으로 분류가능한지 판단한다. (S56),
상기 단계 S55 또는 S56에서 새로운 답변으로 분류 가능하다고 판단한 경우, 신규 대답/반응 생성부(130)는 새로운 답변(S57)으로 분류하고, 새로운 답변과 이에 대한 대화처리장치의 반응(질문 또는 대답)을 관련시켜 질문/대답 DB(181)에 저장해 업데이트한다.
상기 단계 S55 및 S56에서 새로운 답변으로 분류 가능하다고 판단하지 않은 경우, 수작업으로 분류처리한다. (S59)
다음은 도 6을 참조해, 사용자 단말(200)로부터 전송되는 사용자 답변에 대한 분류처리 결과에 따른 챗봇의 대응 시나리오를 구체적으로 설명한다.
대화처리장치(100)의 질문/대답 생성부(110)는 질문(“Do you like an apple?”)을 생성하고 이를 TTS 변환하여 사용자 단말(200)로 전송한다. (S100)
사용자 단말(200)로부터 사용자의 답변음성이 수신되면(S110), 음성인식부(150)는 사용자의 답변음성을 문장데이터로 변환한 후(S120), 변환된 문장 데이터를 사용자 단말(200)로 전송한다. (S130)
그리고 나서, 사용자답변 분석부(120)는 사용자 단말로부터의 대답(“Ye, I do)”을 질문/대답 DB(181)를 참조해, 동일 질문에 대한 다른 사용자의 동일한 대답(“Me, too”)을 추출해(S131), 이를 TTS 변환하여 사용자 단말(200)로 전송한다. (S132).
그리고 나서, 질문/대답 생성부가 질문(“What kind of apple you like?)을 사용자 단말(200)로 전송하고(S140), 사용자 단말로부터 질문/대답 DB(181)에 없는 답변(“Pardon?”)이 수신된 경우, 사용자답변 분석부(120)는 질문 내용과 관련성이 없는 없는 답변(“Pardon?”)에 대한 반응문장(“Sorry”)을 공통대답 DB (181)를 참조해 추출해(S141), 이를 TTS 변환하여 사용자 단말(200)로 전송한다. (S142).
한편, 대화처리장치(100)의 질문(“Do you like an apple?”)에 대해 사용자 단말(200)로부터 수신된 사용자의 대답(“Yes, I love it”)이 질문/대답 DB(181)과 공통대답 DB(182)에 없는 경우, 신규 대답/반응 생성부(130)는 지식데이터 DB(181)을 참조해, 사용자의 대답(“Yes, I love it”)에 대한 새로운 반응대답(“Me too”)을 생성하고(S151), 이를 질문/대답 DB(181)에 저장함과 동시에 TTS 변환하여 사용자 단말(200)로 전송한다. (S152)
그리고 나서, 질문/대답 생성부가 새로운 질문(“What kind of apple you like?)을 사용자 단말(200)로 전송하고(S140), 사용자 단말로부터 질문/대답 DB(181), 공통대답 DB(182), 지식베이스 DB(183)에 없는 답변(“I like android”)이 수신된 경우, 신규 대답/반응 생성부(140)는 word2vec 모델에 기초해 사용자의 답변이 과일과 없으나 스마트폰의 OS와 관련이 있는 것으로 판단하고(S161), 새로운 반응대답(“I asked about fruits,”)을 생성하고(S160), 이를 질문/대답 DB(181)에 저장함과 동시에 TTS 변환하여 사용자 단말(200)로 전송한다. (S162)
한편, 새로운 질문(“What kind of apple you like?)에 대한 사용자 단말(200)로부터 수신된 대답(“I am from Korea.)과 관련해, 질문/대답 DB(181), 공통대답 DB(182), 지식베이스 DB(183)에 없고 word2vec 모델에 의해서도 가능한 대답을 추출하지 못한 경우에는 수작업으로 대답반응(“I asked about fruits”)을 생성하고(S181), 생성된 대답반응과 신규로 생성한 질문(“Do you like an apple?”)을 TTS 변환하여 사용자 단말(200)로 전송한다. (S182) 그리고 새로운 질문(”Do you like an apple?”)을 생성해 사용자 단말(200)로 전송한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.

Claims (10)

  1. 하나 이상의 사용자 단말과 네트워크를 통해 연결되며, 상기 사용자 단말로 질문을 제공하고 상기 사용자 단말로부터 전송되는 답변음성을 처리하는 대화처리장치에 있어서,
    상기 사용자 단말로 전송할 질문을 생성하는 질문/대답 생성부;
    상기 사용자 단말로부터 전송되는 사용자의 답변이 상기 질문에 대한 대답인지 상기 대화처리장치에의 질문인지를 구분하고, 상기 사용자의 답변이 기존 사용자의 답변과 동일한지 여부를 판단하는 사용자답변 분석부;
    상기 사용자 단말로부터 전송되는 사용자의 답변이 기존 사용자의 답변과 동일하지 않은 경우, 상기 사용자의 답변을 지식베이스 기반에 기초해서 새로운 답변으로 분류가능한지 판단하는 신규 대답/반응 생성부; 및
    상기 사용자답변 분석부의 판단결과 및 상기 신규 대답/반응 생성부의 판단결과에 기초해, 상기 사용자 단말에게 전송할 질문 또는 대답을 생성해, 그 결과를 상기 질문/대답 생성부에 제공하는 사용자답변 대응부를 포함하고,
    상기 신규 대답/반응 생성부는 1차적으로 지식베이스 DB에 기초해 사용자의 답변이 새로운 대답(답변)으로 분류가능한지 판단하고, 2차적으로 word2vec 모델에 기초해서 새로운 대답으로 분류가능한지 판단하는 것을 특징으로 하는 대화처리장치.
  2. 제1항에서,
    상기 사용자 단말로 제공된 질문과 관련되어 하나 이상의 사용자가 이전에 응답한 대답을 저장하고 있는 질문/대답 DB;
    상기 사용자 단말로 제공된 질문과 관련성이 없이, 사용자 단말로부터의 답변에 대한 상기 대화처리장치의 공통된 반응이 저장되어 있는 공통대답 DB; 및
    사용자와의 대화를 위해 상기 사용자 단말에 제공할 질문과 사용자 답변에 따른 반응 등을 저장하고 있는 대화 시나리오 DB를 추가로 포함하는 대화처리장치.
  3. 제2항에서,
    상기 사용자답변 분석부는
    상기 사용자 단말로부터 제공되는 사용자의 답변이 상기 질문/대답 DB에 저장되어 있는 기존 사용자의 답변과 동일하거나 상기 공통대답 DB에 저장되어 있는 대답과 동일하다고 판단한 경우, 이에 대응하는 질문 또는 대답을 상기 질문/대답 DB 또는 공통대답 DB로부터 가져오는 것을 특징으로 하는 대화처리장치.
  4. 삭제
  5. 제1항 내지 제3항 중 어느 한 항에서,
    상기 질문/대답 생성부에 의해 생성된 질문 데이터를 음성으로 변환시키는 TTS 변환부를 더 포함하는 대화처리장치.
  6. 제5항에서,
    상기 사용자 단말로부터 전송되는 사용자의 답변음성으로부터 언어적 의미 내용을 식별해 단어 또는 문장 데이터를 추출한 후, 추출된 단어 또는 문장 데이터를 상기 사용자답변 분석부와 상기 신규 대답/반응 생성부에 제공하는 음성인식부를 더 포함하는 포함하는 대화처리장치.
  7. 제2항에서,
    상기 질문/대답 생성부는 상기 대화시나리오 DB에 저장되어 있는 대화 시나리오에 기초해서 질문을 생성하거나, 상기 사용자답변 대응부에 의해 생성된 정보에 기초해 질문을 생성하는 것을 특징으로 하는 특징으로 하는 대화처리장치.
  8. 하나 이상의 사용자 단말과 네트워크를 통해 연결되며, 상기 사용자 단말로 질문을 제공하고 상기 사용자 단말로부터 전송되는 답변음성을 처리하는 대화처리장치의 대화처리방법에 있어서,
    (a) 상기 대화처리장치가 상기 사용자 단말로 전송할 질문을 생성하고, 생성된 질문을 TTS 변환해 상기 사용자 단말로 전송하는 단계;
    (b) 상기 대화처리장치가 상기 사용자 단말로부터 전송되는 사용자의 답변이 상기 질문에 대한 대답인지 상기 대화처리장치에의 질문인지를 구분하고, 상기 사용자의 답변이 기존 사용자의 답변과 동일한지 여부를 판단하는 단계;
    (c) 상기 사용자 단말로부터 전송되는 사용자의 답변이 기존 사용자의 답변과 동일하지 않은 경우, 상기 대화처리장치가 상기 사용자의 답변을 지식베이스 기반에 기초해서 새로운 답변으로 분류가능한지 판단하는 단계;
    (d) 상기 (b) 단계 및 상기 (c) 단계의 판단결과에 기초해, 상기 대화처리장치가 상기 사용자 단말에게 전송할 질문 또는 대답을 생성해, 생성된 질문 또는 대답을 TTS 변환해 상기 사용자 단말로 전송하는 단계를 포함하고,
    상기 단계 (c)는
    (c1) 상기 대화처리장치가 지식베이스 DB에 기초해 사용자의 답변이 새로운 답변으로 분류가능한지 판단하는 단계;
    (c2) 상기 대화처리장치가 word2vec 모델에 기초해서 새로운 답변으로 분류가능한지 판단하는 단계; 및
    (c2) 상기 단계 (c1) 및 상기 단계 (c2)에서 새로운 답변으로 분류가능한 것으로 판단한 경우, 상기 대화처리장치가 상기 사용자 단말로부터의 답변에 대한 새로운 반응대답을 생성하고, 상기 새로운 답변과 상기 새로운 반응대답을 연관시켜 상기 사용자 단말로 제공된 질문과 관련되어 하나 이상의 사용자가 이전에 응답한 대답을 저장하고 있는 질문/대답 DB에 추가로 저장하는 단계를 포함하는 대화처리방법.
  9. 제8항에서,
    상기 대화처리장치는
    상기 사용자 단말로 제공된 질문과 관련성이 없이, 사용자 단말로부터의 답변에 대한 상기 대화처리장치의 공통된 반응이 저장되어 있는 공통대답 DB; 및
    사용자와의 대화를 위해 상기 사용자 단말에 제공할 질문과 사용자 답변에 따른 반응 등을 저장하고 있는 대화 시나리오 DB를 포함하며,
    상기 단계 (b)는
    (b1) 상기 대화처리장치가 상기 질문/대답 DB를 참조해, 동일 질문에 대한 다른 사용자의 동일한 대답이 있는지를 판단하고, 동일한 대답이 있는 경우 기존 사용자의 답변과 같은 대답을 추출하는 단계; 및
    (b2) 상기 단계 (b1)의 판단결과 동일한 대답이 없는 경우, 상기 대화처리장치가 상기 공통대답 DB에 있는 대답인지를 판단하고, 공통 대답이 있는 경우 상기 공통대답 DB으로부터 동일한 대답을 추출하는 단계를 포함하는 대화처리방법.
  10. 삭제
KR1020170175764A 2017-05-17 2017-12-20 챗봇의 대화처리장치 및 그 방법 KR102030803B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170061167 2017-05-17
KR20170061167 2017-05-17

Publications (2)

Publication Number Publication Date
KR20180126357A KR20180126357A (ko) 2018-11-27
KR102030803B1 true KR102030803B1 (ko) 2019-11-08

Family

ID=64603503

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170175764A KR102030803B1 (ko) 2017-05-17 2017-12-20 챗봇의 대화처리장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102030803B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102256383B1 (ko) 2020-05-18 2021-05-25 권영훈 사용자의 희망시간을 고려하여 응답정보를 제공하고 캐릭터의 외형을 변환하는 챗봇 서비스를 위한 시스템
KR102289195B1 (ko) 2020-02-17 2021-08-12 김창겸 페이지톡 제공 장치
KR20230079321A (ko) 2020-07-16 2023-06-07 주식회사 에이비파트너스 챗봇 서비스를 제공하는 커뮤니케이션 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102174148B1 (ko) * 2018-12-05 2020-11-04 서울대학교산학협력단 자연어 문장에서 응대 여부를 판단하는 음성인식 방법
WO2020226213A1 (ko) * 2019-05-09 2020-11-12 엘지전자 주식회사 음성 인식 기능을 제공하는 인공 지능 기기, 인공 지능 기기의 동작 방법
KR20200134947A (ko) 2019-05-24 2020-12-02 럽디(주) 챗봇 이용과 결제율 간의 상관 관계 분석을 통한 챗봇 제어 시스템
KR102268005B1 (ko) * 2020-10-27 2021-06-21 이강희 감성 인공지능 큐레이션 시스템 및 방법
KR102334255B1 (ko) * 2021-08-31 2021-12-02 (주)네오플로우 AI 기반 음성서비스의 Text Data 수집 플랫폼 구축 및 통합관리방법
KR102578257B1 (ko) * 2023-05-30 2023-09-12 김세원 챗봇 서비스 구축 및 유지보수 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339314A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> 自動応答方法及び対話解析方法並びに応答文生成方法、その装置、そのプログラムを記録した媒体
JP2011076627A (ja) * 2010-12-16 2011-04-14 Oki Electric Industry Co Ltd 対話管理装置、方法及びプログラム、並びに意識抽出システム
JP2016061970A (ja) * 2014-09-18 2016-04-25 株式会社東芝 音声対話装置、方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339314A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> 自動応答方法及び対話解析方法並びに応答文生成方法、その装置、そのプログラムを記録した媒体
JP2011076627A (ja) * 2010-12-16 2011-04-14 Oki Electric Industry Co Ltd 対話管理装置、方法及びプログラム、並びに意識抽出システム
JP2016061970A (ja) * 2014-09-18 2016-04-25 株式会社東芝 音声対話装置、方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102289195B1 (ko) 2020-02-17 2021-08-12 김창겸 페이지톡 제공 장치
KR102256383B1 (ko) 2020-05-18 2021-05-25 권영훈 사용자의 희망시간을 고려하여 응답정보를 제공하고 캐릭터의 외형을 변환하는 챗봇 서비스를 위한 시스템
KR20210142560A (ko) 2020-05-18 2021-11-25 권영훈 챗봇 서비스를 제공하는 커뮤니케이션 시스템
KR20230079321A (ko) 2020-07-16 2023-06-07 주식회사 에이비파트너스 챗봇 서비스를 제공하는 커뮤니케이션 시스템

Also Published As

Publication number Publication date
KR20180126357A (ko) 2018-11-27

Similar Documents

Publication Publication Date Title
KR102030803B1 (ko) 챗봇의 대화처리장치 및 그 방법
JP6726800B2 (ja) 人工知能に基づくヒューマンマシンインタラクション方法及び装置
US10217464B2 (en) Vocabulary generation system
WO2019200923A1 (zh) 基于拼音的语义识别方法、装置以及人机对话系统
KR100807307B1 (ko) 대화형 음성 인터페이스 시스템 및 그 응답 방법
CN112801626A (zh) 自动化助理实现的方法和相关存储介质
CN110704576B (zh) 一种基于文本的实体关系抽取方法及装置
US10803850B2 (en) Voice generation with predetermined emotion type
AU2019219717B2 (en) System and method for analyzing partial utterances
KR20050015586A (ko) 음성 대화 시스템에서의 음성 인식 오류 처리 방법 및 장치
KR101534413B1 (ko) 상담 정보를 이용하여 상담 대화를 제공하는 방법 및 장치
CN117521675A (zh) 基于大语言模型的信息处理方法、装置、设备及存储介质
KR101677859B1 (ko) 지식 베이스를 이용하는 시스템 응답 생성 방법 및 이를 수행하는 장치
US20190311716A1 (en) Dialog device, control method of dialog device, and a non-transitory storage medium
KR20210059995A (ko) 학습 기반의 외국어 말하기 평가 방법 및 그 시스템
KR101548907B1 (ko) 다중언어의 대화시스템 및 그 제어방법
Abhishek et al. Aiding the visually impaired using artificial intelligence and speech recognition technology
KR20190074508A (ko) 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법
KR20210051523A (ko) 도메인 자동 분류 대화 시스템
Inupakutika et al. Integration of NLP and Speech-to-text Applications with Chatbots
JP6479916B1 (ja) 情報処理装置、情報処理方法、およびプログラム
Fischer et al. Getting acquainted with a developing robot
Jain et al. Comparative analysis and development of voice-based chatbot system for differently-abled
CN110047473B (zh) 一种人机协作交互方法及系统
CN115408500A (zh) 问答一致性的评估方法、装置、电子设备及介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right