음성인식 기술의 분류

음성은 인간이 사용하는 가장 보편적이고 편리한 정보전달의 수단이라 할 수 있다. 음성에 의해 표현되는 말은 인간과 인간사이의 의사소통의 수단으로서뿐만 아니라 인간의 음성을 이용하여 기계 및 사용 장치를 동작시키는 수단으로서도 중요한 역할을 한다. 최근 컴퓨터 성능의 발전, 다양한 미디어의 개발, 신호 및 정보처리 기술의 발전으로 인해 Man Machine Interface의 필요성이 크게 대두되고 있다.

음성신호의 인식 기술은 크게 음성 인식(Speech Recognition)과 화자인식(Speaker Recognition)으로 분류된다. 음성 인식은 다시 특정 화자에 대해서만 인식하는 화자종속(Speaker Dependent) 시스템과 화자에 상관없이 인식하는 화자독립(Speaker Independent) 시스템으로 나뉘어진다. 화자종속 음성 인식은 사용 전에, 사용자의 음성을 저장, 등록시키고, 실제 인식을 수행할 때는 입력된 음성의 패턴과 저장된 음성의 패턴을 비교하여 인식한다.

음성 인식 시스템을 구현하려고 할 때는 적용분야의 특성과 구현될 시스템의 경제성을 고려하여 적절한 방식을 선택하여야 하며 음성 인식 기술의 분류와 적용사례는 아래 표와 같다.

분류기준 내용 적용
적용화자 화자종속 미리 등록한 특정화자만을 대상.
인식 성능이 뛰어남.
휴대폰 Voice dialing
화자독립 불특정 화자를 대상.
대용량의 음성 데이터베이스 필요.
Directory
assistance 서비스
발음형태 고립어 고립어 고립 단어 인식.
단어 앞뒤에 상당한 묵음구간 존재.
Voice 브라우저
연속어 연결단어, 연속문장 및 대화체 음성 인식.
다양한 발음변이를 고려한 기준패턴과Task에 맞는 언어모델이 필요.
적용방법에 따라 핵심어 인식 기술도 요구됨.
음성 타이프라이터,
자동예약시스템,
대화형 컴퓨터
어휘 수 소용량 수백 단어 이하. 단어를 개개의 모델로 구성하거나 문맥 독립 형 모델 사용. PC commander
대용량 수만 단어 이상. 문맥을 고려한 수천 개의 sub-word 형태의 모델단위 사용. 음성 타이프라이터, 방송용 뉴스transcription

음성인식 시스템의 구성

대부분의 음성 인식 시스템들은 일반적으로 아래그림과 같은 구성을 가지고 있으며, 우선 입력된 신호 중에서 실제 사람이 발성한 음성 신호만을 검출하여 특징을 추출하고 이것으로 기준 음향모델과의 유사도를 측정해 패턴을 분류하고 언어모델을 기반으로 언어로써 처리하여 최종 문장으로 인식하게 되는 것이다.

음성인식 시스템의 일반적 구성

음성 검출

음성신호를 입력받게 되면 실제 화자가 발성한 음성부분만을 검출하여야 하는데 이 음성 검출 부분은 인식성능에 매우 큰 영향을 미친다. 왜냐하면 아무리 좋은 음성 인식 알고리즘을 사용한다 하더라도 음성검출이 제대로 이루어지지 않으면 좋은 인식률을 기대하기 어렵기 때문이다. 특히 전화선을 통한 발성에서와 같이 잡음이 많은 환경에서는 검출된 구간에 잡음이 포함되는 경우가 많다. 따라서 인식률을 높이기 위해서는 음성 인식에 앞서 정확한 음성검출이 요구된다.

특징 추출

실음성을 검출한 다음에는 음성의 특징을 추출한다. 음성은 똑같은 언어라 할지라도 발음하는 사람의 성별, 나이, 발음 시의 상태 등에 따라 매우 복잡하게 변할 뿐 아니라 단독으로 발음될 때와 단어나 문장 내에서 발음 될 때마다 그 성질이 변하기 때문에 음성의 특징을 잘 표현할 수 있는 특징검출이 중요하다. 즉, 특징 추출 과정에서는 불필요하게 중복되는 음성정보를 없애고 동일 음성 신호들 간의 일관성을 높임과 동시에 다른 음성 신호와는 변별력을 높일 수 있는 정보를 추출해야 한다. 이러한 정보를 특징벡터라고 한다.

음성 인식/매칭 (패턴분류)

특징 추출에서 얻어진 특징벡터는 유사도 측정 및 인식과정을 거치게 된다. 유사도 측정 및 인식을 위해서는 음성의 신호적인 특성을 모델링하여 비교하는 음향모델과(Acoustic Model) 인식어휘에 해당하는 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어모델(Language Model)이 사용된다. 음향모델은 다시 인식대상을 특징벡터 모델로 설정하고 이를 입력신호의 특징벡터와 비교하는 직접비교 방법과 인식대상의 특징벡터를 통계적으로 처리하여 이용하는 통계방법으로 나뉘어 진다. 직접비교 방법은 인식대상이 되는 단어, 음소 등의 단위를 특징벡터 모델로 설정하고 입력음성이 이와 얼마나 유사한가 비교하는 방법이다. 대표적인 것으로 벡터양자화(Vector Quantization) 방법이 있는데, 앞서 구한 특징벡터 또는 계수들을 기존 모델인 코드북(Codebook)과 매핑시켜 대표 값으로 부호화함으로써 이 부호 값들을 서로 비교하는 방법이다. 통계적 모델방법은 인식대상에 대한 단위를 상태 열(State Sequence)로 구성하고 상태 열간의 관계를 이용하는 방법이다. 상태 열은 복잡한 모델을 표시할 수 있어 간단한 단어인식을 제외하고는 대부분의 음성 인식이 이 기술을 이용한다. 상태 열간의 관계를 이용하는 방법은 다시 DTW(Dynamic Time Warping)과 같이 시간적 배열관계를 이용하는 방법, HMM과 같이 확률값, 평균, 그리고 분산을 비교대상으로 하는 통계적 방법, 그리고 인공신경망을 이용하는 방법이 있다.

음성인식의 기술분류체계

음성인식과 관련된 기술은 아래와 같이 크게 인식부문과 응용부문으로 분류된다.

대분류 중분류
인식부문 특징추출(Feature Extraction)
인식(Matching)
기초기술
응용부문 카드 & 음성인식응용(Voice or speech Recognition Application using Card)
기기 원격제어 기술
전자상거래/전자화폐
Vehicle (운전자 인증, 운전자 상태(졸음운전)검출)
Door Lock (Access Control)
기타 응용

음성 특징추출 기술

현재 사용되고 있는 주요 특징벡터 추출 기술들로는 선형예측계수(Linear Predictive Coefficient), 켑스트럼(Cepstrum), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient, MFCC), 주파수 대역별 에너지(Filter Bank Energy) 등이 있다.

선형예측계수(Linear Predictive Coefficient) 기술

현재의 신호는 이전의 신호들의 조합으로 알 수 있다는 개념을 이용한 것이다. 과거의 일정 개수의 샘플 값들에 계수를 각각 곱하고 이를 총 합한 값으로 현재의 샘플값을 예측하려는 시도에서 출발한다. 이 계수들을 선형예측계수(LPC)라 하고 이를 전달함수 입장에서 보았을 때 전극(All-pole)모델을 이룬다.

각 극성분들은 주파수상에서 공명주파수의 위치를 의미하는데 이는 스펙트럼 포락선을 근하화한 형태로 성도의 전달함수를 표현해준다. LPC를 추출하는 과정으로는 구간내의 자기상관계수를 구하고 이를 재귀적인 방법을 통해서 빠르게 계산하는Durvin의 알고리즘이 개발되어 있다. LPC계수를 기반으로 하여 음성인식에 효과적인 켑스트럼 계수로 변환하여 사용하기도 한다. 켑스트럼은 로그 스펙트럼을 푸리에 변환 한 것으로 성도모델에 관한 파라미터와 입력 기저신호에 관한 모델을 선형적으로 분리함으로써 성도 모델을 나타내는 파라미터 추출에 유리한 추출 방법이다.

켑스트럼(Cepstrum) 기술

음성 신호의 특징벡터인 선형예측계수를 화자의 변동에 따른 변화와 무관하게 강인한 인식률을 유지하는데 도움을 주기 위한 방법으로 선형예측계수보다 잡음에 훨씬 강인하다.

멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient, MFCC) 기술

음성인식의 가장 대표적인 특징 추출 방법인 MFCC 추출방법으로 사람의 귀가 주파수 변화에 반응하게 되는 양상이 선형적이지 않고 로그스케일과 비슷한 멜스케일을 따르는 청각적 특성을 반영한 켑스트럼 계수 추출 방법이다.

멜 스케일에 따르면 낮은 주파수에서는 작은 변화에도 민감하게 반응하지만, 높은 주파수로 갈수록 민감도가 작아지므로 특징 추출시에 주파수 분석 빈도를 이와 같은 특성에 맞추는 방식이며, 음성 신호의 특징벡터인 선형예측계수를 화자의 변동에 따른 변화와 무관하게 강인한 인식률을 유지하는데 도움을 주기 위한 방법이기 때문에 선형예측계수보다 잡음에 훨씬 강인하다.

주파수 대역별 에너지(Filter Bank Energy) 기술

음성신호의 특징을 추출하기 위해 각 대역통과 필터를 통과한 출력의 에너지 값을 음성 특징으로 사용하는 방법으로 구현의 용이성과 다양한 응용성 때문에 음성 인식에서 주로 많이 쓰이는 모델 중의 하나이다.

주파수 대역별 에너지(Filter Bank Energy) 기술

음성신호의 특징을 추출하기 위해 각 대역통과 필터를 통과한 출력의 에너지 값을 음성

음성인식 기술

현재 사용되고 있는 주요 음성인식 기술로는 VQ, HMM, DTW 방법이 이용되고 있다.

VQ(Vector Quantization) 기술

연속 혹은 떨어진 벡터들을 코드 북과 mapping시켜 통신하기에 적절한 digital sequence로 부호화 하는 방법을 말한다. VQ의 목적은 데이터 감축으로 데이터의 충실도를 잃지 않으면서 비트율을 줄이는 일이다. 스칼라 대신 벡터 코딩 방식을 사용하는 것은 데이터 감축에 있어 스칼라 대신 벡터로 조합된 신호를 코딩하는 것이 적은 데이터율로서 좋은 성능을 얻을 수 있기 때문이다.

신호를 양자화 할 때 PCM이나 DM처럼 부호화하는 스칼라 부호화 방식과 연속된 입력샘플의 벡터를 부호화하는 방식으로 나누어서 생각할 수 있다. 표준 입력 신호를 사용하여 구한 학습벡터를 이용하여 코드 북을 만든다. 코드북이란 표준 입력신호를 대표하는 기준 벡터의 집합으로 이루어진다. 음성신호의 경우 시간 축 상의 신호는 변별적 특징이 적어서 음성을 단 구간 신호인 프레임 단위로 바꾸고 이것이 가지는 변별적 특징이 큰 특성벡터로 변환한다. 이렇게 코드 북이 구성되면 입력신호를 받아들여 코드 북을 만들때와 같이 프레임 단위로 하여 특성벡터의 신호를 얻어낸 다음 코드북과 최고 유사도를 나타내는 코드가 matching이 되는 코드이다.

HMM (통계적 패턴 인식을 이용) 기술

단어 또는 음소의 음향모델을 구성하는 효과적인 방법으로 hidden Markov model(HMM)이라 불리우는 통계적 모델이 주로 사용되며, 아래그림에서 그 예를 나타내었다. 그림에서 보는 바와 같이 HMM은 음향학적으로 유사한 특징을 가지는 음성 구간을 표현하는 복수 개의 상태들과, 이들 상태간의 천이확률 { aij }, 그리고 각 상태에서 음성 특징 벡터들의 관찰확률분포 { bj ( x ) }로 이루어진다.

Hidden Markov Model(HMM)

이 방법은 음성단위에 해당하는 패턴들의 통계적인 정보를 확률모델 형태로 저장하고 미지의 입력패턴이 들어오면 각각의 모델에서 이 패턴이 나올 수 있는 확률을 계산함으로써 이 패턴에 가장 적합한 음성단위를 찾아내는 방법이다. HMM 방법에서는 음성신호를 상태 천이 확률과 각 상태에서의 관찰확률이라는 두 단계에 걸친 확률과정으로 표현하며, 이 때 Markov 특성을 갖는 상태열은 직접 관찰될 수 없기 때문에 Hidden Markov 모델이라 부른다. 이 방법에서는 음성신호로부터 모델의 파라미터들을 추정하고 추정된 모델과 입력된 음성패턴과의 유사도를 측정하는 과정들이 명확하게 정의되어 있으며, 모델훈련에 필요한 양의 음성 데이터가 준비될 경우 성능 면에서도 가장 우수한 것으로 평가되고 있어서 현재 음성인식을 위한 패턴인식 방법으로 가장 널리 사용되고 있다. 특히 통계적인 언어모델이 사용될 경우 HMM 방법은 음성처리 및 언어처리를 단일구조로 처리할 수 있다는 장점을 가진다.

아래 그림은 음성 특징벡터열이 주어졌을 때, Viterbi 디코딩에 의해 최적 상태열을 찾는 과정을 나타내고 있다.

HMM 디코딩 과정의 예

DTW (템플릿 기반의 패턴 매칭 방법을 이용) 기술

DTW을 이용한 음성인식 시스템은 화자종속 고립어 인식시스템 구성에 주로 이용되며 인식률이 높다는 장점이 있는 반면, 단어 수가 증가하면 계산량이 상당히 늘어나는 단점도 있다.

음성인식 기술의 장, 단점

음성인식 기술은 인간에게 가장 손쉬운 입력수단을 제공하는 높은 편리성을 가지고 있지만 사용자의 발성이 제한되고 녹취된 사용자의 음성을 이용한 도용가능 등 아래와 같은 장, 단점들이 존재한다.

구분 내용
단점 음성 도용 가능
녹취된 사용자의 음성을 이용한 음성도용이 가능함
낮은 인식률
사용자의 발성이 제한되며 인식되는 단어의 특성이 단어의 발음에 따라 인식되므로 낮은 인식률을 가지고 있음
장점 편리성
인간에게 가장 손쉬운 입력 수단으로써, 키보드입력과 같은 숙련을 요하지 않으며, 이동하면서 입력할 수도 있는 등의 높은 편리성을 제공함
고속성
입력장치에 따라 상이하겠지만, 자판으로 입력하는 형태에 대비하여 2~6배 정도의 고속입력이 가능함