KR102060777B1 - 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법 - Google Patents
화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법 Download PDFInfo
- Publication number
- KR102060777B1 KR102060777B1 KR1020170156647A KR20170156647A KR102060777B1 KR 102060777 B1 KR102060777 B1 KR 102060777B1 KR 1020170156647 A KR1020170156647 A KR 1020170156647A KR 20170156647 A KR20170156647 A KR 20170156647A KR 102060777 B1 KR102060777 B1 KR 102060777B1
- Authority
- KR
- South Korea
- Prior art keywords
- speech
- act
- coin
- row
- node
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000004044 response Effects 0.000 claims description 70
- 230000008569 process Effects 0.000 claims description 27
- 230000006698 induction Effects 0.000 claims description 18
- 230000001939 inductive effect Effects 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 27
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/34—Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
Abstract
본 발명은 목적 발화에 부합하는 주화행을 처리하는 주화행부 및 상기 주화행의 이탈이 발생하면 자유 발화에 부합하는 자유화행을 처리하고, 주화행으로 복귀하기 위한 노드를 탐색하는 자유화행부를 포함하여, 상기 자유화행부는 자유화행을 처리하면서 주화행으로 복귀하도록 화행 제어하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템 및 동작 방법을 개시한다.
Description
본 발명은 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법에 관한 것으로서, 더욱 상세하게는 화행 제어를 이용하여 목적 지향 멀티턴의 대화를 처리하는 기술에 관한 것이다.
자연언어처리(NLP: Natural Language Processing)를 활용하여 컴퓨터와 인간이 소통하는 기술은, 챗봇(chatbot)이라는 용어로 널리 알려져 있다. 챗봇은 규칙, 프레임 및 기계학습을 이용하여 인간의 자연언어를 응답의 수단으로 출력하는 것으로서, 컴퓨터의 처리와 사용자의 입력이 번갈아 발생하여 멀티턴의 대화를 처리하고, 최종 대화 목표에 도달하도록 유도한다.
특허문헌 1은 대화 관리 방법 및 이를 실행하는 시스템에 관한 것이고, 특허문헌 2는 대화 지식 추출 서버, 방법 및 대화 제공 디바이스에 관한 것으로서, 특허문헌들은 시나리오 또는 유한 상태 변환기(FST: Finite State Transition)를 포함하는 주화행 제어 수단을 통하여 목적 발화에 부합하는 주화행을 처리한다.
그러나 특허문헌들은 사용자의 입력 발화에 대응하여 엉뚱한 대답으로 응답하거나, 동일한 응답을 반복하여 자연스러운 대화가 이루어지지 않는 문제점이 있다. 또한, 지금까지 챗봇의 역할이 사용자의 질의나 발화에 응답하는 방식으로 한정되어, 대화를 통한 목적 달성의 수단으로 구현하는데 어려움을 겪고 있다.
상기 문제점은 여러 번에 걸친 멀티턴의 대화를 일관성 있게 이어가지 못하여 발생할 수 있고, 사용자의 예기치 못한 발화에 대응하지 못하여 발생할 수 있다.
본 발명은 상기와 같은 문제점을 해결하고자 사용자의 예기치 못한 자유 발화의 입력을 받으면 자유 발화에 부합하는 자유화행을 처리하면서 주화행으로 복귀하도록 화행 제어하는 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법을 제공한다.
상기 과제를 달성하기 위한 본 발명에 따른 화행 제어를 이용한 대화 처리 시스템은, 특정 대화 목적이 있는 목적 발화에 부합하는 주화행을 처리하는 주화행부 및 주화행에서 이탈된 자유 발화에 부합하는 자유화행을 처리하고, 자유화행에서 목적 발화로 연결 가능한 복귀 가능 노드의 탐색을 통하여 주화행으로 복귀하도록 화행 제어하는 자유화행부를 포함하여, 상기 자유화행부는 자유화행을 처리하면서 주화행으로 복귀하도록 화행 제어하는 것을 특징으로 한다.
상기 주화행부는 멀티턴의 주화행을 처리하는 제1 주화행부 및 상기 주화행의 이탈 여부를 식별하고, 주화행의 이탈이 발생하면 자유화행부의 화행 제어로 화행 제어 권한을 변경하는 제2 주화행부를 포함하는 것을 특징으로 할 수 있다.
상기 제2 주화행부는 사용자의 발화가 주화행에서 이탈되었는지 주화행의 이탈 여부를 검사하고, 사용자의 발화가 자유 발화로 판별되면 자유화행부의 화행 제어로 화행 제어 권한을 변경하는 것을 특징으로 할 수 있다.
상기 자유화행부는 멀티턴의 자유화행을 처리하는 제1 자유화행부 및 상기 주화행으로 복귀 가능 노드를 탐색하여 하나 이상의 복귀 유도 경로를 생성하는 제2 자유화행부를 포함하는 것을 특징으로 할 수 있다.
상기 제1 자유화행부는 하나 이상의 챗봇으로 이루어진 챗봇풀 또는 대화 흐름 그래프를 통하여 멀티턴의 자유화행을 처리하고, 자유화행별로 구분하여 챗봇 또는 응답 발화를 선택하는 것을 특징으로 할 수 있다.
상기 제2 자유화행부는 복귀 가능 노드를 탐색하고, 복귀 가능 노드로부터 현재 응답 발화까지 연결 가능한 노드들을 역추적하여 복귀 유도 경로를 생성하는 것을 특징으로 할 수 있다.
상기 제1 자유화행부는 주화행부에서 이탈이 발생한 마지막 출력에 대응하는 사용자의 마지막 입력에 따른 응답 발화 후보를 탐색하고, 응답 발화를 결정하기 위해 복귀 유도 경로 또는 공통 노드의 발화를 비교하는 것을 특징으로 할 수 있다.
본 발명에 따른 화행 제어를 이용한 대화 처리 시스템의 동작 방법은, 자유화행부가 주화행의 특정 대화 목적이 있는 목적 발화에서 이탈된 자유 발화에 부합하는 자유화행을 처리하고, 자유화행에서 목적 발화로 연결 가능한 복귀 가능 노드를 탐색하여 하나 이상의 복귀 유도 경로를 생성하는 단계; 화행 이탈이 발생한 마지막 출력에 대응하는 마지막 입력에 따른 응답 발화를 탐색하는 단계 및 상기 응답 발화와 복귀 가능 노드 간의 공통 노드를 산출하여 주화행으로 복귀하기 위한 복귀 유도 경로를 선택하는 단계를 포함하여, 상기 자유화행부의 화행 제어를 통하여 주화행 복귀를 유도하는 것을 특징으로 한다.
본 발명은 자유화행을 처리하면서 주화행으로 복귀하도록 화행 제어를 함으로써, 일관성 있게 멀티턴의 대화를 처리할 수 있고, 최종 대화 목표까지 도달할 수 있다.
도 1은 본 발명에 따른 화행 제어를 이용한 대화 처리 시스템을 도시한 블록도이다.
도 2는 도 1의 주화행부를 상세하게 도시한 블록도이다.
도 3은 도 1의 자유화행부를 상세하게 도시한 블록도
도 4는 도 1의 주화행부의 동작 방법을 도시한 흐름도이다.
도 5는 도 1의 주화행부와 자유화행부의 연계된 동작 방법을 도시한 흐름도이다.
도 6은 주화행 이탈시 제1 자유화행부(210)와 제2 자유화행부(220)의 동작 방법을 도시한 흐름도이다.
도 7은 종래의 대화 예측 방법과 본 발명의 복귀 경로 생성 방법을 비교한 예이다.
도 8은 주화행 이탈이 포함된 발화에서 자유화행을 유지하면서 주화행으로 복귀하는 과정을 도시한 예이다.
도 2는 도 1의 주화행부를 상세하게 도시한 블록도이다.
도 3은 도 1의 자유화행부를 상세하게 도시한 블록도
도 4는 도 1의 주화행부의 동작 방법을 도시한 흐름도이다.
도 5는 도 1의 주화행부와 자유화행부의 연계된 동작 방법을 도시한 흐름도이다.
도 6은 주화행 이탈시 제1 자유화행부(210)와 제2 자유화행부(220)의 동작 방법을 도시한 흐름도이다.
도 7은 종래의 대화 예측 방법과 본 발명의 복귀 경로 생성 방법을 비교한 예이다.
도 8은 주화행 이탈이 포함된 발화에서 자유화행을 유지하면서 주화행으로 복귀하는 과정을 도시한 예이다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
도 1은 본 발명에 따른 화행 제어를 이용한 대화 처리 시스템을 도시한 블록도로서, 대화 처리 시스템(10)은 교육, 안내 및 마켓팅 등 특정 대화 목적에 부합하는 화행을 처리한다.
대화 처리 시스템(10)은 특정 대화 목적이 있는 목적 발화에 부합하는 주화행을 처리하는 주화행부(100) 및 주화행에서 이탈된 자유 발화에 부합하는 자유화행을 처리하는 자유화행부(200)를 포함한다.
도 2는 도 1의 주화행부를 상세하게 도시한 블록도로서, 주화행부(100)는 제1 주화행부(110) 및 제2 주화행부(120)를 포함한다.
제1 주화행부(110)는 시나리오 또는 유한 상태 변환기(FST: Finite State Transition)를 포함하는 주화행 제어 수단을 통하여 목적 발화에 부합하는 주화행을 처리한다.
제1 주화행부(110)는 사용자의 발화 의도를 파악하여 최적의 대응 발화를 수행하고, 학습의 종료, 안내의 종료 및 물품의 구매 등 최종 대화 목표까지 도달하도록 목적 발화에 부합하는 주화행을 처리한다. 예를 들어 제1 주화행부(110)는 사용자의 발화가 주화행에 따르면 사용자의 발화에 응답하는 발화를 생성한다.
제2 주화행부(100)는 발화 검사부(121) 및 주화행 권한 변경부(122)를 포함한다.
발화 검사부(121)는 주화행을 추출하고, 대화 목표 도달 여부를 식별한다. 제1 주화행부(110)는 대화 목표에 도달하면 현재 대화의 주화행 처리를 종료하고, 대화 목표에 미도달하면 대화 목표와 다음 대화 목표를 위한 화행을 처리한다.
발화 검사부(121)는 사용자의 발화가 주화행에서 이탈되었는지 주화행의 이탈 여부를 검사하고, 주화행 권한 변경부(122)는 주화행의 이탈이 발생하면 자유화행부(200)의 화행 제어로 화행 제어 권한을 변경한다
제1 주화행부(110)는 챗봇 발화 출력시 [Place], [Go|Move|Travel], [NOT Question] 등의 어휘와 구문 집합의 특성을 입력 발화 또는 기대 발화의 평가 기준값에 등록하고, 목적 발화를 담당하기 때문에 기대 발화에 대한 응답 발화 또는 예정 발화를 사용자 입력전에 산출할 수 있다.
발화 검사부(121)는 사용자의 입력에 대응하는 기대 발화의 평가 기준값과 예정 발화의 요약 정보를 비교하여 이산적, 선형적으로 주화행의 이탈 여부를 평가할 수 있다. 요약 정보는 언어학적 분석값들과 시스템의 처리 계획 또는 액션 플랜에 관한 정보일 수 있다. 아래의 예시는 기대 발화에 따른 예정 발화가 출력되는 예를 나타낸 것이다.
<기대 발화에 따른 예정 발화 출력의 예>
챗봇: 최근에 어디로 여행을 갔어요?
사용자: 최근에 바빴어요
<기대발화> 제주도에 갔었어요.
<예정발화1> 제주도에서 가장 인상 깊었던 곳은 어디였나요?
<예정발화n> 제주도에서 가장 즐거웠던 일은 무엇인가요?
종래에는 FST 또는 시나리오 방식 등 천이확률모델을 사용하여 목적 발화에 부합하는 주화행을 처리하였다. 예를 들어 종래에는 사용자의 이전 발화와 응답 발화 후보군 중에서 상관관계가 가장 높은 것을 선택한다.
본 발명은 사용자의 이전 발화만을 사용하는 것이 아니라, 기대 발화와 예정 발화를 포함하여 주화행 이탈 여부를 먼저 판정하고, 화행 순응시 다음의 최적 발화를 선택하므로, 종래와 대비하여 차이점이 있다. 예를 들어 본 발명은 현재 챗봇의 발화, 기대 발화 및 예정 발화와 사용자의 발화를 포함하여 주화행의 이탈 여부를 판정하고, 응답 발화의 후보 군중에서 상관관계가 가장 높은 것을 선택한다.
도 3은 도 1의 자유화행부를 상세하게 도시한 블록도로서, 자유화행부(200)는 주화행의 이탈이 발생하면 자유 발화에 부합하는 자유화행을 처리하고, 주화행으로 복귀하기 위한 복귀 가능 노드를 탐색한다. 자유화행부(200)는 예외적 사용자 반응에 대응하는 자유 발화에 부합하는 자유화행을 처리할 수 있다.
자유화행부(200)는 멀티턴의 자유화행을 처리하는 제1 자유화행부(210) 및 주화행으로 복귀 가능한 노드를 탐색하여 복귀 노드를 생성하는 제2 자유화행부(220)를 포함한다.
제1 자유화행부(210)는 하나 이상의 챗봇(212-1, 212-2,… 212-N)으로 이루어진 챗봇풀을 통하여 멀티턴의 자유화행을 처리하는 자유화행 처리부(212) 및 자유화행별로 구분하여 챗봇 또는 응답 발화를 선택하는 자유화행 선택부(211)를 포함한다. 챗봇풀은 자유 발화 모델로서 사용자와의 대화를 지속적으로 하기 위해 주화행과 다른 화제의 자유화행을 처리할 수 있다.
제1 자유화행부(210)는 대화 흐름 그래프(DFG: Dialogue Flow Graph)를 통하여 멸티턴의 자유화행을 처리할 수 있다.
자유 발화에서는 아래의 예시와 같이 사용자의 화제 이동이 빈번하게 일어날 수 있고, 하나의 챗봇을 통하여 긴 대화를 일관성있게 유지하기 어려운 문제점이 있다.
<화제 이동이 빈번하게 일어나는 자유 발화의 예>
[여행 화제]챗봇: 최근에 어디로 여행을 갔어요?
사용자: 최근에 바빴어요
[행위 화제]챗봇 : 왜 바빴어요?
사용자: 요즘은 부모님 생각이 많이 나요.
[안부 화제]챗봇 : 부모님에게 자주 연락하세요.
사용자: 아르바이트비 받으면 새 핸드폰을 사야겠어요.
본 발명은 3 내지 5턴 수준으로 이루어진 짧은 대화를 담당하는 챗봇을 다수로 구성하고, 사용자의 빈번한 화제 이동과 이탈이 발생하여도 사용자 입력시 최적의 담당 챗봇을 선택하도록 하여 대화 흐름에 부적절한 응답을 최소화할 수 있다. 예를 들어 3턴 수준은 챗봇-사용자-챗봇 순서의 수준이다.
자유화행 선택부(211)는 주화행 권한 변경부(122)로부터 자유화행부(200)의 화행 제어로 화행 제어 권한을 변경하는 요청을 수신하고, 사용자 자유 발화에 부합하는 자유화행을 처리하기 위한 챗봇을 선택할 수 있다.
자유화행 선택부(211)는 제2 주화행부(100)로부터 화행 이탈이 발생한 챗봇의 마지막 출력, 이에 대한 사용자의 마지막 입력 및 주화행의 다음 시나리오를 입력으로 받을 수 있다. 주화행의 다음 시나리오는 사용자의 기대 발화와 응답 발화이다.
제2 자유화행부(220)는 자유화행 선택부(211)로부터 주화행 복귀를 위해 자유화행별 챗봇 선택시 복귀 요건을 수신한다.
챗봇풀 또는 대화 흐름 그래프에서 최적 발화 선택은, 주화행 복귀 가능 노드와의 상관성을 제외하면 일반적인 챗봇에서의 최적 발화 선택과 동일하다. 다만 일반적인 챗봇에서는 시나리오 또는 스크립트 등 예상 대응 발화군 내에서 주제와 상황별로 구분해 두고, 사용자 입력을 분석해 최적 발화를 선택하는 것이고, 챗봇풀에서는 대기된 챗봇에 사용자 발화를 전달해 출력된 챗봇의 발화를 보고, 최적 발화 선택을 위한 챗봇을 선택할 수 있다.
제2 자유화행부(220)는 노드 탐색부(221), 복귀 경로 생성부(222) 복귀 경로 선정부(223) 및 자유화행 권한 변경부(224)를 포함한다.
노드 탐색부(221)는 주화행으로 복귀 가능한 노드를 탐색하고, 복귀 경로 생성부(222)는 복귀 가능 노드로부터 현재 응답 발화까지 연결 가능한 노드들을 역추적하여 복귀 유도 경로를 생성하며, 자유화행 권한 변경부(224)는 주화행부(100)의 화행 제어로 화행 제어 권한을 변경한다.
자유화행 처리부(212)는 현재 응답 발화로부터 생성된 제1 경로와 복귀 가능 노드의 발화로부터 생성된 제2 경로 간의 공통 노드 또는 최근 사거리 노드를 산출한다.
아래의 예시는 사용자의 기대 발화와 실제 발화에 따른 예를 나타낸 것이다.
<사용자의 기대 발화와 실제 발화에 따른 예>
챗봇: 최근에 어디로 여행을 갔어요?
기대발화: (여행지)에 갔어요.
실제발화: 최근에 바빴어요.
[주화행 이탈 자유화행 선택부(211)로 전달]
목표발화: (여행지)에는 맛있는 음식이 많아요.
위의 발화 예시에서 "최근에 바빴어요."는 주화행 이탈로 분류되어 자유화행 선택부(211)로 전달된다.
노드 탐색부(221)는 여러 가지 챗봇 풀 중에서 목표발화인 "(여행지)에는 맛있는 음식이 많아요." 와 가장 유사한 문장을 찾고, 여기서는 화살표 마지막 부분의 여행 챗봇 풀의 대화 노드들 중에서 "제주도는 먹거리가 많지요."가 가장 유사하므로 이것을 복귀 가능 노드로 결정할 수 있다.
"바빴어요."에 대한 챗봇의 응답인 "힘들겠어요."와 동일한 패턴의 대화쌍은 여러 챗봇 풀 중에서 중복으로 나타날 수 있지만, 여행지에 맛있는 음식이 있다는 내용이 복귀 가능 노드가 될 수 있음을 고려하면 후보군은 줄어들게 된다.
<영화 챗봇풀에 등장한 대화쌍 예>
Bot: 최근에 영화를 봤어요? → User: 바빴어요. → Bot: 힘들겠어요.
복귀 경로 생성부(222)는 복귀 가능 노드가 결정되면 역순으로 예상 대화 시나리오 등 복귀 유도 경로를 형성한다.
복귀 유도 경로를 형성하는 방법은 복귀 가능 노드인 "제주도는 먹거리가 많지요."부터 그래프의 역순으로 거슬러 올라가는데 이는 일반적인 대화 예측방법이 순차적이라는 점을 고려하면 정반대라고 할 수 있다. 즉, "제주도가 좋다던데"를 보고 "제주도는 먹거리가 많지요."라는 응답을 예측하는 것이 아니라 반대로 "제주도는 먹거리가 많지요."라는 응답을 유발시킬 수 있는 가능성이 가장 높은 발화를 예측하는 방식이다. 이렇게 역순으로 거슬러 올라가다보면 노드의 분기점을 만나게 되는데, 예를들면 "제주도가 좋다던데", "네 어디 가지도 못해요"는 해당 노드에서 분기가 되고 있음을 알 수 있다.
복귀 경로 생성부(222)는 현재 응답 발화인 "힘들겠네요."를 시작점으로 하여 대화 예측 방법을 사용해 순차적으로 발화 경로를 생성할 수 있다.
복귀 경로 생성부(222)는 한 개의 주화행 이탈 대화에 대해서 복수 개의 복귀 유도를 위한 발화 경로들이 발생할 수 있다. 예를 들어 복귀 경로 생성부(222)는 복귀 가능 노드를 토대로 역순으로 복귀 유도 경로 생성 방법을 통해 생성된 발화 경로를 발생할 수 있고, 둘째로 자유화행 제어기의 현재 응답 발화를 시작점으로 대화 예측 방법을 통해 순차적으로 생성된 발화 경로를 발생할 수 있다. 또한 복귀 경로 생성부(222)는 대화 예측 방법, 복귀 유도 경로 생성방법 또는 분기가 이루어지는 노드로 인해 경로가 갈리는 원인에 의해 발화 경로를 발생할 수 있다. 아래의 예시는 복수 개의 발화 경로들을 발생하는 예이다.
<복수 개의 발화 경로들을 발생하는 예>
1. 제주도는 먹을 거리가 많아요. [복귀 가능 노드 t] → 제주도가 좋다던데 [t-1] → 어디 가고 싶어요? [t-2] → 네 어디 가지도 못해요 [t-3] → 힘들겠어요. [t-4]
2. 힘들겠어요. [주화행 이탈 입력에 대한 응답 노드 t] → 네. 어디 가지도 못해요. [분기 가능 노드 t+1] → 그럼 다음에 제주도에 가 보세요. [t+2]
3. 힘들겠어요. [주화행 이탈 입력에 대한 응답 노드 t] → 네. 어디 가지도 못해요. [분기 가능 노드 t+1] → 어디 가고 싶어요? [t+2] → 제주도가 좋다던데… [분기 가능 노드 t+3] → 제주도는 볼거리가 많아요. [t+4]
4. 힘들겠어요. [주화행 이탈 입력에 대한 응답 노드 t] → 네. 어디 가지도 못해요. [분기 가능 노드 t+1] → 어디 가고 싶어요? [t+2] → 제주도가 좋다던데… [분기 가능 노드 t+3] → 제주도는 먹을거리가 많아요. [t+4]
복귀 경로 선정부(223)는 위의 예시처럼 복수 개의 발화 경로가 발생하기 때문에 최적경로 알고리즘을 사용하여 각 노드의 1-유사도값의 총합이 가장 낮고, 노드 수의 적음 등 진행되는 노드의 총 경로가 짧으며, 대화예측 방법을 통한 발화 경로와 복귀 유도 방식을 통한 발화 경로가 일치하는 노드가 많은 발화 경로를 최종적으로 선택하도록 한다. 이 때 1-유사도값에서 유사도 x의 범위는 0 이상 1 이하이다.
복귀 경로 선정부(223)는 최적 복귀 직전 노드의 탐색 결과에 대해 현재 자유화행 처리부(212)의 응답 발화 후보군들과의 상관관계를 측정하여 이전 최적 복귀 직전 노드가 현재 최적 복귀 직전 노드와의 상관관계보다 높으면 이전까지의 최적 복귀 직전 노드들 등 복귀-시작 최적 경로를 선정한다.
사용자의 다음 입력에 따라 자유화행 처리부(212)의 응답 발화는, 복귀 가능 노드와의 상관관계가 더 낮아질 수 있으므로, 복귀 경로 선정부(223)는 사용자의 입력이 발생할 때 마다 복귀-시작 최적 경로 탐색을 반복한다.
주화행 권한 변경부(122)는 자유화행 권한 변경부(224)로부터 주화행부(100)의 화행 제어로 화행 제어 권한을 변경하는 요청을 수신하면 제1 주행부(110)가 다시 동작되도록 제어한다.
본 발명은 주화행부(100)가 목적 발화에 부합하는 주화행을 처리함으로써, 사용자의 돌발적인 발화, 예외적인 발화 또는 확장된 지식 등 부가적인 시나리오를 줄일 수 있다.
본 발명은 주화행의 이탈이 발생하면 사용자 발화에 대응하는 응답 발화의 생성 권한을 자유화행부(200)로 변경함으로써, 주화행부(100)가 예기치 않은 사용자의 발화를 회피하고, 부적절한 응답 발화의 생성을 방지할 수 있다.
본 발명은 사용자가 화제를 이탈한 발화 또는 예기치 못한 발화를 입력하더라도 자유화행부(200)를 통하여 대화가 중단되지 않도록 할 수 있고, 사용자 발화에 대응하여 엉뚱한 응답 발화가 출력되지 않도록 할 수 있다.
본 발명의 화행 제어를 이용한 대화 처리 시스템(10)은 사용자의 음성 또는 텍스트 형태의 발화를 수신하고, 사용자 발화에 대응하는 응답 발화를 출력하는 입출력부(100)를 더 포함할 수 있다.
도 4는 도 1의 주화행부의 동작 방법을 도시한 흐름도로서, 주화행부(100)는 주화행의 이탈이 없다고 가정하면, 목적 발화에 부합하는 주화행을 처리하고, 주화행을 추출하여 대화 목표 도달 여부를 식별한다. 주화행부(100)는 대화 목표에 도달하면 현재 대화의 주화행 처리를 종료하고, 대화 목표에 미도달하면 대화 목표와 다음 대화 목표를 위한 화행을 처리한다.
도 5는 도 1의 주화행부와 자유화행부의 연계된 동작 방법을 도시한 흐름도로서, 주화행부(100)는 주화행의 이탈 여부를 식별하고, 주화행의 이탈이 발생하면 자유화행부(200)의 화행 제어로 화행 제어 권한을 변경한다.
자유화행부(200)는 주화행부(100)로부터 화행 제어 권한을 변경하는 요청을 수신하면, 자유 발화에 부합하는 자유화행을 처리하고, 주화행으로 복귀하기 위한 가능 노드를 탐색한다.
자유화행부(200)는 주화행으로 복귀 가능한 노드를 탐색하고, 복귀 가능 노드로부터 현재 응답 발화까지 연결 가능한 노드들을 역추적하여 복귀 유도 경로를 생성하며, 주화행부(100)의 화행 제어로 화행 제어 권한을 변경하는 요청을 주화행부(200)로 전송한다.
자유화행부(200)는 공통 노드 부재, 공통 노드 진입후 이탈 및 자유화행 변경 중 하나 이상의 경로 이탈이 발생하면 복귀 가능한 노드를 재탐색하고, 자유화행을 계속 처리한다.
도 6은 주화행 이탈시 제1 자유화행부(210)와 제2 자유화행부(220)의 동작 방법을 도시한 흐름도로서, 노드 탐색부(221)는 자유화행 선택부(211)로부터 제1 주화행부(110)에서 화행 이탈이 발생한 마지막 출력에 대응하는 사용자의 마지막 입력 및 사용자의 마지막 입력에 대응하는 주화행의 다음 시나리오를 기초로 하여 복귀 가능 노드를 탐색한다.
복귀 경로 생성부(222)는 복귀 가능 노드로부터 현재 응답 발화까지 연결 가능한 노드들을 역추적하여 복귀 유도 경로를 생성한다.
본 발명은 주화행이 이탈되어도 사용자의 발화에 호응하는 대화를 유지하고, 주화행 이탈 직전의 발화 또는 직후에 수행될 기대 발화와 유사한 발화가 피드백으로 출력된다면 다시 주화행에 따라 대화를 진행하더라도 자연스러운 발화가 이루어지도록 할 수 있다.
자유화행 처리부(212)는 주화행부(110)에서 화행 이탈이 발생한 마지막 출력에 대응하는 사용자의 마지막 입력에 따른 가장 자연스러운 응답 발화 후보를 탐색한다.
자유화행 처리부(212)는 응답 발화 후보와 복귀 경로 생성부(222)에서 생성된 복귀 노드 또는 공통 노드의 발화를 비교하여 발화의 유사도를 측정한다.
자유화행 처리부(212)는 응답 발화를 결정하기 위해 복귀 노드 또는 공통 노드의 발화를 비교한다.
복귀 노드는 현재 응답 발화로부터 생성된 경로와 복귀 가능 노드의 발화로부터 경로가 다를 수 있다. 자유화행 처리부(212)는 현재 응답 발화로부터 생성된 제1 경로와 복귀 가능 노드의 발화로부터 생성된 제2 경로 간의 공통 노드 또는 최근 사거리 노드를 산출하여 발화 유도 효과를 높일 수 있다.
복귀 경로 생성부(222)는 복귀 가능 노드와 자유화행 처리부(212)에서 생성된 응답 발화 후보가 상관관계가 매우 낮을 수 있고, 응답 발화 후보가 복귀 가능 노드로 연결될 수 있는 보장률이 낮을 수 있으므로, 응답 발화 후보와 상관관계가 높아질 수 있는 복귀 가능 노드를 탐색한다.
복귀 경로 생성부(222)는 복귀 가능 노드로부터 현재 응답 발화까지 연결 가능한 노드들을 역추적하여 복귀 유도 경로를 생성한다.
도 7은 종래의 대화 예측 방법과 본 발명의 복귀 경로 생성 방법을 비교한 예로서, 종래의 대화 예측 방법은 t번째 발화에 대하여 t-1번째 발화를 고려할 때 가장 자연스러운 t+1번째 발화를 탐색하여 수행하는 방법이고, 본 발명의 복귀 노드 생성 방법은 t번째 복귀 가능한 발화와 t+1번째 화행 이탈 발화 또는 복귀 후 예정 발화가 주어졌을 때 t번째 발화의 최적의 응답이 되게 하는 t-1번째 발화, t-2번째 발화,… t-n번째 발화를 탐색하여 수행하는 방법이다.
더욱 상세하게는 종래의 대화 예측 방법은 현재 입력된 사용자 발화가 t라고 할 때 다음 발화 시점 t+1에 상관관계가 높은 최적 응답 발화 또는 최적 화행을 선택하는 방법으로서, Sen2Vec 등이 대표적이고, RNN 등의 딥러닝 기법을 이용하여 구현되는 방법이다.
본 발명은 단순히 t와의 상관관계가 아니라, 복귀 가능 노드의 발화 또는 공통 발화와의 상관관계를 가중치로 포함시켜 계산되도록 한다. 즉 본 발명은 단순히 t와 자연스러운 응답관계가 아니라, 복귀 노드 발화로 연결될 가능성이 포함된 발화를 최적 응답으로 선택하도록 한다.
주화행 복귀 유도는 복귀 가능 노드의 발화를 t로 설정하고, t가 최적의 응답 발화가 되도록 하는 t-1에서의 발화 노드를 선택하는 기능을 포함한다.
다시 도 6을 참조하면 복귀 경로 선정부(223)는 최적 복귀 직전 노드의 탐색 결과에 대해 현재 자유화행 처리부(212)의 응답 발화 후보군들과의 상관관계를 측정하여 이전 최적 복귀 직전 노드가 현재 최적 복귀 직전 노드와의 상관관계보다 높으면 이전까지의 최적 복귀 직전 노드들 등 복귀-시작 최적 경로를 선정한다. 복귀-시작 최적 경로는 복귀 가능 노드보다 현재 응답 발화와 높은 상관관계를 가지게 되고, 복귀 가능 노드와의 상관관계가 커지는 방향으로 응답 발화가 선택되도록 영향을 미친다.
사용자의 다음 입력에 따라 자유화행 처리부(212)의 응답 발화는, 복귀 가능 노드와의 상관관계가 더 낮아질 수 있으므로, 노드 탐색부(221)는 사용자의 입력이 발생할 때 마다 복귀-시작 최적 경로 탐색을 반복한다.
복귀 경로 선정부(223)는 공통 노드를 탐색하고, 자유화행 처리부(212)에서 출력된 응답 발화를 공통 노드와 복귀 노드에 진입하여 주화행으로 복귀하도록 화행 제어한다.
도 8은 주화행 이탈이 포함된 발화에서 자유화행을 유지하면서 주화행으로 복귀하는 과정을 도시한 예로서, 본 발명은 사용자의 자유 발화에 대응하는 응답 발화를 계산 탐색하여 다양한 화제와 화행을 처리하는 자유화행 처리부(212)뿐만 아니라 최적의 응답 발화 선택시 주화행 복귀가 가능한 발화로 유도하기 위해 복귀 가능 노드 또는 공통 노드와의 유사도를 측정하는 복귀 경로 생성부(222)를 포함하여, 사용자의 발화가 주화행 복귀 노드의 발화로 이어질 가능성이 높은 응답 피드백을 출력할 수 있다.
복귀 경로 생성부(222)는 주화행에서 이탈하기 전의 대화로부터 기대 발화를 탐색하고, 기대 발화를 유발하는 가장 상관성이 높은 직전 발화들을 연속해서 탐색하여, 복귀 노드를 형성할 수 있다.
복귀 노드는 현재 응답 발화로부터 생성된 경로와 복귀 가능 노드의 발화로부터 경로가 다를 수 있다. 자유화행 처리부(212)는 현재 응답 발화로부터 생성된 제1 경로와 복귀 가능 노드의 발화로부터 생성된 제2 경로 간의 공통 노드 또는 최근 사거리 노드를 산출하여 발화 유도 효과를 높일 수 있다.
주화행 복귀 유도는 복귀 가능 노드의 발화를 t로 설정하고, t가 최적의 응답 발화가 되도록 하는 t-1에서의 발화 노드를 선택하는 기능을 포함한다. 예를 들어, t가 "제주도 말고 또 어디에 가 보고 싶어요?"라면, t-1은 "시간이 되면 제주도에 가 보고 싶어요.", "친구들은 제주도에 갔어요." 등이 선택되도록 하는 것이다. 이때, 자유화행 처리부(212)의 현재 출력 예정 발화와의 상관관계를 가중치로 포함시킬 수 있다. 이러한 방법으로 t-1, t-2,… t-n을 현재 출력 발화 또는 직전 발화가 없거나 제한된 횟수까지 반복하여 복귀 유도 발화 경로를 생성한다.
노드 탐색부(221)는 자유 화행의 공통 노드 부재, 공통 노드 진입후 이탈 또는 자유화행의 변경) 등 경로 이탈시 재탐색 하여 재생성 한다.
본 발명은 자유화행을 처리하면서 주화행으로 복귀하도록 화행 제어를 함으로써, 일관성 있게 멀티턴의 대화를 처리할 수 있고, 최종 대화 목표까지 도달할 수 있으며, 최종 대화 목표까지 지속적으로 사용자와의 대화가 이어지도록 할 수 있다. 예를 들어 본 발명은 사용자가 목적 발화와 다른 자유 발화를 하더라도 대화를 계속 유지하도록 하고, 주화행으로 되돌아갈 수 있는 대화를 유도하여 최종 대화 목표에 도달할 수 있다.
본 발명은 수동적인 대화와 능동적인 대화가 가능하다. 본 발명은 능동적인 대화시 대화 목적을 달성하기 위해 일정한 전략과 기대 발화를 예측하여 대화하고, 수동적인 대화시 사용자의 발화에 대한 적절한 호응이나 응답을 통하여 대화가 지속적으로 유지하는데 중점을 두며, 때때로 능동적인 대화로 전환하기 위해 적절한 시기까지 대화를 유지하도록 한다. 따라서 종래의 챗봇은 사용자의 발화에 대한 응답의 적절성에 주력했다면, 본 발명의 챗봇은 능동적인 대화도 함께 구현될 수 있다. 예를 들어 종래의 챗봇은 홈쇼핑에서 주문 접수원의 역할을 수행한다면, 본 발명의 챗봇은 영업사원 또는 쇼호스트의 역할도 수행할 수 있다.
10: 대화 처리 시스템 100: 주화행부
110: 제1 주화행부 120: 제2 주화행부
200: 자유화행부 210: 제1 자유화행부
220: 제2 자유화행부 300: 입출력부
110: 제1 주화행부 120: 제2 주화행부
200: 자유화행부 210: 제1 자유화행부
220: 제2 자유화행부 300: 입출력부
Claims (8)
- 특정 대화 목적이 있는 목적 발화에 부합하는 주화행을 처리하는 주화행부 및
주화행에서 이탈된 자유 발화에 부합하는 자유화행을 처리하고, 자유화행에서 목적 발화로 연결 가능한 복귀 가능 노드의 탐색을 통하여 주화행으로 복귀하도록 화행 제어하는 자유화행부를 포함하여,
상기 자유화행부는 자유화행을 처리하면서 주화행으로 복귀하도록 화행 제어하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템. - 제1항에 있어서,
상기 주화행부는,
멀티턴의 주화행을 처리하는 제1 주화행부 및
상기 주화행의 이탈 여부를 식별하고, 주화행의 이탈이 발생하면 자유화행부의 화행 제어로 화행 제어 권한을 변경하는 제2 주화행부를 포함하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템. - 제2항에 있어서,
상기 제2 주화행부는 사용자의 발화가 주화행에서 이탈되었는지 주화행의 이탈 여부를 검사하고, 사용자의 발화가 자유 발화로 판별되면 자유화행부의 화행 제어로 화행 제어 권한을 변경하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템. - 제1항에 있어서,
상기 자유화행부는,
멀티턴의 자유화행을 처리하는 제1 자유화행부 및
상기 주화행으로 복귀 가능 노드를 탐색하여 하나 이상의 복귀 유도 경로를 생성하는 제2 자유화행부를 포함하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템. - 제4항에 있어서,
상기 제1 자유화행부는 하나 이상의 챗봇으로 이루어진 챗봇풀 또는 대화 흐름 그래프를 통하여 멀티턴의 자유화행을 처리하고, 자유화행별로 구분하여 챗봇 또는 응답 발화를 선택하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템. - 제4항에 있어서,
상기 제2 자유화행부는 복귀 가능 노드를 탐색하고, 복귀 가능 노드로부터 현재 응답 발화까지 연결 가능한 노드들을 역추적하여 복귀 유도 경로를 생성하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템. - 제6항에 있어서,
상기 제1 자유화행부는 주화행부에서 화행 이탈이 발생한 마지막 출력에 대응하는 사용자의 마지막 입력에 따른 응답 발화 후보를 탐색하고, 응답 발화를 결정하기 위해 복귀 유도 경로 또는 공통 노드의 발화를 비교하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템. - 자유화행부가 주화행의 특정 대화 목적이 있는 목적 발화에서 이탈된 자유 발화에 부합하는 자유화행을 처리하고, 자유화행에서 목적 발화로 연결 가능한 복귀 가능 노드를 탐색하여 하나 이상의 복귀 유도 경로를 생성하는 단계;
화행 이탈이 발생한 마지막 출력에 대응하는 마지막 입력에 따른 응답 발화를 탐색하는 단계 및
상기 응답 발화와 복귀 가능 노드 간의 공통 노드를 산출하여 주화행으로 복귀하기 위한 복귀 유도 경로를 선택하는 단계를 포함하여,
상기 자유화행부의 화행 제어를 통하여 주화행 복귀를 유도하는 것을 특징으로 하는 화행 제어를 이용한 대화 처리 시스템의 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156647A KR102060777B1 (ko) | 2017-11-22 | 2017-11-22 | 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법 |
US16/765,162 US11081110B2 (en) | 2017-11-22 | 2018-11-21 | Dialogue processing system using speech act control and operation method thereof |
PCT/KR2018/014309 WO2019103441A1 (ko) | 2017-11-22 | 2018-11-21 | 화행제어를 이용한 대화처리 시스템 및 그 동작방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156647A KR102060777B1 (ko) | 2017-11-22 | 2017-11-22 | 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190059074A KR20190059074A (ko) | 2019-05-30 |
KR102060777B1 true KR102060777B1 (ko) | 2019-12-30 |
Family
ID=66632029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170156647A KR102060777B1 (ko) | 2017-11-22 | 2017-11-22 | 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11081110B2 (ko) |
KR (1) | KR102060777B1 (ko) |
WO (1) | WO2019103441A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10740371B1 (en) * | 2018-12-14 | 2020-08-11 | Clinc, Inc. | Systems and methods for intelligently configuring and deploying a machine learning-based dialogue system |
US20220164549A1 (en) * | 2020-09-03 | 2022-05-26 | Avaneendra Gupta | Natural language processing parsimonious question generator |
US20230306204A1 (en) * | 2022-03-22 | 2023-09-28 | International Business Machines Corporation | Mining asynchronous support conversation using attributed directly follows graphing |
KR102653266B1 (ko) * | 2023-07-07 | 2024-04-02 | 주식회사 비씨티원 | 인공지능 기반의 챗봇 대화 상담 시스템 및 그 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017189559A1 (en) | 2016-04-26 | 2017-11-02 | Taechyon Robotics Corporation | Multiple interactive personalities robot |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100277690B1 (ko) | 1998-12-01 | 2001-01-15 | 정선종 | 화행 정보를 이용한 음성 인식 방법 |
JP2007041443A (ja) * | 2005-08-05 | 2007-02-15 | Advanced Telecommunication Research Institute International | 音声変換装置、音声変換プログラムおよび音声変換方法 |
US8630961B2 (en) * | 2009-01-08 | 2014-01-14 | Mycybertwin Group Pty Ltd | Chatbots |
KR20100111164A (ko) | 2009-04-06 | 2010-10-14 | 삼성전자주식회사 | 사용자의 발화의도를 파악하는 음성 대화 처리장치 및 음성 대화 처리방법 |
KR101178310B1 (ko) | 2011-02-24 | 2012-08-29 | 포항공과대학교 산학협력단 | 대화 관리 방법 및 이를 실행하는 시스템 |
KR101309042B1 (ko) | 2012-09-17 | 2013-09-16 | 포항공과대학교 산학협력단 | 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법 |
KR101565143B1 (ko) | 2014-06-30 | 2015-11-02 | 동아대학교 산학협력단 | 대화시스템에서 사용자 발화의 정보 분류를 위한 자질 가중치 산출 장치 및 방법 |
KR20170086215A (ko) | 2016-01-18 | 2017-07-26 | 한국전자통신연구원 | 대화 지식 추출 서버, 방법 및 대화 제공 디바이스 |
US10366168B2 (en) * | 2017-01-12 | 2019-07-30 | Microsoft Technology Licensing, Llc | Systems and methods for a multiple topic chat bot |
US9865260B1 (en) * | 2017-05-03 | 2018-01-09 | Google Llc | Proactive incorporation of unsolicited content into human-to-computer dialogs |
-
2017
- 2017-11-22 KR KR1020170156647A patent/KR102060777B1/ko active IP Right Grant
-
2018
- 2018-11-21 US US16/765,162 patent/US11081110B2/en active Active
- 2018-11-21 WO PCT/KR2018/014309 patent/WO2019103441A1/ko active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017189559A1 (en) | 2016-04-26 | 2017-11-02 | Taechyon Robotics Corporation | Multiple interactive personalities robot |
Also Published As
Publication number | Publication date |
---|---|
US20200380993A1 (en) | 2020-12-03 |
KR20190059074A (ko) | 2019-05-30 |
WO2019103441A1 (ko) | 2019-05-31 |
US11081110B2 (en) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102060777B1 (ko) | 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법 | |
Weisz et al. | Sample efficient deep reinforcement learning for dialogue systems with large action spaces | |
Yamada et al. | Efficient passage retrieval with hashing for open-domain question answering | |
WO2020174826A1 (ja) | 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム | |
Guo et al. | Conversational bootstrapping and other tricks of a concierge robot | |
WO2019144773A1 (zh) | 机器人客服转人工客服的方法和装置 | |
KR102656620B1 (ko) | 전자 장치, 그의 제어 방법 및 비일시적 컴퓨터 판독가능 기록매체 | |
CN111046132A (zh) | 一种检索多轮对话的客服问答处理方法及其系统 | |
CN113692617A (zh) | 使用对话上下文来改善语言理解 | |
Lou et al. | Disfluency detection using auto-correlational neural networks | |
CN110704703A (zh) | 人机对话方法及装置 | |
Khatri et al. | Contextual topic modeling for dialog systems | |
KR20190127708A (ko) | 대화 시스템 및 그것을 위한 컴퓨터 프로그램 | |
Lison et al. | Not all dialogues are created equal: Instance weighting for neural conversational models | |
KR102223382B1 (ko) | 다중타입 엔티티에 기반한 지식 보완 방법 및 장치 | |
JP7185540B2 (ja) | 対話装置及び対話方法 | |
JP2020061173A (ja) | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム | |
US11836590B2 (en) | User intent classification using a multi-agent reinforcement learning framework | |
Kahuttanaseth et al. | Commanding mobile robot movement based on natural language processing with RNN encoderdecoder | |
Rieser et al. | Using machine learning to explore human multimodal clarification strategies | |
Santra et al. | Representation learning for conversational data using discourse mutual information maximization | |
WO2019244803A1 (ja) | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム | |
KR20170048008A (ko) | 질의의도를 분석하기 위한 장치 및 방법 | |
Shonibare | ASBERT: siamese and triplet network embedding for open question answering | |
CN116402057A (zh) | 一种基于自然语言的人机交互系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2019101000952; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20190321 Effective date: 20190523 |
|
S901 | Examination by remand of revocation | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant |