《VoiceXML培訓(xùn)資料》PPT課件.ppt_第1頁
《VoiceXML培訓(xùn)資料》PPT課件.ppt_第2頁
《VoiceXML培訓(xùn)資料》PPT課件.ppt_第3頁
《VoiceXML培訓(xùn)資料》PPT課件.ppt_第4頁
《VoiceXML培訓(xùn)資料》PPT課件.ppt_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、VoiceXML培訓(xùn)資料,華為技術(shù),什么是VoiceXML?,VoiceXML簡介,VoiceXML:Voice eXtensible Markup Language (語音可擴(kuò)展標(biāo)記語言),與HTML的區(qū)別,相同點(diǎn): 都使用URL作為資源定位符 絕對地址和相對地址的轉(zhuǎn)換規(guī)則一致 都與WebServer間采用HTTP協(xié)議交互 所有的資源均可以通過WebServer上的后臺應(yīng)用腳本動態(tài)輸出,VoiceXML開發(fā)環(huán)境,Jdk1.4.0以上版本 Tomcat4.0以上版本 環(huán)境變量的配置: PATH= C:j2sdk1.4.2bin; set CLASSPATH=.;C:j2sdk1.4.2jrel

2、ibrt.jar; set JAVA_HOME= C:j2sdk1.4.2 注: CALSSPATH是CLASS文件的尋找路徑,沒設(shè)就找不到CALSS文件。CHASSPATH中的”點(diǎn)”代表當(dāng)前路徑。,VoiceXML入門,先來了解一下XML,XML簡單規(guī)則: 1、從開始 2、元素的格式 3、一個(gè)XML文當(dāng)中只能包含一個(gè)主元素,例如:元素名為:vxml 4、元素間的包含 可以并列放置一個(gè)或者多個(gè)文本或者元素 5、空元素 是指元素中沒有包含任何文本或者元素的元素,可以縮寫為: ,看看這些標(biāo)記作了些什么,VoiceXML的主元素,必不可少 一個(gè)form單元 一個(gè)form item,其中可以放置執(zhí)行單

3、元 一個(gè)執(zhí)行單元,用于放音,如何進(jìn)行業(yè)務(wù)的日常維護(hù),通??梢允褂肐E對業(yè)務(wù)流程的檢查采用逐步檢查 的辦法: 1、檢查普通頁面是否能夠正常顯示 2、檢查是否能夠支持動態(tài)腳本程序,例如Jsp程序 是否能夠正確運(yùn)行 3、檢查操作數(shù)據(jù)庫部分的流程是否正常 下面是一個(gè)例子:,從Hello World開始, 你好 再見 ,放音收號, 您好! ,放音收號object, 放音收號結(jié)果為 ,深入了解VoiceXML框架,可執(zhí)行內(nèi)容,可執(zhí)行內(nèi)容指的是程序上的邏輯塊,這種邏輯出現(xiàn)在: 的form item中。 Form 和form item的行為中。 事件處理中(,等)。 下面分別介紹一下這些元素:,clear 變

4、量清空 var 變量定義 prompt 放音 reprompt重放音 goto submit流程跳轉(zhuǎn) if else else if流程分支的判斷 return返回subdialog調(diào)用 exit退出,throw 拋出事件 assign變量賦值 script 腳本操作,常用的標(biāo)準(zhǔn)session變量,Session.telephone.ani 系統(tǒng)主叫 Session.telephone. dnis 系統(tǒng)被叫,Form,Form元素可以包含: 一個(gè)或者多個(gè)form item 變量定義(var) 事件處理(error/help/nomatch/noinput/catch) 填充后處理(Filled

5、),VoiceXML中的流控制-1,VoiceXML中的流控制-2,Form Item總體特性,包括如下元素:field、block、subdialog、object、record、transfer 1、它們都有一個(gè)用name屬性指定名字的變量,該變量用expr屬性計(jì)算結(jié)果為初始值 2、它們都有一個(gè)cond屬性,作為判斷表達(dá)式,用于判定是否需要執(zhí)行該form item 3、其中field item通常包含: filled:其中包含了當(dāng)field item的結(jié)果變量被填充的時(shí)候需要進(jìn)行的相應(yīng)處理 property:用于設(shè)定影響當(dāng)前交互的一些屬性 prompt:指定當(dāng)該field item被訪問的

6、時(shí)候需要提供的提示音 grammar:指定允許的用戶說話和按鍵的語法 catch:指定field item中發(fā)生事件時(shí)需要進(jìn)行的處理,FILLED,filled:用于指明某一個(gè)或者多個(gè)域被用戶輸入所填充后的處理流程 mode可以為all(默認(rèn)值),或者為any,表示指定的處理過程被執(zhí)行的選擇原則,是所有namelist中的域被填充,還是任意一個(gè)namelist中的域被填充 namelist該filled所對應(yīng)的域的名字,以空格分隔 filled可以放置在form、form item中 如果放在form item中,則表明當(dāng)該form item被填充的時(shí)候執(zhí)行該filled中的流程;如果放在fo

7、rm中就是指namelist中的域被填充后需要執(zhí)行該filled中的流程 例子: ex_6_3.vxml,FIELD,field:收集用戶輸入的域 name結(jié)果變量名 expr產(chǎn)生初始值變量表達(dá)式 cond判斷是否選擇該item被執(zhí)行的表達(dá)式 type數(shù)據(jù)類型,相當(dāng)于有這樣的類型的語法 slot域的關(guān)鍵字名,用于接受語音識別結(jié)果 modal是否屏蔽該field以外的所有的語法 type的類型包括:boolean、date、digits、currency、number、phone、time 舉例:ex_5_3.vxml What is your favorite ice cream? ,BLOC

8、K,block:執(zhí)行塊,用于輔助field item元素 name結(jié)果變量名 expr產(chǎn)生初始值變量表達(dá)式 cond判斷是否選擇該item被執(zhí)行的表達(dá)式 在執(zhí)行block中的執(zhí)行單元之前,系統(tǒng)自動將結(jié)果變量置為true 舉例: Welcome to Flamingo, your source for lawn ornaments. ,SUBDIALOG,subdialog:激活一個(gè)類似函數(shù)調(diào)用的過程 name結(jié)果變量名 expr產(chǎn)生初始值變量表達(dá)式 cond判斷是否選擇該item被執(zhí)行的表達(dá)式 namelist通過HTTP攜帶的參數(shù)的列表 src跳轉(zhuǎn)到的流程的URL地址 methodHTTP獲

9、取方式,(Get/Post) enctypeHTTP編碼方式 他和其他field item不同的是,其中可以放置param用于傳遞參數(shù),注意不要將這個(gè)參數(shù)和namelist屬性中的參數(shù)混淆,param攜帶的參數(shù)是通過VoiceXML解釋器進(jìn)行傳遞的,舉例:return.vxml,PROMPT,prompt :播放提示語音 bargein提示音是否能不用戶打斷 bargeintype打斷類型(2.0新增),支持識別打斷 cond判斷是否播放的條件表達(dá)式 count計(jì)數(shù)(在選擇規(guī)則中使用) timeout用戶超時(shí)時(shí)間 例子: 歡迎使用聽網(wǎng) 相關(guān)內(nèi)容:跳轉(zhuǎn)到執(zhí)行單元中的介紹,PROMPT,barge

10、in:默認(rèn)為true表示可以被打斷 bargeintype:打斷方式為: energy能量或者DTMF按鍵 speech語音或者DTMF按鍵 recognition語音識別成功或者DTMF按鍵 這三種方式混合使用將導(dǎo)致平臺不可預(yù)測的動作, 而且是不鼓勵的;所以推薦在一個(gè)平臺上保持一種打斷方式 timeout:系統(tǒng)超時(shí)時(shí)間,指的是系統(tǒng)在放完所有提示音后的 最大等待用戶輸入的時(shí)間,AUDIO,audio :播放語音,嵌套文本表示當(dāng)該語音文件不可獲得時(shí) 用嵌套的文本以TTS播放 src語音文件的URL地址 expr動態(tài)決定語音文件的URL地址 當(dāng)有src屬性時(shí),該屬性被屏蔽 支持的語音格式: 目前只

11、支持8K*8Bit的wav格式(Riff格式),不支持 mp3、Real audio等格式 例子: ,VALUE,value :將表達(dá)式值的運(yùn)算結(jié)果輸出為語音或者TTS文本 expr輸出表達(dá)式 例子: is the square of . ,放音內(nèi)容,TTS放音 請說出城市名稱 您說的城市名稱是: 播放WAV語音 請說出城市名稱 混合TTS文本、WAV語音 歡迎來到電話聽網(wǎng) 下面為您插播一段廣告,請收聽 ,PROMPT 的選擇規(guī)則,注意這里的選擇規(guī)則是指在form item中的prompt,對于block、 catch及事件處理縮寫元素、filled中的prompt不存在選擇問題。 選擇規(guī)則如

12、下: 1、按照文檔中的順序?qū)⑺械膒rompt進(jìn)行排序,組成列表 2、從列表中刪除所有cond條件表達(dá)式判斷為false的prompt元素 3、尋找correct count:列表中所有的的比當(dāng)前的計(jì)數(shù)器小的最大計(jì)數(shù)值 4、刪除列表中所有值不等于correct count的標(biāo)記,PROMPT 的緩沖原理,Vxml解釋器任何時(shí)候都處于以下兩種狀態(tài): 1、等待狀態(tài):在field item中等待用戶輸入 2、轉(zhuǎn)移狀態(tài):根據(jù)等待狀態(tài)獲得的輸入在field item之間轉(zhuǎn)移,在該狀態(tài)是不接受用戶的任何語音輸入 在轉(zhuǎn)移狀態(tài),所有的播放的提示音需要被緩存,在以下情況下才會被真正播放: 1、當(dāng)解釋器到達(dá)等待狀

13、態(tài)的時(shí)候,所有的緩存的提示音被放出,同時(shí)等待用戶的輸入 2、當(dāng)解釋器獲取某資源時(shí)指定了fetchaudio屬性,則需要將所有的緩存的語音播放出去,如果播放完緩存的語音時(shí)資源還未獲取到,則播放fetchaudio指定的語音直到獲取到資源為止 3、如果系統(tǒng)準(zhǔn)備退出,需要將所有的緩存的語音播放出去,變量、表達(dá)式與腳本,變量與表達(dá)式無處不在,涉及如下元素:var、script、assign、clear 腳本在Vxml中的地位 在VoiceXML中,通過嵌入腳本的方式,可以實(shí)現(xiàn)復(fù)雜的應(yīng)用,并為VoiceXML提供了強(qiáng)大的計(jì)算能力。 變量和腳本的關(guān)系 腳本和變量是融合在一起的,在作用域中可以相互引用。腳本

14、不是孤立存在的,而是與整個(gè)VoiceXML結(jié)合在一起的 除了var定義的變量,還有沒有其他變量? VoiceXML中隱含地定義了變量,系統(tǒng)會為每個(gè)item定義一個(gè)form item變量,這個(gè)變量有兩個(gè)作用:1)流程控制,2)保存輸入值或者返回值。,變量作用域,sesssion:整個(gè)通話過程中起作用 application:在一個(gè)應(yīng)用中起作用 document:在當(dāng)前文檔中起作用 dialog:在form、menu中起作用 anonymous:看上一級是誰,可能是block、catch元素包括其縮寫、filled,變量的使用,cond表達(dá)式,作為if、elseif、prompt、catch等等元

15、素的屬性 expr表達(dá)式,作為assign、value、等等元素的屬性 script腳本中對其進(jìn)行使用 舉例: 1 , . . . ,Application變量,application.lastresult$ application.lastresult$i.confidence application.lastresult$i.utterance application.lastresult$i.inputmode application.lastresult$erpretation 這是VoiceXML2.0中的新特性,事件的拋出與處理,Who throw event,1)流程拋

16、出事件:通過throw,將指定的事件拋出 2)系統(tǒng)處理中拋出的事件: nomatch:在等待用戶輸入時(shí),如果用戶的語音或者按鍵沒有匹配上相應(yīng)的語法,則拋出該事件; noinput:如果用戶在一定時(shí)間內(nèi)沒有輸入,則拋出該事件; help:如果用戶輸入“幫助”時(shí),拋出help事件 error:錯誤事件,例如跳轉(zhuǎn)到一個(gè)不存在的頁面、或者流程中有語法錯誤、或者在執(zhí)行過程中有JavaScript運(yùn)算異常 telphone.disconnect:用戶掛機(jī)或轉(zhuǎn)移 exit:流程結(jié)束事件,form中的所有item都被執(zhí)行,沒有跳轉(zhuǎn)離開該form則拋出該事件,Which element process the

17、event,1)catch元素,其屬性event中指明了其處理的事件名稱 2)nomatch、noinput、help、error元素能夠處理相應(yīng)的事件 3)事件只能被相比于事件發(fā)生地層次高或者相同的元素捕獲,不能被低層次的元素捕獲 catch、nomatch、noinput、help、error元素中可以放置一個(gè)執(zhí)行塊,其中可以放置各種執(zhí)行單元,用于說明當(dāng)制定事件被捕獲后需要完成的動作,CATCH,catch:捕獲事件 event事件名稱,或者一組事件的名稱 count計(jì)數(shù)(用于Catch的選擇規(guī)則) cond執(zhí)行事件處理的判斷條件 舉例: Security violation! ,事件處理

18、縮寫標(biāo)記,事件處理縮寫標(biāo)記包括: catch:捕獲事件 count計(jì)數(shù)(用于Catch的選擇規(guī)則) cond執(zhí)行事件處理的判斷條件 舉例: 您三次密碼輸入錯誤,再見 ,Catch的選擇規(guī)則,當(dāng)一個(gè)事件發(fā)生的時(shí)候,我們?nèi)绾芜x擇該有誰來處理? 依據(jù)以下原則: 1、將所有的在當(dāng)前作用域中的、包含域中的catch組成一個(gè)列表,首先按照Catch所在域從小到大排序,在同一個(gè)作用域中按照文檔中的實(shí)際順序排序 2、將列表中所有cond表達(dá)式條件為false的catch標(biāo)記刪除;將列表中所有event中沒有包含當(dāng)前需要被處理的事件的catch刪除 3、尋找correct count:在catch列表中比當(dāng)前的

19、實(shí)際計(jì)數(shù)次數(shù)小的最大的count 4、尋找列表中第一個(gè)其屬性count等于correct count的catch。終于找到你了:),form item,form,document,application root,interpreter context,系統(tǒng)默認(rèn)事件,exit(平臺屏蔽,避免造成錯誤),用于用戶主動說明離開 error系統(tǒng)錯誤或者業(yè)務(wù)錯誤 error.badfetch 無法獲取文檔 error.semantic error.noauthorization 無權(quán)操作(例如呼叫受限) error.unsupported.format error.unsupported.elemen

20、t help用戶主動說幫助 noinput用戶在指定時(shí)間內(nèi)沒有輸入 nomatch用戶輸入與語法不匹配 telephone.disconnect. hangup 用戶掛機(jī) telephone.disconnect. transfer無條件前轉(zhuǎn),執(zhí)行單元詳細(xì)介紹,VAR,var :用于定義和初始化變量 name變量名 expr初始值 例子: ,ASSIGN,assign :用于變量賦值 name變量名 expr初始值 例子: ,CLEAR,clear :用于清除form item變量值 namelist希望被清楚的變量名 例子: ,IF Elseif Else,例子: ,if 、elseif: cond判斷條件表達(dá)式,PROMPT,prompt :播放提示語音 bargein提示音是否能不用戶打斷 bargeintype打斷類型(2.0新增),支持識別打斷 cond判斷是否播放的條件表達(dá)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論