HTML5 규약에 음성인식이 추가된 것을 이제 와서 굳이 언급할 건 없겠지만, 그래도 데모 웹사이트를 본 이후 개인적으로는 처음, 이 HTML5 음성인식 태그를 실제로 적용시킨 웹사이트를 발견했다.

Isohunt.com with Voice Search (for Chrome)


쿨럭... 뭐 애당초 자바스크립트를 penthousemag.com 소스를 분석해가며 배운 사람으로서 새삼스럽지만, 어쨋든 그닥 자랑할만한 웹사이트는 아니긴 하다. 그러고나서 대충 구글링해 보니 어느새 개인 블로그를 중심으로 음성인식 태그를 적용시킨 사례가 눈에 띄게 늘어나고 있는 듯하다.

... 그래서, 그냥 나도 해 봤다.

Voice Search for the rest of us


이 블로그를 구글의 크롬(Chrome) 브라우저나 크롬OS를 통해서 들어왔다면(구글이 현재로선 HTML 규약을 가장 발빠르게 적용하고 있기도 하고, 사실 브라우저 만드는 회사 중에서 흔치 않게 자체적인 음성인식 솔루션을 보유하고 있기 때문에 가능한 기능일게다), 본문 위 오른쪽의 검색 입력창에 마이크 아이콘이 나타나 있을 거다. 그걸 클릭하고 검색하고 싶은 단어를 "말하면" 된다. 노트북에 내장되었거나 헤드셋에 달려있는 마이크를 써야 하는 건 당연하겠고. 아무 언어나 그냥 자연스럽게 말하면 된다.

그냥 잘 된다. ㅡ_ㅡ;;;

다른 블로그에 나와있는 걸 보고 티스토리 블로그 형태에 맞춰서 적당히 수정했을 뿐인데, 그냥 바로 적용이 되어 버리는 걸 보고 내가 오히려 놀랐다. 10초만에 이 블로그 -- Voice UI에 대해서 기회가 될 때마다 징징거리는 -- 가 음성검색이 가능한 블로그가 되어 버렸다. 쿠헐. 쫌 허무할 정도다.

Voice Search UI - Closeup in Korean


이제 인터넷에서 음성인식을 통해서 뭔가를 입력한다는 것은, 비록 Voice UI 자체의 제약조건 등은 여전히 유효하겠지만, 비교적 간단하고 당연한 일이 되어 버렸다. 위에 링크한 규약을 보면 단순한 음성검색 외에도 VUI의 기본적인 설계에 필요한 이런저런 내용이 정의되어 있어서, 화면에 표시되는 정보와의 공조라든가 음성안내(합성음 혹은 미리 녹음된 음성을 이용한)에 대한 내용까지도 포함되어 있다.

그동안 수많은 사람들이 힘겹게 힘겹게 물을 대서 말라죽지 않게 해왔던 음성 UI에, 이제 날개가 달린 셈이다. 과연 음성 사용자 인터페이스라는 것이 될성푸른 떡잎이었는지 아니면 애당초 글러먹은 쭉쩡이였는지 드러나는 순간이 드디어 오고야 말았다. 참으로 반갑고, 두려운 마음이다.


혹시나 참고가 될까해서... 티스토리 블로그에 음성검색을 부가하려면, 관리자 메뉴에서 스킨의 HTML 편집에 들어가서 아래 코드를 찾은 후 파란색 글자 부분을 추가하면 된다. 아직은 구글 Chrome에서만 검색이 된다는 점에 유의할 것.

<input type="text" name="##_search_name_##]" value="##_search_text_##]" onkeypress="if (event.keyCode == 13) { ##_search_onclick_submit_##] }" class="input" x-webkit-speech="" x-webkit-grammar="builtin:search" onwebkitspeechchange="##_search_onclick_submit_##]" />

저작자 표시 비영리 변경 금지
신고
Posted by Stan1ey
휴대폰용 음성 사용자 인터페이스를 해보겠노라고 동분서주할 때다. 아직 휴대폰에 터치스크린을 붙인다는 생각은 "대표적인 실패사례"로 꼽히고 있었고, "그게 단가가 얼만지 아느냐"며 이미 십여개 붙어있는 버튼에 하나를 더 추가하는 것도 위아래로 줄줄이 윤허를 받자와야 하던 무렵. 당시 나에게 소원이 하나 있다면 음성인식 전용의 버튼을 하나 넣는 거 였다.


(1) EPD Techniques
음성인식의 적확율을 좌우하는 것 중 가장 큰 것이 음성명령의 맨앞과 맨뒤를 찾아내는 작업, 즉 EPD(End-Point Dectection)이다. 아무리 좋은 음성인식 엔진도 앞뒤로 요상한 음운이 들어가 버리면 엉뚱한 결과를 낼 수밖에 없기 때문이다.

(1-1) Pause Detection
EPD를 기술적으로 해결하는 대표적인 방식은 역시 말이 없는 순간(pause)을 잡아내는 거다. 아무래도 사람은 무슨 말이 "명령"이라고 생각할 때 앞뒤로 pause를 넣게 되니까. 하지만 주변이 시끄럽다든가 하면 이 pause가 인식되지 않을 수도 있고, 무엇보다 굳이 명령을 하지 않더라도 말하다보면 수시로 발생하는 게 pause다. (노홍철씨는 예외적인 경우로 치자 -_- )

(1-2) Magic Word Detection
그래서 나온 것이 소위 magic word 방식. 무식하게 철저하지만 오직 한 단어만을 인식하는 인식기를 한켠에 돌리고 있다가, 그 단어가 인식되면 그 이후 일정기간 동안 입력된 음성을 명령으로 보고 검증하는 것이다. 최근 Microsoft Kinect에서 음성인식을 플랫폼 범위로 적용하면서 "엑스박스"를 매직워드로 설정한 게 이 경우에 해당한다. 음성명령을 내릴 때마다 같은 단어를 말해야 한다는 사실이, 안 그래도 (의외로) 수고스러운 음성인식 작업에 짜증을 가중시키기는 한다.

(1-3) Prompt Sound
조금 더 수동적인 해결안으로는 prompt 방식이 있다. 음성명령을 받아야 할 때마다 "삐ㅡ" 소리를 넣어서 사용자가 발화를 시작해야 하는 시점을 알려주는 것이다. 초기의 음성인식 ARS 시스템(혹은, IVR 시스템)이 이런 방식을 많이 썼다. 사용자 입장에서도 오랫동안 익숙해진 자동응답기와의 대화("삐 소리가 나면 녹음하세요.")와 유사한 멘탈모델을 제공해 주었기 때문에 큰 거부감 없이 받아들였지만, 사실 말하고 싶은 것이 머릿속에 빙빙 도는 데 허가(프롬프트)가 떨어질 때까지 말하지 못하는 것은 나름 상당히 괴로운 일이다. (여기에 사용되는 sound prompt를 어떻게 만드느냐도 이 음성대화 시스템의 사용성에 큰 영향을 미치는데, 이 글은 버튼에 대한 내용이니 일단 넘어가기로 하자.)

(1-4) Others
정확한 EPD를 위해서 시도된 방법들 중에는, 사용자 관점에서 지켜봐야 하는 사람에게는 참 당혹스러운 게 많았다. 심지어 음성명령 직전에 박수를 친다든가, 매직워드를 앞뒤로 넣는다든가 하는 방식도 정확한 인식에 도움은 됐을지 몰라도, 사람을 기술에 끼워 맞추는 전형적인 방법이고 일종의 '고문'에 가까왔다.


(2) "Voice" Button
그런 온갖 기법들을 한편으론 직접 시도해보거나 어깨너머로 보면서, 개인적으로 내린 최적의 EPD 기법은 어이없게도 그냥 누르는 버튼이다. 정확히는 Push-to-talk 버튼. 예전 워키토키처럼, 말하고 싶은 동안 누르고 있다가 말이 끝나면 떼면 되는 방식이다. 앞에서 말한 자동응답기보다 오래된 멘탈모델이고, 큰 회의실에서 발언권을 얻을 때 아직도 사용되고 있으며, 또 실제로 적용해봐도 꽤 자연스러운 방식이다.

그냥 버튼이 눌린 동안만 음성을 받으면 되는 것이니 EPD라고 논할 건 없어 보이는 게 사실이다. 하지만 실제 사용자들의 행동에서는 버튼이 눌리고 음성인식 엔진이 구동되는 그 짧은 순간을 앞질러 말하거나, 마지막 말의 음운이 마무리되기 전에 버튼에서 손을 떼는 경우가 많기 때문에 앞뒤로 약간의 buffer를 주고 여기에 기존의 EPD 기술(1-1)을 적용하는 게 좋다. 이 방식을 주장했을 때 가장 큰 장애물은 그 기술적 난이도가 아니라, 오히려 "그건 내노라할 기술이 아니다"는 거였다. 물론 조직의 목적에 따르자면 어쩔 수 없는 반응이었지만.

이렇게 음성버튼을 채용할 때 가질 수 있는 최대의 장점은, 기존의 GUI나 다른 조작과 병렬적으로 사용할 수 있다는 것이다. 이를테면 일상적인 전화번호부 화면을 띄워놓고 작업하다가, 음성검색이 필요할 때에 별도의 GUI 조작을 하지 않고 바로 버튼을 눌러 음성을 입력할 수 있다.

또한, 버튼을 누르고 "있어야" 한다는 것은 Jef Raskin이 주창한 바 있는 일명 quasimode로, 모드 분리에 따른 사용자의 인식오류 문제를 대부분 해결할 수 있는 장점도 있다.

... 그렇게 Graphical UI와 Voice UI를 자유자재로 오가면서 사용할 수 있는 multi-modal interaction을 입에 달고 지냈던 때가 있었다.


(3) Voice Button FAIL
하지만 앞에서 말한 바와 같이, 버튼 하나 더 우겨넣기 힘든 게 현실이었기 때문에 결국 기존에 있는 버튼을 길게 누르는 것으로 음성인식 "모드"를 넣는 것으로 되었고, 결국 사용성 문제를 발생시키는 대표주자인 이 "모드" 덕택에 음성버튼 컨셉은 안그래도 천덕꾸러기 신세였던 음성UI와 함께 그냥 사그라져 버렸다. 달랑 하나의 모델에만 적용되는가 싶더니 그대로 소리소문없이 사장되어 버렸으니까.


(4) Voice Button on Motorola Droid Pro
모토롤라에서 미국과 유럽에 Droid Pro, 혹은 Motorola Pro라는 모델을 출시한다고 한다. 업무용 휴대폰이면서도 개인용도의 사용을 동시에 고려했다고 하는데, 화면이 크면서도 블랙베리에서 보던 방식의 키보드를 채용했다. ... 아니, 정확히 말하자면 블랙베리 키보드에 버튼을 하나 더 추가했다.

Voice Button on Motorola Pro

저 위치의 마이크 버튼은 분명 이전에 안드로이드 폰들에서 발견된 터치스크린용 가상키보드의 음성인식 아이콘을 따라한 것이다. 그러니 십중팔구 그 기능도 앞에서 상상한 것처럼 아무때나 음성인식을 할 수 있기보다는 그냥 특정한 음성인식 모듈을 띄워주는 형태가 되리라 생각한다. 아무래도 안드로이드 기본 UI와의 충돌도 고려해야 할테고.

혹시 물리적인 QWERTY 키보드가 달린 안드로이드 휴대폰들에는 원래 음성인식 키가 들어가 있었던 건가 싶어서 이전 모델들을 닥치는대로 찾아봤지만, 화면상의 버튼이 아닌 물리적인 음성버튼을 채용한 것은 아마도 이 휴대폰이 최초인 것같다. Voice UI에 관심을 가진 입장에서는 나름 고무적인 사건이 아닐 수 없다! :)


어쨋든 이 버튼을 보자마자, 이제 휴대기기에서의 음성인식 버튼이 이런 식으로 "통화"나 "홈" 버튼만큼 일반화되고, 기기를 사용하는 중에 음성 UI를 사용할 수 있는 순간이 오면 저 마이크 모양에 불이 들어오고, 그럴 때는 버튼을 누른채로 말 한마디해서 쉽게 주소록 검색이나 일정 입력을 할 수 있으면 좋겠다... 뭐 그런 생각이 들어서 반가운 마음에 예전 기억을 주절주절 늘어놔 봤다.


이건 뭐 뒷방노인네도 아니고... 비맞은 중도 아니고... ㅡ_ㅡa;;;
저작자 표시 비영리 변경 금지
신고
Posted by Stan1ey

Voice Search in Korean

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

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

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

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

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

Speech Recognition Result 1, Daum Voice SearchSpeech Recognition Result 2, Daum Voice SearchSpeech 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
저작자 표시 비영리 변경 금지
신고
Posted by Stan1ey
이 프로젝트가 드디어 iPhone App으로 출시가 되었다. 무료.



여기에 대해서 뭐라뭐라 글을 쓰기엔, 내가 요새 좀 지쳤다. 아니 굳이 그렇지 않더라도, 십년도 더 된 일이니 이제 와서 키보드를 두드리기가 민망하다고 하는 게 올바른 고백이겠다. :$

Siri VPD Website

그러니 그냥 동영상이나 하나 더 올리고 마무리.



보란듯이 잘 됐으면 좋겠다. 현실적으로 문제가 없지 않겠지만, 그래도 이젠 슬슬 꿈꾼 보람이 있어야 하지 않을까.

나도 한 우물 열심히 파면서 살아야 하는데, 어느새 여기까지 와 버린 건가... ;d
신고
Posted by Stan1ey
아이폰 앱으로 트위터를 들여다보다가, 한켠의 광고가 눈길을 끌었다.

Hate Speling? - from Google Voice Search

많은 단점에도 불구하고 Voice UI의 장점으로 이야기할 수 있는게 몇가지 있는데, 거기에 철자를 몰라도 된다는 점도 추가해야 할 듯. 요새 인터넷에 올라오는 글들을 보면 우리말도 철자가 변용이 점점 다양해지는 것 같은데, 어쩌면 그게 음성인식 UI를 채용해야 하는 당위성을 좀더 높여주지는 않을까.

... 안 될꺼야 아마. -.-



어쨋든, 그냥 스크랩이나 해두려고 굳이 캡춰해서 애니메이션으로 만들어 봤다. :P

신고
Posted by Stan1ey

Voice Translation

2009.11.18 12:48
문장을 다른 언어의 문장으로 바꿔주는 "번역"과, 말(음성)을 다른 언어의 말(음성)로 바꿔주는 "통역"은 전혀 차원이 다른 기술이다. 번역은 이미 몇 년전부터 웹사이트를 통해서 많이 제공되고 있고, 문장 단위의 번역에서부터 웹페이지를 통채로 번역해 주는 서비스까지 무료로 제공되기도 한다. 그럼에도 불구하고 음성을 음성으로 통역해 주는 서비스가 제대로 상용화되지 않은 데는 그럴만한 이유가 있다.

문법에 잘 맞게 작성된 문장은 표준적인 방법(형태소 분석, 사전 치환 등)으로 다른 문장으로 만들 수 있다. 하지만, 음성은 아무래도 그 자체로도 문법적으로 완벽하지 않은 데다가, 통역기라는 것이 입력되는 문장이나 단어를 제한하기 어렵고, 그러니 음성인식을 거치면서 더욱 왜곡되어, 번역이 불가능한 정도의 문장(글)으로 오류만 발생시키거나 이상한 번역문과 결국 이해할 수 없게 합성된 말(음성)으로 변환되기 쉽다.

정리하자면, 음성언어(말) 자체의 불완전함, 통역기라는 어플리케이션에서 보장해야 하는 자유도, 음성인식의 높은 오류율, 불완전한 문장의 의미를 유추할 수 없는 대화 분석의 부재, 결과로 나온 문장이 이상할 때 더더욱 이상해지는 음성합성 등 관련된 기술의 약점이 고스란히 드러나는 어플리케이션이 통역기라고 하겠다. 같이 일했던 어떤 분은 통역기 개발을 외줄타기에 비유하곤 했다. 각 모듈간의 입출력에서 한발자국만 삐끗하면 걷잡을 수가 없다는 거다.

그렇기 때문에 "통역기"를 자칭하는 대부분의 서비스들은 대부분 미리 문장을 모두 정의하고 분류해 놓고 그 분류체계를 탐색하는 방식을 쓰거나(엄밀히 말하면 통역이라고 할 수도 없고, 그냥 각 문장에 따라 미리 준비된 통역된 문장을 틀어준다고 봐야 할 것이다), 행여 음성인식을 지원하는 경우라고 할지라도 실제로 단어단어를 번역할 생각을 하기보다 그렇게 준비된 문장을 바탕으로 가장 근접한 결과를 출력해 준다. 그러다보니 쉽게 생각할 수 있는 조합의 문장(예: 가까운 빵집이 어디입니까?)이 아닌 실제 상황에서 쓰이는 문장(예: 여기 뉴욕제과가 어딨죠?)은 사실상 인식이 불가능한 것이다.

난데없이 통역기에 대한 불만(?)을 되새기게 된 것은, 사실은 며칠 전 Apple AppStore에서 발견한 "Jibbigo"라는 통역기 App때문이다.



처음 휴대폰에 들어갈 통역기의 Voice UI를 설계한 게 벌써 몇년 전이다. 오래간만에 비슷한 어플이 나왔길래 "와, 이제는 기술이 좀 쓸만해졌나?"라고 들여다 봤지만, 아무래도 기존에 만들었던 데모 동영상이나 이 회사에서 보여주는 데모 동영상이나 크게 다른 게 없다... 물론 아이폰답게, 터치스크린을 누르고 있는 동안(push-to-talk) 음성을 입력하다가 혀가 꼬이면 (이런 일은 그야말로 비일비재하다) 흔들어서 다시 시작할 수 있는 기능은 잘 넣었다고 생각하지만.

App Store에 올라와 있는 스크린샷을 보면, 가장 일반적인 UI라고 할 수 있다. 위쪽 반에는 음성 인식된 영어 문장이 나타나고, 아래쪽 반에는 찾아진 스페인어 문장이, 반대로 통역하는 경우도 마찬가지다. 각각의 인식 버튼을 누르고 있는 동안에는 음성인식이 진행되고, 플레이 버튼을 누르면 통역된 문장이 음성으로 재생된다.

Jibbigo - Voice Translation App for iPhoneJibbigo - Voice Translation App for iPhoneJibbigo - Voice Translation App for iPhone

하지만 좀더 자세히 보면, 화면에 표시된 문장은 직접 음성인식된 결과물은 아님을 알 수 있다. 같은 의미의 다른 문장이 괄호 안에 표시되어 있는 것이다. 결국 미리 적혀있는 한 항목에 최소한 두 가지의 음소열이 연결되어 있어서, 입력된 사용자의 음성이 그 음소열에 가장 가깝다고 나타나면 그 항목의 문자를 화면에 표시하는 것이다. 애당초 다양한 구조와 단어를 포괄하는 구조가 아닌 것이다.

심지어 아래와 같은 동영상까지 올라와 있다.



흠... User Tips라는 제목으로 올라오긴 했지만, 이건 솔직히 어플을 사라는 건지 말라는 건지. -_-a; 특히 음성 대화를 빙자하는 서비스들은 아무리 "여행에서 있을 수 있는 통상적인 시나리오를 대상으로 했다"든가 "주변에 소음이 없도록", "인식이 안 되면 구성을 바꿔봐라"든가 하는 소리를 해봐야 사용자를 제약할 수는 없는 것이다. 결국 3만원이나 하는 소프트웨어치고는 만족도가 높을 리가 없고, 현재 올라온 리뷰 내용은 최하의 별점을 기록하고 있다.

아직 음성-음성 통역기는 역시 무리인가... 현재의 기술로는, 그리고 지난 몇년 간 기술의 발전에도 불구하고 문제는 그대로 남아있다는 사실로 미루어 앞으로도, 그냥 방대한 문장 쌍을 주제에 따라 탐색하거나 키워드로 검색한 다음 음성합성 엔진을 잘 만드는 편이 현실성이 있을런지 모르겠다. (아니 사실 정해진 문장들이라면 합성기를 쓸 필요가 있기는 할까.)

... 아니면 좀더 적극적으로 다른 모달리티를 활용하거나. (아놔.)
신고
Posted by Stan1ey
Google Mobile App in Mandarin ChineseGoogle Mobile App in Mandarin Chinese

이제까지 영어로만 제공해오던 구글의 음성 인터넷 검색이, 어느새 중국어 서비스를 시작했다고 한다. 다음은 이 소식을 전한 기사의 한 대목.

According to the Google blog post where the Mandarin service was first announced, the search giant decided on Chinese after looking “carefully at demographics and Internet populations.”

결국 많은 사람들이 사용하는 언어이기 때문에 중국어를 '간택'하셨다는 이야기가 되겠다. 이런이런.

이 블로그에서만 벌써 몇번 언급한 것 같지만, 한국어는 그 언어를 쓰는 사람들, 즉 시장이 너무 좁아서 많은 돈과 시간을 투자해야 하는 음성관련 기술들을 연구하기 어렵다고 한다. 기업 연구소는 물론이고 정부출연 연구소조차도 이 시장성 없는 기술 개발에 투자할 생각이 없는 것 같으니, 우리는 Nuance나 Google이 각각의 언어를 많이 쓰는 순서대로 개발해주는 순서가 돌아올 때까지 손가락 빨며 기다려야 하나보다. 그것마저도 위키피디아에 나온 순서에 의하면 그래도 한국어는 프랑스어보다 많이 사용되고 있지만, 한국어 음성검색 서비스가 프랑스어보다 빨리 나오리라는 생각이 전혀 들지 않는 이유가 뭘까나. ㅡ_ㅡ;;;

Google Mobile Voice Search - English and Chinese
위에 링크한 구글 블로그에는 서비스를 유머러스하게 소개한 동영상도 포함되어 있는데, 마지막 부분에 나타나는 왼쪽 장면이 눈에 띄어서 캡춰해 두었다. 결국 영어와 중국어라는. 그래도 각 지역별 사투리를 어느 정도는 반영해 두었으니 이런 소리를 하고 있는 거겠지?







... 그나저나, 구글의 이 서비스 덕택에 통화 버튼을 길게 눌러서 음성검색을 수행하는 방식이 표준화되고 있는 것 같다. 훗. 휴.
신고
Posted by Stan1ey
한국 출시에 대한 이런저런 낯뜨거운 논란 끝에, 드디어 아이폰의 출시가 임박한 모양이다. 지난 몇달간 네티즌과 통신사와 제조사와 정부기관의 간접적인 대화를 보고 있노라니, 우리나라의 IT 인력은 세계 최고일지 모르지만 나머지 국가 시스템은 IT 후진국이라고 해도 되겠다는 생각이 든다. "IT 기술은 일자리를 줄인다"는 사람이 있는가 하면 '소프트웨어 기술자 신고제' 따위를 입안하는 사람들이 담당부서라면 뭐 말해봐야 입만 아프고 시간이 아깝다. 그 와중에 동서양의 IT 환경 비교에 한국이 자주 등장하는 걸 보면 대견할 지경이다.

어쨋든.

그럼, 아이폰 자체는 어떨까? 아이폰은 한국시장에 출시될 준비가 되어 있을까? 나름 UI 한다는 관점에서 말하자면, 아이폰의 그 멋진 UI, 과연 한국에 맞는 지역화 작업 localizing 은 잘 되어 있을까? 라는 점이 되겠다.


(1) Voice Control - 한국어/음성언어

우선 내가 늘 관심을 갖고있는 Voice Control 기능. 전부터 이 기능의 우리말 명령이 어떻게 설정되어 있는지 VUI 관점에서 궁금해 하고 있었는데, 사용 중인 3G 모델에서는 음성명령이 적용되지 않아서 (도대체 왜~!!! ㅠ0ㅠ ) 그냥 궁금해하고만 있었다. 그러다가 인터넷에서 아래 동영상을 발견.



일단 한국어 음성인식/합성이 되고 있다는 것 자체는 반가운 일이지만, 음성명령들은 확실히 좀 어색하다. 동영상에서 보여준 음성명령들이 실제로 한국어 명령으로 사용설명서에 나와있는건지, 아니면 이렇게 명령해도 어쨋든 인식은 된다는 사례인지는 사실 모르겠다. 일단 사용된 명령만을 대상으로, 각각 대응하는 영어 명령을 아이폰 사용설명서에서 찾아 비교해 보면 다음과 같다.

한국어 명령 영어 명령
노래 재생- Play
- Play music
일시정지 - Pause
- Pause music
누가 부른 곡입니까 - Who sings this song
- Who is this song by
틀기 이승환 가수- Play artist 이승환
- Play Songs by 이승환(?; 소개 동영상에는 나오는데, 사용설명서에는 없는 음성명령)
비슷한 노래 재생 - Play more like this
- Play more songs like this
- Genius
다음 노래 Next Song

흠... 실제로 한글판 iPhone 사용설명서가 나오기 전까지는 뭐라고 말하기 어렵지만, 일단 한국어에 맞춰 바꾸려는 노력이 좀 부족했던 것 같기는 하다. "틀기 이승환 가수"라니. ("틀기 가수 이승환"이나 "재생 가수 이승환"이어도 마찬가지. 어순 자체가 뒤집혔잖아. -_-;; ) 대체로 단어나열 수준의 음성명령을 쓰다가 갑자기 "누가 부른 곡입니까"라고 깍듯이 말하기도 참 어색한 게 사실이고.

누가 한국어 음성명령을 설계했는지는 몰라도, 이게 Voice UI를 설계한다는 개념이 있었다든가, 한국 말에 대한 이해를 바탕으로 자연스럽게 말할 수 있는 문장구조와 단어를 일관적으로 적용하려고 한 것 같지는 않다.


(2) Keyboard Typo Correction - 한글/문자언어

한국어 음성의 지역화 수준이 이렇다면, 한글에 대한 키보드 입력오류 보정은 어떨까? 사실 비슷한 수준이다. 그동안 아이폰을 쓰면서 좀 이해가 가지 않는 오류보정 메시지를 몇 가지 캡춰해 봤다.

Korean Typo Correction on iPhone - 김성재Korean Typo Correction on iPhone - 김수로Korean Typo Correction on iPhone - 김삼순

... 도대체 무슨 데이터베이스를 쓴거야! 라는 소리가 저절로 나온다. 왠 영화배우 이름이 우르르 나오는가 싶더니, 심지어 드라마 주인공 이름까지... 네이버의 검색어 순위를 학습시키기라도 한 걸까. 뭔가 한국의 아이폰 사용자가 입력할 법한 내용을 사용해서 학습시키지 않은 것만은 확실하다.

Korean Typo Correction on iPhone - 조사/어미
영어가 보통 각 단어가 어절로 독립되고 과거형이나 복수형 정도의 변이만 있는 것에 비해서, 조사나 어미를 중첩해서 사용함으로써 변이가 자유롭다는 것이 한글의 특징이라고 할 수 있겠다. 그런데 아이폰으로 한글을 입력하다 보면 왼쪽과 같은 순간이 자주 나타난다.

마치 어미를 강요당하는 기분이랄까. 원래는 "말이지"에서 끝내려고 했는데, 이 순간 띄어쓰기(이 조차도 "간격"이라고 번역되어 있다 -_-;;; )나 마침표 등을 입력하면 "말이지요"가 되어 버린다. 결국 아이폰이 학습하지 않은 어미의 조합을 입력하려고 할 때마다 매번 (x)표시를 눌러 자동 오타수정을 취소해야 했다. 물론 몇번 수정해주고 나면 같은 조합에 대해서는 더이상 이런 제안을 하지 않는데, 어차피 어근+어미, 단어+조사의 조합을 고려한 학습기능은 없으므로 다른 어근/단어를 사용하면 똑같이 학습을 시켜줘야 한다. 최소한 자주 사용되는 어미/조사에 대해서 예외조건을 넣을 수 있었다면 이런 상황에서 보다 적절한 UI가 나올 수 있지 않았을까 하는 아쉬움이 있다. 매번 맘대로 바꿔대는 조사를 그때그때 수정해야 한다는 건 정말 짜증나는 경험이다.




지금은 아이폰이 한국에 출시되느냐 아니냐만 가지고 논란이 되고 있지만, 일단 출시가 되고 난 후에는 이렇게 무성의하게 localizing된 UI에 대한 불만을 피할 수 없을 거라고 생각한다. 일반적으로 아무리 큰 회사라도 한국어만을 위해서 담당자를 두지는 않았을 거라고 생각하지만, 그래도 오타수정을 위한 학습 DB를 좀 더 정성들여서 '일반적인 내용으로' 고른다든가, 영어와 다른 어순을 갖는 언어들을 위해서 예외조건을 위한 여지를 따로 만들어 놓는 정도는 해주면 좋았을텐데.

한국어 음성인식/합성을 연구하던 분들과 이야기할 때 늘 이야기하던 것이, 한국어는 시장 자체가 좁아서, 한국 회사든 외국 회사든 돈을 들여서 깊이 연구하려고 하지 않는다는 현실이었다. 제대로 공들여 만들기 위해서는 언어를 잘 아는 연구팀이 적지 않은 시간을 들여야 하는데, 대부분 연구기관은 그 정도를 투자할 재량이 없고, 그런 여유가 있는 회사는 어차피 전세계를 대상으로 생각하므로 좁은 한국시장에 투자하게 되지 않는다는 것이다.

결국 한국어 음성엔진은 단순히 기존 어떤 언어에도 적용할 수 있는 음소나 자판입력 수준에서 패턴을 학습/매칭하는 것에서 더이상 발전하기 힘들거라는 한숨섞인 예측을 하곤 했는데, 아이폰에서 보여주는 한국어의 문제를 보면 그 부정적인 시각이 정확했던 모양이다.

아쉽지만, 대안은 없을 듯. 국책연구소에서조차도 단기간 내에 돈 되는 성과를 내지 못하면 팀이 없어지는 판국이니 뭐. ㅡ_ㅡa;;;



P.S.
혹시나 일본어는 좀더 신경써서 만들었을까 하고 iPhone의 일본판 사용설명서를 찾아봤다. 일본어는 우리말과 어순이나 조사/어미가 비슷하지만 아무래도 국제사회에서 좀더 대접받은 언어이기 때문에, 일본어 Voice Control 기능이 제대로 구현되고 있고 한국어가 잘 안 되어 있다면 순전히 한국어의 정치적 영향력 때문이라고 푸념할 근거가 되기 때문이다.

결과는 일본어도 마찬가지. 결국 영어 어순에 맞춰서 명령만 치환한 정도다. 음성엔진 자체의 한계이거나, 애당초 Voice UI를 설계한 사람이 비영어권의 어순 따위는 신경쓰지 않았던 듯.

iPhone Voice Control Commands - English vs. Japanese

그런데, 영어/일본어 사용설명서에서 캡춰한 위 명령어 목록을 비교해 보면 눈에 띄는 게 하나 있다. 바로 일본어 음성명령 목록에만 등록되어 있는 "수정하기" 명령. 음성인식이 잘못 되었을 때 그걸 수정할 수 있는 - 아마도 추출된 N-best 목록 중에서 다음 인식결과 대안을 선택하는 기능인 듯 - 명령어가 있는 것이다. 일본어 음성인식은 영어와 다른 엔진을 쓰는 걸까?

게다가 이 기능을 위해서 "틀렸어"라는 명령어 외에 "이건 아니잖아(これじゃない)"라는 코믹한 구어체 명령이 포함된 게 재미있다. 일본어 담당자가 명령어를 정하다가, 온통 딱딱한 문어체에 지쳐서 비교할 영어 명령이 없는 항목에 장난을 친 건지도 모르겠다. 펜탁스에서 출시한다는 '이건 아니잖아 버전' 카메라가 생각나기도 하고. ^^*
신고
Posted by Stan1ey
1년 전쯤 삼성 휴대폰 인스팅트(Instinct)가 미국에 Sprint 망으로 출시되면서, iPhone(당시 2G)과의 비교광고를 대대적으로 했던 모양이다. 스프린트에서 올린 동영상들을 뒤늦게 발견했는데, 비교광고에 익숙하지 않아서 그런지, 광고의 뉘앙스 ("쟤네는 이거 안 되요~ 메롱메롱") 때문인지, 그다지 잘 만든 광고 캠페인이라는 생각은 안 든다. (사실은 그냥 애플 빠심이 발동 ;ㅁ; )

흥미로운 것은 모두 5편의 동영상 중에 Voice UI가 두 편이나 나온다.

우선 첫번째는 음성명령 기능. 음성으로 전화를 거는 모습을 보여주면서, iPhone은 없지롱..이라고 하고 있다.



삼성 휴대폰에 통화 관련된 음성인식 기능이 들어간 건 꽤 역사가 오래 됐고, 해외에서 출시되는 휴대폰에는 거의 대부분 포함되어 있다. 그래봐야 이제는 매뉴얼에서 반페이지나 차지할까 싶게 무시당하는 기능인데 이때는 또 이렇게 부각시켜서 나서던 때가 있었나보다. 참 감개무량하고 결국 달면 삼키고 쓰면 뱉고.. 그런 게 당연한가 싶기도 하고 그렇다. 여전히 다른 기능으로 확대하기 위한 노력은 무산되고 있는 것 같은데 말이지. 게다가 여기에서 보여주고 있는 음성명령기를 만든 VoiceSignal사(지금은 Nuance에 합병)는 재작년에 이미 아이폰에서 음성명령/검색을 개발하기도 했다.

여기에 자극을 받았는지 어쨌는지, iPhone도 3GS부터는 "Voice Control"이라는 이름으로 음성명령을 지원하고 있다. 통화 뿐 아니라 음악재생과 관련된 기능까지를 포함해서.



VUI와 (조금 억지로) 관련될만한 다른 동영상은 GPS 기능이다. 인스팅트에서는 음성 가이드가 나오는데, 아이폰에서는 나오지 않는다는 걸 부각시키고 있다.



우리나라에서도 같은 사례가 있어서, 모 회사에서 음성 안내를 넣으면서 Voice UI라고 주장하던 시절이 있었다. (과연 이걸 과거형으로 말해도 될지는 자신이 없다.) 마치 그래픽 화면이 들어갔으니 GUI 라는 격이랄까. 뭐 예전의 GUI는 실제로 그렇게 이야기하기도 했으니까 어쩌면 발전의 단계일지도.

iPhone에서의 GPS는 아직도 화면만 지원하고 있는데, 음성지원을 못해서 안 하는 건지 그냥 등떠밀려 개발한 GPS라 제대로 만들 생각이 없는 건지는 모르겠다.



어쨋든 굳이 이런 것도 voice 운운해 가면서 짚어 주었다니 우쭐해지는 마음이 없잖아 있지만, 그 내용을 보면 몇년이 지나도 확장되지 않은 Voice UI의 영역에 한켠이 씁쓸한 것도 사실이다.

점심시간 동안 후딱 적다보니 앞뒤가 없다. 원래 그냥 스크랩이나 해두려고 한 것일 뿐...이라고 애써 생각하기로 하자. ㅡ_ㅡa;;;
신고
Posted by Stan1ey
얼마전에 올라온 것 같은 이 MS Office 2010 홍보 동영상을 이제서야 보게 됐다.



비교적 열성과 전문성이 보이는 홈페이지 내용에 비해서, 이 동영상은 마치 고등학생들이 만든 프로젝트 영상 같달까... 어중간한 프로의식에 일단 흉내는 냈지만 도통 공감이 가지 않는 재치있는(?) 내용들이 거슬린다. 게다가 실제로 의미있는 장면이나 대사는 없고, 그냥 헐리웃 영화 예고편에 대해서 순수하게 풍자하고자 만든 영상이라면 오히려 수긍이 가겠다.


... 사실대로 말하자면, 내 입장에서는 내용이 아주 없지도 않았다.

Rest In Peace, Clippy (1997-2004)
Rest In Peace, Clippy (1997-2004)

비록 실패했지만, 개인적으로 대화형 Human Interface Agent를 적용한 Social UI의 의미있는 시도로 기억하고 있는 Clippy가 주인공(?)의 죽어버린 친구로 나온다. 여기에 따라붙는 대사는 "이제는 그만 잊고 보내줘야해!"라는, 무려 '아픈 과거를 가진 캐릭터' 패턴. 아놔. ㅡ"ㅡ

이건 뭐 한두번도 아니고, 뭔가 울궈먹을 일이 있을 때마다 부관참시하고 있으니 좀비가 되어서 살아나고 싶어도 무서워서 그냥 누워있을 듯.

이러다가 나중에 대화모델링이나 음성인식이나 준자연어 분야의 연구가 갑자기 발전해서 다시 에이전트를 하게 되면 면목 없어서 어쩌려고들 이러는지 모르겠다. 진짜 그쪽은 결국 다다르게 되어 있다니깐.
신고
Posted by Stan1ey

BLOG main image
by Stan1ey

카테고리

분류 전체보기 (347)
HTI in General (45)
User eXperience (11)
Voice UI (50)
Vision UI (14)
Gesture UI (25)
Tangible UI (28)
Robot UI (14)
Public UI (9)
Virtuality & Fun (56)
Visual Language (15)
sCRAP (70)

글 보관함



www.flickr.com
This is a Flickr badge showing public photos and videos from Stan1ey. Make your own badge here.