KR101183310B1 - 일반적인 철자 기억용 코드 - Google Patents

일반적인 철자 기억용 코드 Download PDF

Info

Publication number
KR101183310B1
KR101183310B1 KR1020050093842A KR20050093842A KR101183310B1 KR 101183310 B1 KR101183310 B1 KR 101183310B1 KR 1020050093842 A KR1020050093842 A KR 1020050093842A KR 20050093842 A KR20050093842 A KR 20050093842A KR 101183310 B1 KR101183310 B1 KR 101183310B1
Authority
KR
South Korea
Prior art keywords
pronunciation
language model
character
word
letter
Prior art date
Application number
KR1020050093842A
Other languages
English (en)
Other versions
KR20060058004A (ko
Inventor
키프리앙 아이. 첼바
데이비드 모와트
퀴앙 우
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060058004A publication Critical patent/KR20060058004A/ko
Application granted granted Critical
Publication of KR101183310B1 publication Critical patent/KR101183310B1/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/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • 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/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models

Abstract

음성 인식 소프트웨어 애플리케이션에서 사용하기 위한 기억용 코드 언어 모델을 생성하는 시스템 및 방법으로서, 본 방법은 n-gram 언어 모델이 예정된 대부분의 문자들로부터 적어도 하나의 문자를 포함하도록 그 예정된 대부분의 문자들을 포함하는 n-gram 언어 모델을 생성하는 단계와, 적어도 하나의 각 문자에 대한 새로운 언어 모델(LM) 토큰을 구성하는 단계와, 문자 발음 표현을 얻기 위해 예정된 발음 사전에 응답하여 적어도 하나의 각 문자에 대한 발음들을 추출하는 단계와, 대체 발음 사전을 생성하기 위해 적어도 하나의 각 문자에 대한 적어도 하나의 대체 발음을 문자 발음 표현에 응답하여 생성하는 단계와, 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 n-gram 언어 모델을 컴파일하는 것으로서, 새로운 언어 모델 토큰 및 대체 발음 사전에 응답하여 그 언어 모델을 컴파일하는 단계를 포함한다.
Figure R1020050093842
음성 인식, n-gram, 언어 모델

Description

일반적인 철자 기억용 코드{GENERIC SPELLING MNEMONICS}
도 1은 일반적인 음성 인식 시스템을 예시한 블록도.
도 2는 예시적인 실시예에 따라, 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법을 구현한 시스템을 예시하는 개략적인 블록도.
도 3은 예시적인 실시예에 따라, 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법을 예시하는 블록도.
도 4는 미국식 영어 음소들(American English Phonemes)에 대한 테이블을 도시한다.
<도면의 주요 부분에 대한 부호의 설명>
110: 음향 모델
112: 언어 모델
104: 입력 장치
106: 저장 장치
108: 디스플레이
본 발명은 일반적으로 음성 인식 소프트웨어 애플리케이션에 관한 것이며, 보다 구체적으로는 음성 인식 애플리케이션을 통해 구문의 문자들을 조작하는 방법에 관한 것이다.
음성은 아마도 가장 오래된 형태의 인간 통신 수단일 것이며, 현재 많은 과학자는 음성을 통한 통신 능력은 본질적으로 인간 두뇌의 생물학적인 면에 의해서 제공된다고 믿고 있다. 그러므로 사용자가 음성 등의 NUI(Natural User Interface)를 사용하여 컴퓨터와 통신을 행할 수 있도록 하는 것이 오랫동안 추구해왔던 목표였다. 사실, 최근에 이 목표를 성취하는데 있어서의 커다란 진보가 행해졌다. 예를 들어, 현재 일부 컴퓨터는 사용자가 컴퓨터를 동작시키는 명령과 텍스트로 변환시킬 구술(dictation) 모두를 구두로 입력하게 해 주는 음성 인식 애플리케이션을 포함하고 있다. 이런 애플리케이션은 일반적으로 마이크로폰을 통해 취해진 소리 샘플들을 주기적으로 기록하고, 사용자에 의해 구술된 음소들을 인식하기 위해 그 샘플들을 분석하고, 그 구술된 음소들로 형성된 단어들을 식별함으로써 동작한다.
음성 인식은 보다 보편적인 일이 되고 있으나 여전히 종래의 음성 인식 애플리케이션을 사용하는데에는 몇몇 단점이 존재하여서, 이로 인해 유경험 사용자에게는 실망을 안겨주며 초보 사용자들의 관심을 딴 곳으로 돌리게 하기 쉽다. 한 가지 이런 단점은 화자와 컴퓨터 사이의 대화에 관련된다. 예를 들어, 사람들이 대 화할 경우, 사람들은 청취자에게서 지각한 반응에 기반하여 그들의 음성을 조절하는 경향이 있다. 이처럼, 대화하는 동안에 청취자는 끄덕이거나 "예" 또는 "응(uh-huh)" 등의 목소리로 응답하여 피드백을 제공할 수 있어서, 그 또는 그녀가 그들이 들었던 것을 이해했는지를 나타낼 수 있다. 또한, 청취자는 그들이 들었던 것을 이해하지 못했다면, 미심쩍은 표정을 짓거나, 앞쪽으로 몸을 기울이거나, 다른 음성적 또는 비음성적 단서를 제시할 수 있다. 이런 피드백에 응답하여, 화자는 일반적으로 그 또는 그녀가 말하는 방식을 변경할 것이며, 일부 경우에 통상적으로 화자가 그들이 청취자와 대화하는 방법을 변경하고 있다는 것을 청취자가 깨닫지 못하게 하면서, 화자는 문장을 더욱 천천히, 더욱 소리 높여, 더욱 자주 쉬어가면서 말하거나 심지어 반복해서 말할 수 있다. 그러므로 대화하는 동안의 피드백은 화자에게 청취자가 그 화자를 이해하고 있는지 여부에 대해 알려주는 매우 중요한 요소이다. 그러나 불행히도, 종래 음성 인식 애플리케이션은 아직 이런 타입의 "NUI(Natural User Interface)" 피드백 응답을 인간-기계 인터페이스를 통해 용이하게 행해지는 음성 입력들/명령들에 제공할 수가 없다.
현재, 음성 인식 애플리케이션은 대략 90%에서 98%의 정확도를 달성하였다. 이것은 사용자가 일반적인 음성 인식 애플리케이션을 사용하여 구술하여 문서를 작성할 때, 그들의 음성이 음성 인식 애플리케이션에 의해 그 당시 대략 90%에서 98% 정확하게 인식될 것이라는 것을 의미한다. 그러므로 음성 인식 애플리케이션에 의해 기록된 100개 글자들 중 대략 2개 내지 10개 글자를 수정해야 할 것이다. 특히, 현존하는 음성 인식 애플리케이션은 "s"(예컨대, ess)와 "f"(예컨대, eff) 등 의 어떤 글자를 인식하는데 어려워하는 경향이 있다. 이 문제를 해결하기 위해 현존하는 음성 인식 애플리케이션이 사용하는 한 가지 접근 방법은 사용자가 발음하고 있는 어떤 글자들을 명확하게 해 주는 예정된 기억용 코드(mnemonics)를 사용하는 능력을 그들에게 제공하는 것을 포함한다. 예를 들어, 사용자는 구술할 때 "a as in apple" 또는 "b as in boy"라고 이야기하는 능력을 가진다.
그러나 불행히도 이런 접근 방법은 음성 인식 애플리케이션의 사용자 친밀도를 한정하는 경향에 연관된 단점들을 갖는다. 한 가지 단점은 각 글자에 대해 군용 규격 알파벳(standard military alphabet)(예컨대, alpha, bravo, charlie,...)이 되는 경향이 있는 예정된 기억용 코드를 사용하는 것에 관련된다. 이것은 사용자가 구술할 때 이야기할 기억용 코드 리스트(예컨대, "I as in igloo")를 부여받을 수 있으나 그들이 자기 자신의 기억용 알파벳(예컨대, "I as in India")를 형성하고 그 예정된 기억용 알파벳을 무시하는 경향이 있기 때문이다. 예상할 수 있는 바와 같이, 음성 인식 애플리케이션은 예정되어 있지 않은 기억용 코드는 인식하지 않기 때문에, 글자 인식 에러들이 흔히 발생하게 된다. 다른 단점은 몇몇 글자들은 그것들(Apple에서와 같은 A, Adam에서와 같은 A, 또는 Dog에서와 같은 D, David에서와 같은 D, 또는 Zebra에서와 같은 Z, Zulu에서와 같은 Z)에 연관된 유력한 기억용 코드(즉,>80%)의 작은 집합을 가지는 반면에, 다른 글자들은 그 다른 글자들(예컨대, L, P, R, 및 S)에 연관된 유력한 기억용 코드를 가지지 않는다는 사실에 관련되어 있다. 이것은 적합한 일반적 언어 모델을 생성하는 것을 어렵게 만들 뿐만 아니라, 사실상 불가능하게 한다. 이처럼, 언어를 음성 인식 소프트웨어 애플 리케이션에 전달하는 것은 여전히 비교적 많은 수의 에러를 발생시키고, 이런 에러들은 이 애플리케이션을 자주 사용하는 사용자를 실망시키는 경향이 있을 뿐 아니라, 또한 초보 사용자들도 실망시키게 되어, 사용자들이 그 음성 인식 애플리케이션을 계속해서 이용하는 것을 거부하는 것을 초래할 가능성이 있을 수 있다.
음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법이 제공되며, 본 방법은 예컨대 글자, 숫자, 기호 등의 예정된 대부분의 문자들을 포함하는 n-gram 언어 모델을 생성하는 단계를 포함하며, 이 n-gram 언어 모델은 예정된 대부분의 문자들로부터의 적어도 하나의 문자를 포함한다. 본 방법은 또한 적어도 하나의 각 문자에 대한 새로운 언어 모델(LM) 토큰을 구성하는 단계와, 문자 발음 표현을 얻기 위해 예정된 발음 사전에 응답하여 적어도 하나의 각 문자에 대한 발음들을 추출하는 단계를 포함한다. 그에 더하여, 본 방법은 대체 발음 사전을 생성하기 위해 적어도 하나의 각 문자에 대한 적어도 하나의 대체 발음을 그 문자 발음 표현에 응답하여 생성하는 단계와, 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 n-gram 언어 모델을 컴파일하는 단계를 포함하며, 이 언어 모델을 컴파일하는 단계는 새로운 언어 모델 토큰 및 대체 발음 사전에 응답하여 행해진다.
음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법이 제공되며, 본 방법은 예정된 대부분의 문자들을 포함하는 n-gram 언어 모델을 생성하는 단계를 포함하며, 이 n-gram 언어 모델은 예정된 대부 분의 문자들로부터의 적어도 하나의 문자를 포함한다. 그에 더하여, 본 방법은 문자 발음 표현을 얻기 위해 예정된 발음 사전에 응답하여 적어도 하나의 각 문자에 대한 발음들을 추출하는 단계와, 대체 발음 사전을 생성하기 위해 적어도 하나의 각 문자에 대한 적어도 하나의 대체 발음을 그 문자 발음 표현에 응답하여 생성하는 단계를 포함한다.
음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법을 구현한 시스템이 제공되며, 본 시스템은 음성 인식 소프트웨어 애플리케이션 및 적어도 하나의 대상(target) 소프트웨어 애플리케이션을 저장한 저장 장치를 포함한다. 본 시스템은 또한 구두로 데이터와 명령들을 시스템에 입력하는 입력 장치, 그 입력된 데이터를 디스플레이하는 디스플레이 스크린을 포함하는 디스플레이 장치, 및 프로세싱 장치를 포함한다. 프로세싱 장치는 저장 장치, 입력 장치, 및 디스플레이 장치와 통신하고 있어서, 이 프로세싱 장치는 음성 인식 소프트웨어 애플리케이션으로 하여금 철자 UI(spelling UI)를 디스플레이 스크린상에 디스플레이하게 하고, 입력된 명령들에 응답하여 그 입력된 데이터를 처리하게 하는 명령어들을 수신한다.
기계 판독가능 컴퓨터 프로그램 코드가 제공되며, 이 프로그램 코드는 프로세싱 장치로 하여금 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법을 구현하게 하는 명령어들을 포함하며, 그 프로세싱 장치는 저장 장치 및 디스플레이 장치와 통신하고 있으며, 그 저장 장치는 음성 인식 소프트웨어 애플리케이션을 포함한다. 본 방법은 n-gram 언어 모델이 예정된 대부분의 문자들로부터의 적어도 하나의 문자를 포함하도록 예정된 대부분의 문자들을 포함하는 n-gram 언어 모델을 생성하는 단계와, 그 적어도 하나의 각 문자에 대한 새로운 언어 모델(LM) 토큰을 구성하는 단계를 포함한다. 본 방법은 또한 문자 발음 표현을 얻기 위해 예정된 발음 사전에 응답하여 적어도 하나의 각 문자에 대한 발음들을 추출하는 단계와, 대체 발음 사전을 생성하기 위해 적어도 하나의 각 문자에 대한 적어도 하나의 대체 발음을 그 문자 발음 표현에 응답하여 생성하는 단계를 포함한다. 게다가, 본 방법은 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 n-gram 언어 모델을 컴파일하는 단계를 포함하고, 그 언어 모델을 컴파일하는 단계는 새로운 언어 모델 토큰 및 대체 발음 사전에 응답하여 행해진다.
기계 판독가능 컴퓨터 프로그램 코드가 부호화되어 있는 매체가 제공되며, 그 프로그램 코드는 프로세싱 장치로 하여금 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법을 구현하게 하는 명령어들을 포함하며, 이 프로세싱 장치는 저장 장치 및 디스플레이 장치와 통신하고 있으며, 그 저장 장치는 음성 인식 소프트웨어 애플리케이션을 포함하고 있다. 본 방법은 n-gram 언어 모델이 예정된 대부분의 문자들로부터의 적어도 하나의 문자를 포함하도록 예정된 대부분의 문자들을 포함하는 n-gram 언어 모델을 생성하는 단계와, 그 적어도 하나의 각 문자에 대한 새로운 언어 모델(LM) 토큰을 구성하는 단계를 포함한다. 본 방법은 또한 문자 발음 표현을 얻기 위해 예정된 발음 사전에 응답하여 적어도 하나의 각 문자에 대한 발음들을 추출하는 단계와, 대체 발음 사전을 생성하기 위해 적어도 하나의 각 문자에 대한 적어도 하나의 대체 발음을 그 문 자 발음 표현에 응답하여 생성하는 단계를 포함한다. 게다가, 본 방법은 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 n-gram 언어 모델을 컴파일하는 단계를 포함하며, 이 언어 모델을 컴파일하는 단계는 새로운 언어 모델 토큰 및 대체 발음 사전에 응답하여 행해진다.
본 발명의 상기 특징들 및 다른 특징들과 장점들이 첨부한 도면들에 관련하여 취해진 예시적인 실시예들에 대한 하기의 상세한 설명으로부터 보다 충분히 이해될 것이며, 동일한 구성 요소는 여러 도면들에서 같은 번호를 부여받고 있다.
대부분의 음성 인식 애플리케이션들은 주어진 음향 발음에 대해 단어-대-단어 자역(transcript)을 결정하기 위해 일반적인 음향 패턴(acoustic patterns)과 일반적인 단어 패턴(word patterns) 모델을 이용한다. 그러면, 이런 단어 패턴들이 음성 인식 애플리케이션들에 의해 이용되어, 집합적으로 언어 모델(LM)로서 참조된다. 그 자체로서, 언어 모델은 단어 열 및 해당 열이 주어진 문맥에서 발생할 확률을 나타낸다. 그러므로 언어 모델이 음성 인식 애플리케이션에서 효과적인 되기 위해서는 대규모의 문자 훈련 데이터(textual training data)로 구성되어야 한다. 또한, 기억용 코드가 데스크톱 음성 인식 소프트웨어 애플리케이션을 사용하여 단어의 철자를 정정하는데 사용될 때 큰 효과를 낼 수 있음을 인식해야만 한다. 예를 들어, 기억용 코드를 사용하지 않고 단어의 철자를 쓰려고 하는 사용자에 관련된 한 가지 시나리오가 있을 수 있으며, 현재 음성 인식 소프트웨어 애플리케이션이 전달되었던 글자들 중 하나(또는 그 이상)의 오인식된(misrecognized) 글자들 을 가지게 되는 경우도 있다. 글자를 다시 말하기 위해(re-speak) 기억용 코드를 사용하면 해당 글자를 다시 말할 때 사용자가 성공하게 될 가능성이 상당히 증가하게 된다.
도 1을 참조하면, 일반적인 음성 인식 시스템(100)을 예시하는 블록도가 도시되어, 프로세싱 장치(102), 입력 장치(104), 저장 장치(106), 및 디스플레이 장치(108)를 포함하고 있으며, 음향 모델(110)과 언어 모델(112)은 저장 장치(106)에 저장되어 있다. 음향 모델(110)은 일반적으로 디코더가 어떤 단어들이 말해졌는지를 판정하도록 도와주는 정보를 포함한다. 이 음향 모델(110)은 이것을 입력 장치(104)에 의해 제공된 스펙트럼 파라미터들(spectral parameters)에 기초하여 일련의 음소들에 대해 가설을 세움으로써 달성하며, 음소는 의미상 구별을 전달할 수 있는 언어에서의 가장 작은 음성의 단위(phonetic unit)이며, 일반적으로 사전 및 은닉 마르코프 모델들(HMM:hidden Markov model)의 사용에 관련된다. 예를 들어, 음향 모델(110)은 단어들의 사전(용어집) 및 그것들의 해당 음성 발음들을 포함할 수 있으며, 이런 발음들은 주어진 음소 열이 단어를 형성하는데 함께 발생하게 될 확률에 대한 지시를 포함한다. 그에 더하여, 음향 모델(110)은 다른 음소들에 관련해서 구별된 음소들이 발생할 수 있는 가능성에 관한 정보도 포함할 수 있다. 예를 들어, "tri-phone"은 왼편(앞쪽에 첨부)(prepending)에 있는 구별된 한 음소와 오른편(뒤쪽에 첨부)(appending)에 있는 또 다른 구별된 음소에 관련해서 사용되는 구별된 음소이다. 그러므로 음향 모델(110)의 내용(contents)은 어떤 단어들이 계산된 스펙트럼 파라미터들에 의해 나타나는지 예측하기 위해 프로세싱 장치 (102)에 의해 사용될 수 있다.
그에 더하여, 언어 모델(LM)(112)은 단어들이 어떻게 및 어떤 빈도수로 함께 발생할 것인지를 규정한다. 예를 들어, n-gram 언어 모델(112)은 단어가 단어 열을 후속해서 나타날 확률을 계산한다. 이런 확률 값은 집합적으로 n-gram 언어 모델(112)을 형성한다. 그러면, 프로세싱 장치(102)는 n-gram 언어 모델(112)로부터의 확률을 이용하여 그 음향 모델(110)을 사용하여 식별된 최상의 단어 열 가설 중에서 선택함으로써, 스펙트라 파라미터에 의해 나타난 가장 그럴듯한 단어 또는 단어 열을 얻게 되며, 그 가장 그럴듯한 가설은 디스플레이 장치(108)에 의해 디스플레이될 수 있다.
본원에 기술된 본 발명은 사용자에 의해 입력된 음성 명령들을 수신하고 이를 인식하기 위해 음성 인식 애플리케이션을 사용하는 일반적인 컴퓨터 구현 시스템에서 사용되는 단독 및/또는 통합 애플리케이션 모듈에 관련하여 기술되어 있다. 객체 지향의 애플리케이션과 같이, 애플리케이션 모듈은 클라이언트 프로그램이 이 애플리케이션 모듈과 통신하기 위해 액세스할 수 있는 표준 인터페이스를 드러낼 수 있다. 이 애플리케이션 모듈은 또한 워드 프로세싱 프로그램, 데스크톱 출판용 프로그램, 응용 프로그램 등의 많은 다른 클라이언트 프로그램들이 그 애플리케이션 모듈을 지역적으로, 및/또는 WAN, LAN 및/또는 인터넷 기반 전달 수단 등의 네트워크를 통해 사용하도록 허용할 수 있다. 예를 들어, 애플리케이션 모듈은 지역적으로 또는 인터넷 액세스 포인트를 통해, 이메일 애플리케이션 또는 Microsoft® Word 등의 텍스트 필드를 갖는 어떤 애플리케이션 및/또는 제어에 의해 액세스되어 사용될 수 있다. 그러나 본 발명의 양상을 기술하기 전에, 본 발명으로부터 이점을 얻게 되고 이를 실시할 수 있는 적합한 컴퓨팅 환경의 실시예를 하기에 기술한다.
도 2를 참조하면, 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델(112)을 생성하는 방법을 구현한 시스템(200)을 예시하는 블록도가 도시되어 있으며, 프로세싱 장치(204), 시스템 메모리(206), 및 시스템 메모리(206)를 프로세싱 장치(204)에 결합시키는 시스템 버스(208)를 포함하는 일반적인 컴퓨터 시스템(202)을 포함한다. 시스템 메모리(206)는 판독 전용 메모리(ROM:210) 및 임의 접근 메모리(RAM:212)를 포함할 수 있다. 시작할 때 등의 일반적인 컴퓨터 시스템(202) 내의 구성요소들 간의 정보 전달을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS:214)이 ROM(210)에 저장되어 있다. 일반적인 컴퓨터 시스템(202)은 또한 하드 디스크 드라이브(218), 예컨대 분리형 자기 디스크(222)로부터 판독하거나 이에 기록하는 자기 디스크 드라이브(220), 및 예컨대 CD-ROM 디스크(226)를 판독하거나 다른 광 매체로부터 판독하거나 이에 기록하는 광 디스크 드라이브(224) 등의 저장 장치(216)를 포함한다. 저장 장치(216)는 하드 디스크 드라이브 인터페이스(230), 자기 디스크 드라이브 인터페이스(232), 및 광 드라이브 인터페이스(234) 등의 저장 장치 인터페이스에 의해 시스템 버스(208)에 연결될 수 있다. 드라이브들 및 그 관련 컴퓨터 판독가능 매체는 일반적인 컴퓨터 시스템(202)에 비휘발성 저장 장소를 제공한다. 상기 컴퓨터 판독가능 매체에 대한 설명이 하드 디스크, 분리형 자기 디스크, 및 CD-ROM 디스크를 지칭하고 있지 만, 컴퓨터 시스템에 의해 판독가능하고 원하는 최종 목적에 적합한 자기 카세트, 플래시 메모리 카드, DVD, 베르누이 카트리지 등의 기타 유형의 매체가 사용될 수 있음을 인식해야만 한다.
사용자는 키보드(236), 마우스(238) 등의 포인팅 장치, 및 마이크로폰(240)을 포함하는 종래의 입력 장치(235)를 통해 명령들과 정보를 컴퓨터 시스템(202)으로 입력할 수 있으며, 그 마이크로폰(240)은 음성 등의 오디오 입력을 일반적인 컴퓨터 시스템(202)으로 입력하는데 사용될 수 있다. 그에 더하여, 사용자는 스타일러스(stylus)를 사용하는 기록용 태블릿(242) 상에 그래픽 정보를 도시함으로써 도면 또는 친필 등의 그래픽 정보를 일반적인 컴퓨터 시스템(202)으로 입력할 수 있다. 또한, 일반적인 컴퓨터 시스템(202)은 원하는 최종 목적에 적합한 조이스틱, 게임 패드, 위성 안테나, 스캐너 등의 부가적인 입력 장치들을 포함할 수 있다. 마이크로폰(240)은 시스템 버스(208)에 결합된 오디오 어댑터(244)를 통해 프로세싱 장치(204)에 연결될 수 있다. 게다가, 기타 입력 장치들도 종종 시스템 버스(208)에 결합된 직렬 포트 인터페이스(246)를 통해 프로세싱 장치(204)에 연결될 수 있으나, 병렬 포트 인터페이스, 게임 포트 또는 USB(Universal Serial Bus) 등의 기타 인터페이스에 의해서도 연결될 수도 있다.
또한, 디스플레이 스크린(248)을 가진 모니터 또는 다른 유형의 디스플레이 장치(247) 등의 디스플레이 장치(247)가 비디오 어댑터(250) 등의 인터페이스를 통해 시스템 버스(208)에 연결된다. 디스플레이 스크린(248) 이외에, 일반적인 컴퓨터 시스템(202)은 또한 일반적으로 스피커 및/또는 프린터 등의 기타 주변 출력 장 치들을 포함할 수 있다. 일반적인 컴퓨터 시스템(202)은 하나 이상의 원격 컴퓨터 시스템(252)들로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터 시스템(252)은 서버, 라우터, 피어 장치, 또는 기타 통상적인 네트워크 노드일 수 있으며, 원격 메모리 저장 장치(254)만이 도 2에 예시되었을 지라도 일반적인 컴퓨터 시스템(202)에 관련하여 기술된 구성요소들 중 일부 또는 그 전부를 포함할 수 있다. 도 2에 도시된 논리적 연결은 근거리 통신망(LAN:256) 및 원거리 통신망(WAN:258)을 포함한다. 이러한 네트워킹 환경은 사무실, 기업 규모의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 통상적이다.
LAN 네트워킹 환경에서 사용될 때, 일반적인 컴퓨터 시스템(202)은 네트워크 인터페이스(260)를 통해 LAN(256)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 일반적인 컴퓨터 시스템(202)은 일반적으로 인터넷 등의 WAN(258)을 통한 통신을 설정하기 위한 모뎀(262) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(262)은 직렬 포트 인터페이스(246)를 통해 시스템 버스(208)에 연결될 수 있다. 네트워크화된 환경에서, 일반적인 컴퓨터 시스템(110)과 관련하여 도시된 프로그램 모듈 또는 그것의 일부분은 원격 메모리 저장 장치(254)에 저장될 수 있다. 도시된 네트워크 연결은 예시적인 것이며 컴퓨터 시스템들 사이의 통신 링크를 설정하기 위한 기타 수단이 사용될 수 있음을 인식해야만 한다. 애플리케이션 모듈은 일반적인 컴퓨터 시스템이 아닌 호스트 또는 서버 컴퓨터 시스템상에 동등하게 구현될 수 있으며, CD-ROM이 아닌 예를 들어 네트워크 연결 인터페이스(260)에 의해서 호스트 컴퓨터 시스템으로 전송될 수 있음을 인식해야만 한다.
또한, 수많은 프로그램 모듈들이 일반적인 컴퓨터 시스템(202)의 드라이브들 및 RAM(212)에 저장될 수 있다. 프로그램 모듈들은 일반적인 컴퓨터 시스템(202)이 어떻게 기능하고, 사용자 혹은 I/O 장치들 또는 기타 컴퓨터들과 어떻게 상호작용하는지를 제어한다. 프로그램 모듈들은 운영 체제(264), 대상 애플리케이션 프로그램 모듈(266), 데이터 구조, 브라우저, 및 기타 소프트웨어 또는 펌웨어 컴포넌트들을 포함한다. 본 발명의 방법은 애플리케이션 모듈 내에 포함될 수 있으며, 그 애플리케이션 모듈은 본원에 기술된 방법들에 기초하여 음성 엔진 정정 모듈(270) 등의 하나 이상의 프로그램 모듈들에 편리하게 구현될 수 있다. 대상 애플리케이션 프로그램 모듈들(266)은 본 발명에 관련해서 사용된 다양한 애플리케이션들을 포함할 수 있고, 그 중 몇몇은 도 3에 도시되어 있다. 이런 프로그램 모듈들 중 몇몇 간에서의 대화 및 그 모듈들의 목적은 도 3을 기술하는 본문에 보다 충분히 논의되어 있다. 이런 프로그램 모듈들은 이메일 프로그램, 워드 프로세서 프로그램(와시, 레드몬드의 마이크로소프트사의 Microsoft® Word 등임) 등의 텍스트 필드를 가진 임의 애플리케이션 및/또는 제어, 서체 인식 프로그램 모듈, 음성 엔진 정정 모듈(270), 및 IME(input method editor)를 포함한다.
상세한 설명에 기술된 다양한 프로시저를 수행하기 위한 어떤 구체적인 프로그래밍 언어도 기술되지 않았음을 인식해야만 하는데, 그 이유는 첨부된 도면에 예시되고 기술된 동작들, 단계들, 및 프로시저들이 충분히 개시되어서 당업자로 하여금 본 발명의 예시적인 실시예를 실시할 수 있게 해주기 때문이다. 게다가, 예시적인 실시예를 실시하는데 사용될 수 있는 많은 컴퓨터와 운영 체제가 존재하므로, 이런 여러 다른 시스템 모두에 적용가능한 어떤 상세한 컴퓨터 프로그램도 제공될 수 없다. 특정 컴퓨터의 각 사용자는 해당 사용자의 필요와 목적에 가장 유용한 언어 및 도구를 알고 있을 것이다.
도 3을 참조하면, 도 2의 일반적인 컴퓨터 시스템(202)을 사용하여 구현된 음성 인식 소프트웨어 애플리케이션에 사용하기 위한 기억용 코드 언어 모델을 생성하는 방법을 예시하는 블록도가 도시되어 있으며, 그 일반적인 컴퓨터 시스템(202)은 입력 장치(235), 저장 장치(216), 및 디스플레이 장치(247)와 통신하는 프로세싱 장치(204)를 포함하며, 그 디스플레이 장치(247)는 도 2에 도시된 바와 같이 디스플레이 스크린(248)을 포함한다. 상기 논의된 바와 같이, 입력 장치(235)는 원하는 최종 목적에 적합한 마이크로폰 등의 어떤 장치일 수 있다. 또한, 음성 인식 소프트웨어 장치(204)는 프로세싱 장치(204)가 음성 인식 소프트웨어 애플리케이션을 액세스할 수 있게 해주기 위해 저장 장치(216)상에 저장될 수 있다. 게다가, Microsoft® Windows 등의 적어도 하나의 대상 소프트웨어 애플리케이션(266)이 또한 저장 장치(216)에 저장될 수 있는데, 사용자가 프로세싱 장치(204)에 전달된 명령어를 통해 대상 소프트웨어 애플리케이션을 구현할 수 있게 해주기 위해서이다.
본 방법(300)은 동작 블록(302)에 도시된 바와 같이, 예정된 대부분의 문자들 및/또는 문자열들에 있는 각 문자 및/또는 문자열에 대한 n-gram 언어 모델(112)을 생성하는 단계를 포함한다. 상기 간략히 논의된 바대로, 이것은 특정 문자가 다른 문자들에 후속하여 나타나는 사건에 대해 확률을 할당할 것이다. 예를 들어, 단어 "era"에서 문자열 "er" 이후에 글자 "a"가 나타나는 사건에 대해 고려해보자. n-gram 언어 모델(112)을 생성하는 단계는 이런 사건에 확률 P(a|e,r)을 할당하게 할 것이다. 환언하면, 확률 P(a|e,r)은 문자열 "er" 이후에 "a"가 발생할 확률을 나타낼 것이다. n-gram 언어 모델(112)은 공동체 표준 ARPA 포맷인 파일로서 기록될 것이며, 대문자 및 소문자 모두에 대해 확률의 할당을 고려하여 반응하는 경우일 것이다. 또한, 본 방법(300)은 동작 블록(304)에 도시된 바와 같이 예정된 대부분의 문자들 및/또는 문자열들에 있는 각 문자 및/또는 문자열에 대한 새로운 언어 모델 토큰을 구성하는 단계를 포함한다. 예를 들어, 언어 모델 토큰이 이미 존재하는 경우에 문자 "a"를 고려해보자. 오래된 언어 모델 토큰인 "a"는 문자 철자에 사용되기 위해 유지되나, 새로운 언어 모델 토큰인 "a-AsIn"는 기억용 코드 철자에 사용되기 위해 구성된다. 이것은 n-gram 언어 모델(112)이 성능을 유지하면서도 모델의 크기를 증가시킴이 없이 보통의 철자 기술들 및 기억용 코드 철자 기술을 위해 구성될 수 있게 해준다.
본 방법(300)은 또한 동작 블록(306)에 도시된 바와 같이 문자 발음 표현들의 대체 발음 사전을 생성하기 위해 음성 인식 소프트웨어 애플리케이션의 경우 예정된 발음 사전에 응답하여 각 문자들 및/또는 문자열들에 대한 발음들을 추출하는 단계를 포함한다. 예를 들어, "a"로 시작되는 단어들에 대한 발음이 데스크톱용 구술에 사용될 수 있는 음성 인식 소프트웨어 애플리케이션의 발음 사전으로부터 추출되는 경우에 문자 "a"를 다시 고려해보자. 이런 사전을 사용하여, 단어 "ARON"은 도 4에 도시된 바와 같이 "ae r ax n"의 문자 발음 표현을 가지는 것으로 발견된다. 동작 블록(308)에 도시된 바와 같이, 예정된 발음 사전에 있는 각 문자들 및/또는 문자열에 대한 그 대체 발음이 생성될 수 있는데, 새로운 언어 모델 토큰을 각 문자의 앞쪽에 첨부하고 긴 묵음 "sil"을 뒤쪽에 첨부함으로써 그러하다. 예를 들어, 새로운 언어 모델 토큰 "a AsIn"과 단어 "ARON"을 고려해보자. 상기 관계가 있는 경우, 대체 발음이 "ey AA1 ey ae z ih n ae r ax n sil"으로 나타날 것이며, "ey AA1 ey ae z ih n"은 "a AsIn"에 대한 앞쪽에 첨부된 발음이고, "ae r ax n"은 "ARON"에 대한 발음이고, "sil"은 뒤쪽에 첨부된 긴 묵음이다. 그에 더하여, 대문자도 유사한 방식으로 취급된다. 예를 들어, 구문 "capital a as in ARON"를 고려해보자. 상기 관계가 있는 경우, 대체 발음은 "k ae p ih t ax l ey AA1 ey ae z ih n ae r ax n sil"으로 나타날 것이며, "k ae p ih t ax l"은 capital에 대한 발음이고, "ey AA1 ey ae z ih n"은 "a AsIn"에 대한 앞쪽에 첨부된 발음이고, "ae r ax n"은 "ARON"에 대한 발음이고, "sil"은 뒤쪽에 첨부된 긴 묵음이다.
그 후, 동작 블록(310)에서 도시된 바와 같이, 대규모 단어집 인식기에 사용하기 위한 n-gram 언어 모델은 표준 컴파일러를 사용하여 컴파일될 수 있는데, 그 컴파일러로의 입력은 동작 블록(302)에서 구축된 n-gram 언어 모델(ARPA 포맷임)과, 동작 블록(304) 및 동작 블록(306)에서 구축된 발음 사전(각 글자에 대해 다른 변형 발음들을 부호화함)을 포함한다. n-gram 언어 모델(112)은 JIT(Just-In-Time) 컴파일러 등의 원하는 최종 목적 제품에 적합한 임의 컴파일 장치를 사용하여 컴파일될 수 있음을 인식해야만 한다.
본 방법(300)은 사용자에게 120,000 이상의 기억용 코드를 가진 언어 모델을 사용하는 능력을 제공하는 삼중음자 기반의 음성 언어 모델(trigram based speech language model)의 생성을 용이하게 한다는 점을 인식해야만 한다. 이것은 사용자가 120,000 단어들 중 하나를 말할 수 있다는 사실을 부호화하고, 그 단어들의 발음을 부호화하고, 문맥 중 2개의 이전 단어가 있을 경우 하나의 단어가 나타날 삼중음자 확률을 부호화함으로써 달성될 수 있다. 예를 들어, 구문 "This is"가 주어지고, 사용자가 말한 다음 단어가 "near" 또는 "kneel"일 수 있는 경우, 구문 "this is near"는 영어에서 "this is kneel"보다 상당히 품위 없는 표현이므로, 단어 "kneel"이 선택된다. 유사한 방식으로, 철자 언어 모델의 경우, 용어 "단어"는 실제로 문자들을 지칭하며, 이 문자들은 26가지 소문자, 26가지 대문자, 숫자, 및 기호를 포함한다. 그러므로 본원에 개시된 발명(300)은 글자당 평균 5000개 발음들을 사용하고(S as in Salmon = S, S as in Sugar = S, S as in Salamander = S ...), 실제로 120,000 단어 구술 모델에 있는 모든 단어는 가능한 기억용 코드로서 사용된다. 각각의 기억용 코드는 각 글자 또는 발음에 대해 다른 가중치를 할당받는데, 몇몇은 다른 것보다 더 많은 가중치를 부여받는다. 예를 들어, 기억용 구문 "T as in Tom"은 "T as in tertiary"보다 많은 가중치를 부여받는데, 기억용 구문 "T as in Tom"이 보다 자주 사용되었다는 확률로 인해 그러하다. 그에 더하여, 기억용 열(sequence)은 또한 예를 들어, Donkey에서와 같은 "D"에 Fun에서와 같은 "F"가 후속할 가능성은 Donkey에서와 같은 "D"에 Sun에서와 같은 "S"가 후속할 가능성보다 적은 확률들을 갖는다. 이런 확률들은 특별하게 생성될 수 있거나, 조사 에 의해 샘플링된 기억용 코드의 단순 리스트로부터 얻어질 수 있다. 본원에 개시된 본 방법(300)은 부가적인 문자들 및/또는 문자열을 "학습"하는 시스템(200)을 고려한다는 점을 인식해야만 한다. 게다가, 본 방법(300)이 미국식 영어 음소들에 관하여 본원에 개시되고 논의되었지만, 이 방법(300)을 중국어, 러시아어, 스페인어, 및 프랑스어 등의 임의 언어의 음소들에서도 사용할 수 있다.
예시적인 실시예에 따라, 도 3의 프로세싱은 기계 판독가능 컴퓨터 프로그램에 응답하여 동작하는 컨트롤러에 의해 전체적으로 또는 부분적으로 구현될 수 있다. 그러므로 연산(예를 들어, 실행 제어 알고리즘(들), 제어 프로세스들 등)뿐만 아니라 기술된 함수들과 원하는 처리를 수행하기 위해, 그 컨트롤러는 프로세서(들), 컴퓨터(들), 메모리, 저장장치, 레지스터(들), 타이밍, 인터럽트(들), 통신 인터페이스(들), 및 입/출력 신호 인터페이스(들)뿐만 아니라 상기 것들 중 적어도 하나를 포함하는 조합을 포함할 수 있으나 이에만 한정되지 않는다.
게다가, 본 발명은 컴퓨터 또는 컨트롤러 구현된 프로세스들의 형태로 구현될 수 있다. 본 발명은 또한 플로피 디스켓, CD-ROM, 하드 드라이브들, 및/또는 기타 컴퓨터-판독가능 매체 등의 실체가 있는 매체에 구현된 명령어들을 포함하는 컴퓨터 프로그램 코드의 형태로 구현될 수 있으며, 그 컴퓨터 프로그램 코드는 본 발명을 실행하는 장치가 되는 컴퓨터 또는 컨트롤러에 로드되고 이에 의해 실행된다. 또한, 본 발명은 예를 들어 저장 매체에 저장되고, 컴퓨터 또는 컨트롤러에 의해 로드되고/되거나 이에 의해 실행되고, 전선 또는 케이블 등의 몇몇 전송 매체를 통해서나 광섬유 또는 전자기적 전파를 통해 전송되는 컴퓨터 프로그램 코드 형 태로 구현될 수 있으며, 이 컴퓨터 프로그램 코드가 컴퓨터 또는 컨트롤러에 로드되고 이에 의해 실행될 때, 그 컴퓨터 또는 컨트롤러는 본 발명을 실행하는 장치가 된다. 범용 마이크로프로세서상에 구현될 때, 컴퓨터 프로그램 코드 세그먼트들이 특정 논리 회로를 생성하기 위해 마이크로프로세서를 구성할 수 있다.
본 발명은 예시적인 실시예를 참조하여 기술되었으나, 당업자는 본 발명의 정신과 범위 내에서 다양한 변경, 생략, 및/또는 첨가가 행해질 수 있고, 동등물이 구성 요소를 대체할 수 있음을 인식할 것이다. 또한, 많은 수정들이 본 발명의 범위 내에서 구체적인 상황 또는 물질을 본 발명의 교훈에 적응시키기 위해서 행해질 수 있다. 그러므로 본 발명은 해당 발명을 수행하기 위해 고려한 최상의 방식으로서 개시된 특정 실시예에만 한정되지 않고, 본 발명은 첨부된 청구항의 범위 내에 속하는 모든 실시예를 포함하는 것으로 의도되고 있다. 게다가, 구체적으로 언급된 제1의, 제2의 등의 용어들의 사용이 어떤 순서 또는 중요성을 표기하지 않는 한, 제1의, 제2의 등의 용어들은 구성요소를 서로 구별하기 위해 사용되고 있다.
음성 인식 소프트웨어 애플리케이션을 사용하기 위한 기억용 코드 언어 모델을 생성하는 시스템 및 방법을 효율적으로 제공하는 효과가 있다.

Claims (28)

  1. 기억용 코드 언어 모델(mnemonic language model)을 생성하는 방법으로서,
    문자열로부터 n-gram 언어 모델을 생성하는 단계;
    상기 n-gram 언어 모델로부터 문자를 나타내는 토큰을 구성하는 단계 - 상기 토큰은 상기 문자를 나타내는 발음 및 "as in"을 의미하는 용어를 나타내는 발음을 포함함 - ;
    사전으로부터 단어에 대한 발음을 추출하는 단계 - 상기 단어는 상기 문자로 시작함 - ;
    상기 토큰을 상기 단어에 대한 발음 앞에 첨부함으로써 대체 발음을 생성하는 단계; 및
    상기 n-gram 언어 모델 및 상기 대체 발음을 컴파일링하여 상기 기억용 코드 언어 모델을 형성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 문자열은 소문자 및 대문자를 포함하는 문자, 숫자, 및 기호 중 적어도 하나를 포함하는 방법.
  3. 제2항에 있어서,
    상기 문자, 상기 단어, 상기 사전, 및 상기 대체 발음 중 적어도 하나는 영어를 따르는(conform) 방법.
  4. 제1항에 있어서,
    상기 구성하는 단계는 상기 문자열의 각 문자에 대한 토큰을 구성하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 토큰을 구성하는 단계는 상기 단어의 발음 뒤에 긴 묵음 표현을 첨부하여 상기 대체 발음을 형성하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 문자가 대문자인 경우, 상기 토큰을 구성하는 단계는 상기 토큰의 앞에 "대문자(capital)"를 의미하는 용어의 표현을 첨부하여 상기 대체 발음을 형성하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 n-gram 언어 모델은 ARPA 포맷을 이용하여 생성되는 방법.
  8. 제1항의 방법을 수행하기 위한 컴퓨터 실행가능한 명령어들을 기록한 컴퓨터 판독가능한 기록 매체.
  9. 제1항에 있어서,
    상기 문자, 상기 단어, 상기 사전, 및 상기 대체 발음 중 적어도 하나는 음성 언어를 따르는 방법.
  10. 기억용 코드 언어 모델을 생성하는 방법으로서,
    문자열로부터 n-gram 언어 모델을 생성하는 단계 - 상기 n-gram 언어 모델은 상기 문자열로부터의 문자를 포함함 - ;
    상기 문자의 기억용 코드 철자를 나타내는 토큰을 구성하는 단계 - 상기 토큰은 상기 문자를 나타내는 발음 및 "as in"을 의미하는 용어를 나타내는 발음을 포함함 - ;
    사전으로부터 상기 문자에 대한 발음을 추출하는 단계;
    상기 사전으로부터 단어에 대한 단어 발음을 추출하는 단계 - 상기 단어는 상기 문자로 시작함 - ;
    상기 단어 발음의 앞에 상기 토큰을 첨부하고 뒤에 긴 묵음 표현을 첨부하여 상기 문자에 대한 대체 발음을 형성하는 단계; 및
    상기 n-gram 언어 모델 및 상기 문자에 대한 대체 발음을 컴파일링하여 상기 기억용 코드 언어 모델을 형성하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서,
    상기 문자열은 소문자 및 대문자를 포함하는 문자, 숫자, 및 기호 중 적어도 하나를 포함하는 방법.
  12. 제10항에 있어서,
    상기 문자, 상기 사전, 및 상기 대체 발음 중 적어도 하나는 영어를 따르는 방법.
  13. 제10항에 있어서,
    상기 문자가 대문자인 경우, 상기 토큰을 구성하는 단계는 상기 토큰의 앞에 "대문자(capital)"를 의미하는 용어의 표현을 첨부하여 상기 대체 발음을 형성하는 단계를 더 포함하는 방법.
  14. 제10항에 있어서,
    상기 n-gram 언어 모델은 ARPA 포맷을 이용하여 생성되는 방법.
  15. 제10항의 방법을 수행하기 위한 컴퓨터 실행가능한 명령어들을 기록한 컴퓨터 판독가능한 기록 매체.
  16. 제10항에 있어서,
    상기 문자, 상기 사전, 및 상기 대체 발음 중 적어도 하나는 음성 언어를 따르는 방법.
  17. 문자의 컴퓨터 인식을 위해 상기 문자의 기억용 코드 발음을 생성하는 방법으로서,
    프로세싱 장치를 이용하여, 인식될 문자를 선택하는 단계;
    상기 프로세싱 장치를 이용하여, 상기 문자로 시작하는 단어를 선택하는 단계;
    상기 프로세싱 장치를 이용하여, 상기 문자를 나타내는 발음, "as in"을 의미하는 용어를 나타내는 발음, 및 상기 단어의 발음을 포함하는 상기 문자를 나타내는 기억용 코드 발음을 구성하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 문자는 소문자, 대문자, 숫자, 또는 기호인 방법.
  19. 제17항에 있어서,
    상기 문자가 대문자인 경우, 기억용 코드 발음을 구성하는 단계는 상기 기억용 코드 발음의 앞에 "대문자(capital)"를 의미하는 용어의 표현을 첨부하는 단계를 더 포함하는 방법.
  20. 제17항의 방법을 수행하기 위한 컴퓨터 실행가능한 명령어들을 기록한 컴퓨터 판독가능한 기록 매체.
  21. 제17항에 있어서,
    기억용 코드 표현을 컴파일링하는 단계를 더 포함하는 방법.
  22. 제17항에 있어서,
    상기 문자는 문자열로부터 선택되는 방법.
  23. 제17항에 있어서,
    상기 단어는 사전으로부터 선택되는 방법.
  24. 제17항에 있어서,
    상기 기억용 코드 발음을 구성하는 단계는 상기 단어의 발음 뒤에 긴 묵음 표현을 첨부하는 단계를 더 포함하는 방법.
  25. 제17항에 있어서,
    상기 단어는 영어에 기초하는 방법.
  26. 제17항에 있어서,
    상기 단어는 중국어, 러시아어, 스페인어 또는 프랑스어 중 적어도 하나에 기초하는 방법.
  27. 삭제
  28. 삭제
KR1020050093842A 2004-11-24 2005-10-06 일반적인 철자 기억용 코드 KR101183310B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/996,732 2004-11-24
US10/996,732 US7418387B2 (en) 2004-11-24 2004-11-24 Generic spelling mnemonics

Publications (2)

Publication Number Publication Date
KR20060058004A KR20060058004A (ko) 2006-05-29
KR101183310B1 true KR101183310B1 (ko) 2012-09-17

Family

ID=35466493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050093842A KR101183310B1 (ko) 2004-11-24 2005-10-06 일반적인 철자 기억용 코드

Country Status (14)

Country Link
US (2) US7418387B2 (ko)
EP (1) EP1662482B1 (ko)
JP (1) JP4818683B2 (ko)
KR (1) KR101183310B1 (ko)
CN (1) CN1779783B (ko)
AT (1) ATE534988T1 (ko)
AU (2) AU2005229636B2 (ko)
BR (1) BRPI0504510A (ko)
CA (1) CA2523933C (ko)
ES (1) ES2375283T3 (ko)
MX (1) MXPA05011448A (ko)
PL (1) PL1662482T3 (ko)
PT (1) PT1662482E (ko)
RU (1) RU2441287C2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510109B2 (en) 2007-08-22 2013-08-13 Canyon Ip Holdings Llc Continuous speech transcription performance indication
US9973450B2 (en) 2007-09-17 2018-05-15 Amazon Technologies, Inc. Methods and systems for dynamically updating web service profile information by parsing transcribed message strings
KR100930714B1 (ko) 2007-12-14 2009-12-09 한국전자통신연구원 음성인식 장치 및 방법
US8010465B2 (en) 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US8447613B2 (en) * 2008-04-28 2013-05-21 Irobot Corporation Robot and server with optimized message decoding
JP2011007862A (ja) * 2009-06-23 2011-01-13 Fujitsu Ltd 音声認識装置、音声認識プログラム、および音声認識方法
EP2339576B1 (en) * 2009-12-23 2019-08-07 Google LLC Multi-modal input on an electronic device
US11416214B2 (en) 2009-12-23 2022-08-16 Google Llc Multi-modal input on an electronic device
US8914286B1 (en) * 2011-04-14 2014-12-16 Canyon IP Holdings, LLC Speech recognition with hierarchical networks
JP5596869B2 (ja) * 2011-09-09 2014-09-24 旭化成株式会社 音声認識装置
KR101193362B1 (ko) * 2012-04-13 2012-10-19 최병기 문자열을 발음 단위로 분할하는 방법, 이를 이용하는 문자열의 어조 표현 방법 및 문자열의 어조를 표현하는 동영상 데이터가 저장된 저장매체
US20140068443A1 (en) * 2012-08-28 2014-03-06 Private Group Networks, Inc. Method and system for creating mnemonics for locations-of-interests
US10235358B2 (en) 2013-02-21 2019-03-19 Microsoft Technology Licensing, Llc Exploiting structured content for unsupervised natural language semantic parsing
US10073840B2 (en) 2013-12-20 2018-09-11 Microsoft Technology Licensing, Llc Unsupervised relation detection model training
WO2019203016A1 (ja) * 2018-04-19 2019-10-24 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP7332486B2 (ja) * 2020-01-08 2023-08-23 株式会社東芝 記号列変換装置および記号列変換方法
US11735169B2 (en) * 2020-03-20 2023-08-22 International Business Machines Corporation Speech recognition and training for data inputs

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2820093B2 (ja) * 1995-12-26 1998-11-05 日本電気株式会社 単音節認識装置
US6321196B1 (en) * 1999-07-02 2001-11-20 International Business Machines Corporation Phonetic spelling for speech recognition
GB2353887B (en) * 1999-09-04 2003-09-24 Ibm Speech recognition system
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6694296B1 (en) * 2000-07-20 2004-02-17 Microsoft Corporation Method and apparatus for the recognition of spelled spoken words
US7346495B1 (en) * 2000-09-30 2008-03-18 Intel Corporation Method and system for building a domain specific statistical language model from rule based grammar specifications
US7400712B2 (en) * 2001-01-18 2008-07-15 Lucent Technologies Inc. Network provided information using text-to-speech and speech recognition and text or speech activated network control sequences for complimentary feature access
US6975986B2 (en) * 2001-05-30 2005-12-13 International Business Machines Corporation Voice spelling in an audio-only interface
US7225130B2 (en) * 2001-09-05 2007-05-29 Voice Signal Technologies, Inc. Methods, systems, and programming for performing speech recognition
US7315811B2 (en) * 2003-12-31 2008-01-01 Dictaphone Corporation System and method for accented modification of a language model

Also Published As

Publication number Publication date
US20060111907A1 (en) 2006-05-25
AU2010212370B2 (en) 2012-05-10
EP1662482A2 (en) 2006-05-31
CA2523933C (en) 2014-01-28
JP2006146193A (ja) 2006-06-08
RU2005136460A (ru) 2007-05-27
AU2005229636B2 (en) 2010-09-30
JP4818683B2 (ja) 2011-11-16
PT1662482E (pt) 2011-12-19
AU2010212370A1 (en) 2010-09-09
PL1662482T3 (pl) 2012-04-30
CN1779783A (zh) 2006-05-31
MXPA05011448A (es) 2007-12-11
KR20060058004A (ko) 2006-05-29
US7418387B2 (en) 2008-08-26
AU2005229636A1 (en) 2006-06-08
US7765102B2 (en) 2010-07-27
BRPI0504510A (pt) 2006-07-11
RU2441287C2 (ru) 2012-01-27
ATE534988T1 (de) 2011-12-15
CA2523933A1 (en) 2006-05-24
CN1779783B (zh) 2011-08-03
US20080319749A1 (en) 2008-12-25
EP1662482B1 (en) 2011-11-23
ES2375283T3 (es) 2012-02-28
EP1662482A3 (en) 2010-02-17

Similar Documents

Publication Publication Date Title
KR101183310B1 (ko) 일반적인 철자 기억용 코드
EP1096472B1 (en) Audio playback of a multi-source written document
US6535849B1 (en) Method and system for generating semi-literal transcripts for speech recognition systems
EP1422692A2 (en) Automatic insertion of non-verbalized punctuation in speech recognition
EP1251490A1 (en) Compact phonetic model for arabic languages recognition
US7624013B2 (en) Word competition models in voice recognition
JP2002287787A (ja) 明確化言語モデル
US11810471B2 (en) Computer implemented method and apparatus for recognition of speech patterns and feedback
Raza et al. An ASR system for spontaneous Urdu speech
AbuZeina et al. Cross-word modeling for Arabic speech recognition
Lee et al. Morpheme-based modeling of pronunciation variation for large vocabulary continuous speech recognition in Korean
Mann et al. Tamil talk: What you speak is what you get!
Dropuljić et al. Development of acoustic model for Croatian language using HTK
Attanayake Statistical language modelling and novel parsing techniques for enhanced creation and editing of mathematical e-content using spoken input
WO2014035437A1 (en) Using character describer to efficiently input ambiguous characters for smart chinese speech dictation correction
JP7165439B2 (ja) ソース言語の音声によって拡張言語の音声認識モデルをトレーニングする方法
Horndasch Using Contextual Information to Process Out-of-Vocabulary Words in Spoken Dialog Systems
JP2023144953A (ja) 発話評価装置及びプログラム
Thilak et al. Speech recognizer for Tamil language
Dropuljić et al. Razvoj akustičkog modela hrvatskog jezika pomoću alata HTK
Hoesen et al. A prototype of Indonesian dictation component for typing and formatting document using a word processor software
Ellermann et al. Dragon systems' experiences in small to large vocabulary multi-lingual speech recognition applications.

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
LAPS Lapse due to unpaid annual fee