본문 바로가기
Voice UI

Voice Search in Korean

by Stan1ey 2010. 6. 20.
지지난 주에 다음 커뮤니케이션에서 아이폰용 Daum 앱에 음성검색 기능을 포함시켰다기에 이게 웬일이냐..하고 있는데, 지난 주에는 구글 코리아에서도 모바일 음성검색의 한국어 버전이 안드로이드 앱으로 (아이폰용도 업데이트할 예정) 발표되고, NHN에서도 올해 안에 음성검색 모바일앱을 내놓겠다고 한다.

Daum Voice Search on iPhone App Google Voice Search in Korean on Android App

누가 먼저 시작했는지는 모르겠지만, 이 일련의 음성검색 발표 러쉬에는 업계의 경쟁심리가 작용했을 것이다. 그렇지만 다음도 일찌감치 음성인식 앱을 준비하고 있음을 홍보한 적이 있고, 구글 음성검색이야 진작에 출시되어 있었던 만큼 준비들은 오래전부터 해왔을 테고, 그래선지 음성인식의 적확률에 대해서도 다음의 앱이나 구글의 앱이나 기대 이상이라는 반응이다. 특히 안드로이드 OS는 초창기부터 음성인식을 위한 고려가 포함되어 있을 정도였으니까.

일전에도 구글 음성검색의 두번째 언어가 중국어가 됐다는 소식을 전하면서 한국어는 몇번째로 구현이 될지 궁금해 한 적이 있는데, 결국 예상한 대로 프랑스어가 사용자가 상대적으로 많은 한국어보다 먼저 구현이 되었고, 한국어는 8번째로 구현된 언어라고 한다. 뭐 솔직히 생각보다는 빨리 구현해 줬다. -_-a;;

다음과 구글의 음성검색 기능에서 Voice UI를 비교해 보려고 했지만, 우리나라 앱을 설치할 수 있는 안드로이드 폰을 구할 방법이 없어서 통과. 그리고 나름대로의 방법으로 이미 이 둘을 비교한 기사는 이미 올라와 있다.

Speech Recognition Result 1, Daum Voice Search Speech Recognition Result 2, Daum Voice Search Speech Recognition Result 2, Daum Voice Search

아이폰용으로 우선 출시된 Daum 앱의 경우, 음성인식 결과는 기본 설정에서는 바로 검색결과를 보여주며, 그와 함께 "음성인식결과 더보기" 기능을 통해서 N-Best 결과를 추가로 볼 수 있게 되어 있다. 보다 일반적인 방식으로 음성인식 결과의 대안들을 먼저 보고나서 그 중에서 인터넷을 검색할 어휘를 선택하려면, "설정" 메뉴에서 "음성인식 결과보기" 옵션을 켜면 위의 오른쪽 그림과 같이 다섯가지 대안결과가 팝업창으로 나타나고 원하는 결과가 없을 경우 바로 재시도할 수 있다.

음성인식의 오인식 확률을 생각하면 보다 전통적인 후자의 방식이 기본으로 제공돼야 한다고 해야 하겠다. 배경잡음이 없는 상태에서의 인식률은 상당한 편일지 몰라도, 인식이 잘 되던 구절을 몇가지 소음환경(화이트 노이즈, 배경음성 등)에서 똑같이 시도했을 때에는 여전히 인식이 거의 되지 않았고, 그런 상황에서 바로 음성입력을 다시 할 수 있도록 해주는 것은 중요한 기능이기 때문이다. 하지만 사실 그러면 또 음성인식의 가장 큰 문제를 부각시키는 모양새가 될테니 어쩔 수 없다고 할까.



이래저래 다루기 쉽지 않은 음성인식 서비스를 출시하려니 고심이 많았다는 건 그렇다고 해도, 역시 Voice UI 관점에선 아쉬운 점이 눈에 띄지 않을 수 없다.

No Network Error in Daum Voice Search
우선 두 회사 모두 모바일 기기에서는 입력된 음성 데이터에서 비교를 위한 특징만을 찾아 보내고 음성인식 기능 자체는 고성능/대용량/실시간 서버에 맡기는, 분산 인식 방식을 채용하고 있다. 일전에 구글의 음성인식을 써봤을 때도, 또 이번 다음 앱의 경우에도 인터넷 연결이 안 될 경우엔 기능 자체가 실행되지 않는다. 비록 사용에 제한이 따르고 경우에 따라 통신요금까지 부과되는 형식이긴 하지만, 음성인식의 성능을 위해서는 어쩔 수 없는 선택이라고 생각한다. 그렇지만 분산인식을 선택한 경우에는 또 그 나름의 장점이 있을 수 있는데, 그걸 제대로 살리고 있는지는 잘 모르겠다.

Input Too Loud Error in Daum Voice Search
Daum 음성검색을 사용해 보다가 발견한 왼쪽 오류창은, 음성입력이 너무 클 경우 서버에 데이터를 보내기 이전에 나오는 장면이다. 이렇게 전처리 과정이 모바일 모듈 안에 있다면, 사실 할 수 있는 일이 좀 더 많을 것이다. 잘못된 음성인식 결과를 단순히 출력하거나 실제로는 별 의미 없는 "검색어를 말할 때 정확히 발음하여 주세요" 같은 안내문을 보여주기 보다, 음성 명령어 구간을 판정하는 EPD 작업 후에 배경소음과 음성명령어를 비교해서 "조용한 곳에서 인식이 더 잘 됩니다"라든가, "주변 사람들의 이야기하지 않을 때 더 잘 됩니다"라든가, "조금 더 큰 소리로 말씀해 주세요" 등의 안내문을 '상황에 맞게' 보여줄 수 있기 때문이다.

실제로 이런 방식을 적용했을 때, 이런 오류가 비록 정확하게 선택될 수는 없더라도 어느 정도 임의로 출력했을 경우 최종 인식률과 사용자의 만족도에는 큰 차이가 있었다. 인간과 같이 말을 알아들으면서도 사실은 스위치만큼이나 멍청해 보이는 장치가 아니라, 음성인식이라는 범주 안에서는 어느 정도 의사소통이 되는 상대방으로 인정받게 되는 것이다. 음성인식이라고 하면 그 인식엔진 안에서 일어나는 UI 디자인과 관련없는 일로서만 여기게 되지만, Voice UI 설계의 관점에서 주변 데이터에도 좀더 관심을 갖고 해당 기능을 사용하는 정황을 좀더 고민했다면 좋지 않았을까 하는 아쉬움이 든다.


또 하나 언급해둘 만한 것은, 음성인식 기능을 여전히 다른 GUI기반 기능과 동떨어진, 그냥 장식적인 feature로만 생각하고 있는 것 같다는 점이다. 음성인식은 제대로 동작할 경우, 키보드 입력을 대체하거나 최소한 보완할 수 있는 도구이다. 위에 링크한 기사들에서도 하나같이 비슷한 이야기들은 하고 있지만, 사실 판에 박힌 음성인식기술의 홍보문구 이상도 이하도 아니다. 그 관점을 실제로 UI 디자인에 적용한다면 어떻게 될까.



이를테면, 위 HTC의 Voice UI에서처럼 키보드와 음성인식을 대등하게 다루고, 키보드 입력을 하려다가 음성인식을 하거나, 음성인식이 실패할 경우 바로 키보드를 통해 보완할 수 있도록 하면 될 것이다. 아이폰이나 안드로이드나 앱에서 OS의 기본 키보드 위에 버튼을 추가할 수 있게 되어 있는데, 이미 좋은 선례가 있음에도 불구하고 이러한 관점을 살리지 못한 부분은 아쉬운 일이다.

... 그나저나 위 동영상에서는 단순히 검색어 몇 음절을 인식하는 수준이 아니라 받아쓰기 dictation 수준의 음성인식 기술을 보여주고 있는데, 이 놀라운(!) 기술수준의 차이에 대해서는 일단 넘어가기로 하자. UFO라도 주웠나보지 뭐.



뭐 어쨋든 간에, 몇차례의 뼈저린 실패에도 불구하고 슬금슬금 다시 고개를 들기 시작한 음성인식 기술이 이번에는 제법 주목을 받고 있다. 이 기회에 제대로 된 Voice UI 디자인에 대한 관심도 좀 생겼으면 좋겠는데, 적어도 결과물만으로 판단하기에는 아직 쉽지 않은 모양. 하지만 언제나 그렇듯이 또 이러다가 눈 깜박하는 순간에 주류가 되어 당연시되거나, 아니면 흔적도 없이 사라져 버리겠지.

외유 중인 인간은 굿이나 보고 떡이나 먹기로 하겠다. 이기는 편 우리 편! =8-P
반응형