語音門戶

語音門戶是建立於XML 語言規範基礎之上,是一種套用於語音瀏覽的標記語言。利用VoiceXML可以建立基於WEB的語音套用和服務。本文簡要描述了VoiceXML規範及相關術語,並給出了一種基於VoiceXML的語音與數據集成模型,它主要由語音瀏覽器語音識別語音合成和VoiceXML網關等部分組成。

語音門戶,可以方便地建立各種基於WEB的語音凶民閥套用系統。關鍵字 VoiceXML 集成 模型 語音瀏覽器1 引言隨著電子商務、客戶服務等信息服務的普遍化,互動式語音應答系統(IVR ,Interactive Voice Response)在各種商業系統中的套用越來越廣泛。然而這種語音互動方式存在以下缺點:(1)移植性、靈活性差;(2)良擊幾在實際系統上做套用開發的難度很大,特別是涉及到話音流程的編寫及調試問題;(3)無法綜合利用現在的WEB資源。而將IVR系統Internet化,可以增加系統可重用的機會,降低成本,這必將成為今後語音套用的一種主要趨勢。
另一方面,到目前為止,人們從Internet獲取各種資源時,還只能是藉助計算機來實現。而實際上,電話具有比計算機更高的普及率,如果允許人們通過電話來訪問Internet的資源,那么這對於Internet的套用發展必將是一次質的飛躍。在這類套用前景的驅動下,VoiceXML [2] 標準被提出來了,它是由World Wide Web Consortium (W3C)制定的。利用這種技術,用戶可以通過電話按鍵或語音來訪問Internet上的各種資源,它是語音瀏覽技術以及語音網際網路的核心。與XML標準類似盛拳頌贈,VoiceXML是一種基於文本的語言,它只定義了數據的存取方式,用戶必須編寫程式,以便能解釋、生成、傳送VoiceXML文檔。VoiceXML為語音套用領域展現了一個廣闊的未來,在語音門戶、語音呼叫中心(Call Center) 、語音信息服務、語音電子商務等領域有著廣泛的套用。而這些套用或服務可以很容易地和原有的數據系統結合起來,甚至可以輕易地從原有的各類套用中延展出來。使用VoiceXML的套用系統中,不要求用戶學習複雜的高級語言,就可靈活擴充新業務。而無需再與開發商聯繫,重新定製開發,只需要編寫幾個VoiceXML頁面就可以實現新的業務流程。而且編制好的VoiceXML腳本可以隨時隨地加入到系統中,而不會影響系統的正常運行。本文簡要描述了VoiceXML規範及主要術語,給出了一個基於VoiceXML的語音與數據集成模型。該模型通過VoiceXML解釋器和瀏覽器訪問Internet上的VoiceXML文檔及資料庫,從而實現語音和數據的集成熱烏應,達到了語音瀏覽的目標。2 VoiceXML規範2.1 結構模型VoiceXML的結構模型[2] 如圖1所示。主要包括文檔伺服器、VoiceXML解釋器程式、VoiceXML解釋程式環境和執甩記行平台組成。 圖1 VoiceXML 的結構模型文檔伺服器,可以是一台WEB伺服器,它處理VoiceXML解釋程式的請求數據包,文檔伺服器產生VoiceXML文檔並送危主探辨給VoiceXML解釋程式。解釋程式對文檔中的標識進行分離,產生相應的數據或動作命令,引導和控制用戶與執行平台之間的互動作用。同時,VoiceXML解釋程式環境和解釋程式一起監控用戶的輸入。比如,一個解釋程式環境可能監聽用戶的操作幫助請求;另一個環境可能監聽用戶請求才凳雄更改音量或文本語音輸出的某些特性。執行平台是由解釋程式環境和解釋程式控制的,例如,在一個互動式的語音應答套用中, VoiceXML解釋程式環境能可靠地監測到呼叫,獲得初始的VoiceXML文檔,並且回答這一呼叫,在回答之後VoiceXML解釋程式引導這一對話。執行平台產生事件回響用戶的動作(說話或者字元輸入)和系統事件(例如計時器溢出)。這些事件中的一部分依照相應的VoiceXML文檔按照VoiceXML解釋程式的解釋加以執行,其他的被VoiceXML解釋程式環境控制。執行平台提供字元和語音的輸入和音頻輸出,包括合成語音的輸出(TTS,text to speech)、音頻檔案的播放、話音輸入的識別(ASR ,automated speech recognition)、DTMF按鍵的識別、語音輸入的錄音等。 2.2 術語VoiceXML中的基本術語[2]主要有: 會話和子會話(Dialogs and Subdialogs):會話用於描述應用程式對用戶所說的各種提示,定義和收集用戶做出的回響,並描述應用程式控制的流程。用戶和套用系統用會話輪流進行互動。有兩種類型的會話:表格和選單。表格負責執行會話定義中描述的所有操作,用於封裝用戶的輸入和輸出相關的命令。在表格中,可以包含一些域,可以從表格中得到這些域的值。而每個域可以規定允許用戶輸入的語法定義。選單允許用戶進行選擇,而進入到所選的對話中。一個子會話類似一個函式調用,它引起一個新的互動作用並且返回給上一層的表單。例如,子會話可以用於創建一個在資料庫查詢時需要的確認序列;創建在單一請求中的多個文檔共享的一批組件;或創建一個在多個請求中共享的可重用的會話庫。 會話(session):會話期從用戶與VoiceXML解釋程式語境互動開始,持續進行文檔的裝載和處理,直到由用戶、文檔或解釋程式環境發出終止請求才結束。 請求:一個請求就是一組共享同一個請求根文檔的文檔。在一個請求中,無論何時用戶與文檔互動,請求根文檔總是被載入。請求根文檔被載入後,它的變數作為請求變數被其它文檔使用,而且它的文法在請求的持續時間一直起作用。當用戶在同一個請求中的不同文檔間轉換時,請求根文檔總是被載入,只有用戶轉換到別的請求中的文檔時,請求根文檔才被卸載。 文法(grammar):每一個會話有一個或多個語音和(或)DTMF文法。在定向對話套用中,一個會話的文法只有在使用者與此會話互動時才起作用。在混合主動式對話中,計算機和用戶交替控制下一步的操作,一些會話被標記以使它們的文法(如偵聽呼叫)即使當用戶在同一文檔的其它會話時也起作用。在這種情況下,如果用戶進行的操作與另一個會話的有效文法匹配,執行就會轉移到另一個會話。 事件(Event):VoiceXML提供一種表單填充機制以處理"正常"的用戶輸入。另外,VoiceXML也定義了處理異常事件的機制。如用戶在一定時間內沒有作出應答,請求系統幫助等情況下平台會產生事件。如果解釋程式在VoiceXML文檔中發現語義性錯誤也會產生事件。 連結(Links):連結支持混合主動式對話,當用戶在連結的作用範圍時它指定的文法就起作用。如果用戶的輸入與連結的文法匹配,控制就轉移到連結的目的URI。<link>可以用來產生一個事件跳轉到目的URI。 套用(Applications): 一個套用是由許多有共同套用根的文檔組成。套用根在其中一個文檔激活時就被裝入,同時,在同一個套用的不同文檔之間跳轉時,根文檔仍然駐留在記憶體,只有當用戶在不同的套用之間跳轉時,才會被棄。套用根文檔的變數和語法定義都可以被其中的文檔訪問。3 基於VoiceXML的語音與數據集成3.1 總體結構模型一個VoiceXML套用模型,如圖2所示。主要由以下幾個部分組成:VoiceXML網關,WEB伺服器,資料庫伺服器。各部分的功能介紹如下。 圖2 VoiceXML套用模型3.2 文檔結構及其執行過程VoiceXML以套用、會話期、文檔為單位建立套用結構,以會話為互動單位,逐個完成對話確定流程導向。<vxml>可以看作一個包含會話的容器,所有的VoiceXML文檔都是由一系列會話構成的。一組VoiceXML文檔之間可以互相跳轉,並且構成一個會話的有限狀態機。用戶總是處於某一會話中,每一個會話決定要轉移到的下一個會話。轉移由URIs指定,URIs定義下一個要使用的文檔和會話。根文檔是一個VoiceXML程式的開始,其中可以包括form、script、var、grammars等元素。VoiceXML程式總是從元素form開始執行,當程式需要跳轉時,也是從一個form跳轉到另一個form。一般採用多文檔的套用結構,在一個套用中有一個根文檔,其他文檔中用<vxml>來引用。一個套用的例子,如下:Application root document (app-root.vxml)<?xml version="1.0"?><vxml version="2.0"> <var name="test" expr="'Man'"/> <link next="operator_xfer.vxml"> <grammar> <rule id="root" scope="public">operator</rule> </grammar> </link></vxml>Leaf document (leaf.vxml)<?xml version="1.0"?><vxml version="2.0" application="app-root.vxml"> <form id="say_hello"> <field name="answer" type="boolean"> <prompt>Shall we say <value expr="application.test"/>?</prompt> <filled> <if cond="answer"> <exit/> </if> <clear namelist="answer"/> </filled> </field> </form></vxml>一個VoiceXML的套用是一系列VoiceXML文檔的集合。而且每一個套用都包含一個“根文檔”,這有點像一個動態網站的default.asp或是index.asp。在VoiceXML套用調用的時候,“根文檔”始終被調用。 3.3 VoiceXML網關3.3.1 語音識別語音識別使計算機能理解用戶的語音命令,產生相應的文字結果,送回VoiceXML解析程式做處理。在VoiceXML網關中,語音識別引擎為命令式的識別引擎,其根據有限的文法)來識別用戶的語音信號,並產生對應語法定義的識別結果。在VoiceXML語音瀏覽器中,文法決定了用戶能說什麼以及如何說。好的語法能帶給用戶良好的互動感覺,也能從邏輯上提高語音識別引擎的識別率。VoiceXML網關中,語音識別不僅需要處理對用戶語音信號的識別,同時也需要處理對用戶按鍵的識別,按鍵和語音以同樣的機制被處理和傳遞。一個典型的語音識別流程[3]如圖3所示。 圖3 典型的語音識別流程可以針對軟體結構做一些調整[4],進行數據壓縮傳輸。如圖4是一個基於client/server方式的改進方法。 圖4 基於client/server方式得語音識別

相關詞條

熱門詞條

聯絡我們