KR20000071364A - 음성 인식 시스템과 연관된 확률에 불이익을 선택적으로지정하는 방법 - Google Patents

음성 인식 시스템과 연관된 확률에 불이익을 선택적으로지정하는 방법 Download PDF

Info

Publication number
KR20000071364A
KR20000071364A KR1020000008390A KR20000008390A KR20000071364A KR 20000071364 A KR20000071364 A KR 20000071364A KR 1020000008390 A KR1020000008390 A KR 1020000008390A KR 20000008390 A KR20000008390 A KR 20000008390A KR 20000071364 A KR20000071364 A KR 20000071364A
Authority
KR
South Korea
Prior art keywords
state
penalty
model
score
state transition
Prior art date
Application number
KR1020000008390A
Other languages
English (en)
Other versions
KR100321463B1 (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 KR20000071364A publication Critical patent/KR20000071364A/ko
Application granted granted Critical
Publication of KR100321463B1 publication Critical patent/KR100321463B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • G10L15/148Duration modelling in HMMs, e.g. semi HMM, segmental models or transition probabilities
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D3/00Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D3/0058Details
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D3/00Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D3/04Liquid-dispensing taps or cocks adapted to seal and open tapping holes of casks, e.g. for beer
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D3/00Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D3/0029Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes provided with holders for bottles or similar containers
    • B67D3/0032Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes provided with holders for bottles or similar containers the bottle or container being held upside down and provided with a closure, e.g. a cap, adapted to cooperate with a feed tube

Abstract

음성 인식 시스템 (204, 206, 207, 208)은 음성 인식 시스템내의 스코어에 불이익 (penalty)을 지정한다. 시스템은 적어도 한 모델의 적어도 한 상태에 지정된 프레임의 수에 대한 하단 한계값 및 적어도 한 모델의 적어도 한 상태에 지정된 프레임의 수에 대한 상단 한계값을 발생한다. 시스템은 하단 한계값이 만족되지 않는 경우 할당 지정 알고리즘에서 상태외 전이 (out of state transition) 불이익을 상태외 전이 스코어에 지정한다. 상태외 전이 불이익은 거주 시간이 하단 한계값 이하인 프레임의 수에 비례한다. 상태에 지정된 프레임의 상단 한계값을 넘는 경우에는 자체 루프 (self loop) 불이익이 자체 루프 스코어에 적용된다. 자체 루트 불이익은 거주 시간이 상단 한계값 이상인 프레임의 수에 비례한다.

Description

음성 인식 시스템과 연관된 확률에 불이익을 선택적으로 지정하는 방법 {METHOD OF SELECTIVELY ASSIGNING A PENALTY TO A PROBABILITY ASSOCIATED WITH A VOICE RECOGNITION SYSTEM}
본 발명은 음성 인식 시스템에 관한 것으로, 특히 상태 할당 (state allocation) 알고리즘에서 확률을 지정하는 시스템에 관한 것이다.
발성자에 의존하는 음성 인식 시스템은 입력 음성의 프레임 (frame)에 신호 처리를 실행하고 각 프레임을 나타내는 특성 벡터를 출력하도록 특성 추출 알고리즘을 사용한다. 프레임 비율은 일반적으로 10 내지 30 ms 사이이고, 여기서는 20 ms의 기간인 것으로 예시화된다. 음성 인식 시스템에서 사용되는 많은 수의 다른 특성이 공지되어 있다.
일반적으로, 트레이닝 (training) 알고리즘은 하나 이상의 발음의 단어나 관용구를 샘플링한 음성으로부터 추출된 특성을 그 단어나 관용구의 모델에 대한 매개변수를 발생하는데 사용한다. 이 모델은 모델 저장 메모리에 저장된다. 이들 모델은 이후 음성 인식 동안에 사용된다. 인식 시스템은 알려지지 않은 발음의 특성을 저장된 모델 매개변수와 비교하여 최상의 정합을 결정한다. 최상의 정합 모델은 이어서 인식 시스템으로부터 결과로서 출력된다.
이 처리에서는 히든 마르코브 모델 (Hidden Markov Model, HMM) 기초의 인식 시스템을 사용하는 것으로 공지되어 있다. HMM 인식 시스템은 발음의 프레임을 HMM의 상태 (state)에 할당한다. 가장 큰 확률 또는 스코어를 만들어내는 프레임-대-상태 할당이 최상의 정합으로 선택된다.
HMM에서의 한가지 문제점은 상태의 기간 동안에 지수 분포라 가정된다는 점이다. 이는 마르코브 처리 가정에 기본적인 것으로, 프레임(Ft)의 상태 전이가 프레임(Ft-1)에서의 시스템 상태에만 의존한다고 가정한다. 이 모델은 특히 음성에 잘 맞지 않는다. 이러한 이유로, 일부 현재적인 인식 시스템은 Markov 가정을 깨고 상태의 기간에 관련되는 상태 전이 불이익 (penalty)을 지정한다.
특별히, 트레이닝 처리 동안 평가되는 최소치 및 최대치에 간단히 상태 기간의 경계를 정하는 것이 공지되어 있다. 그래서, 상태에서 벗어나는 전이가 허용되기 이전에 최소한의 프레임이 상태에 할당되고, 일단 최대 상태 거주 시간이 만족되면, 추가 자체 루프 (self loop)가 허용되지 않도록 상태 기간에 엄격하게 경계지워진 한계가 설정된다. 전이 확률을 결정할 때 상태 기간 정보를 사용하는 것은 마르코브 처리 가정을 깨뜨리는 것이지만, 전형적으로 보다 나은 인식 결과를 산출한다.
많은 양의 트레이닝 데이터를 갖는 더 복잡한 시스템은 상태 기간의 함수로서 상태 전이 확률을 정확하게 모델화할 수 있다. 그러나, HMM을 트레이닝하는데 2개 정도의 발음이 사용되는 응용에서는 트레이닝 데이터의 양이 적기 때문에 상태 전이 불이익에 대한 확률 분포를 정확하게 평가하는 것이 어렵다. 따라서, 그 불이익은 에러가 있는 결과를 만들게 된다.
결과적으로, 최소의 트레이닝 정보를 갖는 시스템에서 전이 불이익을 발생하는데 상태 기간 정보를 사용하는 개선된 시스템이 필요하다.
도 1은 무선 통신 디바이스를 설명하는 블록도 형태의 회로도.
도 2는 도 1에 따른 디바이스에서 음성 인식 시스템을 설명하는 블록도 형태의 회로도.
도 3은 프레임 (frame)으로 분할된 2개의 연관된 음성 발음을 갖는 좌우측 히든 마르코브 모델 (hidden Markov Model)을 설명하는 도면.
도 4는 스킵 전이가 허용되지 않은 좌우측 모델에서 가능한 모든 상태 전이와 연관된 역추적 격자 (traceback lattice)를 설명하는 도면.
도 5는 도 4에 대응하는 좌우측의 스킵이 없는 HMM을 설명하는 도면.
도 6은 트레이닝 (training) 알고리즘을 설명하는 고레벨의 흐름도.
도 7은 상단 및 하단 기간 한계값의 설정을 설명하는 흐름도.
도 8은 한 모델의 한 상태에 적용되는 불이익 (penalty)을 설명하는 도면.
도 9는 음성 인식 시스템을 설명하는 흐름도.
도 10은 음성 인식 시스템에서 스코어에 불이익을 설정하는 것을 설명하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
102 : 전송기
104 : 수신기
106 : 안테나
108 : 호출 프로세서
110 : 메모리
112 : 오디오 회로
114 : 마이크로폰
116 : 스피커
120 : 디스플레이 프로세서
124 : 키
126 : 디스플레이
202 : 아날로그 대 디지털 변환기
이러한 효과적인 방법은 상태에 지정된 하단 한계값의 프레임 (상태 기간)이 만족되지 않았으면 상태외 전이 스코어에 전이 불이익 (transition penalty)을 지정한다. 자체 루프 (self loop) 불이익은 상태에 지정된 최대 한계값의 프레임을 넘으면 적용된다. 하단 한계값이 만족된 이후에는 불이익이 상태외 전이로 지정되지 않고, 최대 한계값을 넘을 때까지는 불이익이 동일 상태 전이로 지정되지 않는다. 음성 인식 시스템의 실행도는 메모리 크기의 적당한 증가 및 MIPS (millions of instruction per second) 요구조건으로만 개선된다. 자체 루프 불이익은 단 2개의 트레이닝 (training) 발음을 갖는 시스템과 같이 제한된 트레이닝 데이터를 갖는 시스템에서만 효율적으로 사용되어 불이익을 발생시킬 수 있다.
도 1에서는 본 발명이 유리하게 사용될 수 있는 디바이스(100)가 설명된다. 디바이스(100)는 여기서 설명을 위해 휴대용 무선전화기인 것으로 설명되지만, 컴퓨터, 개인용 디지털 보조기, 또는 음성 인식을 유리하게 사용할 수 있는 다른 디바이스, 특히 메모리 효율성 음성 인식 시스템을 잘 이용할 수 있는 디바이스가 될 수 있다. 도시된 무선전화기는 안테나(106)에 연결된 전송기(102) 및 수신기(104)를 포함한다. 전송기(102) 및 수신기(104)는 호출 처리 기능을 실행하는 호출 프로세서(108)에 연결된다. 호출 프로세서(108)는 디지털 신호 프로세서 (DSP), 마이크로프로세서, 마이크로제어기, 프로그램가능한 논리 유닛, 상기를 둘 이상 조합한 것, 또는 다른 적절한 디지털 회로를 사용해 실시될 수 있다.
호출 프로세서(108)는 메모리(110)에 연결된다. 메모리(110)는 RAM, EEPROM (electronically erasable programmable read only memory), ROM (read only memory), 플래쉬 (flash) ROM, 또는 이들 메모리 종류를 둘 이상 조합한 것을 포함한다. 메모리(110)는 음성 인식 동작을 포함하여 호출 프로세서(108)의 동작을 지지하고, 이후 더 상세히 설명될 상태 전이 경로 메모리 (state transition path memory)를 지지하도록 전자적으로 변경가능한 메모리를 포함하여야 한다. ROM은 디바이스 운영 프로그램을 저장하도록 제공될 수 있다.
오디오 회로(112)는 마이크로폰(114)으로부터 호출 프로세서(108)로 디지털화된 신호를 제공한다. 오디오 회로(112)는 호출 프로세서(108)로부터의 디지털 신호에 응답해 스피커(116)를 구동시킨다.
호출 프로세서(108)는 디스플레이 프로세서(120)에 연결된다. 디스플레이 프로세서는 디바이스(100)에 추가 프로세서 지지를 원하는 경우 선택적인 것이다. 특히, 디스플레이 프로세서는 디스플레이(126)에 디스플레이 제어 신호를 제공하고 키 (key)(124)로부터 입력을 수신한다. 디스플레이 프로세서(120)는 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 프로그램가능한 논리 유닛, 또는 그들의 조합을 사용해 실시될 수 있다. 메모리(122)는 디지털 논리를 지지하도록 디스플레이 프로세서에 연결된다. 메모리(122)는 RAM, EEPROM, 플래쉬 ROM, 또는 이들 메모리 종류를 둘 이상 조합한 것을 사용해 실시될 수 있다.
도 2를 참고로, 마이크로폰(114)에 의해 수신되는 오디오 신호는 오디오 회로(112)의 아날로그 대 디지털 변환기(202)에서 디지털 신호로 변환된다. 종래 기술에 숙련된 자는 오디오 회로(112)가 간략하도록 여기서 설명되지 않은 필터링과 같은 추가 신호 처리를 제공함을 인식하게 된다. 호출 프로세서(108)는 마이크로폰(114)에 의해 출력된 아날로그 신호를 처리한 디지털 신호에 대해 특성 추출(204)을 실시하고, 사용자 발음을 나타내는 특성 벡터 세트를 만든다. 특성 벡터는 각 단시간 분석 윈도우 (short time analysis window)에 대해 만들어진다. 여기서 설명되는 예에서는 단시간 분석 윈도우가 20 ms인 프레임이다. 그래서, 프레임 당 하나의 특성 벡터가 있다. 프로세서(108)는 음성 인식(206)이나 트레이닝(207)에 그 특성을 사용한다.
트레이닝에서, 발음에 대한 특성 벡터는 메모리(208)에 저장되는 HMM 형태의 템플레이트 (template)를 생성하는데 사용된다. 음성 인식에서, 입력 발음을 나타내는 특성 벡터는 사용자가 말한 것을 결정하도록 메모리(208)에 저장된 어휘 단어의 템플레이트에 비교된다. 시스템은 최상의 정합, 최상 정합의 세트, 또는 선택적으로 비정합을 출력할 수 있다. 메모리(208)는 양호하게 메모리(110) (도 1) 중에서 비휘발성 메모리 부분으로, 예를 들면 EEPROM 또는 플래쉬 ROM이 될 수 있다. 여기서 사용되는 바와 같이, "단어"는 "John Doe"와 같이 하나 이상의 단어이거나 "call"과 같이 단일 단어가 될 수 있다.
상기에 간략하게 기술된 바와 같이, 메모리(208)에 저장된 어휘 단어는 트레이닝 모드에서 생성된다. 예를 들면, 저장된 어휘 단어는 초기에 각각의 특성 벡터로 구성된 발음 (U1 및 U2) (도 3)의 두 트레이닝 신호로부터 각각 유도된다. 발음(U1)은 트레이닝 동안 발성자가 특정한 단어를 처음 말할 때 저장된 신호를 나타낸다. 발음(U2)는 트레이닝 동안 발성자가 특정한 단어를 두번째로 말한 신호를 나타낸다. 도시된 예에서, 발음(U1)은 발음(U2)과 다른 길이이다. 종래 기술에 숙련된 자는 더 많거나 적은 발음이 사용될 수 있는 것으로 인식하게 된다.
각 발음은 특성 벡터의 프레임으로 분할된다. 프레임은 예를 들면, 20 ms의 길이가 될 수 있다. 특성 벡터는 종래의 방식으로 발생된다. 예를 들면, 특성 벡터는 A/D 변환기(202)의 출력으로부터 발생되는 켑스트럼 (cepstrum) 및 델타-켑스트럼 (delta-cepstrum) 특성을 구비할 수 있다.
여기서 사용되는 예에서는 도 3 내지 도 5에 도시된 바와 같이, HMM이 발음의 길이에 관계없이 사용되는 5개의 상태를 갖는다. 종래 기술에 숙련된 자는 임의의 수의 상태가 사용될 수 있음을 인식하게 되고, 각 발음에 대해 10개 이상의 상태가 사용되도록 구현될 수 있다. 부가적으로, 상태의 수는 발음의 길이에 관계없이 고정되거나, 발음의 길이에 의존할 수 있다. 이후에서는 발음 길이에 관계없이 임의의 발음에 5개의 상태를 사용하는 시스템에 대해 논의가 이루어진다.
앞서 기술된 바와 같이, 트레이닝의 목적은 발음에 대해 HMM을 발생하는 것이다. 이는 도 6에서 설명된다. 이것은 모델 매개변수의 초기 평가가 이루어지는 단계(602)에서 시작한다. 예를 들면, 도 3을 참고로, 먼저 발음(U1)의 프레임 (F11, F12) 및 발음(U2)의 프레임 (F21, F22)으로부터 상태 1(S1)이 형성된다. 이 프레임값들은 초기에 상태 1의 통계적인 표시를 구성하는 매개변수 일부 또는 그 모두를 계산하는데 사용된다. 바람직한 실시예에서, 통계적인 표시는 발음(U1) 및 발음(U2)으로부터의 프레임 평균이다. 그래서, 상태 1은 초기에 발음(U1)의 프레임 (F11, F12)과 발음(U2)의 프레임 (F21, F22)의 평균으로 설정된다. 종래 기술에 숙련된 자는 분산이 또한 상태에 포함될 수 있음을 이해하게 된다. 다른 프레임의 통계적인 표시도 또한 발생된다. 제2 상태(S2)는 발음(U1)의 프레임 (F13, F14)와 발음(U2)의 프레임 (F23, F24)의 평균이다. 상태(S3)는 유사하게 발음(U1)의 프레임 (F15, F16)과 발음(U2)의 프레임 (F25, F26)의 평균이다. 상태(S4)는 발음(U1)의 프레임 (F17, F18)과 발음(U2)의 프레임 (F27, F28, F29)의 평균이다. 상기의 프레임 할당은 프레임이 초기에 상태로 할당되는 방법 및 상태의 통계적인 표시가 형성될 수 있는 방법의 예로 제공된다. 그러나, 종래 기술에 숙련된 자는 상태의 초기 할당 및 상태의 통계적인 표시에 대해 다양한 다른 방법이 존재함을 인식하게 되므로, 본 발명이 상기의 환경에 제한되는 것으로 의도되지 않는다.
각 발음에 대해, 비터비 알고리즘 (Viterbi algorithm)과 같은 정렬 알고리즘은 단계(604)에서 U1과 같은 발음의 프레임이 모델의 상태로 지정되게 하는데 사용된다. 단계(606)에서, 모델은 단계(604)에서 실행된 정렬을 근거로 재평가된다. 단계(608)에서, 프로세서는 모델 매개변수에서의 변화를 관찰함으로서 모델이 수렴되는가를 결정한다. 수렴은 샘플 발음을 상태 모델에 정렬하는 것이 상태 모델에서 소정의 양 이하의 변화를 만들 때 일어난다. 단계(608)에서 수렴이 검출되지 않으면, 단계(604)에서 다시 정렬 알고리즘이 실행된다.
종래 기술에 숙련된 자는 모델 매개변수를 정렬 및 평가하고 수렴을 검출하는데 다수의 다른 알고리즘이 공지되어 있고, 여기서는 더 상세히 설명되지 않지만 이들 중에서 적절한 것을 본 발명과 사용할 수 있음을 인식하게 된다.
일단 수렴이 이루어지면, 단계(610)에 나타내지는 바와 같이, 모든 상태에 대해 상단 및 하단 상태 기간 한계값 (Dmini, Dmaxi)이 계산되어야 한다.
도 7은 단계(610) (도 6)에 포함된 기간 한계값의 계산을 보다 상세히 설명한다. 모델이 생성되어 메모리(208)에 저장된 이후, 프로세서(108)는 단계(702)에 나타내지는 바와 같이 각 모델 상태에 대해 상단 기간 한계값을 계산한다. 각 상태에 대해 계산된 상단 기간 한계값은 단계(704)에 나타내지는 바와 같이 저장된다. 모델에서 각 상태에 대한 하단 상태 기간 한계값은 단계(706)에서 계산된다. 이어서, 단계(708)에 나타내지는 바와 같이, 각 상태에 대한 하단 상태 기간 한계값이 저장된다. 이들 상단 및 하단 한계값은 이후 더 상세히 기술된 바와 같이 음성 인식 처리에서 사용될 수 있는 HMM 매개변수와 함께 메모리(110)에 저장된다.
특별히, 상단 및 하단 기간 한계값은 단계(604)에서 각 상태에 지정되었던 최소 및 최대수의 프레임을 사용해 다음과 같이 계수 Dmintweak및 Dmaxtweak로 이들을 약간 조정하여 HMM 모델 정보로부터 계산된다:
Dmini= (1-Dmintweak) * min(D1,i, D2,i);
Dmaxi= (1+Dmaxtweak) * max(D1,i, D2,i).
여기서, D1,i는 발음 1로부터 상태 i에 지정된 프레임의 수이고, D2,i는 발음 2로부터 상태 i에 지정된 프레임의 수이다. 종래 기술에 숙련된 자는 2개 이상의 발음이 사용될 수 있음을 인식하게 된다.
조정은 항상 양극적으로 이루어지므로, 실제 모델에서 관찰되었던 것 보다 최소치는 약간 더 작아지고 최대치는 약간 더 커지는 경향을 갖는다. 예를 들면, Dmintweak및 Dmaxtweak는 0.1이 될 수 있다. 종래 기술에 숙련된 자는 본 발명으로부터 벗어나지 않고 실제값이 변할 수 있음을 인식하게 된다. 상태 기간 (상술된 값 D1,i, D2,i)을 회복하는 한가지 특정하게 유리한 방법은 여기서 참고로 포함되고, 본 출원과 같은 날짜에 Jeffrey Arthur Meunier의 이름으로 출원된 진행중인 특허 출원 Docket Number CS10103 "음성 인식 시스템에서 역추적 매트릭스 저장 방법 (METHOD OF TRACEBACK MATRIX STORAGE IN SPEECH RECOGNITION SYSTEM"에서 설명된다.
도 5는 좌우측의 스킵이 없는 HMM을 설명한다. 인식하는 동안, 호출 프로세서(108)는 트레이닝 동안 생성된 각 HMM의 상태로 인식될 발음을 정렬하도록 비터비 알고리즘과 같은 정렬 알고리즘을 사용한다. 특별히, 정렬 알고리즘은 도 4에 대해 일반적으로 기술될 바와 같이, 고려되는 각 경로에 대한 스코어를 근거로 임의의 점으로부터 최상의 역경로를 결정하도록 동작한다. 여기서 사용되는 바와 같이, 한 점은 격자 (lattice)(400)에서 한 프레임 및 상태 위치이다. 경로를 점들을 통해 확장된다.
종래 기술에 숙련된 자는 격자(400) (도 4)가 8 프레임에 대해 상태 1 내지 5로부터의 역경로를 모두 도시함을 인식하게 된다. 추가 제한은 프레임이 이전 프레임과 똑같은 상태 또는 이전 프레임의 상태 직후의 상태로 할당되어야 한다는 점이다 (상태는 스킵될 수 없다). 이는 음성 인식 시스템에서 상태에 대한 프레임의 할당과 일치하고, 데이터 경로를 기록하는데 필요한 역추적 정보의 양을 현저하게 줄인다. 모델내에서 상태에서 상태로의 가능한 경로의 이러한 제한은 음성 발음에서 음향적 사건의 순차적인 순서 본질에 도움이 된다. 일반적으로, HMM 상태 전이는 도 4에 도시된 바와 같이 사실상 좌-우가 되도록 제한되고, 여기서 특정한 상태 n으로 허용가능한 경로는 그 상태 (Sn에서 Sn으로의 "자체 루프 (self loop)") 또는 선행하는 상태 (S(n-1)에서 Sn으로의 "단일 단계 전이")로부터 전해온다. 이러한 HMM 설계는 많은 음성 인식 작업에 대해 효과적인 것으로 증명되었다.
한 예로, 프레임 5 (도 4의 수평축에서 번호 5)에 대한 비터비 알고리즘은 프레임 5에서 각 상태 (상태 1(S1), 상태 2(S2), 상태 3(S3), 상태 4(S4), 및 상태 5(S5))로부터 최상의 역경로 (즉, 최상의 스코어를 제공하는 각 상태로부터의 역경로)를 결정한다. 특별히, 알고리즘은 점 A로부터의 역경로에 대해, 처음 5개 프레임 모두에서 경로가 상태 1을 통해 놓이는 확률을 나타내는 확률 또는 스코어를 고려한다. 이는 현재 프레임이 이전 프레임과 똑같은 상태이거나 이전 프레임의 상태 보다 하나 더 높은 상태이어야 한다는 조건 때문에 필요하다.
알고리즘은 점 B에 대해 점 G를 통과하는 점 B로부터의 역경로와 연관된 스코어 및 점 H를 통과하는 점 B로부터의 역경로에 대한 스코어를 발생한다. 점 C에 대해, 비터비 알고리즘은 점 H를 통과하는 점 C로부터의 경로와 연관된 스코어 및 점 I를 통과하는 점 C로부터의 역경로와 연관된 스코어를 발생한다. 점 D에 대해, 비터비 알고리즘은 점 I를 통과하는 점 D로부터의 역경로와 연관된 스코어 및 점 J를 통과하는 점 D로부터의 역경로와 연관된 스코어를 고려한다. 점 E에 대해, 비트비 알고리즘은 점 J를 통과하는 점 E로부터의 역경로와 연관된 스코어 및 점 K를 통과하는 점 E로부터의 역경로와 연관된 스코어를 발생한다. 스코어를 계산한 이후에, 각 상태에 대해 가장 높은 스코어를 제공하는 경로 전이 종류는 프레임 5의 각 상태로의 경로로 저장된다.
도 9는 트레이닝 동안 발생된 저장 모델의 상태와 발음의 특성 벡터 사이에서의 인식 동안 일어나는 정렬 알고리즘을 설명한다. 도 9에 설명된 정렬 알고리즘은 저장된 어휘내의 각 단어나 모델에 대해 실행되고, 최상의 출력 스코어는 정합된 단어로 출력된다. 제1 프레임은 자동적으로 상태 1에 지정되므로, 그 상태 기간 카운터는 단계(900)에서 1로 초기화되고, 프레임 카운터는 단계(902)에 나타내지는 바와 같이 t = 2가 되도록 설정된다. 프로세서(108)는 단계(904)에 나타내지는 바와 같이 상태 카운터 i = 1을 설정한다. 프로세서는 단계(906)에서 도 10의 설명에서 더 상세히 기술될 바와 같이, 프레임 t에 상태 i로의 최상의 경로를 계산한다.
프레임 t에서 상태에 대한 스코어는 단계(908)에 나타내지는 바와 같이 저장된다. 단계(920)에서는 자체 루프가 상태 i로의 최상의 경로인가를 보도록 전이 종류가 점검된다. 자체 루프가 최상의 경로이면, 상태 기간 카운터는 단계(924)에서 증가된다. 자체 루프가 최상의 경로가 아니면, 상태 기간 카운터는 단계(922)에서 1로 재설정된다.
단계(910)에서, 프로세서(108)는 최종 상태에 이르렀는가 여부를 결정한다. 그렇지 않으면, 상태 카운터 i는 단계(916)에 나타내지는 바와 같이 증가되고, 프로세서는 단계(906)로 복귀한다. 그렇지 않은 경우, 프로세서는 단계(912)에서 최종 프레임이 처리되었나 여부를 결정한다. 그렇지 않으면, 프레임 카운터는 단계(918)에서 증가되고, 프로세서는 단계(904)로 복귀한다. 최종 프레임이 처리되었으면, 단계(912)에 나타내지는 바와 같이, 모델의 최종 상태에 대한 스코어가 단계(914)에서 출력되고, 이어서 어휘내의 다른 모든 모델의 스코어와 비교된다. 모든 모델에 대해 최상의 스코어가 모델 중 하나에 발음이 정확하게 정합된 것으로 선택된다.
각 상태에 대해 전이 및 자체 루프 모두의 상태 전이 확률이 발생된다. 각 모델의 상태에 대해 저장된 상단 및 하단 기간 제한치는 정렬 알고리즘을 실행할 때 사용된다.
이제는 도 10을 참고로 불이익 (penalty)을 사용해 상태 전이 스코어가 계산되는 방법이 설명된다. 먼저, 상태 i-1로부터의 상태 전이 확률은 블록(1010)에 나타내지는 바와 같이 발생된다. 프로세서(108)는 단계(1012)에서 이전 상태의 상태 거주 시간이 최소 한계값을 이미 넘었는가 여부를 결정한다. 하단 한계값 보다 작으면, 프로세서는 단계(1014)에 나타내지는 바와 같이 비례적인 불이익을 계산한다. 불이익은 조정된 스코어를 만들도록 스코어에 부가된다. 상태 기간이 최소 한계값 보다 큰 것으로 결정되면, 스코어에 대한 조정은 0을 더하는 것이다. 단계(1013) 또는 (1016)에서 결과적으로 조정된 스코어는 단계(1017)에 나타내지는 바와 같이 저장된다.
자체 루프 스코어는 블록(1018)에 나타내지는 바와 같이 계산된다. 프로세서는 단계(1020)에서 상태 거주 시간이 상단 한계값을 이미 넘었는가 여부를 결정한다. 상태 기간이 상단 한계값 보다 더 크면, 프로세서(110)는 단계(1024)에 나타내지는 바와 같이 비례적인 불이익을 계산한다. 불이익은 단계(1026)에 나타내지는 바와 같이 조정된 스코어를 만들도록 스코어에 부가된다. 단계(1020)에서 상태 기간이 상단 한계값 보다 작은 것으로 결정되면, 조정된 스코어는 단계(1022)에 나타내지는 바와 같이 변경되지 않는다. 단계(1022) 또는 (1026)에서 결과적으로 조정된 스코어는 단계(1027)에 나타내지는 바와 같이 저장된다.
프로세서(108)는 단계(1028)에 나타내지는 바와 같이 어느 전이 종류가 더 높은 조정된 스코어를 갖는가에 의존해 자체 루프 또는 전이 중 하나를 선택한다. 전이 단계가 가장 높은 조정 스코어를 가지면, 단계(1030)에서는 단계 전이 종류가 저장된다. 자체 루프가 더 높은 조정 스코어를 가지면, 단계(1030)에서는 자체 루프 전이 종류가 저장된다. 종래 기술에 숙련된 자는 상태 스킵이 허용되는 경우 단계 스코어에 적용되는 것과 같이 상태외 전이 불이익이 상태 스킵 스코어에 적용됨을 인식하게 된다. 그래서, 설명된 실시예는 상태 스킵 HMM에 용이하게 확장될 수 있다.
종래 기술에 숙련된 자는 도 10에서 설명된 루틴이 각 프레임의 각 상태에 불이익을 선택적으로 적용할 목적으로 각 프레임 및 상태에 대해 호출됨을 인식하게 된다.
인식하는 동안, 지정된 불이익의 크기는 기간이 하단 한계값에 부족하거나 최대 한계값을 넘는 양에 비례한다. 불이익 POi(di)는 상태외 전이 (out-of-state transition)에 할당되고, 불이익 PSi(di)는 자체 루프 (self loop)에 할당되며, 여기서 di는 HMM에서 상태 i의 현재 기간이다. 상태 i의 최소 기간을 Dmini및 최대 기간을 Dmaxi라 칭하면, 상태외 전이에 지정된 불이익 POi(di)은:
POi(di) = 0, Dmini와 같거나 더 큰 di에 대해;
POi(di) = pO(Dmini- di), Dmini보다 작은 di에 대해
여기서, pO는 상태외 전이 불이익 계수이다. 유사하게, 동일 상태 전이 불이익 PSi(di)는 다음과 같이 지정된다:
PSi(di) = 0, Dmaxi와 같거나 더 작은 di에 대해;
PSi(di) = pS(di- Dmaxi), Dmaxi보다 큰 di에 대해
여기서, pS는 동일 상태 전이 불이익 계수이다. 이들 불이익의 그래프는 도 8에 도시된다.
불이익 계수는 경로 스코어를 발생하기 위해 불이익이 식에서 다른 값들에 비례하도록 선택된 숫자이다. 예를 들면, -1과 -10 사이의 값이 될 수 있고, 이들은 똑같거나 다를 수 있다.
요약하여, 제1 프레임 이후 각 상태의 확률은 이전 상태로부터 그 상태로 전이될 확률 (상태 변화)을 자체 전이될 확률 (자체 루프)에 비교함으로서 결정된다. 이전 상태로부터의 전이 확률은 이전 상태의 누적 로그 (log)-확률과 상태외 전이 확률의 합으로 평가된다:
Ci-1(m) + POi-1(di-1)
동일 상태 전이 확률은 현재 상태의 누적 확률과 자체 전이 확률의 합으로 결정된다:
Ci(m) + Psi(di)
로그-확률이 평가되고 있기 때문에 곱셈 대신에 덧셈이 사용된다. 두 확률 중 더 높은 것이 승자로 선택된다. 이 확률은 관찰 확률Oi(fm) (여기서, fm은 m개 특성의 벡터)에 부가되고, 그 확률은 Ci(m+1)로 저장된다.
이와 같이, 프레임 벡터를 상태에 정합시키는 개선된 알고리즘이 설명됨을 볼 수 있다. 상단 및 하단 상태 기간 한계값은 각 HMM의 각 상태에 대해 메모리(208)에 저장된다. 그래서, 메모리에 저장된 모든 모델은 각 상태에 대해 각각의 상단 및 하단 한계값을 갖는다. 그러나, 이는 메모리 요구에서 적절한 증가만을 나타내므로, 인식 실행도에서 상당한 개선을 제공한다.
이 방법을 사용하는 것은 더 낮은 MIPS 및 낮은 메모리 요구를 허용할 뿐만 아니라, 최소 및 최대 상태 기간만이 필요하므로, 이들이 트레이닝 데이터로부터 쉽게 평가될 수 있다. 지정되는 불이익의 비례적인 본질은 최소의 트레이닝 발음수를 사용한 모델로도 알고리즘이 사용되도록 허용한다.
불이익은 상단 및 하단 전이 한계값으로부터의 거리에 선형적으로 비례한다. 그러나, 다른 함수 관계가 사용될 수 있어, 적용자는 거리의 제곱과 같은 다른 함수를 성공적으로 실시한다. 보다 복잡한 이들 함수가 여기서 설명된 바람직한 선형 함수 보다 뛰어난 것으로 발견되지는 않았다.
대부분의 경우에서, 새로운 상태 기간 방법은 상태 기간 불이익을 갖지 않는 것과 HMM/BSD 기술을 사용하는 것 모두를 통해 상당히 개선된 인식 결과를 제공한다. 한정된 엄격한 상태 기간을 갖는 종래 기술의 HMM 기술은 작은 수, 예를 들면 2개의 트레이닝 발음을 사용하는 인식 시스템으로는 잘 동작되지 않는다. 매우 적은 트레이닝 데이터를 갖는 시스템에서는 불이익 알고리즘이 훨씬 더 효과적으로 보인다.
이와 같이, 상태 전이를 계산하는 개선된 방법이 설명됨을 볼 수 있다. 이 효과적인 방법은 그 상태에 지정된 하단 한계값의 프레임 (상태 기간)이 만족되지 않으면 상태외 전이 스코어에 전이 불이익을 지정한다. 자체 루프 불이익은 상태에 지정된 최대 한계값의 프레임을 넘는 경우 적용된다. 하단 한계값이 만족된 이후에는 상태외 전이에 대해 불이익이 지정되지 않고, 최대 한계값을 넘을 때까지는 동일 상태 전이에 대해 불이익이 지정되지 않는다. 음성 인식 시스템의 실행도는 메모리 크기의 적당한 증가 및 MIPS (millions of instruction per second) 요구조건으로만 개선된다. 이 개선된 시스템은 단 2개의 트레이닝 발음을 갖는 시스템과 같이 제한된 트레이닝 데이터를 갖는 시스템에서 효율적으로 사용될 수 있다.
비록 상기의 설명과 도면에서 본 발명이 설명되고 도시되었지만, 이 설명은 단지 예이고 본 발명의 진정한 의도 및 범위에서 벗어나지 않고 종래 기술에 숙련된 자에 의해 다양한 변화 및 수정이 이루어질 수 있는 것으로 이해되어야 한다. 비록 본 발명이 셀룰러 무선전화기와 같은 휴대용 무선 디바이스에서 특정한 응용을 찾고 있지만, 본 발명은 호출기, 전자 수첩, 컴퓨터, 및 전화 장비를 포함하여 음성 인식을 사용하는 디바이스에 적용될 수 있다. 본 발명은 다음의 청구항에 의해서만 제한되어야 한다.

Claims (7)

  1. 사용자 발음을 입력하는 마이크로폰(microphone); 및
    상태 모델(state model) 내의 상태에 발음의 프레임(frame)을 할당함으로서 마이크로폰에 의해 검출된 사용자 발음의 상태 모델을 발생하는 음성 인식 시스템을 포함하고,
    상태 모델은 무선전화기에 저장된 각 모델에 대해 불이익(penalty)이 독립적으로 발생되는 상태 지정 스코어에 비례하는 불이익을 지정하는 것을 특징으로 하는 무선 통신 디바이스.
  2. 제1항에 있어서,
    음성 인식 시스템에서 스코어에 불이익을 지정하는 방법은,
    적어도 한 모델의 적어도 한 상태에 지정된 프레임의 수에 대한 하단 한계값과,
    적어도 한 모델의 적어도 한 상태에 지정된 프레임의 수에 대한 상단 한계값
    중 적어도 하나를 발생하는 단계; 및
    하단 한계값이 만족되지 않는 경우, 할당 지정 알고리즘에서 거주 시간이 하단 한계값 이하인 프레임의 수에 비례하는 상태외 전이(out of state transition) 불이익을 상태외 전이 스코어에 지정하는 것과,
    상태에 지정된 프레임의 상단 한계값을 넘는 경우, 거주 시간이 상단 한계값 이상인 프레임의 수에 비례하는 자체 루프(self loop) 불이익을 자체 루프 스코어에 지정하는 것
    중 적어도 하나를 지정하는 단계
    를 포함하는 것을 특징으로 하는 무선 통신 디바이스.
  3. 제2항에 있어서,
    상기 방법은 거주 시간이 상단 및 하단 한계값 사이에 있는 경우 불이익을 적용하지 않는 단계를 더 포함하는 것을 특징으로 하는 무선 통신 디바이스.
  4. 제2항에 있어서,
    자체 루프 한계값을 지정하는 단계는 거주 시간이 상단 한계값 이상에 남아있는 시간이 길수록 점차적으로 증가되는 불이익을 지정하는 것을 특징으로 하는 무선 통신 디바이스.
  5. 제2항에 있어서,
    상단 및 하단 한계값은 음성 인식 시스템 메모리에 저장된 각 모델의 각 상태에 대해 발생되는 것을 특징으로 하는 무선 통신 디바이스.
  6. 제5항에 있어서,
    각 모델의 각 상태에 대한 한계값은 프레임 정렬 알고리즘에 각 모델에 대한 각 상태에 적용될 때 적용되는 것을 특징으로 하는 무선 통신 디바이스.
  7. 제1항에 있어서,
    상태 기간 정보의 함수로 음성 인식 시스템에서 스코어에 불이익을 지정하는 방법은,
    적어도 한 상태에서 거주 시간의 함수로 유도되는 상단 및 하단 상태 전이 한계값을 적어도 한 상태의 각각에 대해 식별하는 단계;
    하단 상태 전이 한계값을 갖는 각 상태에 대해, 상태 거주 시간이 하단 상태 전이 한계값에 이르지 않으면, 비례하는 상태외 전이 불이익을 상태외 전이에 지정하는 단계; 및
    상단 상태 전이 한계값을 갖는 각 상태에 대해, 그 상태에 지정된 프레임의 최대수를 넘으면, 비례하는 자체 루프 불이익을 지정하는 단계
    를 포함하는 것을 특징으로 하는 무선 통신 디바이스.
KR1020000008390A 1999-02-23 2000-02-22 음성 인식 시스템과 연관된 확률에 불이익을 선택적으로지정하는 방법 KR100321463B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/256,031 US6233557B1 (en) 1999-02-23 1999-02-23 Method of selectively assigning a penalty to a probability associated with a voice recognition system
US09/256,031 1999-02-23
US9/256,031 1999-02-23

Publications (2)

Publication Number Publication Date
KR20000071364A true KR20000071364A (ko) 2000-11-25
KR100321463B1 KR100321463B1 (ko) 2002-03-18

Family

ID=22970843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000008390A KR100321463B1 (ko) 1999-02-23 2000-02-22 음성 인식 시스템과 연관된 확률에 불이익을 선택적으로지정하는 방법

Country Status (4)

Country Link
US (1) US6233557B1 (ko)
KR (1) KR100321463B1 (ko)
CN (1) CN1145140C (ko)
GB (1) GB2347253B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152575A1 (ko) * 2010-05-31 2011-12-08 주식회사 클루소프트 발음기관 애니메이션 생성 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556969B1 (en) * 1999-09-30 2003-04-29 Conexant Systems, Inc. Low complexity speaker verification using simplified hidden markov models with universal cohort models and automatic score thresholding
AU2001255338A1 (en) * 2000-05-04 2001-11-12 Motorola, Inc. Method of traceback matrix storage in a speech recognition system
US7162426B1 (en) * 2000-10-02 2007-01-09 Xybernaut Corporation Computer motherboard architecture with integrated DSP for continuous and command and control speech processing
US7219058B1 (en) * 2000-10-13 2007-05-15 At&T Corp. System and method for processing speech recognition results
US7593845B2 (en) * 2003-10-06 2009-09-22 Microsoflt Corporation Method and apparatus for identifying semantic structures from text
GB0410248D0 (en) 2004-05-07 2004-06-09 Isis Innovation Signal analysis method
JP4557919B2 (ja) * 2006-03-29 2010-10-06 株式会社東芝 音声処理装置、音声処理方法および音声処理プログラム
US10650055B2 (en) * 2016-10-13 2020-05-12 Viesoft, Inc. Data processing for continuous monitoring of sound data and advanced life arc presentation analysis
US10304445B2 (en) * 2016-10-13 2019-05-28 Viesoft, Inc. Wearable device for speech training
US10511585B1 (en) * 2017-04-27 2019-12-17 EMC IP Holding Company LLC Smoothing of discretized values using a transition matrix

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4761815A (en) * 1981-05-01 1988-08-02 Figgie International, Inc. Speech recognition system based on word state duration and/or weight
US4481593A (en) 1981-10-05 1984-11-06 Exxon Corporation Continuous speech recognition
US4489434A (en) 1981-10-05 1984-12-18 Exxon Corporation Speech recognition method and apparatus
GB2179483B (en) 1985-08-20 1989-08-02 Nat Res Dev Apparatus and methods for analysing data arising from conditions which can be represented by finite state machines
JPS62231993A (ja) 1986-03-25 1987-10-12 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン 音声認識方法
US5129000A (en) * 1986-04-05 1992-07-07 Sharp Kabushiki Kaisha Voice recognition method by analyzing syllables
JPS62235998A (ja) * 1986-04-05 1987-10-16 シャープ株式会社 音節識別方式
JPH04504178A (ja) 1989-01-05 1992-07-23 オリジン・テクノロジー・インク 音声処理装置とそのための方法
US5148471A (en) 1989-11-20 1992-09-15 Motorola, Inc. Communications device with voice recognition and movable element control interface
GB2240203A (en) 1990-01-18 1991-07-24 Apple Computer Automated speech recognition system
GB9021489D0 (en) 1990-10-03 1990-11-14 Ensigma Ltd Methods and apparatus for verifying the originator of a sequence of operations
JPH04207341A (ja) 1990-11-30 1992-07-29 Sony Corp 無線電話装置
AU5803394A (en) * 1992-12-17 1994-07-04 Bell Atlantic Network Services, Inc. Mechanized directory assistance
US5602963A (en) 1993-10-12 1997-02-11 Voice Powered Technology International, Inc. Voice activated personal organizer
JPH08186654A (ja) 1994-12-22 1996-07-16 Internatl Business Mach Corp <Ibm> 携帯端末装置
GB2327555B (en) 1997-07-16 2002-07-17 Nokia Mobile Phones Ltd Radio telephone
US6226612B1 (en) 1998-01-30 2001-05-01 Motorola, Inc. Method of evaluating an utterance in a speech recognition system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152575A1 (ko) * 2010-05-31 2011-12-08 주식회사 클루소프트 발음기관 애니메이션 생성 장치 및 방법

Also Published As

Publication number Publication date
CN1264891A (zh) 2000-08-30
GB0003940D0 (en) 2000-04-12
GB2347253A (en) 2000-08-30
KR100321463B1 (ko) 2002-03-18
US6233557B1 (en) 2001-05-15
CN1145140C (zh) 2004-04-07
GB2347253B (en) 2001-03-07

Similar Documents

Publication Publication Date Title
EP0706171B1 (en) Speech recognition method and apparatus
JP3742236B2 (ja) 音声認識のための隠れマルコフ・モデルの適応技術
US5999902A (en) Speech recognition incorporating a priori probability weighting factors
US6405168B1 (en) Speaker dependent speech recognition training using simplified hidden markov modeling and robust end-point detection
EP0966736B1 (en) Method for discriminative training of speech recognition models
JP4491210B2 (ja) 再帰的構成における反復ノイズ推定法
US7050975B2 (en) Method of speech recognition using time-dependent interpolation and hidden dynamic value classes
JPH08234788A (ja) 音声認識のバイアス等化方法および装置
EP1465154B1 (en) Method of speech recognition using variational inference with switching state space models
KR100321463B1 (ko) 음성 인식 시스템과 연관된 확률에 불이익을 선택적으로지정하는 방법
JPH0372998B2 (ko)
EP1557823A2 (en) Method of setting posterior probability parameters for a switching state space model and method of speech recognition
WO1998040876A9 (en) Speech recognition system employing discriminatively trained models
US6246980B1 (en) Method of speech recognition
US20050228666A1 (en) Method, apparatus, and system for building context dependent models for a large vocabulary continuous speech recognition (lvcsr) system
US6275800B1 (en) Voice recognition system and method
CA2247747A1 (en) Search and rescoring method for a speech recognition system
JPH08211889A (ja) 木構造を用いたパターン適応化方式
Huang et al. Deleted interpolation and density sharing for continuous hidden Markov models
Zhang et al. Effective online unsupervised adaptation of Gaussian mixture models and its application to speech classification
Minami et al. Recognition method with parametric trajectory generated from mixture distribution HMMs
JP2000075890A (ja) ヒドン・マルコフ・モデルの学習方法及び音声認識システム
GB2347254A (en) Method of traceback matrix storage in a speech recognition system
JP4653673B2 (ja) 信号判定装置、信号判定方法、信号判定プログラムおよび記録媒体
Dimov et al. Heuristic improvements of the HMM use in isolated word speech recognition

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 17