Upload
hector-gilbert
View
213
Download
0
Embed Size (px)
Citation preview
Voice Composer:Voice Composer:A Development Tool for A Development Tool for
Voice ApplicationsVoice Applications
Voice Composer:Voice Composer:A Development Tool for A Development Tool for
Voice ApplicationsVoice Applications
Yi-Xuan Li and Nai-Wei LinYi-Xuan Li and Nai-Wei LinDepartment of Computer Science & Department of Computer Science &
Information EngineeringInformation EngineeringNational Chung Cheng UniversityNational Chung Cheng University
Outline
• Motivations• Related work• The architecture of Voice Composer• The visual programming editor• The program generator• A case study• Conclusion
• Prevalence of mobile voice devices requests rapid development and maintenance of voice applications
• Eye-disabled people requests convenient accesses of information and services via voice devices
• Current development tools for voice applications still have enough rooms for improving
Motivations
Voice XML
Voice XML gateway in
terp
rete
r
ASR
TTSca
ll pro
cesso
r Voice XML document
Internet
PSTN
Database
Voice XMLgateway
Audio
VoIP
WebServer
Dialog Flow
Current Tools
• Voice XML editors– syntax-directed editing
• Dialog wizards– programming with dialog components
• Visual dialog flow editors– visual programming of dialog
components
The Architecture of Voice Composer
Dialog Flow
Editor
Program Generator Simulato
r
Database Integrator
Dialog Component Builder Visual Programming Editor
• Database Integrator is based on ODBC, and maintains database schemas and database connection information
Database Integrator
database connection
database schemas
• Builtin dialog components – start 、 exit 、 PHP 、 SQL 、 Menu 、 link
• User-defined dialog components – leaf components– root components: global variables and ev
ents– subdialog components
Dialog Components
An Example
menu1.article2.music3.exit
read article
play music
menu1.repeat2.exit
press ’#’
press ’#’
menu1.repaet2.exit
• Builtin dialog components used– start 、 exit 、 Menu
• New dialog components– Two leaf components
• Read article• Play music
– A root component• A global event: return to the main menu w
hen pressing ’#’ key
Build New Dialog Components
Dialog Component Builder
Exposed Attributes
AttributesSelected Element
Dialog ComponentTree
Play Music Dialog Component
Attributes
Play Music Dialog Component
Exposed Attributes
New Dialog Components
Dialog Flow Editor
description
exposed attributes
link commands
user-defined
builtin
Editing Root Component
exposed attributes
Editing Main Menu Component
exposed attributes
Editing Read Article Component
exposed attributes
Editing Play Music Component
exposed attributes
Editing Menu I Component
exposed attributes
Editing Menu II Component
exposed attributes
• Translation of builtin dialog components
• Translation of user-defined dialog components
Program Generator
Translation of Builtin Components
Translation of Builtin Components
<?xml version="1.0" encoding="Big5"?><vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"> <menu> <prompt> 這是一個範例測試,選 1 ,聽文章, 選 2 ,聽音樂,選 3 ,離開 </prompt> <choice dtmf="1" next="link-1.vxml"> 聽文章 </choice> <choice dtmf="2" next="link-2.vxml"> 聽音樂 </choice> <choice dtmf="3" next="exit.vxml"> 離開 </choice> </menu></vxml>
Menu_prompt
dtmf-1 string-1
Translation of User-Defined Components
XercesTree
ConversionVoiceXML
PHPConversion
PHP
Dialog
Component
Tree
DOM
Tree
An Example
Dialog Component Tree
Tree Conversion
• Conversion of external variables• Conversion of grammars• Conversion of SQL commands
Conversion of External Variables
cont=”yesno=’yes’”
vxml
formvarname=question
field
filled
grammarprompt
prompt
expr=question
請選擇是或是否
if else
goto
next=A.vxml
goto
next=B.vxml
Grammar_process()
SQL_process()
Conversion of Grammars
Conversion of SQL Commands
Voice XML Generation
Conversion of PHP files
Case Study
Case Study• System analysis: 4 hours• Database construction: 2 hours• User-defined component constructio
n (4): 1 hour• Dialog flow editing (13): 0.5 hour• 124 Voice XML or PHP files are genera
ted
Conclusion• Voice Composer is a development too
l for voice applications• Voice Composer supports visual prog
ramming of dialog flows• Voice Composer supports extension f
or user-defined dialog component construction
• Voice Composer supports extension for database programming