You cannot see this page without javascript.

좋은글 기계의 음성인식 원리

chanyi 2011.07.22 08:24 조회 수 : 1002

알리바바와 40인의 도둑 이야기에 나오는 신기한 동굴의 문은 ‘열려라. 참깨’라는 말에 문이 열린다. 옛날부터 사람들은 사람 아닌 물건, 혹은 동물들이 사람 말을 알아듣는 이야기를 많이 만들어냈는데, 이것이야말로 궁극의 상상력이 아닐까 싶다. 하지만, 정작 사람은 아무 불편 없이 다른 사람 말을 듣고 이해하는 것으로 보아, 분명히 그 속에는 말을 이해하는 원리가 있을 것이고, 오늘날에는 그 원리를 이용한 음성인식 제품들이 많이 만들어지고 있다.

 

 

사람이 소리를 내는 원리

우리가 소리를 알아듣는 방법을 이해하기 위해서는, 우선 사람이 소리를 내는 방법을 알아야 한다. 우리가 소리를 내면, 공기를 매질로 한 파동이 만들어지고, 그 파동은 듣는 사람의 귀 고막을 두드리는 것으로서 음성 정보를 전달하게 된다. 그럼, 사람은 소리를 어떻게 내는 것일까? 첫 번째 단계는, 횡격막이 수축하면서 허파 속의 공기가 밖으로 나오게 된다. 이때 목에 있는 성문(聲門)을 지나게 되는데, 성문에는 성대(聲帶)라는 한 쌍의 주름이 있다.

 

우리가 ‘아~’라는 음을 발성하면서 손을 목에 대었을 때 진동을 느끼게 되는데 바로 그 부분이 성대가 떨리고 있는 부분이다. 그럼 왜 그곳에서는 진동이 발생하게 될까? 우리는 지하철 플랫폼에서 전동차가 막 지나갈 때, 플랫폼 쪽에서부터 철로 방향으로의 힘을 느끼게 되는데, 이것은 베르누이의 정리때문에 발생하는 일이다. 사람의 성문에서도 그런 현상이 발생한다. 공기가 성문을 지나게 될 때 그 부분의 압력이 낮아지고, 힘은 압력이 높은 곳에서 낮은 곳으로 향하므로 그 결과 양옆에 있는 성대들이 서로 부딪히게 된다. 성문에서 발생하는 이러한 사건들은 사람의 목소리에 어떤 영향을 주는 것일까? 바로 음의 높낮이(pitch)를 결정하게 된다. 우리가 공기를 빠르게 보내면 압력이 더 낮아지고, 성대들이 서로 부딪히는 속도는 빨라지며 음의 높이는 높아지게 된다.

 

그럼, 실제 ‘아’, ‘어’와 같은 소리의 언어적 정보는 어디에서 만들어지는가? 성대에서 입술과 콧구멍까지의 통로를 성도(聲道)라고 부르는데 바로 이 성도를 지나면서 여러 가지 음이 만들어지게 된다. 성도의 상태, 즉 입을 크게 벌렸는지 작게 벌렸는지, 혀끝이 윗잇몸에 붙었는지 아닌지와 같은 여러 가지 상태에 따라서 다양한 소리가 나오게 된다.


성도(성대에서 입술 또는 콧구멍에 이르는 통로)의 시상단면(矢狀斷面)
<출처 : wikipedia>

 

 

음성 파형으로부터 언어 정보를 추출하는 방법

‘카’라고 발성했을 때의 음성 파형

  

위에 보이는 그림은 ‘카’라고 발성했을 때의 음성 파형이다. 위 그림에서 0.13초까지 ‘ㅋ’ 음에 해당하는 음성 파형이고 그 이후부터는 ‘아’ 음에 해당한다. ‘ㅋ’과 ‘아’ 음소(音素) 파형 중 ‘아’ 파형을 관찰해보면 시간 축 상에서 커다랗게 나타나는 피크 (peak)들이 보이는 것을 알 수 있다. 바로 이 피크들의 간격을 주기라고 말하고 이 시간 차이가 성대가 떨리는 주기와 일치하게 된다. 한편 ‘ㅋ’ 파형은 그런 피크들이 보이지 않는데 성대가 떨리지 않고 난류를 일으킨 무성음이기 때문이다. 그럼 음성 인식기는 위 음성 파형으로부터 어떻게 어떤 말인지 알아낼까?
 
음성 인식기는 음성 파형이 주어지게 되면, 매 1/100 초 단위로 그 시점에 있는 약 0.02초 정도 길이의 음편(音片)을 가져와서 분석하게 된다. 그 짧은 길이의 음성 파형은 여러 단계의 신호 처리를 거치게 되고 최종적으로 10개 이상의 숫자들이 나오게 되는데, 이 숫자들은 바로 그 시점에서의 성대와 성도의 상태를 나타내는 숫자들이다. 좀 더 쉽게 설명하면, 그 시점에서의 성대 진동 횟수와 입 모양을 그릴 수 있는 숫자들이다. 한편, 음성 인식 측면에서 보면, 사람은 어떠한 음높이의 ‘학교’라는 말을 들어도 모두 ‘학교’라는 언어 정보를 추출한다. 즉, 성대의 진동 주기는 언어 정보와 무관하다. 그러므로 그 숫자 중에서 성대 진동과 관련된 숫자들은 버리고 더이상 사용하지 않는다. 위의 이야기를 비유적으로 설명하면 다음과 같이 요약할 수 있다. 성문에서부터 입까지 찍는 특수한 사진기가 있다고 가정하고 그 사진기는 초당 100회 사진을 찍게 된다. 음성 인식은, 그 사진들을 시간 축으로 나열해 놓고 어떤 말일까 계산하는 과정이다.

 

 

연속 음성 인식기의 원리

음성인식 기술은 그 기술의 난이도에 따라 ‘고립 단어 인식’과 ‘연속 음성 인식’으로 크게 나뉜다. 예를 들어 인식 대상 어휘가 ‘서울’, ‘부산’ 두 개라고 가정하자. 이때 전자는 ‘서울’과 ‘부산’ 딱 두 개 어휘만 인식하는 기술이고, 후자는 이 두 개 어휘의 모든 조합, 즉 ‘서울 서울’, ‘서울 부산 서울’과 같이 어떠한 길이의 어휘 조합도 모두 인식하는 기술이다. 당연히 후자가 더 어려운 기술이다. 그리고 사람과 같은 수준의 음성 인식기를 개발하고자 한다면, 후자의 기술이 사용되어야 한다. ‘연속 음성 인식’을 수학식으로 표현하면 아래와 같다.

 

  

 

음성 인식을 위해서는 당연히 소리를 우선 들어야 하고, T 시간까지 발성된 음성이라면 이 음성은 라고 쓰자. 다음 단계는, 어떤 말일까 예측을 해야 하는데 그 말이 몇 개의 단어로 되어 있는지 모르므로 이라고 쓰고 여기서 m은 단어의 수가 된다. 첫 번째 식의 의미는, 음성이 주어졌을 때 모든 단어 조합에 대해서 가장 확률적으로 가능성이 큰 단어 열이 바로 우리가 찾고 싶은 단어 열이고 그것이 음성인식의 결과 이라는 의미이다.


위에서 첫 번째 식은 베이즈 정리 (Bayes’ Theorem)에 의해서 두 번째 식이 되고, 는 해당 음성 자체가 입력될 확률인데 이 값은 어떤 단어 열을 선택하든 언제나 분모로 있으므로 전체 식에 영향을 주지 않아 제거할 수 있다. 마지막 식에서 을 음향 모델(acoustic model)이라고 부르고 을 언어 모델(language model)이라고 부르는데, 이 두 모델의 확률 곱이 최대가 되는 이 우리가 찾고 싶은 최종 결과이다.


그럼, 두 모델의 의미는 무엇일까? 우선 을 보면 음성 파형을 의미하는 가 없다. 즉, 파형을 보지도 않고 그 음성이 무엇일까 예측하는 확률이다. 예를 들어, 오늘이 올림픽 개최일이라고 가정하자. 그렇다면, 사람들은 아마도 ‘올림픽’이라는 단어를 사용할 가능성이 클 것이다. 그러므로 누군가 무슨 말을 했는데 그 말을 맞추어야 한다면, ‘올림픽’ 아니냐고 이야기하는 것이 가장 합리적인 생각일 것이다. 정리하면 은 사람이 발화 시점에 어떤 단어들을 말할 확률을 미리 계산해서 가지고 있는 값이다. 두 번째로 은 단어 ‘올림픽’을 발성했을 때 해당 음성이 발성될 확률을 의미한다. 예를 들어 네 살배기 어린아이가 ‘올림픽’을 발성하는 것과 성인이 발성하는 것, 그리고 성우가 발성하는 것은 쉽게 생각해도 음의 명료성에서 크게 차이가 있을 것이다. 어린아이가 발성한 ‘올림픽’은 ‘올림’이 ‘우리’처럼 들려서 어쩌면 ‘우리 엄마’에 가깝게 들릴지도 모르고, 그러면  가  보다 더 높은 확률값을 가지게 된다.

 

 

빠르게 인식하는 방법

위 음성 인식 수식을 보면, 모든 후보가 되는 단어 열에 대한 확률을 모두 구해야 하고 그 중 가장 높은 확률을 낸 단어 열을 선택하게 되어 있다. 한편, 단어 열 길이에 대해 제한이 없으므로, 상식적으로 생각해도 우리가 찾아야 하는 탐색 공간은 무한대가 되어 버린다. 그러므로 어떻게 빠르게 단어 열을 찾을 것인가가 중요한 문제가 된다. 이에 대한 해결책은 매우 단순하다. 모든 후보 단어 열에 대한 가능성을 열어두고 음성을 듣다가 정답이 아닐 것 같은 후보들을 탈락시키는 것이다. 마치 축구에서 토너먼트 경기를 하면서 한 팀씩 탈락하는 것처럼, 음성을 들으면서 가능성이 없는 후보는 빨리 탈락시킨다. 음성 신호가 모두 처리되었을 때는 그 험한 경쟁에서 살아남은 최종 승리자가 최종 인식 결과가 된다.

 

 

 

이상호 / NHN 기술연구팀 팀장
KAIST에서 한국어 문서-음성 변환 시스템에서의 운율 생성 모델로 박사학위를 받은 후, LG에서 음성 인식기 개발에 참여했으며, 현재는 네이버 음성 검색 시스템을 개발하는 기술연구팀에서 근무하고 있다.


발행일 
2011.03.24




원문출처 : http://www.soonpeng.co.kr/index.php?document_srl=1045166
본 사이트에서는 회원분들의 게시된 이메일 주소가 무단으로 수집되는 것을 거부합니다. 게시된 정보 및 게시물의 저작권과 기타 법적 책임은 자료제공자에게 있습니다. 이메일:chanyi@hanmail.net / 네이트온:youngchanyi@nate.com Copyright © 2001 - 2016 EnjoyEnglish.co.kr. All Right Reserved.