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