KR20120110392A - 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템 - Google Patents

확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템 Download PDF

Info

Publication number
KR20120110392A
KR20120110392A KR1020110028211A KR20110028211A KR20120110392A KR 20120110392 A KR20120110392 A KR 20120110392A KR 1020110028211 A KR1020110028211 A KR 1020110028211A KR 20110028211 A KR20110028211 A KR 20110028211A KR 20120110392 A KR20120110392 A KR 20120110392A
Authority
KR
South Korea
Prior art keywords
conversation
confirmation
voice
reliability
manager
Prior art date
Application number
KR1020110028211A
Other languages
English (en)
Other versions
KR101196976B1 (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 포항공과대학교 산학협력단
Priority to KR1020110028211A priority Critical patent/KR101196976B1/ko
Publication of KR20120110392A publication Critical patent/KR20120110392A/ko
Application granted granted Critical
Publication of KR101196976B1 publication Critical patent/KR101196976B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Abstract

본 발명은 음성 대화 시스템에서 사용자에게 확인 대화를 요청할 수 있는 음성 대화 시스템에 관한 것으로서, 더 상세하게는 예제 기반 방식으로 작업 관련 음성 대화를 처리하고, 통계 방식으로 음성 대화 관리에서 현재 불분명한 정보에 대해서 사용자에게 대화를 통해 확인을 할 수 있는 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템에 관한 것이다. 이를 위한 본 발명은, 음성 인식기와, 음성 언어 이해부 및 대화 관리부를 포함하는 음성 대화 시스템에 있어서, 상기 대화 관리부는 확률 기반의 확인 대화 관리부와 예제 기반의 작업 관련 대화 관리부를 포함하고, 상기 확인 대화 관리부는: 사용자 발화의 음성 인식 결과의 신뢰도와 음성 언어 이해 결과의 신뢰도, 이전의 대화 상태의 신뢰도를 이용하여 현재의 대화 상태들의 신뢰도를 계산하여 대화 상태를 관리하는 대화 상태 관리부, 및 상기 현재의 대화 상태들의 신뢰도에 대해 확인 대화 전략을 통해 정보의 불확실성을 판단하는 확인 대화 요청부를 구비하는 것을 특징으로 한다.

Description

확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템{Confirmation enabled Probabilistic and Example-based Spoken Dialog System}
본 발명은 음성 대화 시스템에서 사용자에게 확인 대화를 요청할 수 있는 음성 대화 시스템에 관한 것으로서, 더 상세하게는 예제 기반 방식으로 작업 관련 음성 대화를 처리하고, 통계(확률) 방식으로 음성 대화 관리에서 현재 불분명한 정보에 대해서 사용자에게 대화를 통해 확인할 수 있도록 된 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템에 관한 것이다.
당업자에게 잘 알려져 있는 바와 같이, 음성 대화 인터페이스(또는 음성 대화 시스템)은 사용자의 음성으로부터 정보를 얻어 그 정보에 맞는 서비스를 제공하는 장치이다. 하지만 음성 대화 인터페이스에 필수적으로 포함되는 음성 인식기는 항상 그 결과에 오류가 포함될 가능성이 있으며, 실제로 음성 인식 오류 때문에 상용화가 힘든 문제가 있다. 뿐만 아니라 인식된 문장을 컴퓨터가 이해할 수 있는 형태로 변환시켜 주는 음성 이해 모듈 또한 결과에 오류가 포함될 수 있다. 따라서 음성 이해 결과를 바탕으로 현재의 상황에서 적절한 시스템 출력을 찾아내는 역할을 하는 음성 대화 관리자는 오류에 강인한 특성을 갖는 것이 필수적이다. 그리고 실제로 오류가 발생하였을 때 대화 관리자가 어떻게 오류를 발견할 것이고 어떻게 오류를 처리할 것인가가 중요해진다.
상기한 오류의 대처 방법으로, 기존의 대화 예제 기반 대화 모델링 방법 및 확인 대화 방법이 있는데, 상기 기존의 대화 예제 기반 대화 모델링 방법은 확인 대화가 불가능하여 시스템이 오류로 인해 사용자로부터 잘못된 정보를 얻었을 경우 자연스러운 대화가 이루어지기 힘들었고, 기존의 확인 대화 방법은 현재 사용자의 입력에 대한 음성 인식기 및 음성 언어 이해 신뢰도 만으로 정보의 불분명함을 판단하였으나, 이는 대화 전후 문맥을 고려하지 않기 때문에 한계가 있었다.
본 발명이 해결하고자 하는 과제는, 슬롯 채우기(slot-filling) 형태의 음성 대화, 즉 슬롯에 해당하는 정보를 사용자로부터 받아서 대화를 처리하는 시스템에서 예제 대화를 이용하여 작업 관련 대화 관리를 수행하고, 슬롯에 해당하는 정보의 불분명함에 따라 확인 대화를 실시하여 그 불분명을 해소할 수 있는 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템을 제공하는 데 그 목적이 있다.
또한, 본 발명이 해결하고자 하는 과제는, 음성 대화 인터페이스(또는 음성 대화 시스템)에서 대화 관리를 하는 데에 있어서 사용자의 인터페이스 이용목적에 맞게 현재 대화 상황에 적합한 시스템 행동을 생성하는 것과, 사용자로부터 얻은 정보 중 어떤 정보가 불분명한지 알아내어 오류가 발생했거나 발생했을 가능성이 크다고 판단이 된 경우, 확인 대화를 통해 정보의 불분명함을 해결할 수 있는 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템을 제공하는 데 목적이 있다.
상기 목적을 달성하기 위하여 본 발명에 따른 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템은: 음성 인식기와, 음성 언어 이해부 및 대화 관리부를 포함하는 음성 대화 시스템에 있어서, 상기 대화 관리부는 확률 기반의 확인 대화 관리부와 예제 기반의 작업 관련 대화 관리부를 포함하고, 상기 확인 대화 관리부는: 사용자 발화의 음성 인식 결과의 신뢰도와 음성 언어 이해 결과의 신뢰도, 이전의 대화 상태의 신뢰도를 이용하여 현재의 대화 상태들의 신뢰도를 계산하여 대화 상태를 관리하는 대화 상태 관리부, 및 상기 현재의 대화 상태들의 신뢰도에 대해 확인 대화 전략을 통해 정보의 불확실성을 판단하는 확인 대화 요청부를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 음성 대화 시스템은, 상기 대화 상태 관리부가 다수의 대화 상태 및 그 상태의 신뢰도를 계산하는 제1 단계와, 상기 확인 대화 요청부가 정보의 불확실함을 판단하는 제2 단계를 수행토록 한다.
바람직하게는, 상기 확인 대화 요청부는, 상기 제2 단계에서 현재 대화 상태가 저장하고 있는 대화 진행 정보가 불확실하다고 판단한 경우 사용자에게 확인 대화를 요청한다.
바람직하게는, 상기 확인 대화 요청부는, 상기 제2 단계에서 현재 대화 상태가 저장하고 있는 대화 진행 정보가 불확실하지 않다고 판단한 경우 상기 작업 관련 대화 관리부에서 예제 기반에 근거하여 대화 진행 정보가 처리되도록 한다.
바람직하게는, 상기 확인 대화 전략에 따라 현재 대화 상태가 저장하고 있는 대화 진행 정보에 따라 확인 대화가 요구된다고 판단되는 신뢰도의 정도가 얼마인지 기록하고 있는 데이터를 저장하는 확인 대화 전략 데이터베이스 및 상기 작업 관련 대화 관리부에서 처리되는 데이터를 저장하는 대화 예제 데이터 베이스를 더 포함한다.
바람직하게는, 상기 작업 관련 대화 관리부는 확인 대화를 제외한 상기 음성 대화 시스템이 수행하는 통상의 작업을 수행하며 대화를 관리하는 장치이고, 상기 확인 대화 관리부는 상기 대화 관리부와 상기 음성 언어 이해부 사이에 결합이 가능토록 하고, 상기 작업 관련 대화 관리부는 상기 예제 기반의 대화 관리를 통해 상기 음성 대화 시스템의 행동을 생성한다.
본 발명에 의하면, 음성 대화 인터페이스에서 음성 오류가 발생했을 때, 대화 관리자가 정보의 불분명함을 판단하여 사용자에게 정보가 확실한지 아닌지에 대해 물어보는 확인 대화를 실시할 수 있으며, 이를 통해 정보의 불분명함을 해소할 수 있다. 따라서 시스템은 음성 오류에 강인하게 대화 관리를 할 수 있을 뿐만 아니라 현재의 대화 상태를 하나가 아닌 여러 가능성을 가진 것으로 여기기 때문에 복수의 대화 상태에 대한 정보를 바탕으로 음성 오류가 발생했음을 찾을 수 있는 가능성이 커지게 된다. 또한 기존의 방법에서는 사용자의 현재 발화에 대한 신뢰도(confidence) 만을 기준으로 하여 정보의 불확실성을 판단하나, 본 발명에서는 대화가 진행됨에 따라 매 턴마다 정보의 신뢰도(belief)를 갱신함으로써 정보의 불확실성성을 대화 전체에 대해서 모델링할 수 있다.
뿐만 아니라 본 발명은, 기존 음성 대화 인터페이스의 대화 관리부의 구조나 동작 방식을 바꾸는 형태가 아니라 기존 시스템에 추가적인 모듈을 부착하는 형태이므로, 다양한 음성 대화 인터페이스에서 쉽게 활용될 수 있다.
또한 종래 확률 기반 대화 관리방법의 경우 계산 복잡도로 인해 복잡한 대화를 관리하는 데에는 현실적으로 어려운 면이 있었다. 하지만 본 발명에서는 확인 대화에 대해서만 확률 기반 대화 관리방법을 적용하고, 작업관련 대화 관리는 예제 기반 대화 관리방법을 사용하는 일종의 하이브리드 방법을 사용함으로써, 계산 복잡도를 낮추어 실시간으로 동작할 수 있다.
도 1은 본 발명에 따른 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템의 구성도.
도 2는 본 발명에 따른 사용자 시뮬레이터를 사용하여 확인 대화 전략을 학습하는 과정의 도면.
도 3은 본 발명에 따른 대화 상태 관리부가 복수의 대화 상태를 유지하는 예의 도면.
도 4는 본 발명에 따른 작업 관련 대화 처리를 위한 예제 기반 대화 관리 과정의 일실시예의 흐름도.
도 5는 본 발명에 따른 하이브리드 대화 관리 방법으로 작업 관련 대화 관리 및 확인 대화를 처리하는 과정의 일실시예의 흐름도.
이하, 첨부한 도면을 참조하여 본 발명에 따른 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템의 바람직한 실시예를 상세하게 설명한다.
먼저, 본 발명에서는 작업 관련 대화 관리를 위하여 예제 기반 대화 관리 방법을 사용하고, 확인 대화를 처리하기 위해서 확률 기반 방식의 대화 관리 방법을 사용한다. 본 발명에서의 작업 관련 대화 관리란, 사용자가 음성 대화 인터페이스를 사용하여 달성하고자 하는 목표에 직접적으로 관련된 발화를 처리하는 것을 말한다. 슬롯 채우기 형태의 대화에서는 사용자로부터 슬롯에 해당하는 정보를 얻는 것과 관련된 대화가 작업 관련 대화라 할 수 있다. 즉, 확인 대화와 같이 사용자의 의도 및 불확실한 정보를 파악하기 위해 시스템이 사용자에게 발화를 요청하는 비작업 관련 대화 관리를 제외한 대화 관리를 일컫는다.
작업 관련 대화 관리를 위해 사용되는 예제 기반 대화 방법은 선행 발명으로서(등록번호10-0072660, 명칭: 대화 관리장치 및 그를 위한 대화 예제 기반의 대화 모델링기법을 통한 대화관리방법), 현재 대화 상태와 최대한 유사한 대화 상태를 예제 대화로부터 검색하여 그 예제 대화에서 얻을 수 있는 시스템 행동으로부터 현재 시스템 행동을 유추해 내는 과정으로 이루어져 있다. 예를 들면, 도 4에 도시한 바와 같이, 예제 대화 데이터 베이스(300; 도 1)에서 현재 대화 상태와 유사한 예제 대화를 찾기 위해 쿼리(query)문을 생성해 내는 쿼리문 생성 단계(S10); 생성된 쿼리로 예제 대화를 검색하는 예제 대화 검색 단계(S20); 검색된 예제들로부터 어떠한 예제를 최종적으로 선택할 것인지에 관한 예제 선택 단계(S30)로 나누어진다.
확인 대화를 처리하기 위해서는, 1)시스템이 사용자로부터 얻은 정보가 얼만큼 불분명한지 나타낼 수 있어야 하며, 2)어느 정도 불분명할 경우 확인 대화를 수행할 것인지를 판단할 수 있어야 한다.
본 발명에서는 현재 시스템이 가지고 있는 정보가 얼만큼 불분명한지 나타내기 위해 확률적 방법을 이용한 복수의 대화 상태 유지 기법을 이용한다. 즉, 기존의 음성 대화 관리자는 현재의 상태를 하나의 상태로 규정하고 그 상태에 맞는 시스템 행동을 찾아내어 사용자에게 전달한다. 하지만 본 발명에서는 현재의 대화 상태로서 하나의 상태만을 상정하지 않고 복수의 대화상태를 유지하며, 각각의 대화 상태가 현재의 실제 대화 상태일 확률인 신뢰도(belieif)를 가지도록 한다. 이 방법은 음성인식기(10) 및 음성언어 이해 모듈, 즉 음성언어 이해부(20; 도 1)이 오류를 발생할 수 있으므로 현재의 상태를 정확히 하나의 상태로 규정하기 힘들다는 데에 착안한 것이다.
본 발명은 도 1 및 도 2를 참조하면, 복수의 대화 상태를 유지하는 대화 상태 관리부(112), 현재 상태에서 확인대화가 필요한지 여부를 판단하여 확인대화가 필요한 경우 사용자에게 확인을 요청하는 확인 대화 요청부(114)를 포함한다. 대화 상태 관리부(112)는 현재 대화 상태를 나타내기 위해 복수의 대화 상태 후보를 유지하며, 각각의 대화 상태 후보가 현재의 실제 대화 상태인 신뢰도를 가지고 있다. 대화 상태 관리부(112)는 현재 사용자의 발화를 입력으로 하여 음성 언어 이해부(20)로부터 얻어진 복수의 이해 결과 및 그 신뢰도(confidence)를 이용하여 현재 대화 상태 후보를 이전 대화 상태 후보로부터 갱신하고, 신뢰도(belief)를 재계산한다. 확인 대화 요청부(114)는 사용자로부터 얻어진 정보의 신뢰도(belief)가 일정 수준 이하일 경우 불확실하다고 판단하여 사용자에게 해당 정보에 대한 확인을 요청한다.
만일 사용자로부터 얻어진 정보에 문제가 없다고 판단되었을 경우, 대화 인터페이스의 작업관련 대화 관리부(120)에게 정상적인 대화 흐름을 처리하기 위한 시스템의 제어권을 넘긴다. 이 경우 복수의 대화 상태 중 가장 신뢰도(belief)가 높은 대화 상태를 작업 관련 대화 관리부(120)에게 전달한다.
작업관련 대화 관리는 도 5에 도시한 바와 같이 예제 기반 대화 관리 방법을 통해 처리한다.
신뢰도(belief)의 수준에 따라 사용자에게 요청하는 확인 대화의 형태가 비명시적 확인 혹은 명시적 확인으로 달라질 수 있다.
보다 더 구체적으로, 도 1 및 도 2를 참조하면, 본 발명은 음성 인식기(10), 음성 언어 이해부(20) 및 대화 관리부(100), 확인 대화 전략 데이터베이스(200), 대화 예제 데이터베이스(300)를 포함하여 이루어진다. 즉, 본 발명은 도 1에 도시한 바와 같이 확률 기반을 위한 확인 대화 관리부(110)와 예제 기반을 위한 작업관련 대화 관리부(120)를 포함하는 대화 관리부(100)와, 음성 인식기(10), 음성 언어 이해부(20), 확인 대화 전략 데이터베이스(200) 및 대화 예제 데이터베이스(300)를 포함하여 이루어진다. 확인 대화 관리부(110)는, 작업 복수의 대화 상태를 유지하는 대화 상태 관리부(112) 및 현재 상태에서 확인 대화가 필요한지 여부를 판단하여 확인대화가 필요한 경우 사용자에게 확인을 요청하는 확인 대화 요청부(114)를 포함하여 이루어진다. 대화 상태 관리부(112)는 현재 대화 상태를 나타내기 위해 복수의 대화 상태 후보를 유지하며, 각각의 대화 상태 후보가 현재의 실제 대화 상태일 신뢰도를 가지고 있다. 대화 상태 관리부(112)는 현재 사용자의 발화를 입력으로 하여 음성 언어 이해부(20)로부터 얻어진 복수의 이해 결과 및 그 신뢰도(confidence)를 이용하여 현재 대화 상태 후보를 이전 대화 상태 후보로부터 갱신하고, 신뢰도(belief)를 재계산한다. 확인 대화 요청부(114)는 사용자로부터 얻어진 정보의 신뢰도(belief)가 일정 수준 이하일 경우 불확실하다고 판단하여 사용자에게 해당 정보에 대한 확인을 요청한다. 만일 사용자로부터 얻어진 정보에 문제가 없다고 판단되었을 경우, 대화 인터페이스의 작업관련 대화 관리부(120)에게 정상적인 대화 흐름을 처리하기 위한 시스템의 제어권을 넘긴다. 이 경우 복수의 대화 상태 중 가장 신뢰도(belief)가 높은 대화 상태를 작업 관련 대화 관리부(120)에게 전달한다. 작업관련 대화 관리는 도 5에 도시한 바와 같이 예제 기반 대화 관리 방법을 통해 처리한다.
상기와 같이 구성된 본 발명에 따른 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템의 작용을 도 1 내지 도 6을 참조하여 설명하면 다음과 같다.
본 발명에 있어서, 복수의 대화 상태 후보를 유지하는 방법은 여러 가지가 있을 수 있으나, 본 발명에서는 프레임 기반 확률적 대화 상태 표현법을 예로 들어 설명한다. 이 방법은 전체 대화 상태 후보를 현재 주어진 정보를 바탕으로 동적으로 나누어 관리하는 방법이다. 
프레임 기반 확률적 대화 상태 표현법에서는 현재의 대화 상태 후보를 프레임을 이용하여 정의한다. 프레임은 음성 인식기(10)를 통해 마지막으로 입력된 사용자 발화에 대해 음성 언어 이해부(20)가 이해한 언어 이해 결과와 지금까지의 사용자로부터 얻은 정보로 이루어진 대화 이력으로 구성된다. 음성 인식기(10) 및 음성 언어 이해부(20)는 널리 공지된 것을 사용할 수 있기 때문에 설명의 단순화를 위해 본 명세서에서는 이에 대한 상세한 작용 설명은 생략하기로 한다.
본 발명에 따른 음성 대화 시스템은 사용자로부터 얻어진 정보 중 슬롯과 그 값에 해당하는 정보를 프레임으로 관리하게 된다. 본 발명의 음성 대화 시스템은 확인 대화 관리부(110)를 통해 상기와 같은 프레임에 확률 값을 부여하여 동시에 여러 개를 유지한다. 이 확률 값을 신뢰도(belief)라 한다.
확인 대화 관리부(110)에서 수행되는 프레임 기반 확률적 대화 상태 표현법을 통해 복수의 대화 상태를 유지하기 위해서는 음성 인식기(10)의 다수 최적(N-best) 결과 및 음성 언어 이해부(20)의 음성 언어 이해의 결과로부터 얻을 수 있는 신뢰도(confidence)를 이용한다. 이 신뢰도(confidence)는 사용자 발화로부터 얻을 수 있는 대화 진행에 관련되는 정보가 얼마나 믿을만한지를 알려준다. 사용자 발화로부터 얻을 수 있는 대화 진행에 관련되는 정보는 음성 대화 시스템을 구현하는 개발자가 정의하기에 나름이나, 사용자 발화 거절 확률(음성 인식 오류가 크게 일어나 사용자 발화가 시스템이 처리하지 못할 정도로 잘못 인식되었을 확률)을 비롯하여 언어 이해 결과로부터 얻을 수 있는 여러 정보 및 그것들에 대한 신뢰도(confidence)를 포함한다.
우선 음성 인식기(10)의 다수 최적(N-best) 결과에 대해 다양한 방법을 통해 인식 결과의 각 엔트리에 대해 확인 대화 관리부(110)는 확률(사용자가 발화한 음성이 N-best 인식 결과에서 해당 엔트리일 확률)을 계산한다. 확인 대화 관리부(110)에서 상기 확률 값은 다양한 방법을 통해 구할 수 있으나, 바람직하게는 음성 인식기(10)의 신뢰도(confidence)를 평준화한 값을 사용한다. 그리고 각 엔트리들에 대해 음성 언어 이해를 수행하여 대화 관리자가 처리할 수 있는 형태의 정보인 사용자 의도로 변환한다. 사용자 의도는 음성 인식기(10)에서 산출된 신뢰도(confidence) 정보와, 음성언어 이해부(20)에서 인식 결과가 변환될 때 얻을 수 있는 신뢰도(confidence) 정보를 활용하여 계산된 최종 신뢰도(confidence) 값을 갖는다. 이렇게 사용자 의도의 최종 신뢰도(confidence)를 산출하는 데에는 다양한 방법이 있을 수 있으나 본 발명에서는 간단히 음성 인식기의 신뢰도(confidence) 값과 음성 언어 이해부(20)의 신뢰도(confidence) 값의 선형 보간법(linear interpolation) 값을 최종 신뢰도(confidence) 값으로 하였고, 관련 공식은 아래와 같다.
사용자 의도의 최종 신뢰도 = α*(음성 인식기의 신뢰도) + (1-α)*(음성 언어 이해부의 신뢰도)
대화 진행에 관련되는 정보를 이용하여 어떻게 동적으로 복수의 대화 상태가 관리되는지를 나타내면 다음과 같다. 기존의 n개의 대화 상태 후보들을 s1, s2, …, sn 이라고 하고, 음성언어 이해부(20)의 음성 언어 이해 결과로부터 얻은 m개의 사용자 의도를 a1, a2, …, am 라고 할 때, 추정되는 현재 대화 상태 후보 s'은 도 3과 같이 갱신된다.
si가 가지고 있는 정보는 a1, a2, …, am이 가지고 있는 정보에 의해 s'i ,1, s'i ,2 …, s'i ,m으로 갱신된다. 이때 갱신된 대화 상태 후보들의 신뢰도(belief) 값은 si의 신뢰도(belief) 값과 사용자 의도의 각 엔트리들이 가지는 신뢰도(confidence) 값의 곱으로 계산된다.
기존의 모든 대화 상태 후보 s1, s2, …, sn 에 대해 사용자 의도를 이용하여 현재 대화 상태 후보를 갱신하고 각 상태 후보의 신뢰도(belief)를 계산한 후, 같은 정보를 가지는 중복된 상태 후보들이 있을 경우 신뢰도(belief) 값을 더하고 하나의 상태 후보가 되게 합친다.
본 발명의 음성 대화 시스템은 복수의 프레임으로 이루어진 대화 상태 후보들이 가지는 신뢰도(belief) 값을 이용하여 사용자로부터 얻은 정보들의 신뢰도(belief)를 재계산한다. 즉, 사용자로부터 얻은 정보가 c라는 슬롯의 내용으로 표현될 경우, c를 포함하고 있는 상태 후보들의 신뢰도(belief)를 합하여 해당 정보의 신뢰도(belief) 값을 계산한다.
이렇게 해서 계산된 정보의 신뢰도(belief)가 일정 수준 이하일 경우 시스템의 확인대화 요청부(114)는 사용자에게 해당 정보에 대한 확인을 요청한다. 이때에 사용될 수 있는 확인 대화의 종류는 크게 명시적 확인 대화와 암묵적 확인 대화로 나눌 수 있으며, 시스템 개발자들의 필요에 의해 선택되어 사용될 수 있다.
정보가 불분명함을 나타내는 신뢰도(belief)의 임계값은 다양한 방법으로 정할 수 있다. 개발자의 경험적인 값으로 각 정보에 대한 신뢰도(belief)의 임계값을 정할 수 있으나, 바람직하게는 도 2에 도시한 바와 같이 사용자 시뮬레이터(50)를 사용하여 사용자 시뮬레이션을 통하여 임계값을 계산한다.
사용자 시뮬레이션(50)에 의한 사용자 시뮬레이션은 대화 관리부(100)의 문제점을 파악하거나 성능 평가 및 개선 등을 위해 개발되는 사용자의 행동을 흉내 내는 프로그램이나 모듈을 일컫는다.
개발자는 대화 관리부(100)에 사용자 시뮬레이터(50)를 결합하여 많은 대화를 시뮬레이션하여 가장 대화 성공률이 높고 짧은 턴으로 대화를 끝내게 하는 신뢰도(belief)의 임계값을 결정한다. 이때에 격자 탐색법, 언덕오르기 방법, 강화학습법 등을 사용하여 임계값을 결정할 수 있다.
신뢰도가 너무 낮을 경우에는 본 발명의 대화 관리부(100)는 해당 정보를 무시하고(reject) 대화를 진행할 수 있으며, 모든 정보들에 대해서 신뢰도가 확인 대화를 실시하는 임계치 이상의 값을 가질 경우, 현재 상태의 모든 정보는 충분히 신뢰할 수 있다고 판단하여 그 정보들을 작업관련 대화 관리를 수행하는 예제 기반 대화 관리부(120)에 제어권을 넘기게 된다.
이하, 본 발명의 적용 실시예로서 포항지역 맛집 안내 음성 대화 시스템을 설명한다. 포항지역 맛집 안내 음성 대화 시스템은 음성 인식기(10)를 통해 사용자로부터 자연어 형태의 음성 입력을 받아 시스템이 사용자가 원하는 음식점의 정보를 안내해 주는 시스템이다. 포항지역 맛집 안내 음성 대화 시스템은 본 발명에서 언급한 바와 같이 예제 기반 대화 관리부(120)를 통해 작업관련 대화를 관리하고, 확인 대화 관리부(110)를 통해 확률 기반 방식으로 확인 대화를 수행한다. 본 발명의 시스템에서 수행되는 대화 관리 방법은 다양한 분야에서 음성 대화를 통해 작업을 처리할 수 있는 대화 인터페이스에 사용될 수 있으며, 포항지역 맛집 안내 음성 대화 시스템은 그 중 하나라 할 수 있다. 다음은 포항지역 맛집 안내 음성 대화 시스템의 적용 예제 대화이다.
시스템의 동작이 올바른 경우
사용자: 가격대 만원 정도의 효자동에 있는 음식점 좀 알려줘
음성인식 결과: 가격대 만원 정도 효자동 음식점 좀 알려줄래
[res_address=”효자동”(confidence = 0.6)]
[price=”만원” (confidence = 0.8)]
시스템: 홍운반점, 춘천닭갈비, 효자버섯찌개, 중화각, 엄마손밥상 외 10 건이 검색되었습니다.

사용자: 닭갈비 집으로 한정해서 알려줘
음성인식 결과: 효자동에 닭갈비 집으로 한정해서 알려줘
[res_type=”닭갈비” (confidence = 0.7)]
시스템: 춘천닭갈비, 효자닭갈비가 검색되었습니다.

사용자: 춘천닭갈비의 평점이 어떻게 되지?
음성인식 결과: 춘천닭갈비의 평점이 어떻지
[res_name=”춘천닭갈비”(confidence = 0.6)]
시스템: 춘천닭갈비의 평점은 8.5점 입니다.
위의 예는 사용자가 효자동의 닭갈비 집을 검색하여 그곳 중 한 곳의 평점을 검색하는 예제이다. res_address는 음식점의 동이름, price는 가격대, res_type은 음식점의 종류, res_name은 음식점을 이름을 나타내는 것으로, 음성 언어 이해 결과를 통해 음성인식기(10)를 통해 인식된 사용자의 발화로부터 추출된 정보이다. 그리고 각 정보의 confidence는 음성인식기(10)와 음성 언어 이해부(20)로부터 얻은 신뢰도(belief)로 계산한 해당 정보의 신뢰도를 의미한다. 위의 예에서는 음성 인식 오류가 심각하게 발생하지 않아, 대화를 진행하는데에 별 무리가 없다. 하지만 음성 인식기(10) 및 이해부(20)에 오류가 발생할 경우 대화 진행에 어려움이 생길 수 있다.
인식 오류로 인해 시스템이 잘못된 정보를 제공하는 경우
사용자: 가격대 만원 정도의 효자동에 있는 음식점 좀 알려줘
음성인식 결과: 가격대 만원 정도의 해 자 음식점 잘 알려줘
[price=”만원” (confidence = 0.8)]
시스템: 제일면옥, 부천성, 홍운 반점 외 174 건이 검색되었습니다.
(효자동 정보가 사라짐)

사용자: 닭갈비 집으로 한정해서 알려줘
음성인식 결과: 닭갈비 집으로 한정해서 알려줘
[res_type=”닭갈비” (confidence = 0.7)]
시스템: 춘천닭갈비, 임곡닭갈비, 효자닭갈비 외 10건이 검색되었습니다.
위의 예에서는 사용자가 효자동에서 가격대가 만원인 닭갈비집을 검색하려고 했으나 음성인식 오류로 인해 효자동이라는 정보가 누락되어 처리된 경우이다. 이외에도 효자동이라는 위치정보가 다른 정보로 잘못 판단되어 처리될 경우에도 사용자에게 잘못된 정보를 제공할 수 있다.
기존 방식의 확인 대화 예제 1
사용자: 가격대 만원 정도의 효자동에 있는 음식점 좀 알려줘
음성인식 결과1: 가격대 만원 정도의 해 자 음식점 잘 알려줘
음성인식 결과2: 가격대 만원 자 효자동 음식점 잘 알려줘
[res_address=”효자동”(confidence = 0.3)]
[price=”만원” (confidence = 0.8)]
시스템: 효자동이 맞습니까? (불확실한 정보인 "효자동"에 대해 확인대화 실시)

사용자: 그래. 효자동.
음성인식 결과1: 그래 효자동.
음성인식 결과2: 그래
시스템: 홍운반점, 춘천닭갈비, 효자버섯찌개, 중화각, 엄마손밥상 외 10 건이 검색되었습니다.
위의 예에서는 사용자가 발화 중 효자동이라는 정보의 신뢰도(confidence)가 낮아 사용자로부터 확인 대화를 실시하는 경우이다. 확인 대화를 실행하기 위해서는 주로 음성인식 n-best list 결과를 활용하여 각 정보의 신뢰도(confidence)를 획득한다. 위의 예에서는 효자동이라는 정보가 첫 번째 인식결과에서는 나타나지 않고 두 번째 인식결과에서만 나타났으며, 따라서 낮은 신뢰도(confidence)를 가지게 된다 (0.3의 신뢰도). 따라서 시스템은 해당 정보가 불분명하다고 판단하여, 사용자에게 확인대화를 실시하게 된다.
기존 방식의 확인 대화 예제 2
사용자: 가격대 만원 정도의 효자동에 있는 음식점 좀 알려줘
음성인식 결과1: 가격대 만원 정도의 해 자 음식점 잘 알려줘
음성인식 결과2: 가격대 만원 자 효자동 음식점 잘 알려줘
[res_address=”효자동”(confidence = 0.3)]
[price=”만원” (confidence = 0.8)]
시스템: 효자동이 맞습니까?

사용자: 그래 효자동
음성인식 결과1: 해도동
음성인식 결과2: 그래
[res_address=”해도동” (confidence=0.5)]
시스템: 검색된 결과가 없습니다.
위의 예에서는 사용자로부터 얻은 "효자동"이라는 정보가 불분명하여 확인 대화를 실시하였으나, 다시 한번 음성 인식 오류가 발생하여 시스템이 잘못된 정보인 "해도동"이라는 정보를 이용하여 검색을 수행한 결과이다. 이와 같이 기존의 확인대화 방식은 현재 턴에 대한 신뢰도(confidence)만으로 정보의 불분명함을 판단하기 때문에 이러한 문제가 발생할 수 있다.
본 발명에서 제안한 형태의 확인 대화 예제
사용자: 가격대 만원 정도의 효자동에 있는 음식점 좀 알려줘
음성인식 결과1: 가격대 만원 정도의 해 자 음식점 잘 알려줘
음성인식 결과2: 가격대 만원 자 효자동 음식점 잘 알려줘
[res_address=”효자동”(confidence = 0.3)]
[price=”만원” (confidence = 0.8)]
[ res _ address =”효자동” ( belief = 0.3), price =”만원” ( belief = 0.8)]
시스템: 효자동이 맞습니까?

사용자: 그래 효자동
음성인식 결과1: 해도동
음성인식 결과2: 그래
[res_address=”해도동” (confidence=0.5)]
[ res _ address =”효자동” ( belief = 0.3), res _ address =”해도동” ( belief =0.35), price =”만원” ( belief = 0.8)]
시스템: 해도동이 맞습니까?

사용자: 아니 효자동
음성인식 결과1: 효자동
음성인식 결과2: 효자동
[res_address=”효자동”(confidence = 0.9)]
[ res _ address =”효자동”( belief = 0.95), res _ addresss =”해도동” ( belief = 0.05), price =”만원” ( belief = 0.8)]
위의 예는 본 발명을 이용한 음성 대화 시스템에서 확인 대화의 예이다. 시스템(즉, 대화 관리부(100))은 현재 발화의 신뢰도(confidence)만으로 정보의 불분명함을 나타내지 않고, 사용자의 첫번째에서 "효자동"이라는 정보가 불분명하여, 대화 관리부(100)가 사용자에게 확인 대화를 요청하지만 사용자의 다음 발화가 "해도동"으로 인식되고 만다. 기존의 방법으로 확인 대화를 실시할 경우 4)의 예에서와 같이 "해도동"으로 대화 관리부(100)가 오인식하여 잘못된 결과를 검색할 수 있으나 본 발명을 활용할 경우, 대화 관리부(100)가 가지는 신뢰도 정보를 대화 문맥에 따라서 계속 유지할 수 있기 때문에 대화 관리부(100)는 "효자동"에 대한 정보 및 그것의 신뢰도(belief)값을 가지고 있으며, 이를 바탕으로, "효자동"과 "해도동"의 신뢰도를 재계산하게 된다. 위의 예에서는 보다 높은 신뢰도를 가지는 "해도동"의 신뢰도 값이 확인 대화를 거칠 만큼 불분명하다고 판단되어 대화 관리부(100)가 다시 한번 확인대화를 수행하는 것을 보여준다.
10 : 음성 인식기 20 : 음성 언어 이해부
100 : 대화 관리부(대화 시스템) 110 : 확률 기반의 확인 대화 관리부
112 : 대화 상태 관리부 114 : 확인 대화 관리부
120 : 예제 기반의 작업 관련 대화 관리부

Claims (6)

  1. 음성 인식기와, 음성 언어 이해부 및 대화 관리부를 포함하는 음성 대화 시스템에 있어서,
    상기 대화 관리부는 확률 기반의 확인 대화 관리부와 예제 기반의 작업 관련 대화 관리부를 포함하고,
    상기 확인 대화 관리부는:
    사용자 발화의 음성 인식 결과의 신뢰도와 음성 언어 이해 결과의 신뢰도, 이전의 대화 상태의 신뢰도를 이용하여 현재의 대화 상태들의 신뢰도를 계산하여 대화 상태를 관리하는 대화 상태 관리부, 및 상기 현재의 대화 상태들의 신뢰도에 대해 확인 대화 전략을 통해 정보의 불확실성을 판단하는 확인 대화 요청부를 구비하는 것을 특징으로 하는 음성 대화 시스템.
  2. 제1항에 있어서,
    상기 음성 대화 시스템은,
    상기 대화 상태 관리부가 다수의 대화 상태 및 그 상태의 신뢰도를 계산하는 제1 단계와, 상기 확인 대화 요청부가 정보의 불확실함을 판단하는 제2 단계를 수행토록 하는 것을 특징으로 하는 음성 대화 시스템.
  3. 제2항에 있어서,
    상기 확인 대화 요청부는 상기 제2 단계에서 현재 대화 상태가 저장하고 있는 대화 진행 정보가 불확실하다고 판단한 경우 사용자에게 확인 대화를 요청하는 것을 특징으로 하는 음성 대화 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 확인 대화 요청부는 상기 제2 단계에서 현재 대화 상태가 저장하고 있는 대화 진행 정보가 불확실하지 않다고 판단한 경우 상기 작업 관련 대화 관리부에서 예제 기반에 근거하여 대화 진행 정보가 처리되도록 한 것을 특징으로 음성 대화 시스템.
  5. 제1항에 있어서,
    상기 확인 대화 전략에 따라 현재 대화 상태가 저장하고 있는 대화 진행 정보에 따라 확인 대화가 요구된다고 판단되는 신뢰도의 정도가 얼마인지 기록하고 있는 데이터를 저장하는 확인 대화 전략 데이터베이스를 더 포함하는 것을 특징으로 하는 음성 대화 시스템.
  6. 제1항에 있어서,
    상기 작업 관련 대화 관리부는 확인 대화를 제외한 상기 음성 대화 시스템이 수행하는 통상의 작업을 수행하며 대화를 관리하는 장치이고,
    상기 확인 대화 관리부는 상기 대화 관리부와 상기 음성 언어 이해부 사이에 결합이 가능토록 하고,
    상기 작업 관련 대화 관리부는 상기 예제 기반의 대화 관리를 통해 상기 음성 대화 시스템의 행동을 생성하는 것을 특징으로 하는 음성 대화 시스템.
KR1020110028211A 2011-03-29 2011-03-29 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템 KR101196976B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110028211A KR101196976B1 (ko) 2011-03-29 2011-03-29 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110028211A KR101196976B1 (ko) 2011-03-29 2011-03-29 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템

Publications (2)

Publication Number Publication Date
KR20120110392A true KR20120110392A (ko) 2012-10-10
KR101196976B1 KR101196976B1 (ko) 2012-11-02

Family

ID=47281226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110028211A KR101196976B1 (ko) 2011-03-29 2011-03-29 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템

Country Status (1)

Country Link
KR (1) KR101196976B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105845137A (zh) * 2016-03-18 2016-08-10 中国科学院声学研究所 一种语音对话管理系统
CN106558309A (zh) * 2015-09-28 2017-04-05 中国科学院声学研究所 一种口语对话策略生成方法及口语对话方法
WO2023106678A1 (ko) * 2021-12-10 2023-06-15 삼성전자 주식회사 오인식된 음성 신호를 처리하는 방법 및 이를 위한 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100732611B1 (ko) 2006-04-25 2007-06-28 학교법인 포항공과대학교 음성대화 오류검증을 통한 확인대화 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106558309A (zh) * 2015-09-28 2017-04-05 中国科学院声学研究所 一种口语对话策略生成方法及口语对话方法
CN106558309B (zh) * 2015-09-28 2019-07-09 中国科学院声学研究所 一种口语对话策略生成方法及口语对话方法
CN105845137A (zh) * 2016-03-18 2016-08-10 中国科学院声学研究所 一种语音对话管理系统
CN105845137B (zh) * 2016-03-18 2019-08-23 中国科学院声学研究所 一种语音对话管理系统
WO2023106678A1 (ko) * 2021-12-10 2023-06-15 삼성전자 주식회사 오인식된 음성 신호를 처리하는 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR101196976B1 (ko) 2012-11-02

Similar Documents

Publication Publication Date Title
US10319381B2 (en) Iteratively updating parameters for dialog states
US10540965B2 (en) Semantic re-ranking of NLU results in conversational dialogue applications
JP6228260B2 (ja) 音声対話システムのためのデバイスおよび方法
US9837075B2 (en) Statistical voice dialog system and method
US10192543B2 (en) Method and system for conveying an example in a natural language understanding application
US10453454B2 (en) Dialog system with self-learning natural language understanding
KR101828273B1 (ko) 결합기반의 음성명령 인식 장치 및 그 방법
Thomason et al. Learning to interpret natural language commands through human-robot dialog
US8352273B2 (en) Device, method, and program for performing interaction between user and machine
JP4680691B2 (ja) 対話システム
EP3642834A1 (en) Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
US8700398B2 (en) Interface for setting confidence thresholds for automatic speech recognition and call steering applications
CN110930993B (zh) 特定领域语言模型生成方法及语音数据标注系统
EP3956884B1 (en) Identification and utilization of misrecognitions in automatic speech recognition
CN110021293B (zh) 语音识别方法及装置、可读存储介质
JP2016522903A (ja) 音声を認識するシステムおよび方法
KR20150085145A (ko) 사용자 반응 기반 통역 시스템 및 그 방법
JP2008203559A (ja) 対話装置及び方法
JP2019057099A (ja) 点検作業支援システム、方法、及びプログラム
CN110060674A (zh) 表格管理方法、装置、终端和存储介质
JP2011054088A (ja) 情報処理装置、情報処理方法、プログラム及び対話システム
US20230059469A1 (en) Correcting speech misrecognition of spoken utterances
KR101196976B1 (ko) 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템
JP2023543268A (ja) カスタマイズ可能なチャットボットを実行するための構成可能な会話エンジン
WO2023148772A1 (en) A system and method to reduce ambiguity in natural language understanding by user expectation handling

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151012

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee