首頁(yè)>>廠商>>IVR系統(tǒng)平臺(tái)廠商>>Voxeo

基于VoiceXML的語(yǔ)音應(yīng)用系統(tǒng)開(kāi)發(fā)

2008/10/30

一、概述

  到目前為止,人們從Internet獲取各種資源時(shí),還只能是借助計(jì)算機(jī)來(lái)實(shí)現(xiàn)。而實(shí)際上,電話具有比計(jì)算機(jī)更高的普及率,如果允許人們通過(guò)電話來(lái)訪問(wèn)Internet的資源,那么這對(duì)于Internet的應(yīng)用發(fā)展必將是一次質(zhì)的飛躍。在這類應(yīng)用前景的驅(qū)動(dòng)下,VoiceXML [1] 標(biāo)準(zhǔn)被提出來(lái)了,它是由World Wide Web Consortium (W3C)制定的,目前最新版本為2.1。

  VoiceXML使得用戶可以通過(guò)電話按鍵或語(yǔ)音來(lái)訪問(wèn)Internet上的各種資源,它是語(yǔ)音瀏覽技術(shù)以及語(yǔ)音互聯(lián)網(wǎng)的核心。 VoiceXML為語(yǔ)音應(yīng)用領(lǐng)域展現(xiàn)了一個(gè)廣闊的未來(lái),用VoiceXML開(kāi)發(fā)的語(yǔ)音應(yīng)用系統(tǒng),不僅可以完全代替?zhèn)鹘y(tǒng)CTI(計(jì)算機(jī)電話集成) 系統(tǒng)所能提供的功能,而且還可以使應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程極其簡(jiǎn)單快捷、系統(tǒng)有極高的可擴(kuò)展性、可維護(hù)性、可移植性、可重用性和開(kāi)放性,在語(yǔ)音門(mén)戶、語(yǔ)音呼叫中心(Call Center) 、語(yǔ)音信息服務(wù)、語(yǔ)音電子商務(wù)等領(lǐng)域有著廣泛的應(yīng)用。

  本文通過(guò)編寫(xiě)一個(gè)簡(jiǎn)單的自動(dòng)語(yǔ)音識(shí)別程序來(lái)試圖讓讀者對(duì)VoiceXML語(yǔ)言的一些基本概念和基于VoiceXML的語(yǔ)音應(yīng)用系統(tǒng)的基本構(gòu)成有一個(gè)大致的了解。該示例程序已經(jīng)部署在http://evolution.voxeo.com。讀者可以在電腦上通過(guò)Skype客戶端(免費(fèi))或者傳統(tǒng)的電話(收費(fèi))運(yùn)行該文中的示例程序。

二、VoiceXML技術(shù)簡(jiǎn)介

  VoiceXML(語(yǔ)音可擴(kuò)展標(biāo)記語(yǔ)言)是用來(lái)描述語(yǔ)音對(duì)話過(guò)程的標(biāo)記語(yǔ)言。其定義了如何使用語(yǔ)音識(shí)別、語(yǔ)音合成、互聯(lián)網(wǎng)訪問(wèn)、數(shù)據(jù)庫(kù)訪問(wèn)、語(yǔ)音文件播放、DTMF按鍵識(shí)別等功能開(kāi)發(fā)一個(gè)完整的語(yǔ)音應(yīng)用系統(tǒng)。 與HTML/XML標(biāo)準(zhǔn)類似,VoiceXML也是一種基于文本的腳本語(yǔ)言。

  就象程序員可以使用HTML/XML語(yǔ)言開(kāi)發(fā)WEB應(yīng)用程序,從而把文字和圖片等信息以網(wǎng)頁(yè)的方式提供給用戶類似,程序員可以使用VoiceXML語(yǔ)言開(kāi)發(fā)基于語(yǔ)音的應(yīng)用程序,從而把用戶需要的信息以語(yǔ)言的形式提供給用戶。 用戶可以通過(guò)VoIP終端或者傳統(tǒng)電話來(lái)訪問(wèn)這類應(yīng)用程序從而得到想要的信息(如天氣,股市,定位等)。和用戶訪問(wèn)WEB頁(yè)面時(shí)需要通過(guò)鍵盤(pán)輸入想要查詢的內(nèi)容不同,用戶訪問(wèn)基于 VoiceXML的語(yǔ)言應(yīng)用時(shí)可以通過(guò)“說(shuō)話”來(lái)獲取想要的信息。執(zhí)行VoiceXML語(yǔ)言的VoiceXML服務(wù)器負(fù)責(zé)把用戶的語(yǔ)音轉(zhuǎn)換成文字(自動(dòng)語(yǔ)音識(shí)別)進(jìn)行搜索并把搜索到的結(jié)果以語(yǔ)音的方式“讀”給用戶(語(yǔ)音合成輸出)。下圖(圖一)顯示了基于VoiceXML的語(yǔ)音應(yīng)用和基于HTML的WEB應(yīng)用的相似和不同。

圖一、VoiceXML應(yīng)用和WEB應(yīng)用的比較

下圖(圖二)展示了基于VoiceXML的語(yǔ)音應(yīng)用系統(tǒng)的基本架構(gòu):

  文檔服務(wù)器(WEB Server):用于存放VoiceXML腳本文件(或者根據(jù)由VoiceXML Server發(fā)過(guò)來(lái)了HTTP請(qǐng)求自動(dòng)生成VoiceXML腳本),和事先錄制好的音頻文件等一切有關(guān)的文檔。 VoiceXML Server通過(guò)HTTP請(qǐng)求從該文檔服務(wù)器獲取各種需要的文件。

  VoiceXML 服務(wù)器(VoiceXML Gateway):用于接收和識(shí)別用戶的輸入,解釋和執(zhí)行VoiceXML腳本文件,并把結(jié)果轉(zhuǎn)換成語(yǔ)音輸出給用戶。它一般具備下列組件:VoiceXML解釋器組件(VoiceXML Browser),呼叫控制組件(CCXML Browser),自動(dòng)語(yǔ)音識(shí)別組件(ASR),語(yǔ)音合成組件(TTS)等。這些組件共同組成了VoiceXML的解釋和執(zhí)行平臺(tái)。

圖二、VoiceXML應(yīng)用系統(tǒng)架構(gòu)

  和互聯(lián)網(wǎng)用戶通過(guò)鍵盤(pán)輸入某個(gè)WEB頁(yè)面的地址(URL)來(lái)訪問(wèn)WEB應(yīng)用類似,VoiceXML用戶通過(guò)電話或者VoIP終端撥打某個(gè)應(yīng)用對(duì)應(yīng)的電話號(hào)碼來(lái)訪問(wèn)該應(yīng)用程序(圖中的步驟1)。VoiceXML服務(wù)器收到用戶的呼叫后,根據(jù)用戶撥打的號(hào)碼去文檔服務(wù)器查找對(duì)應(yīng)的VoiceXML文件(圖中的步驟2),通過(guò)HTTP請(qǐng)求把文件下載到本機(jī)執(zhí)行,根據(jù)特定應(yīng)用的需要,VoiceXML服務(wù)器可能會(huì)發(fā)出多個(gè)HTTP請(qǐng)求獲取和應(yīng)用有關(guān)的其他文件,比如需要播放的語(yǔ)言文件等(圖中的步驟3)。然后由 VoiceXML解釋器組件( VoiceXML Browser)解釋和執(zhí)行VoiceXML腳本語(yǔ)言并把結(jié)果轉(zhuǎn)換成語(yǔ)音傳送給用戶(圖中的步驟4)。在執(zhí)行過(guò)程中,用戶可能需要通過(guò)語(yǔ)音和VoiceXML服務(wù)器進(jìn)行交互,比如菜單選擇或者對(duì)查詢結(jié)果進(jìn)行過(guò)濾等。VoiceXML服務(wù)器通過(guò)呼叫控制組件(CCXML Browser),自動(dòng)語(yǔ)音識(shí)別組件(ASR),語(yǔ)音合成組件(TTS)來(lái)實(shí)現(xiàn)這些交互。

  在VoiceXML系統(tǒng)中有兩種形式語(yǔ)音的輸出: 機(jī)器合成語(yǔ)音(TTS)和事先錄制好的語(yǔ)音文件。

  TTS ( Text-To-Speech) : 是由機(jī)器把文本轉(zhuǎn)換為數(shù)字語(yǔ)音格式,這種聲音聽(tīng)起來(lái)會(huì)感覺(jué)有些機(jī)械和不自然,但是輸出內(nèi)容靈活,不受任何限制。

  事先錄制好的語(yǔ)音文件: 和TTS相比聽(tīng)起來(lái)更自然,但是內(nèi)容受限制。在實(shí)際應(yīng)用中往往把二者結(jié)合起來(lái)。

  VoiceXML系統(tǒng)中的輸入也有兩種形式: 自動(dòng)語(yǔ)音識(shí)別 (ASR) 和雙音多頻鍵盤(pán)音(DTMF)。

  ASR (Automatic Speech Recognition) 是指計(jì)算機(jī)把用戶的語(yǔ)音自動(dòng)識(shí)別成文字信息,便于計(jì)算機(jī)的進(jìn)一步處理,從而使得用戶可以通過(guò)自然語(yǔ)言來(lái)控制計(jì)算機(jī)的執(zhí)行。

  DTMF (Dual Tone MultiFrequency) 則是用戶可以通過(guò)電話的按鍵進(jìn)行輸入。

三、VoiceXML開(kāi)發(fā)示例

  本文中的信息查詢例子演示了一個(gè)簡(jiǎn)單的VoiceXML應(yīng)用。該例子VoiceXML腳本中用到的所有的標(biāo)簽如表1所示,表2是該例子的源代碼。圖四是該例子的呼叫流程。首先是用戶發(fā)起呼叫,應(yīng)用程序通過(guò)計(jì)算機(jī)合成語(yǔ)音(TTS)告訴用戶所有的選擇項(xiàng)并等待用戶的響應(yīng)。用戶的語(yǔ)音將由計(jì)算機(jī)根據(jù)語(yǔ)法標(biāo)簽

  中定義的規(guī)則進(jìn)行自動(dòng)識(shí)別。如果識(shí)別成功,標(biāo)簽中定義的變量“choice”被賦值。例如,如果用戶說(shuō)出“weather”,則計(jì)算機(jī)會(huì)把字符串“weather” 賦值給“choice”。然后在標(biāo)簽中定義的條件判斷語(yǔ)句會(huì)根據(jù)變量“choice”的值把相應(yīng)的語(yǔ)音播放給用戶。如果用戶沒(méi)有響應(yīng),標(biāo)簽被執(zhí)行并把“I didn’t hear you” 播放給用戶,然后提示用戶重新輸入(標(biāo)簽)。同樣,如果用戶的語(yǔ)音沒(méi)有被識(shí)別,標(biāo)簽 將被執(zhí)行并告訴用戶“I didn’t quite understand you” ,然后提示用戶重新輸入(標(biāo)簽)。

表 1. 本示例中用到的VoiceXML 標(biāo)簽

圖四:信息查詢例子呼叫流程圖

表 2. 信息查詢例子源代碼

<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" >
<form id="Choices">
<field name="choice">
<prompt>
Welcome to the Voice XML journey.
This tutorial demonstrates voice recognition.
Please choose from the followings:
to check the weather, say weather .
to check the stock quotes, say stock .
to get the direction information, say direction.
</prompt>
<grammar>
<![CDATA[ [
[weather dtmf-1]{<choice "weather">}
[stock dtmf-2]{<choice "stock">}
[direction dtmf-3]{<choice "direction">}
]
]]>
</grammar>
<noinput>
I didn't hear you. <reprompt/>
</noinput>
<nomatch>
I didn't quite understand you. <reprompt/>
</nomatch>
<filled>
<if cond="choice=='weather'">
<prompt>OK let's check the weather. Thank you. </prompt>
<elseif cond="choice=='stock'"/>
<prompt>OK let's check the stock quotes. Thank you. </prompt>
<else/>
<prompt>OK let's get the direction information. Thank you. </prompt>
</if>
</filled>
</field>
</form>
</vxml>

  該示例程序已經(jīng)部署在http://evolution.voxeo.com。讀者可以下列幾個(gè)途徑來(lái)執(zhí)行該示例程序:

  1. 通過(guò)Skype客戶端撥打號(hào)碼 +99000936 9992001335, 免費(fèi)呼叫。

  2. 通過(guò)Xlite(一個(gè)免費(fèi)的VoIP軟件)或者任何VoIP終端呼叫 sip:9992001335@sip.voxeo.net

  3. 通過(guò)手機(jī)或者固定電話撥打號(hào)碼 +1 407 459 1963(美國(guó)電話號(hào)碼,收費(fèi))。
  讀者可以訪問(wèn) http://docs.voxeo.com/voicexml/2.0/frame.jsp?page=learningvoicexml.htm 獲取更詳細(xì)的VoiceXML示例和教程,該網(wǎng)站也提供免費(fèi)注冊(cè),注冊(cè)后可以免費(fèi)發(fā)布自己的VoiceXML應(yīng)用和其他人共享(就象本文中的例子一樣)。

參考
[1]http://www.w3.org/TR/voicexml21/

CTI論壇編輯



相關(guān)鏈接:
Voxeo VoiceObjects 統(tǒng)一自服務(wù)提高滿意度 2009-09-23
Voxeo攜Prophecy10高度亮相SpeechTEK2009 2009-09-03
擁有中文TTS的Prophecy IVR語(yǔ)音平臺(tái) 2009-08-17
Voxeo發(fā)布開(kāi)源的電話“云計(jì)算”服務(wù)平臺(tái) 2009-08-12
自助式語(yǔ)音平臺(tái)開(kāi)發(fā)利器Prophecy Platform 2009-08-03

分類信息:  CTI平臺(tái)技術(shù)_與_交互語(yǔ)音技術(shù)  CTI平臺(tái)技術(shù)_與_voicexml技術(shù)  交互語(yǔ)音技術(shù)_與_voicexml技術(shù)