카카오는 어떻게 음성인식-합성 해낼까

어휘사전 100만개 확보…딥러닝 기술 결합해 처리

인터넷입력 :2017/01/24 16:16    수정: 2017/02/09 18:52

손경호 기자

음성인식을 활용한 스피커가 대세로 떠올랐다. 아마존 에코, 구글홈에 이어 국내에서는 SK텔레콤 누구, KT 기가지니 등이 등장하면서 인공지능 음성비서에 대한 관심이 어느 때보다 높아졌다.

물론 이런 기기들은 아직 음악을 재생하거나 날씨를 알려주는 등 초보적인 수준에 머물러 있다. 때 맞춰 개인 일정을 알려주고 좋아할만한 레스토랑까지 예약해주는 등의 진짜 '비서' 역할을 하기 위해선 시간이 좀 더 필요해 보인다.

이런 스피커들이 나오기까지는 사람들의 목소리를 보다 정확하게 인식할 수 있도록 기술을 진전시켜 온 연구자들의 노력이 녹아있다. 2013년부터 음성인식 기술 스타트업 다이알로이드를 인수해 관련 기술을 다듬어 온 카카오도 그 중 하나다.

카카오는 어떻게 음성인식 기술을 발전시켜 왔을까?

카카오 제주도 본사에 근무중인 음성처리셀 김훈 셀장과 김봉완 부장을 만나 다음 시절부터 이어진 음성인식(Speech to Text, STT), 음성합성(Text to Speech, TTS) 개발에 얽힌 이야기를 들을 수 있었다. 인터뷰는 지난 20일 경기도 판교 카카오 사옥에서 화상으로 제주도 본사와 연결해 진행했다.

오른쪽부터 카카오 음성처리셀 김훈 셀장, 김봉완 부장.

■ 카카오 음성인식/음성합성 기술 뭐길래

카카오의 음성인식/합성기술 개발은 다음 시절로 거슬러 올라간다. 다음은 2013년 2월 네이버 출신 개발자들로 이뤄진 음성인식 기술 스타트업인 다이알로이드를 인수하면서 자사 서비스에 음성검색기술을 녹여내기 시작한다. 이후 2014년 6월부터는 글자를 입력했을 때 음성으로 합성해 주는 서비스까지 붙이면서 4년째 공을 들이는 중이다.

다음앱, 다음지도 등에서 음성검색 서비스로 제공됐던 이 기술은 이전과 비교하기 힘들 정도로 정확하게 사람의 목소리를 인식하기 시작했다. 텍스트를 음성으로 변환해 읽어 주는 기술 또한 초창기 로봇과 같은 부자연스러운 목소리와는 사뭇 다른 인상이다.

덕분에 카카오맵이나 카카오내비, 다음앱을 실행한 뒤 검색창에서 마이크 아이콘을 누르고 키워드를 말해보면 이전보다 훨씬 정확하게 인식한다는 느낌을 받을 수 있다.

카카오는 최근 음성인식/음성합성 기술을 외부 개발자들에게 API 형태로 공개하는 정책을 확대했다. 그 동안 하루에 5천건만 API 연동할 수 있도록 하던 것을 2만건까지 4배 확대했다. 음성인식은 '뉴톤', 음성합성은 '뉴톤 톡'이라고 불린다. 시기가 무르익은 만큼 그동안 개발해 온 음성인식/합성 기술로 새로운 판을 만들어보자는 의지가 커진 것이다.

카카오내비에서 음성검색을 실행한 모습.(사진=카카오)

■음성인식, 어떻게 이뤄지나

음성인식을 위해서는 기본적으로 스마트폰에 탑재된 마이크로폰(마이크)으로 입력한 음성을 정확하게 구분해내는 기술이 필요하다.

다이알로이드 핵심 개발자로 카카오에 합류한 김훈 셀장은 뉴톤이 사람의음성을 검색하기 위해 크게 4가지 방식을 쓴다고 설명한다.

먼저 키워드형, 지도형은 각각 웹검색이나 지도상 위치를 묻는 음성을 인식하는 방식이다. 이 경우에는 해당 분야에 자주 쓰이는 제한된 단어들 중에서 인식하면 되기 때문에 상대적으로 어렵지 않다.

이와 달리 연속형과 단어인식형은 조금 얘기가 다르다. 연속형은 흔히 우리가 다른 사람들과 나누는 대화를 문장 형태로 인식하는 것이다. 때문에 한 문장 내에 여러 단어가 쓰였을 경우 그에 따라 해석이 가능한 경우의 수가 늘어나는 만큼 분석이 쉽지 않다.

음성처리셀에 근무하고 있는 김봉완 부장은 "예를 들어 단어인식형이 '불꺼/불켜', '김봉완' 이런 것들을 인식하는 것이라면 연속형은 이러한 단어들로 조합된 문장을 인식하는 것"이라고 설명했다.

카카오 음성처리셀은 현재 연속형을 인식하기 위해 일반 대화에서 쓰이는 100만개 단어를 범용 어휘사전 형태로 확보하고 있다. 2014년 1월부터는 음성인식의 정확도를 높이기 위해 딥러닝 기술을 적용해 테스트하는 중이다.

외부 개발사가 의료나 법률 등 특정 분야에서 카카오가 제공하는 음성인식 API를 활용하려고 할 경우 범용 어휘사전 외에도 '사용자 사전'이 추가로 필요하다. 사전에 이러한 정보를 미리 입력해 놓으면 전문분야에 대한 음성인식의 정확도를 높일 수 있게 된다.

그렇다면 카카오의 음성인식엔진인 뉴톤은 유행어나 신조어까지도 알아들을 수 있을까? 김훈 셀장과 김봉완 부장에 따르면 적어도 사람들이 몰리는 포털서비스를 쥐고 있는 사업자들이 이런 점에서는 유리하다. 다음포털에 올라오는 실시간 인기 검색어나 유행어, 신조어 등이 모두 음성인식기술을 개선하는데 반영될 수 있기 때문이다. 이는 네이버의 경우도 마찬가지다.

그러나 유행어, 신조어는 그때마다 발음이 다르기 때문에 일일이 입력해줘야하는 작업을 거쳐야 한다. 김훈 셀장은 "유행어나 신조어의 경우 어떻게 읽는지 달라지기 때문에 걸그룹 '2NE1'의 경우 '투애니원'으로 발음한다는 사실을 지정해줘야한다"고 설명한다.

음성을 인식해서 각종 검색 서비스에 활용할 수 있다.(사진=카카오)

■ 손석희 앵커도 흉내내는 음성합성 어떻게?

김봉완 부장에 따르면 텍스트를 음성으로 합성하는 방법은 크게 2가지로 나뉜다. 수학적인 모델링을 적용한 통계적인 합성방법과 사전에 성우가 녹음한 것을 잘라서 텍스트에 맞게 조합하는 방법이다.

뉴톤 톡의 경우 자체 개발한 한국어 운율 모델을 활용해 보다 자연스럽게 텍스트를 음성으로 변환할 수 있게 했다고 이들은 설명했다. 우선 전문 성우가 미리 준비된 대본을 읽는 방법으로 직접 한국어의 다양한 소리를 발음하고, 이를 녹음하는 과정을 거쳐 발성목록을 만든다. 그 다음으로는 이렇게 만든 소리를 잘라내서 데이터베이스(DB)로 만들어 놓는다.

기본적인 DB가 확보된 상태에서 통계적인 방법은 텍스트를 읽을 때 평균적으로 특정 단어나 문장에 대해 어떻게 발음하는지 평균치를 분석해 이런 값들을 계산해 음성으로 변환한다.

잘게 쪼개진 음성을 텍스트에 맞게 붙여넣어서 음성으로 만들어내는 것이 두번째 방법이다. 텍스트가 '아버지'라면 성우가 사전에 녹음한 대본에서 '아', '버', '지'를 각각 가져와서 편집합성하는 식이다.

김봉완 부장은 "통계적인 방법은 수식으로 어떻게 텍스트를 음성으로 표시할지 처리하는 방법이라 데이터 사이즈가 작은 만큼 스마트폰이나 소형기기에서 활용하기에 좋으며 편집합성은 실제 음성에 가까울 수는 있지만 사이즈가 커서 작은 기기에서 활용하기는 어렵고, 사전에 녹음되지 않은 새로운 문장이나 전문용어들을 음성으로 만들 때는 부자연스러울 수 있다"고 말했다.

미디어다음 JTBC 뉴스룸 앵커브리핑에 적용된 손석희 음성으로 댓글 읽기 서비스의 경우 성우가 녹음한 데이터를 쓰는 대신 그동안 손석희 앵커가 진행한 뉴스를 DB로 만들어 직접 그가 쓴 댓글을 음성으로 읽어주는 서비스로 만든 것이다.

김훈 셀장은 "처음에는 성우가 녹음한 대본 대신 기존 DB를 활용할 수 있는 방법을 찾다가 이런 방법도 써보게 됐다"고 말했다. 성우를 써서 추가 작업을 해야하는 시간과 비용을 줄이면서도 이런 서비스가 가능하지를 확인해 본 것이다. 김봉완 부장에 따르면 내부 프로젝트로 진행했던 이 방법을 활용하면 충분한 음성데이터가 확보된 유명인들의 음성으로 텍스트를 읽어주는 서비스도 가능하다.

뉴톤과 뉴톤 톡은 개발자들이 관련 API를 통해 음성검색을 이용할 수 있는 횟수를 기존 하루 5천건에서 2만건으로 확대했다.

■사람과 말하듯 자연스럽 대화 인식은 여전히 과제

대부분 사용자는 음성인식서비스를 이용할 때 내가 사람이 아닌 기기에 대고 말하고 있다는 사실을 의식한 채 대화를 시도한다.

김훈 셀장은 "아직 음성인식에서 부족한 것은 대화체를 인식하는 것"이라며 "평상시 말하는 것과 같은 자연스러운 대화체에 대해 인식률을 높이는 것이 여전히 과제"라고 말했다. 김봉완 부장은 "앞으로는 마이크가 있었던 것 조자도 모르는 상태로 얘기한 내용을 인식할 수 있는 정도로 발전시켜나갈 필요가 있다"고 덧붙였다.

관련기사

음성합성에 대해서는 뉴스읽기와 같은 정형화된 문장 외에도 감정에 따라 바뀌는 톤까지 인식할 수 있도록 하는 것이 과제로 남아있다. 예를들어 엄마가 아이에게 "너 손 씻었어?"라고 그냥 궁금해서 물보는 것과 계속 손을 씻지 않아서 야단치기 위해 "너 손 씻었어?"라고 물어보는 말은 상황과 감정상태에 따라 뉘앙스가 다르다. 이런 점까지 음성합성에 반영될 수 있도록 기술을 고도화한다는 계획이다.

카카오톡에 음성검색을 붙이지 않은 이유는 뭘까? 김훈 셀장은 "음성인식기술이 한국어 키보드랑 경쟁하기에는 맞지 않은 분야 같다"고 말했다. 중국과 같은 경우 각종 검색서비스에서 음성인식이 차지하는비중이 30%~40% 수준인 것으로 알려졌는데 아직 국내에서는 키보드 타자로 입력하는 것이 음성인식을 활용해 검색하는 것보다 빠르기 때문에 큰 장점이 없다는 설명이다. 이보다는 올레TV 음성인식 리모콘처럼 채널을 검색하거나 이동하는데 드는 불편함을 해소하거나 카카오맵이나 카카오내비에서 손으로 직접 입력하기 불편한 긴 주소검색 등에서도 음성인식이 유용하다는 설명이다.