VoiceXML介紹
2002/03/11
一. VoiceXML簡(jiǎn)介
VoiceXML(Voice eXtensible Markup Language)是由VoiceXML論壇制定的通過(guò)電話(huà)訪問(wèn)Internet網(wǎng)絡(luò)的標(biāo)準(zhǔn)。1999年3月,由Motorola、Lucent、AT&T和IBM四家公司聯(lián)合發(fā)起成立了VoiceXML論壇(www.voicexml.org),其目的在于為電話(huà)和移動(dòng)設(shè)備提供一種便捷的訪問(wèn)Internet網(wǎng)絡(luò),獲取服務(wù)和信息的手段。2000年3月,VoiceXML論壇發(fā)布了VoiceXML
1.0標(biāo)準(zhǔn)。5月,W3C(World Wide Web Consortium)接受了VoiceXML1.0。目前,國(guó)內(nèi)外共有150多家公司支持VoiceXML,Motorola、Lucent等公司已開(kāi)發(fā)出了基于VoiceXML的產(chǎn)品。
VoiceXML是W3C定義的可擴(kuò)展標(biāo)記語(yǔ)言(XML)的一種擴(kuò)展,根據(jù)播放的提示信息、口述的命令、要記錄和識(shí)別的語(yǔ)音或按鍵音輸入,實(shí)現(xiàn)人和計(jì)算機(jī)之間的交互對(duì)話(huà)。VoiceXML的標(biāo)準(zhǔn)化將簡(jiǎn)化Web上具有語(yǔ)音響應(yīng)服務(wù)的個(gè)性化界面的創(chuàng)建,使人們能夠通過(guò)語(yǔ)音和電話(huà)訪問(wèn)網(wǎng)站上的信息和服務(wù)。
VoiceXML的主要目標(biāo)是希望通過(guò)交互式語(yǔ)音界面應(yīng)用Web上已經(jīng)有的大量信息,同時(shí)VoiceXML希望能夠?qū)㈤_(kāi)發(fā)人員從最低級(jí)的編程和資源處理工作中解放出來(lái)。VoiceXML能夠利用人們已經(jīng)非常熟悉的客戶(hù)機(jī)/服務(wù)器方式,將語(yǔ)音服務(wù)和數(shù)據(jù)服務(wù)融合起來(lái)。
VoiceXML作為一種標(biāo)記語(yǔ)言,主要有以下特點(diǎn):
1. VoiceXML作為一種通過(guò)每一文件里指定的多重的交互作用,最小化客戶(hù)機(jī)/服務(wù)器之間的交互工作。
2. 實(shí)現(xiàn)應(yīng)用開(kāi)發(fā)者與低層的軟件和系統(tǒng)平臺(tái)上的軟、硬件細(xì)節(jié)無(wú)關(guān)。
3. 將用戶(hù)交互作用的代碼(在VoiceXML中)從服務(wù)邏輯(CGI 腳本)中分離出來(lái)。
4. 要使提供的服務(wù)能隨處可得,要求這些服務(wù)能夠跨越不同的執(zhí)行平臺(tái)。對(duì)于內(nèi)容服務(wù)商、工具提供商和平臺(tái)提供商來(lái)說(shuō),VoiceXML是一個(gè)公共語(yǔ)言。
5. 使簡(jiǎn)單的交互作用非常易于使用,要求所提供的語(yǔ)音界面能支持復(fù)雜的對(duì)話(huà)。
二. VoiceXML的結(jié)構(gòu)模型
VoiceXML的模型如圖1所示,一個(gè)文檔服務(wù)器比如說(shuō)一個(gè)Web服務(wù)器,處理一個(gè)來(lái)自終端應(yīng)用的請(qǐng)求,這一請(qǐng)求經(jīng)過(guò)了VoiceXML解釋程序和VoiceXML解釋程序環(huán)境處理。作為響應(yīng),服務(wù)器產(chǎn)生出VoiceXML文檔,在回復(fù)當(dāng)中,要經(jīng)過(guò)VoiceXML解釋程序的處理。
執(zhí)行平臺(tái)是被VoiceXML解釋程序環(huán)境和VoiceXML解釋程序控制的。例如,在一個(gè)交互式語(yǔ)音應(yīng)答應(yīng)用中,VoiceXML解釋程序環(huán)境能可靠地監(jiān)測(cè)到呼叫,獲得初始的VoiceXML文檔,并且回答這一呼叫,在回答之后VoiceXML解釋程序引導(dǎo)這一對(duì)話(huà)。執(zhí)行平臺(tái)產(chǎn)生事件響應(yīng)用戶(hù)的動(dòng)作(說(shuō)話(huà)或者字符輸入)和系統(tǒng)事件(例如計(jì)時(shí)器溢出)。這些事件中的一部分依照相應(yīng)的VoiceXML文檔按照VoiceXML解釋程序的解釋加以執(zhí)行,其他的被VoiceXML解釋程序環(huán)境控制。
VoiceXML解釋程序是一個(gè)計(jì)算機(jī)程序,它解釋一個(gè)VoiceXML文檔,引導(dǎo)和控制用戶(hù)與執(zhí)行平臺(tái)之間的交互作用。VoiceXML解釋程序環(huán)境也是一個(gè)計(jì)算機(jī)程序,用一個(gè)VoiceXML解釋程序解釋一個(gè)VoiceXML文檔,并且可以與執(zhí)行平臺(tái)相互作用而與VoiceXML解釋程序無(wú)關(guān)。
執(zhí)行平臺(tái)是指一個(gè)能支持VoiceXML定義的交互作用的計(jì)算機(jī)。執(zhí)行平臺(tái)提供字符和語(yǔ)圖1 VoiceXML的結(jié)構(gòu)模型
音的輸入和音頻輸出,包括合成語(yǔ)音的輸出(TTS,text to speech)、音頻文件的輸出、話(huà)音輸入的識(shí)別(ASR ,automated
speech recognition)、DTMF輸入的識(shí)別、語(yǔ)音輸入的錄音、電話(huà)功能像呼叫轉(zhuǎn)移等。
三. VoiceXML的基本概念
首先舉一個(gè)簡(jiǎn)單的例子:
<?xml version="1.0"?>
<vxml version="1.0">
<form>
<block>Hello World!</block>
</form>
</vxml>
這是一個(gè)簡(jiǎn)單的VoiceXML文檔,執(zhí)行時(shí)輸出Hello World!的合成語(yǔ)音。<vxml>可以看作一個(gè)包含會(huì)話(huà)的容器,所有的VoiceXML文檔都是由一系列會(huì)話(huà)構(gòu)成的。一個(gè)VoiceXML文檔(或稱(chēng)為請(qǐng)求的一組文檔)構(gòu)成了一個(gè)對(duì)話(huà)式的有限狀態(tài)機(jī)。用戶(hù)總是處于某一對(duì)話(huà)狀態(tài)(或稱(chēng)為會(huì)話(huà))。每一個(gè)會(huì)話(huà)決定要轉(zhuǎn)移到的下一個(gè)會(huì)話(huà)。轉(zhuǎn)移由URIs指定,URIs定義下一個(gè)要使用的文檔和會(huì)話(huà)。當(dāng)一個(gè)會(huì)話(huà)沒(méi)有指定后繼者或指明退出對(duì)話(huà)狀態(tài)時(shí)操作才會(huì)終止。
VoiceXML中的基本概念主要有:
1.會(huì)話(huà)和子會(huì)話(huà):VoiceXML中定義了兩種類(lèi)型的會(huì)話(huà),表單(forms)和選單(menus)。表單定義了一個(gè)獲取一組字段變量的值的交互過(guò)程。每一個(gè)字段可以指定一個(gè)文法,定義了該字段的允許的輸入值。選單提供選項(xiàng)供用戶(hù)選擇,然后根據(jù)選擇的結(jié)果轉(zhuǎn)移到另一個(gè)會(huì)話(huà)。
子會(huì)話(huà)像函數(shù)調(diào)用,它引起一個(gè)新的交互作用并且返回給上一層的表單。局部的數(shù)據(jù),文法和狀態(tài)信息被保存,當(dāng)返回到調(diào)用文檔時(shí)可以使用。例如,子會(huì)話(huà)可以用于創(chuàng)建一個(gè)在數(shù)據(jù)庫(kù)查詢(xún)時(shí)需要的確認(rèn)序列;創(chuàng)建在單一請(qǐng)求中的多個(gè)文檔共享的一批組件;或創(chuàng)建一個(gè)在多個(gè)請(qǐng)求中共享的可重用的會(huì)話(huà)庫(kù)。
2.會(huì)話(huà)期:會(huì)話(huà)期從用戶(hù)與VoiceXML解釋程序語(yǔ)境交互開(kāi)始,持續(xù)進(jìn)行文檔的裝載和處理,直到由用戶(hù),文檔或解釋程序環(huán)境發(fā)出終止請(qǐng)求才結(jié)束。
3.請(qǐng)求:一個(gè)請(qǐng)求就是一組共享同一個(gè)請(qǐng)求根文檔的文檔。在一個(gè)請(qǐng)求中,無(wú)論何時(shí)用戶(hù)與文檔交互,請(qǐng)求根文檔總是被加載。當(dāng)用戶(hù)在同一個(gè)請(qǐng)求中的不同文檔間轉(zhuǎn)換時(shí),請(qǐng)求根文檔總是被加載,只有用戶(hù)轉(zhuǎn)換到別的請(qǐng)求中的文檔時(shí)請(qǐng)求根文檔才被卸載。請(qǐng)求根文檔被加載后,它的變量作為請(qǐng)求變量被其它文檔使用,而且它的文法在請(qǐng)求的持續(xù)時(shí)間一直起作用。
4.文法:每一個(gè)會(huì)話(huà)有一個(gè)或多個(gè)語(yǔ)音和(或)DTMF文法。在定向?qū)υ?huà)應(yīng)用中,一個(gè)會(huì)話(huà)的文法只有在使用者與此會(huì)話(huà)交互時(shí)才起作用。在混合主動(dòng)式對(duì)話(huà)中,機(jī)器和用戶(hù)交替控制下一步的操作,一些會(huì)話(huà)被標(biāo)記以使它們的文法(如偵聽(tīng)呼叫)即使當(dāng)用戶(hù)在同一文檔的其它會(huì)話(huà)時(shí)也起作用。在這種情況下,如果用戶(hù)進(jìn)行的操作與另一個(gè)會(huì)話(huà)的有效文法匹配,執(zhí)行就會(huì)轉(zhuǎn)移到另一個(gè)會(huì)話(huà);旌现鲃(dòng)式對(duì)話(huà)增加了語(yǔ)音應(yīng)用的適應(yīng)性和能力。
5.事件:VoiceXML提供一種表單填充機(jī)制處理"正常"的用戶(hù)輸入。另外,VoiceXML也定義了處理異常事件的機(jī)制。如用戶(hù)在一定時(shí)間內(nèi)沒(méi)有作出應(yīng)答,請(qǐng)求系統(tǒng)幫助等情況下平臺(tái)會(huì)產(chǎn)生事件。如果解釋器在VoiceXML文檔中發(fā)現(xiàn)語(yǔ)義性錯(cuò)誤也會(huì)產(chǎn)生事件。
6.鏈接:鏈接支持混合主動(dòng)式對(duì)話(huà),當(dāng)用戶(hù)在鏈接的作用范圍時(shí)它指定的文法就起作用。如果用戶(hù)的輸入與鏈接的文法匹配,控制就轉(zhuǎn)移到鏈接的目的URI。<link>可以用來(lái)產(chǎn)生一個(gè)事件跳轉(zhuǎn)到目的URI。
四. VoiceXML的未來(lái)
VoiceXML與XML相比具有某些重要的優(yōu)點(diǎn),其中最主要的優(yōu)點(diǎn)是能夠重復(fù)使用和容易重組現(xiàn)有的軟件工具,以生成、轉(zhuǎn)換和分析XML文件,而且還能使VoiceXML利用其他基于XML的補(bǔ)充標(biāo)準(zhǔn)。例如,VoiceXML應(yīng)用程序有時(shí)需要確定語(yǔ)音合成參數(shù),比如音量、講話(huà)快慢和音調(diào)等。
與WAP相比,VoiceXML有突出的優(yōu)點(diǎn)。由于手持移動(dòng)設(shè)備(如WAP手機(jī))只有很小的顯示屏,有限的輸入能力和有限的處理功能,文本界面的數(shù)據(jù)處理設(shè)備很難被使用。VoiceXML不存在這些限制,用戶(hù)可以用聲音與系統(tǒng)交互,通過(guò)一系列的對(duì)話(huà)選擇,找到所需的信息。服務(wù)器上的語(yǔ)音識(shí)別軟件把用戶(hù)的輸入語(yǔ)音的選擇轉(zhuǎn)換成文本的選擇,這一過(guò)程與在傳統(tǒng)的網(wǎng)頁(yè)上選擇一個(gè)超連接類(lèi)似。對(duì)話(huà)選擇的結(jié)果由相應(yīng)的音頻文件播放(可以是事先錄下的或采用TTS技術(shù)動(dòng)態(tài)產(chǎn)生)。
在手機(jī)等手持移動(dòng)設(shè)備上通過(guò)語(yǔ)音而不是煩瑣的輸入來(lái)獲取信息和服務(wù)更符合人們的習(xí)慣,隨著語(yǔ)音信號(hào)處理技術(shù),特別是ASR和TTS技術(shù)的發(fā)展,語(yǔ)音將成為人機(jī)交互的一種主要形式。VoiceXML論壇就是順應(yīng)這種潮流而成立的,VoiceXML論壇獲得了國(guó)內(nèi)外知名的通信公司和網(wǎng)絡(luò)公司的廣泛支持,目前已有包括國(guó)內(nèi)的華為公司在內(nèi)的的150多家公司加入VoiceXML論壇。
"穎通"企業(yè)智能通信系統(tǒng)產(chǎn)品發(fā)布會(huì)邀請(qǐng)函 2002-11-20 |
嵌入式語(yǔ)音識(shí)別技術(shù)應(yīng)用于遙控器 2002-09-28 |
穎科"語(yǔ)音名片通" 簡(jiǎn)介 2002-08-15 |
InfOnCall"Info-Anywhere校園熱線(xiàn)" 2002-06-07 |
穎科公司智能語(yǔ)音總機(jī)系統(tǒng) 2002-06-06 |