基于VoiceXML技術(shù)的可視化IVR系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)(一)
上海易谷網(wǎng)絡(luò)科技有限公司 查瑋 2009/09/22
摘要圖2.1 可視化建模工具總體框架圖
根據(jù)總體框架,可視化建模工具開發(fā)環(huán)境主要包括以下兩個(gè)方面的研究:
(1)可視化建模語言的描述方法;
(2)目標(biāo)編輯器的配置和實(shí)現(xiàn)。
2.1.2 可視化建模語言描述方法
可視化建模語言的描述方法是總體框架的基礎(chǔ)。分為三個(gè)部分:
1.語素—語素是最小的語法單位,可視化語言的語素表現(xiàn)為圖元符號(hào)(本文中不再區(qū)分語素和圖元)。
2.語法—語法定義了圖元符號(hào)之間的關(guān)系,包括兩個(gè)部分:抽象語法和具體語法。抽象語法定義圖元之間邏輯連接關(guān)系;具體語法定義圖元外觀的類型以及圖元之間幾何位置關(guān)系。
3.語義—語義表明了圖元符號(hào)和連接關(guān)系的含義,是模型的具體含義。
目前,大多數(shù)可視化建模語言描述的研究主要是針對(duì)語法描述研究,描述方法主要有基于文法的形式化描述、基于邏輯的形式化描述 、基于代數(shù)的形式化描述和基于規(guī)則的半形式化描述方法[12]。一般分為兩大部分:基于規(guī)則的語法形式化描述和基于元模型技術(shù)的靜態(tài)語義描述。
(1)基于規(guī)則的語法描述方法(RGVL,Rule-based Grammar Visual Language)
基于規(guī)則的可視化建模語言描述方法(RGVL)具有如下優(yōu)點(diǎn):
RGVL采用一組規(guī)則來定義圖元與圖元之間的邏輯關(guān)系,并利用一組規(guī)則來描述圖元的位置關(guān)系等幾何信息。該描述方法形式上可以定義為一個(gè)三元組:
G={p,AG,CG} 式(2-1)
G 為可視化建模語言的語法,其中,
p:為一個(gè)有窮的圖元集合。形式表示為:
P={P/P為可視化建模語言中的基本圖元類型} 例如,UML類圖中的類和關(guān)聯(lián)類可以表示為:
P{Class,Assiciaion} 式(2-2)
AG:抽象語法規(guī)則集合。形式表示為:
AG={r/r(p1,p2,n)p1€p,p2€p,n為自然數(shù)} 式(2-3)
r 為圖元之間的連接關(guān)系, r 可以為Connection_from 和Connection_to 兩種類型的關(guān)系, n表示連接的勢(多重性);
*表示無窮; Connection_from表示從p2 連接到p1 ,p1為當(dāng)前圖元;Connection_to 表示從p1 連接到p2 ,
p1為當(dāng)前圖元。例如,在UML關(guān)聯(lián)關(guān)系的定義中,為了表示關(guān)聯(lián)關(guān)系與類之間的抽象語法關(guān)系,可以書寫如下的規(guī)則:
AG={Connection_to(Class,Associalion,*),
Connection_from(Class,Associalion,1)} 式(2-4)
表示類圖元可以連接多個(gè)關(guān)聯(lián)關(guān)系,每個(gè)關(guān)聯(lián)關(guān)系必須連接到一個(gè)類圖元。
CG:具體語法規(guī)則集合。形式表示為:
CG={(p,render,lsyout)/p€P,render€R.layout€C} 式(2-5)
R是圖元外觀類型的集合,L是圖元位置關(guān)系的集合。例如,
CG={Class.MutiTextViz,AtLocation Layout} 式(2-6)
公式(2-6)表示類圖元具有帶有多個(gè)文本框的外觀類型和指定位置放置圖元的位置關(guān)系定義時(shí),為了增強(qiáng)可擴(kuò)展行,定義了用戶自定義類型(在實(shí)現(xiàn)時(shí),定義了相關(guān)的編程接口使得用戶可以自定義外觀和圖元位置關(guān)系)。
(2)基于元模型的靜態(tài)語義描述方法(MSS)
將傳統(tǒng)的語義分為兩個(gè)部分:靜態(tài)語義和動(dòng)態(tài)語義。靜態(tài)語義表示圖元符號(hào)的屬性信息,是可視化建模語言中一個(gè)重要組成部分。通過擴(kuò)展元模型MOF(Meta
Object Facility)技術(shù)對(duì)靜態(tài)語義進(jìn)行定義。MOF是對(duì)象管理組織定義的一個(gè)用于在平臺(tái)無關(guān)方式下,定義、使用和集成元數(shù)據(jù)以及數(shù)據(jù)的模型驅(qū)動(dòng)框架[13]。
利用MOF元模型對(duì)可視化建模語言的靜態(tài)語義進(jìn)行描述時(shí),MOF的表達(dá)能力還不足以滿足完整地描述可視化建模語言的語素(圖元)的靜態(tài)關(guān)系和操作關(guān)系,擴(kuò)展了MOF中的關(guān)聯(lián)關(guān)系,在關(guān)聯(lián)中增加標(biāo)簽值來專門說明該關(guān)聯(lián)與其它關(guān)聯(lián)之間的關(guān)系,提出了基于MOF的靜態(tài)語義描述方法稱為MSS(MOF-based
Static Sematic)。該方法可以定義為一個(gè)三元組:
MSS={m,Rs,Rop} 式(2-7)
MSS為可視化建模語言的靜態(tài)語義,其中,M:為擴(kuò)展的MOF的靜態(tài)語義模型。可表示為
M=CssURss 式(2-8)
Css表示元類的集合, Rss表示元類之間的關(guān)系集合。在Rss 中使用的是擴(kuò)展后的關(guān)聯(lián)關(guān)系,可以定義關(guān)聯(lián)之間的關(guān)系。
Rs:為圖元與靜態(tài)語義模型中元類的靜態(tài)關(guān)系?杀硎緸
Rs={(p,c)/p€P,C€Css} 式(2-9)
公式(2-9)中 p為語素集合, Css為元類集合。
對(duì)于目標(biāo)編輯器的配置和實(shí)現(xiàn),主要是對(duì)可視化建模語言研究和分析后,根據(jù)實(shí)現(xiàn)的需要,同時(shí)考慮了解析能力和描述能力,定義了一套支持語義定義的可視化建模語言描述方法。
2.2 基于VoiceXML的交互式語音應(yīng)答
2.2.1 VoiceXML概述
VoiceXML是W3C用來制定通過對(duì)話訪問Web的內(nèi)容及其交互語音應(yīng)答的傳遞標(biāo)準(zhǔn)。VoiceXML使公共電話網(wǎng)、語音處理技術(shù)以及互聯(lián)網(wǎng)有機(jī)地結(jié)合為一體。它是一種域?qū)S谜Z言,定義了一系列的語音應(yīng)用概念、元素及其對(duì)應(yīng)的操作,能根據(jù)播放的音頻文件、輸出的文本語音、要錄制和識(shí)別的語音以及所接收的按鍵音,連定義人和計(jì)算機(jī)之間的語音交互過程。
VoiceXML希望通過交互式語音界面應(yīng)用Web上已經(jīng)存在的大量信息,同時(shí)希望能夠?qū)㈤_發(fā)人員從最低級(jí)的編程和資源處理工作中解放出來。VoiceXML還能夠利用人們已經(jīng)非常熟悉的C/S,將語音服務(wù)和數(shù)據(jù)服務(wù)融合起來[14][15]。
2.2.2 VoiceXML基本體系結(jié)構(gòu)
VoiceXML系統(tǒng)的基本結(jié)構(gòu)如圖2.2所示[16]。其中,文檔服務(wù)器充當(dāng)?shù)氖荳eb服務(wù)器的角色,他負(fù)責(zé)處理執(zhí)行平臺(tái)發(fā)送的請(qǐng)求文檔,并與后臺(tái)數(shù)據(jù)庫進(jìn)行交互,組織VoiceXML文檔對(duì)該請(qǐng)求進(jìn)行響應(yīng)。
VoiceXML解析器上下文和VoiceXML解釋器負(fù)責(zé)解析VoiceXML文件,控制執(zhí)行平臺(tái)。執(zhí)行平臺(tái)提供合成語音的輸出(text to
speech,TTS)、音頻文件的輸出、話音輸入的識(shí)別(automated speech recognition,ASR)、DTMF輸入識(shí)別、語音輸入的錄音、電話功能等[17]。
圖2.2 VoiceXML的基本體系結(jié)構(gòu)圖
VoiceXML語言規(guī)范的層次結(jié)構(gòu)如圖2.3[18]所示,層次從底向上依次升高。
圖2.3 VoiceXML層次結(jié)構(gòu)
(1)Session。用戶開始和VoiceXML解析器進(jìn)行交互式標(biāo)志一次會(huì)話(Session)開始,繼續(xù)完成文檔獲取和處理,當(dāng)用戶、文檔或者解釋器要求退出時(shí),這次Session結(jié)束。
(2)Application。一個(gè)應(yīng)用(Application)是指一系列文檔共享一個(gè)相同的應(yīng)用文檔。當(dāng)用戶和一個(gè)應(yīng)用中的文檔交互時(shí),它的應(yīng)用根文檔同時(shí)被加載;當(dāng)文檔跳轉(zhuǎn)到的另一個(gè)文檔也存在于同一個(gè)應(yīng)用中,這時(shí)根文檔不被釋放當(dāng)根文檔被加載后它的變量可以被其他子文檔使用。
(3)Dialog和SubDialog。每個(gè)VoiceXML 文檔都是一個(gè)交談的有限狀態(tài)自動(dòng)機(jī)用戶某時(shí)只能在一個(gè)會(huì)話狀態(tài)Dialog ,它決定了下一個(gè)要執(zhí)行的Dialog
執(zhí)行時(shí)就是在Dialog 之間跳轉(zhuǎn)。
Dialog 分為兩種Form 和Menu。Form定義了一系列Field項(xiàng)目用于交互,每一個(gè)Field 可以使用Grammar 語法指定允許輸入的內(nèi)容。Menu
提供給用戶選擇然后根據(jù)用戶的選擇跳轉(zhuǎn)到指定的Dialog 中。
SubDialog 類似于函數(shù)調(diào)用,它提供一種機(jī)制允許激活一個(gè)新的交互,等交互完成后返回到原先的交互中去。使用SubDialog 可以實(shí)現(xiàn)一個(gè)特定模塊以便重復(fù)使用。
(4) Grammar。每個(gè)Dialog 都有至少一個(gè)語法(Grammar)。語法包括兩種:DTMF語法和語音語法。在機(jī)器導(dǎo)引方式中,只有當(dāng)用戶處于這個(gè)Dialog
中,該Dialog 的Grammar 才是有效的;在混合方式中,有些Dialog可以標(biāo)記為即使當(dāng)前用戶不處于該Dialog 中,這個(gè)語法也是有效的。
(5)Event。VoiceXML提供了一種Form-Filling機(jī)制來處理通常的輸入,另外還需要處理一些事件。在有些情況下平臺(tái)會(huì)拋出一些事件,例如用戶無響應(yīng)、超時(shí)或沒有正確響應(yīng)、請(qǐng)求幫助等。如果解釋器發(fā)現(xiàn)語義錯(cuò)誤,也會(huì)拋出事件。事件由Catch
元素來捕獲并作相應(yīng)的處理。
2.2.3 在IVR系統(tǒng)中運(yùn)用VoiceXML技術(shù)
VoiceXML的推出給電話語音系統(tǒng)帶來全新的應(yīng)用和開發(fā)概念,使傳統(tǒng)的CTI技術(shù)從繁瑣、封閉的模式中走了出來,使廣大的語音系統(tǒng)開發(fā)人員可以用極其簡單的方法實(shí)現(xiàn)復(fù)雜系統(tǒng)的開發(fā)。同時(shí)VoiceXML技術(shù)突破地實(shí)現(xiàn)了互聯(lián)網(wǎng)與電話網(wǎng)的融合,在以語音為核心的電話網(wǎng)絡(luò)與以數(shù)據(jù)為核心的互聯(lián)網(wǎng)絡(luò)之間建立了良好的溝通“橋梁”。
到目前為止,人們從Internet獲取各種資源時(shí),還只能是借助計(jì)算機(jī)來實(shí)現(xiàn)。而實(shí)際上,電話具有比計(jì)算機(jī)更高的普及率,如果允許人們通過電話來訪問Internet的資源,那么這對(duì)于Internet的應(yīng)用發(fā)展必將是一次質(zhì)的飛躍。在這類應(yīng)用前景的驅(qū)動(dòng)下,VoiceXML
1.0標(biāo)準(zhǔn)被提出來了,目前最新版本為2.1[19]。
VoiceXML使得用戶可以通過電話按鍵或語音來訪問Internet上的各種資源,它是語音瀏覽技術(shù)以及語音互聯(lián)網(wǎng)的核心。 VoiceXML為語音應(yīng)用領(lǐng)域展現(xiàn)了一個(gè)廣闊的未來,用VoiceXML開發(fā)的語音應(yīng)用系統(tǒng),不僅可以完全代替?zhèn)鹘y(tǒng)CTI(計(jì)算機(jī)電話集成)
系統(tǒng)所能提供的功能,而且還可以使應(yīng)用系統(tǒng)開發(fā)過程極其簡單快捷、系統(tǒng)有極高的可擴(kuò)展性、可維護(hù)性、可移植性、可重用性和開放性,在語音門戶、語音呼叫中心(Call
Center) 、語音信息服務(wù)、語音電子商務(wù)等領(lǐng)域有著廣泛的應(yīng)用。
下面給出兩個(gè)簡單的例子說明VoiceXML在IVR系統(tǒng)的應(yīng)用:
第一個(gè)是“Hello world”:
域(field)用于輸入。用戶在處理窗體中下一個(gè)元素之前,必須為一個(gè)域提供相應(yīng)的信息。以上腳本的一個(gè)交互例子如下:
C(computer):Would you like coffee, tea , milk, or nothing?
H(human) :Orange juice。
C:I did not understand what you said.
C:Would you like coffee, tea , milk, or nothing?
H:Tea
C:(continues in document drink2.jsp)
通過這兩個(gè)例子可以看到,VoiceXML使用非常簡單。哪怕只是看幾個(gè)例子,就可以掌握一些基本的使用方法;而且它的特點(diǎn)正好符合用戶通過語音交互的業(yè)務(wù)特性,對(duì)聲訊業(yè)務(wù)支持近乎完美。
VoiceXML 2.0中共預(yù)定義了43個(gè)元素,按照功能可以分為文檔對(duì)話有關(guān)、資源功能類、事件處理類。文檔對(duì)話相關(guān)的元素主要實(shí)現(xiàn)信息表達(dá)、數(shù)據(jù)采集、變量賦值、條件控制、函數(shù)調(diào)用等功能;時(shí)間處理類元素主要實(shí)現(xiàn)產(chǎn)生、捕獲時(shí)間的功能,可進(jìn)行錯(cuò)誤處理、超時(shí)處理、幫助處理等;資源功能類元素主要實(shí)現(xiàn)錄、放音,TTS,ASR等與語音資源控制相關(guān)的功能,是對(duì)語音資源能提供功能的描述。
2.3 本章小結(jié)
本章首先闡述了可視化建模語言的總體框架,論述了可視化建模語言的描述方法。其次,介紹了VoiceXML技術(shù)的概念和基本體系結(jié)構(gòu),隨后描述了在IVR系統(tǒng)中VoiceXML技術(shù)的簡單應(yīng)用。本章的內(nèi)容將為基于VoiceXML的IVR系統(tǒng)圖形化開發(fā)環(huán)境與執(zhí)行引擎設(shè)計(jì)和實(shí)現(xiàn)提供理論基礎(chǔ)。
基于VoiceXML技術(shù)可視化IVR設(shè)計(jì)和實(shí)現(xiàn)(二)
基于VoiceXML技術(shù)可視化IVR設(shè)計(jì)和實(shí)現(xiàn)(三)
基于VoiceXML技術(shù)可視化IVR設(shè)計(jì)和實(shí)現(xiàn)(四)
作者獨(dú)家提供CTI論壇稿件,其它媒體謝絕轉(zhuǎn)載
CTI論壇編輯
上海易谷與Genesys達(dá)成大中華區(qū)長期合作伙伴關(guān)系 2009-04-17 |
聯(lián)絡(luò)中心與3G應(yīng)用 2009-04-09 |