KR101255468B1 - 대화 의도를 분류하는 방법 - Google Patents

대화 의도를 분류하는 방법 Download PDF

Info

Publication number
KR101255468B1
KR101255468B1 KR1020110105757A KR20110105757A KR101255468B1 KR 101255468 B1 KR101255468 B1 KR 101255468B1 KR 1020110105757 A KR1020110105757 A KR 1020110105757A KR 20110105757 A KR20110105757 A KR 20110105757A KR 101255468 B1 KR101255468 B1 KR 101255468B1
Authority
KR
South Korea
Prior art keywords
model
speech
conversation
word
words
Prior art date
Application number
KR1020110105757A
Other languages
English (en)
Inventor
이근배
김석환
김경덕
이동현
최준휘
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020110105757A priority Critical patent/KR101255468B1/ko
Application granted granted Critical
Publication of KR101255468B1 publication Critical patent/KR101255468B1/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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Abstract

대화 의도에 기반한 레이블링을 통하여 대화 의도를 분류하는 방법이 개시된다. 본 발명은 대화 시스템내의 언어 모델의 구축에 있어서, 입력된 발화의 발화 의도를 은닉 상태로 하고 생성 단어를 관측값으로 하는 은닉 마코프 모델(Hidden Markov Model)을 생성 모델로 적용하는 단계와 입력된 발화를 구성하는 단어를 개체명과 개체명이 아닌 단어로 구분하여 인식하는 개체명 인식 모델을 인식 모델로 적용하는 단계 및 은닉 마코프 모델의 상태 개수의 범위 내에서 개체명 인식 모델에 의해 구분된 단어를 기반으로 하여 발화 의도에 대한 레이블을 정의하여 입력된 발화에 레이블을 부여하는 레이블링 단계를 포함하는 대화 의도를 분류하는 방법을 제공한다. 따라서, 본 발명에 따르면, 대화 시스템내의 언어 모델의 구축에 있어서 사람의 개입을 최소화할 수 있다.

Description

대화 의도를 분류하는 방법{METHOD OF LABELING DIALOGUE INTENTION}
본 발명은 대화 시스템에 관한 것으로, 더욱 상세하게는 대화 의도를 분류하는 방법에 관한 것이다.
대화 시스템은 음성 또는 문자를 이용하여 사용자에게 대화를 통해 필요한 정보를 제공 장치를 말하며, 차세대 지능형 인터페이스로 단말기, 자동차, 로봇 등으로 그 이용 범위가 점차 확장되어 가고 있다.
도 1은 대화 시스템의 구성을 나타낸 블록도이다. 도 1을 참조하면, 일반적으로 대화 시스템(100)은 사용자가 발화한 음성이 입력되면, 음성 인식부(110)와 음성 언어 이해부(120)를 통하여 음성이 인식 및 이해되고 대화 관리자부(130)에 의해 최종 응답이 결정된다. 결정된 최종 응답은 응답 생성부(140)와 음성 합성부(150)를 거쳐 시스템 발화가 출력되게 된다.
또한, 대화 시스템의 구성요소들은 각각의 언어 모델을 필요로 하며, 해당 언어 모델을 훈련하기까지 일련의 과정을 거치게 된다. 즉, 대화 시스템이 대상으로 하는 도메인에 해당하는 대화 말뭉치를 수집하고, 대화 말뭉치에서 대화 의도 레이블링을 수행한 후, 훈련을 거쳐서 각 구성 요소들에 필요한 언어 모델이 구축된다. 여기서, 음성 인식부(110), 응답 생성부(140) 및 음성 합성부(150)와 비교하여, 음성 언어 이해부(120)와 대화 관리자부(130)는 도메인에 의존적인 특성이 있다. 즉, 음성 언어 이해부(120)와 대화 관리자부(130)는 특정 도메인에 따라 언어 모델이 학습되어야 하고, 이러한 언어 모델은 레이블링이 된 말뭉치로부터 교사 학습(Supervised Learning) 방법을 통하여 생성된다. 따라서, 음성 언어 이해부(120)와 대화 관리자부(130)의 언어 모델을 생성하기 위해서는 대화 말뭉치를 수집한 뒤 도메인에 맞추어 사람이 개입하여 발화 의도를 레이블링한 후, 훈련 과정을 거쳐서 모델이 생성된다.
이러한 대화 시스템의 개발 과정은 크게 해당 도메인에 맞는 대화 말뭉치를 수집하는 단계와 대화 의도를 레이블링 하는 단계 및 모델을 만들기 위한 훈련 단계로 구분된다. 대화 시스템의 개발 과정에서, 대화 의도를 레이블링 하는 단계는 사람이 직접 설계한 의미 분석 이름에 맞추어 사람이 직접 레이블링하는 작업을 수행하였다. 따라서, 사람이 대화 말뭉치를 분석하여 대화 의도 레이블 목록을 작성하는 작업은 많은 시간과 노력을 필요로 하였다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 대화 시스템의 개발에 필요한 언어 모델의 구축에 있어서 사용자의 개입을 최소화하는 대화 의도를 분류하는 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 대화 의도를 분류하는 방법은, 대화 시스템내의 언어 모델의 구축에 있어서, 입력된 발화의 발화 의도를 은닉 상태로 하고 생성 단어를 관측값으로 하는 은닉 마코프 모델(Hidden Markov Model)을 생성 모델로 적용하는 단계와 입력된 발화를 구성하는 단어를 개체명과 개체명이 아닌 단어로 구분하여 인식하는 개체명 인식 모델을 인식 모델로 적용하는 단계 및 은닉 마코프 모델의 상태 개수의 범위 내에서 개체명 인식 모델에 의해 구분된 단어를 기반으로 하여 발화 의도에 대한 레이블을 정의하여 입력된 발화에 레이블을 부여하는 레이블링 단계를 포함하는 대화 의도를 분류하는 방법을 제공한다.
여기서, 은닉 마코프 모델은 베이지안 은닉 마코프 모델(Bayesian Hidden Markov Model) 또는 Hierarchical Dirichlet Process Hidden Markov Model(HDP-HMM)이고, 상기 상태 개수는 무한대로 설정할 수 있다.
여기서, 인식 모델로 적용하는 단계는 입력된 발화를 구성하는 단어 중에서 발화 의도를 추출할 수 없는 일반적인 단어를 구분하여 인식하는 배경 언어 모델을 더 적용하고, 레이블링 단계는 개체명 인식 모델 및 배경 언어 모델에 의해 구분된 단어를 기반으로 하여 발화 의도에 대한 레이블을 정의하여 입력된 발화에 레이블을 부여할 수 있다.
상기와 같은 본 발명에 따른 대화 의도 분류 방법은 대화 시스템내의 언어 모델 구축에 있어서, 비모수 비교사 학습을 사용하여 사용자 또는 관리자가 직접 개입하지 않고 입력된 발화의 대화 의도를 분류할 수 있도록 한다.
또한, 입력된 발화를 구성하는 단어의 유형을 인식할 수 있는 개체명 인식 모델과 배경 언어 모델을 적용한 레이블링을 수행하여 대화 의도를 정확하게 분류할 수 있는 장점이 있다.
도 1은 대화 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 생성 모델을 적용한 발화를 나타낸 개념도이다.
도 3은 본 발명의 일 실시예에 따른 은닉 마코프 모델을 적용한 순차적인 발화를 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 개체명 모델의 개념도이다.
도 5는 본 발명의 일 실시예에 따른 HDP-HMM을 적용한 학습 모델의 개념도이다.
도 6은 본 발명에 따른 HDP-HMM을 적용한 상태 전이를 도시한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
대화 시스템의 구축에 있어서, 대화 말뭉치를 수집하는 단계는 사람이 직접 작성하는 방법 또는 WOZ(Wizard of Oz)방법에 의해 수행된다. 대화 말뭉치를 수집하는 단계에서 수집된 대화 말뭉치는 아래의 예시 1과 같이 사용자 발화와 시스템 발화로 구성된다. 즉, 발화는 사용자 발화와 시스템 발화로 구분될 수 있다. 또한, 대화는 사용자 발화와 시스템 발화로 구성될 수 있다. 여기서, 대화 말뭉치는 대화 시스템의 각 구성 요소들의 언어 모델을 학습하는 데 사용된다.
예시 1
사용자 : 염영일 소장님 방을 찾고 있습니다.
시스템 : 염영일 소장님의 오피스는 201호입니다.
사용자 : 201호는 어디 입니까?
시스템 : 201호는 2층 오른쪽에 있습니다.
사용자 : 201호로 안내 부탁 드립니다.
시스템 : 네, 그럼 안내 시작하겠습니다.
또한, 음성 언어 이해부와 대화 관리부에서 활용되는 언어 모델을 생성하기 위해서는 대화 의도를 레이블링하는 것이 필요하다.
먼저, 대화 시스템의 설계자는 대화 의도를 레이블링(Labeling)하기 위해서, 사용자 발화 의도 레이블과 시스템 발화 의도 레이블의 종류를 결정하여야 한다. 이러한 레이블의 종류에 대한 결정은 대화 코퍼스(Corpus) 분석 대화 시스템 기능에 대한 분석을 통하여 수행된다. 여기서, 발화 의도란 해당 발화된 문장을 통하여 전달하고자 하는 발화자의 의도, 목적, 생각 등을 의미하며, 레이블은 발화 의도를 나타내는 표시로 볼 수 있다.
레이블의 종류가 결정된 후에는 해당 레이블에 대해 미리 결정된 가이드 라인에 따라 사람이 직접 레이블링을 수행하였다. 레이블링의 결과는 아래의 예시 2와 같다.
예시 2
사용자 : 염영일 소장님 방을 찾고 있습니다. search _ per _ loc
시스템 : 염영일 소장님의 오피스는 201호입니다. inform _P( RoomNumber )
사용자 : 201호는 어디 입니까? search _ loc
시스템 : 201호는 2층 오른쪽에 있습니다. inform _B( Position )
사용자 : 201호로 안내 부탁 드립니다. guide _ loc
시스템 : 네, 그럼 안내 시작하겠습니다. guide
즉, 사용자 및 시스템의 발화는 결정된 레이블에 따라 분류(Labeling)된다.
상술한 바와 같이, 사람이 직접 레이블을 정의하고 레이블을 추가하여 대화 의도에 대한 레이블링을 수행하는 단계를 은닉 마코프 모델(HMM : Hidden Markov Model)을 이용하여 사람의 개입을 최소화 할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 생성 모델을 적용한 발화를 나타낸 개념도이다.
도 2를 참조하면, 은닉 마코프 모델(HMM)을 생성 모델(Generative Model)로 하는 단어의 생성을 나타낸다. 도 2의 오른쪽은 도 2의 왼쪽을 간략히 표현한 것이다. 마코프 모델은 여러 응용 분야에 적용될 수 있지만, 보다 복잡한 현상이나 과정은 제대로 모델링하지 못한다. 특히, 마코프 모델은 패턴 인식이 가장 기본적으로 요구되는 작업인 학습 모델을 생성하는데 한계가 있다.
이에, 본 발명은 마코프 모델의 발전된 형태인 은닉 마코프 모델을 대화 시스템의 개발(구축) 과정에 적용한다. HMM에서는 상태를 은닉(hidden)하는데 그 특징이 있다.
대화 시스템의 개발 또는 구축에 있어서, 먼저 해당 도메인에 맞는 대화 말뭉치를 수집하고, 수집된 말뭉치에 포함된 다양한 입력된 발화에 대한 발화 의도를 레이블링하여 언어 모델을 생성한다.
따라서, 본 발명은 대화 시스템내의 언어 모델의 구축에 있어서, 입력된 발화의 발화 의도를 은닉 상태로 하고 생성 단어를 관측값으로 하는 베이지안 은닉 마코프 모델(Bayesian Hidden Markov Model)을 생성 모델로 적용하고, 베이지안 은닉 마코프 모델의 상태 개수의 범위 내에서 발화 의도에 따른 레이블을 정의하여 입력된 발화에 레이블을 부여하는 레이블링을 통한 대화 의도 분류 방법을 제공한다.
도 2에서 은닉 상태는 발화 의도(z)를 나타내고, 발화 의도(z)에 따라 단어(w)들이 생성된다. 즉, 발화 의도에 기반하여 단어들이 생성되고, 생성된 단어를 관측값으로 하는 것을 알 수 있다. 여기서, V는 단어들의 집합을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 은닉 마코프 모델을 적용한 순차적인 발화를 나타낸 개념도이다.
도 3을 참조하면, 은닉 마코프 모델(HMM)을 생성 모델로 하여 은닉 상태에 있는 발화 의도(z)들로부터 순차적으로 단어들이 생성되는 것을 알 수 있다. 여기서, V는 단어들의 집합을 나타내며, D는 대화 말뭉치 안에서 한 대화를 나타낸다.
은닉 마코프 모델(HMM)의 베이지안 확률(Bayesian Probability)로의 확장에 따른 전이(Transition)와 발산(Emission)의 분포는 수학식 1과 같다.
Figure 112011080765271-pat00001
수학식 1에서, z는 발화 의도, w는 발화 의도로부터 생성된 단어, t는 HMM에서 순서를 나타내는 인덱스, k는 발화 의도에 할당되는 특정 클러스터의 개수, π는 전이 확률, φ는 발산 확률을 의미한다. 특히, 전이 확률(π)는 특정 상태에서 다른 상태로 전이(이동)할 때의 확률을 의미한다.
또한, Dir은 다리끌레 분포(dirichlet distribution), Multi는 다항 분포(Multinomial Distirubtion)를 의미한다.
따라서, 본 발명에 따른 대화 의도를 분류하는 방법은 베이지안 은닉 마코프 모델을 활용하여 은닉 상태에 있는 발화 의도로부터 단어를 생성(관측)할 수 있다.
다만, 베이지안 은닉 마코프 모델을 활용한 대화 의도를 분류하는 방법은 상태 개수(클러스터 개수)인 대화 의도 개수를 미리 설정하여야 한다. 또한, 적절한 대화 의도에 대한 개수를 결정하기 위해서는 말뭉치에 대한 분석이 필요한 바, 사람의 개입이 필요하다.
이에 대화 의도 개수의 결정에 있어, 사람의 개입을 생략할 수 있도록 하는 것이 필요하다. 이를 위하여 비모사 비교사 학습(Nonparametric Unsupervised Learning)인 HDP-HMM(Hierarchical Dirichlet Process Hidden Markov Model)을 사용한다. HDP-HMM에서는 상태 개수(클러스터 개수)를 무한대로 가정하기 때문에, 전이 확률 분포는 수학식 2와 같이 나타낼 수 있다.
Figure 112011080765271-pat00002
수학식 2에서, GEM는 GEM distribution (Strick Breaking Construction)을 의미하며, DP는 Dirichlet Process를 의미한다. 또한, α, α' β는 hyperparameter이다.
즉, 대화 의도 개수의 결정에 있어서, 비교사 학습인 HDP-HMM을 적용함으로써, 상태 개수를 설정할 필요가 없다. 따라서, 대화 말뭉치로부터 레이블을 정의하여 분류하는 방법에 있어서, 사람의 개입이 요구되지 않을 수 있다.
이는 베이지안 HMM을 활용한 대화 의도를 분류하는 방법은 상태 개수가 유한하다고 가정하고 이를 결정하여야 하지만, HDP-HMM은 상태 개수를 무한한 것으로 가정하고 이를 위하여 GEM distribution (Strick Breaking Construction)을 이용한다.
따라서, 본 발명은 대화 시스템내의 언어 모델의 구축에 있어서, 생성 모델은 비모사 비교사 학습 모델인 Hierarchical Dirichlet Process Hidden Markov Model(HDP-HMM)이고, HDP-HMM의 상태 개수는 무한대로 설정되는 것을 특징으로 하는 대화 의도 분류 방법을 제공한다. 이를 통하여 상태 개수(클러스터 개수)에 제한을 두지 않음으로써, 레이블의 개수에도 제한을 두지 않을 수 있다.
또한, 대화 의도에 대한 레이블링을 통하여 상태 숫자(클러스터 ID)로 레이블이 기록될 수 있다. 따라서, 레이블이 상태 숫자로 정의될 수 있다. 상태 숫자로 기록된 레이블을 통하여 사람이 직관적으로 대화 의도를 파악하는 것은 어려우나, 대화 시스템은 같은 종류의 의도를 가진 발화를 구분하여 동작할 수 있다. 따라서, 대화 의도를 다른 응용을 위하여 사람이 직관적으로 인식할 수 있는 레이블이 필요한 경우에는 분석을 통하여 레이블을 다시 정의하는 것이 필요할 수 있다.
도 4는 본 발명의 실시예에 따른 개체명 모델의 개념도이다.
클러스터링(clustering)의 목적은 비슷한 발화 의도를 가지는 것을 묶는 것인데, 비슷한 발화 의도가 아닌 발화에서 다루고 있는 내용에 따라 클러스터링되는 문제가 발생할 수 있다. 예컨대, ‘소장님 전화번호가 뭐지?’와 ‘연구실 전화번호가 뭐지?’가 ‘전화번호’를 물어보는 것으로 비슷한 의도를 가지고 있어서 클러스터링 되어야 한다. 하지만, ‘소장님 전화번호가 뭐지?’와 ‘소장님이 있는 방 번호가 뭐지?’가 ‘소장님’이라는 비슷한 내용을 포함하고 있어서 클러스터링 될 수 있다.
이렇게 내용을 중심으로 클러스터링되는 것을 방지하기 위하여 개체명 인식 모델을 적용할 수 있다. 도 4를 참조하면, 발화를 구성하는 단어는 개체명(e)과 개체명이 아닌 단어로 구분될 수 있다. 도 3에서 ‘염영일’과 ‘소장’이 개체명(e)으로 매칭되고, ‘님’, ‘방’, ‘을’, ‘찾고’, ‘있’, ‘습니다’가 개체명(e)이 아닌 단어로 매칭되었다. 즉, 개체명은 발화된 문장내에서 주체가 될 수 있는 단어를 의미할 수 있다. 이렇게 개체명(e)과 개체명이 아닌 단어를 구분함으로써, 발화 의도를 기준으로 클러스터링할 수 있다. 여기서, 개체명(e)는 이미 인식이 되어 있다고 가정한다. 또한, N은 사용자 발화에 포함된 개체명의 개수를 나타낼 수 있다.
따라서, 레이블링에 있어서도 개체명을 이용한 개체명 인식 모델을 적용하여 레이블링할 수 있다. 즉, 레이블링에 있어서 입력된 발화를 구성하는 단어를 개체명과 개체명이 아닌 단어로 구분하여 인식하는 개체명 인식 모델을 적용할 수 있다.
개체명 인식 모델에 따른 확률 분포는 수학식 3과 같다.
Figure 112011080765271-pat00003
수학식 3에서, z는 발화 의도, φ는 발산 확률, θ는 개체명의 발산 확률, w는 발화 의도로부터 생성된 단어, t는 HMM에서 순서를 나타내는 인덱스, k는 발화 의도에 할당되는 특정 클러스터의 개수, i는 개체명 인식 모델에서 순서를 나타내는 인덱스이다. 또한, Dir는 다리끌레 분포(dirichlet distribution), Multi는 다항 분포(Multinomial Distirubtion)를 의미한다.
즉, 개체명 인식 모델은 개체명을 기반으로 하여 발화 의도에 대한 클러스터링을 수행할 수 있도록 한다.
따라서, 본 발명은 대화 시스템내의 언어 모델의 구축에 있어서, 입력된 발화의 발화 의도를 은닉 상태로 하고 생성 단어를 관측값으로 하는 은닉 마코프 모델(Hidden Markov Model)을 생성 모델로 적용하는 단계와 입력된 발화를 구성하는 단어를 개체명과 개체명이 아닌 단어로 구분하여 인식하는 개체명 인식 모델을 인식 모델로 적용하는 단계 및 은닉 마코프 모델의 상태 개수의 범위 내에서 상기 개체명 인식 모델에 의해 구분된 단어를 기반으로 하여 발화 의도에 대한 레이블을 정의하여 입력된 발화에 레이블을 부여하는 레이블링 단계를 포함하는 대화 의도를 분류하는 방법을 제공한다.
특히, 은닉 마코프 모델은 베이지안 은닉 마코프 모델(Bayesian Hidden Markov Model) 또는 Hierarchical Dirichlet Process Hidden Markov Model(HDP-HMM)이고, 상태 개수는 무한대로 설정할 수 있다.
또한, 대화 시스템의 구축에 있어서, 전체 발화에서 전반적으로 많이 나타나는 일반적인 단어에 의해 발산 확률이 왜곡된다. 일반적인 단어는 ‘은’, ‘는’, ‘이’, ‘가’등의 조사와 같이, 발화 의도를 추출할 수 없는 단어를 의미한다. 이러한 일반적인 단어에 의한 발산 확률의 왜곡을 방지하기 위하여 배경 언어 모델(Background language model)을 적용할 수 있다.
따라서, 본 발명은 레이블링에 있어서 입력된 발화를 구성하는 단어 중 발화 의도를 추출할 수 없는 일반적인 단어를 구분하여 인식하는 배경 언어 모델을 적용할 수 있다. 즉, 발화 의도로부터 단어를 생성함에 있어서, 생성된 단어가 개체명, 개체명이 아닌 단어, 일반적인 단어인지를 구분하고, 단어의 유형을 결정하기 위한 추가적인 변수(x) 및 배경 언어 모델(Background language model)이 적용될 수 있다.
추가적인 변수(x)가 도입된 배경 언어 모델에 따른 확률 분포는 수학식 4와 같다.
Figure 112011080765271-pat00004
수학식 4를 참조하면, 단어의 유형을 결정하기 위한 추가적인 변수(x)는 hyperparameter인 λ에 의하여 산출된다. 또한, 개체명이 아닌 단어의 발산 확률(ω)은 배경 언어 모델이 적용될 수 있도록 한다.
여기서, z는 발화 의도, λ는 x를 산출하기 위한 hyperparameter이고, d는 대화의 인덱스, π는 전이 확률, w는 단어, φ는 발산 확률, t는 대화를 이루는 각 발화의 인덱스, ω는 개체명이 아닌 단어의 발산 확률, i는 개체명 인식 모델에서 순서를 나타내는 인덱스로 정의될 수 있다.
또한, λ와 x는 Dir(dirichlet distribution) 또는 Multi(Multinomial Distirubtion)를 따르지 않고, 각각 베타 분포(Beta distribution)와 베르누이 분포(Bernoulli distribution)을 따르도록 하는 것이 바람직하다. 즉, 단어가 일반적인 단어에 속하는 경우는 전체 발화에서 만들어진 언어 모델인 배경 언어 모델을 적용할 수 있다.
이에 본 발명은 입력된 발화를 구성하는 단어 중에서 발화 의도를 추출할 수 없는 일반적인 단어를 구분하여 인식하는 배경 언어 모델을 인식 모델로 더 적용하고, 레이블링 단계는 개체명 인식 모델 및 배경 언어 모델에 의해 구분된 단어를 기반으로 하여 발화 의도에 대한 레이블을 정의하여 입력된 발화에 레이블을 부여할 수 있다.
도 5는 본 발명의 일 실시예에 따른 HDP-HMM을 적용한 학습 모델의 개념도이다.
도 5를 참조하면, 본 발명에 따른 HDP-HMM을 이용하여 대화 의도를 분류한 발화의 생성을 나타낸다.
HDP-HMM을 활용하여 상태 개수를 무한대로 설정한다. HDP-HMM을 통하여 발화 의도를 레이블링하기 위한 전이 확률(π)을 도출한다. 은닉 상태인 발화 의도로부터 생성된 문장으로부터 개체명(e)과 개체명이 아닌 단어(w)가 분리되어 산출된다. 개체명(e)의 산출에 있어서 개체명의 발산 확률(θ)이 참조된다. 또한, 단어(w)의 산출에 있어서는 발산 확률(φ), 단어의 유형을 결정하기 위한 추가적인 변수(x) 및 배경 언어 모델(Background language model)이 참조된다.
여기서, λ는 x를 산출하기 위한 hyperparameter이고, D는 대화 말뭉치 안에서 한 대화를 나타내며, d는 대화의 인덱스를, t는 대화를 이루는 각 발화의 인덱스를 나타낸다. 또한, ω는 배경 언어 모델(background language model)의 적용에 있어 개체명이 아닌 단어(w)의 발산 확률을 나타낸다.
따라서, 본 발명은 대화 의도의 레이블링에 있어서, HDP-HMM(Hierarchical Dirichlet Process Hidden Markov Model), 개체명 인식 모델 및 배경 언어 모델을 적응적으로 적용하여 대화 의도를 분류할 수 있다.
도 6은 본 발명에 따른 HDP-HMM을 적용한 상태 전이를 도시한 그래프이다.
도 6을 참조하면, 각 노드는 발화 의도의 상태 숫자(클러스터 ID)를 의미한다. 또한, 어느 노드로부터 다른 노드로 전이될 경우 전이 확률(π)은 가중치로 적용된다. 이에 발화 의도에 대한 레이블링을 통하여 대화 의도가 분류됨을 알 수 있다. 또한, 하나의 클러스터 ID는 하나 이상의 다른 클러스터 ID로 전이될 수도 있으며, 전이 확률이 높을수록 전이가 일어날 확률이 높다는 것을 나타낸다.
또한, 본 발명의 따른 대화 시스템 구축을 통하여 아젠다 그래프를 생성할 수 있다. 발화 의도로부터의 각각의 전이 확률 및 클러스터를 이용하여 아젠다 그래프가 생성된다. 생성된 아젠다 그래프는 대화 시스템에서의 작업 순서를 정의하여 좀 더 효율적으로 대화 시스템이 관리될 수 있도록 한다.
상술한 바와 같은 대화 의도를 분류하는 방법은 수집된 말뭉치에 포함된 문장(발화)의 발화 의도에 기반하여 레이블링하고, 레일블링된 결과를 기반으로 하여 언어 모델을 구축할 수 있다. 특히, 본 발명에 따른 대화 의도를 분류하는 방법에 따르면 대화 의도에 따른 레이블링과정에서 사용자의 개입을 최소화할 수 있는 장점이 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 대화 시스템 110 :음성 인식부
120 : 음성 언어 이해부 130 : 대화 관리자부
140 : 응답 생성부 150 : 음성 합성부

Claims (6)

  1. 대화 시스템내의 언어 모델의 구축에 있어서,
    입력된 발화의 발화 의도를 은닉 상태로 하고 생성 단어를 관측값으로 하는 은닉 마코프 모델(Hidden Markov Model)을 생성 모델로 적용하는 단계;
    상기 입력된 발화를 구성하는 단어를 개체명과 비개체명 단어로 구분하여 인식하는 개체명 인식 모델을 인식 모델로 적용하는 단계; 및
    상기 은닉 마코프 모델의 상태 개수의 범위 내에서 상기 개체명 인식 모델에 의해 구분된 단어를 기반으로 하여 상기 발화 의도에 대한 레이블을 정의하여 상기 입력된 발화에 상기 레이블을 부여하는 레이블링 단계를 포함하는 대화 의도를 분류하는 방법.
  2. 제1 항에 있어서,
    상기 은닉 마코프 모델은 베이지안 은닉 마코프 모델(Bayesian Hidden Markov Model) 또는 Hierarchical Dirichlet Process Hidden Markov Model(HDP-HMM)이고, 상기 상태 개수는 무한대로 설정한 것을 특징으로 하는 대화 의도를 분류하는 방법.
  3. 제2 항에 있어서,
    상기 레이블은 상기 발화 의도에 기반하여 상기 생성 모델의 클러스터 ID로 부여하는 것을 특징으로 하는 대화 의도를 분류하는 방법.
  4. 제2 항에 있어서,
    상기 인식 모델로 적용하는 단계는 상기 입력된 발화를 구성하는 단어 중에서 상기 발화 의도를 추출할 수 없는 일반적인 단어를 구분하여 인식하는 배경 언어 모델을 더 적용하고,
    상기 레이블링 단계는 상기 개체명 인식 모델 및 상기 배경 언어 모델에 의해 구분된 단어를 기반으로 하여 상기 발화 의도에 대한 상기 레이블을 정의하여 상기 입력된 발화에 상기 레이블을 부여하는 것을 특징으로 하는 대화 의도를 분류하는 방법.
  5. 제4항에 있어서,
    상기 배경 언어 모델은 베타 분포(Beta distribution)와 베르누이 분포(Bernoulli distribution)를 따르는 것을 특징으로 하는 대화 의도를 분류하는 방법.
  6. 제5 항에 있어서,
    상기 일반적인 단어는 조사에 해당하는 것을 특징으로 하는 대화 의도를 분류하는 방법.
KR1020110105757A 2011-10-17 2011-10-17 대화 의도를 분류하는 방법 KR101255468B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110105757A KR101255468B1 (ko) 2011-10-17 2011-10-17 대화 의도를 분류하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110105757A KR101255468B1 (ko) 2011-10-17 2011-10-17 대화 의도를 분류하는 방법

Publications (1)

Publication Number Publication Date
KR101255468B1 true KR101255468B1 (ko) 2013-04-16

Family

ID=48443284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110105757A KR101255468B1 (ko) 2011-10-17 2011-10-17 대화 의도를 분류하는 방법

Country Status (1)

Country Link
KR (1) KR101255468B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101592756B1 (ko) * 2014-08-27 2016-02-11 포항공과대학교 산학협력단 사용자 지식의 기억 강도를 이용하는 대화 관리 방법 및 이를 수행하는 장치
CN109192200A (zh) * 2018-05-25 2019-01-11 华侨大学 一种语音识别方法
CN109801621A (zh) * 2019-03-15 2019-05-24 三峡大学 一种基于残差门控循环单元的语音识别方法
KR20200114079A (ko) * 2019-03-27 2020-10-07 주식회사 포시에스 다수의 의도가 포함된 문장으로부터 의도 및 의도에 대응되는 내용을 검출하는 전자문서 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755678B1 (ko) 2005-10-28 2007-09-05 삼성전자주식회사 개체명 검출 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755678B1 (ko) 2005-10-28 2007-09-05 삼성전자주식회사 개체명 검출 장치 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101592756B1 (ko) * 2014-08-27 2016-02-11 포항공과대학교 산학협력단 사용자 지식의 기억 강도를 이용하는 대화 관리 방법 및 이를 수행하는 장치
CN109192200A (zh) * 2018-05-25 2019-01-11 华侨大学 一种语音识别方法
CN109192200B (zh) * 2018-05-25 2023-06-13 华侨大学 一种语音识别方法
CN109801621A (zh) * 2019-03-15 2019-05-24 三峡大学 一种基于残差门控循环单元的语音识别方法
KR20200114079A (ko) * 2019-03-27 2020-10-07 주식회사 포시에스 다수의 의도가 포함된 문장으로부터 의도 및 의도에 대응되는 내용을 검출하는 전자문서 시스템
KR102189567B1 (ko) 2019-03-27 2020-12-11 주식회사 포시에스 다수의 의도가 포함된 문장으로부터 의도 및 의도에 대응되는 내용을 검출하는 전자문서 시스템

Similar Documents

Publication Publication Date Title
US11568855B2 (en) System and method for defining dialog intents and building zero-shot intent recognition models
EP2956931B1 (en) Facilitating development of a spoken natural language interface
US7707027B2 (en) Identification and rejection of meaningless input during natural language classification
US10521723B2 (en) Electronic apparatus, method of providing guide and non-transitory computer readable recording medium
KR101410163B1 (ko) 통계적 음성 언어 이해 방법
JPWO2007138875A1 (ja) 音声認識用単語辞書・言語モデル作成システム、方法、プログラムおよび音声認識システム
GB2424502A (en) Apparatus and method for model adaptation for spoken language understanding
US11257482B2 (en) Electronic device and control method
JP2019020684A (ja) 感情インタラクションモデル学習装置、感情認識装置、感情インタラクションモデル学習方法、感情認識方法、およびプログラム
CN113987179A (zh) 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质
KR101255468B1 (ko) 대화 의도를 분류하는 방법
Amanova et al. Creating annotated dialogue resources: Cross-domain dialogue act classification
CN115392264A (zh) 一种基于rasa的任务型智能多轮对话方法及相关设备
Prabhakaran et al. Detecting institutional dialog acts in police traffic stops
CN112905774A (zh) 一种基于事理图谱的人机对话深度意图理解方法
KR102358485B1 (ko) 도메인 자동 분류 대화 시스템
CN112818096A (zh) 对话生成方法及其装置
Minker et al. Spoken dialogue systems technology and design
Scharenborg et al. Building an ASR System for Mboshi Using A Cross-Language Definition of Acoustic Units Approach.
Grifoni et al. DAMA: a dynamic classification of multimodal ambiguities
Ostyakova et al. Corpus with Speech Function Annotation: Challenges, Advantages, and Limitations
Ibrahim et al. Grouped echo state network with late fusion for speech emotion recognition
Ngo et al. Identifying user intents in Vietnamese spoken language commands and its application in smart mobile voice interaction
KR20200068193A (ko) 자연어 문장에서 응대 여부를 판단하는 음성인식 방법
Ultes et al. Jachmm: a java-based conditioned hidden markov model library

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee