[과학이 보인다] 음성인식기술

LG정보통신이 최근 사람 음성을 알아듣는 PCS를 개발한 후 음성인식 기술에 대한 관심이 높아지고 있다. 그러면 컴퓨터는 어떻게 사람 말을 인식할 수 있을까 궁금해진다.

영어를 배우기 시작한 사람이 가장 먼저 하는 일은 바로 알파벳을 익히는 것이다. 그러나 알파벳 하나씩은 소리를 만들지 못한다. 자음과 모음이 결합해 소리의 단위를 이룰 때만 비로소 음성, 혹은 말이라고 할 수 있다. 이러한 말 소리 단위를 음소라고 한다.

그러면 컴퓨터는 어떻게 말속에 들어 있는 음소를 인식할까. 우선 소리라고 하는 것은 물체의 떨림이므로 사인파와 같은 파형을 생각할 수 있다. 다만 소리는 단순한 하나의 파가 아니라 수많은 사인파들이 합쳐져 상당히 불규칙하게 보이는 파동이다.

컴퓨터는 0과 1이라는 디지털 언어를 사용하므로 음성을 컴퓨터에 넣으려면 파동을 디지털 형태로 바꾸어야 한다. 즉 연속적인 파형을 토막토막 잘라서 숫자로 바꾼 다음 입력해야 하는데, 이것을 표본화(샘플링)라고 한다. 일반적으로 음악을 들을 때 사용하는 CD플레이어는 약 44㎑로, 즉 1초를 약 4만4천 조각으로 나누어 저장한다. 그러나 음성은 16㎑ 이하로 조각을 적게 나누어도 원음을 크게 왜곡시키지 않고 저장할 수 있다. 잘게 자르면 자를수록 본래음에 가까워지지만 그러면 데이터 양이 많아져 기억용량이 많이 필요하다.

소리를 디지털 신호로 분리해내는 이러한 기능은 컴퓨터에 흔히 쓰이는 사운드카드가 담당한다. 사운드카드에 연결된 마이크에 소리를 들려주면 사운드카드는 음성을 모두 조각내 디지털 신호로 분해한 다음, 이것을 메모리 또는 하드디스크에 저장한다.

음성을 음소단위로 나누어 저장하려고 할 때 음소가 장음, 단음 등 길이가 서로 달라 어려움이 따른다. 이 문제를 해결하기 위해 음성을 약 10∼20㎱(1백분의 1초)의 일정한 길이로 나누는데 이것을 프레임이라고 부른다.

이제 이 조각들에서 주파수 스펙트럼을 구한다. 피아노 건반을 여러개 동시에 누르면 화음이 들리는데, 이것을 다시 각각의 음으로 나누어 펼치는 것과 같다. 백색광인 햇빛이 프리즘을 통과하면 무지개 색으로 나뉘는 것처럼 소리도 한가지 파동으로 된 것이 아니라 여러 파동이 겹쳐져 있는 것이다. 음파를 분리할 때는 특정한 주파수의 소리만 통과시키는 필터나 푸리에 변환 등의 방법을 주로 사용한다.

지금 시판되고 있는 「말로 거는 PCS」는 사용하기 전에 몇 개의 단어를 미리 등록해놓아야 한다. 즉 「우리 집」 「회사」 등 가장 자주 전화하는 곳을 녹음하고 전화번호를 등록한다. 그 후에는 전화기에다 「우리 집」 「회사」라고 말하면 기계가 사람의 말을 인식, 자동으로 전화가 걸리는 것이다.

「우리 집」 「본부」 등을 기계가 구별할 수 있는 것은 처음에 발음할 때 각각의 소리에 대해 특징 파라미터를 구해 저장해 놓았기 때문이다. 이처럼 비교를 위해 미리 등록해놓은 파라미터를 표준 패턴이라고 한다. 기계는 이제 새로 들은 음성의 특징 파라미터를 구한 다음, 먼저 저장해놓은 것들과 차례로 비교해서 가장 비슷한 것을 그 말로 인식하는 것이다.

그러나 문제는 사람이 음악시간에 발성연습을 하듯이 모음을 하나하나 발음하지 않는 다는 점이다. 사람은 말을 할 때는 몇개의 자음과 모음을 번갈아가며 발음하는데, 이렇게 음소들이 이어지면 특징 파라미터의 모양이 조금씩 변해버리는 것이다. 즉, 음성은 연속해서 발음되기 때문에 음소들 사이에서 이것도 저것도 아닌 애매한 특성이 나오게 된다. 영어 공부를 할 때, 아무리 애를 써도 미국인의 발음을 모두 받아 적을 수 없는 것도 이 때문이다.

이러한 문제점을 해결하기 위해 음소를 하나하나 인식하는 것보다 아예 단어를 통째로 인식하는 방법이 개발됐다. 단어를 인식할 때에도 발음을 프레임으로 나눈 후 특징 파라미터 값(벡터)를 계산하는 것은 음소를 인식하는 것과 마찬가지 원리이다.

지금까지 기계가 사람 말을 인식하는 원리를 소개했다. 그러나 이것은 음소나 단어를 인식하는 방법에 국한된 것으로 사람의 자연어 인식을 위한 기술의 극히 일부분에 지나지 않는다.

사람 말을 문장 형태로 인식하기 위해서는 문법을 사용해야 한다. 우리가 영어 문법을 모르는 채 수십만 단어를 모두 외운다고 해서 영어를 이해할 수 없는 것과 같은 이치이다.

또 기침소리나 「에-」라고 말하는 등 의미없는 소리를 구별하는 문제, 소음이 심한 차안에서의 음성을 인식하는 방법 등 앞으로도 풀어야 할 과제는 많다.

<서기선 기자>


브랜드 뉴스룸