공룡호가 사는 세상 이야기

논문 심사도 끝났겠다, 막바지 포스팅 그 첫번째-_ - 이거 완전 벼락치기 아닌가.. ㅠㅠ

IBM developerWorks에서 일전에 꽤나 흥미롭게 읽어 보았던 음성 실행 XML 에 관련된 기사가 Part4를 마지막으로 연재가 종료되었는데 Part1, 2, 3, 4의 근간이 되는 VXML에 대해서 간단히 알아보고, 이 중 하나에 대해서 좀 더 알아보기로 하자.

키워드는 VXML이다.
VXML은, VoiceXML 이라고 하는데, XML Output 표준에 주어진 이름이며 파일 포멧은 VXML이다.
VXML은 VoiceXML Content를 텍스트[Text-To-Speech (TTS)]로 변환하는 VoiceXML 브라우저와 결합하며, 음성 명령을 인식하는 것 또한 가능하다. (IBM dW)

VXML은 XML의 일종으로, 대화형 음성입출력 방식을 규정한 국제 표준 기술이며, 1999년 3월에 AT&T, IBM, 모토로라, 루슨트테크놀러지 등의 주도로 'VoiceXML 포럼'이 발족됐고 2000년 5월에 W3C에 의해 WWW의 대화형 Markup Language 표준으로 공인되었다.
VXML은 음성 서비스 시나리오 저작자를 갖가지 문제에서 해방시켜 서비스 내용 그 자체에만 집중할 수 있도록 해 준다. 지금까지 음성 서비스 구현과정과는 달리 VXML문서로 음성 서비스 시나리오를 작성한 사람은 음성 입출력의 기술적인 문제에 대해 거의 알 필요가 없기 때문이다.
또한, 시나리오를 통해 전달할 정보의 창출과정이나 수집한 정보의 처리과정은 웹서버에 연결된 CGI나 DB등을 통해 가능하므로 대화 시나리오 저작자는 서비스 로직으로부터 독립될 수 있다. 쉬운 저작이 가능하고 온갖 복잡한 상황을 표현하기에 별다른 어려움이 없는 VXML의 문법체계 또한 저작자에게 큰 도움이 된다.
나아가 VXML은 컨텐츠 구축에 소요되는 인력을 크게 줄여 음성 포털의 실현을 가능하게 해 줄 것으로 기대된다. 또한 VXML 문서형식은 XML에 내포된 태그 형식을 갖는 텍스트 파일로서 읽기 쉽고 의미가 명확하며, 프로그래밍을 경험해 본 사람이 조금만 노력을 기울이면 쉽게 작성할 수 있다.
게다가 많은 이들이 설치 운용하고 있는 웹서버를 문서 서버로 이용하기 때문에 음성 서비스 시나리오 저작의 저변 확대 및 대중화가 가능해, 개인 음성서비스의 구축 붐이 일어날 가능성이 대단히 높다. 이것은 결국 전문적인 음성 시나리오 작가의 등장과 음성 서비스 수준의 고급화로 이어지게 될 것이다.

이러한 맥락에서, 이번 IBM developerWorks의 이번 Article Part1, 2, 3, 4는 VXML을 이용하여 각종 예제를 접할 수 있다는 점에서 상당히 의미가 있다.(기술 설명만 아무리 많으면 뭐하나, 예제가 있어야 심화 문제를 풀지-_-)

  • Part 1 — 음성 실행 RSS 리더
  • Part 2 — 음성 실행 달력
  • Part 3 — 음성 실행 블로그 및 Twitter 애플리케이션
  • Part 4 — 음성 실행 Yahoo 검색 애플리케이션

    현재, VXML을 이용한 예제 중 업데이트 된 4개의 Article이다. 이 중, 개인적으로 가장 관심있는 부분은 Part4의 '음성 실행 Yahoo 검색 애플리케이션'이다.

    Part4는 VXML을 사용하여 검색하고, 리턴된 검색 결과를 듣는 것도 가능하다. Part4에서는 이러한 일을 수행하는 애플리케이션을 구현한다. 다음은 웹 검색 워크플로우이다. 그림에서 알 수 있듯이 2개의 메뉴를 제공하는데, 로컬 검색(List local search phrases)과 전통적인 웹 검색(List Web search phrases)이 그것이다. 전자는 두개의 인풋 값, 검색어, 위치를 필요로 하고, 후자는 검색어만 필요로 한다. 검색 결과는 VXML로 변환되어 반환된다.
    웹 검색 워크플로우

    이후로, 자유 형식 문법 인풋을 만들고, 기본적인 VXML 아웃풋 클래스를 만든다.
    그리고 기본 인터페이스를 사용하여 간단한 검색을 출력하고 VXML 아웃풋을 살펴보게 된다.
    그리하여 Yahoo 검색 인터페이스를 사용하여 웹 검색을 실행하게 되는데, 솔직히 따라하는데 애를 좀 먹었다.
    하지만, 어렵다는 이야기는 아니다. 조금 구체적인 설명이 있었으면 하는 부분도 없잖아 있었지만, 그럭저럭 프로그래밍에 대한 지식이 조금 있다면 어렵지 않게 가능할 것이다.
    그리고 Article에서도 있듯이, 아웃풋의 음성 버전이 완벽하지 않다.
    하지만 이것으로도 충분하다.

    이를 이용하면, 전화를 통해 음성으로 쇼핑, 검색, 개인일정관리 등의 서비스가 가능하게 되며,
    이는 말(Voice)로 인터넷 서비스를 이용하는 보이스 포털로도 연결될 수 있다.
    이같은 서비스를 가능하게 해 주는 기본 기술 중 하나가 음성인식(ASR: Automatic Speech Recognition)과 VXML이다. VXML을 접하고 가장 먼저 생각한 것은 개인일정관리이다.
    사실, 일정관리를 편리하게 하려는 시도는 도처에서 너무나 많이 시도되었었고 지금도 진행중이다.
    하지만 개인일정을 완벽하게 관리하기 위해서는 관리도구가 항상 근처에 있어야 하는데 연필로 종이에 기록하는 것은 불편하다 하여, 전자수첩이나 휴대폰, 웹 등의 도구를 사용하게 되었으나, 휴대폰과 전자수첩은 버튼을 눌러 기록/검색하는 것이 시간이 많이 걸리고, 웹은 휴대할 수가 없기 때문에 기록이 용이하지 않다.
    이를 해결할 수 있는 방법은 음성인식 뿐이다.
    일정의 입력이 필요할 경우, 음성으로 입력하고, 검색이 필요할 경우에도 음성으로 검색, 결과 또한 음성으로 알려줄 수 있다는 점에서 VXML을 이용한 이번 예제는 상당히 의미가 있다.
    한번 따라 해 보면 좋을 성 싶다. 그리고 재미있고 신기하다.

    몇몇 관심있는 녀석들로 팀을 구성해서 음성인식 개인일정관리에 한번 도전해 보는 것도 좋을 법 하다.
    물론 여유 시간이 좀 나야 가능하겠지만, 흐흐.ㅠㅠ

    ※ 관련 기사의 링크는 상단의 Part1, 2, 3, 4에 각각 링크되어 있습니다.