VoiceXML語(yǔ)音門(mén)戶(hù)的引擎
冉隆科 2000/12/11
曾幾何時(shí),人們對(duì)XML已耳熟能詳,并將它用于描述圖像和結(jié)構(gòu)復(fù)雜的其他數(shù)據(jù)。Web技術(shù)發(fā)展之快令人驚嘆!現(xiàn)在,業(yè)界又正在展開(kāi)一項(xiàng)XML的新的應(yīng)用:VoiceXML(話音可擴(kuò)展標(biāo)記語(yǔ)言),其主要特點(diǎn)是通過(guò)語(yǔ)音輸入和音頻輸出支持人機(jī)對(duì)話。
1999年,AT&&T、IBM、朗訊科技和摩托羅拉公司等組成了VoiceXML論壇,旨在討論將VoiceXML確定為通過(guò)話音和電話利用Internet內(nèi)容的標(biāo)準(zhǔn)。目前,參加該論壇的公司達(dá)150多家。討論所涉及的主要內(nèi)容包括將VoiceXML作為標(biāo)準(zhǔn),怎樣用VoiceXML解釋程序取代HTML解釋程序,用人的語(yǔ)音取代鼠標(biāo)和鍵盤(pán)。
下面就VoiceXML的基本功能、VoiceXML 1.0版的主要特性和分布式模型等作一簡(jiǎn)要介紹。
VoiceXML的基本功能
VoiceXML是萬(wàn)維網(wǎng)集團(tuán)(W3C)定義的可擴(kuò)展標(biāo)記語(yǔ)言(XML)的一種新的應(yīng)用;蛘哒f(shuō)它是一種域?qū)S谜Z(yǔ)言,根據(jù)所播放的音頻文件、要口述的文本、要記錄和識(shí)別的語(yǔ)言以及所收集的按鍵音輸入,定義人和計(jì)算機(jī)之間的對(duì)話。VoiceXML可以描述傳統(tǒng)的語(yǔ)音響應(yīng)業(yè)務(wù)以及新的混合主動(dòng)式業(yè)務(wù)。
VoiceXML保護(hù)應(yīng)用開(kāi)發(fā)程序不受同時(shí)多線程控制——資源供給和平臺(tái)專(zhuān)用API等問(wèn)題的影響,因?yàn)檫@些問(wèn)題都由交互式話音響應(yīng)(IVR)平臺(tái)的VoiceXML客戶(hù)程序去處理。這種保護(hù)功能使平臺(tái)之間具有更大的業(yè)務(wù)可移植性。
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ù),比如音量、講話快慢和音調(diào)等。
從VoiceXML的對(duì)話看,調(diào)用程序?qū)㈦娫捥?hào)碼撥入具有VoiceXML客戶(hù)程序的IVR平臺(tái)。該平臺(tái)將電話號(hào)碼送給URL,而客戶(hù)程序把HTTP請(qǐng)求送給專(zhuān)用的URL。Web服務(wù)器用包含同調(diào)用程序執(zhí)行對(duì)話的VoiceXML文件表示響應(yīng)?蛻(hù)程序解釋該文件,從而與調(diào)用程序、播放提示、收集按鍵音輸入的信息交互作用,最后將收集的信息提交給文件本身指定的URL。Web服務(wù)器處理輸入,用處理后的文件表示回答,從而繼續(xù)進(jìn)行對(duì)話。
VoiceXML的主要特性
VoiceXML 1.0版的主要特性可以分為4個(gè)方面:對(duì)話、電話、平臺(tái)和性能。
1.對(duì)話特性
每個(gè)VoiceXML文件由一次或多次對(duì)話組成。對(duì)話特性包括收集按鍵音輸入、音頻輸出的生成、異步事件的處理、客戶(hù)端編寫(xiě)腳本的性能以及對(duì)話的連續(xù)性。VoiceXML支持下面的輸入格式:音頻記錄、自動(dòng)語(yǔ)音識(shí)別和按鍵音。輸出可以是預(yù)先記錄的音頻文件、
文本對(duì)應(yīng)于語(yǔ)音的生成或二者兼而有之。
VoiceXML支持異步事件的生成和處理。異步事件有兩種:一是內(nèi)部事件,如超時(shí)、未被識(shí)別的輸入或請(qǐng)求幫助;二是用戶(hù)定義的事件。事件處理程序一般確定要提供給調(diào)用程序的某些新的輸出,以及是否繼續(xù)現(xiàn)在的對(duì)話或轉(zhuǎn)換到另外的對(duì)話。
為使服務(wù)器的響應(yīng)時(shí)間最短,VoiceXML允許在一次對(duì)話中收集多個(gè)數(shù)據(jù)段,并允許用這種數(shù)據(jù)段編寫(xiě)客戶(hù)端腳本。對(duì)話還確定何時(shí)根據(jù)用戶(hù)的輸入將數(shù)據(jù)提交給另一個(gè)URL服務(wù)邏輯,以及何時(shí)轉(zhuǎn)換成不同的對(duì)話。
VoiceXML還支持傳統(tǒng)的IVR系統(tǒng),即選單、定向?qū)υ捯约靶碌幕旌现鲃?dòng)式人機(jī)交互樣式。選單交互樣式允許調(diào)用程序從一系列的選項(xiàng)中選擇幾個(gè)選項(xiàng)。定向?qū)υ捊换邮娇墒拐{(diào)用程序連續(xù)收集數(shù)據(jù)集;旌现鲃(dòng)式對(duì)話交互樣式可使調(diào)用程序以單一語(yǔ)調(diào)輸入多個(gè)數(shù)據(jù)段,并提供部分信息。
這里以天氣信息為例,表明不同的人機(jī)交互樣式提供的信息各不相同,但主動(dòng)式更快捷(見(jiàn)表1)。
2.電話特性
VoiceXML對(duì)電話連接實(shí)施基本控制。它允許文件制作者規(guī)定何時(shí)拆接,何時(shí)傳送呼叫。傳送是一種跟隨特性,即只要呼叫被成功傳送,并連接到被呼叫人,例如客戶(hù)的業(yè)務(wù)代表,便立即隱藏端接VoiceXML對(duì)話的傳送,暫停VoiceXML對(duì)話。與被呼叫人的對(duì)話結(jié)束后,VoiceXML對(duì)話繼續(xù)進(jìn)行。這一特性可節(jié)省呼叫傳送時(shí)間,有利于在后續(xù)URL請(qǐng)求中提交其他數(shù)據(jù)。
3.平臺(tái)特性
VoiceXML在提供描述對(duì)話的標(biāo)準(zhǔn)方法的同時(shí),還能提供容納單個(gè)平臺(tái)的機(jī)制。這包括調(diào)用平臺(tái)專(zhuān)用功能和控制平臺(tái)專(zhuān)用屬性。例如,一個(gè)平臺(tái)具有先進(jìn)的講話人驗(yàn)證組件,而另一個(gè)平臺(tái)可能具有定制信用卡對(duì)話,可以控制其專(zhuān)用的語(yǔ)音識(shí)別參數(shù)。無(wú)線環(huán)境里的客戶(hù)程序可以提供主叫用戶(hù)的位置。所有這些專(zhuān)用平臺(tái)特性都可借助VoiceXML平臺(tái)一種或幾種特性得以實(shí)現(xiàn)。
4.性能特性
VoiceXML文件和這些文件所使用的資源,以及URL確定的每一種資源的位置都是基于Web的。這些資源包括音頻文件、輸入語(yǔ)法、腳本和對(duì)象。VoiceXML客戶(hù)程序必須在使用這些資源之前查找和安裝這些資源。VoiceXML服務(wù)提供商要面對(duì)的一個(gè)問(wèn)題是在讀取資源的同時(shí),主叫用戶(hù)聽(tīng)到的是極其微弱的“靜音”。當(dāng)系統(tǒng)查找資源時(shí),采用可視瀏覽器的PC用戶(hù)看到一個(gè)旋轉(zhuǎn)圖標(biāo),但是與VoiceXML平臺(tái)保持聯(lián)系的主叫用戶(hù)也可能察覺(jué)不到這種業(yè)務(wù)是基于Web的,因此有可能把“靜音”看作是失去聯(lián)系的信號(hào)。
VoiceXML提供幾種消除或隱藏與查找Web資源有關(guān)的靜音的裝置。像可視瀏覽器一樣,VoiceXML客戶(hù)程序可以使用高速緩存而無(wú)需讀出數(shù)據(jù)。與可視瀏覽器所不同的是,VoiceXML客戶(hù)程序不必再裝入按鈕,這樣VoiceXML便讓文件編制人能夠確定是否使用高速緩存資源,或查找新的拷貝。
當(dāng)必須查找新的資源拷貝時(shí),文件編制人可以指定查找需等候的時(shí)間,對(duì)于某些資源還可以在讀取期間確定要播放的音頻文件。
VoiceXML還了解有些客戶(hù)程序在使用資源之前可能讀取資源。只要裝入音頻文件,文件編制人員就可以提示與可能要讀取的資源有關(guān)的客戶(hù)程序。這種資源讀取可能與文件解釋同時(shí)進(jìn)行,其目的在于按二者所需的時(shí)間利用資源和解釋文件。
VoiceXML分布式模型
Web為每個(gè)用戶(hù)提供全球范圍的信息,同時(shí)給每個(gè)信息和服務(wù)提供商提供全球范圍的用戶(hù)。因此,分布式應(yīng)用模型是Web的基本模型;VoiceXML建立在與基于Web的相同的模型上。圖1表示通過(guò)電話訪問(wèn)的VoiceXML業(yè)務(wù)使用的基于Web的分布式應(yīng)用模型。
在這種應(yīng)用模型中,除HTML解釋程序(Web瀏覽器)被VoiceXML解釋程序取代,語(yǔ)音取代作為用戶(hù)接口媒介的鼠標(biāo)和鍵盤(pán)外,VoiceXML結(jié)構(gòu)與可視Web模型的結(jié)構(gòu)基本相同。除其核心能力外,VoiceXML提供更先進(jìn)的功能特性,包括本地驗(yàn)證和處理、音頻回放和記錄,以及支持上下文特有的修剪,并支持可重用的附屬對(duì)話。
用戶(hù)輸入的本地處理和驗(yàn)證是通過(guò)收集提供標(biāo)準(zhǔn)編程模型的諸多元素實(shí)現(xiàn)的。一個(gè)“程序塊”元素允許代碼在收集輸入的過(guò)程中的任何一點(diǎn)運(yùn)行。一個(gè)“填充”元素可使輸入驗(yàn)證代碼,根據(jù)用戶(hù)輸入的任何一組數(shù)據(jù)提高控制效能;該元素對(duì)混合主動(dòng)式對(duì)話特別有用,因?yàn)樵谠撃P椭杏脩?hù)能夠用任何指令應(yīng)用輸入!澳_本”元素可使JavaScript程序碎段在對(duì)話過(guò)程中的任何一點(diǎn)運(yùn)行。(下轉(zhuǎn)E11版)
預(yù)先記錄的音頻提示的回放是通過(guò)“音頻”元素完成的。用戶(hù)信息的記錄是通過(guò)“記錄”元素完成的;而后,記錄的音頻可以通過(guò)“音頻”元素回放,或者上裝到服務(wù)器,供存儲(chǔ)、處理或以后回放使用。
同時(shí),上下文特有的修剪幫助由內(nèi)部事件系統(tǒng)和事件處理程序提供。例如,VoiceXML定義一系列相對(duì)于用戶(hù)請(qǐng)求幫助的事件。這種應(yīng)用還可以在任何給定的上下文中(包括表格或字段),提供相對(duì)于特定上下文的特定的事件。
最后,VoiceXML對(duì)附屬對(duì)話(所執(zhí)行的完整的表格)提供支持,對(duì)話的結(jié)果是對(duì)另一個(gè)表格提供輸入字段。這一功能特性有兩個(gè)用途,一是對(duì)輸入消除多義性或確認(rèn)對(duì)話,二是支持可重用的附屬對(duì)話。
青出于藍(lán)而勝于藍(lán)
盡管VoiceXML重用許多HTML的概念和設(shè)計(jì),但由于可視和語(yǔ)音交互之間的區(qū)別,它在幾個(gè)方面具有不同的特點(diǎn)。例如,HTML文件是從統(tǒng)一資源識(shí)別符確定的網(wǎng)絡(luò)資源中讀出的單個(gè)元素,并同時(shí)將所有的元素提供給用戶(hù)。VoiceXML則不同,它包含若干對(duì)話元素(選單、表格),依次順序地將這些元素提供給用戶(hù)。這種區(qū)別歸因于可視媒介能夠同時(shí)顯示若干選項(xiàng),而話音媒介本來(lái)就具有連續(xù)性特點(diǎn)。
因此,盡管特定的VoiceXML文件可以包含與相對(duì)應(yīng)的HTML文件的相同的信息,但VoiceXML文件不同的結(jié)構(gòu)反映了話音媒介的連續(xù)性,而HTML只相當(dāng)于前面所述的VoiceXML文件中的選單。
就HTML而言,沒(méi)有必要把這種選單視為一個(gè)元素,或者使用標(biāo)記結(jié)構(gòu)把它與同一頁(yè)面上的其他元素分隔開(kāi)來(lái)。但是,VoiceXML要求把對(duì)話元素(選單和表格)看作是不同的元素,以便一次對(duì)用戶(hù)提供一個(gè)元素。因此,HTML文件實(shí)際上起單一對(duì)話元素的作用,而
VoiceXML文件是對(duì)話元素(如選單和表格)的一個(gè)容器,每個(gè)容器包含對(duì)文本元素排列解釋程序的邏輯。
選單 |
定向?qū)υ?/p> |
混合主動(dòng)式對(duì)話 |
計(jì)算機(jī):對(duì)安徽輸出1; |
計(jì)算機(jī):請(qǐng)問(wèn)你要哪個(gè)省的天氣? |
計(jì)算機(jī):你想要哪個(gè)省和城市的天氣? |
話音媒介連續(xù)性的再一個(gè)不同特點(diǎn)是要求標(biāo)記包含應(yīng)用邏輯,以用于在對(duì)話元素之間排列程序。這一要求反映在順序邏輯元素的集成方面,VoiceXML比HTML更緊湊。例如,VoiceXML包含順序控制元素,而在HTML中,這種控制只能通過(guò)更麻煩的編寫(xiě)腳本的方法才能實(shí)現(xiàn)。
W3C語(yǔ)音瀏覽器工作組已將VoiceXML 1.0版確定為對(duì)話標(biāo)記語(yǔ)言的基礎(chǔ)。VoiceXML客戶(hù)程序和VoiceXML應(yīng)用業(yè)務(wù),目前已在許多公司中開(kāi)始實(shí)用。
《賽迪市場(chǎng)專(zhuān)家》2000/12/11