VoiceXML的標準是由「VoiceXML論壇(VoiceXML Forum)」所制定,該論壇是由AT&T、IBM、Lucent和Motorola共同建立。
VoiceXML概觀
VoiceXML是結合各種技術的基礎而來,如Motorola所開發的VoXML技術,和IBM所開發的SpeechML技術。而「VoiceXML論壇」的目標,則是建立起一個透過語音與Web Services進行互動的標準,目前W3C已發佈VoiceXML版本2.0的工作草案。
VoiceXML架構模型
VoiceXML架構模型是以各個不同的元件所組成,這些元件包括︰
- * 文件伺服器︰處理從VoiceXML解譯器(Interpreter)所接收到的請求,並用 VoiceXML文件回應。
- * VoiceXML解譯器︰解譯從文件伺服器所接收到的VoiceXML文件。
- * 實作平台:實作平台會受到VoiceXML解譯器控制,並產生一些事件(如接收到語音或字元輸入)和系統事件(如定時器到期)來回應使用者的動作,然後再利用VoiceXML解譯器來處理這些事件。
網路基礎結構中的VoiceXML Gateway
VoiceXML是利用網際網路基礎結構,來傳遞訊息和實作應用程式,就好像對Web瀏覽器傳遞HTML訊息一樣。VoiceXML將語音瀏覽器使用在輸入和輸出音訊上面,如此一來,使用者利用普通電話就能夠存取VoiceXML應用程式。如(圖二)所示,語音瀏覽器在語音閘道上執行,並與公共交換電話網(PSTN)及網際網路相連。
VoiceXML應用程式
以下是VoiceXML程式應用的範例︰
- * 語音入口網站︰語音入口網站的功用就像Web入口網站一樣,同時它也可用於提供個人化的服務,如股價、天氣、餐館菜單或新聞等訊息。
- * 語音警告︰VoiceXML可用來向使用者發出警告,如使用者可透過VoiceXML應用程式,來接收特殊事件的警告。
- * 商業行為︰VoiceXML可讓使用者透過電話來進行採購的應用程式。由於語音提供的訊息比圖形少,所以非常適合於一些不需多作描述的特殊產品,如門票、CD、辦公用品等。
VoiceXML概念
以下是VoiceXML的應用流程:
對話(Dialog)
在特定的時間內,VoiceXML應用程式的使用者總是處於一種對話中的狀態。在每個對話完後,都跟著另一個對話。假如沒有指定下一個對話,那麼系統就會終止VoiceXML應用程式的執行。對話的形式有兩種,分別是表單(Forms)和選單(M enus)。如同HTML Form一樣,Form專門收集使用者輸入值,而選單(Menus)提供選項清單給使用者。
任務(Session)
當使用者開始與VoiceXML文件互動時,Session也就跟著啟動了。
應用程式(Applications)
應用程式專門匯集VoiceXML文件,其程式內的所有文件都共享於同一個應用程式的根文件。
文法(Grammars)
文法的功用是在於指定一份VoiceXML的詞彙清單,並供使用者從中選擇,以便與VoiceXML的應用程式作互動。在使用者的每個對話中,都會有一個或多個文法。
事件(Events)
基於不同的因素(如使用者沒有回應輸入,或沒有正確請求幫助等),VoiceXML的平台會拋出一個事件。而VoiceXML解譯器在VoiceXML文件中,有任何語義的錯誤時,也會拋出事件。
連結(Links)
連結可指定網域中所有對話的轉移。當使用者輸入符合連結的文法時,連結控制就會自動轉移到其目的地。
動態VoiceXML
Web技術中的JSP/ASP文件,包括了VoiceXML元素和JSP/ASP程式碼,它可以存取各種資料庫,或公司/企業的應用程式(例如︰電子信件、帳務系統、時間和費用等)。而JSP/ASP的根文件則會產生對靜態VoiceXML、ASP或JSP文件的呼叫。
《圖三 Web技術與VoiceXML架構的連結圖》 |
|
企業語音應用程式的開發
基本上,要設計和開發一個好的語音應用程式,遠比建置網站或其它的軟體應用程式困難,精心製作客戶滿意度的VUI也不容易。在設計一個企業用的語音應用程式之前,開發人員需要處理VUI的可用性、語音科學和音訊方面等問題,以下就這三個問題來作一個簡單的討論。
VUI可用性問題︰
在使用者的介面中,結合語言元素會衍生出不少的可用性問題。因為語音介面的講話速度通常慢於閱讀速度,而在VUI中,選項又必須依次列出,所以這限制了介面所能提供的訊息量。
GUI和Web頁面可透過對比,來顯示大量的訊息和更多的選項。而使用者也可在這些介面上,以他們自己的速度來找到所需的訊息。然而在VUI 中,訊息往往在提供後就消失了,而使用者則必須要記住大部分的內容。此時,系統必須透過可用的選項來指導使用者,以便他們可以輕易地瀏覽應用程式,而不會感到泄氣。
語音科學問題:
即使語音識別技術對於關鍵型應用程式足夠成熟,但實際上它並不是完美的。識別人類語音是一項非常複雜的計算工作,它依靠將複雜的探索技術,實時地應用於大規模的統計資料模型。在大多數情況下,ASR引擎都必須由專家對它進行調整才能成功執行。
習慣於與其它人談話的使用者,在與「語音應用程式」進行互動時,會延續相同的思維模式,當VUI不合標準時,系統便不會進行下一個動作。即使是有好的提示設計,使用者也可能會說出如「Yup」、「Yeah」和「Nope」的詞語出來;然而,VUI所期望的詞語只是簡單的「Yes」或「No」。
語音應用程式只理解經過訓練後所掌握的特定陳述式,並盡全力將輸入與語法規範符合。甚至發音相似的詞如「to」和「two」也很可能會引起混淆,這會導致一次失敗的經歷。尤其是行動用戶,背景和環境噪音會引起語音識別的準確度問題,因為ASR引擎沒有關於如何區分噪音和人類所發出聲音的智慧環境。雖然ASR引擎確實有複雜的信號處理技術,可以消除背景噪聲,但這些技術離成熟的階段還有很大一段距離。
由於這些原因,語音應用程式必須使用大量來自現實世界的語音資料,並加入使用者可能會說的口語化詞句,以加強VUI的辯識率。
音訊方面的問題︰
合併自然發音的提示、設計良好的VUI,以及創造吸引人的音樂效果後,所產生的語音應用程式,將會提供一個引人入勝的感受。當客戶發現「語音應用程式」聽起來有專業感及吸引人時,他們將會更有購買該產品的慾望。
語音應用程式可以選擇使用已錄製的音訊或語音合成引擎,來傳遞提示和選單的音訊輸出。預先錄製的音訊作業,最好留給電視和廣播行業的人們來完成;而語音合成引擎則有其自己的計算難題,因為不可能預先錄製,並儲存所有可能的語音模式組合。不過語音合成引擎可以使用創新的技術(如連線語音),來傳遞聽起來像人在說話,及語調自然的語音輸出,而不是像機器人的發音。
語音應用程式系統架構與元件
使用者可以透過有線或無線的電話設備,來進行對語音應用程式的存取。舉例來說,當使用者撥打與語音應用程式的電話號碼後,VoIP閘道在語音介面卡(Voice Interface Card,VIC)上接收來電。接著該電話介面會建立起電話交換機和VoIP閘道之間的語音連線,並提供回音消除(Echo Cancellation)、DTMF雙音訊偵測,以及音訊提示播放/錄製的動作。
VoIP閘道會充當語音應用程式閘道和外部電話網路,如公共封包交換器(Public Branch Exchange,PBX)、公用交換式電話網路(PSTN)間,及VoIP上的語音流量間的介面。VoIP閘道另一個作用是從電話網路接收到的語音資料轉換成IP訊息封包,並將使用者的來電轉換成VoiceXML瀏覽器的IP位址和連接埠。語音應用程式閘道是任何語音應用程式的核心,(圖四)顯示出語音應用程式閘道的架構。
TTS引擎的發音技術:
這是用來轉換人類使用的單字和片語的技術,換句話說,是讓系統從純文字串流轉換成人類語音的技術。透過TTS引擎所使用的語音合成技術(如與發音有關的合成、共振峰合成與連線合成)來產生擬人且自然的語音,以代替聽起來像機器人發出的語音。
ASR引擎:
ASR引擎提供了自動化語音識別能力,該引擎將所有可能的音調、音調的細微差別、重音變化等語音輸入轉換為數位訊息來接收。大多數的語音應用程式閘道,都會透過連續的語音處理技術在ASR引擎上面執行。
VoiceXML瀏覽器/解譯器:
這是語音應用程式閘道的核心,當兩者結合運用時,便成為VoiceXML引擎。這個引擎使用HTTP來擷取VoiceXML文件,並將語音標籤呈現為語音應用程式和使用者之間的雙向對話序列。在VoiceXML中,元素和屬性的解譯會產生作業,並同時與電話資源一起驅動ASR和TTS引擎。
音訊資源:
音訊資源專門負責音訊檔案的播放。大多數語音應用程式平台都支援不帶標頭的原始音訊資料,以及具有8 KHz取樣率和8位員的mu - law編碼資料檔案,不過目前音訊資源還未支援GSM的音訊編碼。
TCP/IP資源:
TCP/IP資源提供了語音應用程式閘道與Web/應用程式伺服器間的主幹連線。此外,它還負責語音應用程式閘道與網路其它機器間的訊息包裝(Pack)與分解。
Web/應用程式伺服器
Web/應用程式伺服器是由靜態的VoiceXML檔案和動態的VoiceXML頁面程式群組成,該伺服器可以與資料儲存(如DBMS)相互作業,並用以檢索或更新企業的資料。
語音應用程式的模型:
以下將介紹關鍵型/高容量語音應用程式的三種常見佈署模型。
應用程式服務提供者(Application Services Provider,ASP)模型:
透過ASP模型,企業可以將整個語音應用程式的開發、託管和維護等業務外包給其它公司。而客戶也可以自我進行開發,並將維護移交給ASP,這麼作的優點是客戶本身不必作軟體或硬體維護,但缺點是沒有主導權。
:語音應用程式閘道模型
這些是以網路為基礎的(外包)解決方案,它們使公司能夠佈署成熟的語音應用程式,而不必採購或管理任何語音識別或特定於電話的基礎設施。它們通常提供會的服務如下:
- * 語音基礎設施:包括音訊、電話、ASR和TTS資源、預先具有遠端通信和網際網路能力的語音XML瀏覽器/解譯器,以及可以指定給客戶應用程式的電話號碼。
- * 開發人員可以透過標準API的進階網路服務,如出站通知、CTI整合和個人化。
- * 開發/測試工具和預建置的模組化元件,如語法、音訊和應用程式庫。
- * 使客戶能夠作遠端存取有關其應用程式使用情況,以及效能報告的管理和報告工具。
- * 提供如語音應用程式設計、系統整合和語音技術專業知識方面的專業服務。
內部模型:
這個模型是以客戶的考量來作裝配的語音應用程式系統,該客戶必須自行採購、安裝、組態和整合所需的附加元件。其元件如下:
- * 語音合成軟體,如AT&T Watson、SpeechWorks Speechify、Fonix TTS和L&H RealSpeak等。
- * 語音辨識(Automatic Speech Recognition,ASR)軟體,如Nuance、SpeechWorks或AT&T等公司所推出的軟體。
- * 語音伺服器,如IBM WebSphere Voice Server和Motorola Vx500的VoiceXML 平台
- * 特定應用程式和預先建置的軟體元件,如 Nuance SpeechObjects和IBM可對話元件。
- * 要執行 Web/應用程式伺服器、語音伺服器、ASR和TTS軟體的系統。
- * 電話介面卡,如Dialogic、NMS、BrookTrout和Acculab等公司的產品,它能夠重放預先錄製的音訊。
- * 高流量的頻寬,如T1等線路。
- * 用於語音應用程式的電話號碼。
- * 一個內部專家小組,負責安裝所有必須的元件、提供電信通信能力、佈署語音應用程式,以及維護上述所有各項元件。
模型所需的支出
每個企業都必須評估其專業技術、資源、時間表和其它因素等,來確定企業最符合的佈署的模型。
ASP模型
企業要支付的費用如下:
- * 應用程式開發和維護的專業服務費用。
- * 託管的費用
- * 電話存取費用;存取量較低的應用程式最好是按每分鐘收費,而高存取量可預測的應用程式則可以按連接埠的數目來收費。
- * 各種軟體元件的版權費。
語音應用程式閘道模型
這個模型對企業來說,是最經濟的方式來佈署語音應用程式架構,而語音應用程式閘道供應商通常會提供下列的組合︰
* 每分鐘 - 客戶通常根據使用量付費,大多數客戶都需要有正常容量的概念,以便預計所支付的費用。
* 每連接埠/每月 - 這包括每個月的可預測連接埠數所需支付的費用。
* 每連接埠 - 一些供應商容許客戶徹底買斷所有的連接埠,但這會產生更高的預付價格,且會和內部佈署的價格差不多。
此外,客戶還需支付應用程式的版權費用、應用程式維護費用、專業服務費用,以及進階網路服務初裝費和每次交易的費用等。
這個模型的價格較為昂貴,且佈署的時間也較冗長。小型商業佈署的先期成本通常是幾十萬美元,但對於中、大規模的商業佈署,可能會超過百萬美元。而用於維護、升級、版權和人事費用的成本,每年都可能會達到幾十萬美元。
如果企業有極大的佈署,並在管理和提供電信服務方面有精深的專業技術,那麼這些公司將可考良這種模型的部署方式;因為純粹從現金流的角度來看,租借基礎設施的成本最終會高過購買它的成本。
結論
VoiceXML是替一些以語音服務公司為主的技術,雖然佈署在Web上的的方式有許多種,如Java Server Pages(JSP)或Active Server Pages(ASP),且其模型也有分三種。不過這些公司只要在事前作好完善的規劃,那麼VoiceXML所帶來的附加價值將遠超過付出的成本。
<本文資料由台灣IBM提供,由程裕翔整理,作者為美商電腦公司獨立軟體顧問,更多資料請參考IBM Taiwan開發者網站:http://www2.tw.ibm.com/developerWorks/>
|
|
目前語音辨識技術的發展已經是越來越成熟,而利用新一代的人機介面,如PDA或手機等,更是能讓這個技術在IA的領域更為活躍。相關介紹請見「新一代人機介面 - 語音辨識技術」一文。 |
|
VoiceXML讓開發者能創造合成語音、數位音頻、口語識別、雙音多頻按鍵式電話的按鍵輸入、錄製語音輸入、電話通訊,及混合性的對話。VoiceXML可以讓使用者以說話的方式來要求服務,並與聲音回覆應用程式作交談,對視障人士或忙碌中的工作者,可以方便使用以語音查詢資料。你可在「VoiceXML的功用」一文中得到進一步的介紹。 |
|
VoiceXML是一個強大的標籤語言,它會以Web為基礎來為交談式語音應用程式和資料庫內容作傳遞訊息的動作,並以音訊作為輸入(語音或按鍵音)/輸出(機器語音或錄音)的形式。在「VoiceXML讓您瀏覽網頁動口不動手」一文為你做了相關的評析。 |
|
|
|