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