구글 한국어 음성검색 개발 이야기

작성일: 2010년 6월 21일 월요일

지난주에 드디어 구글 음성검색의 한국어 서비스를 소개했는데 벌써부터 사용자들의 반응이 매우 뜨겁습니다.

사용자들이 왜 음성검색에 열광할까요? 친구들과 함께 월드컵을 보다 '부부젤라 소리 줄이는 법'이 궁금할때 스마트폰에 문자로 입력하는 것 보다 음성으로 말하는 것이 훨씬 더 빠르고 편리하기 때문이죠. 사실 휴대폰에서 가장 자연스러운 의사소통 방법은 수화기를 통해 음성으로 말하는 것입니다.

많은 분들께서 구글 한국어 음성검색 서비스 개발 과정에 대해 궁금해 하시는 것 같아 오늘은 이에한 말씀을 드리려고 합니다.

한국어 음성 검색 개발을 위해 저희는 한국어를 모국어로 하는 분들의 음성을 수집하여 음성 검색의 밑바탕이 되는 언어 모델을 구축했습니다. 레스토랑, 길거리, 자동차 안 등 각기 다른 상황에서 인기 검색어를 직접 읽도록 했습니다. 구글은 이번 음성 검색의 한국어 서비스를 위해 약 수십만 개에 대한 단어 정보를 구축했습니다.

영어의 경우에는 한국과 영어 사용국가를 포함해 많은 나라에서 수년간 음성 인식 관련 연구가 진행되었지만, 한국어는 영어만큼 보편적이지 않은 언어입니다. 그러나 방법론 자체가 동일하기 때문에 한국어 음성 인식 또한 근본적으로 타언어 인식 시스템과 유사합니다. 좀 더 구체적으로 말하자면, 시스템의 기본 구조는 다양한 통계학 모델, 발음과 관련된 음성학 모델, 단어와 어구 등의 언어 모델, 각 단어의 발음 원칙을 담은 사전을 학습하는 원리로 구성되어 있습니다. 우선 음성학 모델 학습을 위해 한국어 연설문 녹취와 해당 녹취서를 다량으로 활용하였습니다. 언어 모델은 한국어 검색어를 이용해 학습했습니다. 이러한 훈련된 시스템에 음성 검색을 입력하면 가장 연관성 높은 검색어 문구가 해당 검색어의 검색 결과 화면과 함께 제시됩니다.

한국어 음성인식 시스템을 개발하면서 직면했던 도전과제는 다른 아시아 언어에서 발견했던 것들과 유사했는데 아래와 같이 대표적인 사항을 정리해 보았습니다.

● 한정된 한국어 사전 정보

영어의 경우 낱말과 발음간의 대응을 보여주는 사전이 시중에 많은 반면 한국어는 상대적으로 많지 않습니다. 따라서 수십만 개의 단어에 대한 발음 맵핑(mapping)을 새로 만들어야 했습니다. 다행히 15세기에 창제된 한글은 세계에서 가장 우수하고 직관적인 원리를 가진 언어 중 하나이기 때문에 한국어 소리 글자 대응 시스템 구축은 상대적으로 빠르게 진행할 수 있었습니다.

● 불규칙한 띄어쓰기
한국어는 일본어나 중국어와 달리 단어마다 띄어쓰기를 합니다. 그러나 한국어 검색어를 조사해 본 결과 검색어 입력 시에는 실제 띄어쓰기가 엄격하지 않았습니다. 이에 따라 어휘 분량 자체를 줄이고자 일본어에서 사용하는 것과 유사한 통계 기법을 활용했는데, 검색어를 기반으로 너무 길다 싶은 단어들은 작은 단위로 끊어서 처리하고 있습니다.

● 예외적인 발음 규칙
다른 언어와 마찬가지로 한국어도 발음상의 예외가 많았습니다. 이런 발음들은 즉각 파악할 수 없는 어려움이 있었는데, 숫자 읽기는 2010을 이천십이 아닌 이공일공으로 읽는 등 자리수 원칙에 따라 읽지 않는 경우라 그 대표적인 예입니다. 또한 “MP3”, “KBS2”, “삼성 TV” 처럼 영문자와 숫자가 조합된 경우 철자의 읽는 법이 영어와 다른 경우도 있습니다.

● 한글 조합과 한자 등 다양한 문자 기준
한글은 자모가 결합돼 하나의 음절을 이룹니다. 따라서 하나의 글자 안에는 24개 철자 중 최소 2개 이상의 자모가 들어가야 합니다. 최소한 하나 이상은 자음이고 하나는 모음입니다. 일반적인 ASCII 문자를 포함할 경우 이러한 자모의 결합을 통해 생기는 기본 글자 조합은 1만개가 넘는데 여기에 한자까지 생각하면 그 수는 엄청납니다. 이를 위해 우리는 표준 유니코드를 사용해 모든 글자를 반영하도록 하였고 수 많은 기본 글자를 처리할 수 있도록 일부 툴을 수정하기도 하였습니다.

● 영어와 한글이 함께 들어간 음성 검색어
일부 한국어 발음의 경우 같은 영어 표현도 영어식으로 읽는 경우가 있습니다. 예를 들어 “ncis 시즌 육”이 아니라 “ncis 시즌 식스”라고 읽습니다. 이는 시스템 훈련 과정에서 어느 쪽이든지 한쪽의 기준을 잡아 처리하기 힘든 문제가 발생합니다. 이럴 땐 사용자가 스마트폰에서 올바른 결과 페이지를 찾는지 여부를 추정해 처리하도록 하였습니다.

● 흔치 않은 낱말 인식
음성 인식기는 보통 검색 화면에 많이 등장하는 검색어에 능합니다. 예를 들어 도시명, 가게, 주소, 잘 알려진 약어나 제품 모델명,“김연아” 선수와 같은 유명 인사들이 그렇습니다. 그러나 일반인의 이름처럼 검색에서 잘 쓰지 않는 고유명사는 알아듣기 힘듭니다. 이에 대해서는 지속적인 개선 작업을 하고 있습니다.

● 개인별 발음 차이
사람들마다 말하는 속도도 차이가 있고 억양과 높낮이도 다르기 때문에 발음이 다양합니다. 이러한 다양한 조건 차이를 극복하기 위해 가급적 다양한 상황을 반영할 수 있도록 여러 소스에서 뽑은 데이터를 바탕으로 시스템을 훈련시켰습니다.

컴퓨터에게 언어를 가르치는 일이 쉽지는 않았지만, 다양한 언어학 원리와 음성 전환 기술을 적용하고, 구글이 가진 독보적인 클라우드 컴퓨팅 컴퓨터 기술을 활용해 사용자들에게 지금까지와는 차원이 다른 모바일 검색 경험을 제공하게 되어 진심으로 기쁘게 생각합니다. 구글의 음성검색은 기계학습 원리로 작동하기 때문에 서비스를 사용하면 할수록 발음, 억양이나 검색어 조합에 관한 정보가 축적되어 더욱 정확한 검색결과를 제공하게 됩니다. 앞으로도 계속 기대해 주시기 바랍니다.

작성자: 구글 음성인식 연구원 마이크 슈스터(Mike Schuster), 마틴 얀쉐(Martin Jansche)