도 1은 자동 음성 인식을 실행하기 위한 종래의 시스템 및 방법을 나타낸다.
입력 음성은 마이크로폰(도 1에서 모듈 1)에서 전기적 신호로 변환되고, 아날로그-디지털 변환기(모듈 2)로 전송되어, 입력 음성이 디지털 신호로 변환된다. 예를 들어, 아날로그-디지털 변환기(모듈 2)는 10kHz의 샘플링 속도로 동작하고 16비트의 정밀도를 갖는다. 시장에서의 개인용 컴퓨터(PC) 대부분은 이러한 아날로그-디지털 변환기를 갖는다.
다른 배치에서, 음성 신호는 전화 접속이나 다른 통신 시스템(예를 들어, LAN 또는 WAN)을 통하여 송신되거나, 기록 장치에 공급될 수 있다.
디지털화된 음성 신호는 다음에 스펙트럼 분석기(모듈 3)에 공급되고, 음향 특성(acoustic feature)을 생성한다. 예를 들어, 스펙트럼 분석기(모듈 3)는 매 10 또는 20 msec 마다 한 번의 속도로 음향 특성을 생성한다. 음향 특성의 세트는, 예를 들어, 음성 인식 기술분야의 당업자들에게 알려진 바와 같이, 첫 번째 13-셉스트럼(cepstrum) 계수와 시간에 대해 이들의 첫 번째 및 두 번째 파생 셉스트럼으로 구성될 수 있다.
음향 특성의 시퀀스(sequence)는 다음에 음운(phonetic) 디코더(모듈 4)에 대한 입력을 형성하고, 이 음운 디코더는 이러한 입력을 음운 유닛을 나타내는 모델 세트에 대해 정합시키고, 그것에 의해 이러한 프로세스는 최종적으로 인식될 단어(words)와는 독립된다. 음운 디코더(모듈 4)를 구성하는 음운 유닛은 거의 언어의 음소(phoneme), 즉, 하나의 자음 및 모음에 대응할 수 있다. 종종, 분리 심벌(seperate symbol)은 몇몇 또는 전체 모음에서 강세의 다른 레벨로 사용된다.
일반적으로 사용될 수 있는 툴킷(toolkit)인 HTK는, 예를 들어, 음운 디코더를 구성하고, 훈련(training) 음성의 언어 자료에서 필요한 모델을 만드는데 사용될 수 있다. 이러한 툴킷은 다음의 인터넷 주소: http//htk.eng.cam.ac.uk로부터 인터넷 통하여 구입할 수 있고, S. J. Young 외에 의한 "The HTK Book"에 액세스도 제공한다. HTK는 적합한 스펙트럼 분석기의 일례도 제공한다.
음운 디코더(모듈 4)의 출력은 음소 형태의 유닛의 시퀀스로 된다. 몇몇 형태의 음성 디코더에 있어서, 출력은 하나의 시퀀스로 된 것보다 격자 모양의 음운 유닛에 해당하지만, 이하의 본 설명을 간단히 하기 위해 하나의 시퀀스로 된 것으로 가정할 것이다. 음성 인식의 자체의 어려움으로 인해, 음운 시퀀스는 통상 입력에 대한 정확한 음성 기록이 아니고, 어느 정도 이러한 기록에 유사한 오차가 있는 시퀀스이다.
도 1에서, 화자는 "James Smith"라고 마이크로폰(1)으로 소리는 내고, 음운 디코더(모듈 4)는 (정확한 음운 참조 /jh ey m z s m ih th/에 비해) 오차가 있는 시퀀스 /ch ey m s n ih/에 해당하는 출력이 된다.
발화에 해당하는 단어 또는 단어의 시퀀스를 결정하기 위해, 음운 디코더(모듈 4)로부터 출력된 음운 시퀀스는 입력에 대해 가능한 어휘 번역에 대응하는 참조 음운 시퀀스의 세트에 대하여 어휘 해석기(모듈 5)에서 정합된다. 기지의 대체 발음으로 맞추기 위해서, 하나 이상의 참조 음성 시퀀스가 특정 단어 또는 단어의 시퀀스를 나타내는데 사용될 수 있다. 도 2를 참조하면, 어휘 번역기(모듈 5)는 음운 디코더(모듈 4)로부터 출력된 음성 유닛(210)의 시퀀스를 수신한다. 어휘 번역기(모듈 5)는 음운 디코더(모듈 4)의 출력과 참조 리스트(230)로부터 얻은 참조 발음을 정합하는 정합 유닛(220)도 포함한다. 참조 리스트(230)는 대응하는 어휘 번역을 갖는 가능한 발음된 입력의 참조 발음 리스트를 포함한다. 정합 유닛(220)은 이것의 정합 결정을 하는데 정합 코스트 매트릭스(240)로부터 정보를 이용하기도 한다. 정합 유닛(220)은 어휘 출력(250)을 출력하여, 사용자에게 표시 모니터(모듈 6)에 표시를 위해 제공된다.
어휘 번역기에 의해 실행된 정합 프로세스는 음운 인식기(모듈 4)의 출력과 화자가 나타내려고 하는 어휘 시퀀스에 가장 근접하게 대응하는 참조 시퀀스 사이의 불일치를 허용해야 한다. 이들 불일치는 예상치 못한 발음 변형이나 음운 인식기(도 1에서 음운 디코더(모듈 4)에 해당하는 것)의 정밀성의 부족을 포함하는 다양한 원인으로부터 기인할 수 있다. 이들은 대응하는 참조 시퀀스에 관하여 음운 인식기로부터의 출력에 음운 유닛을 삽입, 삭제 또는 대체함으로써 이들 자체를 명확하게 할 수 있다.
그러한 불일치에서, 효율적인 정합 프로세스는 각각의 음운 유닛의 삽입 및 삭제의 확률과 각 쌍의 음운 유닛 사이의 대체의 확률에 대한 추정을 이용한다(음운 인식기에 의해 생성된 음운 유닛과 대응하는 참조 유닛이 동일할 확률을 포함). 다음에 동적 프로그래밍(dynamic programming, "DP") 문자열 정합 프로세스는 매 참조 시퀀스에 대한 정합 스코어를 얻기 위해 사용될 수 있고, 가장 많이 득점한 정합을 선택할 수 있다. 그러한 동적 프로그래밍 문자열 정합 프로세스는 J. B. Kruskal의 "An Overview of Sequence Comparison"과, 1983년 Addison-Wesley사에서 출판된 "Time Warps, String Edits and Macromolecules: the Theory and Practice of Sequence Comparison"에 기재되어 있다.
확률의 역 로그는 정합 프로세스에서 코스트로 나타나고 코스트 매트릭스로 표현된다. 삽입, 삭제 및 대체의 필요한 확률은 상술한 정합 프로세스를 이용하여, 대응하는 음운 참조 시퀀스를 알고 있는, 어휘로 기록된 훈련 요소로부터 반복적으로 추정될 수 있다.
예를 들어, 사용자는 인식할 시스템에서 사용하고자 하는데 정확한 철자(orthographic)의 기록은 알려져 있는 발화에 유사한 발화를 포함하는 훈련 요소의 언어 자료를 얻을 수 있다. 이러한 경우, 음운 디코더는 각각의 발화에 대응하는 인식 심벌의 시퀀스를 생성하는데 사용되고, 각각의 디코더 시퀀스는 대응하는 참조 시퀀스에 대해 정합된다. 참조 시퀀스에서 생겨나는 각종 심벌에 대해, 정합 프로세스가 각각의 디코더 시퀀스를 링크(link)하는 회수로 판정이 행해진다. 사용자는 디코더 심벌이 각각의 참조 심벌에 할당되지 않은 회수와 각 디코더 심벌이 어느 참조 심벌에 할당되지 않은 회수를 셀 수도 있다. 이들 회수는 할당과 삭제 확률을 계산하는데 필요한 정보를 제공하여, 이 확률에 로그를 취함으로써 페널티 값(penalty value)으로 변환된다.
페널티를 얻기 위해 필요한 확률을 이끌어 내는 정렬을 생성하기 위해 사용되는 정합기(matcher)가 동작하기 위해서는 페널티 세트가 필요하다. 이에 대하여, 사용자는 반복적으로 하여 최적 페널티의 추정을 개선할 수 있다. 예를 들어, 절차는 각 디코더 음소 심벌이 확률 P1로 동일한 음소에 대응하는 참조 심벌의 세트와 연계되고 디코더 음소 심벌과 참조 음소 심벌 사이의 그 밖의 모든 연계는 더 낮은 확률 P2로 연계되는 매우 간단한 페널티 세트로 시작된다. 양 세트에서 모든 심벌에 P2와 같을 수 있는 확률 P3으로 삭제할 수 있다고 가정한다.
P1에 대한 합리적인 초기값은 0.6으로 할 수 있다. 확률은 합계가 1이 되어야하기 때문에, P2는 디코더 심벌(N)의 수로 나누어진 0.4가 되며, P3=P2로 가정한다. 0.6 값은 디코더 심벌 중에서 하나에 대응하기 때문에, 나머지 심벌(N-1)에 삭제 가능성(1)을 더한 수에 의해 나누어진다.
동적 프로그래밍 문자열 정합 프로세스는 원칙적으로 발화된 입력이 참조 리스트에서 각 시퀀스에 대응하는 것으로 추정하는 우도(likelihood)의 완전한 세트를 제공할 수 있다. 디코더에 의해 생성된 임의의 심벌은 어떤 페널티 코스트로 참조 세트에서 임의의 심벌과 연계될 수 있고, 참조 및 디코더 시퀀스 모두에서의 임의의 심벌은 정해진 페널티 코스트로 무시(즉, 삭제)될 수 있다. DP 정합 프로세스는 임의의 주어진 디코더 시퀀스와 임의의 하나의 주어진 참조 시퀀스에 대하여 2개의 시퀀스를 링크하는데 필요한 최저의 전체 페널티 코스트를 검색하고, 어떤 심벌을 무시하고 어떤 것을 연계할지 선택한다. 이러한 프로세스의 유일한 주요 제약은 각각의 시퀀스에서 심벌의 순서가 변경될 수 없다는 것이다.
개념적인 예로, 음운 디코더의 출력이 시퀀스 A, B인 것을 가정하고, 참조 시퀀스 C, D와 비교한다고 가정하자. 가능한 배열 중 하나는, A와 C 및 B와 D를 연계하는 것이다. 또는, 이들 2개의 연계의 페널티는 높지만, B와 C의 연계의 페널티는 낮은 경우, 최저의 전체 페널티 연계는 A와 어느 정도의 삭제 코스트로 삭제되는 D, 및 B와 어느 정도 낮은 연계 코스트로 연계되는 C로 결정될 수 있다. DP 정합은 재정리를 허용하지 않기 때문에 B는 C와 연계되고 A는 D와 연계된다(역으로 동작하는데 시간이 필요하다).
비교 프로세스가 어떻게 작동하는지를 나타내는 일례를 아래에 설명하고, 도 1에 나타낸 "James Smith" 발화를 사용한다. 다른 실시예에 관한 상술한 James Smith에 대응하는 참조 시퀀스의 표기법은
/ JH EY M Z S M IH1 TH / 이다.
이제, 다음의 표기법으로 주어지는 "Jane Smythe"에 대응하는 다른 유사한 참조 시퀀스가 존재한다고 가정한다.
/ JH EY N S M AY DH /
음운 디코더(4)로부터의 타당한 출력으로는
/ CH EY N S N IH TH S / 가 될 수 있다.
이러한 대표적인 예에서, 아래에 제시된 표 1과 표 2는 DP 정합기가 2개의 이름에 대한 음운 디코더 출력의 최저 페널티 코스트 배열로서 검색한 것을 나타낸다.
[표 1] "James Smith"로 된 디코더 시퀀스의 번역
디코더 |
CH |
EY |
N |
del |
S |
N |
IH |
TH |
S |
참조 |
JH |
EY |
M |
Z |
S |
M |
IH |
TH |
del |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
[표 2] "Jane Symthe"로 된 디코더 시퀀스의 번역
디코더 |
CH |
EY |
N |
|
S |
N |
IH |
TH |
S |
참조 |
JH |
EY |
N |
|
S |
M |
AY |
DH |
del |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
1열에서, 디코더 심벌 CH는 양 정합에서 참조 심벌 JH와 연계된다. 음소 / CH / 와 / JH / 는 음향적으로 상당히 유사하여, 페널티는 크지 않고, 어떤 경우에서도 양 배열에 동일하게 적용된다. 2열에서의 배열도 그 자체의 음소로 연계되기 때문에 낮은 페널티를 갖는다. 페널티는 로그 확률에 대응하기 때문에 실제로 영(zero)가 되지 않고, 정확하게 인식된 임의의 음소는 100%가 되지 않는다. 3열에서, 디코더 심벌 / N / 은 James Smith 경우에 대해서는 / M /과 연계되고 Jane Smythe 경우에는 / N / 과 연계된다. Jane Smythe 추측은 여기서 낮은 페널티를 초래하지만, 다분히 / M / 과 / N / 이 혼동되기 쉽다는 것 때문은 아니다. 4열에서 James Smith 추측은 디코더가 / Z / 를 검출하는데 실패한 것으로 가정해야하기 때문에 페널티를 초래한다(실제로 이 문맥에서 확실하게, / S / 가 이어지지만, DP는 이 문맥에 대해 알지 못하고 표준 삭제 페널티를 적용할 것이다). 4열은 단지 Jane Smythe 추측에 대한 플레이스홀더(placeholder)로 어떠한 페널티도 초래하지 않는다. 5, 6열에 대한 것은 생략하고, 7열에서 디코더 시퀀스에서의 모음 / IH /는 James Smith 참조 시퀀스에서 대응하는 모음 / IH /에 정합되고 Jane Smythe 참조 시퀀스에서 다른 모음 / AY /에 정합된다. / IH /와 / AY /를 연계하는데 지불 되는 페널티는 2개의 모음이 음향적으로 매우 다르기 때문에 커지기 쉽다. 이는 Jane Smythe 추측이 다른 모든 곳에서 같거나 더 좋은 스코어를 얻고 있지만 James Smith 추측이 더 좋은 전체 스코어를 갖는 것을 잘 나타낸다. 8열은 3열과 같다. 마지막으로, 9열은 발화의 마지막에서 디코더에 의해 무성음의 마찰음으로 잘못 번역되는 적은 양의 노이즈가 존재할 때 종종 나타나는 것을 나타낸다. 양쪽 추측은 이것을 무시하기 위해 삭제 페널티를 행해야 한다.
통상, 하나의 최적의 정합 가능한 단어 시퀀스는 어휘 번역기(모듈 5)에 의해 선택될 것이다. 어떤 다른 배열에서, 최고 N 정합 발화가 선택될 수 있으며, 여기서 N은 소정의 정수이거나 정합의 상대적인 질(quality)에 대한 기준에 근거한 것이다. 간단하게, 단지 하나의 최적의 정합의 출력은 아래와 같이 고려된다. 예를 들어, 어휘 번역기(모듈 5)의 출력은 아스키(ASCII) 문자와 같은 단어에 대응한다.
본 발명에 따르면, 어휘 번역은 간단히 가시적으로 표시(예를 들어, PC의 모니터를 통하여)되거나 문자 음성 합성기(text-to-speech synthesizer)를 사용하여 음성으로 다시 변환되거나, 연계 정보(예를 들어, 데이터 베이스로부터 얻어짐) 검색에 사용되거나, 다른 동작을 제어하기 위해 사용될 수 있다. 도 1에 나타낸 배열에서, 발화는 "James Smith" 이름으로 구성되고, 출력은 이름과 함께 연계 전화 번호("James Smith"와 전화 번호 613 929 1234를 연계하는 데이터 베이스로부터 얻어짐)로 구성된다. 2가지 정보는 디스플레이 모니터(모듈 6)로 전송된다.
도 1에서 모듈 3, 4, 5는 일반적 사용의 컴퓨터에서 프로그램으로 구현될 수 있다.
도 1에 나타낸 시스템은 정상적으로 동작할 수 있다 하더라도, 모든 음성 인식 시스템은 때때로 오동작을 하게 된다. 오동작률은 어휘의 크기와 혼동가능성, 음향 신호의 질 등과 같은 요인으로 증가한다. 이는 어떤 적용하려는 응용에 있어서 음성 인식 시스템을 실행 불가능하게 할 수 있다. 또한, 보다 신속하게 응답하거나 소형이나, 저가의 처리 하드웨어 양쪽 모두에서 기능하는 음성 인식 시스템을 갖는 것이 언제나 바람직하다.
본 발명은 도 1에 나타낸 것과 유사한 구조를 갖는 시스템의 정확성을 증대시키고 연산 부하를 감소시켜서, 더 빠른 응답 또는 덜 강력한 처리 하드웨어의 사용을 가능케 한다.
본 발명을 도면을 참조하여 아래에 설명한다. 이들 도면은 본 발명의 시스템과 방법 및 프로그램을 실행하는 구체적인 실시예를 매우 상세하게 설명한다. 그러나, 도면으로 본 발명을 설명하는 것이 본 발명에 대하여, 도면에 나타날 수 있는 어떠한 제한을 가하는 것으로 해석되어서는 안 된다. 본 발명은 임의의 컴퓨터 판독가능한 미디어(media)에 대해 이것의 동작을 수행하기 위한 방법, 시스템 및 프로그램 제품을 의도한다. 본 발명의 실시예는 현존하는 컴퓨터 프로세서, 또는 이러한 목적이나 다른 목적을 위해 일체화된 특수 목적의 컴퓨터 프로세서 또는 하드웨어에 내장된 시스템을 사용하여 실행될 수 있다.
상술한 바와 같이, 본 발명의 범위 내의 실시예는 컴퓨터 실행가능한 명령을 담지하거나 갖는 컴퓨터 판독가능한 미디어 또는 거기에 저장된 데이터 구조를 포함하는 프로그램 제품을 포함한다. 이러한 컴퓨터 판독가능한 미디어는 일반적 목적이나 특수 목적의 컴퓨터에 의해 액세스 될 수 있는 임의의 이용가능한 미디어일 수 있다. 예를 들어, 이러한 컴퓨터 판독가능한 미디어는 RAM, ROM, EPROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장 장치, 자기 디스크 또는 다른 자기 저장 장치, 또는 컴퓨터 실행가능한 명령 또는 데이터 구조의 형태로 소정의 프로그램 코드를 담지하거나 저장될 수 있고 일반적 목적 또는 특수 목적의 컴퓨터에 의해 액세스 될 수 있는 임의의 미디어를 포함할 수 있다. 정보가 네트워크 또는 다른 통신 접속(배선 연결, 무선, 또는 배선 연결과 무선의 조합)을 통하여 컴퓨터에 전송되거나 제공될 경우, 컴퓨터는 접속을 컴퓨터 판독가능한 미디어로서 적절히 나타낸다. 그러므로, 임의의 이러한 접속을 컴퓨터 판독가능한 미디어라고 한다. 상기의 조합도 컴퓨터 판독가능한 미디어의 범위에 포함된다. 컴퓨터 실행가능한 명령은 예를 들어, 일반적 목적 컴퓨터, 특수 목적 컴퓨터, 또는 특수 목적 프로세싱 장치가 특정 기능이나 기능 그룹을 실시하게 하는 명령이나 데이터를 포함한다.
본 발명은 하나의 실시예에서 프로그램 코드 등과 같은 네트워크 환경에서 컴퓨터에 의해 실행되는 컴퓨터 실행가능한 명령을 포함하는 프로그램 제품에 의해 실행될 수 있는 방법 단계의 일반적인 상황에 대해 설명한다. 일반적으로, 프로그램 모듈은 특정의 태스크(task) 또는 특정의 추상적인 데이터형을 실행하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능한 명령, 연계 데이터 구조, 및 프로그램 모듈은 개시된 방법의 실행 단계에 대한 프로그램 코드의 예를 나타낸다. 이러한 실행가능한 명령 또는 연계 데이터 구조의 특정 시퀀스는 이러한 단계에 설명된 기능을 실행하기 위한 해당 동작의 예를 나타낸다.
몇몇 실시예에서의 본 발명은 프로세서를 갖는 하나 이상의 원격 컴퓨터에 논리적인 접속을 이용하는 네트워크 환경에서 동작될 수 있다. 논리적인 접속은 여기에 예로 나타낸 근거리 통신망(LAN)과 광대역 통신망(WAN)을 포함하며 이에 제한되지는 않는다. 당업자는 이러한 네트워크 환경이 개인용 컴퓨터, 포켓용 장치, 멀티 프로세서 시스템, 마이크로프로세서 기반 또는 프로그래머블(programmable) 소비자 전자장치, 네트워크 PC, 소형 컴퓨터, 메인프레임(mainframe) 컴퓨터 등을 포함하는 각종 컴퓨터 시스템 구성을 일반적으로 포함한다는 것을 이해할 것이다. 본 발명은 태스크가 통신 네트워크를 통하여 링크(배선 연결 링크, 무선 링크에 의하거나, 배선 연결 링크 또는 무선 링크의 조합)되는 근거리 및 원격 프로세싱 장치에 의해 행해지는 분포된 컴퓨팅 환경에서 실행될 수도 있다.
본 발명의 전체적인 시스템 또는 부분을 실시하기 위한 예시적인 시스템은 종래 컴퓨터의 형태인 프로세싱 유닛, 시스템 메모리, 및 시스템 메모리와 프로세싱 유닛을 포함하는 각종 시스템 구성 요소를 결합하는 시스템 버스를 포함하는 일반적 목적 컴퓨팅 장치를 포함할 수 있다. 시스템 메모리는 롬(ROM)과 램(RAM)을 포함할 수 있다. 컴퓨터는 자기 헤드 디스크에 판독하고 기입하는 자기 헤드 디스크 드라이브, 이동형 자기 디스크에 판독하고 기입하는 자기 디스크 드라이브, 및 CD-ROM이나 다른 광학 미디어 등과 같은 이동형 광학 디스크에 판독하고 기입하는 광학 디스크 드라이브를 포함할 수도 있다. 드라이브와 이들과 연계된 컴퓨터 판독가능한 미디어는 컴퓨터 실행가능한 명령, 데이터 구조, 프로그램 모듈 및 다른 컴퓨터용 데이터의 비휘발성 저장을 제공한다.
다음의 용어는 본 발명의 설명에 사용될 수 있고 새로운 용어와 특수한 의미가 부여된 용어를 포함한다.
"언어 구성 요소"(Linguistic element)는 문자 또는 음성 언어의 유닛이다.
"음성 구성 요소"(Speech element)는 연계 이름을 갖는 음성의 간격이다. 이름은 음성의 간격 동안 발음된 단어, 음절 또는 음소이거나, 음성의 간격 동안 들리는 음에 대한 시스템의 표식을 나타내는 자동으로 생성된 음운 심벌 등과 같은 추상적인 심벌일 수 있다.
본 발명에서 사용된 "프레임"(Frame)은 주어진 시스템 또는 하위 시스템에 의해 분석된 가장 짧은 시간 유닛인 시간의 고정 또는 가변 유닛이다. 프레임은 스펙트럼 신호 처리가 10㎳마다 실행되는 시스템에서 10㎳와 같이 고정 유닛으로 될 수 있거나, 음소 인식기가 특정 인식된 음소 또는 음운 세크먼트와 연계되는 추정 피치(estimated pitch) 주기 또는 간격 등과 같은 데이터 의존 가변 유닛으로 될 수 있다. 종래 기술의 시스템에 반해, "프레임" 용어의 사용은 시간 유닛이 고정 간격이거나 동일한 프레임이 주어진 시스템의 모든 하위 시스템에서 사용되는 것을 의미하지는 않는다.
"스코어"(score)는 주어진 추측이 몇몇 관측 세트에 얼마나 잘 정합되는지의 수치이다. 특정 실행에서 관례를 따라, 더 나은 정합은 높은 스코어(확률이나 확률의 로그 등)로 나타내거나 낮은 스코어(음의 로그 확률이나 스펙트럼 디스턴스 등)로 나타낼 수 있다. 스코어는 양이거나 음일 수 있다. 스코어는 또한, 문장에서 단어 시퀀스의 선험적 확률(priori probability) 등과 같이, 주어진 추측과 연계된 언어 구성 요소의 시퀀스의 상대적 우도의 측정을 포함할 수 있다.
"동적 프로그래밍 정합 스코어링"은 네트워크 또는 모델의 시퀀스와 동적 프로그래밍을 이용한 음향 관측 사이의 정합의 정도를 산출하는 프로세스이다. 동적 프로그래밍 정합 프로세스는 2개의 음향 관측 시퀀스를 정합시키거나 시간적 배열시키는데 사용되거나, 2개의 모델 또는 네트워크를 정합시키는데 사용될 수 있다. 동적 프로그래밍 계산은 예를 들어, 네트워크를 통하여 가장 높은 스코어링 경로를 검색하는데 사용될 수 있거나, 네트워크를 통하여 모든 경로의 확률의 합산을 검색하는데 사용될 수 있다. "동적 프로그래밍" 용어의 종래 사용은 변하고 있다. 때때로 "최적 경로 정합"을 구체적으로 의미하는데 사용되곤 하지만 본 특허의 목적에 맞는 그것의 사용은 "최적 경로 정합", "경로 합산 정합" 및 그에 근사값을 포함하는 관련 계산 방법의 더 넓은 계층을 포함한다. 음향 관측의 시퀀스에 대한 모델의 시간 배열은 정합 스코어의 동적 프로그래밍 계산의 부작용으로서 일반적으로 유용하다. 동적 프로그래밍은 2개의 모델 또는 네트워크 사이(모델과 관측의 시퀀스 사이 보다)의 정합의 정도를 계산하는데 사용될 수도 있다. 스펙트럼 디스턴스(distance) 등과 같은 모델 세트에 의거하지 않는 디스턴스 측정이 주어지면, 동적 프로그래밍은 음성 구성 요소의 2개의 인스턴스(instance)를 정합하고 바로 시간 배열하는데 사용될 수도 있다.
"문장"(Sentence)은 음성의 간격이나 검색 또는 추측 추정에 대한 완료된 유닛으로서 처리되는 음성 구성 요소의 시퀀스이다. 일반적으로, 음성은 무음(無音)의 간격 등과 같은 음향 기준을 사용하는 문장 길이 유닛으로 분해된다. 그러나, 문장은 무음의 내부 간격을 포함할 수 있고, 다른 한편으로, 음성은 무음의 간격이 없어도 문법적 기준으로 인해 문장 유닛으로 분해될 수 있다. 문장이라는 용어는 또한 음성이 데이터 베이스 기재 등과 같이 문장의 문법적 형태를 갖지 않거나, 시스템이 어구와 같이 종래의 문장보다 짧은 구성 요소를 완료된 유닛으로 분석하는 상황에서 검색이나 추측 추정에 대한 완료된 유닛으로 언급하는데 사용된다.
"음소"(Phoneme)는 발화된 언어에서 음의 단일 유닛이고, 대략 문자 언어에서 문자에 해당한다.
"음운 표식"(Phonetic label)은 특정 음성 간격 동안 발생하는 음에 따른 인식 시스템의 선택을 나타내는 음성 인식 시스템에 의해 생성된 표식이다. 가능한 음운 표식의 알파벳은 보통 음소의 알파벳과 동일하도록 선택되지만, 이들이 동일할 필요는 없다. 몇몇 시스템은 한편으로는 음소 또는 음운 표식과 다른 한편으로는 단음(phone)과 음운 표식 사이를 구분할 수 있다. 엄밀히 말하면, 음소는 언어적 추상 개념이다. 사전에서 얻은 것과 같이, 단어가 어떻게 발음되는지를 가정하여 나타내는 음 표식(sound label)은 음소 표식이 된다. 단어의 특정 인스턴스가 특정 화자에 의해 어떻게 표현되는지를 나타내는 음 표식이 음운 표식이다. 그러나, 2개의 개념은 서로 섞여서 몇몇 시스템은 이들 사이에 구분을 두지 않는다.
"스포팅"(Spotting)은 하나 이상의 인접한 음성 구성 요소를 먼저 인식할 필요없이 음성의 간격으로 음성 구성 요소에 대한 모델과 음향 관측 사이의 양호한 정합의 인스턴스를 바로 검출함으로써 음성 구성 요소 또는 음성 구성 요소의 시퀀스의 인스턴스를 검출하는 프로세스이다.
"모델링"(Modeling)은 주어진 음성 구성 요소의 시퀀스가 주어진 음성 구성 요소에 대한 모델 세트가 어떻게 주어진 관측을 생성하였는지 계산하여 일반적으로 얼마나 잘 주어진 관측 세트와 정합하는지 수치를 구하는 프로세스이다. 확률 모델링에서, 추측의 추정은 모델에서 확률 값에 의해 특정지어진 랜덤 프로세스에서 관측의 주어진 세트를 생성하는 주어진 요소의 시퀀스의 확률을 추정함으로써 계산될 수 있다. 신경망 등과 같은 다른 형태의 모델은 모델을 확률 분석과 명백하게 연계하지 않고 정합 스코어를 바로 계산하거나, 이들은 연계된 생성 확률 처리(generative stochastic process)를 하지 않고 선험적 확률 분포를 경험상으로 추정할 수 있다.
"훈련"(training)은 구성 요소의 ID(identity)를 알거나 안다고 가정한 샘플 세트로부터 모델의 파라미터 또는 충분한 통계 자료를 추정하는 프로세스이다. 음향 모델의 관리된 훈련에서, 음성 구성 요소의 시퀀스의 번역은 알거나, 화자가 알고 있는 문서로부터 읽은 것이다. 관리되지 않은 훈련에서, 알고 있는 문서가 없거나, 확인되지 않은 인식으로부터 이용가능한 것 이외의 번역이다. 반관리된(semi-supervised) 훈련의 하나의 형태에서, 사용자는 명백하게 분석된 번역을 갖지 못할 수 있지만, 오류 정정을 할 기회가 있을 때 하지 않아서 상당히 함축적으로 될 수 있다.
"음향 모델"(Acoustic model)은 음향 관측과 주어진 음성 구성 요소의 시퀀스를 생성하는 모델이다. 음향 모델은, 예를 들어, 숨겨진 확률적 프로세스의 모델일 수 있다. 숨겨진 확률적 프로세스는 음성 구성 요소의 시퀀스를 생성하고 각각의 음성 구성 요소에 대해서는 영 또는 그 이상의 음향 관측의 시퀀스를 생성할 수 있다. 음향 관측은 주파수와 시간의 함수로서의 진폭 등과 같은 음향 파형으로부터 얻어진 (연속)물리적 측정이거나, 음성 압축에서 사용되는 것과 같은 벡터 양자화기(quantizer)에 의해 제작되는 것이나 음운 인식기의 출력 등과 같은 표식의 이산 유한 세트의 관측일 수 있다. 연속 물리적 측정은 일반적으로 가우스 분포나 혼합 가우스 분포 등과 같은 파라미터 확률 분포의 몇몇 형태에 의해 모델링 될 수 있다. 각각의 가우스 분포는 각각의 관측 측정과 공분산(covariance) 매트릭스에 의해 특징지어질 수 있다. 공분산 매트릭스가 대각선 행렬이라고 가정할 경우, 다중 분산(multi-variant) 가우스 분포는 각각의 관측 측정의 평균과 분산으로 특징 지어질 수 있다. 표식의 유한 세트로부터 관측은 일반적으로 비모수(non-parametric) 이산 확률 분포일 수 있다. 그러나, 음향 모델의 다른 형태를 사용할 수 있다. 예를 들어, 정합 스코어는 신경망을 사용하여 계산될 수 있어, 선험적 확률 추정에 근접하기 위해 훈련되거나 그렇지 않을 수 있다. 또한, 스펙트럼 디스턴스 측정은 기본적인 확률 모델 없이 사용될 수 있고, 또는 확률 추정보다 퍼지 논리가 오히려 사용될 수 있다.
"언어 모델"(Language model)은 문법이나, 특정 음성 구성 요소에 대해 영 또는 그 이상의 언어 구성 요서의 문맥의 값들이 주어진 특정 언어 구성 요소의 확률에 대한 통계적 모델을 조건으로 하는 언어 구성 요소의 시퀀스를 생성하는 모델이다.
"일반적 언어 모델"(General Language Model)은 순수 통계적 언어 모델, 즉, 명백한 문법이나, 명백한 문법을 포함하고 또한 통계적 구성 요소를 가질 수 있는 문법 기반의 언어 모델일 수 있다.
"문법"(Grammar)은 단어 시퀀스나 문장이 적법한(또는 문법적인) 단어 시퀀스인 형식적인 내역이다. 문법적 내역을 실행하는 많은 방법이 있다. 문법을 구체화하는 하나의 방법으로는 언어학과 컴퓨터 언어용 컴파일러의 기자(記者)에게 잘 알려진 형태의 다시 쓰기 규칙(rewrite rule)의 세트에 의한 것이다. 문법을 구체화하는 다른 방법으로는 상태 공간(state-space)이나 네트워크가 있다. 네트워크에서 상태 공간 또는 노드의 각각의 상태에 대해, 어떤 단어나 언어 구성 요소가 시퀀스에서 다음의 언어 구성 요소가 되게 한다. 이러한 단어 또는 언어 구성 요소 각각에 대해, 시스템의 상태가 다음 단어(아크(arc)의 마지막에서 노드에 이어지는 아크(following arc)로 부름)의 마지막에 있는지의 내역(네트워크에서 표식된 아크로 부름)이 있다. 문법적 표현의 세 번째 형태로는 적법한 문장의 데이터 베이스가 있다.
"확률적 문법"(stochastic grammar)은 언어 구성 요소의 적법한 시퀀스 각각의 확률의 모델을 또한 포함하는 문법이다.
"순수 통계적 언어 모델"(Pure statistical language model)은 문법적인 성분이 없는 통계적 언어 모델이다. 순수 통계적 언어 모델에서, 일반적으로 모든 가능한 언어 구성 요소의 시퀀스는 영이 아닌 확률을 갖는다.
"엔트로피"(Entropy)는 확률 분포에서의 정보량이나 연계 랜덤 변수의 이론적 측정의 정보이다. 일반적으로 다음의 공식으로 주어진다.
E = ∑i pi log(pi), 여기서 로그는 2 베이스이고 엔트로피는 비트(bit) 단위로 측정된다.
분류 시스템에서의 "분류 태스크"(Classification Task)는 대상 부류(class)의 세트의 구분이다.
도 1에 나타낸 시스템에서, 음운 인식기(도 1에서 모듈 4)에 의해 생성된 심벌 세트와 참조 세트(도 1에서 어휘 번역기(모듈 5)에 의해 이용됨)로 사용된 것 사이는 1대1 대응된다. 상술한 바와 같이 본 발명의 제 1 실시예에 따르면, 도 2에 나타낸 바와 같이 종래의 어휘 번역기(모듈 5) 대신에, 도 3에 나타낸 어휘 번역기(모듈 5')를 사용하지만, 그러한 1대1 대응은 없다.
도 3에 나타낸 바와 같이, 어휘 번역기(모듈 5')는 음운 디코더(모듈 4)(도 1 참조)로부터 출력된 음운 유닛(210)의 시퀀스를 수신한다. 어휘 번역기(모듈 5')는 또한 음운 디코더(모듈 4)의 출력과 참조 리스트(330)으로부터 얻은 참조 발음을 정합하는 정합 유닛(320)을 포함한다. 제 1 실시예에서, 참조 리스트(330)는 가능한 발화 입력의 참조 발음과 대응하는 어휘 번역의 리스트뿐만 아니라 추가적인 정보(도 2에 나타낸 참조 리스트(230)에는 포함되지 않음)를 포함한다. 정합 유닛(320)은 또한 정합 결정을 하는데 정합 코스트 매트릭스(340)로부터 정보를 이용함으로써, 정합 코스트 매트릭스(340)는 도 2에 나타낸 바와 같이 정합 코스트 매트릭스(240)에 포함되지 않는 추가적인 정보를 포함하게 된다. 정합 유닛(320)은 어휘 출력(350)을 출력하여, 사용자에게 표시하기 위해 디스플레이 모니터(모듈 6)에 공급된다(도 1 참조).
특히 참조 리스트(330) 및 정합 코스트 매트릭스(340)와 관련하여, 미국식 영어와 다른 언어의 단어에서 모음은 이들의 강세 할당에 따라 다를 수 있다. 예를 들어, 명사 "허가"(permit)는 첫 번째 모음에 강세가 있고 두 번째 모음에는 강세가 없으며, 반면 동사 "허가하다"(permit)의 경우에는 반대의 할당을 갖게 된다. 일반적으로, 2개 또는 3개의 강세 레벨이 단어의 강세 패턴을 설명하는데 사용된다. 3개의 레벨의 경우에 있어서, 이들은 보통 "주요 강세"(primary stress), "제 2 강세"(secondary stress), "강세 없음"(unstressed)으로 표식된다.
음운 인식기를 포함하는 음성 인식기는 일반적으로 모든 모음 유닛에서 강세 레벨 사이에 구별을 하려고 하지 않는다. 이는 어떤 환경에서는 확실하게 모음의 강세 레벨을 분간하는 것이 어렵기 때문이다. 강세는 모음의 상대적인 소리 강도와 상대적인 기간과 상대적 피치(pitch)에 주로 연관되고, 이 모두는 음운 식별에 사용되는 스펙트럼의 일반적 형상보다 결정하기가 더욱 어려울 수 있다.
제 1 실시예에서는, 다중 강세 레벨은 음소의 참조 표현(representation)에 사용되는 추가적인 정보로 제공되고(참조 리스트(330)에 저장되어 있음), 또한 최적의 정합을 결정하기 위한 어휘 번역기(모듈 5')에 의해 사용되는 정합 코스트 매트릭스(340)에 추가적인 정보로 된다. 일 실시예에 따르면, 정합 코스트 매트릭스(340)는 음운 번역들 사이의 혼동의 확률을 부호화하고, 모음의 경우에 이것들은 강세 레벨에 좌우될 수 있다. 낮은 레벨의 강세를 갖는 특정 모음은, 예를 들어, 분명하게 삭제되기에 더 쉬워질 것이다(화자가 이것을 발음하지 않거나 이것을 더 짧게 발음하고 작게 소리 내어 결과적으로 음운 인식기(모듈 4)가 이것을 검출하는데 실패하기 때문). 표 3에 나타낸 바와 같이, 강세 없는 모음은 일반적으로 대응하는 강세가 있는 모음보다 정확하게 인식하는 것이 어렵다.
더욱 상세하게는, 표 3은 본 발명의 제 1 실시예에 따른 어휘 번역기(모듈 5')에 의해 사용되는 정합 코스트 매트릭스(340)에 제공되는 참조 발음(가로줄)에서 특정 모음에 대응하는 음운 디코더(모듈 4)(세로줄)로부터의 출력된 모음 심벌을 관측하는 추정된 확률의 세트의 일례를 나타낸다. 음운 디코더(모듈 4)로부터 출력된 모음 심벌은 강세 레벨이 없는 반면, 참조 발음에 있는 것(참조 리스트(330)에 저장되어 있는 것)은 주요 강세(1), 제 2 강세(2) 또는 강세 없음(0)를 의미하는 첨부된 숫자(digit)를 갖는다. 모음 ID가 일치되는(즉, 모음이 정확하게 인식된) 셀(cell)은 표 3에서 굵은 활자로 나타낸다. 이들 확률은, 합리적으로 신뢰성 있는 인식기에서 예상되는 바와 같이, 일치되지 않는 모음과 관련된 셀에서의 값보다 크게 된다. 주요 강세를 갖는 참조 모음은 대응하는 강세 없는 모음보다 더 높은 정확한 인식 확률을 갖는 경향이 있는 반면, 제 2 강세를 갖는 모음은 일반적으로 중간 정도의 확률을 갖는다. 확률이 로그 확률로 변화된 표 3은 제 1 실시예에 따른 어휘 번역기(모듈 5')에 의해 사용되는 정합 코스트 매트릭스(340)의 일부분을 형성하는데 사용될 수 있다. 표 3에서의 정보는 본 발명자에 의해 실행된 실험 테스트로부터 얻어졌다.
[표 3]
|
AA |
AE |
AO |
AW |
AY |
AA0 |
0.175
|
0.080 |
0.163 |
0.030 |
0.028 |
AA1 |
0.653
|
0.041 |
0.036 |
0.019 |
0.009 |
AA2 |
0.526
|
0.055 |
0.144 |
0.020 |
0.014 |
AE0 |
0.043 |
0.210
|
0.009 |
0.022 |
0.014 |
AE1 |
0.022 |
0.683
|
0.004 |
0.013 |
0.05 |
AE2 |
0.040 |
0.452
|
0.008 |
0.018 |
0.013 |
AO0 |
0.061 |
0.024 |
0.189
|
0.044 |
0.016 |
AO1 |
0.136 |
0.009 |
0.464
|
0.014 |
0.001 |
AO2 |
0.112 |
0.012 |
0.408
|
0.038 |
0.014 |
AW0 |
0.074 |
0.033 |
0.029 |
0.147
|
0.029 |
AW1 |
0.026 |
0.015 |
0.011 |
0.756
|
0.003 |
AW2 |
0.058 |
0.018 |
0.019 |
0.682
|
0.004 |
AY0 |
0.018 |
0.076 |
0.007 |
0.004 |
0.403
|
AY1 |
0.004 |
0.010 |
0.001 |
0.001 |
0.865
|
AY2 |
0.009 |
0.022 |
0.004 |
0.004 |
0.527
|
어떻게 사용되는지를 살펴보면, 고유 명사 "Ackloff"와 "Ocklaff"를 포함하는 참조 리스트를 생각해보자, 이들의 각각 발음은 / AE1 K L AA0 F /와 / AA1 K L AE0 F / 로 표현될 수 있다. 강세를 무시하는 종래의 정합 프로세스는 두 개의 정합이 하나의 대입 즉, / AA /에서 / AE /으로의 대입만을 요구할 것이기 때문에, 그 출력은 양쪽의 참조 가능성이 동일하게 잘 정합되었음을 검색할 것이다. 그러 나, 강세를 고려할 경우, / AA /를 / AEO / (확률 = 0.043)으로 대입하려고 요구하기 때문에 "Ocklaff"는가 더 가능성 있는 번역인 반면, "Ackloff" 번역은 / AA /를 / AE1 / (확률 = 0.022)로 대입하려고 요구할 것이다.
본 발명에 따른 어휘 번역기의 제 2 실시예를 아래에 설명한다. 발화된 단어는 음절로 나누어질 수 있고, 음절은 모음 앞에 발생하는 영, 또는 하나 이상의 자음(모음 직전에 오는 자음)과 모음 뒤에 발생하는 영, 또는 하나 이상의 자음(모음 바로 뒤에 이어지는 자음)을 갖는 하나의 모음을 포함한다. 많은 출판된 사전은 발음을 표시하는 부분으로서 음절 경계를 나타낸다. 음절 경계의 정확한 배치를 위해 다각적인 기준이 있고, J. C. Wells의 "The English phonemic system and its notation: Syllabification", 1990년 Longman Group UK Ltd.에 의해 출판된 "The Longman Pronunciation Dictionary", pp. xiv-xvi, 를 예로 들 수 있으며, 음절 경계가 발생하는 위치에 대한 모든 경우에 있어서 전문가들이 동의하지 않는 경우도 있다. 음절 경계는 음운 정합 프로세스를 보조하기 위해 사용될 수 있고, 음절 경계의 사용은 제 2 실시예에 따른 어휘 번역기(모듈 5')에 의해 실행되는 어휘 번역 프로세스에 보조하기 위해 이용된다.
몇몇 자음은 이들의 모음 전/후(prevocalic and postvocalic) 형태와 다르게 구형된다는 것이 잘 알려져 있다. 예를 들어, S. Greenberg의 "Speaking in Shorthand - A Syllable-Centric Perspective for Understanding Pronunciation Variation", 1998년 Kekrade에 의해 출판된 자동 음성 인식을 위한 발음 변화 모델링에 관한 ESCA Workshop의 학회지, pp. 47-56, 를 참조한다. 이것에 관하여, 파 열음의 자음 /t/는 보통 모음 전 위치(예를 들어, "stem", "top")에서보다 모음 뒤 위치에서 상당히 약하게 발음될 수 있다. 때로는, 모음 뒤의 /t/의 음향 흔적이 분명하지 않다. 이들 차이의 결과로, 음운 디코더(모듈 4)에 의해 생성된 음운 시퀀스에 모음 뒤 /t/가 나타나지 않을 확률은 모음 전의 /t/에서보다 상당히 크게 된다. 이러한 정보는 제 2 실시예에 따른 어휘 번역기(모듈 5')에 의해 이용되는 참조 리스트(330) 내의 참조 발음 fltmxm에 저장된다.
제 2 실시예에서, 자음은 참조 음운 표현(참조 리스트(330)에 저장되어 있음)에 모음의 전/후(예를 들어, 첨부된 ASCII 심벌이나 심벌을 통하여)로서 표시되고, 이 구별은 음운 인식기(모듈 4)가 동일한 구별을 하지 않고 정합 코스트 매트릭스(340)(어휘 번역기(모듈 5')에 의해 사용됨)에 나타난다.
표 4는 미국식 영어에서 무성 파열음의 자음의 상술한 특징을 나타낸다. 보다 상세하게는, 표 4는 참조 발음(가로줄)에서 특정 모음에 해당하는 음운 디코더(세로줄)로부터 모음 심벌 관측의 추정 확률의 세트의 일례를 제공한다. 음운 디코더(4)로부터의 자음 심벌은 음절 내의 위치가 표시되지 않은 반면, 참조 발음내의 것들은 이들이 모음 후(<), 또는 모음 전(>)인지를 나타내는 첨부된 문자를 갖는다. 자음의 ID가 해당되는 셀(즉, 자음이 정확하게 인식되는)은 표 4에서 굵은 활자로 나타낸다. 표 4의 가장 우측의 세로줄은 특정 모음 전 또는 모음 후 자음이 음운 디코더로부터의 출력에서 전혀 검출이 되지 않을 추정 확률을 나타낸다. 이러한 삭제의 추정 확률은 모음 전의 것에 해당하는 것보다 모음 후의 무성의 파열음에서 더 높다. 확률이 로그 확률로 변환된 상태에서, 표 4는 제 2 실시예에 따른 어휘 번역기(모듈 5')에 의해 이용된 정합 코스트 매트릭스(340)의 일부분을 형성하는데 사용될 수 있다. 표 4에서의 정보는 본 발명자에 의해 실행된 실험적 테스트로부터 얻어진 것이다.
[표 4]
K< |
K 0.890
|
P 0.028 |
T 0.034 |
(del) 0.045 |
K> |
0.799
|
0.009 |
0.19 |
0.014 |
P< |
0.017 |
0.609
|
0.035 |
0.163 |
P> |
0.008 |
0.855
|
0.003 |
0.017 |
T< |
0.033 |
0.017 |
0.495
|
0.336 |
T> |
0.009 |
0.009 |
0.783
|
0.067 |
어떻게 사용되는지를 살펴보기 위해, "top"와 "pot" 항목을 포함하는 참조 리스트를 생각해보면, 이들의 각각 발음은 / T AA1 P /와 / P AA1 T / 로 표현될 수 있다. 음운 인식기(강세 레벨 또는 모음 전/후의 자음 사이를 구별하지 않음)로부터의 출력이 / P AA P / 이라고 가정하자. 모음 전/후의 자음 사이의 차이를 무시하는 종래의 정합 프로세스는 두 개의 정합이 하나의 대입, 즉, P에서 T로의 대입만을 요구할 것이기 때문에, 그 출력은 양쪽의 참조 가능성이 동일하게 잘 정합되었음을 검색할 것이다. 그러나, 모음 전/후의 차이를 고려할 경우, "pot"가 /P/를 /T</ (확률 = 0.017)으로 대입하려고 요구하기 때문에 더 가능성있는 번역인 반면, "top" 번역은 /P/를 /T>/ (확률 = 0.009)로 대입하려고 요구할 것이다.
조합된 음운 유닛과 자유롭게 삭제가능한 음운 유닛을 이용하는, 본 발명에 따른 어휘 번역기(모듈 5')의 제 3 실시예를 아래에 설명한다.
몇몇 단어는 2개 이상의 발음이 수용가능할 수 있다는 것은 잘 알려져 있다. 음성 인식에서 이를 처리하는 하나의 방법으로, 모든 수용가능한 발음이 참조 리스 트에 분리된 엔트리로 등록된다. 도 3에 나타낸 어휘 번역기(모듈 5')는 모든 대체 발음(참조 리스트(330)으로부터 얻어짐)에 대해 음운 인식기(모듈 4)의 출력 /ch ey m s m ih/에 정합되고, 최적의 정합이 이 어휘 항목에 대해 스코어로 취해진다.
제 3 실시예는 어떤 단어 그룹이 수용가능한 발음 사이의 동일한 형태의 변화를 포함하는 특징을 이용하고, 이 변화는 하나 이상의 독립된 음소로 국한된다. 예를 들어, "stein"의 고유 명사 어미에 발생하는 철자의 시퀀스 "ei"는 단어 "sight"에서 발생하는 모음 소리(주로 /AY/로 표현됨) 또는 단어 "seed"에서 발생하는 모음 소리(주로 /IY/로 표현됨)와 같은 발음이 될 수 있다. 이러한 단어 모두에 대해 적어도 2개의 발음을 리스트화하기 보다 오히려, 제 3 실시예에서는 (도 3에 나타낸 참조 리스트(330)에 저장된)참조 발음의 참조 설명에서 어떤 모음이 수용가능한지의 의미로서 해석되는 새로운 심벌을 도입하여, 이 새로운 심벌을 참조 리스트(330)에 추가적인 정보로서 포함시킨다. 이 심벌은 예를 들어, "AY-IY", 또는 다른 어떤 특별한 심벌일 수 있다. 동일한 다중 음소 심벌을 "either" 및 "neither"등과 같은 단어의 다른 부류로 사용할 수도 있다.
참조 리스트를 더욱 간결하게 함으로써 적은 저장 공간을 필요로 하는 것과는 달리, 어떤 다중 발음의 이러한 종류의 표현은 정합 프로세스에서 필요로 하는 계산량의 줄이는데 사용될 수 있다. 대체 발음의 모든 조합에 대응하여 완전한 단어 또는 어구를 여러번에 걸쳐서 정합시켜야 하기 보다는, 다중 음소 참조 심벌에 대하여 정합하는 경우 다중 음소 세트에서 각각의 가능한 음소에 대한 최적의 스코어를 갖는 정합이 사용되는 한번의 정합을 실행할 수 있다.
본 발명의 어휘 번역기(모듈 5')의 제 4 실시예는 그 자체 또는 제 3 실시예에 관해 설명한 특징과 함께 사용될 수 있고, 정합 프로세스의 효율은 정합 코스트 매트릭스(340)에 각각의 다중 음소에 해당하고 개개의 음소에 대한 해당 코스트의 최소에 해당하는 특정 코스트 세트를 추가함으로써 더욱 향상시킬 수 있다. 그러므로, 상술한 예에서, "stein" 다중 음소 심벌과 "bit"에서 일반적으로 일어나는 모음 사이의 대입(substitution) 코스트는 이 모음과 "sight" 및 "seed"에서의 모음 사이의 최소의 대입 코스트로 된다. 마찬가지로, 다중 음소 유닛의 삭제 코스트는 "sight"와 "seed" 모음에 대한 최소의 개개 삭제 코스트로 된다.
제 5 실시예에 따른 어휘 번역기(모듈 5')에 의해 사용되는 것과 같이 다른 종류의 발음 변화에 있어서, 음소가 있거나 없을 수 있는 다른 경우도 있을 수 있다. "exempt"에서 일어나는 일례로서, "p"는 단어의 끝에서 발음될 수도 있고 안될 수도 있고, 다른 예로 성(姓)인 "Dicke"에서는, 두 번째 모음은 단어의 끝에서 발음될 수도 있고 안될 수도 있다. 또한, 이러한 것을 처리하는 종래의 방법으로는 2개의 발음을 리스트할 것이다. 제 5 실시예에 따른 어휘 번역기(모듈 5')에 의해 이용되는 방법은 참조 리스트(330)에 저장된 참조 표현에서의 음소를 자유롭게 삭제가능한 상태로 표시하는 것이다("-"와 같은 특별한 심벌 등으로, "exempt"의 참조 발음의 경우에 "P-" 심벌을 포함한다). 정합 코스트 매트릭스(340)에서, 이러한 자유롭게 삭제가능한 유닛의 삭제 코스트는 영으로 설정되거나 적어도 자유롭게 삭제가능한 표시가 되지 않은 대응하는 참조 유닛(예를 들어, "P")에 대한 삭제 코스트보다 어느 정도 낮은 값으로 설정된다.
본 발명의 제 6 실시예에서는, 모음 강세 정보 및 모음 전/후 정보 모두를 어휘 번역기(모듈 5')에 의해 사용하고 있다.
여기에 제공된 플로차트는 방법 단계의 특별한 순서를 나타내지만, 이들 단계의 순서는 나타내어진 것과는 다를 수 있음을 유의해야 한다. 또한 2개 이상의 단계를 병행으로 실행시키거나 부분 병행으로 실행시킬 수 있다. 이러한 변화는 선택되어진 소프트웨어와 하드웨어 및 설계자의 선택으로 결정된다. 이러한 모든 변화는 본 발명의 범위 안에 있음을 이해해야 한다. 마찬가지로, 본 발명의 소프트웨어와 웹(web) 구현은 다양한 데이터 베이스 검색 단계, 상관(correlation) 단계, 비교 단계 및 결정 단계를 수행하기 위한 규칙 근거 논리와 다른 논리에 의한 표준 프로그래밍 기술로 수행될 수 있다. 명세서와 청구항에서 사용된 단어 "모듈"(module) 또는 "성분"(component) 또는 "유닛"은 한 줄 이상의 소프트웨어 코드를 사용하는 구현, 및/또는 하드웨어 구현, 및/또는 수동 입력을 받아들이는 장치를 포함하는 것을 의미한다는 점에 또한 유의해야한다.
본 발명의 상술한 실시예는 도해와 설명을 위해 제시되었다. 이것은 본 발명을 개시된 형태로 정확히 포괄하거나 제한하는 것을 의미하지 않으며, 변형과 변화가 상술한 기술에 비추어 가능하며 또한 본 발명의 실시로부터 얻어질 수 있다. 본 발명의 원리를 설명하기 위해 상기 실시예가 선택되어 기술되었으며, 이것의 실시 응용은 본 발명을 이용하는 당업자에게 다양한 실시예가 가능하고 고안된 특정한 사용에 적합하도록 다양한 변형이 가능하다. 예를 들어, 어휘 번역기 모듈은 음절 레벨에서 본 발명의 하나 이상의 실시예에 대해 상술한 특성을 사용하는 어휘 번역을 수행할 수 있으며, 이러한 경우 음절 디코더(음성 디코더의 대체)는 어휘 번역기 모듈에 음절 시퀀스(또는 음절의 격자 배열)를 제공한다.