• 검색 결과가 없습니다.

VoiceXML 음성 애플리케이션에 기반한 입시정보시스템 설계 및 구현

N/A
N/A
Protected

Academic year: 2021

Share "VoiceXML 음성 애플리케이션에 기반한 입시정보시스템 설계 및 구현"

Copied!
92
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

碩士學位論文

VoiceXML 음성 애플리케이션에 기반한 입시정보시스템 설계 및 구현

Design and Implementation of UEEIS

(University Entrance Examination Information Systems) Based on Voice Application of VoiceXML

國民大學校 大學院

情報管理學科

河 萬 錫

2 0 0 1

(2)

VoiceXML 음성 애플리케이션에 기반한 입시정보시스템 설계 및 구현

Design and Implementation of UEEIS

(University Entrance Examination Information Systems) Based on Voice Application of VoiceXML

지도교수 윤 용 근

이 論文을 碩士學位 請求 論文으로 提出함

2002 年 6 月 日

國民大學校 大學院

情報管理學科

河 萬 錫

2 0 0 1

(3)

河萬錫의

碩士學位 請求論文을 認准함

2002 年 6 月 日

審査委員長 최 흥 식 印 審 査 委 員 박 수 현 印 審 査 委 員 윤 용 근 印

國民大學校 大學院

(4)

목 차

I. 서론 ... 1

1. 연구의 배경 및 목적 ... 1

2. 연구의 방법 및 구성 ... 4

II. XML의 이론적 배경과 기반 기술 ... 6

1. HTML과 XML의 비교 ... 6

2. VoiceXML의 개요 ... 9

3. VoiceXML 기반 음성 애플리케이션의 활용 분야 ... 14

III. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템 설계 및 구현 ... 15

1. API(Application Programming Interface)를 이용한 기존 ARS의 구현 방법 ... 16

2. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 설계 ... 19

3. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 구현 ... 39

4. 기존 ARS 방식과 VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 비교 ... 49

IV. 결론 ... 52

1. 요약 ... 52

2. 연구의 성과 ... 52

3. 향후 연구과제 ... 54

참고문헌 ... 56

Abstract ... 58

부 록 ... 60

(5)

표 차 례

[표 1] HTML의 단점 ...

[표 2] XML의 특징 ...

[표 3] HTML, SGML, XML의 비교 분석 ...

[표 4] VoiceXML 개발자용 사이트 ...

[표 5] VoiceXML의 주요 활용 분야 ...

[표 6] 입시관련 음성정보서비스(700서비스) 현황 ...

[표 7] 입시정보시스템 시나리오 ...

[표 8] class 테이블 ...

[표 9] jiwon 테이블 ...

[표 10] jiwongun 테이블 ...

[표 11] schedule 테이블 ...

[표 12] student 테이블 ...

[표 13] 시스템 구현 환경 및 개발 도구 ...

[표 14] 다양한 옵션의 음성입력을 위한 문법 정의 ...

[표 15] VoiceXML 기반 입시정보시스템의 장점 ...

6 8 8 13 14 17 24 34 34 34 35 35 39 48 54

(6)

그 림 차 례

[그림 1] 논문의 전체적인 구성 ...

[그림 2] XML 자료의 변환 ...

[그림 3] VoiceXML 인터페이스 구조 ...

[그림 4] 전체 시스템 구성도 ...

[그림 5] 와이더덴닷컴에서 제공하는 VoiceXML 개발자용 사이트 ...

[그림 6] 시스템 블록 다이어그램(System Block Diagram) ...

[그림 7] 입시정보시스템의 클래스 다이어그램 ...

[그림 8] 쓰임새 다이어그램(Use Case Diagram) ...

[그림 9] 합격자 조회 활동 다이어그램 ...

[그림 10] 입시일정조회 활동다이어그램 ...

[그림 11] 담당자 연결 활동 다이어그램 ...

[그림 12] 입시자료 발송 활동 다이어그램 ...

[그림 13] 전체 DB 테이블 구성도 ...

[그림 14] 일반유저용 컴포넌트 다이어그램 ...

[그림 15] 관리자용 컴포넌트 다이어그램 ...

[그림 16] 입시정보시스템을 위한 배치 다이어그램 ...

[그림 17] 합격자 조회 모듈 흐름도 ...

[그림 18] 관리자용 합격자 리스트 화면 ...

[그림 19] 입시지원현황 모듈 흐름도 ...

[그림 20] 관리자용 모집인원 총괄표 ...

[그림 21] 관리자용 정시 모집 인원 현황 ...

[그림 22] 관리자용 수시모집인원 현황 ...

[그림 23] 입시일정 조회 모듈 흐름도 ...

[그림 24] 관리자용 입시일정 관리 화면 ...

[그림 25] 관리자용 입시일정 추가 화면 ...

[그림 26] 관리자용 입시일정 수정 화면 ...

5 12 13 19 20 21 25 26 29 30 31 32 33 36 37 38 41 42 43 44 44 44 45 46 47 47

(7)

논 문 요 약

현재 대부분의 대학 입시정보시스템은 ARS 및 웹기반의 서비스를 병행하 여 제공하고 있다. 기존 ARS 기반 시스템의 단점은 전화버튼만으로 입력이 제한된다는 점과 시스템의 구축 및 유지보수가 용이하지 않다는 점이다.

이러한 문제점을 해결하기 위하여 전화버튼 뿐만 아니라 음성인식에 의한 입력이 가능한 VoiceXML 음성 애플리케이션을 도입하였다.

VoiceXML 및 음성 애플리케이션을 활용하여 입시정보시스템을 설계 및 구현해 본 결과 이러한 문제점들을 상당부분 해결할 수 있었다. 그리고 미 리 연관된 키워드를 등록하여 다양한 입력옵션을 제공함으로써 자연어 처리 가 좀더 용이해졌다.

이는 XML의 최대장점인 다양한 확장성과 응용성이 향상되는 것이며 사용 자에게 기존 시스템보다 훨씬 개선된 사용자 인터페이스를 제공할 수 있게 된 것이다.

또한 기존 웹기반의 서비스에 쉽게 연동이 가능하고 유지보수 또한 기존 시스템보다 쉽게 할 수 있다.

(8)

I. 서 론

1. 연구의 배경 및 목적

가. 연구의 배경과 동기

21세기를 맞이하여 각 대학들은 대학 경쟁력 향상을 위해 부단히 노력하고 있다. 국내의 여러 대학들은 앞으로 예상되는 대외적 요인인 교육 시장 개 방과 대내적 요인인 수험생 감소라는 이중고를 안고 대학 발전을 위해 노력 하고 있다. 대학 교육의 질적 향상을 위해서 여러 요소가 있겠으나 그 가운 데서도 입시홍보업무의 중요성은 날이 갈수록 그 중요성을 더해가고 있다.

대부분의 대학에서는 입시홍보업무에 중요성을 두고 많은 예산과 인력을 투 입하여 우수한 신입생 유치를 위해 전력을 다하고 있다. 이와 관련하여 입 시정보시스템을 ARS 및 웹기반으로 병행하여 서비스를 제공하고 있다.

그러나 기존의 ARS 기반의 시스템은 개발에 필요한 비용 및 시간이 많이 드는 단점이 있었다. 시스템 개발을 위해서는 API(Application Programming Interface) 뿐만 아니라 API를 제공하는 하드웨어에 대한 지식 이 있어야 한다. 왜냐하면 하드웨어의 경우는 같은 회사의 제품이라도 기종 에 따라 API가 서로 달라서 호환에 문제가 있기 때문이다. 또한 구현하고자 하는 서비스의 시나리오가 변경될 때마다 재개발을 해야 하므로 개발 기간 및 비용이 많이 드는 단점이 있다. 이러한 이유로 기존 ARS 기반의 시스템 은 전문가가 아니면 쉽게 구축하기 힘든 시스템으로 알려져 있다. 그러나 이제는 음성인식 및 음성합성이 가능한 VoiceXML Gateway를 갖추고 음성 정보를 제공하는 시나리오를 VoiceXML 문서로 만들어서 웹 서버에 올리기 만 하면 하드웨어에 관한 전문적인 지식이 없더라도 누구나 손쉽게 음성 정 보 서비스를 구축하고 운영할 수 있게 되었다.1)

본 논문에서는 최근 음성인식기술의 발달과 함께 웹기반 음성표준으로 자

(9)

리잡은 VoiceXML 기반 기술을 입시정보시스템에 적용함을 통해 XML 기반 시스템의 확장성과 응용성을 최대한 활용하여 기존 시스템을 개선하고자 한 다.

나. 연구 목적과 기대 효과

현재 각 대학에서는 비용 절감과 우수신입생 유치라는 양대 목표 구현을 위해 힘쓰고 있다. 21세기를 맞이하여 교육시장 개방 및 지방대학의 정원 미달 등으로 인해 대학 교육은 심각한 위협에 직면하고 있다. 이를 타개하 기 위해 각 대학에서는 무엇보다도 입시홍보업무의 중요성을 깨닫고 많은 예 산과 인력을 투입하여 입시업무를 전산화하고 수험생들의 편의를 도모하고 있다.

대학 입시 업무는 어느 부서보다도 많은 전화민원 업무량의 증대로 인하여 중복되는 민원 처리가 잦아지고 있으며 이에 따른 업무과중 및 인력 낭비를 가져오고 있다. 또한 입시업무서비스에 대한 요구가 다양해짐에 따라 언제 어디서나 의문점을 해결해 줘야 할 필요성이 증대되고 있다.

지금까지의 자동응답 서비스는 서비스마다 고유한 번호를 부여해 사용자가 원하는 정보를 얻기 위해선 반드시 해당 번호를 입력해야만 했다. 이러한 방법은 물론 이전에 직접 통화를 하는 방식보다 훨씬 많은 양의 정보를 동시 에 서비스할 수 있다는 장점이 있으나 사람이 아닌 프로그램에 의한 서비스 이므로 제한이 많고 사용자의 입장에서 본다면 불편한 점이 많다. 우선, 원 하는 서비스의 코드를 모를 경우 이를 알기 위해서 처음부터 안내를 들어야 하고 또 이러한 방법에 익숙하지 않은 사람은 실수를 할 경우가 많다. 이런 경우는 다시 처음부터 안내를 따라야 하는 경우가 많아 사용자는 매우 불편 함을 느끼는 경우가 많다.2)

1) 박섭형, “음성 웹 어플리케이션 구축을 위한 VoiceXML”, 한빛미디어, 2001.

2) 감지은, 이문형, “음성인식 증권정보서비스 구축 사례”, 정보처리학회지 제6권 제4 호, 1999.7

(10)

또한 전화버튼을 통한 입력만을 제공하고 있으므로 사용방법이 단순한 반 면 다양한 입력 방법을 제공하지 못하므로 확장성이 약하며 전화버튼을 누르 기 힘든 주행중이나 이동 중에는 사용하기가 어려웠다. 또한 편리한 사용자 인터페이스를 제공하기에는 한계가 있으므로 최근 인터넷의 발달과 무선인터 넷의 활용 등으로 인해 ARS 시스템의 효용은 갈수록 낮아질 것으로 예상된 다.

또한 무선인터넷과 Mobile Phone을 이용한 서비스가 최근 급속히 확산되 는 추세에 있으나 이 역시도 다이얼패드로 국한된 입력의 불편함을 해결해야 하는 과제에 봉착해 있는 상황이다.3)4)

그런데 최근 음성인식 기술의 발달에 힘입어 VoiceXML 표준이 완성됨에 따라 이를 활용한 애플리케이션 개발이 활발하게 진행되고 있다. 음성인식 이 가능하고 기존의 텍스트를 음성으로 변조하여 출력할 수 있으므로 기존의 키보드, 마우스, 다이얼패드 등으로만 입력이 가능하던 시대에서 음성으로, 즉 자연어 입력이 가능하게 되었다. 이미 사용자의 음성을 인식하여 받아쓰 기(dictation)해 주는 소프트웨어가 출시되어 활용되고 있으며 이를 활용한 음 성 인식 웹서핑 등도 상용화되고 있다.

VoiceXML 기반 기술을 대학입시정보시스템에 활용하면 수험생에게는 더 욱 쉬운 사용자인터페이스를 제공하게 된다. 음성입출력이 가능하므로 기존 ARS 시스템보다 훨씬 사용하기가 쉽다. 또한 정해진 메뉴에 연관된 키워드 를 미리 등록할 수 있으므로 보다 쉽고 다양한 입력이 가능하고 자연어 처리 가 용이하다는 장점을 가지고 있다. 이는 XML의 최대 장점인 확장성을 최 대한 활용할 수 있는 것이다. 또한 VoiceXML 고유의 특성에 의하여 시스템 수정, 확장시 기존 시스템과 달리 보다 용이하게 유지보수가 가능하다는 장 점이 있다. 기존 시스템에서는 시나리오 변경 등으로 인해 시스템 수정, 확 장시 전체적으로 프로그램을 다시 작성해야 했기 때문에 개발 기간 및 비용 이 많이 드는 단점이 있었다. 그러나 VoiceXML을 활용하게 되면 변경된 부 3) ICN Communications, http://www.netacademy.co.kr

4) 뉴씨엔씨, http://www.newcc.co.kr

(11)

분만 VoiceXML 문서로 만들어 웹서버에 올리면 되므로 개발 기간 및 비용 이 많이 들지 않는 장점을 가지고 있다. 대학의 입장에서도 새로운 시스템 을 도입하게 되면 이에 따른 사용자 재교육, 관련장비 구매 등 많은 비용요 인이 발생하게 되나 VoiceXML은 사용방법이 간편하고 이미 널리 보급되어 있는 유무선 전화를 사용하므로 사용자 교육이 간편한 장점을 가지고 있다.

2. 연구의 방법 및 구성

본 논문은 VoiceXML 음성 애플리케이션에 기반하여 대학입시정보시스템 을 설계하고 구현하는 것을 목적으로 한다.

VoiceXML Gateway로는 와이더덴닷컴에서 제공하는 VXGateway를 사용하 였다. Windows 2000 server를 운영체제로 하였으며 My SQL을 사용해 DB 를 구성하였다.

본 논문의 구성은 다음과 같다.

제 1 장 서론에서는 연구배경 및 목적과 연구 범위 및 방법에 대하여 서술 한다.

제 2 장에서는 VoiceXML의 기반 기술인 XML의 이론적 배경과 기반 기술 에 관하여 살펴볼 것이다. 이를 위해 HTML과 XML의 차이점에 대하여 비 교 분석을 하고 VoiceXML의 특징 및 장단점, 기능에 대한 개요를 소개한 후 현재 VoiceXML을 기반으로 제공되고 있는 음성애플리케이션 활용 사례를 알아보고자 한다.

제 3 장 본론에서는 VoiceXML을 활용하여 실제로 입시정보시스템을 설계 하고 구현하고자 한다. 먼저 기존 ARS 방식의 개요를 살펴본 후 VoiceXML 기반 입시정보시스템을 설계 및 구현하고자 한다.

설계 기법으로는 객체지향모델링 기법인 UML(Unified Modeling Language)을 활용하여 시스템을 설계하고 이에 따라 웹기반 소프트웨어 및 VoiceXML 기반의 소프트웨어를 구현하였다.5)

소프트웨어 구현을 위해 본 논문에서는 웹서버를 경유하여 DB 등을 검색

(12)

하여 동적으로 VoiceXML 문서를 생성한 후 음성인식 및 음성출력을 담당하 는 VoiceXML Gateway를 통해 사용자가 서비스를 받을 수 있도록 하였다.

VoiceXML Gateway로는 와이더덴닷컴(http://www.widerethan.com)에서 개 발한 VXGateway를 활용하였다. 본 논문에서는 이를 활용하여 웹서버측 스 크립트 언어인 Java Servlet과 JSP, ASP를 활용하여 동적으로 VoiceXML 문 서를 생성하여 이를 VoiceXML Gateway에 보내어 음성인식 및 음성출력을 할 수 있도록 하고자 하였다. 마지막으로 본 논문과 기존 ARS 방식과의 비 교 분석을 통하여 연구의 성과 및 향후 연구과제에 대하여 언급한다.

본 논문의 전체적인 구성을 요약하면 [그림 1]과 같다.

[그림 1] 논문의 전체적인 구성

5) Joseph Schmuller저, 곽용재 역, “초보자를 위한 UML 객체지향설계”, 인포북, 1999.

(13)

II. XML의 이론적 배경과 기반 기술

1. HTML과 SGML, XML의 비교

가. HTML

인터넷의 보급 및 확산에 결정적인 영향을 끼친 요소 중의 하나는 HTML 의 보급이라고 할 수 있다. HTML은 Hyper Text Markup Language의 약자 로서 쉽게 작성이 가능하며 대부분의 웹브라우저에서 채택하여 지원하고 있 으므로 범용성이 높아 인터넷의 대중화에 큰 역할을 담당하였다.6) 지금 이 시간에도 많은 사람들이 HTML을 배우고 있으며 HTML을 사용한 문서 자료 들은 폭발적으로 증가하고 있다. 그러나 HTML은 쉽게 작성할 수 있는 반 면 다음과 같은 단점들이 있어 대용량의 자료를 처리하기에 부적합한 것으로 인식되고 있다.

* 새로운 기능을 추가하기 위해서 HTML을 확장하는 것이 어렵다.

* 확장이 쉽지 않아 호환성이 떨어진다.

* HTML로는 복잡한 정보를 다룰 수 없다.

[표 1] HTML의 단점

자료출처 : 와이더덴닷컴(http://vxml.widerthan.com)

나. SGML

1960년대말 IBM은 공통부호화를 위한 코드 제정의 개념을 최초로 정의하 게 되었고, 이 작업은 현재의 SGML의 형태로 발전하게 되었다.

6) 엄선홍, “전자상거래에서 XML 기반 Catalog 어플리케이션 개발”, 고려대 대학원 석사학위논문, 2000.

(14)

SGML(Standard Generalized Markup Language)은 일반화된 마크업(GML) 시스템의 한 예로서, 1986년 국제적인 표준(ISO 8879:1986) 및 CALS의 표준 으로 제정되었다.7)

SGML은 플랫폼에 독립적으로 동작하고 문서의 구조를 저장할 수 있기 때 문에 문서 구조를 기반으로 한 다양한 응용(검색, 저장 등)에 사용할 수 있 고, 또 업계의 표준(CALS 등)으로 정착하여 많이 사용되고 있기는 하지만, SGML이 워낙 복잡한 이유 때문에 SGML 전체를 지원하는 소프트웨어의 개 발이 용이하지 않다. 또한 SGML은 소프트웨어 산업 전반에 걸쳐 널리 사 용될 수 있도록 범용 목적으로 만들어져 있어 화학식의 표현이나 기타 다른 특수 용도의 목적으로 사용하려면 그 목적에 맞는 소프트웨어(예 : 브라우저) 를 일일이 개발해야 한다. 또한 인터넷을 위한 목적으로 만들어져 있지 않 다. 따라서 현재 보편화되어 있는 하이퍼링크의 기능이 스펙상에 기술되어 있지 않으므로 각각의 브라우저마다 링크를 설정하는 방법이 다르다.8)

다. XML

XML(eXtensible Markup Language)은 HTML과 SGML의 단점은 없애고 둘의 장점만을 모아 놓은 것이라 할 수 있다.9) HTML의 단점인 확장성이 부족하고 복잡한 정보를 다룰 수 없다는 한계를 극복하고, SGML이 지나치 게 복잡하다는 단점을 극복하기 위해서 W3C에서 제안한 언어이다.

XML은 SGML의 축소판이라 할 수 있다. SGML에서 꼭 필요한 기능만을 사용하게 되어 복잡성은 줄이고 확장성은 최대화한 언어라고 할 수 있다.10)

XML의 특징은 [표 2]와 같이 요약할 수 있다.

7) 채규혁, “차세대 웹의 혁명 XML", 도서출판 대림, 1998.

8) 윤홍표, “XML을 이용한 기술정보관리시스템의 구현에 관한 연구”, 서울대학교 대 학원 석사학위 논문, 2000.

9) 선정일, “Internet EDI 구현을 위한 XML 활용에 대한 연구”, 국민대 대학원 석사 학위논문, 1998.

10) 윤희진, “XML을 이용한 폼 기반 워크플로우 관리시스템”, 서울대 대학원 석사학 위논문, 2001.

(15)

* 어떤 종류의 정보도 사용자의 필요에 따라 저장하고 조작할 수 있다.

* 많은 소프트웨어들이 무료로 배포되고 있어 개발 및 응용이 용이하다.

* 유니코드(Unicode)를 표준 문자세트로 사용하기 때문에 한국어 처리가 용이 하다.

* 문법의 규칙검사 등 여러 가지 검사방법을 이용하여 보다 정밀한 문법의 문 서 작성이 가능하다.

* 문법이 분명하고 단순하며 문서 구조가 명확하다.

* 문서의 구조와 디자인 설정이 별도의 문서로 저장되므로 문서 관리가 용이 하다.

[표 2] XML의 특징

자료출처 : 권혜윤, “XML & JAVA for webmaster”, 성안당, 2002.

이상과 같이 HTML, SGML, XML의 개요를 살펴보았다. 마지막으로 HTML, SGML, XML을 전체적으로 비교하면 [표 3]과 같다.

비교항목 HTML SGML XML

태그 사용 사용자 정의 불가능

제한적

사용자 정의 가능 무제한적

사용자 정의 가능 SGML보다는 제한적

문서 재사용 불가능 가능 가능

응용 분야

단순한 구조의 문서 및 내용이 너무 길지

않은 문서

방대한 내용과 구조를 요하는 기술적인 문서

SGML과 동일, 웹상의 문서 교환

문서 작성

간단하고 용이함 논리 구조 작성의

어려움

매우 복잡함, 논리구조 작성의

어려움

SGML을 단순화시켜 보다 편리하게 작성

가능

문서 검색 효과적 검색 어려움

정확한 검색 가능, 문서 구조에 대한

검색 가능

SGML과 동일

링크 HTML

(Only simple link) HyTime XLL

출력 형식 언어 CSS DSSSL XSL/CSS

[표 3] HTML, SGML, XML의 비교 분석

자료출처 : 장봉주, “교육 기관간 데이터 교환을 위한 XML/EDI용 DTD 설계”, 고려대학교 교육대학원 석사학위논문, 2001.

(16)

2. VoiceXML의 개요

불과 10여년전까지만 해도 키보드만을 주로 사용하던 인터페이스에서 마우 스를 사용하는 것은 커다란 혁신이었다. 사용자에게 GUI를 제공하고 쉽게 입력을 가능하게 함으로써 많은 사람들이 컴퓨터 사용을 더욱 쉽게 접근할 수 있었다. 최근 무선통신 등의 발달과 함께 컴퓨터 기술은 날로 새롭게 발 전되어가고 있다. 인터넷의 발달로 인하여 이제는 방안에 앉아서 손가락을 움직이는 것만으로도 전 세계에서 벌어지는 일들을 알 수 있는 시대가 되었 다. 인터넷은 컴퓨터를 통해서 뿐 아니라 무선망을 통해서, 심지어는 핸드폰 을 통해서도 서비스되고 있다. 갈수록 인터넷을 기반으로 한 서비스들이 새 롭게 개발되어질 전망이다. 그러나 핸드폰을 사용하여 인터넷을 사용하는 것은 상용화되기는 하였으나 아직 그리 많은 사용자층을 확보하지는 못하고 있으며 제한적인 서비스만을 제공하고 있는 것이 현실이다. 그 원인은 입력 방법의 불편함에 있다. 입력하는데 있어서 키보드와 달리 적은 수의 다이얼 패드만을 제공하고 작은 화면 등의 제약 사항이 있다. 이를 개선하기 위해 마우스나 키보드를 쓰지 않고 사람과 이야기하는 것처럼 컴퓨터와 의사 소통 을 할 수 있는 기술 중의 하나가 바로 VoiceXML이다. HTML이 텍스트를 표현하는 마크업언어인 것처럼, VoiceXML은 일반전화기 같이 음성 입출력을 사용하는 디바이스를 통해 사람과 컴퓨터가 의사소통을 주고받는 언어이다.

이런 특성은 종종 IVR(Interactive Voice Response)라고 불리며 이미 텔레뱅 킹이나 고객지원서비스에서 유용하게 사용되고 있다. 이 기능의 애플리케이 션을 개발하기 위해서는 지금까지는 상당히 전문적인 지식과 장비가 필요했 는데 바로 VoiceXML은 그런 종류의 애플리케이션의 제작을 빠르고 손쉽게 해주어 그 분야의 전문개발자가 아닌 사람도 다룰 수 있게 해주고 있다.11)

VoiceXML은 음성인식기술과도 깊은 관련이 있다. 음성인식이란 간단히 11) Eve Astrid Adnersson, Stephen Breitenbach, Tyler Burd, Nirmal Chidambaram, Paul Houle, Daniel Newsome, Xiaofei Tang, Xiaolan Zhu저, 강유, 김동준 역, “VoiceXML”, 에이콘, 2002.

(17)

말해서 음성신호를 컴퓨터를 이용하여 음성의 특징 parameter를 추출하여 컴 퓨터로 하여금 인지하도록 하는 것이다. 우리가 컴퓨터를 사용할 때 불편한 점 중 하나는 명령을 키보드로 입력하는 것이다. graphic interface의 발달로 마우스와 키보드를 병용함으로써 편의성이 많이 개선되었으나 지구상에서 가 장 오래되고 많이 사용하는 사람끼리의 대화에 비하면 아직 불편하기 그지없 다. 음성인식기술은 이러한 human interface를 편리하고 자연스럽도록 개선 시켜 줄 핵심기술 중 하나이다.12)

가. VoiceXML의 정의

VoiceXML은 차세대 인터넷 문서 규격인 XML(eXtened Markup Language)에서 파생되어 음성과 관련된 부분을 별도로 지원하기 위하여 발 표된 규약이다. VoiceXML 문서는 정보제공자가 자기 마음대로 새로운 태그 세트와 속성을 정의할 수 있으며, HTML이 지원하지 않는 객체 지향적 구조 혹은 데이타베이스 스키마의 구성을 위해 필요한 여러 번의 중첩을 허용하고 있으므로 MS(Microsoft), 오라클, SUN 등의 대형 업체에서 지원을 강화하고 있는 추세이다.13)

나. VoiceXML의 출현 배경

IBM, Motorola, AT&T와 같은 대형 IT 및 통신사들은 수년동안 텔레포니 와 인터넷의 기술을 통합하는 쪽으로 방향을 잡아가고 있었다. 이러한 목표 를 이루는 과정에서 VoxML, speechML 그리고 PhoneML(PML)과 같은 Markup Language를 만들어 냈다. 이들 업체들은 다시 VoiceXML 포럼 (http://www.voicexml.org)이란 조직을 만들면서 Voice XML 1.0 표준을 만

12) 전남대학교 신호처리 실험실, “Automatic speech recognation", http://dsp.chonnam.ac.kr

13) 삼보정보통신, "VXML", http://www.tgicc.com

(18)

들어 W3C에 2000년 3월 제출해 5월에 인정을 받았으며 2001년 11월에는 Voice XML 2.0을 제출하였다. W3C 내에서는 W3C Voice Browser Working Group (http://www.w3.org/Voice)에서 VoiceXML에 관한 사항들 을 담당하고 있다.14)15)

다. XML에 기반한 VoiceXML

VoiceXML은 XML에서 파생된 기술로서 XML 표준을 사용하기 때문에 플 랫폼에 자유롭고 확장성이 우수한 장점을 가지고 있다. VoiceXML 문서 작 성을 위해서 만들어진 전용 편집기가 많이 있지만 어떤 종류의 편집기로도 소스 코드를 쉽게 작성할 수 있다.

VoiceXML 역시 XML에 기반한 기술이기 때문에 XML기반 자료를 XSLT(Extensible Stylesheet Language for Transformation)를 이용해 VoiceXML 문서로 변환할 수 있다. 이것은 VoiceXML의 커다란 장점이다.

하나의 원본 XML 자료를 XSLT를 이용해 원하는 자료포맷(WAP, HTML, VoiceXML)으로 변환할 수 있기 때문에 voice Portal 구축시 유지보수 측면에 서 유리하다. 이 경우 XML을 위한 웹 인프라가 이미 구축되어 있으므로 인 터넷의 발전과 같이해온 웹 관련 기술들을 대부분 사용할 수 있다.16)

14) 에이블컴 기술연구소, “VoiceXML 개요”, 2001 15) VoiceXML Forum, "http://www.voicexml.org"

16) 에이블컴 기술연구소, “VoiceXML 개요”, 2001

(19)

[그림 2] XML 자료의 변환

자료출처 : Yamada yoshihiro, “바로 활용하는 XML 예제 활용집”, 영진닷컴, 2002.

라. VoiceXML 해석기 구현 현황

VoiceXML 문서를 음성으로 출력시키거나 음성을 인식하여 VoiceXML 문 서로 만들기 위해서는 음성 인식이 가능한 Gateway가 필요한데 이를 VoiceXML Gateway라고 한다.

사용자는 유무선 전화를 통해 VoiceXML Gateway에 접속한다. 사용자가 음성 또는 전화기 버튼을 눌러 입력하면 VoiceXML Gateway에서 인식하여 웹서버로 보내주게 된다. 웹 서버에서는 필요에 의하여 DB 검색 등을 수행 하여 동적으로 VoiceXML 문서를 생성하여 VoiceXML Gateway에 보내줄 수 도 있다.

VoiceXML 애플리케이션을 개발하기 위해서는 이와 같이 VoiceXML Gateway가 필수적으로 요구된다. VoiceXML Gateway를 직접 설치할 수도 있으나 고가의 장비이므로 국내외 사이트에서 제공하는 서비스를 이용할 수

(20)

도 있다.

[그림 3] VoiceXML 인터페이스 구조

자료출처 : 와이더덴닷컴(http://www.widerthan.com)

VoiceXML 개발자들이 VoiceXML 문서를 개발하고 테스트할 수 있는 환경 을 제공하는 대표적인 웹사이트들은 [표 4]와 같다.

구 분 사이트명 사이트주소

국외

Be Vocal Café http://cafe.bevocal.com IBM WebSphere Voice Server

SDK http://222-4.ibm.com

Motorola Mobile Application

Developer's Kit http://developers.motorola.com Tellme.Studio http://studio.tellme.com VoiceGenie Developer Workshop http://developer.voicegenie.com

Nuance VBuilder Desktop GUI Developer's Tool

http://www.nuance.com/products/v builder.htm

국내

㈜와이더덴닷컴 VXGate 개발자

커넥션 http://voicexml.widerthan.com

한국전산원 http://vxml.nca.or.kr

[표 4] VoiceXML 개발자용 사이트

자료출처 : 와이더덴닷컴(http://vxml.widerthan.com)

(21)

이 가운데 ㈜와이더덴닷컴의 VXGate 개발자 커넥션 사이트는 개발자가 만 든 VoiceXML 문서를 웹기반 디버깅을 통해 검증하고 전화 테스트도 가능한 사이트이다. 이는 한국에서 개발하여 공개한 사이트로서 한글 지원이 가능 하다. 국외 사이트들도 많이 있으나 아직 한글 지원이 되지 않고 전화 테스 트를 위해 국제 전화를 사용해야 하므로 본 논문에서는 VXGate 개발자 커넥 션 사이트를 VoiceXML Gateway로 사용하여 모든 소스를 테스트하였다.

3. VoiceXML 기반 음성 애플리케이션의 활용 분야

현재 VoiceXML을 기반으로 음성애플리케이션 및 서비스를 제공하는 곳이 많아지고 있다. 기존 ARS 기반 서비스와 달리 자연어 처리가 가능하며 기존 에 구축된 애플리케이션과 쉽게 연동이 가능하다는 장점 등으로 인해 갈수록 응용분야가 확산되어 가고 있다.

VoiceXML의 주요 활용 분야는 다음과 같이 요약할 수 있다.

현재

* 데스크탑 PC : 애플리케이션 검색, 문서작성, 일정계획, 전자우편 송수신, 웹브라우저

* 텔레폰 : 자동화된 디렉토리 지원을 통해 연락, 문자열 음성 변환 소프트웨어를 통해 전자우편 청취

* 핸드헬드 디바이스 : 데이터 입력, 웹 검색, PC에 설치된 음성인식 소프트웨어를 통해 애플리케이션 다운로드

* 자동 통역시스템 : 다국적인 언어에 대한 실시간 통역시스템

미래

* 자동차 : 전자우편과 캘린더 정보 접속, 자동진단 리포트, 실시간 지도/일기 예보 제공

* 자동 판매기 : 실시간으로 음식과 음료 주문

* Internet Appliance와의 밀접한 결합

[표 5] VoiceXML의 주요 활용 분야

자료출처 : 쌍용정보통신, "음성인식과 내추럴 스피킹 기술", http://itclub.sicc.co.kr/message/1215message.htm

(22)

III. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템 설계 및 구현

본 논문에서 구현한 VoiceXML 기반 입시정보시스템은 음성 인식과 음성 합성을 통한 대화형 안내 시스템으로 유무선 전화를 통하여 사용이 가능하 다.17)

입시정보서버와 전화를 통해 접속한 클라이언트의 사용자 사이에 Java Servlet과 JSP를 이용하여 동적으로 생성된 VoiceXML 문서를 VoiceXML Gateway가 음성으로 변환하여 사용자에게 전달해 주며 사용자는 DTMF(Dual Tone Multi Frequency)나 음성으로 메뉴를 선택하여 정보를 조 회할 수 있다. DTMF는 전자식 전화기의 버튼을 눌렀을 때 발생되는 신호 를 의미한다. 기존 ARS 시스템에서의 입력 방법은 DTMF만으로 한정되었 다. 그러나 VoiceXML 기반 시스템에서는 DTMF는 물론 음성으로 입력이 가능하므로 사용자에게 더욱 편리한 인터페이스를 제공할 수 있게 되었다.

개인 ID나 password와 같이 보안이 필요한 정보에 대해서는 여전히 DTMF 가 더욱 효과적인 입력 방법이 될 것이다. 또한 지하철, 실내 등의 공공장소 에서는 음성으로 입력하기 곤란한 경우가 있으므로 여전히 DTMF는 유용한 입력 방법이 될 수 있을 것이다.

이러한 VoiceXML 기반의 입시정보시스템의 장점은 가장 대중적인 통신 수단인 유무선 전화를 사용할 수 있어 이동중이거나 컴퓨터를 사용할 수 없 는 환경에서도 장소와 시간에 구애됨이 없이 이용이 가능하며, 컴퓨터 사용 이 익숙하지 않은 사람, 인터넷 사용이 불가능한 시각장애인 등도 정보를 활 용할 수 있다는 점이다.

또한 개발자 및 관리자의 입장에서 볼 때도 VoiceXML이 음성 입출력에 대한 표준을 제시하고 있으므로 음성입출력에 대한 전문적인 지식이 없더라 17) 임규애, “VoiceXML 기반 문제출제 시스템 설계 및 구현”, 성신여대 교육대학원 석사학위 논문, 2001.

(23)

도 신속한 개발 및 유지보수가 가능하며 기존 ARS 기반의 입시정보시스템을 쉽게 VoiceXML 기반 입시정보시스템으로 수정 및 확장이 용이하다. 또한 기존 웹기반의 안내시스템과 연동하여 사용자에게 더욱 다양하고 편리한 인 터페이스를 제공해 줄 수 있다는 장점을 가지고 있다.

1. API(Application Programming Interface)를 이용한 기존 ARS의 구현 방법

현재 대부분의 입시정보시스템들은 음성응답서비스(Audio Response Service)로 제공되고 있다.

음성응답서비스란 일반적으로 전화를 이용한 음성정보서비스의 통칭으로 사용되고 있으며 협의의 의미는 시스템의 음성정보제공자가 음성정보장치를 입력하고 일반 이용자들은 선택번호 버튼을 이용해 다양한 정보를 청취할 수 있도록 하는 서비스로서 700서비스가 그 대표적인 예이다.18)19)

초기에는 음성을 자기드럼(magnetic drum)에 아날로그 형태로 기록하는 방식이 사용되었지만 최근에는 기억장치의 대용량화와 컴퓨터 기술의 발달로 인하여 주로 합성 음성에 의한 자동응답방식과 축적 음성을 활용하는 두 가 지 방식이 사용되고 있다. ARS 기기의 가격은 천차만별이지만 소규모 기관 이라면 직원 한 사람의 연봉 정도로 설치가 가능하므로 동일한 내용을 반복 하여 서비스해야 할 필요가 있는 경우에 인력절감을 위해 많이 사용되고 있 다. 그러나 전화를 거는 사람이 원하는 곳과 연결하기 위해 지나치게 많이 기다려야 하거나 상세한 응답을 얻기가 어렵다는 단점이 있다. ARS를 이용 한 전화 정보 서비스는 전화 교환기에 음성사서함 장치를 설치한 후 각종 정 보를 수록해 놓고 정보이용자가 전화를 걸어 원하는 정보를 청취하는 것이

18) 김보예, “음성정보서비스의 기능대안성에 관한 연구-700 음성정보서비스를 중심 으로-, 한양대학교 대학원 석사학위논문, 1999

19) 민경석, “트랜잭션 처리를 기반으로 한 자동응답시스템 서비스 자동생성기의 설 계 및 구현”, 충북대학교 대학원 석사학위논문, 2001

(24)

다. 대부분 전화 요금 외에 이용한 시간에 비례하여 정보이용료를 지불해야 한다. 제공되는 정보의 종류는 증권, 교통, 관광, 스포츠, 공연, 건강, 운세, 날씨, 이동 전화 인사말, 유행곡 청취 등 매우 다양하다.20)

현재 대부분의 대학교에서는 ARS를 이용하여 입시정보서비스를 하고 있 다. 대부분 합격자 안내를 위해 외부 업체와 제휴하여 서비스를 제공하거나 자체적으로 입시정보서비스를 제공하기도 한다.

서비스명 전화번호 상세 안내 요금

합격자 발표 700-2051 합격자 발표, 지원자 현황, 합격가능점수, 유망학과,

적성테스트, 학과별 진로안내 100원/30초 중앙교육 대학입시 정보 700-4205 모의고사 듣기평가, 지원가능 대학 학과 안내 80원/30초

시험정보 700-4123 학교별 시험요월안내, 합격자 유의사항, 합격자 발표 80원/30초 입시정보와합격자발표 700-4888 입시요강, 편.입학 합격자 발표, 추가합격자발표 100원/30초

수원여대합격자발표 700-4110 정시합격자, 추가합격자, 2차추가합격, 3차추가합격 100원/30 다이알합격정보 700-2880 연예인 축하메시지, 합격자발표, 지원가능예상점수,

자격증소지가능대학 100원/30초

대학입시정보 700-4000 방통대, 4년제, 기능대, 전문대 50원/30초

대학입시속보 700-4288 자격검정, 대학원 100원/30초

대학입시속보 700-4777 합격자 자동 통보, 합격가능점수, 유망학과, 적성테스트,

진로안내 100원/30초

대학입시속보 700-4300 자격검정, 대학원 100원/30초

블랙박스대학정보 700-2525 추가등록 합격자 발표, 지원가능대학,2000 수능정답발표 80원/30초 상명대학교 합격자발표 700-2466 합격자 발표, 지원현황 및 경쟁률, 합격자 자동통보 예약 80원/30초 연세대학교 합격자발표 700-2688 합격자 발표, 대학원 합격자 발표 100원/30초

고려대학교합격자발표 700-2260 정시모집 추가합격,편입학 합격 100원/30초

합격다이알 700-4438 합격자

발표,대학입시속보,대학전화번호,동덕여대실기고사안내 100원/30초

합격자발표 700-2100 4년제 대학, 전문대학 100원/30초

합격자발표 700-2228 기업체 합격자, 4년제, 전문대, 편입학 발표 80원/30초 합격자발표서비스 700-2440 대학합격자 발표, 자동 통보 예약 100원/30초

[표 6] 입시관련 음성정보서비스(700서비스) 현황

자료출처 : EVS, "http://www.evs.co.kr/evs/phone/700service/700_1/5.jsp"

20) 두산세계대백과 EnCyber

(25)

기존 ARS 기반 입시정보시스템은 전화를 거는 사람이 원하는 곳과 연결하 기 위해 지나치게 많이 기다려야 하거나 상세한 응답을 얻기가 어렵다는 단 점이 있다. 또한 입력 방식이 전화버튼만으로 제한되기 때문에 사용자 인터 페이스가 취약하고 전화버튼을 누르기 힘든 운전 중이나 이동 중에는 사용하 기 어려웠다.

기존 ARS 기반 서비스를 개발 과정을 살펴보면 다음과 같다. 개발자는 API를 사용하여 서비스의 내용에 맞게 프로그램을 작성한다. 프로그램 개발 과정은 다음과 같다. 먼저 해당 서비스를 위한 순서도를 작성한다. 다음으 로 호 제어 및 미디어 처리를 위한 API 사용 부분을 확인한 후 API를 사용 하여 호 제어를 흐름도에 맞게 구성한다. 이 방식은 개발자가 하드웨어를 제어하는 API를 사용하여 직접 프로그램을 작성해야 하기 때문에 개발 시간 과 비용이 많이 드는 단점이 있다.21)

21) 민경석, “트랜잭션 처리를 기반으로 한 자동응답시스템 서비스 자동생성기의 설 계 및 구현”, 충북대학교 대학원 석사학위논문, 2001

(26)

2. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 설계

가. 시스템의 전체적인 구성

시스템의 전체적인 구성은 [그림 4]와 같다. 입시정보서버는 ISP(Internet Service Provider) 서버와 연결되어 있다. 입시정보서버는 DB와 연동하여 입 시정보자료들이 저장되어 있으며 사용자가 전화를 통해 시스템에 연결할 경 우 서버에 저장된 VoiceXML 문서를 VoiceXML Gateway에 보내어 음성으로 변환하여 TTS(Text To Speech)로 출력하게 된다. 사용자는 유선전화 및 무 선전화를 사용하여 시스템에 접속할 수 있다.

[그림 4] 전체 시스템 구성도

(27)

사용자가 음성으로 입력한 단어들은 VoiceXML Gateway가 음성인식하여 텍스트로 변환하여 서버에 전달해 준다. DB를 검색할 경우를 위하여 서버 측에서 Java Servlet과 JSP, ASP 등의 스크립트 실행엔진을 사용하여 동적으 로 VoiceXML 문서를 생성하여 다시 VoiceXML Gateway에 전달해 주므로 사용자가 필요한 정보만을 동적으로 추출하여 보내줄 수 있다. 시스템 관리 자는 유무선 인트라넷을 통하여 관리자 모드를 통해 사용자가 요청하는 정보 들을 수시로 업데이트하고 관리할 수 있다.

본 논문에서는 시스템 구현을 위해 작성한 VoiceXML 문서를 테스트하기 위해 와이더덴닷컴에서 제공하는 웹기반 테스트 및 전화테스트를 사용하였 다. 테스트가 가능한 국내외 사이트가 많이 있으나 국외 사이트는 아직 한 국어 음성처리를 지원하지 못하고 전화테스트를 위해 국제전화요금을 부담해 야 한다. 따라서 본 논문에서는 국내 사이트 중에서 와이더덴닷컴 (http://www.widerthan.com)에서 제공하는 개발자용 VoiceXML Gateway를 사용하였다. 와이더덴닷컴에서 제공하는 VXGate에서는 웹기반 디버깅은 물 론 전화테스트까지 제공하고 있어 개발을 위한 좋은 환경을 제공하고 있다.

개발자가 작성한 VoiceXML 문서를 VoiceXML Gateway인 VXGate에 보내면 VXGate의 인터프리터 기능을 통해 사용자와 음성으로 상호 작용을 주고받을 수 있다.

[그림 5] 와이더덴닷컴에서 제공하는 VoiceXML 개발자용 사이트

(28)

나. 시스템 블록 다이어그램(System Block Diagram)

본 논문에서 구현한 입시정보시스템의 시스템 블록 다이어그램(System Block Diagram)은 [그림 6]과 같다.

[그림 6] 시스템 블록 다이어그램(System Block Diagram)

(29)

시스템이 시작되면 메뉴를 선택할 수 있도록 안내 메시지를 TTS(Text To Speech)로 말해준다. 메시지를 출력하는 방식에는 TTS(Text To Speech)를 통해 Text를 음성으로 변환하여 출력시키는 방식이 있으며 또한 고정적인 메 시지의 경우는 미리 녹음된 음성을 wave file로 저장하여 출력시키는 두가지 방법이 있다. 고정적인 메시지의 경우는 후자의 방식이 효율적이며 동적인 메시지의 경우는 전자가 효율적이다. 음질만을 비교해서 본다면 동적인 메 시지보다는 녹음된 음성을 wave file로 저장하는 것이 더욱 고음질을 제공해 줄 수 있다. 따라서 내용이 자주 바뀌지 않고 고정적인 부분은 wave file로 음성을 제공하고 데이터베이스 조회 등 동적으로 내용이 바뀌는 부분은 TTS(Text To Speech)를 통해 그때그때 출력시키는 것이 바람직하다.

본 입시정보시스템은 서버와 사용자와의 상호 작용에 따라 합격자 조회 모 듈, 지원현황조회 모듈, 입시일정 조회 모듈, 담당자와 통화 모듈, 입시자료발 송 모듈로 구성된다. 사용자가 전화를 걸어 시스템에 접속하면 안내 메시지 를 통해 메뉴를 선택할 수 있게 하였으며 각 메뉴에서 다시 처음으로 돌아와 다른 메뉴를 선택하거나 중간에 종료할 수 있도록 하였다.

(30)

다. 시스템 설계

본 논문에서는 입시정보시스템 설계를 위해 Booch, Rumbaugh, Jacobson 의 UML(Unified Modeling Language)에 기반한 design 방법을 활용하여 모 델링하였다.22)

UML은 소프트웨어 시스템, 더 나아가 업무 모델링, 기타 소프트웨어가 아 닌 시스템의 산출물을 규정하고 시각화하며 구현하고 문서화하는 언어이다.

UML은 복잡한 대형 시스템을 모델링하는데 성공적으로 증명된 공학적 기법 들을 모아 제시한 것이다.23)

모델링 툴로서는 대표적인 UML 툴로서 가장 많이 사용되는 Rational Rose를 사용하였다.

1) 시나리오 작성 및 클래스 설계

모델링의 첫 번째 단계로서 시스템의 요구사항을 정의하고 분석하였다.

시스템의 전반적인 시나리오를 작성하고 작성된 시나리오를 토대로 명사와 동사를 추출하여 클래스를 설계하였다. 본 입시정보시스템의 시나리오는 [표 7]과 같다.

22) Terry Quatrani, Addison wesley, “Visual Modeling with Rational Rose 2000 and UML”, 2000.

23) 황남주, “최신의 객체지향 방법론 UML과 RUP”, 쌍용정보통신, 1999.

(31)

K 대학교에서는 입시정보시스템을 새롭게 구축하고자 한다. 이미 ARS로 합격자발표 서비스를 제공하고 있고 홈페이지를 이용하여 입시주 요사항 안내를 하고 있으나 아직도 많은 수험생과 학부모들은 전화를 이 용하여 세부 사항에 대한 질의를 하고 있다. 적은 수의 직원들을 입시업 무에 투입하다보면 많은 전화에 응대하는 것이 비효율적임을 알고 최근 각광을 받고 있는 음성처리기술을 활용한 VoiceXML 기술을 활용하여 기 존 ARS 서비스보다 더욱 확장된 시스템을 구축하고자 한다.

사용자가 학교에서 공지한 서비스 안내 전화번호를 확인하고 전화를 걸면 안내메시지가 출력된다. 합격자 조회, 지원현황 조회, 입시일정 조 회, 담당자와 통화, 입시자료발송요청 등의 메뉴가 출력되며 사용자는 이 메뉴를 선택할 때 전화버튼을 누르거나 직접 말을 하게 되면 음성인식이 가능한 VoiceXML Gateway가 그 정보를 입시정보서버로 넘겨준다.

입시정보서버에서는 이미 작성된 스크립트를 따라 해당되는 처리를 해 주게 된다. 사용자가 합격자 조회를 선택할 경우 수험생을 확인해야 하 므로 수험번호와 주민등록번호를 묻게 된다. 인증이 끝나면 합격자 DB 를 검색하여 합격여부를 알려준다. 수험생 이름, 지원분야, 소속단과대학 명, 지원학부(과)를 알려주고 합격했을 경우 합격 축하 및 등록안내 메시 지를, 불합격했을 경우 불합격임을 알려주고, 예비합격일 경우 예비합격 순위가 몇 번째인지를 알려준다.

사용자가 모집분야 및 지원학과를 음성 및 전화버튼으로 입력하면 DB 를 검색하여 지원학과의 정원 및 현재 지원자수와 경쟁률을 알려준다.

사용자가 모집분야를 음성 및 전화버튼으로 입력하면 해당분야(정시 및 수시모집)의 입시 일정이 출력된다. 입시일정은 입시정보서버에 데이터 베이스로 이미 구축되어 있다. 입시일정안내에서는 원서교부 및 접수기 간, 전형기간, 합격자 발표일, 합격자 등록기간 등에 대한 안내를 들을 수 있다. 사용자가 담당자와 통화 메뉴를 선택하면 사용자가 입력한 전화번 호를 교환기에 전달하여 담당자와 통화할 수 있도록 서비스를 제공한다.

이 때 VoiceXML Gateway와 교환기는 사전에 연결되어 있어야 하며 교 환기의 성능에 따라 구내전화 번호 뿐 아니라 외부전화도 연결할 수 있 다. 사용자가 입시자료발송을 요청하면 사용자의 인적 사항을 입력한 후 입시정보서버에 보내어 DB에 저장한다. 사용자가 동이름을 입력하면 우 편번호 및 주소를 조회하고 다시 사용자로부터 나머지 주소를 입력받아 그 결과를 DB에 저장시킨다. DB에 저장된 자료발송요청리스트는 관리 자의 확인을 통하여 추후 메일링리스트로도 활용될 수 있다.

[표 7] 입시정보시스템 시나리오

(32)

앞에서 작성한 시나리오에 따라 class(학과), jiwongun(지원분야), jiwon(지원 현황), schedule(입시일정), student(수험생), admin(관리자), user(사용자) 등 7 개의 class를 분류하여 [그림 7]과 같은 클래스 다이어그램을 작성하였다.

[그림 7] 입시정보시스템의 클래스 다이어그램

(33)

2) 쓰임새 다이어그램(Use Case Diagram) 작성

앞에서 작성한 시나리오에 따라 실제 시스템 구현을 위한 쓰임새 다이어그 램(Use Case Diagram)을 [그림 8]과 같이 작성하였다.

[그림 8] 쓰임새 다이어그램(Use Case Diagram)

(34)

3) 세부모듈 설계 및 활동 다이어그램(Activity Diagram) 작성

위 시나리오 및 쓰임새 다이어그램(Use Case Diagram)에 따라 세부적인 각 모듈을 설계하였다.

(가) 합격자 조회 모듈

합격자 조회 모듈에서는 사용자의 수험번호와 주민등록번호를 확인하고 해 당 사용자의 합격 여부를 음성으로 변환하여 출력시킨다. 수험생의 인적사 항 및 합격여부는 입시정보서버와 연결된 데이터베이스에 저장되어 있어야 한다. VoiceXML Gateway를 통해 입시정보서버로 전송된 수험생의 수험번 호 및 주민등록번호를 입시정보서버에서 판단하여 맞으면 해당 학생을 DB에 서 조회한다. 입시정보서버로 전달된 수험번호와 주민등록번호를 바탕으로 동적으로 VoiceXML 문서를 생성하여 VoiceXML Gateway에 보내어준다.

VoiceXML Gateway에서는 VoiceXML 문서를 TTS(Text To Speech)로 출력하 여 사용자에게 들려준다.

대부분의 경우에 VoiceXML 기반 애플리케이션이 처리하는 기능이 복잡하 기 때문에 VoiceXML에서 제공되는 태그만을 사용하여 애플리케이션을 구현 하는 것은 쉽지 않다. 따라서 Java Servlet, ASP, JSP, PHP 등의 서버 스크립 트 언어를 사용하거나 클라이언트 스크립트 언어인 ECMA Script를 사용하 는 것이 대부분이다. ECMA는 ‘European Computer Manufacturers Association'의 약어로서 정보통신 시스템의 표준 규격을 정하는 국제 표준 단체의 이름을 의미한다. ECMA Script는 넷스케이프사가 만든 자바스크립 트와 마이크로소프트사의 JScript라는 두 개의 스크립트 언어를 기초로 하여 만든 국제 표준 스크립트 언어로서, 그 공식 이름은 ECMA-262와 ISO/IEC 16262이다.24)

24) 박섭형, “음성 웹 어플리케이션 구축을 위한 VoiceXML”, 한빛미디어, 2001.

(35)

본 논문에서는 Java Servlet과 JSP, ASP를 사용하여 프로그램을 작성하였 다. Java Servlet을 사용한 경우는 와이더덴닷컴에서 제공하는 widerthan.vxml.extension.VoiceXML 클래스를 import하였다. VoiceXML 클 래스는 Java Servlet에서 쉽게 VoiceXML 문서로 변환이 가능하도록 해주는 메소드를 제공하고 있다.

Java Servlet, JSP, ASP, PHP 등의 서버 스크립트 언어를 사용하여 작성할 경우는 웹서버에서 해당 스크립트를 VoiceXML 문서로 동적으로 생성해 주 는 작업을 한 후 생성된 VoiceXML 문서를 VoiceXML Gateway로 보내게 되 므로 로딩 시간이 더 길어지게 된다. 이는 응답 시간을 지연시키는 결과가 되어 서비스 만족도를 떨어뜨릴 수 있다. PC에서 웹브라우저를 실행시키고 기다리는 경우와 달리 시각적인 효과를 줄 수가 없기 때문에 더욱 사용자에 게 인내심을 요구하게 될 수 있다. 이를 개선하기 위해 로딩 시간에 효과음 을 들려주는 방식 등을 채택할 수 있을 것이다.

또는 이를 개선하기 위해 ECMA Script를 사용하기도 한다. ECMA Script 는 클라이언트 스크립트 언어이므로 VoiceXML Gateway에서 웹서버를 경유 하지 않고 DB 연동 등을 처리하게 되어 약간 속도가 빨라지는 장점이 있다.

그러나 이 경우 DB 연동 등의 중요 소스가 공개되므로 보안에 취약한 단점 을 가지고 있다.

합격자 조회 모듈의 활동다이어그램은 아래와 같다. 사용자가 합격자 조 회를 선택하게 되면 수험생 인증을 위해 수험번호와 주민등록번호를 묻게 되 는데 이를 전화버튼을 이용하여 DTMF로 입력하게 된다. 수험번호와 주민 등록번호와 같이 보안을 필요로 하는 데이터는 전화버튼으로 입력하는 것이 안전하기 때문이다.

정상적으로 수험생 인증이 되면 수험생의 수험번호와 주민등록번호를 입시 정보서버로 보내어 DB 검색을 요청한다. DB 검색의 결과에 따라 합격이면 합격축하메시지 및 등록안내메시지를 음성으로 안내해 주고, 불합격이면 불 합격메시지를 안내해 주며, 예비합격인 경우 예비합격순위를 안내해 준다.

(36)

[그림 9] 합격자 조회 활동 다이어그램

(나) 지원현황 조회

사용자가 모집분야 및 지원학과를 VoiceXML Gateway와의 상호작용을 통 하여 음성 및 DTMF로 입력하면 VoiceXML Gateway가 음성을 텍스트로 변 환하여 입시정보서버에 전달한다. 입시정보서버에서는 사용자가 입력한 데 이터를 바탕으로 데이터베이스를 조회하여 그 결과를 VoiceXML 문서로 동 적으로 생성하여 VoiceXML Gateway에 전달한다. VoiceXML Gateway에서 는 전달받은 VoiceXML 문서를 음성으로 변환하여 사용자에게 들려준다.

(37)

(다) 입시일정조회

사용자는 VoiceXML Gateway와의 상호작용을 통하여 모집분야를 음성 및 DTMF로 입력한다. VoiceXML Gateway는 사용자가 입력한 음성을 텍스트 로 변환하여 입시정보서버에 전달한다. 입시정보서버는 사용자가 입력한 데 이터를 바탕으로 데이터베이스를 조회하여 그 결과를 VoiceXML 문서로 동 적으로 생성하여 VoiceXML Gateway에 전달한다. VoiceXML Gateway에서 는 전달받은 VoiceXML 문서를 음성으로 변환하여 사용자에게 들려준다.

[그림 10] 입시일정조회 활동다이어그램

(38)

(라) 담당자와 통화

사용자가 이 메뉴를 선택하면 VoiceXML Gateway는 사용자가 입력한 전 화번호를 교환기에 전달하여 담당자와 통화할 수 있도록 한다. 이 때 VoiceXML Gateway와 교환기는 사전에 연결되어 있어야 하며 교환기의 성 능에 따라 구내전화는 물론 외부전화도 연결할 수 있다. 본 시스템에서는 이미 교내 전화교환기가 연결된 상황을 가정 하에 [그림 11]과 같은 활동 다 이어그램을 만들게 되었다.

[그림 11] 담당자 연결 활동 다이어그램

(39)

(마) 입시자료발송

사용자가 입시자료발송을 요청하는 메뉴이다. 사용자가 입시자료발송 메 뉴를 선택하면 VoiceXML Gateway에서는 사용자의 정보제공을 요구한다.

사용자가 동이름을 입력하면 VoiceXML Gateway에서 그 정보를 텍스트로 변환하여 입시정보서버에 전달하고 입시정보서버에서는 기존에 연결되어 있 는 주소관리시스템의 DB를 검색하여 해당하는 우편번호 및 주소를 조회하고 다시 사용자로부터 나머지 주소를 입력받아 그 결과를 student table에 저장 시킨다. student table에 저장된 주소는 관리자의 확인을 통하여 추후 메일 링리스트로도 활용될 수 있다. 이 경우 사용자가 입력한 음성을 인식하여 텍스트로 변환하여 저장하는 주소관리시스템은 이미 구현되어 있다고 가정한 다.

[그림 12] 입시자료 발송 활동 다이어그램

(40)

4) 데이터베이스 설계

다음으로 입시정보시스템을 구현하기 위한 데이터베이스를 다음과 같이 설 계하였다. 입시정보시스템의 데이터베이스는 지원학부(과)에 관한 사항을 저 장하기 위한 class 테이블, 수험생의 인적사항을 저장하기 위한 student 테이 블, 입시일정관리를 위한 schedule 테이블, 모집단위 관리를 위한 jiwongun 테이블, 지원현황조회를 위한 jiwon 테이블로 구성되어 있다. 입시정보시스 템을 위한 데이터베이스 관리시스템으로는 MY SQL을 사용하였으며 데이터 베이스 모델링에는 ERWin 4.0을 사용하였다.

VoiceXML 애플리케이션 작성을 위해서 MY SQL 이외에 Oracle, MS SQL 등의 모든 데이터베이스 관리시스템을 사용할 수 있다. 본 논문에서는 시스 템 구현을 위해 와이더덴닷컴에서 제공하는 웹기반 디버거 및 전화테스트를 사용하였는데 현재 와이더덴닷컴에서는 MY SQL만을 지원하고 있어 MY SQL을 사용하게 된 것이다.

[그림 13] 전체 DB 테이블 구성도

(41)

(가) class 테이블

Column Type Size Comment

classCode varchar 20 학부(과) 코드

className varchar 20 학부(과) 이름

sosokDangwa varchar 20 단과대학명

sosokGyeyul varchar 20 계열

[표 8] class 테이블

(나) jiwon 테이블

Column Type Size Comment

classCode varchar 20 학부(과) 코드

jiwonCode varchar 20 지원코드

jiwon number 5 지원자 수

jungwon number 5 모집정원

[표 9] jiwon 테이블 (다) jiwongun 테이블

Column Type Size Comment

jiwonCode varchar 20 지원코드

jiwonBunya varchar 20 지원분야(정시,수시)

jiwonName varchar 20 지원세부분야

[표 10] jiwongun 테이블

(42)

(라) schedule 테이블

Column Type Size Comment

jiwonCode varchar 20 지원코드

paperStart date 재외국민서류접수

시작일

paperEnd date 재외국민서류접수

종료일

paperOkDate date 재외국민서류합격자

발표일

submitStart date 원서접수시작일

submitEnd date 원서접수종료일

gyobuStart date 원서교부시작일

gyobuEnd date 원서교부종료일

faceTestNotice date 면접일자발표일

silgiTestNotice date 실기시험일자발표일

testStart date 전형시작일

testEnd date 전형종료일

noticeDate date 합격자발표일

confirmStart date 합격자등록시작일

confirmEnd date 합격자등록종료일

bigo varchar 20 비고

[표 11] schedule 테이블

(마) student 테이블

Column Type Size Comment

suNo varchar 20 수험번호

juminNo varchar 13 주민등록번호

studentName varchar 20 성명

classCode varchar 20 지원학부(과) 코드

jiwonCode varchar 20 지원코드

pass varchar 20 합격여부

yebiNo varchar 20 예비합격순위

addr1 varchar 20 주소(우편번호)

addr2 varchar 20 나머지 주소

[표 12] student 테이블

(43)

5) 컴포넌트 다이어그램(Component Diagram) 작성

본 입시정보시스템에서 사용된 컴포넌트들의 구성을 아래 그림과 같이 표 현하였다. 입시정보시스템은 일반유저용과 관리자용으로 구분된다. 일반유저 들은 전화를 통해서 VoiceXML Gateway에 접속하여 서비스를 받으며 관리 자는 유무선 인터넷 환경에서 PC 또는 노트북으로 인트라넷에 접속하여 웹 브라우저를 통해 입시정보제공을 위한 제반 관리를 수행하게 된다.

먼저 일반유저용 컴포넌트 다이어그램은 아래 그림과 같다.

[그림 14] 일반유저용 컴포넌트 다이어그램

(44)

다음으로 관리자용 컴포넌트 다이어그램은 [그림 15]와 같다.

[그림 15] 관리자용 컴포넌트 다이어그램

(45)

6) 배치 다이어그램(Deployment Diagram) 작성

본 입시정보시스템의 소프트웨어와 하드웨어 컴포넌트간의 물리적 관계를 [그림 16]과 같이 표현하였다.

[그림 16] 입시정보시스템을 위한 배치 다이어그램

사용자는 유무선 전화를 통해 입시정보시스템에 접속할 수 있다. 입시정 보서버에는 본 논문에서 구현한 일반유저용 소프트웨어 및 관리자용 소프트 웨어가 있다. 일반유저용 소프트웨어 중에서 입시자료발송모듈과 담당자연 결모듈은 각각 주소관리시스템 및 전화교환시스템과 연결되어 있다.(주소관 리시스템과 전화교환시스템은 이미 구축되어 있다고 가정한다.)

(46)

3. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 구현

가. 시스템 구현의 환경 및 도구

지금까지의 시스템 설계를 기반으로 시스템을 구현하였으며 시스템을 구현 하기 위해 사용한 도구 및 개발 환경은 다음과 같다.

구분 사양

하 드 웨 어

CPU Pentium III 700Mhz

RAM 256MB

소 프 트 웨 어

운영체제 Windows 2000 Server

Browser MS Explorer 6.0

웹서버 IIS 5.0 & tomcat

DBMS My SQL 3.23.41-nt

JVM jdk1.3.1

Language

관리자용 ASP

수험생용 JSP & Java Servlet & VoiceXML

에디터 EditPlus

[표 13] 시스템 구현 환경 및 개발 도구

(47)

나. 시스템 접속

전화를 걸어 본 입시정보시스템을 사용하기 위해서는 VoiceXML Gateway 가 필요하다. VoiceXML Gateway를 직접 설치하거나 또는 서비스를 제공하 는 웹사이트를 이용하는 방법이 있다. 본 논문에서는 VXGate에서 제공하는 개발자용 VoiceXML Gateway를 사용하였다.

개발자용 VoiceXML Gateway를 사용하기 위해서는 먼저 http://vxml.widerthan.com에 접속하여 사용자 등록을 해야 한다.

사용자 등록을 마치면 웹기반 디버깅 및 전화테스트를 할 수 있는 메뉴를 선택할 수 있다.

그러면 이제부터는 본 논문에서 구현한 입시정보시스템의 기능을 각 모듈 별로 살펴보겠다. 3.2에서 설계한 일반 유저용 소프트웨어 중에서 입시자료 발송모듈과 담당자연결모듈은 각각 주소관리시스템 및 전화교환시스템이 이 미 구축되어 있다는 가정 하에 설계했으므로 여기서는 생략하도록 하겠다.

1) 시작 메뉴

전화가 연결되었을 때 사용자에게 안내메시지를 출력해 주고 원하는 메뉴 로 이동할 수 있도록 한다. 시작 메뉴는 Java Servlet으로 만들었으며 웹서 버에 의해 VoiceXML 문서로 동적으로 변환되어 VoiceXML Gateway에 전달 된다.

2) 합격자 조회 모듈

안내 메시지를 듣고 합격자 조회 모듈을 선택하게 되면 수험생의 수험번호 와 주민등록번호를 입력하라는 메시지가 출력된다. 수험번호와 주민등록번 호를 입력하면 데이터베이스를 검색하여 그 결과를 [그림 18]과 같이 수험생 에게 TTS(Text To Speech)로 들려주게 된다.

(48)

[그림 17] 합격자 조회 모듈 흐름도

(49)

[그림 18]은 관리자용 합격자 리스트 화면으로서 DB로부터 합격자 리스트 를 조회한 것을 출력한 것이다. 수험생이 전화를 걸어 시스템에 접속하게 되면 DB를 검색하여 합격 여부를 알려주게 된다.

[그림 18] 관리자용 합격자 리스트 화면

(50)

3) 지원현황조회 모듈

지원현황 조회를 선택하면 선택한 입시구분(정시/수시) 및 지원분야에 대 한 정원과 지원자수, 경쟁률을 출력하여 준다.

[그림 19] 입시지원현황 모듈 흐름도

(51)

[그림 20]은 관리자용 화면으로서 모집인원 총괄표이다.

[그림 20] 관리자용 모집인원 총괄표

관리자는 정시모집 인원현황과 수시모집 인원현황을 모두 볼 수 있다.

[그림 21] 관리자용 정시 모집 인원 현황 [그림 22] 관리자용 수시모집인원 현황

(52)

4) 입시일정조회 모듈

[그림 23] 입시일정 조회 모듈 흐름도

(53)

사용자가 전화를 걸어 시스템에 접속하면 안내메시지가 출력된다. 안내메 시지에 따라 입시일정조회를 선택한 후 사용자가 모집분야를 VoiceXML Gateway와의 상호작용을 통하여 음성 또는 DTMF로 입력한다. 입력이 끝 나면 VoiceXML Gateway가 음성을 텍스트로 변환하여 입시정보서버에 전달 한다. 입시정보서버에서는 사용자가 입력한 데이터를 바탕으로 데이터베이 스를 조회하여 그 결과를 VoiceXML 문서로 동적으로 생성하여 VoiceXML Gateway에 전달한다. VoiceXML Gateway에서는 전달받은 VoiceXML 문서 를 음성으로 변환하여 사용자에게 들려준다.

[그림 24]는 관리자용 화면으로서 전체적인 입시일정을 관리할 수 있도록 해준다. 관리자는 이 화면에서 입시일정 수정, 조회, 삭제가 가능하며 이 내 용은 DB에 저장되며 전화로 서비스되는 내용과 같다.

[그림 24] 관리자용 입시일정 관리 화면

(54)

관리자는 [그림 25], [그림 26]과 같이 입시 일정 추가 및 수정이 가능하다.

[그림 25] 관리자용 입시일정 추가 화면

[그림 26] 관리자용 입시일정 수정 화면

(55)

그런데 여기서 특기할만한 사항은 전화버튼 뿐 아니라 음성 입력도 가능하 다는 것이다. 음성 입력시 사전에 사용자가 입력할 수 있는 범위를 미리 grammar로 지정하여 다양한 입력옵션을 제공할 수 있다. 예를 들면 [표 ] 에서 사용자가 ‘수시’ 또는 ‘수시모집’이라고 하면 모두 수시모집으로 인식이 되어서 처리가 될 수 있다. 또는 ‘초기메뉴’, ‘초기’, ‘처음’, ‘맨앞’이라고 말 하면 모두 초기메뉴로 인식이 되어 초기메뉴로 이동하게 된다. 이렇게 비슷 한 키워드를 미리 등록하게 됨으로 사용자에게 좀더 친숙하고도 편리한 서비 스를 제공할 수 있다. VoiceXML을 활용하게 되면 이렇게 음성입력이 가능 한 것은 물론 다양한 키워드로 입력이 가능하므로 좀더 융통성있는 서비스를 제공할 수 있다. 기존 ARS 시스템에서는 DTMF로만 입력이 가능했다. 또 한 제공하는 서비스 메뉴를 기억하지 못하면 안내 메시지를 처음부터 다시 들어야 했다. 그러나 VoiceXML을 활용하면 메뉴가 정확히 생각이 안나더라 도 비슷한 단어를 발음하면 인식이 될 수 있도록 시스템을 구성할 수 있다.

이것이 가능한 것은 VoiceXML이 XML에서 파생된 기술이며 XML의 최대의 특징이자 장점인 확장성 덕분이다.

<grammar>

수시모집 {susi} | 수시 {susi} |

정시모집 {jungsi} | 정시 {jungsi} | 전기 {jungsi} |

초기메뉴 {home} | 초기 {home} | 처음 {home} | 맨앞 {home}

</grammar>

[표 14] 다양한 옵션의 음성입력을 위한 문법 정의

(56)

4. 기존 ARS 방식과 VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 비교

지금까지 VoiceXML 기반의 입시정보시스템을 설계하고 구현해 보았는데 이를 기존 방식과 비교해 보고자 한다.

기존 ARS 기반의 개발 방식은 다음과 같이 개발에 필요한 비용 및 시간 이 많이 드는 단점이 있다.25)

1) 개발자는 사용할 API 뿐만 아니라 API를 제공하는 하드웨어에 대 한 지식이 있어야 한다. API를 사용하여 호를 제어하기 위해서는 하드웨어의 호제어 형태를 이해해야 하기 때문이다.

2) 구현하고자 하는 서비스의 시나리오가 변경되면 새로이 프로그램 을 작성해야 한다. 적용하고자 하는 서비스의 시나리오가 변경되 면 변경된 흐름에 맞게 호 처리 등을 다시 구성하여 프로그램을 재작성한다.

3) 응용프로그램 개발에 시간 및 비용이 많이 든다. 응용프로그램 개발시 개발자가 API를 분석해야 하고, 기존에 개발된 프로그램 을 재사용할 수 없으며, 시나리오가 변경될 때마다 재개발해야 하 므로 개발 기간 및 비용이 많이 든다.

이와 같은 복잡한 개발 과정을 단순화시키기 위하여 TeleButler와 EnVox를 사용하여 GUI(Graphic User Interface)를 통해 서비스의 흐름을 기본 블록을 사용한 블록 흐름도를 작성함으로써 서비스를 구현하기도 한다. 이는 개발 자가 API를 사용하여 프로그램을 작성할 필요 없이 적용하고자 하는 서비스 의 흐름을 기술함으로 구현이 가능하고, 서비스 시나리오 분석 및 흐름의 기 25) 민경석, “트랜잭션 처리를 기반으로 한 자동응답시스템 서비스 자동생성기의 설 계 및 구현”, 충북대학교 대학원 석사학위논문, 2001

수치

표 차 례 [표 1] HTML의 단점 .........................................................................................
[표  3]  HTML,  SGML,  XML의  비교  분석
[그림  5]  와이더덴닷컴에서  제공하는  VoiceXML  개발자용  사이트
[그림  9]  합격자  조회  활동  다이어그램 (나) 지원현황 조회 사용자가 모집분야 및 지원학과를 VoiceXML Gateway와의 상호작용을 통 하여 음성 및 DTMF로 입력하면 VoiceXML Gateway가 음성을 텍스트로 변 환하여 입시정보서버에 전달한다
+6

참조

관련 문서

Open-API(Application Programmer Interface)는 인터넷을 이용하여 누구나가 직접 응용 프로 그램과 서비스를 개발할 수 있도록 공개된 API로

• 컨소시엄 목적은 대학 교육목표에 따라 교육과정 구성 및 운영, 교육 지원 시스템 등의 선진화 구현.

 시스템 소프트웨어는 컴퓨터 하드웨어의 작동을 통제하고 응용 프로그램의 실행을 지원한다.  운영체제는 컴퓨터 하드웨어를 통제하고

셋째, 전략과 전술 같은 효과적인 행동과정 개발이 있어야 한다.. 넷째, 다양한 위험과

조사 자료 통합 검색 시스템 조사 상담을 위해 과거 조사 자료 및 조사방법 검색 시 제목, 키워드 뿐만 아니라 저장된 문서 내용까지 검색할 수 있도록

필요할 뿐만 아니라 저개말국 내부에서의 社會階層間 不平等을 해소하 기 위한 노력이 있어야 한다. 또한 선진국어l 선 개말도상국의 經濟發展파

향후에는 전원에 관한 개발,데이터 저장용량 확대,소형화로 재택 의료기기에 부합 할 수 있는 시스템의 개발이 가능할 것으로 보이고 가속도 신호를 분석하여 자세

본격적인 U-Heal th 서비스를 제공하려면 언제 어디서나 사용자의 건강상태를 진 단할 수 있는 생체계측기술이 필요하다.현재 수준은 당뇨병,고혈압 등 만성질환