KR20190054787A - 음성 대화 제어 방법 및 장치 - Google Patents
음성 대화 제어 방법 및 장치 Download PDFInfo
- Publication number
- KR20190054787A KR20190054787A KR1020170151756A KR20170151756A KR20190054787A KR 20190054787 A KR20190054787 A KR 20190054787A KR 1020170151756 A KR1020170151756 A KR 1020170151756A KR 20170151756 A KR20170151756 A KR 20170151756A KR 20190054787 A KR20190054787 A KR 20190054787A
- Authority
- KR
- South Korea
- Prior art keywords
- state
- user
- conversation
- current
- transition
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000007704 transition Effects 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims 2
- 239000000284 extract Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 210000003484 anatomy Anatomy 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation 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/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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/04—Segmentation; Word boundary detection
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/065—Adaptation
- G10L15/07—Adaptation to the speaker
-
- 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
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)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
Abstract
본 발명의 실시예에 따른 음성 대화 제어 방법은 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하는 현재 상태 확인 단계, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하는 컨텍스트 추출 단계; 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 필수 정보 확인 단계, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하는 전이 조건 확인 단계, 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 예외 상황 처리 단계 및 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 예외 상황 처리 단계에서 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 다음 상태 전이 단계를 포함할 수 있다.
Description
본 발명은 음성 대화 제어 방법 및 장치에 관한 것으로, 보다 구체적으로 사용자 의도를 계층적으로 정의하여 대화 상태간 전이 조건을 확인함으로서, 사용자의 발화에 적합한 상태로 전이하기 위한 음성 대화 제어 방법 및 장치에 관한 것이다.
자연어처리 기술은 인간의 명령을 컴퓨터에 전달하는 과정에서, 인간들 간의 의사소통 수단인 언어를 기계적으로 해석하는 기술을 말하며, 정보검색이나 기계번역 등을 수행하는데 있어서 핵심기술이라 할 수 있다.
최근에는 음성인식의 발달로 인해 기존의 키워드 입력 방식의 검색서비스를 넘어서 음성 발화를 통한 구어체 형태의 자연어질의 인터페이스가 시도되고 있으며, 정보를 찾아주는 방법에 있어서도 단순히 수많은 정보 중에서 사용자의 질문과 가장 관련이 높은 문서들을 찾아주는데 그치지 않고, 사용자와의 대화를 통해 사용자의 의도를 구체화하고 이를 통해 보다 구체적이고 정확한 답변을 찾아주기 위한 시도들이 이루어지고 있다.
챗봇으로 불리워지는 대화기반 자동응답 시스템은 크게 발화이해, 대화관리, 응답생성의 3가지 단계로 나눌 수 있다.
먼저 발화이해 단계에서는 사용자 발화를 언어적으로 분석하여 사용자 의도를 기계가 이해할 수 있는 의미 구조로 변환하는 단계로서, 일반적으로 형태소분석, 개체명추출, 화행분석, 의도분석의 세부과정을 통해 식별되며, 정확한 답변을 찾아주는데 있어서 가장 중요한 단계라 할 수 있다.
대화관리 단계에서는 앞서 해석된 사용자 발화의 의미구조를 기반으로 적합한 대화 모델을 적용하여 응답을 위한 최적의 지식을 찾는 과정이며, 현재의 사용자 발화 뿐 아니라 그 전까지의 사용자와의 대화로부터 획득한 정보를 유지하여 활용함으로써 상호작용을 통해 문제를 구체화하고 해결책을 찾아나갈 수 있어야 하는데, 이것이 대화형 인터페이스가 기존의 정보검색 서비스와의 가장 큰 차이점이라 할 수 있다.
응답생성 단계에서는 앞선 단계에서 사용자의 의도에 맞춰 찾아진 정보를 사용자에게 효과적으로 전달하는 과정으로서 음성 인터페이스를 이용할 경우 답변 내용이 포함된 자연스러운 음성 발화를 생성할 수 있어야 하며, 화면 이용이 가능할 경우에는 텍스트 발화 또는 이미지 등도 함께 사용될 수 있어야 한다.
그런데, 대화관리 및 응답생성 단계에서 사용자의 발화에 적합한 전이 조건을 확인할 수 없는 경우가 종종 있을 수 있다. 따라서, 전이 조건을 확인하여 사용자의 현재 발화에 적합한 상태를 찾을 필요성이 있다.
본 발명은 상기 문제점을 해결하기 위해 고안된 것으로, 사용자 의도를 계층적으로 정의하여 대화 상태간 전이 조건을 확인함으로서, 사용자의 발화에 적합한 상태로 전이하는 것을 목적으로 한다. 특히, 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 역으로 추적하여 예외 상황으로 처리함으로서, 사용자의 현재 발화에 적합한 상태를 찾는 것을 목적으로 한다.
본 발명의 실시예에 따른 음성 대화 제어 방법은 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하는 현재 상태 확인 단계, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하는 컨텍스트 추출 단계; 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 필수 정보 확인 단계, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하는 전이 조건 확인 단계, 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 예외 상황 처리 단계 및 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 예외 상황 처리 단계에서 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 다음 상태 전이 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 음성 대화 제어 장치는 사용자와의 대화 상태를 저장하기 위한 대화 지식 DB 및 상기 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하고, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하며, 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하고, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하며, 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾고, 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 음성대화처리엔진부;를 포함할 수 있다.
본 발명의 실시예에 따른 음성 대화 제어 방법에 따르면, 사용자 의도를 계층적으로 정의하여 대화 상태간 전이 조건을 확인함으로서, 사용자의 발화에 적합한 상태로 전이할 수 있게 된다. 특히, 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 예외 상황으로 처리함으로서, 사용자의 현재 발화에 적합한 상태를 찾을 수 있게 된다.
또한, 사용자 의도에 따라 자동으로 대화 모델을 생성함으로서, 대화 시스템에 대한 기술적 이해가 없는 작업자도 쉽게 대화 모델을 생성할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 음성 대화 제어 장치에 대한 블록도
도 2는 본 발명의 실시예에 따른 음성 대화 제어 방법에 대한 순서도
도 3은 본 발명의 실시예에 따른 과거의 상태 경로를 추적하는 대화 모델에 대한 개념도
도 4는 본 발명의 실시예에 따른 전이 조건과 전이 상태를 설명하기 위해 참조한 도면
도 2는 본 발명의 실시예에 따른 음성 대화 제어 방법에 대한 순서도
도 3은 본 발명의 실시예에 따른 과거의 상태 경로를 추적하는 대화 모델에 대한 개념도
도 4는 본 발명의 실시예에 따른 전이 조건과 전이 상태를 설명하기 위해 참조한 도면
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시예에 따른 음성 대화 제어 장치에 대해 기술하고자 한다.
도 1은 본 발명의 일 실시예에 따른 음성 대화 제어 장치를 도시한 것으로, 본 발명의 일 실시예에 따른 음성 대화 제어 장치(1)는 도메인 태스크의 대화 목적을 달성을 위해 사용자와 대화를 진행하는 음성대화처리엔진부(100), 상기 도메인 태스크의 대화 목적을 달성하기 위해 필요한 응용 도메인 태스크의 대화 지식(정보)를 저장한 대화 지식 DB(200), 대화 서비스 설계자가 기존 계층적 태스크 대화 지식 라이브러리의 서브태스크 대화 지식들을 이용하여 상기 응용 도메인 태스크의 대화 지식을 대화 지식 DB(200)에 구축하고 신규로 생성된 서브태스크 대화 지식을 저장 및 관리하는 계층적 태스크 대화지식 관리부(300)으로 구성되어 있다.
도 1에 도시한 바와 같이, 음성대화처리엔진부(100)는 사용자 음성 발화를 인식하여 문자화하는 음성인식부(110), 음성인식된 사용자 발화 문장을 논리적 의미 표현으로 분석하여 이해하는 대화이해부(120), 사용자 발화에 대한 의미 표현에 대하여 현재 대화문맥과 응용 도메인 태스크 목적 달성에 적합한 시스템 발화 표현을 대화 지식 DB(200)에서 검색하는 시스템 대화관리부(130), 현재 사용자 발화 이후에 시스템 대화관리부(130)에서 적합한 시스템 대화 표현을 검색한 이후에 그에 대한 적합한 사용자 발화 후보를 지식 DB(200)에서 검색하는 사용자 대화관리부(140), 시스템 대화관리부(130) 또는 사용자 대화관리부(140)에서 선택한 시스템 발화 표현 및 사용자발화 후보에 의미상 적합한 대화 패턴을 지식 DB(200)에서 검색하고 검색한 대화 패턴을 이용하여 자연스러운 대화문을 생성하는 대화생성부(150)와, 생성된 대화문장을 음성으로 출력하는 음성합성부(160)로 구성되어 있다.
특히, 본 발명의 실시예에 따른 음성대화처리엔진부(100)는 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하고, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출할 수 있다. 그리고, 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하고, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인할 수 있다. 만일, 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾고, 만일, 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이할 수 있다.
도 1에 도시한 바와 같이, 응용 도메인 태스크를 위한 대화 지식 DB(200)는 사용자와의 대화 상태를 저장하기 위한 것으로서, 도메인 태스크를 해결하기 위한 서브태스크 간의 흐름을 나타내는 계층 태스크 흐름 그래프를 저장한 DB(210), 도메인 태스크의 목적을 달성하기 위해 사용자와 시스템 간에 서로 상호 알아야 하는 의미를 분류하여 놓은 슬롯 체계를 저장한 DB(220), 도메인 태스크에서 특정 상황에서 시스템 발화를 생성하거나 다음 사용자 발화 후보의 추천을 생성하기 위해, 사용자와 시스템의 의도로 구분된 발화 패턴들의 집합체인 대화라이브러리인 컨텍스트를 저장하는 컨텍스트 DB(230)와, 응용 도메인 태스크의 목적 달성을 위해 시스템이 알아야 하는 지식을 DB(Database)화한 응용 도메인지식을 저장한 응용 도메인 DB(240), 그리고 대화 상태 전이가 이루어진 경우 전이 상태를 저장하는 상태 경로 DB(250)를 포함할 수 있다.
도 1에 도시한 바와 같이, 계층적 태스크 대화지식 관리부(300)는 태스크별로 대화처리를 하기 위해 필요한 계층적 태스크 흐름 그래프 DB(210), 슬롯체계 DB(220), 컨텍스트 DB(230), 응용 도메인 지식 DB(240)와 상태 경로 DB(250) 등을 태스크별 대화 지식으로 패키지화하여 가지는 계층적 태스크 대화 지식 라이브러리(310)와, 대화 서비스 설계자가 새로운 응용 도메인 태스크를 위한 대화 지식을 응용 도메인 지식 DB(240)에 구축하기 위해서 미리 구축된 계층적 태스크 대화 지식 라이브러리(310)의 태스크별 대화 지식을 재사용하거나 필요한 용도와 비슷한 태스크를 참조하여 신규로 구축하거나 이들의 조합으로 보다 큰 태스크를 설계하도록 계층적 태스크 대화 지식 라이브러리(310)를 검색 및 관리(저장, 삭제, 변경)하거나 편집할 수 있는 대화 지식 구축부(320)로 구성되어 있다.
도 2는 본 발명의 실시예에 따른 음성 대화 제어 방법에 대한 순서도이다.
도 2에 도시한 바와 같이, 본 발명의 실시예에 따른 음성 대화 제어 방법에 따르면, 음성대화처리엔진부(100)는 사용자로부터 새로운 발화가 입력될 경우, 사용자와의 이전 대화 상태가 존재하는지 여부를 확인할 수 있다(S210). 만일, 이전 대화 상태가 존재하는 것으로 판단한 경우, 음성대화처리엔진부(100)는 대화모델에서 사용하는 이전 컨텍스트를 추출할 수 있다(S220). 반대로, 이전 대화 상태가 존재하지 않는 것으로 판단한 경우, 음성대화처리엔진부(100)는 사용자의 의도 분석을 통해 상기 입력된 발화로 현재 상태를 결정할 수 있고(S230), 현재 상태 결정되면 현재 컨텍스트를 추출할 수 있다. 본 발명의 실시예에 따른 현재 대화 상태는 사용자의 의도가 식별되어 특정 지어진 상태로서, 새로운 상태로 전이가 확정되기 전까지 머무르는 상태로 정의될 수 있다.
음성대화처리엔진부(100)는 컨텍스트를 추출하고 나서, 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 여부를 확인할 수 있다(S240). 예를 들어, 음성대화처리엔진부(100) 추출된 컨텍스트 정보와 과거에 저장된 컨텍스트 정보를 조회하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지를 확인할 수 있다.
만일, 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 음성대화처리엔진부(100)는 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지 여부를 확인할 수 있다(S260). 본 발명의 실시예에 따른 자식 상태는 전이가 가능한 두 개의 상태가 존재할 경우, 전이가 시작하여 도착하는 상태로 정의될 수 있다. 참고로, 전이가 가능한 두개의 상태가 존재할 경우, 전이가 시작되는 상태를 부모 상태로 정의할 수 있다. 반면, 현재 대화 상태에서 필요한 컨텍스트 정보가 일부 부족하여, 필요한 추가 컨텍스트 정보가 더 있는 것으로 판단한 경우, 음성대화처리엔진부(100)는 사용자에게 추가로 질문 하여(S250) 추가 컨텍스트를 더 추출할 수 있다.
S260 단계를 거쳐 전이 조건이 존재하는지 여부를 확인하여, 전이 조건이 존재하는 것으로 확인한 경우에는, 음성대화처리엔진부(100)는 상기 자식 상태로 전이할 수 있다(S280). 전이 조건이란 사용자의 연속적인 발화에 따라 상태가 변경되는 조건을 나타내며, 전이 조건은 사용자의 추가적인 발화 또는 과거의 발화에 포함되어 있던 컨텍스트 정보를 통해 식별할 수 있다. 예를 들어, 도 4에 도시한 바와 같이, 음성대화처리엔진부(100)는 사용자에게 추가적인 질의를 수행하고, 이에 해당하는 사용자 답변(①②③)에 따라 상태 별로 정의된 다양한 분기 조건 중 적합한 상태로 전이할 수 있다. 반면, 전이 조건이 존재하지 않는 것으로 확인한 경우에는, 음성대화처리엔진부(100)는 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾을 수 있으며(S270), 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우, 사용자의 현재 발화에 적합한 상태로 전이할 수 있다(S280). 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 경우(S270), 상기 과거의 상태 경로를 최근 순으로 추적할 수 있다. 보다 구체적으로, 음성대화처리엔진부(100)는 가장 최근의 이전 상태의 다른 경로를 탐색하여 적합한 상태를 찾고, 상기 적합한 상태를 찾지 못한 경우에는 다시 그 이전 상태의 다른 경로에 대해서 상기 적합한 상태를 찾는 것을 반복함으로서, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾을 수 있다.
이어서, 음성대화처리엔진부(100)는 다음 상태로 전이한 이후(S280), 추가적인 전이가 가능한 것으로 판단한 경우(S280), 반복적으로 추가적인 전이를 수행할 수 있다. 만일, 추가적인 전이가 필요하지 않은 경우, 현 단계에서 종료하게 된다.
도 3은 본 발명의 실시예에 따른 과거의 상태 경로를 추적하는 대화 모델에 대한 개념도이다.
도 3에서, T1 내지 T4는 대화가 진행될 때 각 단계를 의미하며, S1 내지 S5는 대화가 지속될 때 각 단계별 상태를 의미하고, R1 내지 R4는 대화 상태간 전이가 일어나는 제약 조건을 의미한다. 이 때, 제약 조건은 사용자 발화로부터 적합성 여부를 판단하게 된다.
도 3에 도시한 바와 같이, 첫번째 단계 T1에서 R1 전이를 통해 S1 상태에 도달하고, 두번째 단계 T2에서 R3 전이를 통해 S3 상태에 도달하며, 세번째 단계 T3에서 R4 전이를 통해 S4 상태에 도달하게 된다. 이후, 다음 발화로부터 더 이상 적합한 전이 조건을 찾을 수 없다면, 이전까지 거쳤던 모든 상태(S1, S3)를 역순으로 회귀하면서 사용자 발화에 부합하는 전이 조건이 존재하는지 확인하는 절차를 거친다. 도 3에서는 사용자 발화와 일치하는 R2가 존재하므로 자동으로 S2 상태로 전이한다.
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (9)
- 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하는 이전 상태 확인 단계;
상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하는 컨텍스트 추출 단계;
상기 추출된 컨텍스트 정보에 기초하여 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 필수 정보 확인 단계;
상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지 여부를 확인하는 전이 조건 확인 단계;
상기 전이 조건 확인 단계에서 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 예외 상황 처리 단계; 및
상기 전이 조건 확인 단계에서 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 예외 상황 처리 단계에서 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 다음 상태 전이 단계;를 포함하는 음성 대화 제어 방법.
- 제 1항에 있어서,
상기 예외 상황 처리 단계는,
상기 과거의 상태 경로를 최근 순으로 추적하는 것인, 음성 대화 제어 방법.
- 제 2항에 있어서,
상기 과거의 상태 경로를 최근 순으로 추적하는 것은,
가장 최근의 이전 상태의 다른 경로를 탐색하여 적합한 상태를 찾고, 상기 적합한 상태를 찾지 못한 경우에는 다시 그 이전 상태의 다른 경로에 대해서 상기 적합한 상태를 찾는 것을 반복하는 것인,
음성 대화 제어 방법.
- 제 1항 내지 제 3항 중 어느 한 항에 있어서,
상기 다음 상태 전이 단계 이후, 추가적인 전이가 가능한 경우에, 반복적으로 상기 추가적인 전이를 수행하는 추가 전이 수행 단계;를 더 포함하는 음성 대화 제어 방법.
- 제 1항에 있어서,
상기 이전 대화 상태가 존재하지 않으면, 사용자의 의도 분석을 통해 상기 입력된 발화로 현재 상태를 결정하는 현재 상태 결정 단계;를 더 포함하는, 음성 대화 제어 방법.
- 제 1항에 있어서,
상기 필수 정보 확인 단계는,
상기 추출된 컨텍스트 정보와 과거에 저장된 컨텍스트 정보를 조회하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 것인, 음성 대화 제어 방법.
- 제 1항에 있어서,
상기 현재 대화 상태에서 필요한 추가 컨텍스트 정보가 있는 것으로 확인한 경우, 사용자에게 추가 질문을 하는 추가 질문 단계;를 더 포함하는, 음성 대화 제어 방법.
- 사용자와의 대화 상태를 저장하기 위한 대화 지식 DB; 및
상기 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하고, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하며, 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하고, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하며,
상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾고, 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 음성대화처리엔진부;를 포함하는 음성 대화 제어 장치.
- 제 8항에 있어서,
상기 음성 대화 처리 엔진부는,
상기 전이 조건을 확인할 수 없는 경우, 상기 과거의 상태 경로를 최근 순으로 추적하는, 음성 대화 제어 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170151756A KR102080931B1 (ko) | 2017-11-14 | 2017-11-14 | 음성 대화 제어 방법 및 장치 |
PCT/KR2018/012126 WO2019098539A1 (ko) | 2017-11-14 | 2018-10-16 | 음성 대화 제어 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170151756A KR102080931B1 (ko) | 2017-11-14 | 2017-11-14 | 음성 대화 제어 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190054787A true KR20190054787A (ko) | 2019-05-22 |
KR102080931B1 KR102080931B1 (ko) | 2020-02-24 |
Family
ID=66539749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170151756A KR102080931B1 (ko) | 2017-11-14 | 2017-11-14 | 음성 대화 제어 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102080931B1 (ko) |
WO (1) | WO2019098539A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021177669A1 (ko) * | 2020-03-03 | 2021-09-10 | 삼성전자 주식회사 | 사용자 입력을 처리하는 전자 장치 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239694A (ja) * | 1994-03-02 | 1995-09-12 | Oki Electric Ind Co Ltd | 音声対話装置 |
KR20070060491A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 대화형 음성 인터페이스 시스템에서의 예외 상황 처리 방법및 장치 |
KR20140062656A (ko) * | 2012-11-14 | 2014-05-26 | 한국전자통신연구원 | 계층적 대화 태스크 라이브러리를 이용한 이중 대화관리 기반 음성대화시스템 |
KR20160132748A (ko) * | 2015-05-11 | 2016-11-21 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140087717A (ko) * | 2012-12-31 | 2014-07-09 | 삼성전자주식회사 | 디스플레이 장치 및 제어 방법 |
KR102084739B1 (ko) * | 2013-03-11 | 2020-04-14 | 삼성전자주식회사 | 대화형 서버, 디스플레이 장치 및 제어 방법 |
-
2017
- 2017-11-14 KR KR1020170151756A patent/KR102080931B1/ko active IP Right Grant
-
2018
- 2018-10-16 WO PCT/KR2018/012126 patent/WO2019098539A1/ko active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239694A (ja) * | 1994-03-02 | 1995-09-12 | Oki Electric Ind Co Ltd | 音声対話装置 |
KR20070060491A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 대화형 음성 인터페이스 시스템에서의 예외 상황 처리 방법및 장치 |
KR20140062656A (ko) * | 2012-11-14 | 2014-05-26 | 한국전자통신연구원 | 계층적 대화 태스크 라이브러리를 이용한 이중 대화관리 기반 음성대화시스템 |
KR20160132748A (ko) * | 2015-05-11 | 2016-11-21 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021177669A1 (ko) * | 2020-03-03 | 2021-09-10 | 삼성전자 주식회사 | 사용자 입력을 처리하는 전자 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102080931B1 (ko) | 2020-02-24 |
WO2019098539A1 (ko) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568855B2 (en) | System and method for defining dialog intents and building zero-shot intent recognition models | |
KR100772660B1 (ko) | 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법 | |
KR100446627B1 (ko) | 음성대화 인터페이스를 이용한 정보제공장치 및 그 방법 | |
KR102565659B1 (ko) | 정보 생성 방법 및 장치 | |
KR101963915B1 (ko) | 강화된 대화 이해 아키텍처 | |
CN114547329A (zh) | 建立预训练语言模型的方法、语义解析方法和装置 | |
CN110674259A (zh) | 意图理解方法和装置 | |
CN103309846B (zh) | 一种自然语言信息的处理方法及装置 | |
US11586689B2 (en) | Electronic apparatus and controlling method thereof | |
CN110147544B (zh) | 一种基于自然语言的指令生成方法、装置以及相关设备 | |
JP2016061954A (ja) | 対話装置、方法およびプログラム | |
KR20220000046A (ko) | 대화형 지능 서비스 제공 챗봇 제작 시스템 및 방법 | |
JP5368924B2 (ja) | 自然言語ユーザインタフェースを漸進的に開発する装置及び方法 | |
JP2020166839A (ja) | 関連付け関心点に基づく文推奨方法及び装置 | |
CN111144132B (zh) | 一种语义识别方法及装置 | |
CN110473543B (zh) | 一种语音识别方法、装置 | |
CN115148212A (zh) | 一种语音交互方法、智能设备及*** | |
CN109408799A (zh) | 语义决策方法和*** | |
CN115129878A (zh) | 一种对话业务执行方法、装置、存储介质及电子设备 | |
JP2008009552A (ja) | インデクス生成装置、インデクス生成方法およびインデクス生成プログラム | |
CN111914527A (zh) | 自动聊天机器人语言表达生成 | |
CN117787409A (zh) | 基于大语言模型的人机交互方法、装置及电子设备 | |
KR20190054787A (ko) | 음성 대화 제어 방법 및 장치 | |
KR20120037152A (ko) | 사용자 목적 기반 시맨틱 웹 서비스 검색을 통한 서비스 플로우 생성을 위한 방법 및 장치 | |
CN112905774A (zh) | 一种基于事理图谱的人机对话深度意图理解方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |