KR20110126058A - 음성 인식 에러 예측자로서의 문법 적합성 평가를 위한 방법들 및 시스템 - Google Patents
음성 인식 에러 예측자로서의 문법 적합성 평가를 위한 방법들 및 시스템 Download PDFInfo
- Publication number
- KR20110126058A KR20110126058A KR1020110044933A KR20110044933A KR20110126058A KR 20110126058 A KR20110126058 A KR 20110126058A KR 1020110044933 A KR1020110044933 A KR 1020110044933A KR 20110044933 A KR20110044933 A KR 20110044933A KR 20110126058 A KR20110126058 A KR 20110126058A
- Authority
- KR
- South Korea
- Prior art keywords
- statements
- confusion
- words
- phoneme
- alignment
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 238000011156 evaluation Methods 0.000 title abstract description 24
- 230000008569 process Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 8
- 230000000739 chaotic effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000013441 quality evaluation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000007704 transition Effects 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/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
-
- 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/187—Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
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
본 발명은 일반적으로 음성 인식 시스템들의 방법에 관한 것이며, 구체적으로는 음성 인식 시스템에서 사용되는 문법 적합성 평가를 위한 방법들 및 시스템들에 관한 것이다.
전자 장치들과 인터페이스 하는 시스템 사용자들을 위한 강인(robust)하고 효과적인 기술들을 구현하는 방법은 시스템 디자이너들과 제조업자들에게 중대한 고려 사항이다. 음성으로 제어되는 전자 기기들의 동작은 시스템 사용자들이 전자 기기들을 제어하고 이들과 상호작용하는 바람직한 인터페이스를 종종 제공할 수 있다. 예를 들어, 전자 기기의 음성으로 제어되는 동작은 사용자가 동시에 다른 작업들도 수행할 수 있도록 하거나, 특정 종류의 작업 환경들에서는 유용할 수 있다. 또한, 전자 기기들의 핸즈프리(hands-free) 동작은 신체적 제한이나 다른 특수한 요건들을 가진 사용자들에게 바람직할 수 있다.
전자 기기들의 핸즈프리 동작은 다양한 음성 활성화형(speech-activated) 전자 기기들에 의해 구현될 수 있다. 음성 활성화형 전자 기기들은 사용자들로 하여금 특수 상황에서 전자 기기들과 인터페이스 할 수 있도록 한다. 이러한 특수 상황은 종래의 입력 장치를 사용하기 불편하거나 잠재적 위험성이 있는 경우이다. 그러나 시스템 디자이너들은 음성 인식 시스템들을 효과적으로 구현하는데 어려움을 겪고 있다.
음성 인식 시스템 분야에서, 음성 인식 시스템은 필터된 오디오 스트림을 입력해서 음성(speech)인 음성 분절들(sound segments)을 추출 및 분리시킨다(isolate).
하위 어휘(sub-lexical) 음성 인식 시스템들은 주로 음성 파형들(sound waveforms)을 모델링하는 기본 단위로부터 단어들과 문장들을 구성하는 방법을 구현한다. 일례로, 음소 모델들(phoneme models)에 기초하는 음성 인식 시스템에서, 발음 사전들은 단어들의 음소 표기들(phonetic transcriptions)로부터 그 단어들을 형성하는 룩업 테이블들(look-up tables)로 사용될 수 있다. 또한 단어 조합(word combination)의 명확한 규칙들은 단어들로부터 문장들을 형성하기 위해 제공된다. 문장 구조(sentence construction) 규칙들은 '인식 문법(recognition grammar)'으로 간주된다.
인식 문법의 복잡성은 인식될 어플리케이션(application)의 성질(nature)에 의존한다. 예를 들면, 소정의 단순한 명령어 방식(simple command-like)의 어플리케이션들은 격리된 단어 문법들(isolated-word grammars)을 요구하는 반면, 소정의 대화 방식(dialog-like)의 어플리케이션들은 더 복잡한 문장 구조를 요구한다. 어플리케이션의 복잡성과 상관없이, 어플리케이션 개발자는 문법 및 필요들을 신중히 특정지어서, 완성도를 보장(즉, 문법이 어플리케이션에서 요구하는 모든 문장들을 포괄함(cover))하고, 과잉 생성(over-generation)을 회피(즉, 문법에 의해 어플리케이션이 해석할 수 없는, 예기치 않은 문장들의 생성을 허용하지 않도록 함)할 수 있도록 문법을 정제(refine)할 필요가 있다. 이는 경력이 많은 어플리케이션 개발자들에게도 시간이 많이 걸리는 일이다.
문법을 확립하는데 개발자가 투자하는 노력에 상관없이, 음성 인식 시스템에 의해 에러가 만들 수 있는 다수의 영역들을 문법이 포함할 가능성이 있다. 이는 상이한 의미를 가지고 다른 동작들(actions)과 연관된 다른 단어들이 음향적으로 유사할 수 있고, 또는 단어들의 특정 조합이 다른 의미를 내포하거나 다른 동작을 나타내는 단어 조합과 상당히 유사할 수 있기 때문이다. 그리하여 음성 인식 시스템이 단어들을 구별하는데 어려움을 겪고 있다.
따라서 어플리케이션 개발자는 문법이 가지는 혼란의 잠재적 원인들을 고려하고, 혼란의 잠재적 원인들을 제거해서, 문법 상 대체 가능한 위치에 혼란성 있는 단어들이 배치되는 것을 억제하도록 노력한다. 그러나 이러한 과업은 문법 상 가능한 단어 조합들의 일군이 너무 길 때는 개발자가 어느 정도 정확하고 상세하게, 그리고 일일이 탐색하는데 어려움이 있다.
그러므로 문법을 자동적으로 평가하여, 문법 상 대체 가능한 위치들에 혼란 가능한 단어들이 배치된 것을 식별하는 체계적인 방안이 필요하다.
하나의 실시예에서, 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 컴퓨터에서 구현되는 방법이 개시된다. 이러한 방법은 문법 구조에 포함된, 복수의 명령문들을 수신하는 과정을 포함한다. 복수의 명령문들 각각은 다수의 단어 일군들로 형성된다. 또한 이러한 방법은 복수의 명령문들을 단어 일군 별로 정렬하여 복수의 명령문들에 걸쳐 다수의 정렬 영역들을 식별하는 과정을 포함한다. 정렬된 단어 일군들 각각은 정렬된 영역을 표현한다. 나아가 이러한 방법은 복수의 명령문들에 걸쳐, 다수의 잠재적 혼란 구역들을 식별하는 과정을 포함한다. 다수의 잠재적 혼란 구역들 각각은 다수의 정렬 영역들 밖의 대응하는 위치들에서 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해 정의된다. 식별된 잠재적 혼란 구역들 각각에 대하여, 연산 이벤트 중 음성 인식 시스템에 의해 청각적으로 처리될 때 단어들 사이의 혼란 확률의 정도를 판단하기 위해, 식별된 잠재적 혼란 구역들 각각에 대하여 잠재적 혼란 구역에 포함된 단어들의 음소 발음들을 분석하는 과정이 수행된다. 또한 이러한 방법은 복수의 명령문들에 걸쳐 잠재적 혼란 구역들의 정체와 잠재적 혼란 구역들에 대응하는 혼란 확률의 정도를 시사하는 보고서를 생성하는 과정을 포함한다.
다른 실시예에서, 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 시스템이 개시된다. 시스템은 문법 구조에 포함된 복수의 명령문들을 수신하도록 정의된 입력 모듈을 구비한다. 복수의 명령문들 각각은 다수의 단어 일군들로 형성된다. 또한 시스템은 입력 모듈에 의해 수신된 복수의 명령문들에 걸쳐 다수의 정렬 영역들을 식별하도록 정의된 단어 수준의 정렬 모듈을 구비한다. 정렬 영역은 복수의 명령문들에 걸쳐 정렬된 동일한 단어 일군들에 대응한다. 나아가 시스템은 복수의 명령문들에 걸쳐 다수의 잠재적 혼란 구역들을 식별하도록 정의된 혼란 구역 식별 모듈을 구비한다. 다수의 잠재적 혼란 구역들 각각은 다수의 정렬 영역들 밖의 대응하는 위치들에서 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해 정의된다. 또한 시스템은 혼란 구역 식별 모듈에 의해 식별된 특정 잠재적 혼란 구역에 포함된 단어들의 음소 발음들을 분석하도록 정의된 혼란 확률 분석 모듈을 구비한다. 단어들의 음소 발음들의 분석은 연산 이벤트 중 음성 인식 시스템에 의해 청각적으로 처리될 때 특정 잠재적 혼란 구역에 포함된 단어들 사이의 혼란 확률의 정도를 판단할 수 있도록 한다.
다른 실시예에서, 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 프로그램 명령어들을 포함하는 컴퓨터 판독 가능한 매체가 개시된다. 문법 구조에 포함된, 복수의 명령문들을 수신하기 위한 프로그램 명령어들이 제공된다. 복수의 명령문들 각각은 다수의 단어 일군들로 형성된다. 복수의 명령문들을 단어 일군 별로 정렬하여 복수의 명령문들에 걸쳐, 다수의 정렬 영역들을 식별하기 위한 프로그램 명령어들이 제공된다. 정렬된 단어 일군들 각각은 정렬된 영역들을 표현한다. 복수의 명령문들에 걸쳐, 다수의 잠재적 혼란 구역들을 식별하기 위한 프로그램 명령어들이 제공된다. 잠재적 혼란 구역들 각각은 다수의 정렬 영역들 밖의 대응하는 위치들에서 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해 정의된다. 연산 이벤트 중 음성 인식 시스템에 의해 청각적으로 처리될 때 잠재적 혼란 구역들 각각에 포함된 단어들 사이의 혼란 확률의 정도를 판단하기 위해, 잠재적 혼란 구역들 각각에 포함된 단어들의 음소 발음들을 분석하기 위한 프로그램 명령어들이 제공된다.
본 발명의 다른 양상들은 하술되는 상세한 설명과 본 발명의 일례를 도시하는 첨부된 도면들에서 더욱 명확해질 것 이다.
본 발명은 문법을 자동적으로 평가하여, 문법 상 대체 가능한 위치들에 혼란 가능한 단어들이 배치된 것을 식별하는 음성 인식 에러 예측자로서의 문법 적합성 평가를 위한 방법들 및 시스템을 제공한다.
도 1a는 본 발명의 일 실시예에 따른 입력 텍스트 파일의 예를 도시한다.
도 1b는 본 발명의 일 실시예에 따라 명령문들(statements)을 특정하는 대체 가능하고 다양한 표현들(representations)을 사용하여 정의된 도 1a의 입력 텍스트 파일을 도시한다.
도 2는 본 발명의 일 실시예에 따른 도 1a 및 1b의 입력 텍스트 파일에 대응하는 GnD 파일을 도시한다.
도 3은 본 발명의 일 실시예에 따른 도 2의 GnD 파일에 정의된 명령문들 중 두 개의 명령문들에 대한 문법으로 이어진 경로 네트워크(path network through the grammar)를 도시한다.
도 4는 본 발명의 일 실시예에 따라 문법 적합성 평가(grammar fitness evaluation; GFE) 절차의 흐름도(operational diagram)를 도시한다.
도 5는 본 발명의 일 실시예에 따라 도 2의 예시적 문법 입력을 대상으로 GFE를 수행하여 생성된 문법 적합성 리포트(grammar fitness report)로부터 발췌된 내용을 도시한다.
도 6은 본 발명의 일 실시예에 따라 GnD 파일을 구성하고 GnD 파일에 대응하는 문법 적합성을 평가하기 위한 절차의 흐름도를 도시한다.
도 7은 본 발명의 일 실시예를 따라 연산 이벤트 중에 음성 인식을 위해 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는, 컴퓨터에서 구현되는 방법의 흐름도를 도시한다.
도 8은 본 발명의 일 실시예에 따라 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 시스템의 블록도를 도시한다.
도 1b는 본 발명의 일 실시예에 따라 명령문들(statements)을 특정하는 대체 가능하고 다양한 표현들(representations)을 사용하여 정의된 도 1a의 입력 텍스트 파일을 도시한다.
도 2는 본 발명의 일 실시예에 따른 도 1a 및 1b의 입력 텍스트 파일에 대응하는 GnD 파일을 도시한다.
도 3은 본 발명의 일 실시예에 따른 도 2의 GnD 파일에 정의된 명령문들 중 두 개의 명령문들에 대한 문법으로 이어진 경로 네트워크(path network through the grammar)를 도시한다.
도 4는 본 발명의 일 실시예에 따라 문법 적합성 평가(grammar fitness evaluation; GFE) 절차의 흐름도(operational diagram)를 도시한다.
도 5는 본 발명의 일 실시예에 따라 도 2의 예시적 문법 입력을 대상으로 GFE를 수행하여 생성된 문법 적합성 리포트(grammar fitness report)로부터 발췌된 내용을 도시한다.
도 6은 본 발명의 일 실시예에 따라 GnD 파일을 구성하고 GnD 파일에 대응하는 문법 적합성을 평가하기 위한 절차의 흐름도를 도시한다.
도 7은 본 발명의 일 실시예를 따라 연산 이벤트 중에 음성 인식을 위해 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는, 컴퓨터에서 구현되는 방법의 흐름도를 도시한다.
도 8은 본 발명의 일 실시예에 따라 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 시스템의 블록도를 도시한다.
하술되는 설명에서, 본 발명의 상세한 이해를 제공하기 위하여 다수의 특정 예들이 개진된다. 그러나 이러한 특정 예들의 일부 또는 모두가 없이도 본 발명이 구현될 수 있다는 점은 당업자에게 자명할 것이다. 그리고 본 발명을 불필요하게 흐리지 않기 위해 공지된 절차에 대한 동작들은 서술되지 않았다.
일 실시예에서, 본 명세서에서 개시되는 방법들 및 시스템들은 소니 플레이스테이션® 보이스 리스폰스(Sony PlayStation® Voice Response; PSVR)에서 구현된다. PSVR은 어플리케이션, 즉, 컴퓨터 프로그램 개발자들이 가청 음성 입력(audible speech input)을 처리하도록 정의된다. 이때 가청 음성 입력은 어플리케이션 실행 중에 어플리케이션에 의해 실시간으로 인식 가능하고 처리 가능한(acted upon) 형식으로 처리된다. 그러나 본 명세서에 개시된 방법 및 시스템들은 다른 실시예들에서 PSVR 이외의 다른 기기들에서도 구현 가능하다. 그러므로 본 명세서에서 개시된 방법들과 시스템들은 PSVR에서만 사용될 수 있는 것으로 한정적으로 이해되어서는 안 된다.
음성 인식은 사용자가 컴퓨터에게 발화(speak)하고, 컴퓨터가 발화된 것을 인식하는 절차이다. 음성 응답(voice response) 소프트웨어는 음성 인식 중의 절차에 있어서 일정한(constant) 정보를 제공하도록 정의될 수 있다. 이에 소정의 어플리케이션은 이러한 정보를 사용자에게 실시간 응답(feedback) 또는 화면들로 제공하는데 사용할 수 있다. 이때 실시간 응답이나 화면들은 말하는 얼굴의 애니메이션이나, 사용자의 음성에 대한 가시적 표시자가 될 수 있다. 음성 인식은 한정된 어휘, 즉 어플리케이션을 위한 사전 및 문법을 특정지음으로써 단순화될 수 있다. 문법은 어휘들의 타당한 조합들의 집합이다. 다른 면에서, 문법은 어플리케이션에 대한 타당한 명령문들(valid statements)(문장들 또는 구절들(phrases)의 텍스트(test))의 일군이다. 문법은 문법-및-사전(grammar-and-dictionary; GnD) 파일에 정의될 수 있다. GnD 파일은 단어들 및 그의 발음들을 포함하는 어플리케이션의 어휘들(vocabularies)의 표현(representation)과 어플리케이션에게 타당한 명령문들의 일군을 형성하는 단어들 사이의 연결 관계(linkage)를 포함한다. GnD 파일에 있는 타당한 어휘들을 이어주는 예상 경로들(possible paths through valid vocabularies)은 문법 네트워크(grammar network)로 지칭된다.
일 실시예에서, PSVR과 같은 음성 인식 시스템은 어플리케이션과 함께 사용될 타당한 명령문들을 특정 짓는 텍스트 파일을 입력으로 수신할 수 있다. 이러한 입력 텍스트 파일은 어플리케이션 개발자에 의해 제작될 수 있으며, 어플리케이션이 적합하게 응답(respond)할 수 있도록 음성 인식 시스템에 의해 인식되어야 하는 명령문들에 기초한다. 도 1a는 본 발명의 실시예에 따른 입력 텍스트 파일의 예를 도시한다. 선택적으로, 입력 텍스트 파일은 명령문들을 특정 짓는 다른 대체 가능하고 다양한 표현들을 활용할 수 있다. 일 실시예에서, 대체가능한 단어들 또는 구절들은 입력 텍스트 파일에서 '|'와 같은 기호에 의해 구분(delineated)될 수 있다. 또한 한 실시예에서, 다양한 레이블들(labels)은 입력 텍스트 파일의 단어들이나 구절들을 표현(represent)하는데 사용될 수 있다. 일례로, '${가변 레이블(variable label)}={단어들 또는 구절들}'의 표기법은 단어들이나 구절들을 가변 레이블로 지정하는데 사용될 수 있다. 또한 한 실시예에서 입력 텍스트 파일은 단어들이나 구절들의 연상 그룹화(associative grouping)를 위해 괄호 표기법(parenthetical notation)을 이용할 수 있다. 도 1b는 본 발명의 일 실시예에 따라 명령문들을 특정 하는 대체 가능하고 다양한 표현들을 사용하여 정의된 도 1a의 입력 텍스트 파일을 도시한다.
도 2는 본 발명의 일 실시예에 따라 도 1a 및 1b의 입력 텍스트 파일에 대응하는 GnD 파일을 도시한다. GnD 파일은 입력 텍스트 파일의 명령문들을 위한 문법을 정의한다. GnD 파일은 문법에 포함된 단어 일군들(word sets in the grammar), 단어 일군들의 발음들 및 타당한 명령문들을 형성하는 단어 일군들의 연결 관계(linkage)를 포함한다. 도 2의 예에서, 단어 일군들 각각은 인용 부호("")에 싸여 있다. 단어 일군들은 그룹들로 집합되고, 그룹들 사이의 연결 관계들은 가능한 명령문들을 정의하기 위해 ('==>'의 기호에 의해)특정(specified)된다. 그룹들 사이의 연결들은 GnD 파일의 문법으로 이어지는 예상 경로들을 정의한다. 예를 들면, 도 3은 본 발명의 일 실시예에 따라 도 2의 GnD 파일에 정의된 명령문들 중 두 개의 명령문들을 위한 문법으로 이어지는 경로 네트워크(path network through the grammar)를 도시한다.
음성 인식 절차 중에서는 문법 및 사전이 함께 사용되어 문법 네트워크가 제공된다. 음성 인식 도구는 인식 절차 중에서 이러한 문법 네트워크를 통과한다(traverse). 음성 인식 절차는 문법 네트워크가 더욱 복잡해지고 그리고/또는 혼잡해질수록 더욱 난이해지고 그리고/또는 부정확해진다. 어플리케이션이 실행되는 동안 올바른 음성 인식 결과를 보장하기 위해서는 GnD 파일의 문법 네트워크를 최대한 사용하여 혼란을 줄이거나 제거하는 것이 바람직하다. 이를 위하여, GnD 파일의 문법에서 잠재적 혼란 요소들을 식별하는 것이 필요하다. 문법의 잠재적 혼란 요소들의 식별 및 측정(measurement)은 문법 적합성 평가 또는 문법 퀄리티 평가(grammar quality evaluation)로 지칭된다.
자동 음성 인식에서, 인식 가설(recognition hypothesis)은 음향 신호가 문법이나 언어 모델(language model)에 의해 허용된 경로들을 횡단하면서 누적된 점수들의 일군에 따른 결과이다. 하위 어휘 음성 인식(단어들 보다 짧은 단위들(예. 음소들)에 기초한 음성 인식)에서, 문법에 적합한 경로들은 단어들과 문장들을 나타내는 음소열들(phonetic sequences)에 의해 형성된다. 매우 '근접한' 경로들의 일군은 명확하고 분명한 차이점들을 가진 경로들의 일군에 비해 더욱 혼란스러울 것이다. 도 3에 도시된 경로들은 문법으로 이어진 근접한 경로들의 예를 도시한다. 더욱 구체적으로, 도 3의 두 개의 경로들은 유사한 음소들, 즉 비슷한 음(phonetic sound)을 가진 경로들 사이에서 단일의 단어 차이로 분별된다.
문법에 적합한 하나의 경로와 다른 경로 사이의 근접성은 이러한 경로들 사이의 음소 차이들의 수(quantity), 위치 및 정도(magnitude)에 따라 다를 수 있다. 즉, 문법에 적합한 경로들 사이의 인식 거리(recognition distance)는 경로들이 구성된 방법과 경로들 각각의 구성 요소들 사이의 음향학적 유사성(acoustic similarity)에 의존한다. 문법에 적합한 경로들 사이의 인식 거리를 측정해서 서로 충돌 가능하고 음성 인식 에러들을 유발할 수 있는 음소열들 사이의 '근접성'을 대략 추정할 수 있다. 문법 적합성 평가는 어플리케이션의 문법에 포함된 모든 명령문들(그리고 근본적인 음소 경로들(phonetic paths))에 대한 인식 거리의 평가이다. 이러한 문법 적합성 평가는 어플리케이션의 문법 디자인 절차 속의 피드백(feedback) 기구의 일부가 돼서, 어플리케이션 실행 중에 발생하는 음성 인식 에러들의 수와 주기를 감소시키는데 사용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 문법 적합성 평가(grammar fitness evaluation; GFE) 절차의 흐름도(operational diagram)이다. GFE 절차에서, 문법 입력(input grammar)(401)은 GFE 모듈(403)의 입력으로 생성 및 제공된다. 일 실시예에서, 문법 입력(401)은 도 2에 예시된 GnD 파일의 형식으로 제공된다. 다른 실시예들에서, 문법 입력(401)은 다른 형식으로 제공될 수 있다. 문법 입력의 형식이 GFE 모듈(403)에 의해 해석되고 문법 입력(401)이 PSVR 시스템과 같은 음성 인식 시스템에 의해 인식 가능한 명령문들을 형성하는 단어들 또는 단어 일군들의 타당한 조합들을 특정 한다면 어떠한 형식이든 가능하다.
GFE 모듈(403)에 의해 문법 입력(401)이 수신되면, 명령문 확정 절차(405)가 수행되어서 문법 입력(401)으로부터 모든 타당한 명령문들을 추출한다. 다시 말해, 명령문 확정 절차(405)는 문법 입력(401)에 의해 허용된 모든 명령문들을 명시적으로 생성(explicitly generates)한다. 의미상, 문법은 특정 어플리케이션에 타당한 명령문들의 일군의 합성 표현(synthetic representation)이다. 명령문 확장 절차(405)는 명령문 각각의 구성에 대한 분석과 명령문들 사이의 인식 거리들을 추정할 수 있다. 전체적인 맥락을 고려했을 때 외견상으로는 상이하지만 음향적으로는 유사한 단어들이나 명령문들 사이에서 발생할 수 있는 잠재적 혼란을 간과하지 않기 위해, 문법 입력(401)이 그의 타당한 명령문의 일군으로 까지 완전히 확장된다는 점은 이해되어야 한다. 명령문 확장 절차(405)의 결과물인 타당한 명령문의 일군은 추후 GFE의 기반이 된다.
명령문을 구성하는 단어들 각각은 문법 입력(401)의 사전에 포함된, 그에 대응하는 발음으로 대체되어 음소열들로 전환될 수 있다. 소정의 단어들은 하나 이상의 발음을 가질 수 있다. 그러므로 단일의 단어 명령문이 다수의 음소열들을 초래할 수 있다. 주어진 명령문에 포함된 단어들의 본질(nature)과 발음 개수에 따라 단어들 각각을 그에 대응하는 발음으로 대체하는 작업은 다수의 음소열들을 초래할 수 있다. 참고로, 명령문들의 음소열들은 포함된 음소들을 구분하기 위해 음성 신호(voice signal)와 비교하는데 자동 음성 인식기가 사용하는 것과 음소열들과 동일하다.
명령문에 포함된 하나 이상의 단어들에 대한 음소열들이 다수개 존재하는 경우, 다수의 음소열들은 트리 구조들(tree structures)로 편제(organize)될 수 있다. 일 실시예에서, 트리 구조는 상이한 음소열들을 탐색 할 때에 더 많은 구조(structure)를 제공하는데 사용될 수 있지만, 본 명세서의 상세한 설명에서는 모든 음소열들이 명시적으로 표현되는 것으로 가정한다. 따라서 명령문 확장 절차(403)에서, 특정 명령문에 포함된 하나 이상의 단어들이 하나 이상의 발음을 가질 때 특정 명령문에 대하여 다중 인스턴스들(instances)이 초래된다. 이때 인스턴스들 각각은 특정 명령문의 고유한 음소 발음(phonetic pronunciation)에 대응한다.
GFE에서 어떠한 문장들이 혼란스러울 지 판단하는 것만으로는 충분하지 않을 수 있다. 이러한 혼란에 대한 이유들이 판단되어할 필요가 있으며, 이러한 혼란을 피하기 위해 조취가 취해질 것이라면, 어디에 조취가 취해져야할 지 또한 판단되어야 한다. 이에, GFE는 단어 수준의 정렬(word-level alignment) 절차(407)와 음향학적 유사성 평가(409)를 포함한다. 단어 수준의 정렬 절차(407)는 명령문 확장 절차(405)에서 기인한 타당한 명령문을 대상으로 수행된다. 단어 수준의 정렬 절차(407)는 문법 입력(401)에 포함된 잠재적으로 혼란 가능한 명령문들을 식별한다. 음향학적 유사성 평가(409)는 단어 수준의 정렬 절차(407)에서 식별된 잠재적으로 혼란 가능한 명령문들의 잠재적 혼란의 원인들을 식별한다.
그러므로 단어 수준의 정렬 절차(407)는 혼란 검출 작업으로 여겨질 수 있고, 음향학적 유사성 평가(409)는 혼란 검출 작업에 의해 비춰진 혼란 가능한 영역들로 확대된 작업으로 사료될 수 있다. 하기에서 도 4는 음향항적 유사성 평가(409)가 단어 수준의 정렬 절차(407)에 의존한다. 이에 도면에서는 단어 수준의 정렬 절차(407) 내에 배치된다. 잇따른 음향학적 유사성 평가(409)의 주된 기구로 단어 수준의 배열 절차(407)가 구현되면, 각각 다수의 음소들을 포함하는 명령문들 전반에 걸친 많은 수의 음소열들을 비교하는 작업에 대한 연산 부하를 줄일 수 있다는 점은 인정되어야 한다.
단어 수준의 정렬 절차(407)는 문법 입력(401)에서 추출된 명령문들 각각을 문법 입력(401)에서 추출된 다른 모든 명령문들과 비교하는 과정을 포함한다. 단어 수준의 정렬 절차(407)는 두 개의 상이한 기호들의 열들(sequences of symbols), 즉 두 개의 상이한 명령문들을 비교하고, 소정의 미리 정해진 거리 측정에 따라 이들을 일치시킨다. 일 실시예에서, 비교되는 기호들은 해당 명령문들에 포함된 단어 일군들에 대응한다. 일 실시예에서, 명령문들을 비교하는데 사용되는 단어 일군들은 문법 입력(401)에 포함된 그룹들(groupings)에 정의된 단어 일군들이다. 이러한 경우의 단어 일군은 하나 이상의 단어들을 포함하는 것으로 이해되어야 한다. 단어 일군이 다수의 단어들을 포함하는 경우, 다수의 단어들은 문법 입력(401)에 지속적으로 함께 보여진다.
한 실시예에서, 단어 수준의 정렬 절차(407)는 동적 프로그래밍 절차로 구현될 수 있다. 본 실시예에서, 단어 수준의 정렬 절차(407)는 하나의 명령문의 하나의 기호, 즉 단어 일군을 다른 명령문의 하나의 기호, 즉 단어 일군으로 대체하는 비용(cost)에 의해 진행된다. 명령문들의 구성에 따라, 두 개 이상의 명령문들에 걸쳐 단어 일군들(기호들)을 정렬하는데에 다수의 방법들이 존재할 수 있다. 한 실시예에서, 단어 수준의 정렬 절차(407)는 명령문들의 '최적(optimal)'의 정렬을 판단한다. 이때 명령문들의 최적의 정렬은 명령문들을 정렬하는데 발생되는 총 대체 비용 중 최소 비용(lowest total replacement cost in aligning statements)에 대응한다.
일 실시예에서, 단어 수준의 정렬 절차(407)는 한 번에 두 개의 명령문들을 처리하며, 문법 입력(401)에 포함된 모든 명령문들을 대상으로 수행된다. 하나의 특정 쌍의 명령문들을 대상으로 수행된 단어 수준의 정렬 절차(407)는 특정 쌍의 명령문들에 대한 정렬열(alignment sequence)을 초래한다. 이러한 정렬열은 고려된 두 개의 명령문들의 구성 요소들(단어 일군들)을 조합하고, 명령문들의 구성 요소들 사이에서 검색된, 일치하는 것들을 보고한다. 정렬열은 'HIT'(구성 요소의 일치), 'SUBS'(구성 요소의 대체), 'INS'(구성 요소 삽입) 및 'DEL'(구성 요소 삭제) 중 어느 하나인 것을 특징으로 한다. 다시 말하자면, 단어 수준의 정렬 절차(407)에서는 단어 수준의 정렬열만이 고려된다. 단어 수준의 정렬열은 두 문장들에 포함된 단어 일군들이 동일하거나 상이한 영역들을 보여준다.
단어 수준의 정렬 절차(407)와 생성된 단어 수준의 정렬열은 하기 예에 의해 도시된다:
제 1 명령문: _BEGIN_ You like to Dress up _END_
제 2 명령문: _BEGIN_ You love to Dress up _END_
생성된 단어 수준의 정렬열: You: HIT, Love to → Like to: SUBS, Dress up: HIT.
상기 예에서 생성된 단어 수준의 정렬열은 정렬 영역들 및 잠재적 혼란 구역들을 포함하는 것을 특징으로 한다. 더욱 상세하게는, 각각의 'HIT' (구성 요소의 일치)는 정렬 영역을 표시하고, 'HIT' 이외의 다른 단위들, 즉 'SUBS', 'INS', 'DEL'은 잠재적 혼란 구역을 나타낸다. 상기의 정렬열은 세 개의 영역들로 나누어질 수 있다. 제 1 영역은 각각의 명령문에서 'You'의 단어 일군을 포함한다. 제 2 영역은 제 1 명령문에서 'Like to'의 단어 일군과 제 2 명령문에서 'Love to'의 단어 일군을 포함하는 잠재적 혼란 구역이다. 제 3 영역은 명령문들 각각의 'Dress up'의 단어 일군을 포함하는 정렬 영역이다.
두 명령문들 사이의 거리는 명령문들에 포함된 단어들이 서로에 대하여 정렬된 방법에 의존한다. 따라서 두 개의 동일한 명령문들 사이의 이격 거리(separation distance)는 '0'이고, 생성된 정렬열은 단 하나의 정렬 영역을 포함할 것이다. 또한 두 개의 동떨어진(far apart) 명령문들은 어떠한 정렬 영역도 포함하지 않을 것이고, 생성된 정렬열은 하나의 긴(long) 잠재적 혼란 구역을 포함할 것이다. 최적화된 문법은 가능한한 근접한 명령문 경로들을 포함하는 것을 피해야하고, 대신 어느 정도 동떨어진 명령문들의 경로들을 포함하여 음성 인식을 위해 사용될 때 에러들을 피할 수 있어야 한다.
음성 인식에서는 두 개의 동일한 단어 명령문들이 인식 에러들을 유발할 수 없다. 두 명령문들이 동일하기 때문에, 이들 사이에는 어떠한 혼란도 존재하지 않는다. 이에, 문법 입력(401)에서 발생할 수 있는 인식 에러들을 판단하는 절차, 즉 GFE는 명령문들 사이의 정렬 영역들을 식별하는 것에만 한정되지 않는다. 대신, GFE는 문법 입력(401)에 포함된 명령문들이 서로 동일하지 않지만 매우 근접한 지의 여부를 판단하는 것과도 관련되며, 명령문들이 매우 근접하면 명령문들 사이의 잠재적 혼란 구역들 안에 있는 단어들이 음성 인식 에러들을 유발할 가능성이 있는지를 판단한다. 따라서 음향학적 유사성 평가(409)는 단어 수준의 정렬 절차(407)에 포함된 명령문들 사이에서 식별된 잠재적 혼란 구역들에서 실행되어서, 잠재적 혼란 구역에서의 명령문들이 얼마나 근접한지에 대한 측정을 제공한다. 따라서 음향학적 유사성 평가(409)는 명령문들이 음성 인식 에러들을 유발할 지의 여부에 대한 결정에 영향을 준다.
음형학적 유사성 평가(409)에서, 단어 수준의 정렬 절차(407)에서 초래된 잠재적 혼란 구역들 각각은 잠재적 혼란 구역에 포함된 단어들을 그들의 대응하는 음소 표기와 대체하여 음소열들로 전환된다. 각각의 잠재적 혼란 구역에 대한 음향학적 유사성 평가(409)는 1) 명령문 각각의 잠재적 혼란 구역에 포함된 단어들을 그들에 대응하는 음소들로 확정하는 과정, 2) 잠재적 혼란 구역에 포함된 명령문들 사이의 음소들의 최적의 정렬을 판단하는 과정 및 3) 음소들의 최적의 정렬에 기초하여 잠재적 혼란 구역에 포함된 각각의 명령문들에 포함된 단어들, 즉 그들의 음소들 사이의 혼란 확률의 정도(a measure of confusion probability)를 산출한다.
단어 수준의 정렬 절차(407)에서와 같이, 일 실시예에서 음향적 유사성 평가(409)의 음소 수준의 정렬은 동적 프로그래밍 절차로 구현된다. 본 실시예에서 음소 수준의 정렬은 (잠재적 혼란 구역에 포함된)명령문의 하나의 음소를 (동일한 잠재적 혼란 구역에 포함된) 다른 명령문에서의 음소와 대체하는 비용에 의해 진행된다. 음소 수준의 정렬은 잠재적 혼란 구역에 포함된 음소들의 '최적'의 정렬을 판단한다. 여기서 음소들의 최적의 정렬은 잠재적 혼란 구역에 포함된 음소들을 정렬하는데 발생되는 총 대체 비용의 최소 비용에 대응한다.
상술된 이전 예에서 제 1 명령문에 있는 'Like'의 단어 일군과 제 2 명령문에 있는 'Love to'의 단어 일군을 포함하는 잠재적 혼란 구역을 참조하기로 한다. 잠재적 혼란 구역에 포함된, 두 개의 명령문들에 있는 단어들의 음소 확장(phoneme expansion)은 하기와 같다:
제 1 명령문 / 제 1 잠재적 혼란 구역: l ay k ___ t uw
제 2 명령문 / 제 2 잠재적 혼란 구역: l ah v ___ t uw
잠재적 혼란 구역에 포함된 명령문들 사이의 음소들의 최적의 정렬은 하기와 같은 생성된 음소 수준의 정렬열을 가지는 것을 특징으로 한다:
l: HIT, ah → ay: SUBS, v → k: SUBS, t: HIT, uw: HIT.
한 실시예에서, 두 개의 음소 정렬들 사이의 혼란 확률, 즉 거리의 정도는 수학식 1에 따라 산출된 가중 음소 정렬 정확도(weighted phonetic alignment accuracy; WPA) 값으로 표현된다.
수학식 1에 기재된 바와 같이, 가중 음소 정렬 정확도(WPA)는 상한(upper end)이 100(완전한 정확성은 음소열들이 동일한 것을 의미함)으로 한정된다. 또한 가중 음소 정렬 정확도(WPA)의 하한(lower bound)은 음소 삽입수(#INS)가 음소 일치수(#HIT) 보다 크면, 음수(negative)가 될 수 있다.
수학식 1에서 는 분석된 부분의 단어열들(word sequences)의 문자 길이(character length)에 기초하여 가중 음소 정렬 정확도(WPA)의 가중치를 더하거나 감(weight up or down)하는 스케일링 계수(scaling factor)이다. L1 파라미터는 분석된 제 1 명령문 전체의 문자 길이를 의미한다. L2 파라미터는 분석된 제 2 명령문 전체의 문자 길이를 의미한다. l1 파라미터는 제 1 명령문에서 고려되는 잠재적 혼란 구역에 포함된 문자 길이를 의미한다. l2 파라미터는 제 2 명령문에서 고려되는 잠재적 혼란 구역에 포함된 문자 길이를 의미한다. 일 실시예에서, 문자 길이는 명령문 영역의 단어들에 포함된 텍스트(text) 문자들 수와 명령문 영역에 포함된 단어들 사이의 여백들(spaces)을 포함한다. 또한 일 실시예에서, 명령문 확정 절차(405)가 '_BEGIN_' 및 '_END_'와 같은 시작 플래그(beginning flag) 및 끝 플래그(ending flag)로 각각의 명령문을 포괄하는 경우 전체 명령문의 문자 길이는 시작 플래그 및 끝 플래그에 있는 텍스트 문자수와 그들 각각의 명령문 텍스트가 있는 방향으로의 여백을 포함한다.
음향학적 유사성 평가(409)에서 적어도 두 개의 명령문들이 항상 포함되기 때문에, 스케일링 계수는 각각의 최대 문자 길이 파라미터들(max(l1, l2) 및 max (L1, L2))을 사용하여 산출된다. 스케일링 계수는 명령문 전체의 크기에 대한 잠재적 혼란 구역의 상대적 크기에 기초하여 가중 음소 정렬 정확도(WPA)의 가중치(weight)를 정하는데 사용된다. 스케일링 계수는 명령문의 크기에 비해 잠재적 혼란 구역의 크기가 감소할 때 증가한다. 그러므로 가중 음소 정렬 정확도(WPA) 값은 명령문의 크기에 비해 잠재적 혼란 구역의 크기가 감소할수록 더욱 높은 값을 가진다. 또한 가중 음소 정렬 정확도(WPA) 값이 더욱 커질수록 잠재적 혼란 구역에 포함된 명령문 일부들 사이의 더 높은 유사성, 즉 높은 근접성 또는 더 짧은 거리에 대응한다.
상술된 예를 참조하면, 음소 수준의 정렬열(l: HIT, ah → ay: SUBS, v → k: SUBS, t: HIT, uw: HIT)은 가중 음소 정렬 정확도(WPA)의 계산을 위해 하술되는 파라미터들을 제공한다: #HIT=3, #INS=0, #SUBS=2, #DEL=0, max(l1, l2)=7, max(L1, L2)=34. 상술된 예에 대응하는, 산출된 가중 음소 정렬 정확도(WPA) 값은 47.65이다.
가중 음소 정렬 정확도(WPA) 값들에 대한 임계화 동작(thresholding operation)은 높은 유사성과 대응하는, 음성 인식 절차 중에 발생하는 더 높은 에러의 확률을 가진 잠재적 혼란 구역들 위주로 수행될 수 있다. 미리 정해진 임계치 보다 더 높은 가중 음소 정렬 정확도(WPA) 값들을 가진 잠재적 혼란 구역들은 문법 입력(401)에서 변경(modification) 또는 억제(suppression)되어야 하는 후보들로 선택적으로 보고될 수 있다. 이에 문법 입력(401)의 총 혼란성(overall confusability)을 줄이고 또한 음성 인식 에러의 위험성도 감소시킬 수 있다.
다른 실시예들에서, 수학식 1과는 다른 기술들이 잠재적 혼란 구역에 포함된 두 개의 음소 정렬들 사이의 혼란 확률, 즉 거리의 측정을 평가하는데 이용될 수 있다. 그러나 소정의 다른 기술은 음성 인식 절차 중에 혼란이나 에러들이 발생하는 확률을 사용하는, 식별된 잠재적 혼란 구역들 내에 있는 명령문 일부들 사이의 유사성에 대한 수치적 평가를 제공하여, 문법에 포함된 잠재적 혼란 구역들의 상대적 분류(relative classification)를 가능케 하여야 한다.
특정 문법 입력(401)에서 단어 수준의 정렬 절차(407)에 의해 식별된 잠재적 구역들은 고유한 명령문들 한 쌍과 연관되지 않을 수 있다. 다시 말해, 단어 수준의 내용(content)을 특징으로 하는 특정 잠재적 혼란 구역은 문법 입력(401)에서 명령문들의 상이한 쌍들에 걸쳐서 여러 번 나타날 수 있다. 그러므로 문법 입력(401)에 포함된 상이한 명령문들의 단어 수준의 정렬은 동일한 잠재적 혼란 구역들을 유발할 수 있고, 궁극적으로는 동일한 음소 정렬들도 초래할 수 있다. 동일한 잠재적 혼란 구역들에 대한 분석은 반복될 필요가 없다. 대신, 이와 같이 재발하는 잠재적 혼란 구역들에 대한 가중 음소 정렬 정확도(WPA) 값들은 저장되고 문법 입력(401)에 포함된 명령문들의 어느 한 쌍에서 잠재적 혼란 구역이 재발할 때 단순히 검색(retrieve)될 수 있다.
단어들이 유사하다고 해서 이러한 단어들이 음성 인식 절차에서 굳이 혼동을 빚지는 않는다. 유사한 단어들이 비슷한 맥락들(contexts)이나 문법 입력(401)의 동일한 분기점(branching point)에 나타나면 혼란을 유발할 수 있다. 그러나 유사한 단어들이 충분히 상이한 맥락이나 문법 입력(401)의 다른 분기점들에서 나타난다면, 유사한 단어들은 음성 인식 절차가 수행되는 동안에 아무런 혼란도 유발하지 않을 수 있다. 일례로, 하술되는 두 개의 명령문들을 참조하자:
제 1 명령문: _BEGIN_ Boy, I am a smart robot _END_
제 2 명령문: _BEGIN_ I am a smart toy _END_
생성된 단어 수준의 정렬열: Boy,: DEL, I: HIT, am: HIT, a: HIT, smart: HIT, robot → toy: SUBS.
이번 예에서, 'Boy' 및 'toy'는 유사하지만, 이들은 다른 맥락에서 출현하고 문법 상 동일한 분기점에서 나타나지 않기 때문에 혼란을 초래하지 않을 것이다. 이번 예에서는 두 개의 잠재적 혼란 구역들이 있다. 하나는 정렬열의 앞부분에 있고 다른 하나는 정렬열의 뒷부분에 있다. 이와 같은 결과로부터 'robot'와 'toy' 사이에 음소 수준의 비교가 필요하다는 점을 알 수 있다. 그러한 이유는 이러한 단어들이 유사한 맥락에서 출현하고 문법 상 공통 어간(common stem)을 공유하기 때문이다.
상술된 바와 같이 일 실시예에서 음향학적 유사성 평가(409)는 잠재적 혼란 구역에 포함된 상이한 명령문들 내에 있는 음소들이 동일하거나 상이하냐에 따라 수행될 수 있다. 다른 실시예에서 음향학적 유사성 평가(409)는 비교되는 음소들의 본질에 대한 더 많은 정보를 고려할 수 있다. 일례로, '/m/'과 '/i/' 음소들 사이의 잠재적 혼란보다 '/m/'과 '/n/' 음소들 사이의 잠재적 혼란에 더 높은 비중이 주어질 수 있다. 더 높은 비중은 더욱 자주 혼란되는, 두 단어들 사이의 유일한 구별자일 수 있는 유사한 음을 가진 음소들에게 지정될 수 있다. 예를 들면, 'norm'과 'morn' 단어들의 한 쌍에서 '/m/'과 '/n/' 음소들이 될 수 있다.
다시 도 4를 참조하면, 음소 거리 행렬(phonetic distance matrix)(411)은 음향학적 유사성 평가(409)를 수행하기 위한 입력 자원으로 제공될 수 있다. 일 실시예에서, 음소 거리 행렬(411)은 혼란 행렬들(confusion matrices)(인식 후 거리 측정들(post-recognition distance measures)) 또는 음소 각각의 음향 모델들 사이의 상대적 거리들(인식 전 거리 측정들(pre-recognition distance measures))에 기초할 수 있다. 혼란 행렬의 내용은 실제 음성 인식 시험(live speech recognition testing) 시 사용되었던 데이터 및 인식 설정들에 의존한다. 음향 모델들에 기초한 음소 거리 측정은 실제 음성 인식 전에 연산되고, 기호 기반 음소 비교에 대한 대체물을 대표하여, 고려된, 단어들 사이의 음소 거리를 더 정제할 수 있다.
도 4를 참조하면, GFE의 결과물들은 문법 적합성 보고서(413)에 시사된다. 문법 적합성 보고서(413)는 문법 입력(401)의 명령문들에 걸쳐 잠재적 혼란 구역들의 정체(identity)와 그들의 대응하는 혼란 확률의 정도, 즉 그들의 산출된 가중 음소 정렬 정확도(WPA) 값들을 알리도록 구성될 수 있다. 문법 적합성 보고서(413)에서 식별된 잠재적 혼란 구역들은 가중 음소 정렬 정확도(WPA)에 따라 정렬될 수 있다. 도 5는 본 발명의 일 실시예에 따라 도 2의 문법 입력 예를 대상으로 GFE를 수행하여 생성된 문법 적합성 보고서로부터의 발췌예를 도시한다. 문법 적합성 보고서에서 인식 에러들을 유발하는 경향이 있는 것으로 표시된 여러 단어들이 있을 수 있다. 이러한 단어들 모두는 잠재적 혼란 구역에 포함된 단어 일군의 일부이다. 예를 들면 도 5에서 'Like to'와 'Love'의 첫 쌍이 이와 같은 경우에 해당한다.
더 높은 수치를 가진 가중 음소 정렬 정확도(WPA) 값은 대응하는 잠재적 혼란 구역에 포함된 단어들이 상이한 단어들이어도 이들의 발음들이 매우 유사하다는 것을 의미할 수 있다. 또한 가중 음소 정렬 정확도(WPA)의 높은 값은 음성 인식 에러의 가망성을 의미한다. 이와 같은 이유로 인하여 높은 가중 음소 정렬 정확도(WPA) 값을 가지는 잠재적 혼란 구역들은 문법 적합성 보고서(413)의 첫 부분에 열거된다. 잠재적 혼란 구역들의 문맥 또한 문법 적합성 보고서(413)에 포함되어서, 문법 적합성 보고서(413)의 검열자(reviewer)가 좀 더 쉽게 문법에 있는 잠재적 음성 인식 에러들의 근원을 발견할 수 있도록 한다.
본 명세서에 개시된, 문법 적합성 평가(GFE)에 의해 생성된 문법 적합성 결과물들은 음성 인식 에러들을 줄이기 위해 음성 인식 문법을 변경하는데 사용될 수 있다. 일 실시예에서, 문법 적합성 결과물들은 문법 개발자의 감독 없이도 자동으로 문법을 수정하는데 사용될 수 있다. 다른 실시예에서, 문법 적합성 결과물들은 문법을 수동적으로 수정하는데 사용될 수 있다. 더욱 자세하게는, 도 4를 참조하면, 문법 적합성 보고서(413)는 문법 입력(401)의 수동 또는 자동 수정 절차(415)에서 사용되기 위해 제공된다. 문법 적합성 보고서(413)에 기초하면, 수동 또는 자동 수정 절차(415)는 문법(417)의 최적의 버전을 생성한다. 이러한 최적의 버전에서는 문법 입력(401)에 포함된 명령문들의 혼잡한 부분들이 제거되거나 억제된다.
본 명세서에서 개시된 문법 적합성 평가는 어떠한 음성 신호(가청 음향 또는 음성을 나타내는 디지털 데이터)를 사용하지 않아도 수행될 수 있다. 또한 본 명세서에서 개시된 문법 적합성 평가는 문법의 구조에 기초하여 수행된다. 상술된 점들은 실제 음성 인식 실험 없이도 문법 적합성 평가가 문법 편집 및 수정 절차가 문법 생성 절차와 근접하게 옮겨지도록 하는데 유용(advantageous)하다. 나아가 문법 적합성 평가는 GnD 파일을 생성하는 절차에서 사용되는 피드백 기구로 사용될 수 있다.
도 6은 본 발명의 실시예에 따라 GnD 파일 작성과 그의 문법 적합성 평가 절차의 흐름도이다. 평문(plain text) 파일(605)(예. 도 1a 및 1b) 또는 GnD 파일(603)(예. 도 2)을, psvrGnD 실행가능한 파일(601)로 표시된 문법 작성(construction) 또는 평가 도구(grammar construction/evaluation tool)에 대한 입력으로 제공함으로써 개시된다. 평문 파일(605) 및 GnD 파일(603) 각각은 문법에 따른 명령문들을 특정하도록 정의된다.
보조 파일들(auxiliary files)은 문법 작성 또는 평가 도구(601)에 제공되어서 발음 생성을 지원한다. 특히 하나 이상의 서기소 대 음소(grapheme-to-phoneme; G2P) 데이터 파일들(607)이 문법 작성 또는 평가 도구(601)에 제공된다. G2P 데이터 파일들(607)은 단어들의 서기소들(문자들(characters))을 그들의 발음들의 음소들과 일치시킨다. 이는 문법 작성 또는 평가 도구(601)가 그들의 철자(spelling)에 기초하여 단어들에 대한 발음들을 생성하게끔 한다. 또한 하나 이상의 발음 사전들(609)이 문법 작성 또는 평가 도구(601)에 제공된다. 발음 사전(609)은 G2P 데이터 파일들(607)을 사용하여 처리하기 난이한, 자주 사용되는 단어들과 같은 단어들의 특정 일군에 대한 발음들을 포함한다.
문법 작성 또는 평가 도구(601)는 텍스트 샘플들로부터 명령문들을 구성하는 단어들 사이의 관계들을 자동 추출함으로써, 문법 생성을 수행한다. 문법 작성 또는 평가 도구(601)는 입력으로 평문 명령문들이나 다양한 선언들(declarations)과 대체 가능한 단어들을 사용하여 문장들의 합성 표현을 가능케 하는 특정 방식으로 형성된 명령문들을 수령할 수 있다. 문법 작성 또는 평가 도구(601)는 발음 사전(609)의 룩업(lookup)을 사용하거나 G2P 데이터 파일(607)을 사용한 서기소 대 음소 변환을 수행함으로써, 발음 생성을 수행할 수 있다. G2P 변환 절차에서, 문법 작성 또는 평가 도구(601)는 단어를 입력으로 수령하고 목표 언어로 그의 발음을 자동 생성한다.
문법 및 발음 생성이 완료된 후, 문법 작성 또는 평가 도구(601)는 문법과 발음을 함께 컴파일(compile)하고 그 결과물들을 GnD 파일(611) 형식으로 만든다. 이러한 출력물은 천이 확률들(transition probabilities)과 언어 식별자들과 같은 다른 정보를 포함할 수 있다. 문법 작성 또는 평가 도구(601)는 도 4를 참조하여 상술된 문법 적합성 평가를 수행하도록 정의된다. 문법 적합성 평가의 결과물들은 적합성 보고서(613)에 기록된다. 적합성 보고서(613)에 있는 정보는 최초에 입력된 텍스트 파일(605)이나 새로 생성된 GnD 파일(611)을 편집 또는 정제하는데 사용될 수 있다. 그런 다음 상기 절차가 반복 수행되어서 편집 또는 정제된 부분들이 문법의 적합성을 향상시켰는지 인지할 수 있다. 이러한 절차는 문법 및 사전이 음성 인식 절차에서 사용되기에 적합할 때까지 반복적으로 실행될 수 있다.
도 7은 본 발명의 일 실시예에 따라 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는, 컴퓨터에서 구현되는 방법의 흐름도를 도시한다. 이러한 방법은 문법 구조에 포함된 복수의 명령문들을 수신하는 과정(701)을 포함한다. 복수의 명령문들 각각은 다수의 단어 일군들에 의해 형성된다. 단어 일군들 각각은 하나 이상의 단어들을 포함할 수 있다. 또한 이러한 방법은 단어 일군 별로 복수의 명령문들을 정렬함으로써, 복수의 명령문들에 걸쳐 다수의 정렬 영역들을 식별하는 과정(703)을 포함한다. 각각의 정렬된 단어 일군들은 정렬 영역을 나타낸다. 일 실시예에서, 703 과정은 복수의 명령문들에 걸쳐 동일한 단어 일군들의 최고의 정렬(best overall alignment of identical word sets)을 판단하는 과정을 포함한다.
일 실시예에서, 컴퓨터에서 구현되는 방법에 포함된 복수의 명령문들을 처리하는 과정은 복수의 명령문들에 걸쳐 식별된 정렬 영역들의 수가 '0'일 때 종료한다. 또한 일 실시예에서 컴퓨터에서 구현되는 방법에 포함된 복수의 명령문들을 처리하는 과정은 복수의 명령문들이 서로 동일할 때 종료한다.
나아가 이러한 방법은 복수의 명령문들에 걸쳐 다수의 잠재적 혼란 구역들을 식별하는 과정(705)을 포함한다. 각각의 잠재적 혼란 구역들은 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해 정렬 영역들 밖의 대응하는 위치들에서 정의된다. 식별된 잠재적 혼란 구역들 각각에 대하여 707 과정이 수행된다. 이때 707 과정은 연산 이벤트 중에 음성 인식 시스템에 의해 청각적으로 처리(audibly processed)될 때 단어들 사이의 혼란 확률의 정도를 판단하기 위해 잠재적 혼란 구역에 포함된 단어들의 음소 발음들을 분석한다.
일 실시예에서 707 과정은 잠재적 혼란 구역에 포함된 복수의 명령문들의 단어들의 음소들에 걸쳐 음소 수준의 정렬을 수행하는 과정을 포함한다. 음소는 언어의 음향 시스템(sound system)에서 구별되는 최소한의 단위(minimal distinct unit)이다. 어떠한 경우에 있어서, 음소 수준의 정렬을 수행하는 과정은 복수의 명령문들에 걸쳐 잠재적 혼란 구역에 포함된 단어들의 동일한 음소들의 최고의 정렬(best overall alignment)을 판단하는 과정을 포함한다. 또한 본 실시예에서 707 과정은 음소 수준의 정렬에 기초하여 잠재적 혼란 구역에 대한 음소 정확도 값(accuracy value)을 연산하는 과정을 포함한다. 음소 정확도 값은 연산 이벤트 중에 음성 인식 시스템에 의해 청각적으로 처리될 때 잠재적 혼란 구역에 포함된 복수의 명령문들의 단어들 사이의 혼란 확률의 정도에 대응한다.
또한 이러한 방법은 복수의 명령문들에 걸쳐 잠재적 혼란 구역들의 정체(identity)와 그들에 대응하는, 혼란 확률의 정도를 시사하는 보고서를 생성하는 과정(709)을 포함한다. 일 실시예에서, 혼란 확률 임계치는 보고서를 생성할 때 적용되어 혼란 확률의 측정이 혼란 확률 임계치 이상인 잠재적 혼란 구역들만 보고서에 식별된다. 도 7의 컴퓨터에서 구현되는 방법은 청각적 입력(auditory input) 없이도 수행될 수 있다.
도 8은 본 발명의 일 실시예에 따라 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 시스템(800)의 블록도를 도시한다. 시스템(800)은 문법 구조에 포함된 복수의 명령문들을 수신하도록 정의된 입력 모듈(801)을 포함한다. 복수의 명령문들 각각은 다수의 단어 일군들에 의해 형성된다. 단어 일군들 각각은 하나 이상의 단어들을 포함한다.
시스템(800)은 입력 모듈(801)로부터 수신된 복수의 명령문들에 걸쳐 정렬 영역들의 수를 식별하도록 정의된 단어 수준의 정렬 모듈(803)을 포함한다. 정렬 영역은 복수의 명령문들에 걸쳐 정렬된 동일한 단어 일군들에 대응한다. 일 실시예에서 단어 수준의 정렬 모듈(803)은 복수의 명령문들에 걸쳐 동일한 단어 일군들의 최고의 정렬을 판단하도록 정의된다.
시스템(800)은 복수의 명령문들에 걸쳐 다수의 잠재적 혼란 구역들을 식별하도록 정의된 혼란 구역 식별 모듈(805)을 포함한다. 각각의 잠재적 혼란 구역들은 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해, 단어 수준의 정렬 모듈(803)에 의해 식별된 정렬 영역들 밖의 대응하는 위치에서 정의된다.
또한 시스템(800)은 연산 이벤트 중에 음성 인식 시스템에 의해 청각적으로 처리될 때 혼란 구역 식별 모듈(805)에 의해 식별된 특정 잠재적 혼란 구역에 포함된 단어들 사이의 혼란 확률의 측정을 판단하기 위해 특정 잠재적 혼란 구역에 포함된 단어들의 음소 발음들을 분석하도록 정의된다. 일 실시예에서, 혼란 확률 분석 모듈(807)은 특정 잠재적 혼란 구역에 포함된 복수의 명령문들의 단어들의 음소들에 걸쳐 음소 수준의 정렬을 수행하도록 정의된다. 본 실시예의 어느 경우에 있어서, 혼란 확률 분석 모듈(807)은 음소 수준의 정렬이 수행될 때 복수의 명령문들에 걸쳐 특정 잠재적 혼란 구역에 포함된 단어들의 동일한 음소들의 최고의 정렬을 판단하도록 정의된다.
또한 본 실시예에서, 혼란 확률 분석 모듈(807)은 음소 수준의 정렬에 기초하여 음소 정확도 값을 연산하도록 정의된다. 음소 정확도 값은 연산 이벤트 중 음성 인식 시스템에 의해 청각적으로 처리될 때 특정 잠재적 혼란 구역에 포함된 단어들 사이의 혼란 확률의 정도에 대응한다.
또한 시스템(800)은 보고서를 생성하여 복수의 명령문들에 걸쳐 잠재적 혼란 구역들의 정체와 그들에 대응하는 혼란 확률의 정도를 시사하도록 정의된 출력 모듈(809)를 포함한다. 일 실시예에서 출력 모듈(809)는 혼란 확률 임계치를 적용해서 보고서를 생성하도록 정의된다. 이때 혼란 확률의 정도가 혼란 확률 임계치 이상인 잠재적 혼란 구역들만 보고서에 식별된다.
본 발명의 실시예들은 핸드헬드 기기들(hand-held devices), 마이크로프로세서 시스템들, 마이크로프로세서 기반 또는 프로그램 가능한 가전 제품들, 미니 컴퓨터들, 메인 프레임 컴퓨터들 등을 포함하는 다양한 컴퓨터 시스템 구조들을 사용하여 구현될 수 있다. 본 발명은 네트워크를 통해 연결된 원격 처리 장치들에 의해 태스크들(tasks)이 수행되는 분산 컴퓨팅 환경들(distributed computing environments)에서도 구현될 수 있다.
본 발명의 상술된 실시예들은 컴퓨터 시스템들에 저장된 데이터를 포함하는 컴퓨터에서 구현되는 다양한 동작들을 이용할 수 있다. 이러한 동작들은 물리적 수량의 물리적 조작을 요구한다. 본 발명의 일부를 이루는 본 명세서에 서술된 소정의 동작들은 유용한 기계 동작들(machine operations)이다. 또한 본 발명은 이러한 동작들을 수행하는 장치 또는 기구들과 연관된다. 이러한 기구는 특수 목적의 컴퓨터와 같이 필수적인 목적을 위해 특별히 구성될 수 있다. 특수 목적의 컴퓨터로 지정되어도 컴퓨터는 특수 목적을 위해 작동하면서, 특수 목적 이외의 다른 처리 또는 프로그램을 실행하거나 루틴들을 수행할 수 있다. 선택적으로, 본 발명의 동작들은 컴퓨터 메모리나 캐시에 저장되거나 네트워크를 통해 획득된 하나 이상의 컴퓨터 프로그램들에 의해 선택적으로 활성화되거나 설정된 범용 컴퓨터에 처리될 수 있다. 네트워크를 통해 데이터가 획득될 때 데이터는 네트워크 상에 있는 다른 컴퓨터들(예. 연산 리소스들의 클라우드(cloud of computing resources))에 의해 처리될 수 있다.
본 발명의 실시예들은 데이터를 하나의 상태에서 다른 상태로 변환시키는 기계로 정의될 수 있다. 변환된 데이터는 저장부에 저장되고 프로세서에 의해 조작될 수 있다. 이에 프로세서는 하나에서 다른 것으로 데이터를 변환한다. 나아가, 방법들은 네트워크를 통해 연결될 수 있는 하나 이상의 기계들이나 프로세서들에 의해 처리될 수 있다. 기계들 각각은 하나의 상태 또는 물체에서 다른 것으로 데이터를 변환하고, 데이터를 처리하고, 데이터를 저장부에 저장하고, 데이터를 네트워크를 통해 전송하고, 결과물을 표시하고 또는 결과물을 다른 기계로 통신할 수 있다.
또한 본 발명은 컴퓨터 판독 가능한 코드로 컴퓨터 판독 가능한 매체에 실장될 수 있다. 컴퓨터 판독 가능한 매체는 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장하는 소정의 데이터 저장 장치이다. 컴퓨터 판독 가능한 매체의 예로는 하드 드라이브들, 네트워크 연결 저장부(network attached storage; NAS), 판독 전용 메모리, 랜덤 액세스 메모리, CD-ROM, CD-R, CD-RW, 자기 테이프 및 다른 광학(optical) 및 비광학(non-optical) 데이터 저장 장치들이 될 수 있다. 컴퓨터 판독 가능한 매체는 네트워크에 연결된 컴퓨터 시스템에 분산되어서 분산된 방식으로 컴퓨터 판독 가능한 코드가 저장되고 실행될 수 있는 컴퓨터 판독 가능한 유형 매체(tangible medium)를 포함할 수 있다.
방법을 수행하는 과정들이 특정 순서로 서술되었지만, 다른 하우스 키핑(housekeeping) 과정들이 본 발명의 과정들 사이에 수행되거나, 겹치지 않는 시간대에 수행되도록 조정되거나, 또는 오버레이(overlay) 과정들의 처리가 바람직한 방법으로 수행되기만 한다면, 처리와 연관된 다양한 시간들 중에 처리 동작들이 발생하도록 하는 시스템에 분산될 수 있다.
서술된 발명은 명확한 이해를 위한 목적으로 어느 정도 상세하게 서술되었지만, 첨부되는 청구항들의 범위 내에서 특정 변경물과 변형물들이 구현될 수 있다는 점은 자명할 것이다. 이에 따라, 본 실시예들은 제한적이지 않고 예시적인 것으로 고려되어야 하며, 본 발명은 본 명세서에 서술된 내용으로 한정되지 않는다. 본 발명은 첨부되는 청구항들의 범위 내에서 변경될 수 있으며, 그의 균등물들이 될 수 있다.
Claims (20)
- 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 컴퓨터에서 구현되는 방법으로,
문법 구조에 포함된, 다수의 단어 일군들로 각각 형성된 복수의 명령문들을 수신하는 과정;
상기 복수의 명령문들을 단어 일군 별로 정렬하여 상기 복수의 명령문들에 걸쳐 다수의 정렬 영역들을 식별하는 과정;
상기 복수의 명령문들에 걸쳐, 상기 다수의 상기 정렬 영역들 밖의 대응하는 위치들에서 상기 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해 각각 정의되는 다수의 잠재적 혼란 구역들을 식별하는 과정;
상기 연산 이벤트 중 음성 인식 시스템에 의해 청각적으로 처리될 때 상기 단어들 사이의 혼란 확률의 정도를 판단하기 위해, 상기 식별된 잠재적 혼란 구역들 각각에 대하여 상기 잠재적 혼란 구역에 포함된 상기 단어들의 음소 발음들을 분석하는 과정; 및
상기 복수의 명령문들에 걸쳐 상기 잠재적 혼란 구역들의 정체와 상기 잠재적 혼란 구역들에 대응하는 혼란 확률의 정도를 시사하는 보고서를 생성하는 과정을 포함하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 컴퓨터에서 구현되는 방법은, 청각적 입력 없이도 수행되는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 단어 일군들 각각은, 하나 이상의 단어들을 포함하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 복수의 명령문들에 걸쳐 상기 다수의 정렬 영역들을 식별하는 과정은, 상기 복수의 명령문들에 걸쳐 동일한 단어 일군들의 최고의 정렬을 판단하는 과정을 포함하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 잠재적 혼란 구역에 포함된 상기 단어들의 음소 발음들을 분석하는 과정은,
상기 잠재적 혼란 구역에 포함된 상기 복수의 명령문들의 상기 단어들의 음소들에 걸쳐 음소 수준의 정렬을 수행하는 과정; 및
상기 음소 수준의 정렬에 기초하여 상기 잠재적 혼란 구역에 대한 음소 정확도 값을 연산하는 과정을 포함하고,
상기 음소 정확도 값은, 상기 연산 이벤트 중에 상기 음성 인식 시스템에 의해 청각적으로 처리될 때 상기 잠재적 혼란 구역에 포함된 상기 복수의 명령문들의 상기 단어들 사이의 상기 혼란 확률의 정도에 대응하는 것을 특징으로 하는 방법. - 제 5항에 있어서,
음소는, 언어의 음향 시스템에서 구별되는 최소한의 단위인 것을 특징으로 하는 방법. - 제 6항에 있어서,
상기 음소 수준의 정렬을 수행하는 과정은, 상기 복수의 명령문들에 걸쳐 상기 잠재적 혼란 구역에 포함된 상기 단어들의 동일한 음소들의 최고의 정렬을 판단하는 과정을 포함하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
혼란 확률 임계치의 이상인 혼란 확률의 정도를 가진 잠재적 혼란 구역들만 상기 보고서에 식별되도록 상기 보고서를 생성할 때 상기 혼란 확률 임계치를 적용하는 과정을 더 포함하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 복수의 명령문들에 걸쳐 정렬 영역들의 상기 수가 '0'일 때 상기 컴퓨터에서 구현되는 방법 중에 상기 복수의 명령문들을 처리하는 과정을 종료하는 과정을 더 포함하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 복수의 명령문들이 서로 동일할 때 상기 컴퓨터에서 구현되는 방법 중에 상기 복수의 명령문들을 처리하는 과정을 종료하는 과정을 더 포함하는 것을 특징으로 하는 방법. - 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 시스템으로,
문법 구조에 포함된, 다수의 단어 일군들로 각각 형성된 복수의 명령문들을 수신하도록 정의된 입력 모듈;
상기 입력 모듈에 의해 수신된 상기 복수의 명령문들에 걸쳐 다수의 정렬 영역들을 식별하도록 정의된 단어 수준의 정렬 모듈;
상기 복수의 명령문들에 걸쳐, 상기 다수의 상기 정렬 영역들 밖의 대응하는 위치들에서 상기 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해 각각 정의되는 다수의 잠재적 혼란 구역들을 식별하도록 정의된 혼란 구역 식별 모듈; 및
상기 연산 이벤트 중 음성 인식 시스템에 의해 청각적으로 처리될 때 상기 혼란 구역 식별 모듈에 의해 식별된 특정 잠재적 혼란 구역에 포함된 상기 단어들 사이의 혼란 확률의 정도를 판단하기 위해, 상기 특정 잠재적 혼란 구역에 포함된 상기 단어들의 음소 발음들을 분석하도록 정의된 혼란 확률 분석 모듈을 포함하고,
정렬 영역은, 상기 복수의 명령문들에 걸쳐 정렬된 동일한 단어 일군들에 대응하는 것을 특징으로 하는 시스템. - 제 11항에 있어서,
상기 단어 일군들 각각은, 하나 이상의 단어들을 포함하는 것을 특징으로 하는 시스템. - 제 11항에 있어서,
상기 단어 수준의 정렬 모듈은, 상기 복수의 명령문들에 걸쳐 동일한 단어 일군들의 최고의 정렬을 판단하도록 정의된 것을 특징으로 하는 시스템. - 제 11항에 있어서,
상기 혼란 확률 분석 모듈은,
상기 특정 잠재적 혼란 구역에 포함된 상기 복수의 명령문들의 상기 단어들의 음소들에 걸쳐 음소 수준의 정렬을 수행하도록 정의되고,
상기 음소 수준의 정렬에 기초하여 음소 정확도 값을 연산하고,
상기 음소 정확도 값은, 상기 연산 이벤트 중에 상기 음성 인식 시스템에 의해 청각적으로 처리될 때 상기 특정 혼란 구역에 포함된 상기 단어들 사이의 혼란 확률의 정도에 대응하는 것을 특징으로 하는 시스템. - 제 14항에 있어서,
음소는, 언어의 음향 시스템에서 구별되는 최소한의 단위인 것을 특징으로 하는 시스템. - 제 15항에 있어서,
상기 혼란 확률 분석 모듈은, 상기 음소 수준의 정렬을 수행할 때, 상기 복수의 명령문들에 걸쳐 상기 특정 잠재적 혼란 구역에 포함된 상기 단어들의 동일한 음소들의 최고의 정렬을 판단하도록 정의된 것을 특징으로 하는 시스템. - 제 11항에 있어서,
상기 복수의 명령문들에 걸쳐 상기 잠재적 혼란 구역들의 정체와 상기 잠재적 혼란 구역들에 대응하는 혼란 확률의 정도를 시사하는 보고서를 생성하도록 정의된 출력 모듈을 더 포함하는 것을 특징으로 하는 시스템. - 제 17항에 있어서,
상기 출력 모듈은, 혼란 확률 임계치의 이상인 혼란 확률의 정도를 가진 잠재적 혼란 구역들만 상기 보고서에 식별되도록 상기 보고서를 생성할 때 상기 혼란 확률 임계치를 적용하도록 정의된 것을 특징으로 하는 시스템. - 연산 이벤트 중에 음성 인식에서 사용될 명령문들의 일군에 대한 문법 구조에 있는 잠재적 혼란을 평가하는 프로그램 명령어들을 포함하는 컴퓨터 판독 가능한 매체로,
문법 구조에 포함된, 다수의 단어 일군들로 각각 형성된 복수의 명령문들을 수신하기 위한 프로그램 명령어들;
상기 복수의 명령문들을 단어 일군 별로 정렬하여 상기 복수의 명령문들에 걸쳐, 상기 정렬된 단어 일군들로 각각 표현되는 다수의 정렬 영역들을 식별하기 위한 프로그램 명령어들;
상기 복수의 명령문들에 걸쳐, 상기 다수의 상기 정렬 영역들 밖의 대응하는 위치들에서 상기 복수의 명령문들 중 두 개 이상의 명령문들로부터의 단어들에 의해 각각 정의되는 다수의 잠재적 혼란 구역들을 식별하기 위한 프로그램 명령어들; 및
상기 연산 이벤트 중 음성 인식 시스템에 의해 청각적으로 처리될 때 상기 잠재적 혼란 구역들 각각에 포함된 상기 단어들 사이의 혼란 확률의 정도를 판단하기 위해, 상기 잠재적 혼란 구역들 각각에 포함된 상기 단어들의 음소 발음들을 분석하기 위한 프로그램 명령어들을 포함하는 것을 특징으로 하는 컴퓨터 판독 가능한 매체. - 제 19항에 있어서,
상기 복수의 명령문들에 걸쳐 상기 잠재적 혼란 구역들의 정체와 상기 잠재적 혼란 구역들에 대응하는 혼란 확률의 정도를 시사하는 보고서를 생성하기 위한 프로그램 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터 판독 가능한 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/780,818 US8560318B2 (en) | 2010-05-14 | 2010-05-14 | Methods and system for evaluating potential confusion within grammar structure for set of statements to be used in speech recognition during computing event |
US12/780,818 | 2010-05-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110126058A true KR20110126058A (ko) | 2011-11-22 |
KR101262812B1 KR101262812B1 (ko) | 2013-05-10 |
Family
ID=44358156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110044933A KR101262812B1 (ko) | 2010-05-14 | 2011-05-13 | 음성 인식 에러 예측자로서의 문법 적합성 평가를 위한 방법들 및 시스템 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8560318B2 (ko) |
EP (1) | EP2387031B1 (ko) |
JP (1) | JP5150747B2 (ko) |
KR (1) | KR101262812B1 (ko) |
CN (1) | CN102243871B (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10544677B2 (en) * | 2017-09-01 | 2020-01-28 | United Technologies Corporation | Turbine disk |
US8219407B1 (en) * | 2007-12-27 | 2012-07-10 | Great Northern Research, LLC | Method for processing the output of a speech recognizer |
US9262397B2 (en) * | 2010-10-08 | 2016-02-16 | Microsoft Technology Licensing, Llc | General purpose correction of grammatical and word usage errors |
US8855997B2 (en) | 2011-07-28 | 2014-10-07 | Microsoft Corporation | Linguistic error detection |
DE102012202407B4 (de) * | 2012-02-16 | 2018-10-11 | Continental Automotive Gmbh | Verfahren zum Phonetisieren einer Datenliste und sprachgesteuerte Benutzerschnittstelle |
US9536528B2 (en) * | 2012-07-03 | 2017-01-03 | Google Inc. | Determining hotword suitability |
US20140067394A1 (en) * | 2012-08-28 | 2014-03-06 | King Abdulaziz City For Science And Technology | System and method for decoding speech |
US9384731B2 (en) | 2013-11-06 | 2016-07-05 | Microsoft Technology Licensing, Llc | Detecting speech input phrase confusion risk |
GB201322377D0 (en) | 2013-12-18 | 2014-02-05 | Isis Innovation | Method and apparatus for automatic speech recognition |
US10002543B2 (en) * | 2014-11-04 | 2018-06-19 | Knotbird LLC | System and methods for transforming language into interactive elements |
KR102167719B1 (ko) | 2014-12-08 | 2020-10-19 | 삼성전자주식회사 | 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치 |
US9966073B2 (en) | 2015-05-27 | 2018-05-08 | Google Llc | Context-sensitive dynamic update of voice to text model in a voice-enabled electronic device |
US20170337923A1 (en) * | 2016-05-19 | 2017-11-23 | Julia Komissarchik | System and methods for creating robust voice-based user interface |
CN106847273B (zh) * | 2016-12-23 | 2020-05-05 | 北京云知声信息技术有限公司 | 语音识别的唤醒词选择方法及装置 |
CN107610695B (zh) * | 2017-08-08 | 2021-07-06 | 大众问问(北京)信息科技有限公司 | 驾驶人语音唤醒指令词权重的动态调整方法 |
CN108197107A (zh) * | 2017-12-29 | 2018-06-22 | 秦男 | 数据处理方法 |
CN110111779B (zh) * | 2018-01-29 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 语法模型生成方法及装置、语音识别方法及装置 |
CN109887507B (zh) * | 2019-04-22 | 2021-03-12 | 成都启英泰伦科技有限公司 | 一种降低相似语音命令词误识别率的方法 |
CN112562675B (zh) * | 2019-09-09 | 2024-05-24 | 北京小米移动软件有限公司 | 语音信息处理方法、装置及存储介质 |
CN111128238B (zh) * | 2019-12-31 | 2022-06-24 | 云知声智能科技股份有限公司 | 普通话评测方法及装置 |
JP2021177598A (ja) * | 2020-05-08 | 2021-11-11 | シャープ株式会社 | 音声処理システム、音声処理方法、及び音声処理プログラム |
US12067978B2 (en) * | 2020-06-02 | 2024-08-20 | Samsung Electronics Co., Ltd. | Methods and systems for confusion reduction for compressed acoustic models |
US11875780B2 (en) * | 2021-02-16 | 2024-01-16 | Vocollect, Inc. | Voice recognition performance constellation graph |
CN112802494B (zh) * | 2021-04-12 | 2021-07-16 | 北京世纪好未来教育科技有限公司 | 语音评测方法、装置、计算机设备和介质 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5477451A (en) * | 1991-07-25 | 1995-12-19 | International Business Machines Corp. | Method and system for natural language translation |
DE69322894T2 (de) * | 1992-03-02 | 1999-07-29 | At & T Corp., New York, N.Y. | Lernverfahren und Gerät zur Spracherkennung |
US6070140A (en) * | 1995-06-05 | 2000-05-30 | Tran; Bao Q. | Speech recognizer |
JPH09138695A (ja) * | 1995-11-15 | 1997-05-27 | Nec Corp | 音声認識装置 |
US5768498A (en) | 1996-01-23 | 1998-06-16 | Lucent Technologies | Protocol verification using symbolic representations of queues |
US5999896A (en) * | 1996-06-25 | 1999-12-07 | Microsoft Corporation | Method and system for identifying and resolving commonly confused words in a natural language parser |
CA2226233C (en) | 1997-01-21 | 2006-05-09 | At&T Corp. | Systems and methods for determinizing and minimizing a finite state transducer for speech recognition |
US5995918A (en) | 1997-09-17 | 1999-11-30 | Unisys Corporation | System and method for creating a language grammar using a spreadsheet or table interface |
US6961954B1 (en) | 1997-10-27 | 2005-11-01 | The Mitre Corporation | Automated segmentation, information extraction, summarization, and presentation of broadcast news |
US6397179B2 (en) | 1997-12-24 | 2002-05-28 | Nortel Networks Limited | Search optimization system and method for continuous speech recognition |
US6059837A (en) | 1997-12-30 | 2000-05-09 | Synopsys, Inc. | Method and system for automata-based approach to state reachability of interacting extended finite state machines |
GB9802836D0 (en) * | 1998-02-10 | 1998-04-08 | Canon Kk | Pattern matching method and apparatus |
US6182039B1 (en) * | 1998-03-24 | 2001-01-30 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus using probabilistic language model based on confusable sets for speech recognition |
US20020032564A1 (en) | 2000-04-19 | 2002-03-14 | Farzad Ehsani | Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface |
US6691078B1 (en) | 1999-07-29 | 2004-02-10 | International Business Machines Corporation | Target design model behavior explorer |
EP1109152A1 (en) | 1999-12-13 | 2001-06-20 | Sony International (Europe) GmbH | Method for speech recognition using semantic and pragmatic informations |
US6964023B2 (en) * | 2001-02-05 | 2005-11-08 | International Business Machines Corporation | System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input |
US7092883B1 (en) * | 2002-03-29 | 2006-08-15 | At&T | Generating confidence scores from word lattices |
US7169996B2 (en) | 2002-11-12 | 2007-01-30 | Medialab Solutions Llc | Systems and methods for generating music using data/music data file transmitted/received via a network |
US7552051B2 (en) | 2002-12-13 | 2009-06-23 | Xerox Corporation | Method and apparatus for mapping multiword expressions to identifiers using finite-state networks |
US7146319B2 (en) * | 2003-03-31 | 2006-12-05 | Novauris Technologies Ltd. | Phonetically based speech recognition system and method |
JP4236597B2 (ja) * | 2004-02-16 | 2009-03-11 | シャープ株式会社 | 音声認識装置、音声認識プログラムおよび記録媒体。 |
US20060031071A1 (en) | 2004-08-03 | 2006-02-09 | Sony Corporation | System and method for automatically implementing a finite state automaton for speech recognition |
US7636657B2 (en) | 2004-12-09 | 2009-12-22 | Microsoft Corporation | Method and apparatus for automatic grammar generation from data entries |
US7711551B2 (en) | 2005-06-13 | 2010-05-04 | Microsoft Corporation | Static analysis to identify defects in grammars |
US7784008B1 (en) | 2006-01-11 | 2010-08-24 | Altera Corporation | Performance visualization system |
US7844456B2 (en) | 2007-03-09 | 2010-11-30 | Microsoft Corporation | Grammar confusability metric for speech recognition |
JP4829910B2 (ja) * | 2008-02-20 | 2011-12-07 | 日本電信電話株式会社 | 音声認識誤り分析装置、方法、プログラム及びその記録媒体 |
US7472061B1 (en) * | 2008-03-31 | 2008-12-30 | International Business Machines Corporation | Systems and methods for building a native language phoneme lexicon having native pronunciations of non-native words derived from non-native pronunciations |
-
2010
- 2010-05-14 US US12/780,818 patent/US8560318B2/en active Active
-
2011
- 2011-03-28 EP EP11159963.5A patent/EP2387031B1/en active Active
- 2011-05-13 KR KR1020110044933A patent/KR101262812B1/ko active IP Right Grant
- 2011-05-16 JP JP2011109538A patent/JP5150747B2/ja active Active
- 2011-05-16 CN CN2011101259236A patent/CN102243871B/zh active Active
-
2013
- 2013-10-04 US US14/046,765 patent/US8818813B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20110282667A1 (en) | 2011-11-17 |
US8818813B2 (en) | 2014-08-26 |
CN102243871A (zh) | 2011-11-16 |
KR101262812B1 (ko) | 2013-05-10 |
CN102243871B (zh) | 2013-06-05 |
US8560318B2 (en) | 2013-10-15 |
EP2387031A1 (en) | 2011-11-16 |
US20140039896A1 (en) | 2014-02-06 |
JP2011242775A (ja) | 2011-12-01 |
EP2387031B1 (en) | 2018-01-10 |
JP5150747B2 (ja) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101262812B1 (ko) | 음성 인식 에러 예측자로서의 문법 적합성 평가를 위한 방법들 및 시스템 | |
CN106297800B (zh) | 一种自适应的语音识别的方法和设备 | |
US6839667B2 (en) | Method of speech recognition by presenting N-best word candidates | |
US20180137109A1 (en) | Methodology for automatic multilingual speech recognition | |
US7072837B2 (en) | Method for processing initially recognized speech in a speech recognition session | |
CN107086040B (zh) | 语音识别能力测试方法和装置 | |
US9613638B2 (en) | Computer-implemented systems and methods for determining an intelligibility score for speech | |
KR960701431A (ko) | 음성-대화식 언어 명령 방법 및 장치(Method and apparatus for voice-interactive language instruction) | |
KR102296878B1 (ko) | 외국어 학습평가장치 | |
KR20100130263A (ko) | 음성 인식용 발음사전 확장 장치 및 방법 | |
JP2015530614A (ja) | 精度スコアを使用した音声認識性能を予測するための方法およびシステム | |
KR20210130024A (ko) | 대화 시스템 및 그 제어 방법 | |
KR20160059265A (ko) | 신뢰도 측점 점수를 고려한 음향 모델 학습 방법 및 장치 | |
CN109697975B (zh) | 一种语音评价方法及装置 | |
CN114783424A (zh) | 文本语料筛选方法、装置、设备及存储介质 | |
CN115132174A (zh) | 一种语音数据处理方法、装置、计算机设备及存储介质 | |
CN114627896A (zh) | 语音评测方法、装置、设备及存储介质 | |
JP5544575B2 (ja) | 音声言語評価装置、方法、及びプログラム | |
KR20130126570A (ko) | 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체 | |
Kuzdeuov et al. | Speech command recognition: Text-to-speech and speech corpus scraping are all you need | |
KR102386635B1 (ko) | 음소의 특성에 관한 통계적 분석에 기초하여 자동적으로 음성 합성 데이터를 평가하는 방법 및 장치 | |
KR20090006903A (ko) | 음성 인식을 이용한 자동 번역 방법 및 장치 | |
Marie-Sainte et al. | A new system for Arabic recitation using speech recognition and Jaro Winkler algorithm | |
KR102405547B1 (ko) | 딥러닝 기반의 발음 평가 시스템 | |
KR20150015126A (ko) | 외국어 유창성 평가 시스템 및 방법 |
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: 20160422 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170424 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180424 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190423 Year of fee payment: 7 |