專利名稱:通過標記共享話音應用處理的制作方法
技術領域:
本發(fā)明涉及在客戶端-服務器環(huán)境中處理話音應用。 背景纟支術
近些年來,如因特網的廣泛使用所表明的,電子信息和服務得到了極 大發(fā)展。通常,用戶例如通過使用鍵盤或觸摸屏#^信息來與系統(tǒng)進行交 互并在視頻顯示器上查看結果。然而,提供了越來越多的允許用戶口頭輸 入信息的M系統(tǒng)。系統(tǒng)輸出被以可聽的方式提供給用戶。這種^S舌系統(tǒng) 允許用戶輕松地在移動中獲取信息和服務,解放了用戶的雙手以用于其他 任務。
會話系統(tǒng)需要語音識別來理解用戶以及需要語音合成來以類似人的話 音朗讀信息。通常,這種系統(tǒng)在電話基礎設施中執(zhí)行,其中客戶端設備是 例如手機的電話設備。最初,這種^^系統(tǒng)與啞客戶端設備一起工作,因 此所有的語音處理(識別與合成)都在與啞客戶端通信的服務器中完成。 然而,手持客戶端的處理能力的提高使得在客戶端側的語音處理(識別與 合成兩者)成為可能。
在一些會話系統(tǒng)中,語音識別的一部分在客戶端設備上處理。術語"分 布式語音識別"用于指允許應用將在客戶端設備上的本地語音處理與到基 于網絡的語音服務的遠程訪問相結合的系統(tǒng)。例如,諸如降噪之類的信號 處理可在客戶端設備上執(zhí)行,然后客戶端設備將處理后的數據發(fā)送到基于 網絡的語音服務。反過來,該語音服務處理所接收的信號以確定用戶的請 求并4吏用話音輸出來響應用戶。
另 一種使用客戶端的處理能力的已知技術是嵌入式連接文本語音轉換
(eCTTS),其中語音合成的一部分在客戶端完成。將語音段保持為可被
重建回語音的壓縮特征向量。
在另一種已知方法中,^"系統(tǒng)可完全駐留在客戶端,并且整個語音 識別過程都在本地完成。由于客戶端通常具有有限的處理能力,因此只有 很小的M系統(tǒng)才在這種設備上執(zhí)行。
盡管存在現有的技術,但是仍需要用于處理話音應用的更有效和通用 的系統(tǒng)。
發(fā)明內容
在此描述了 一種靈活的機制,其中根據客戶端的計算能力在客戶端與 服務器之間共享與對話有關的計算。這種分布優(yōu)選地在標記級別執(zhí)行并且 這種方法使得客戶端設備能夠執(zhí)行腳本。
根據本發(fā)明的第一方面,提供了 一種在客戶端-服務器計算系統(tǒng)中的服 務器上處理話音應用的方法。接收指示所述客戶端的計算能力的數據。根
據所述接收的數據選擇一組指令,所述一組指令指定了要由所i^戶端在 用戶與所述計算系統(tǒng)之間的基于話音的對話中執(zhí)^f亍的任務。將所述一組指 令提供給所述客戶端以便執(zhí)行。
根據本發(fā)明的另一方面,提供了一種在客戶端-服務器計算系統(tǒng)中的客 戶端i殳備上處理話音應用的方法。接收來自所iii良務器的腳本,4艮據指示 所ii^戶端設備的計算能力的數據來選擇所述腳本。分析所逸卿本以確定 一組將由所述客戶端設備在用戶與所述客戶端-服務器計算系統(tǒng)之間的基 于話音的對話中執(zhí)行的指令。在所述客戶端設備上執(zhí)行所述指令。
根據本發(fā)明的另 一方面,提供了 一種用于在客戶端-服務器計算系統(tǒng)中 處理話音應用的服務器。所述服務器首先包括用于接收指示所述客戶端的 計算能力的數據的裝置。所述服務器還具有用于根據所述接收的數據選擇 一組指令的裝置,所述一組指令指定了要由所述客戶端在用戶與所述計算 系統(tǒng)之間的基于話音的對話中執(zhí)行的任務。所述服務器還具有用于將所述 一組指令提供給所述客戶端以便執(zhí)行的裝置。
根據本發(fā)明的另 一方面,提供了 一種用于在客戶端-服務器計算系統(tǒng)中
處理話音應用的客戶端設備。所i^戶端設備包括用于接收來自所述Ji良務 器的腳本的裝置,根據指示所^戶端設備的計算能力的數據來選擇所述
腳本。還具有用于分析所述腳本以確定一組將由所id^戶端設備在用戶與 所述客戶端-服務器計算系統(tǒng)之間的基于話音的對話中執(zhí)行的指令的裝置, 以及用于在所述客戶端設備上執(zhí)行所述指令的裝置。
根據本發(fā)明的另一方面,提供了一種計算機程序產品,包括記錄在機 器可讀記錄介質上的用于控制服務器的操作的機器可讀程序代碼,所述程 序代碼在所述服務器上執(zhí)行以便執(zhí)行在客戶端-服務器計算系統(tǒng)中處理話 音應用的方法。所述方法包括上面描述的步驟。
根據本發(fā)明的另一方面,提供了一種計算枳4呈序產品,包括記錄在機 器可讀記錄介質上的用于控制客戶端設備的操作的機器可讀程序代碼,所 述程序代碼在所述客戶端設備上執(zhí)行以便執(zhí)行在客戶端-服務器計算系統(tǒng) 中處理話音應用的方法。所述方法包括上面描述的步驟。
才艮據本發(fā)明的另一方面,提供了一種用于處理話音應用的系統(tǒng),所述 系統(tǒng)包括客戶端設備,其具有指示所ii^戶端設備的計算能力的相關數 據。所述系統(tǒng)還包括數據存儲裝置,其存儲了多個腳本,所述腳本指定 了要在用戶與所述系統(tǒng)之間的基于話音的對話中執(zhí)行的任務。所述系統(tǒng)還 包括服務器,其根據所^目關數據選擇用于所^戶端設備的適當腳本。
的第一組指令和將在所述服務器上執(zhí)行的笫二組指令。同步層同步所述第 一和第二組指令的執(zhí)行。
以下參考
了本發(fā)明的一個或多個實施例,其中 圖1是根據優(yōu)選實施例的適于執(zhí)行這里描述的技術的客戶端-服務器配 置的示意圖2是根據本發(fā)明的一個優(yōu)選實施例的用于在客戶端和服務器之間靈 活地分布計算的方法的流程圖;圖3是根據本發(fā)明的一個優(yōu)選實施例的適于在圖1的配置中使用的計 算設備的示意圖;以及
圖4是根據本發(fā)明的一個優(yōu)選實施例的在客戶端與服務器之間提供同 步的通信層的示意圖。
具體實施例方式
這里描述的技術提供了一種在客戶端和服務器之間共享對話處理的靈 活機制。允許在客戶端處執(zhí)行腳本。在描述的配置中,服務器可訪問腳本 的各個版本,每一個版本都針對相應的設備簡檔進行定制。
圖1顯示了具有客戶端設備10和服務器20的系統(tǒng)1。如圖所示,客 戶端設備10是移動電話。然而客戶端10可以是任何具有計算資源的可發(fā) 聲設備。例如,客戶端設備IO可以是個人數字助理(PDA)或通用計算機, 該計算機具有麥克風和一個或多個揚聲器以使其能夠檢測口語輸入并提供 可聽的輸出。該客戶端設備具有足夠的處理能力來運行嵌入式語音識別引 擎。
客戶端設備10例如經由蜂窩電話網絡發(fā)射信息12到服務器20,并從 服務器20接收信息14。將在下面參考圖3描述服務器20和客戶端設備10 的硬件結構。
服務器20包括語音服務器24和話音瀏覽器22。語音服務器24執(zhí)行 自動語音識別(ASR)以將從客戶端設備10的用戶接收的請求轉換成更適 于進一步處理的格式。從客戶端設備10接收的數據可包括語音,也可包括 音頻輸入,比如雙音多頻(DTMF)鍵控輸入。
語音服務器24還利用文本到語音轉換(TTS )能力將信息轉換成音頻。 該音頻與數據14 一同發(fā)送回客戶端設備10。
話音瀏覽器22接收輸入數據12和輸出數據14。在使用類似于圖1中 所見的架構的現有技術系統(tǒng)中,話音瀏覽器22僅僅是客戶端設備10和語 音服務器24之間的通道。然而,在當前描述的配置中,話音瀏覽器22指 定了要在客戶端設備10上執(zhí)行的對話和/或語音處理。通過根據客戶端設
備10的能力來自適應地共享處理,系統(tǒng)1通過減少服務器的往返操作而提
高了效率
服務器20可使用超文本傳輸協(xié)議(HTTP)工具26來訪問信息和服 務。如圖所示,該信息和服務源自數據存儲裝置30。然而,實際上使用系 統(tǒng)1可訪問的信息和服務的來源很多。HTTP工具26和數據存儲裝置30 之間的通信鏈路28例如可以是因特網或局域網。鏈路28可以只是點到點 連接。
M戶端設備10發(fā)送到話音瀏覽器22的數據12包括語音、文本和定 義客戶端設備10的簡檔的參數。話音瀏覽器22選擇指定了要在客戶端設 備10上完成何種處理的腳本(稱為"話音腳本")。因此,客戶端設備 10的能力和話音腳本確定了服務器20和客戶端設備10之間的處理的劃 分。在確定哪些對話在客戶端10上本地處理以及語音處理的哪個部分在客 戶端IO (而不"艮務器20)上發(fā)生方面,使用話音腳本可以提供靈活性。
從話音瀏覽器22發(fā)送到客戶端設備10的數據14包括話音腳本和語 音??蛻舳嗽O備10執(zhí)行該話音腳本。語音服務器24并不受服務器20和客 戶端設備10之間的處理任務的分配的影響。
在一種配置中,^使用話音可擴展標記語言(VoiceXML)編寫話音腳 本。VoiceXML是基于XML的腳本編寫語言,并且VoiceXML正作為用 于激活語音的交互應用的標準而獲得認同。VoiceXML為編寫基于音頻對 話的話音應用提供了與平臺無關的語言。存在兩種主要類型的對話。窗體 呈現信息和收集輸入,而菜單呈現一組選擇。
圖2是在客戶端10和服務器20之間靈活共享處理的方法的流程圖。 在步驟202,客戶端10與服務器20進行通信以提供定義客戶端設備10的 能力的參數。可在呼叫建立時通知服務器20客戶端的能力,或者,服務器 20已經被通知了客戶端的能力。例如,可以將信息與電話號碼關聯,以通 知服務器20該電話號碼由具有特定能力的客戶端設備所使用。
描M戶端能力的參數包括可用存儲器量、處理能力和電池電力。也 可使用其他參數,包括確定特定硬件或軟件資源(如程序或協(xié)議)在客戶
端上可用的數據。
在步驟204,服務器使用所述參數來確定客戶端設備10的簡檔。在步 驟206,服務器20選擇合適的話音腳本并將所選擇的腳本發(fā)送給客戶端設 備IO。服務器可訪問多個話音腳本,每一個腳本都針對特定的設備簡檔進 行定制。所述話音腳本指定了要在客戶端10處完成的對話和/或語音處 理,并且還指定了哪些部分可在服務器20處執(zhí)行。語音識別引擎已安裝在 客戶端設備10上,并且所述腳本定義了處理步驟,為了執(zhí)行所述處理步驟, 將使用語音識別引擎。
客戶端設備10分析所述話音腳本(步驟208 ),并且在步驟210,客
戶端設備10全部或部分地執(zhí)行該話音腳本。客戶端設備10解釋該腳本以
確定需要完成何種任務以及以怎樣的順序完成任務。然后客戶端設備10 執(zhí)行如腳本要求的指定的語音識別與合成任務。例如,話音腳本可指定客
戶端設備需要合成一段提示并對用戶播放該提示??蛻舳嗽O備調用語音合 成引擎以合成提示。然后,客戶端設備接收用戶的口頭響應并使用語音識 別系統(tǒng)處理該響應。在腳本中提供了來自用戶的期望響應的語法。語音識 別系統(tǒng)的輸出被用來確定將執(zhí)行的下一個步驟,如在話音腳本中指定的那樣。
由于運行時的約束,客戶端設備10可能無法支持話音腳本所指定的計 算??蛻舳嗽O備10然后可以選擇表現為啞客戶端。在這種情況下,客戶端
-服務器交換將支持所需的多種交互。
在一種配置中,話音腳本包括用于對話和語音的JavascriptTM。發(fā)送 到客戶端設備10的話音腳本將告知可以在客戶端設備上完成何種操作。該 話音腳本包括設^t感的結構,因此通過分析腳本,客戶端可以確定可在 客戶端上完成何種處理。話音腳本包括對話處理所需的語法結構以及語音 處理所需的語音結構。話音腳本的結構還包括"可選形態(tài)",用于在分類 為"必須具有"或"可以具有"的文本之間進行區(qū)別,以及用于標識分類 為"必須具有"的語音。(Java和所有基于Java的商標和標志都是Sun Microsystems, Inc.在美國和/或其他國家/地區(qū)的商標。)
話音服務器的語言是VXML的擴展,其支持在服務器20和客戶端設 備10之間分配處理的特性。該語言包含未在VXML中定義的標記標簽, 所述標簽被分析器用來從擴展后的VXML生成VXML服務器和VXML 客戶端。下面描述了一些附加標簽。
如果要處理一個較大的數據塊,則使用此標簽。擴展后的語言提供了
這樣的特性其將數據塊分割為兩個部分,然后分別在客戶端和服務器上 處理這兩個部分,而不是在服務器20或客戶端10上處理較大的數據塊。 這里,splitblock-,,25,,表示該數據塊的前25個字符將在客戶端設備10上 處理,而剩下的字符將在服務器20上處理。
如果存在必需由客戶端設備io提示的問題,則可根據客戶端的簡檔合
并這些問題。客戶端設備10的簡檔包括與可用存儲器量和客戶端10上的
用戶是否處于匆忙之中有關的信息。如果用戶處于匆忙之中,則這些問題 可被合并以及可由客戶端或服務器按照規(guī)定詢問。也可存在其他合并準則。
3,《split soui:c:e;"Clierit or Server" d^stinaition;"clientw>
如果存在任何服務器20或客戶端10在n次嘗試中未識別的問題,則 可以將該問題分割為不同的提示??蛻舳嗽O備10或服務器20可以如目的 地指定的那樣詢問這些問題。也可存在其他分割準則。問題的基礎語法(嵌 套的或順序的)將在確定分割的過程中起作用。
在嵌套語法的情況下,通常需要將最后一個答案(而不是所有答案) 返回服務器以便分割提示。
嵌套語法的例子
a. 哪個國家?
b. 哪個城市?
c. 哪個機場?
如果必須進一步提交答案,則只有最后一個答案是所關心的,因為目 的是確定哪個機場。由于存儲器的限制,將整個問題分成三個較小的語法。在順序語法的情況中,用戶不僅僅是關心最后一個問題的答案,而且 關心對整個問題的每個部分的答案。在某種分割之后,必須連接與每個子 部分相關的答案并且將其存儲在末尾,以產生與服務器本身識別整個語法 等同的效果。
順序語法的例子
a. 名字是什么?
b. 姓氏是什么?
c. 位置在何處?
在此情況中我們關心完整的答案,因為合并后的問題是"您想要誰的 電話號碼以及位置在何處?",其答案可能是(Nitendra Rajput在辦公室)。
與分割和合并相關的不同可能性
1) 在服務器20處識別整個問題并且無需分割與該問題相關的整體大 型語法(Big Grammar)。
2) 將問題劃分成若干較小的部分并且在客戶端一側完成語音識別。 每次都將與提示相關的語法傳送給客戶端設備10。在嵌套語法的情況中, 語法依賴于用戶給出的答案,但是在順序語法的情況中,傳送的語法可獨 立于答案或可依賴于用戶之前給出的答案(例如,布爾答案)。
3 )另 一種可能是在若干較小的部分之中,在服務器20處標識一些部 分并且在客戶端設備10處標識其他部分。在這種配置中,與將在客戶端 10處標識的問題相關的語法被傳送給客戶端。
4)在傳送語法中存在一個潛在問題。即使客戶端10不需要返回任何 內容給服務器20,客戶端也還是要回到服務器以使得服務器能夠根據之前 的答案傳送合適的語法。這將增大客戶端10的響應時間。所以,如果客戶 端具有足夠的存儲器來處理所有語法,則應將所有語法傳送給客戶端,以 防止客戶端還需要回到服務器以使得傳送合適的語法。
例子
a.哪個國家?b.哪個城市?
在這種情況中,第二個問題依賴于第一個問題。所以我們在客戶端IO 處保留所有國家的所有城市的語法(如果該客戶端的能力允許的話),而 不是基于前一個問題的答案傳送用于第二個問題的合適語法。
5) 在理想條件下,服務器20的存儲器M夠大的,所以可在服務器 20上合并任何數目的問題。然而,在客戶端設備10處,將考慮客戶端IO 的存儲器限制來完成語法合并。可以存在多種提示合并組合。這意味著如 果將多個問題發(fā)送到客戶端10以便合并,則可能并不是所有問題都在客戶 端處合并。
例子
a. 您的名字?
b. 您的地址?
c. 您父親的名字?
將發(fā)送這三個問題以在客戶端10處進行合并。然而,考慮到客戶端 10的存儲器限制,也許只有第一個和最后一個問題^皮合并。
6) 無需在客戶端10的存儲器限制的基礎上完成分割/合并。其他可 能的考慮包括"無匹配,,數的計數,或"無輸入"數的計數。如果用戶處 于匆忙之中,則可以執(zhí)行合并,而如果用戶不能處理大型問題而僅愿意回 M小的問題,則可以執(zhí)行分割??稍谟脩籼峁┑男畔⒌幕A上執(zhí)行分割。 例如,如果用戶通過相應提示提供了比所需信息更多的信息,則可以執(zhí)行 分割。
例子
a. 您的名字?
b. 您的姓氏和出生日期?
如果用戶對第一個問題的回答是"Neeraj Chaudhary",則第二個問 題可被分割成兩個部分,并且僅詢問問題"您的出生日期?"。
附錄A包括一個以擴展XVML語言編寫的樣例程序。如示出的,可 以分析該樣例程序并將其劃分成兩個部分,這兩個部分可以分別在力良務器20和客戶端設備10上運行。
圖4示出了用于同步在客戶端10和服務器20上執(zhí)行的處理的通信層。 話音腳本(即VXMLext文件)401在VXMLext解釋器層被處理,該層包 括分解器403和解釋器的一組功能特定的模塊405。解釋器層是客戶端10 和服務器20所執(zhí)行的分析的一部分。在一種配置中,解釋器層是話音瀏覽 器的一部分,該話音瀏覽器同時駐留在客戶端和服務器上,即客戶端話音 瀏覽器和服務器話音瀏覽器22。
將功能特定的模塊405的輸出提供給運行在服務器20上的服務器引擎 407和運行在客戶端10上的客戶端引擎409。引擎407、 409又與同步客戶 端-服務器交互的同步器411進行通信。同步器411與運行在服務器20上 的瀏覽器代碼413和運行在客戶端410上的瀏覽器代碼415進行交互。同 步器411和瀏覽器代碼413、 415共同構成了通信層。
當'目的地,中指定了多個值(以'/,分隔)時,第一個值是首選 目的地。如果標簽無法在第一目的地中執(zhí)行,則在下一個指定位置完成執(zhí) 行。作為這些基本值的組合的值在執(zhí)行順序中具有以下含義
*客戶端/服務器在客戶端上執(zhí)行。如果執(zhí)行未成功,則在服務器 上執(zhí)行。
*客戶端/部分的/服務器在客戶端上執(zhí)行。如果執(zhí)行未成功,則 在客戶端上完成部分執(zhí)行并在服務器上完成其余執(zhí)行。如果此操作也不成 功,則在服務器上執(zhí)行。
*客戶端/分割在客戶端上執(zhí)行。如果未成功,則將對話分割成多 個子對話,然后在客戶端上執(zhí)行。
*客戶端/分割/服務器在客戶端上執(zhí)行。如果未成功,則將對話 分割成多個子對話并在客戶端上執(zhí)行。如果此操作也不成功,則在服務器 上執(zhí)4于該對話。
*客戶端/服務器/分割在客戶端上執(zhí)行。如果未成功,則在服務
器上執(zhí)行。如果此操作也不成功,則將對話分割成多個子對話并在客戶端 上執(zhí)行。如果同樣失敗,則在服務器上執(zhí)行多個子對話。
*月l務器/客戶端該值是有效的,但是只對〈merge〉和〈blocl^標簽 有意義。當與〈merge〉一起使用時,合并后的對話將在服務器上執(zhí)行,并 且如果未成功,則該對話被分割,然后在客戶端上執(zhí)行。
現在將針對目的地值為'客戶端/分割/服務器,的情況對同步層進 行描述。
當處理在客戶端IO上發(fā)生時,服務器20處于等待模式。如果處理成 功,則客戶端10編寫'成功,消息并將已識別的字符串寫入要發(fā)送給月良務 器20的文件。然后客戶端10移動到下一個對話,該對話如在VXMLext (話音腳本)401中指定的那樣將在客戶端10或服務器20上發(fā)生。
如果在客戶端10的處理未成功,則該客戶端通過使用運行在其上的適 當模塊405再次分割呼叫流而繼續(xù)。服務器20仍處在等待狀態(tài)。如果在客 戶端的所有步驟均未成功,則最后將'未成功,消息發(fā)送給服務器20并且 將所識別的字符串設置為空字符串。然后,處理在服務器20上繼續(xù)進行, 與客戶端10相比,服務器20具有更好的識別準確性和更好的處理能力。
如果第一次嘗試失敗,則服務器20將分割問題。在這種情況下,即使 服務器20處的識別嘗試失敗,客戶端10也必須知道服務器的當前狀態(tài)。 這是因為即使識別發(fā)生在服務器20上,客戶端IO也具有錄制語音、發(fā)送 該語音到服務器20、然后接收并播放合成語音的任務。
當所有處理都在客戶端10上發(fā)生時,服務器20沒有任何任務并可保 持休眠,直到已在客戶端IO上嘗試了標簽"目的地"所允許的所有情況。
由于通信層傳送已識別的字符串,所以對于連接的、順序的和嵌套的 呼叫流,策略是變化的。
a)應記住的是,在連接問題的情況下,應在連接之后提交所有答案。
例子-您的名字?
需要連接下面三個部分
1.您的名?2. 您的中間名?
3. 您的姓?
b) 在嵌套呼叫流的情況下,僅需提交最后一個問題的答案。 例子-我們只關心機場,但是將詢問下面的嵌套問題-哪個國家?
哪個城市? 哪個機場?
c) 在連續(xù)呼叫流的情況下,需要提交最后一個問題的答案 例子-我們只關心座位號
1. 告訴我在1到20、 21到40、 41到60、 61到80之間的座位號;
2. 告訴我您的座位號。
隨后的用來同步客戶端10和服務器20的方法對于其他目的地值(服 務器/客戶端,服務器/客戶端/分割,客戶端/服務器等)是類似的, 但是其中事件發(fā)生的順序將隨目的地值而變化。
圖3是一類適于執(zhí)行用于在客戶端和服務器之間共享話音應用處理的 計算機軟件的計算機系統(tǒng)300的示意圖。計算機軟件在安裝在計算機系統(tǒng) 300上的合適的操作系統(tǒng)下執(zhí)行,并且可被視為包括用于完成特定步驟的 各種軟件代碼裝置。計算機系統(tǒng)300可被用作服務器20。通過下面描述的 修改,計算機系統(tǒng)300的結構也可用在客戶端設備10中。
計算機系統(tǒng)300的組件包括計算機320、鍵盤310和鼠標315以及顯 示器3卯。計算機320包括處理器340、存儲器350、輸入/輸出(1/0)接 口 360、 365、 ^L頻接口 345和存^i殳備355。
處理器340是執(zhí)行操作系統(tǒng)和在操作系統(tǒng)下執(zhí)行的計算機軟件的中央 處理單元(CPU)。存儲器350可包括隨M取存儲器(RAM)和只讀存
儲器(ROM),并在處理器340的控制下使用。
視頻接口 345連接到顯示器3卯并提供在顯示器390上顯示的信號。 從例如鍵盤310和鼠標315提供用于操作計算機320的用戶輸入。也可以 使用例如麥克風的其他類型的輸入。也可以使用一個或多個揚聲器(未示 出)以可聽的方式輸出信號。存^i殳備355可包括盤驅動器或任何其他合 適的存儲介質。
計算機320的每個組件都連接到包括數據、地址和控制總線的內部總 線330以允許計算機320的組件經由總線330互相通信。
計算機系統(tǒng)300可使用到網絡(在圖3中表示為因特網380)的通信 信道385經由輸^/輸出(I/O)接口 365連接到一個或多個類似的計算才幾。
可以將計算機軟件記錄在便攜存儲介質上,在這種情況下,計算機系
統(tǒng)300從存儲設備355訪問計算機軟件程序。備選地,計算機320可直接 從因特網380訪問計算機軟件。在這兩種情況中,用戶都可以例如使用鍵 盤310和鼠標315操作在計算機320上執(zhí)行的編程的計算機軟件來與計算 才幾系統(tǒng)300交互。
可同樣適當地使用其他配置或類型的計算機系統(tǒng)來執(zhí)行協(xié)助實施在此 描述的技術的計算機軟件。此外,在實施所描述的技術中,可以使用諸如 數字信號處理器之類的定制器件和專用硬件。
手持客戶端設備IO可具有與圖3中顯示的相類似的計算結構。顯示器 3卯和小鍵盤被集成在通常不具有鼠標315的客戶端設備10中??蛻舳嗽O 備IO中的I/0接口 365是用于經由蜂窩網絡發(fā)送和接收信號的^機,并 且客戶端設備10還包括麥克風和揚聲器以處理可聽的輸入和輸出。
潛論
可對在此描述的技術和配置做出各種改變和修改,這對相關領域的技 術人員來說是顯而易見的。
附錄A
VXML擴展樣例程序
<formula>formula see original document page 20</formula>
此文件是提供給分析器的,將生成以下的‘VXML服務器’和‘VXML客戶端’,文件并使得它們分別在服務器和客戶端上運行。
生成的VXML服務器<formula>formula see original document page 21</formula>
——""幕ww,w抓,w^"總efj5r^
spj it:ti考,'—*^---------------------------------------1—1
<field J7細& "一
<gr,3i TOr grammar desti"5t:ip72 Sefpne spJifctii^r*/>
-----^----^-------一——一—
,。羊>","".禍剛,,,</_p2,j>t> 《9'r3j if ^r src欲,."V》
<grn^iar #/》
《prcy^psx"^,,,柳閱,,,<r/proip&> 《7r3,sr ■src23"-......
標簽庫
1. 合并
屬性 源
目的地
2. 分割
屬性 源
目的地3. 塊
新屬性
處理
分割塊
4. 字段 新屬性 執(zhí)行
5. 轉到合并
7. 轉到分割
8. Vxmlext
插入此標簽以將所述語言與正常的Vxml語言進行區(qū)分,因為它具有 各種其他特性。
還添加了用于合并和分割多個提示的特定標簽(語法 <p(promptmimberafter p)>)
權利要求
1.一種在客戶端-服務器計算系統(tǒng)中靈活地處理話音應用的方法,所述方法包括以下在所述服務器上的步驟接收指示所述客戶端的計算能力的數據;根據所述接收的數據選擇一組指令,所述一組指令指定了要由所述客戶端在用戶與所述計算系統(tǒng)之間的基于話音的對話中執(zhí)行的任務;以及將所述一組指令提供給所述客戶端以便執(zhí)行。
2. 如權利要求l所述的方法,還包括以下步驟如果一個或多個所述任務未成功地在所述客戶端上執(zhí)行,則在所述服 務器上執(zhí)行所述一個或多個任務。
3. 如權利要求1或2所述的方法,其中所述接收步驟包括以下子步驟 標識所i^戶端;以及檢索所述標識的客戶端的所述計算能力的預定簡檔。
4. 如權利要求1或2所述的方法,其中所述接收步驟在所述基于話音 的對話的運行時間接收所述數據。
5. 如任一上述權利要求所述的方法,其中所述數據包括以下項中的至 少一項所^Jl戶端上可用的存儲器的度量;所^戶端的電池電力;所^戶端的處理能力;以及標識所g戶端上可用的一個或多個資源的信息。
6. —種在客戶端-服務器計算系統(tǒng)中靈活地處理話音應用的方法,所 述方法包括以下在客戶端設備上的步驟接收來自所述服務器的腳本,根據指示所i^戶端設備的計算能力的 數據來選擇所^本;分析所述腳本以確定一組將由所述客戶端設備在用戶與所述客戶端-服務器計算系統(tǒng)之間的基于話音的對話中執(zhí)行的指令;以及 在所ii^戶端設備上執(zhí)行所述指令。
7. 如權利要求6所述的方法,還包括以下步驟 將指示計算能力的所述數據從所M戶端設備發(fā)送到所述服務器。
8. 如權利要求6或7所述的方法,還包括以下步驟 通知所述服務器至少一個所述指令未成功地在所述客戶端設備上執(zhí)行'
9. 如權利要求6、 7或8所述的方法,其中所述對話包括要播放給所 述用戶的提示以及對所述提示的期望響應的相應語法,所述方法進一步包 括以下步驟根據所id^戶端設備的計算能力,將至少一個所述提示和相應語法分 割成多個提示和相應語法。
10. 如權利要求9所述的方法,其中所述腳本包括一個或多個目的地 參數,所述參數指定了是在所述服務器上還是在所述客戶端設備上執(zhí)行所 述多個提示和語法。
11. 如權利要求6至8中的任一權利要求所述的方法,其中所述對話 包括將插_;故給所述用戶的提示和期望響應的相應語法,并且其中根據所述 客戶端設備的計算能力,將多個所述提示和相應語法合并成一個提示和相 應語法。
12. —種用于在客戶端-服務器計算系統(tǒng)中處理話音應用的服務器,所 述服務器包括用于接收指示所^戶端的計算能力的數據的裝置;用于根據所述接收的數據選擇一組指令的裝置,所述一組指令指定了務;以及用于將所述一組指令提供給所述客戶端以便執(zhí)行的裝置。
13. 如權利要求12所述的服務器,包括用于在一個或多個所述任務未成功地在所^J1戶端上執(zhí)行的情況下, 在所述^^務器上執(zhí)行所述一個或多個任務的裝置。
14. 如權利要求12或13所述的服務器,其中所述接收裝置包括 用于標識所述客戶端的裝置;以及用于檢索所述標識的客戶端的所述計算能力的預定簡檔的裝置。
15. 如權利要求12或13所述的服務器,其中所述接收裝置可操作以 在所述基于話音的對話的運行時間接收所述數據。
16. 如權利要求12至15中的任一權利要求所述的服務器,其中所述 數據包括以下項中的至少一項所述客戶端上可用的存儲器的度量;所ii^戶端的電池電力;所^Ji戶端的處理能力;以及標識所ii^戶端上可用的一個或多個資源的信息。
17. —種用于在客戶端-服務器計算系統(tǒng)中處理話音應用的客戶端設 備,所述客戶端設備包括用于接收來自所述服務器的腳本的裝置,根據指示所述客戶端設備的 計算能力的數據來選擇所述腳本;用于分析所i^本以確定一組將由所ii^戶端設備在用戶與所ii^戶 端-服務器計算系統(tǒng)之間的基于話音的對話中執(zhí)行的指令的裝置;以及用于在所^Jl戶端設備上執(zhí)行所述指令的裝置。
18. 如權利要求17所述的客戶端設備,還包括用于將指示計算能力的所述數據從所ii^戶端設備發(fā)送到所述服務器 的裝置。
19. 如權利要求17或18所述的客戶端設備,還包括用于通知所述服務器至少一個所述指令未成功地在所述客戶端i殳備上 執(zhí)行的裝置。
20. 如權利要求17、 18或19所述的客戶端設備,其中所述對話包括 要播放給所述用戶的提示以及對所述提示的期望響應的相應語法,所述設 備還包括用于根據所^戶端設備的計算能力,將至少一個所述提示和相應語法分割成多個提示和相應語法的裝置。
21. 如權利要求20所述的客戶端設備,其中所述腳本包括一個或多個 目的地參數,所述參數指定了是在所述服務器上還是在所述客戶端設備上 執(zhí)行所述多個提示和語法。
22. 如權利要求17至19中的任一權利要求所述的客戶端設備,其中 所述對話包括將播放給所述用戶的提示和期望響應的相應語法,并且其中 根據所^戶端設備的計算能力,將多個所述提示和相應語法合并成一個 提示和相應語法。
23. —種計算積一呈序產品,包括記錄在機器可讀記錄介質上的用于控 制服務器的操作的機器可讀程序代碼,所述程序代碼在所述服務器上執(zhí)行 以便執(zhí)行在客戶端-服務器計算系統(tǒng)中處理話音應用的方法,所述方法包括 以下步驟接收指示所iU:戶端的計算能力的數據;根據所述接收的數據選擇一組指令,所述一組指令指定了要由所ii^戶端在用戶與所述計算系統(tǒng)之間的基于話音的對話中執(zhí)行的任務;以及將所述一組指令提供給所i^:戶端以1更執(zhí)行。
24, 一種計算機程序產品,包括記錄在機器可讀記錄介質上的用于控 制客戶端設備的操作的機器可讀程序代碼,所述程序代碼在所^戶端設 備上執(zhí)行以便執(zhí)行在客戶端-服務器計算系統(tǒng)中處理話音應用的方法,所述 方法包括以下步驟接收來自所述服務器的腳本,根據指示所ii^戶端設備的計算能力的 數據來選擇所一本;分析所述腳本以確定一組將由所述客戶端設備在用戶與所述客戶端-服務器計算系統(tǒng)之間的基于話音的對話中執(zhí)行的指令;以及在所ii^戶端設備上執(zhí)行所述指令。
25. —種用于處理話音應用的系統(tǒng),包括客戶端設備,其具有指示所^戶端設備的計算能力的相關數據; 數據存儲裝置,其存儲了多個腳本,所述腳本指定了要在用戶與所述系統(tǒng)之間的基于話音的對話中執(zhí)行的任務;服務器,其根據所勤目關數據選擇用于所述客戶端設備的適當腳本;解釋層,其處理所選擇的腳本以針對所述對話確定將在所述客戶端設 備上執(zhí)行的第一組指令和將在所述服務器上執(zhí)行的第二組指令;以及同步層,其同步所述第一和第二組指令的執(zhí)行。
26. —種包括計算機程序代碼裝置的計算機程序,當所述程序在計算 機上執(zhí)行時,所述裝置適于執(zhí)行如權利要求1至11中的任一權利要求所述 的方法。
全文摘要
一種用于處理話音應用的系統(tǒng),包括客戶端設備(10),所述客戶端設備(10)具有指示其計算能力的相關數據。所述系統(tǒng)可訪問多個腳本,所述腳本指定了將在用戶與所述系統(tǒng)之間的基于話音的對話中執(zhí)行的任務??稍跒g覽器級別解釋所述腳本。服務器(20)根據所述相關數據選擇用于客戶端設備(10)的適當腳本。解釋層處理所選擇的腳本以針對所述對話確定將在客戶端設備(10)上執(zhí)行的第一組指令和將在服務器(20)上執(zhí)行的第二組指令。從而根據客戶端的計算能力在所述客戶端設備與所述服務器之間共享計算。
文檔編號G10L15/28GK101341532SQ200680048024
公開日2009年1月7日 申請日期2006年12月13日 優(yōu)先權日2005年12月20日
發(fā)明者A·A·納納瓦蒂, N·拉伊布 申請人:國際商業(yè)機器公司