Speech  Recognition  이란 무엇인가?

 

Wikipedia : Speech recognition

음성 인식 시스템을 분류할 때에는 여러 가지 변수에 따라 다음과 같이 나눌 수 있다.

발음 방식

고립단어 인식(isolated word recognition), 연속 음성 인식(continuous speech recognition), 낭독체, 대화체(자연음성)

화자 (speaker)

화자 종속(speaker-dependent), 화자 독립(speaker-independent), 화자 적응(speaker adaptation)

단어의 수

소(1~99), 중(100~999), 대( 1000)

언어 모델

유한 상태 네트워크(finite-state network), 문맥 의존(context-sensitive grammar)

단어 혼잡도

낮음( <10), 높음( >100)  : 단어의 애매성과 음향학적 혼동성 (ambiguity  and confusability)

SNR (잡음비)

높음( >30dB), 낮음( <10dB)  : signal noise ratio 주변 환경에 따른 소음 정도

음성인식을 위해서는 많은 다양한 기술들이 사용된다. 또한 음성 인식,해석,이해 (speech recognition / analysis / understanding) 를 위해서는 많은 단계가 필요하다.

전형적으로 음성인식은 음성의 digital sampling 에서 시작된다. 다음 단계는 음향 신호 처리다 (acoustic signal processing). 대부분의 기술은 모호한 분석 (spectral analysis) 을 포함한다. 예를들면 LPC analysis (Linear Predictive Coding), MFCC (Mel Frequency Cepstral Coefficients), cochlea modelling 등등이다....

다음 단계는 음소의 인식이다 (recognition of phonemes). 음소들의 그룹과 단어를 포함한다. 이 단계에서 사용되는 기술들은 다음과 같다. DTW (Dynamic Time Warping), HMM (hidden Markov modelling), Neural Networks, expert systems and combinations of technique.

대부부의 시스템들은 인식과정에 더해서 어느정도의 언어에 대한 지식(knowledge of the language)을 이용한다. 몇몇 시스템은 음성을 "이해"해서 그들이 인식한 단어를 화자가 말하려는 의미로 표현되도록 변환시킨다.

음성인식 알고리즘으로는 DTW (Dynamic Time Warping), HMM (hidden Markov modelling), Neural Networks 등이며, 최근까지 음성 인식에 가장 많이 사용되며 성공적이었던 알고리즘은 HMM (hidden Markov model)이었다. HMM은 이중 통계적 모델로서, 기본이 되는 음소열의 생성과 프레임 단위의 표면적 음향학적인 표현을 Markov 과정과 같이 확률로서 나타낸다. 프레임 단위의 점수를 예측하는데 Neural network이 사용되기도 하며, HMM 시스템과 결합되어 혼합 모델로서 사용되기도 한다. ..............

음성인식에서는 다음과 같은 문제가 있다.

이상과 같은 문제점이 있기 때문에, 예를 들어 '노고지리'라고 발음해도 '노고리비'로 듣는다거나, '아빠'라 한 것이 '아파' '업어' '앞발'이라고 해석되는 등의 사태가 일어난다. 이것이 음성인식의 어려움이다.

어휘에서의 유사성은 인식 시스템의 성능에 직접적인 영향을 미친다. 일반적으로 어휘에서의 유사성은 애매성과 혼동성으로 구별된다. 음향학적인 애매성은 "know" 와 "no", "two" 와 "too", 또는 "to" 등과 같이 비슷한 음향적인 특성을 보이는 것을 말하며, 혼동성은 "bee", "see", "pea" 등과 같이 단어의 부분적 유사성으로 인한 혼동을 말한다. 특히 외국인에 의한 발음의 경우 애매성과 혼동성이 더욱 증폭이 된다. 일반적으로 음향학적인 애매성은 음향학적 단계에서는 구별이 어렵기 때문에 높은 단계 (즉, 언어적 단계나 운율적 단계 등) 에서 처리가 되어야 하며, 음향학적 혼돈성은 음향 단계에서 어느 정도의 해결책이 있으나, 좀 더 낳은 성능을 위해서는 높은 단계에서의 처리가 요구된다.

위에서 설명한 음성인식의 어려움 이외에도 신호와 관련된 많은 변이로 인하여 음성 인식이 어렵게 된다. 먼저, 각 단어의 구성되는 최소 단위인 음소의 음향학적인 표현은 표현되는 문맥에 매우 종속적이다. 이들 음성의 변이 (phonetic variability) 는 영어에서의 two, true, butte r에서의 /t/ 발음과 같이 음소의 차이로서 예시화될 수 있다. 또한, 단어의 경계에서 문맥의 변이는 더욱 심하게 발생하는데, 예를 들면 우리말에서의 "맛있다"가 "마시따" 또는 "마디따" 처럼 발성되는 경우이다. 둘째로, 전달자 (transducer) 의 위치나 특성에 따른 음향학적인 변이 (acoustic variability) 로 인해 발생되는 문제이다. 세 번째는 화자의 물리적 또는 감정적인 상태에 따라, 발성 속도 (speaking rate) 나 음질의 변화로 인해 야기되는 화자내부 변이 (within-speaker variability) 가 있다. 마지막으로, 사회 언어학적인 차이에서 발성하는 화자간 변이 (across-speaker variability) 를 들 수 있는데, 대표적인 현상으로는 성도 (vocal tract) 의 크기나 모양의 차이를 들 수 있다.