KR101410163B1 - 통계적 음성 언어 이해 방법 - Google Patents
통계적 음성 언어 이해 방법 Download PDFInfo
- Publication number
- KR101410163B1 KR101410163B1 KR1020130000188A KR20130000188A KR101410163B1 KR 101410163 B1 KR101410163 B1 KR 101410163B1 KR 1020130000188 A KR1020130000188 A KR 1020130000188A KR 20130000188 A KR20130000188 A KR 20130000188A KR 101410163 B1 KR101410163 B1 KR 101410163B1
- Authority
- KR
- South Korea
- Prior art keywords
- clustering
- speech
- words
- utterance sentences
- entity
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000007619 statistical method Methods 0.000 title 1
- 230000008569 process Effects 0.000 claims description 27
- 238000009826 distribution Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 12
- 230000006399 behavior Effects 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 4
- 230000000052 comparative effect Effects 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012549 training 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- 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/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
-
- 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
- G10L13/00—Speech synthesis; Text to speech 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/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/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/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/197—Probabilistic grammars, e.g. word n-grams
-
- 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/063—Training
-
- 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/063—Training
- G10L2015/0631—Creating reference templates; Clustering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
본 발명은 수동 태깅된 말뭉치가 없이 통계적인 기법을 이용하여 통계적인 음성 언어 이해를 수행하는 방법으로서, 음성 발화 문장들을 유사한 화행(dialog act)들을 기초로 클러스터링하는 화행 클러스터링 단계, 화행 클러스터링 단계의 결과에서 개체명(named entity) 후보군을 추출하고 추출된 개체명 후보군의 주변 문맥 정보에 기초하여 개체명을 클러스터링하는 개체명 클러스터링 단계 및 클러스터링된 화행과 개체명에 기초하여 영역별로 주행(main act)을 클러스터링하는 주행 클러스터링 단계를 포함하여 구성된다.
Description
본 발명은 음성 언어 이해 방법에 관한 것으로, 더욱 상세하게는 대화 시스템의 중요한 요소 중 하나인 음성 언어 이해를 수동 태깅된 말뭉치가 없이 통계적인 기법을 이용하여 수행하는 방법에 관한 것이다.
음성 언어 이해는 음성 인식된 발화를 분석하여 의미 구조에 맞추어 슬롯들을 추출하는 것을 말하며, 대화 시스템을 비롯한 다양한 자연어 처리 시스템에서 중요한 역할을 한다.
일반적으로 대화 시스템을 위한 음성 언어 이해는 크게 화행, 주행, 개체명 등 3가지를 고려한 의미 구조를 사용한다.
화행(dialog act)은 영역과 무관한 발화 의도를 나타내며, 나타난 문장을 기준으로 태깅된다. 주행(main act)은 영역에 의존적인 발화 의도를 나타내며, 기능을 기준으로 태깅된다. 개체명(named entity)은 영역에서 기능을 수행하는데 필요한 의미 있는 단어를 나타낸다. 각 문장에 대해 화행과 주행은 하나씩 존재하며, 개체명은 단어별로 적용이 되므로 0개 혹은 1개 이상이 될 수 있다.
도 1은 음성 언어 이해에서 음성 발화 문장으로부터 추출된 의미 구조의 예를 보여준다.
도 1을 참조하면, 입력 문장(‘대강당 전화 번호를 좀 알려줘’)에 대해서, 화행은 ‘request’, 주행은 ‘search_phone’, 개체명은 ‘대강당’으로 추출됨을 알 수 있다.
하지만, 음성 언어 이해를 개발하기 위해서는 화행, 주행, 개체명에 대한 레이블을 설계하는 작업이 필요하다. 이 작업은 음성 언어 이해가 수행되는 영역에 따라 반복되어야 한다. 뿐만 아니라, 음성 언어 이해를 위한 모델을 생성하기 위해서는 수집된 말뭉치에 레이블 설계를 참고하여 태깅(tagging)하는 작업이 필요하다. 이 과정을 수행하는 데는 많은 비용이 뒤따른다.
도 2는 음성 언어 이해를 위한 말뭉치 태깅의 과정을 설명하기 위한 순서도이다.
도 2를 참조하면, 종래의 언어 이해 기술을 개발하기 위해서는 우선 해당 적용 영역을 정의하고(S210), 정의된 영역에 따라 말뭉치를 수집한(S220) 뒤, 화행/주행/개체명에 대한 레이블을 설계하고(S230), 태깅 작업(S240)을 수행한다.
태깅된 말뭉치는 훈련기에 학습되며(S250), 훈련기로부터 모델(200)이 생성된다. 생성된 모델(200)은 언어 이해 모듈에서 사용된다.
이 과정에서 레이블 설계와 태깅 작업에 사람의 노력이 뒤따르게 되며, 이를 수동 태깅 작업이라 할 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 종래 음성 언어 이해 방법에서 요구되는 다양한 영역에서 수집된 대화 말뭉치별로 수행되는 화행/주행/개체명에 대한 레이블 설계와 태깅 작업이 필요하지 않은, 통계적 음성 언어 이해 방법을 제공한다.
상기 목적을 달성하기 위한 본 발명은, 통계적 음성 언어 이해 방법으로서, 음성 발화 문장들을 상기 음성 발화 문장들에 포함된 유사한 화행(dialog act)들을 기초로 클러스터링하는 화행 클러스터링 단계, 상기 화행 클러스터링 단계의 결과에서 개체명(named entity) 후보군을 추출하고 추출된 개체명 후보군의 주변 문맥 정보에 기초하여 개체명을 클러스터링하는 개체명 클러스터링 단계 및 상기 개체명 클러스터링의 결과에 기초하여 영역별로 주행(main act)을 클러스터링하는 주행 클러스터링 단계를 순차적으로 수행하는 것을 특징으로 하는 통계적 음성 언어 이해 방법을 제공한다.
여기에서, 상기 통계적 음성 언어 이해 방법은, 비모수 비교사 학습 방법을 기반으로, 인위적인 수동 태깅 없이 수행될 수 있다.
여기에서, 상기 화행 클러스터링 단계는, 상기 화행이 은닉 상태이며 상기 음성 발화 문장들에 포함된 단어들이 관측 값이라는 가정하에, 비모수 베이지안 은닉 마코프 모델(Non-parametric Bayesian Hidden Markov Model)을 이용하여 수행될 수 있다. 이때, 상기 비모수 베이지안 은닉 마코프 모델의 일 예는 계층적 디리클레 프로세스 은닉 마코프 모델(Hierarchical Dirichlet Process Hidden Markov model; HDP-HMM)일 수 있다. 이때, 상기 화행의 전이 확률은 디리클레(Dirichlet) 프로세스에 의해 결정될 수 있다.
여기에서, 상기 화행 클러스터 단계는, 상기 화행이 은닉 상태이며 상기 음성 발화 문장들에 포함된 단어들이 관측 값이라는 가정하에, 상기 단어들의 근원을 이용하여 화행 클러스터링을 수행하도록 구성될 수 있다.
여기에서, 상기 화행 클러스터링 단계는, 상기 화행을 깁스 샘플링(Gibbs sampling) 방법을 이용하여 최종적으로 유추하도록 구성될 수 있다.
여기에서, 상기 통계적 음성 언어 이해 방법은 상기 화행 클러스터링 단계에서 얻어진 영역별 단어 분포를 이용하여 상기 음성 발화 문장들의 영역을 분류하는 단계를 추가로 포함할 수 있다.
여기에서, 상기 개체명 클러스터링 단계는, 상기 음성 발화 문장들에 포함된 단어들의 근원을 이용하여 개체명 후보군을 추출하도록 구성될 수 있다. 이때, 상기 개체명 후보군이 복수의 연속된 단어들로 구성된 경우, 상기 복수의 연속된 단어들을 고착성 함수(stickiness function)를 이용하여 분리할 수 있다. 상기 고착성 함수의 일 예는 포인트 상호 정보(Point Mutual Information; PMI) 함수일 수 있다.
여기에서, 상기 추출된 개체명 후보군의 주변 문맥 정보는 상기 추출된 개체명 후보군의 앞뒤에 위치한 소정 개수의 단어들에 대하여 계층적 디리클레 프로세스(Hierarchical Dirichlet Process) 알고리즘을 적용하여 얻어질 수 있다.
여기에서, 상기 주행 클러스터링 단계는, 상기 주행이 은닉 상태이며 상기 음성 발화 문장들에 포함된 단어들, 상기 음성 발화 문장들로부터 추출된 개체명 및 상기 음성 발화 문장들에 대응되는 시스템 행동이 관측 값이라는 가정하에, 비모수 베이지안 은닉 마코프 모델을 이용하여 수행되도록 구성될 수 있다. 이때, 상기 비모수 베이지안 은닉 마코프 모델의 일 예는 계층적 디리클레 프로세스 은닉 마코프 모델일 수 있다. 이때, 상기 주행의 전이 확률은 디리클레 프로세스에 의해 결정될 수 있다.
여기에서, 상기 통계적 음성 언어 이해 방법은 상기 주행 클러스터링 단계에서 도출된 주행들과 상기 전이 확률을 이용하여 아젠다(agenda) 그래프를 생성하는 단계를 추가로 포함할 수 있다.
상기와 같은 본 발명에 따른 통계적 음성 언어 이해 방법을 이용할 경우에는 수동 태깅이 없는 통계적 음성 이해가 가능해진다. 즉, 본 발명에 따른 통계적 음성 언어 이해 방법을 통해 음성 언어 이해에서 필요한 화행, 주행, 개체명에 대한 사람의 태깅을 자동으로 수행할 수 있다. 이는 다영역 대화 시스템을 위한 음성 언어 이해의 개발에 필요한 비용을 크게 줄일 수 있는 효과를 가져 온다. 뿐만 아니라, 이 과정에서 얻은 영역별 단어 분포는 영역 분류기에 활용될 수 있으며, 아젠다 그래프는 대화 시스템에 활용될 수 있다.
도 1은 음성 언어 이해에서 음성 발화 문장으로부터 추출된 의미 구조의 예를 보여준다.
도 2는 음성 언어 이해를 위한 말뭉치 태깅의 과정을 설명하기 위한 순서도이다.
도 3은 본 발명에 따른 수동 태깅이 없는 통계적 음성 언어 이해 방법을 설명하기 위한 개념도이다.
도 4는 본 발명에 따른 통계적 음성 언어 이해 방법의 화행 클러스터링을 위한 모델을 설명하는 개념도이다.
도 5는 본 발명에 따른 화행 클러스터링의 전체 생성스토리(generative story)를 설명하는 의사 코드이다.
도 6은 본 발명에 따른 개체명 클러스터링에서 화행 클러스터링 결과로부터 개체명 후보군을 추출하는 개념을 설명하기 위한 개념도이다.
도 7은 본 발명에 따른 개체명 클러스터링에서 개체명 후보에 대해 문맥 정보를 추출하는 개념을 설명하는 개념도이다.
도 8은 본 발명에 따른 통계적 음성 언어 이해 방법의 개체명 클러스터링을 위한 모델을 설명하는 개념도이다.
도 9는 본 발명에 따른 통계적 음성 언어 이해 방법의 주행 클러스터링을 위한 모델을 설명하는 개념도이다.
도 10은 본 발명에 따른 주행 클러스터링의 전체 생성스토리(generative story)를 설명하는 의사 코드이다.
도 11은 본 발명에 따른 주행 클러스터링의 결과물에 기초한 아젠다 그래프의 예제이다.
도 2는 음성 언어 이해를 위한 말뭉치 태깅의 과정을 설명하기 위한 순서도이다.
도 3은 본 발명에 따른 수동 태깅이 없는 통계적 음성 언어 이해 방법을 설명하기 위한 개념도이다.
도 4는 본 발명에 따른 통계적 음성 언어 이해 방법의 화행 클러스터링을 위한 모델을 설명하는 개념도이다.
도 5는 본 발명에 따른 화행 클러스터링의 전체 생성스토리(generative story)를 설명하는 의사 코드이다.
도 6은 본 발명에 따른 개체명 클러스터링에서 화행 클러스터링 결과로부터 개체명 후보군을 추출하는 개념을 설명하기 위한 개념도이다.
도 7은 본 발명에 따른 개체명 클러스터링에서 개체명 후보에 대해 문맥 정보를 추출하는 개념을 설명하는 개념도이다.
도 8은 본 발명에 따른 통계적 음성 언어 이해 방법의 개체명 클러스터링을 위한 모델을 설명하는 개념도이다.
도 9는 본 발명에 따른 통계적 음성 언어 이해 방법의 주행 클러스터링을 위한 모델을 설명하는 개념도이다.
도 10은 본 발명에 따른 주행 클러스터링의 전체 생성스토리(generative story)를 설명하는 의사 코드이다.
도 11은 본 발명에 따른 주행 클러스터링의 결과물에 기초한 아젠다 그래프의 예제이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
종래 기술을 통하여 살펴본 바와 같이, 대화 말뭉치는 주어진 영역에 대해 수집이 되며, 사용자 발화들과 시스템 행동들로 구성되어 있다.
종래의 방법에서는 사용자 발화에 화행, 주행, 개체명을 사람이 직접 태깅해 주었다. 대화 말뭉치의 예들은 다음과 같다. 예에서 ‘<’, ‘>’는 개체명을 의미하며, 굵은 글씨는 사람이 태깅해 주어야 하는 것을 나타낸다.
사용자 발화: < PERSON >염영일</ PERSON > 소장님 방을 찾고 있습니다.
=> 화행 statement , 주행 serach _ per _ loc ,
시스템 행동: inform_P(RoomNumber)
사용자 발화: < ROOMNUM >201호</ ROOMNUM >는 어디 입니까?
=> 화행 wh _ question , 주행 search _ loc
시스템 행동: inform_B(Position)
사용자 발화: < ROOMNUM >201호</ ROOMNUM >으로 안내 부탁 드립니다.
=> 화행 request , 주행 guide _ loc
시스템 행동: guide()
도 3은 본 발명에 따른 수동 태깅이 없는 통계적 음성 언어 이해 방법을 설명하기 위한 개념도이다.
도 3을 참조하면, 본 발명에 따른 수동 태깅이 없는 통계적 음성 언어 이해는 3단계(1단계-화행 클러스터링, 2단계-개체명 클러스터링, 3단계-주행 클러스터링)를 거친다.
첫째로, 제 1 단계(S310)는 화행 클러스터링 과정으로서, 음성 발화 문장들(301~303)을 상기 음성 발화 문장들에 포함된 유사한 화행(dialog act)들을 기초로 클러스터링하는 단계이다. 화행의 경우는 영역에 의존적이지 않는 문장 의도를 나타내기 때문에 여러 영역의 말뭉치를 한 번에 클러스터링 한다.
둘째로, 제 2 단계(S320)는 개체명 클러스터링 과정으로서, 화행 클러스터링 과정의 결과물에서 개체명 후보군을 추출하고 개체명 후보군의 주변 문맥 정보를 활용하여 영역별로 클러스터링 한다.
셋째로, 제 3 단계(S330)는 주행 클러스터링 과정으로서, 개체명 및 시스템 행동을 자질로 사용하여 영역별로 주행을 클러스터링 한다.
이상에서 살펴본 제 1 내지 제 3 단계들은 한 과정에서의 결과가 다음 과정에서 사용이 되기 때문에, 각각의 과정들이 순차적으로 이루어져야 한다.
이하에서는 상기 간략히 설명된 단계들을 단계별로 상술한다.
1) 화행 클러스터링
도 4는 본 발명에 따른 통계적 음성 언어 이해 방법의 화행 클러스터링을 위한 모델을 설명하는 개념도이다.
이 모델은 비모수 베이지안 은닉 마코프 모델(Non-parametric Bayesian Hidden Markov Model)에 기반한다. 또한, 비모수 베이지안 은닉 마코프 모델의 일예로 계층적 디리클레 프로세스 은닉 마코프 모델(Hierarchical Dirichlet Process Hidden Markov Model; HDP-HMM)이 이용될 수 있다. 여기서는 상태의 개수를 무한대로 가정하여 모델링을 한다.
은닉 마코프 모델은 생성 모델(Generative) 모델로서 여기서는 각각의 화행이 문장을 생성한다고 가정한다. 즉, 화행을 은닉 상태, 문장에 포함된 단어들을 관측값으로 가정한다. 도 4에서 z는 화행, w는 단어를 의미한다. 즉, z가 문장에 포함된 여러 단어 w를 생성하는 것으로 가정된다.
화행의 전이 확률 π k 는 사전 확률(prior distribution)로 디리클레 프로세스(Dirichlet Process) DP(α', β)를 사용한다.
디리클레 프로세스는 하이퍼파라미터(hyperparameter) α'와 베이스 분포(base distribution) β가 주어져야 하는데 베이스 분포 β는 stick-breaking construction으로 알려진 GEM distribution으로부터 생성된다. GEM distribution은 하이퍼파라미터 α가 주어져야 한다. 이로 인해 무한대의 영역에서 HMM(Hidden Markov Model)을 정의할 수 있다.
화행의 전이 확률은 하기 수학식 1과 같이 정의된다.
n(.)은 훈련하는 말뭉치에서 동시에 나타난 개수를 의미한다.
화행에 영향을 미치는 단어들만을 고려하기 위해 숨은 변수 x를 각 단어에 대해 추가했다. x는 단어의 근원을 나타낸다. x는 3개의 값 중에서 선택이 되며, 0의 경우 화행과 관련된 단어, 1의 경우 조사 등과 같이 일반적으로 나타나는 단어, 2의 경우 영역에 관련된 단어로 정의했다. 단어에 대한 단어의 근원 분포 λm는 아래 수학식 2와 같이 정의된다.
단어의 근원에 따라 각 단어의 확률은 화행별 단어 분포 확률은 하기 수학식 3, 일반적인 단어 분포 확률은 하기 수학식 4, 영역 단어 분포 확률은 하기 수학식 5와 같이 정의된다.
최종적으로 화행은 깁스 샘플링(Gibbs Sampling) 방식을 통해 유추(inference)될 수 있으며, 화행 z는 하기 수학식 6의 사후 확률(posterior distributions)을 바탕으로 샘플링된다.
도 5는 본 발명에 따른 화행 클러스터링의 전체 생성스토리(generative story)를 설명하는 의사 코드이다.
2) 개체명 클러스터링
개체명 클러스터링 단계에서는 본격적인 개체명 클러스터링에 앞서 개체명 후보군을 추출한다. 이를 위해 화행 클러스터링에서의 단어별 근원값(x)을 이용한다.
도 6은 본 발명에 따른 개체명 클러스터링에서 화행 클러스터링 결과로부터 개체명 후보군을 추출하는 개념을 설명하기 위한 개념도이다.
도 6을 참조하면, 예제에서는 second, floor, video, classroom과 같이 영역 단어로 선정된 단어들(즉, 근원값이 2인 단어들)을 개체명 후보로 본다. 아래의 개체명은 수동 태깅된 개체명 결과를 보여준다.
하지만, 위의 예처럼 몇 개의 단어가 하나의 개체명 후보가 될 수 있기 때문에 기본적으로 연속된 단어를 하나의 임시 후보로 본 뒤 분리(segmentation)하는 단계를 거칠 수 있다.
예컨대, 임시 개체명 후보 t가 m개의 연속된 개체명들로 나누어질 때 최적의 분리된 결과를 찾기 위해 고착성 함수(stickiness function)의 값이 가장 높은 것을 사용한다. 고착성 함수의 일예로는 포인트 상호 정보(point mutual information; PMI)가 이용될 수 있다. 하기 수학식 7 내지 9는 개체명 후보의 고착성 함수의 정의와 가장 높은 고착성 함수 값을 가지는 개체명 후보를 찾는 과정을 설명하기 위한 것이다.
위와 같은 과정을 거쳐 최종 개체명 후보가 결정되면, 개체명 후보의 문맥 정보를 뽑아낸다. 문맥 정보는 개체명 후보 앞뒤에 위치한 소정 개수의 단어들을 이용할 수 있다. 예컨대, 문맥 정보는 개체명 후보 앞에 위치한 3단어들과 개체명 후보 뒤에 위치한 3단어들을 이용하도록 구성될 수 있다(즉, 윈도우(window)가 3인 경우).
도 7은 본 발명에 따른 개체명 클러스터링에서 개체명 후보에 대해 문맥 정보를 추출하는 개념을 설명하는 개념도이다.
문맥 정보를 추출하기 위해서, 개체명 후보군들로부터 문맥 정보들이 생성된다고 보고, 도메인별로 계층적 디리클레 프로세스(Hierarchical Dirichlet Process; HDP) 알고리즘을 적용할 수 있다.
한편, 화행 클러스터링과 달리 개체명 클러스터링에서는 전이 확률이나 근원은 사용하지 않는다.
도8은 본 발명에 따른 통계적 음성 언어 이해 방법의 개체명 클러스터링을 위한 모델을 설명하는 개념도이다.
도 8에서, e는 개체명 후보, f는 문맥정보를 의미한다.
3) 주행 클러스터링
주행의 클러스터링은 화행의 클러스터링과 유사하게 발화 단위로 클러스터링을 수행한다. 차이점은 영역별로 수행된다는 점과 개체명 및 시스템 행동 분포를 활용한다는 점이다.
도 9는 본 발명에 따른 통계적 음성 언어 이해 방법의 주행 클러스터링을 위한 모델을 설명하는 개념도이다.
도 9에 도시된 각각의 변수 의미는 화행 클러스터링과 유사하다.
여기서 z는 주행을 의미한다. 영역 내에서 수행되기 때문에 x는 2개의 값 중에서 선택이 되며, 0의 경우 화행과 관련된 단어, 1의 경우 조사 등과 같이 일반적으로 나타나는 단어를 의미한다.
e는 발화에 나타난 개체명을 의미하며 θk는 주행 k에 대한 개체명 분포를 나타낸다. s는 발화에 대응되는 시스템 행동을 나타내며, ψk는 주행 k에 대한 시스템 행동 분포를 나타낸다.
각각은 하기 수학식 10 및 수학식 11과 같이 계산이 될 수 있다.
최종적으로 주행은 깁스 샘플링(Gibbs Sampling) 방식을 통해 유추(inference)될 수 있으며, 주행 z는 다음 사후 확률(posterior distributions)을 바탕으로 샘플링될 수 있다.
도 10은 본 발명에 따른 주행 클러스터링의 전체 생성스토리(generative story)를 설명하는 의사 코드이다.
클러스터링 결과물의 활용 방법
이상에서 설명된 화행, 개체명, 주행 클러스터링을 순차적으로 거치면서 대화 코퍼스에는 화행, 개체명, 주행 태깅이 자동으로 추가된다. 클러스터링을 했기 때문에 태깅 레이블은 임시의 클러스터 ID로 부여되는데, 사람이 파악할 수 있는 형태로 바꾸기 위해서는 일정 부분 분석을 통해 ID 숫자를 의미 있는 레이블로 일괄적으로 치환하면 된다. 화행, 개체명, 주행을 활용하는 대화 시스템에서 단순히 구분을 위한 것이라면 치환하는 과정을 필요하지 않을 수 있다.
다영역 대화 시스템의 경우 발화가 어느 영역에 속하는지 파악하기 위한 영역 분류기가 필요하다. 화행 클러스터링 결과로 나온 영역별 단어 분포를 영역 분류기에서 활용할 수 있다. 문장에 포함된 각 단어들에 대해 영역에 나타나는 확률을 계산하여, 영역별로 각각을 곱해 문장 전체에서 가장 높은 확률을 가지는 영역을 선택하면 된다.
대화 시스템에서는 작업 흐름을 나타내는 아젠다 그래프를 활용하는 경우가 있다. 주행 클러스터링에서의 주행을 서브 태스크로 판단하고 각각의 전이 확률을 이용하면 아젠다 그래프를 자동으로 생성할 수 있다. 개체명 분포를 적용할 때 해당 발화에서 나타난 개체명뿐만 아니라, 대화 시작부터 지금까지 누적된 개체명 분화를 활용하면 주행보다 서브 태스크에 근접한 결과를 얻을 수 있다.
도 11은 본 발명에 따른 주행 클러스터링의 결과물에 기초한 아젠다 그래프의 예제이다.
도 11을 참조하면, 노드의 숫자는 클러스터링 결과에서 얻은 클러스터 ID이며 화살표에 달려있는 숫자는 전이 확률을 나타낸다. 숫자 옆에 있는 레이블은 참고를 위한 것으로 사람이 태깅했을 때 나타난 주행을 표시한 것이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
301~303: 음성 발화들
S310: 화행 클러스터링
S320: 개체명 클러스터링
S330: 주행 클러스터링
S310: 화행 클러스터링
S320: 개체명 클러스터링
S330: 주행 클러스터링
Claims (16)
- 통계적 음성 언어 이해 방법으로서,
음성 발화 문장들을 상기 음성 발화 문장들에 포함된 유사한 화행(dialog act)들을 기초로 클러스터링하는 화행 클러스터링 단계;
상기 화행 클러스터링 단계의 결과에서 개체명(named entity) 후보군을 추출하고 추출된 개체명 후보군의 주변 문맥 정보에 기초하여 개체명을 클러스터링하는 개체명 클러스터링 단계; 및
상기 개체명 클러스터링 결과에 기초하여 영역별로 주행(main act)을 클러스터링하는 주행 클러스터링 단계를 순차적으로 수행하되,
상기 통계적 음성 언어 이해 방법은 비모수 비교사 학습 방법을 기반으로 인위적인 수동 태깅 없이 수행되는, 통계적 음성 언어 이해 방법. - 삭제
- 청구항 1에 있어서,
상기 화행 클러스터링 단계는, 상기 화행이 은닉 상태이며 상기 음성 발화 문장들에 포함된 단어들이 관측 값이라는 가정하에, 비모수 베이지안 은닉 마코프 모델(Non-parametric Bayesian Hidden Markov Model)을 이용하여 수행되는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 3에 있어서,
상기 비모수 베이지안 은닉 마코프 모델은 계층적 디리클레 프로세스 은닉 마코프 모델(Hierarchical Dirichlet Process Hidden Markov model; HDP-HMM)인 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 4에 있어서,
상기 화행의 전이 확률은 디리클레(Dirichlet) 프로세스에 의해 결정되는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 3에 있어서,
상기 화행 클러스터 단계는, 상기 화행이 은닉 상태이며 상기 음성 발화 문장들에 포함된 단어들이 관측 값이라는 가정하에, 상기 단어들의 근원을 이용하여 화행 클러스터링을 수행하는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 3에 있어서,
상기 화행 클러스터링 단계는, 상기 화행을 깁스 샘플링(Gibbs sampling) 방법을 이용하여 최종적으로 유추하는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 1에 있어서,
상기 화행 클러스터링 단계에서 얻어진 영역별 단어 분포를 이용하여 상기 음성 발화 문장들의 영역을 분류하는 단계를 추가로 포함하는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 1에 있어서,
상기 개체명 클러스터링 단계는, 상기 음성 발화 문장들에 포함된 단어들의 근원을 이용하여 개체명 후보군을 추출하는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 9에 있어서,
상기 개체명 후보군이 복수의 연속된 단어들로 구성된 경우, 상기 복수의 연속된 단어들을 고착성 함수(stickiness function)를 이용하여 분리하는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 10에 있어서,
상기 고착성 함수는 포인트 상호 정보(Point Mutual Information; PMI) 함수인 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 9에 있어서,
상기 추출된 개체명 후보군의 주변 문맥 정보는 상기 추출된 개체명 후보군의 앞뒤에 위치한 소정 개수의 단어들에 대하여 계층적 디리클레 프로세스(Hierarchical Dirichlet Process) 알고리즘을 적용하여 얻어지는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 1에 있어서,
상기 주행 클러스터링 단계는, 상기 주행이 은닉 상태이며 상기 음성 발화 문장들에 포함된 단어들, 상기 음성 발화 문장들로부터 추출된 개체명 및 상기 음성 발화 문장들에 대응되는 시스템 행동이 관측 값이라는 가정하에, 비모수 베이지안 은닉 마코프 모델을 이용하여 수행되는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 13에 있어서,
상기 비모수 베이지안 은닉 마코프 모델은 계층적 디리클레 프로세스 은닉 마코프 모델인 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 14에 있어서,
상기 주행의 전이 확률은 디리클레 프로세스에 의해 결정되는 것을 특징으로 하는 통계적 음성 언어 이해 방법. - 청구항 15에 있어서,
상기 주행 클러스터링 단계에서 도출된 주행들과 상기 전이 확률을 이용하여 아젠다(agenda) 그래프를 생성하는 단계를 추가로 포함한 것을 특징으로 하는 통계적 음성 언어 이해 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130000188A KR101410163B1 (ko) | 2013-01-02 | 2013-01-02 | 통계적 음성 언어 이해 방법 |
PCT/KR2013/008092 WO2014106979A1 (ko) | 2013-01-02 | 2013-09-06 | 통계적 음성 언어 이해 방법 |
US14/759,048 US9489942B2 (en) | 2013-01-02 | 2013-09-06 | Method for recognizing statistical voice language |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130000188A KR101410163B1 (ko) | 2013-01-02 | 2013-01-02 | 통계적 음성 언어 이해 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101410163B1 true KR101410163B1 (ko) | 2014-06-20 |
Family
ID=51062288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130000188A KR101410163B1 (ko) | 2013-01-02 | 2013-01-02 | 통계적 음성 언어 이해 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9489942B2 (ko) |
KR (1) | KR101410163B1 (ko) |
WO (1) | WO2014106979A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6591321B2 (ja) * | 2016-03-16 | 2019-10-16 | 株式会社東芝 | 対話コーパス収集装置、方法、及びプログラム |
US9978367B2 (en) * | 2016-03-16 | 2018-05-22 | Google Llc | Determining dialog states for language models |
US10372743B2 (en) * | 2016-07-20 | 2019-08-06 | Baidu Usa Llc | Systems and methods for homogeneous entity grouping |
CN107704482A (zh) * | 2016-08-09 | 2018-02-16 | 松下知识产权经营株式会社 | 方法、装置以及程序 |
US10592611B2 (en) * | 2016-10-24 | 2020-03-17 | Conduent Business Services, Llc | System for automatic extraction of structure from spoken conversation using lexical and acoustic features |
JP7244828B2 (ja) * | 2019-02-19 | 2023-03-23 | 国立大学法人 筑波大学 | 言語処理装置、言語処理方法、およびプログラム |
CN110288985B (zh) * | 2019-06-28 | 2022-03-08 | 北京猎户星空科技有限公司 | 语音数据处理方法、装置、电子设备及存储介质 |
US11741307B2 (en) * | 2020-07-06 | 2023-08-29 | Samsung Electronics Co., Ltd. | System and method for learning new concepts from input utterances |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110043600A (ko) * | 2008-06-17 | 2011-04-27 | 보이스센스 리미티드 | 화법분석을 통한 화자의 특성분석 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061054A1 (en) | 2001-09-25 | 2003-03-27 | Payne Michael J. | Speaker independent voice recognition (SIVR) using dynamic assignment of speech contexts, dynamic biasing, and multi-pass parsing |
JP2004086001A (ja) * | 2002-08-28 | 2004-03-18 | Sony Corp | 会話処理装置、および会話処理方法、並びにコンピュータ・プログラム |
EP1576586A4 (en) * | 2002-11-22 | 2006-02-15 | Transclick Inc | LANGUAGE TRANSLATION SYSTEM AND METHOD |
KR100776729B1 (ko) * | 2006-08-29 | 2007-11-19 | 울산대학교 산학협력단 | 결정 트리 기반의 상태 군집화 방법을 사용하는 비핵심어모델링부를 포함하는 화자독립 가변어휘 핵심어 검출시스템 및 그 방법 |
JP4820240B2 (ja) * | 2006-08-29 | 2011-11-24 | 日本放送協会 | 単語分類装置及び音声認識装置及び単語分類プログラム |
US9058220B2 (en) * | 2012-12-26 | 2015-06-16 | Palo Alto Research Center Incorporated | Generation-based update caching for robust scalable distributed Gibbs sampling |
-
2013
- 2013-01-02 KR KR1020130000188A patent/KR101410163B1/ko active IP Right Grant
- 2013-09-06 WO PCT/KR2013/008092 patent/WO2014106979A1/ko active Application Filing
- 2013-09-06 US US14/759,048 patent/US9489942B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110043600A (ko) * | 2008-06-17 | 2011-04-27 | 보이스센스 리미티드 | 화법분석을 통한 화자의 특성분석 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2014106979A1 (ko) | 2014-07-10 |
US9489942B2 (en) | 2016-11-08 |
US20150356969A1 (en) | 2015-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101410163B1 (ko) | 통계적 음성 언어 이해 방법 | |
US11568855B2 (en) | System and method for defining dialog intents and building zero-shot intent recognition models | |
CN110364171B (zh) | 一种语音识别方法、语音识别***及存储介质 | |
US10460721B2 (en) | Dialogue act estimation method, dialogue act estimation apparatus, and storage medium | |
US11037553B2 (en) | Learning-type interactive device | |
Henderson et al. | Discriminative spoken language understanding using word confusion networks | |
Gupta et al. | The AT&T spoken language understanding system | |
Ji et al. | Dialog act tagging using graphical models | |
Boyer et al. | Dialogue act modeling in a complex task-oriented domain | |
Roddy et al. | Investigating speech features for continuous turn-taking prediction using lstms | |
JP2017059205A (ja) | 主題推定システム、主題推定方法およびプログラム | |
JP6823809B2 (ja) | 対話行為推定方法、対話行為推定装置およびプログラム | |
CN112151015A (zh) | 关键词检测方法、装置、电子设备以及存储介质 | |
Gallwitz et al. | Integrated recognition of words and prosodic phrase boundaries | |
Burkhardt et al. | Emotion detection in dialog systems: Applications, strategies and challenges | |
Sharma et al. | A comprehensive empirical review of modern voice activity detection approaches for movies and TV shows | |
Telmem et al. | Amazigh speech recognition system based on CMUSphinx | |
Pearl | Computational cognitive modeling for syntactic acquisition: Approaches that integrate information from multiple places | |
KR101255468B1 (ko) | 대화 의도를 분류하는 방법 | |
JP6910002B2 (ja) | 対話行為推定方法、対話行為推定装置及びプログラム | |
CN112905774A (zh) | 一种基于事理图谱的人机对话深度意图理解方法 | |
Zhou et al. | Discriminative training of the hidden vector state model for semantic parsing | |
Ghadiri et al. | Integration of text and graph-based features for detecting mental health disorders from voice | |
Mosa et al. | Arabic phoneme recognition using hierarchical neural fuzzy petri net and LPC feature extraction | |
Chen et al. | Robust dialogue act detection based on partial sentence tree, derivation rule, and spectral clustering algorithm |
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: 20180313 Year of fee payment: 4 |
|
R401 | Registration of restoration | ||
FPAY | Annual fee payment |
Payment date: 20180406 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190319 Year of fee payment: 6 |