專利名稱:語音應(yīng)用程序裝備和記入的制作方法
語音應(yīng)用程序裝備和記入
背景技術(shù):
以下討論僅為了提供概括的背景信息,并非旨在用作協(xié)助確定所作權(quán)利要求 的主題的范圍。
人們在日?;顒又性絹碓蕉嗟厥褂弥T如個人數(shù)字助理(PDA)的小型計算設(shè) 備、設(shè)備和便攜式電話。隨著現(xiàn)在微處理器可用于運行這些設(shè)備的處理能力的增加, 這些設(shè)備的功能也在增加,并且在某些情況下結(jié)合。例如,現(xiàn)在許多可攜帶電話可 用于訪問和瀏覽因特網(wǎng),以及可用于存儲諸如地址、電話號碼等個人信息。
由于使用這些計算設(shè)備的頻率增加,因此需要為用戶提供簡便的界面用于將 信息輸入到計算設(shè)備中。然而,由于期望將這些設(shè)備保持盡可能小以便于攜帶它們, 將字母表的所有字母作為獨立按鍵的常規(guī)鍵盤一般是不可能的,因為計算設(shè)備外殼 上可用的有限表面區(qū)域。即使不說小型計算設(shè)備的示例,存在對于為所有類型的計 算設(shè)備提供更為便利的表面的興趣。
為了解決這個問題,對于使用聲音或語音來無論在本地計算設(shè)備上,通過局 域網(wǎng)還是通過諸如因特網(wǎng)的廣域網(wǎng)訪問信息越來越感興趣并且得到越來越多的采 用。使用語音識別,對話交互通常在用戶和計算設(shè)備之間實施。用戶一般音頻地和 /或視頻地接收信息,而音頻地響應(yīng)以提示或發(fā)出命令。然而,通常期望在開發(fā)期 間或運用應(yīng)用程序之后確定其性能。具體地,期望確定用戶對應(yīng)用程序的使用和/ 或成功率。有了這樣的信息,開發(fā)者會能夠?qū)?yīng)用程序進行"調(diào)整"(即作出調(diào)節(jié)) 以便于更好地滿足應(yīng)用程序的用戶的需要。例如,標識出應(yīng)用程序和用戶的對話中 最可能發(fā)生問題的部分會是有用的。這樣,對話的這些部分可以被調(diào)節(jié)以減少混淆。
記錄或記入應(yīng)用程序和用戶之間的交互數(shù)據(jù)用于測量應(yīng)用程序的性能。然而,
一般地,記入應(yīng)用程序交互數(shù)據(jù)會遭受以下缺陷中的任何一個或其組合,例如(1) 產(chǎn)生數(shù)據(jù)是麻煩的,即應(yīng)用程序開發(fā)者必須在代碼中的各個位置裝備(即,定義和 實施用于記入系統(tǒng)數(shù)據(jù)的一組消息)應(yīng)用程序,用于獲取正確的數(shù)據(jù)以供分析和調(diào) 整;(2)裝備過程一般用特定于應(yīng)用程序的方式完成,且在不同的應(yīng)用程序之間 不可移動;以及(3)交互日志數(shù)據(jù)是有限的值,除非應(yīng)用手動抄寫處理(和/或其
5他明確的人為干涉),這注釋了用戶意向的帶有較為豐富的信息的數(shù)據(jù)。
發(fā)明內(nèi)容
提供本概述用于以簡化的形式引入一些概念,這在以下具體實施方式
中將做 進一步的描述。本概述并非旨在所作權(quán)利要去的主題的關(guān)鍵特征和基本特征,它也 并非旨在用作有助于確定所作權(quán)利要求的主題的范圍。
根據(jù)任務(wù)來定義語音啟用應(yīng)用程序。由于執(zhí)行了語音啟用應(yīng)用程序,指示完 成任務(wù)的信息和/或與回合數(shù)據(jù)相關(guān)的信息相對于任務(wù)是可記錄的。
指示完成任務(wù)的信息被稱為對話數(shù)據(jù)。該數(shù)據(jù)量化完成任務(wù)的成功或失敗。 此外,對話數(shù)據(jù)可以包括若任務(wù)不成功或失敗的原因,或者若成功有多種可能的原 因則該對話數(shù)據(jù)可以包括成功的原因。附加數(shù)據(jù)可以包括用于指示是否用戶沒有提 供響應(yīng)或者語音識別器不能識別出該表達的進展數(shù)據(jù)。也可以記錄輸入字段值的列 表或者其經(jīng)改變的狀況。
回合數(shù)據(jù)包括與應(yīng)用程序的直接交互,并且基于應(yīng)用程序提供的提示或者基 于與用戶響應(yīng)或缺少這種響應(yīng)相關(guān)的應(yīng)用程序提示換言之即基于提示/響應(yīng)交換, 來組織(當不期望響應(yīng)時)。相應(yīng)地,可記錄的三種數(shù)據(jù)范圍包括與應(yīng)用程序提 供的提示相關(guān)的信息,其中包括提示目的;用戶提供的響應(yīng),其中包括響應(yīng)目的; 以及系統(tǒng)確定的識別結(jié)果。
圖1是計算設(shè)備操作環(huán)境的第一實施例的平面圖。 圖2是圖1的計算設(shè)備的框圖。 圖3是通用計算機的框圖。
圖4是客戶機/服務(wù)器系統(tǒng)的體系結(jié)果的框圖。
圖5是示出用客戶端標記提供識別和音頻提示的方法的框圖。
圖6是示出聯(lián)合控件的框圖。
圖7是創(chuàng)建語音啟用應(yīng)用程序的方法的流程圖。
圖8是執(zhí)行語音啟用應(yīng)用程序的方法的流程圖。
具體實施例方式
在描述語音應(yīng)用程序裝備和記入以及用于實現(xiàn)它們的方法之前,概括地描述可用在語音應(yīng)用程序中的計算設(shè)備會是有用的?,F(xiàn)在參考圖1,在30處示出了數(shù) 據(jù)管理設(shè)備的示例性形式(PIM、 PDA等)。然而,期望在本申請中所描述的概念 也可以使用以下討論的其他計算設(shè)備來實現(xiàn),具體地,那些具有有限表面區(qū)域用于 輸入按鈕的計算設(shè)備等。例如,電話和/或數(shù)據(jù)管理設(shè)備也可以得益于本申請中所 描述的概念。相對于現(xiàn)有的便攜式個人信息管理設(shè)備和其他便攜式電子設(shè)備,這種 設(shè)備具有增強的用途,且這種設(shè)備的功能和小型尺寸更有可能促進用戶一直攜帶設(shè) 備。相應(yīng)地,并非旨在將此處所描述的本申請的范圍受限于示例性數(shù)據(jù)管理或本申 請所示的PIM設(shè)備、電話或計算機的公開。
數(shù)據(jù)管理移動設(shè)備30的示例性形式在圖1中示出。移動設(shè)備30包括外殼32 并具有包括顯示器34的用戶界面,它使用觸敏顯示屏幕結(jié)合書寫筆33。書寫筆33 用于在指定的坐標處按下或接觸顯示器34以選擇區(qū)域,或選擇性地移動指針的開 始位置,或者否則的話諸如通過手勢或手寫提供命令信息?;蛘呋虼送猓?一個或多 個按鈕35可以包括在設(shè)備30上以供導(dǎo)航。此外,也可以提供諸如滾輪、滾筒等其 他輸入機制。然而,應(yīng)該注意本發(fā)明并非旨在受限于這些輸入機制的形式。例如, 另一種輸入形式可以包括諸如通過計算機視覺的視頻輸入。
現(xiàn)在參考圖2,框圖示出了包括移動設(shè)備30的功能組件。中央處理但愿(CPU) 50實現(xiàn)軟件控制功能。CPU 50耦合到顯示器34使得依照出現(xiàn)在顯示器34上的控 制軟件來生成文本和圖形圖標。揚聲器43可以耦合到CPU50,該CPU50通常帶 有數(shù)模轉(zhuǎn)換器59用于提供音頻輸出。下載或由用戶輸入到移動設(shè)備30的數(shù)據(jù)存儲 在非易失性讀/寫隨機存取存儲器存儲54中,該存儲雙向地耦合到CPU50上。隨 機存取存儲器(RAM) 54提供對由CPU 50執(zhí)行的指令的易失性存儲,以及對諸 如寄存器值等臨時數(shù)據(jù)的存儲。配置選項和其他變量的默認值存儲在只讀存儲器 (ROM) 58中。ROM 58也可用于存儲設(shè)備的操作系統(tǒng)軟件,用于控制移動設(shè)備 30的基本功能以及其他操作系統(tǒng)內(nèi)核功能(例如將軟件組件載入到RAM54中)。
RAM 54也以類似于用PC上于存儲應(yīng)用程序的硬盤的功能用作代碼的存儲 器。應(yīng)該注意雖然非易失性存儲器用于存儲代碼,但是可選地它也可以存儲在不是 用于代碼執(zhí)行的易失性存儲器中。
無線信號可以通過耦合到CPU 50的無線收發(fā)機52由移動設(shè)備來發(fā)送/接收。 也可以提供可選的通信接口 60用于直接從計算機(例如臺式計算機)或從有線網(wǎng) 絡(luò)(如果期望的話)下載數(shù)據(jù)。相應(yīng)地,接口 60可以包括各種形式的通信設(shè)備, 例如紅外線鏈接、調(diào)制解調(diào)器、網(wǎng)卡等。移動設(shè)備30包括麥克風29以及模數(shù)(A/D)轉(zhuǎn)換器37以及存儲在存儲器54 中的可選的識別程序(語音、DTMF、手寫、手勢或計算機視覺)。通過示例,響 應(yīng)來自設(shè)備30的用戶的音頻信息、指令或命令,麥克風29提供語音信號,它由 A/D轉(zhuǎn)換器37數(shù)字化。語音識別程序可以對數(shù)字化語音信號執(zhí)行標準化和/或特征 提取功能,用于獲取中間的語音識別結(jié)果。使用無線收發(fā)機52或通信接口60,語 音數(shù)據(jù)可以發(fā)送給以下討論的遠程識別服務(wù)器204,并在圖4的提示結(jié)構(gòu)中示出。 接著可以將識別結(jié)果返回給以供設(shè)備,用于在其上呈現(xiàn)(例如視頻和/或音頻), 并最后傳送給網(wǎng)絡(luò)服務(wù)器202 (圖4),其中網(wǎng)絡(luò)服務(wù)器202和移動設(shè)備30以客戶 機/服務(wù)器關(guān)系運作。類似的處理可用于其他形式的輸入。例如,手寫輸入可以在 設(shè)備上數(shù)字化,不管有無預(yù)先處理。如同語音數(shù)據(jù),這種形式的數(shù)據(jù)可以發(fā)送給識 別服務(wù)器204用于識別,其中識別結(jié)果接著被返回給設(shè)備30和/或網(wǎng)絡(luò)服務(wù)器202 中的至少一個。同樣地,DTMP數(shù)據(jù)、手勢數(shù)據(jù)和視頻數(shù)據(jù)可以作類似的處理。取 決于輸入的形式,設(shè)備30 (以及以下討論的其他形式的客戶機)會包括諸如攝像 機等必要的硬件用于視頻輸入。
除了上述的便攜式或移動計算設(shè)備之外,也應(yīng)該理解本申請中所描述的概念 可以用于諸如通用臺式計算機的許多其他機算設(shè)備。例如,當諸如全文字數(shù)字鍵盤 難以操作時,具有有限物理能力的用戶可以將文本輸入計算機或其他計算設(shè)備。
本發(fā)明也可用于許多其他通用或?qū)S糜嬎阆到y(tǒng)、環(huán)境或配置。適用于本發(fā)明 的公知的計算設(shè)備、環(huán)境和/或配置的示例包括,但不限于,無線或蜂窩電話、常 規(guī)電話(沒有任何屏幕)、個人計算機、服務(wù)器計算機、手持式或膝上型設(shè)備、多 處理器系統(tǒng)、基于多處理器的系統(tǒng)、機頂盒、可編程消費電子設(shè)備、網(wǎng)絡(luò)PC、微 型機、大型機、包括任何上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等。
以下是對圖3所示的通用計算機120的簡要描述。然而,計算機120也僅是 合適的計算環(huán)境的一個示例,并非旨在提出對本發(fā)明的使用和功能范圍的任何限 制。計算機120也不應(yīng)被解釋為對以下其中所示組件的任何一個或組合具有任何依 賴或要求。
以下描述可以在由計算機執(zhí)行的諸如程序模塊的計算機可執(zhí)行指令的一般語 境中提供。 一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)具體抽象數(shù)據(jù)類型的 例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。本申請中所描述的示例性實施例可以 在分布式計算環(huán)境中實現(xiàn),其中由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備來執(zhí)行任 務(wù)。在分布式計算環(huán)境中,程序模塊可以同時位于包括存儲器存儲設(shè)備的本地和遠程計算機存儲介質(zhì)中。借助附圖,以下描述了程序和模塊執(zhí)行的任務(wù)。本 領(lǐng)域的技術(shù)人員可以將描述和附圖實現(xiàn)為處理器可執(zhí)行指令,所述指令可以寫 在任何形式的計算機可讀介質(zhì)上。
參照圖3,計算機120的組件可包括,但不限于,處理單元140、系統(tǒng)存
儲器150以及將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合到處理單元140的系 統(tǒng)總線141。系統(tǒng)總線141可能是若干總線結(jié)構(gòu)類型中的任何一種,包括存儲 器總線或存儲器控制器、外圍總線、以及使用多種總線體系結(jié)構(gòu)的任一種的局 部總線。作為示例,而非限制,這些體系結(jié)構(gòu)包括工業(yè)標準體系結(jié)構(gòu)(ISA) 總線、通用串行總線(USB)、微信道體系結(jié)構(gòu)(MCA)總線、增強型ISA(EISA) 總線、視頻電子標準協(xié)會(VESA)局部總線和外圍部件互連(PCI)總線(也 稱為Mezzanine總線)。計算機120通常包括各種計算機可讀介質(zhì)。計算機可 讀介質(zhì)可以是能被計算機120訪問的任何可用介質(zhì),并包括易失性和非易失性 介質(zhì)、可移動和不可移動介質(zhì)。作為示例,而非限制,計算機可讀介質(zhì)可包括 計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以任何方法或技術(shù)實現(xiàn)、用
于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性 和非易失性介質(zhì)、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于RAM、 ROM、 EEPROM、閃存或其它存儲器技術(shù)、CD ROM、數(shù)字化多功能光盤(DVD) 或其它光盤存儲器、磁盒、磁帶、磁盤存儲器或其它磁性存儲設(shè)備、或任何其 它可用于存儲所需信息并可由計算機120訪問的介質(zhì)。
通信介質(zhì)通常在諸如載波或其它傳輸機制的已調(diào)制數(shù)據(jù)信號中體現(xiàn)為計 算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它數(shù)據(jù),且包括任何信息輸送介質(zhì)。 術(shù)語"已調(diào)制數(shù)據(jù)信號"意指以在信號中編碼信息的方式設(shè)置或改變其一個或 多個特征的信號。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直線連 接的有線介質(zhì),和諸如聲學、射頻(RF)、紅外線和其它無線介質(zhì)的無線介質(zhì)。 以上任何介質(zhì)的組合也應(yīng)包括在計算機可讀介質(zhì)的范圍中。
系統(tǒng)存儲器150包括諸如只讀存儲器(ROM)151和隨機存取存儲器(RAM) 152的易失性和/或非易失性存儲器形式的計算機存儲介質(zhì)。包含有助于如起動 時在計算機120內(nèi)元件間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS) 153通常存儲在ROM 151中。RAM 152通常包含可被處理單元140立即訪問 和/或當時正被操作的數(shù)據(jù)和/或程序模塊。作為示例,而非限制,圖3示出了 操作系統(tǒng)154、應(yīng)用程序155、其它程序模塊156、和程序數(shù)據(jù)157。
9移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。 僅作為示例,圖3示出了讀取和寫入不可移動、非易失性磁性介質(zhì)的硬盤驅(qū)動器
161,讀取和寫入可移動、非易失性磁盤172的磁盤驅(qū)動器171,讀取和寫入可移 動、非易失性光盤176,諸如CD-ROM或其它光學介質(zhì)的光盤驅(qū)動器175。其它也 在示例性操作環(huán)境中使用的可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)包 括,但不限于,如磁帶盒、閃存卡、數(shù)字化多功能光盤、數(shù)字化錄像帶、固態(tài)RAM、 固態(tài)ROM等等。硬盤驅(qū)動器161通常通過諸如接口 160的不可移動存儲器接口與 系統(tǒng)總線141連接,而磁盤驅(qū)動器171和光盤驅(qū)動器175通常通過諸如接口 170 的可移動存儲器接口與系統(tǒng)總線141連接。
如上所述并如圖3所示的驅(qū)動器及其相關(guān)聯(lián)的計算機存儲介質(zhì)為計算機 120提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、和其它數(shù)據(jù)的存儲。在圖3 中,例如,硬盤驅(qū)動器161被示為存儲操作系統(tǒng)164、應(yīng)用程序165、其它程 序模塊166、和程序數(shù)據(jù)167。注意這些組件可以與操作系統(tǒng)154、應(yīng)用程序 155、其它程序模塊156、和程序數(shù)據(jù)157相同或不同。在此給予操作系統(tǒng)164、 應(yīng)用程序165、其它程序模塊166、和程序數(shù)據(jù)167的不同編號至少說明它們 是不同的副本。
用戶可通過諸如鍵盤182、麥克風183、以及諸如鼠標、跟蹤球或觸摸板 等的定位裝置181的輸入設(shè)備向計算機120輸入命令和信息。其它輸入裝置(未 示出)可包括游戲桿、游戲墊、衛(wèi)星接收天線、掃描儀等等。這些和其它輸入 設(shè)備常常通過與系統(tǒng)總線耦合的用戶輸入接口 180與處理單元140相連,但也 可通過諸如并行端口、游戲端口或通用串行總線(USB)的其它接口和總線結(jié) 構(gòu)連接。監(jiān)視器184或其它類型的顯示設(shè)備也可通過諸如視頻接口 185的接口 與系統(tǒng)總線141相連。除監(jiān)視器以外,計算機還可包括諸如麥克風187和打印 機186的其它外圍輸出設(shè)備,它們通過輸出外圍接口 188相連。
計算機120可以在使用與一臺或多臺遠程計算機,諸如遠程計算機194的 邏輯連接的網(wǎng)絡(luò)化環(huán)境中運行。遠程計算機194可以是個人計算機、服務(wù)器、 路由器、網(wǎng)絡(luò)PC、對等裝置或其它公共網(wǎng)絡(luò)節(jié)點,而且通常包括上述與個人計 算機120相關(guān)的許多或全部組件。圖3中所描繪的邏輯連接包括局域網(wǎng)(LAN) 191和廣域網(wǎng)(WAN) 193,但也可包括其它網(wǎng)絡(luò)。這樣的網(wǎng)絡(luò)化環(huán)境在辦公室、 企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)上是常見的。
當用于LAN網(wǎng)絡(luò)化環(huán)境中時,計算機120通過網(wǎng)絡(luò)接口或適配器190與LAN
10191連接。當用于WAN網(wǎng)絡(luò)化環(huán)境中時,計算機110通常包括調(diào)制解調(diào)器192或 其它用于在諸如因特網(wǎng)的廣域網(wǎng)193中建立通信的裝置??梢允莾?nèi)置式或外置式的 調(diào)制解調(diào)器192與系統(tǒng)總線141通過用戶輸入接口 180或其它適當機制連接。在網(wǎng) 絡(luò)化環(huán)境中,與計算機120相關(guān)的程序模塊或其一部分可存儲在遠程存儲器存儲裝 置中。作為示例,而非限制,圖3示出了駐留于遠程計算機194中的遠程應(yīng)用程序 195。應(yīng)當理解,所示網(wǎng)絡(luò)連接是示例性的,且也可以使用其它用于在計算機間建 立通信連接的方法。 示例性實施例
圖4示出了可以使用本申請所描述的概念的基于網(wǎng)絡(luò)識別(這里例示為廣域 網(wǎng))的體系結(jié)構(gòu)200。然而,應(yīng)該理解與遠程組件的交互僅是一個實施例,因為包 括識別器的語音應(yīng)用程序可以用在具有這里所示的所有必須組件或模塊的單個計 算設(shè)備上。
一般地,存儲在網(wǎng)絡(luò)服務(wù)器202上的信息可以通過移動設(shè)備(在本申請中也 表示具有根據(jù)輸入形式所要求的顯示器屏幕、麥克風、攝像機、觸敏面板等其他形 式的計算設(shè)備)或通過電話80來訪問,在后一情況中,音頻地或通過電話30生成 的語調(diào)來請求信息,以響應(yīng)按下的鍵,且其中來自網(wǎng)絡(luò)服務(wù)器202的信息僅音頻地 提供回給用戶。
在該示例性實施例中,無論信息是通過設(shè)備30還是使用語音識別的電話80 獲取的,體系結(jié)構(gòu)200是統(tǒng)一的,單個識別服務(wù)器204可以支持任一操作模式。此 外,體系結(jié)構(gòu)200使用公知的標記語言(例如HTML、 XHTML、 cHTML、 XML、 WML等)的擴展來運作的。因此,存儲在網(wǎng)絡(luò)服務(wù)器202上的信息也可以使用在 這些標記語言中發(fā)現(xiàn)的公知的GUI方法來訪問。通過使用公知的標記語言的擴展, 在網(wǎng)絡(luò)服務(wù)器202上編輯變得簡便,并且也可以方便地現(xiàn)有的遺留應(yīng)用程序以包括 語音或其他形式的識別。
一般地,設(shè)備30執(zhí)行由網(wǎng)絡(luò)服務(wù)器202提供的HTML+、腳本等。當需要語 音識別時,舉例而言,語音數(shù)據(jù),可以是數(shù)字化的音頻信號或者語音特征,其中如 上所述音頻信號由設(shè)備30作出了預(yù)先處理,被提供給識別服務(wù)器204,并帶有在 語音識別期間使用的語法或語言模型的指示。識別服務(wù)器204的實現(xiàn)可以采取多種 形式,示出其中一種,但一般地包括識別器211。識別的結(jié)果被提供回設(shè)備30以 用于本地呈現(xiàn)(如果期望或適當)。在通過識別和任何圖形用戶接口 (如果使用) 編譯信息時,設(shè)備30將信息發(fā)送給服務(wù)器202以供進一步處理和接收進一步HTML腳本(如果需要)。
如圖4所示,設(shè)備30、網(wǎng)絡(luò)服務(wù)器202和識別服務(wù)器204 —般地連接,并 且通過網(wǎng)絡(luò)205分別地可尋址,所述網(wǎng)絡(luò)205在這里為諸如因特網(wǎng)的廣域網(wǎng)。 因此無需將任何這些設(shè)備在物理上置于彼此鄰近的位置。具體地,網(wǎng)絡(luò)服務(wù)器 202無需包括識別服務(wù)器204。這樣,網(wǎng)絡(luò)服務(wù)器202上的編輯可以集中在它 所想要的應(yīng)用程序上,而作者無需知道識別服務(wù)器204的復(fù)雜性。識別服務(wù)器 204而是可以被獨立的設(shè)計并連接到網(wǎng)絡(luò)205,并由此無需在網(wǎng)絡(luò)服務(wù)器202 處的進一步改變來更新和改進。如下所述,網(wǎng)絡(luò)服務(wù)器202也可以包括可以動 態(tài)地生成客戶機端標記和腳本的編輯機制。在另一實施例中,網(wǎng)絡(luò)服務(wù)器202、 識別服務(wù)器204和客戶機30可以根據(jù)實現(xiàn)機器的性能來組合。例如,如果客 戶機包括通用計算機,例如個人計算機,客戶機可以包括識別服務(wù)器204。同 樣,如果期望,網(wǎng)絡(luò)服務(wù)器202和識別服務(wù)器204可以被合并到單個機器中。
通過電話80訪問網(wǎng)絡(luò)服務(wù)器202包括將電話80連接到有線或無線電話網(wǎng) 絡(luò)208,接著將電話80連接到第三方網(wǎng)關(guān)210。網(wǎng)關(guān)210將電話80連接到電 話語音瀏覽器212。電話語音瀏覽器212包括提供電話接口和語音瀏覽器216 的媒體服務(wù)器214。與設(shè)備30—樣,電話語音瀏覽器212從網(wǎng)絡(luò)服務(wù)器202接 收HTML腳本等。在一個實施例中,HTML腳本是與提供給設(shè)備30的HTML 腳本類似的形式。這樣,網(wǎng)絡(luò)服務(wù)器202無需分別支持設(shè)備30和電話80,或 者甚至分別支持標準GUI客戶機。而是可以使用通用標記語言。此外,與設(shè)備 30—樣,通過網(wǎng)絡(luò)205或通過專用線207例如使用TCP/IP將來自從語音瀏覽 器216處將電話80發(fā)送的音頻信號的語音識別提供給識別服務(wù)器204。網(wǎng)絡(luò)服 務(wù)器202、識別服務(wù)器204和電話語音瀏覽器212可以包含在任何適當?shù)挠嬎?環(huán)境中,諸如圖3所示的通用臺式計算機。
然而,應(yīng)該注意如果采用DTMF識別,這種識別的形式通常在媒體服務(wù)器 214而非識別服務(wù)器204處執(zhí)行。換而言之,DTMF語法會由媒體服務(wù)器214 使用。
再參考圖4,網(wǎng)絡(luò)服務(wù)器202可以包括服務(wù)器端插件編輯工具或模塊209 (例如ASP、 ASP+、微軟公司的ASP.Net、 JSP、 Javabeans等)。服務(wù)器端內(nèi) 插模塊209可以動態(tài)地生成客戶機端標記,甚至是用于訪問網(wǎng)絡(luò)服務(wù)器202的 客戶機的類型的標記的特定形式??梢栽倏蛻魴C/服務(wù)器管理初始建立時,將客 戶機信息提供給網(wǎng)絡(luò)服務(wù)器202,或者網(wǎng)絡(luò)服務(wù)器202可以包括用于檢測客戶機設(shè)備的性能的模塊或例程。這樣,服務(wù)器端插件模塊208可以為每個語音識 別情況(即設(shè)備30僅通過麥克風的或多種形式的語音)生成客戶機端標記。 通過使用一致的客戶機端模型,可以較大地簡化許多不同客戶端的應(yīng)用編輯。
除了動態(tài)地生成客戶機端標記之外,下述的高級對話模塊可以被實現(xiàn)為存 儲在存儲211中的服務(wù)器端控件,以供開發(fā)者用于應(yīng)用編輯。
一般地,高級對
話模塊211可以基于開發(fā)者所指定的參數(shù)動態(tài)地生成僅語音和多形式情況的客 戶機端標記和腳本。高級對話模塊211可以包括參數(shù),用于生成客戶機端標記
以符合開發(fā)者的需求。 客戶機端標記的生成
如上所述,當從客戶機設(shè)備30作出請求時,服務(wù)器端插件模塊209輸出 客戶機端標記。簡而言之,服務(wù)器端插件模塊209允許網(wǎng)站、由此應(yīng)用程序和 應(yīng)用程序提供的服務(wù)被定義或構(gòu)建。客戶端插件模塊209中的指令由編譯代碼 組成。當網(wǎng)絡(luò)請求到達網(wǎng)絡(luò)服務(wù)器202時運新代碼。服務(wù)器端插件模塊209接 著輸出要發(fā)送給客戶機端設(shè)備30的新的客戶機端標記頁面。如所公知的,這 個過程通常稱為呈現(xiàn)。服務(wù)器端插件模塊209對提取和封裝標記語言及由此客 客戶機端標記頁面的代碼的"控件"進行操作。這種提取和封裝標記語言并在 網(wǎng)絡(luò)服務(wù)器202上操作的控件包括或等價于"小服務(wù)程序"或"服務(wù)器端插件" 等。
如所知的,現(xiàn)有技術(shù)的服務(wù)器端插件模塊可以生成客戶機端標記用于視頻 呈現(xiàn)和與客戶機設(shè)備30交互。于2004年6月17日發(fā)布的美國專利申請公開 號US 2004/0113908,題為"Web Server Controls for Web Enabled Recognition and/or Audible Prompting(用于啟用網(wǎng)絡(luò)識別和/或音頻提示的網(wǎng)絡(luò)服務(wù)器控件,, 和于2004年11月18日發(fā)布的美國專利申請公開號US 2004/0230637A1,題為 "Application Controls for Speech Enabled Recognition(用于啟用i吾音識另U的應(yīng) 用程序控件)"都詳細描述了三種不同的方法,用于將服務(wù)器端插件模塊209擴 展成包括識別和音頻提示擴展。雖然本發(fā)明的各方面可以用于所有這些方法 的,以下將提供一種方法的簡要描述用于解釋示例性實施例。
參考圖5,識別/音頻提示控件306與視頻控件302分離,但是被選擇性地 與之關(guān)聯(lián),如下所述。這樣,控件306不會直接在視頻控件302上構(gòu)建,而是 提供識別/音頻提示允許,而無需重寫視頻控件302。如控件302的控件306使 用庫300。在該實施例中,庫300包括視頻和識別/音頻提示標記信息。這種方法具有重要的優(yōu)勢。首先,無需改變視頻控件302的內(nèi)容。第二,
控件306可以形成單個模塊,所述單個模塊是一致的且無需依照啟用語音的控 件302的性質(zhì)來改變。第三,語音啟用過程,即明確地將控件306與視頻控件 302相關(guān)聯(lián),在設(shè)計時完全在開發(fā)者的控制之下,因為它是明確的和選擇性的 過程。這也使得視頻控件的標記語言從諸如通過控件306生成的標記語言提供 的識別或通過諸如鍵盤的常規(guī)輸入設(shè)備的多個源接收輸入值變得可能。簡而言 之,控件306可以被添加到服務(wù)器端插件模塊209的視頻標記頁面的現(xiàn)有應(yīng)用 程序編輯頁面中。控件36為客戶機設(shè)備30的用戶提供了新的形式的交互(即 識別和/或音頻提示),而同時重新使用視頻控件的應(yīng)用程序邏輯和視頻輸入/ 輸出性能??紤]到控件306可以與視頻控件306相關(guān)聯(lián),視頻控件306處應(yīng)用 程序邏輯可以被編碼,下文中可以將控件306稱為"聯(lián)合控件306",而可以 將視頻控件302稱為"主控件302"。應(yīng)該注意這些稱謂僅是為了區(qū)分控件302 和306而提供的,而非旨在用于限制。例如,聯(lián)合控件306可以用于開發(fā)或編 輯不包括視頻呈現(xiàn)的網(wǎng)站,諸如僅音頻的網(wǎng)站。在這種情況下,某些應(yīng)用程序 邏輯可以包含在聯(lián)合控件邏輯中。
在圖6中示出了示例性聯(lián)合控件400組。在該實施例中,聯(lián)合控件400 — 般包括QA控件402、命令控件404、比較驗證器控件406、定制驗證器控件408 和語義圖410。語義圖410圖表地示出,并包括認作為輸入字段的語義項412, 在視頻域主控件402 (例如HTML)和聯(lián)合控件400的非視頻識別域之間建立 層。
QA控件402包括提示特性,使得提示控件執(zhí)行輸出控件的功能,即為人 為對話提供"提示"客戶機端標記,通常涉及預(yù)先錄制的音頻文件的播放,或 用于文本一語音轉(zhuǎn)換的文本,直接包括在標記中或經(jīng)由URL引用的數(shù)據(jù)。同 樣地,輸入控件具體化為QA控件402和命令控件404,也跟隨人為對話,并 包括提示特性(引用提示對象)和回答特性(引用至少一個回答對象)。QA 控件402和命令控件404都將語法與來自客戶機設(shè)備30的期望或可能的用戶 輸入相關(guān)聯(lián)。
此時,提供每個控件的簡短描述會是有用的。
一般地,QA控件402通過所示的特性可以執(zhí)行以下功能中的一個或多個 提供輸出音頻提示、收集輸入數(shù)據(jù)、執(zhí)行輸入結(jié)果的可信度驗證、允許確認輸 入數(shù)據(jù)以及協(xié)助控制網(wǎng)站處的對話流等。換而言之,QA控件402包含用作特定主題的控件的特性。
與其他控件一樣,QA控件402在網(wǎng)絡(luò)服務(wù)器202上執(zhí)行,這意味著它是 使用服務(wù)器端的標記形式(ASP、 JSP等)在網(wǎng)站服務(wù)器所持有的應(yīng)用程序開 發(fā)網(wǎng)頁上定義的,但是作為標記的不同形式輸出到客戶機設(shè)備30上。雖然在 圖6中示出,其中似乎QA控件是由所有的特性Prompt(提示)、Reco (記錄)、 Answer (回答)、ExtraAnswer (額外回答)和Confirm (確認)組成的,應(yīng)該 理解這些僅是選項,QA控件可以包括其中的一個或幾個。
此時,根據(jù)應(yīng)用程序情況來解釋QA控件的使用會是有幫助的。參考圖6 和僅語音應(yīng)用程序中,QA控件402可以用作對話中的問題和答案。問題可以 由提示對象提供,而通過語法對象來定義語法,用于識別輸入數(shù)據(jù)核對該輸入 的相關(guān)處理?;卮鹛匦允褂没卮饘ο髮⒆R別處的結(jié)果與語義圖410中的語義項 412相關(guān)聯(lián),它包含如何處理識別結(jié)果的信息。線414表示將QA控件402與 語義圖410及其上的語義項412相關(guān)聯(lián)。許多語義項412個別地與視頻或主 控件302相關(guān)聯(lián),如線418所示,雖然一個或多個語義項412不會于視頻控件 相關(guān)聯(lián)并且僅內(nèi)部使用。在多種形式情況下,其中客戶機設(shè)備30的用戶會觸 及視頻文本框,例如與"TapEvent",視頻提示不是必須的。例如,對于主控 件包含具有視頻文本的文本框,視頻文本形成客戶機設(shè)備的用戶應(yīng)該將什么輸 入響應(yīng)的字段的指示的情況,相應(yīng)的QA控件402可以有或沒有諸如音頻回放 或文本一語音轉(zhuǎn)換的相應(yīng)提示,但會具有對應(yīng)于期望值的語法用于識別,以及 事件處理器,用于處理輸入或處理諸如檢測到的語音、未識別出的語音的其他 識別器事件或在暫停時間發(fā)射的事件。
在另一實施例中,識別結(jié)果包括指示所識別出的結(jié)果是正確的可信度的可 信度評估。也可以在回答對象中指定確認閥值,例如可信度閥值等于0.7。如 果可信度高于相關(guān)聯(lián)的閥值,就認為結(jié)果被確認。
也應(yīng)該注意,此外或或者,為了指定語音識別的語法,QA控件和/或命令 控件可以響應(yīng)提示或問題來指定Dtmf (雙音頻調(diào)制頻率)語法以識別電話鍵的 激活。
此時,應(yīng)該注意當填入語義圖410的語義項412時,通過例如語音或Dtmf 的識別,可采取幾種行動。首先,可以發(fā)出或發(fā)射時間,指示值被"改變"。 取決于是否滿足可信度,可以發(fā)出或發(fā)射的另一事件包括指示響應(yīng)的語義項已 被確認的"確認"事件。這些事件用于控制對話。確認特性也可以包括類似于上述有關(guān)回答特性描述的結(jié)構(gòu)的回答對象(其 中它與語義項412相關(guān)聯(lián)),并包括可信度閥值(如果期望)。確認特性并不 旨在按照每個語義項來獲取識別結(jié)果,而是確認已經(jīng)獲取的結(jié)果并從用戶處確 定所獲取的結(jié)果是否正確。確認特性時用于表明先前獲取的結(jié)果的值是否正確 的回答對象的集合。包含QA的提示對象會査詢這些項,并從相關(guān)聯(lián)的語義項
412處獲取識別結(jié)果,并將其形成為問題,諸如"Did you say Seattle "。如 果用戶使用諸如"Yes"的確定來響應(yīng),那么就發(fā)射確認事件。如果用戶使用 諸如"No"的否定來響應(yīng),就清楚相關(guān)聯(lián)的語義項412。
確認特性也可以在向用戶提供確認提示后接收修改。例如,響應(yīng)確定提示 "Did you say Seattle ",用戶用"San Francisco"或"No, San Francisco,,來響 應(yīng),在任一情況下,QA控件接收修改。有了通過回答對象正在確認哪個語義 項的信息,就可以將語義項中的值替換成修正的值。也應(yīng)該注意,如果期望, 確認也可以包括在進一步的對信息的提示中,諸如"When did you want to go to Seattle ",其中系統(tǒng)提示包括對"Seattle"的確認以及對于出發(fā)時間的進一 步提示。客戶響應(yīng)提供對目的地的修正會激活確認特性修正相關(guān)聯(lián)的語義項, 而僅有觸發(fā)日期的提示暗示著對目的地的確認。
ExtraAnswer特性允許應(yīng)用程序作者指定除了所作出的提示或査詢之外用 戶可能提供的回答對象。例如,如果導(dǎo)向旅行的系統(tǒng)提示用戶目的城市,但是 用戶用指示"Seattle tomorrow"來響應(yīng),那么就恢復(fù)開始時提示用戶的回答特 性,并由此將目的城市"Seattle"與適當?shù)恼Z義項綁定,而ExtraAnswer特性 可以將"Tomorrow"作為接下去的一天(假設(shè)系統(tǒng)知道當天)來處理,并由此將 這個結(jié)果與語義圖中適當?shù)恼Z義項綁定。ExtraAnswer特性包括為用戶也可能 聲明的可能的額外信息定義的一個或多個回答對象。在上述提供的示例中,也 已經(jīng)獲取了出發(fā)日期的信息,系統(tǒng)于是無需再為了這個信息來提示用戶,假設(shè) 可信度超過相應(yīng)的可信度閥值。如果可信度沒有超過相應(yīng)的閥值,那么就激活 適當?shù)拇_認特性。
命令控件
命令控件404是通常再僅聲音對話中的用戶說話,就所提的問題一般具有 語義輸入,而是尋找協(xié)助或?qū)崿F(xiàn)導(dǎo)航例如幫助、取消、重復(fù)等。命令控件404 可包括提示特性,用于指定提示對象。此外,命令控件404不僅可用于指定語 法(通過語法特性)和對識別相關(guān)聯(lián)的處理(有點類似于沒有將結(jié)果綁定到語義項的回答對象),也可用于指定語境的'范圍'和類型。這允許對客戶機端 標記上全部或語境敏感行為的編輯。命令控件404允許諸如輸入的其他類型, 諸如"幫助"命令,或者允許客戶機設(shè)備的用戶導(dǎo)航到網(wǎng)站的其他選定區(qū)域。 比較驗證器控件
比較驗證器控件根據(jù)算子來比較兩個值,并采取適當?shù)膭幼?。要比較的值 可以是任何形式的,諸如整數(shù)、文本字符串等。比較驗證器控件包括指示要驗
證的語義項的特性SematicltemtoValidate (要驗證的語義項)??捎媒悄陚€要 驗證的語義項與常數(shù)或另一語義項作比較,其中常數(shù)或其他語義項有特性 ValuetoCompare (要比較的值)和SematicItemtoValidate分別提供。與比較驗 證器相關(guān)聯(lián)的其他參數(shù)或特性包括用于定義要作的比較的算子和定義值的類 型(例如整數(shù)或語義項字符串)的類型.
如果與比較驗證器控件相關(guān)聯(lián)的驗證失敗,那么提示特性可以指定可以播 放的提示對象,指示用戶所獲取的結(jié)果是錯誤的。如果在比較時驗證失敗,那 么由SematicItemtoValidate定義的相關(guān)聯(lián)的語義項被指示為空,這樣使得系統(tǒng) 會為了正確的值再提示用戶。然而,在錯誤的值會被用在向用戶重復(fù)錯誤值的 提示中,不清除語義圖中相關(guān)聯(lián)語義項的錯誤值會是有用的。取決于應(yīng)用程序 作者的期望,可以在相關(guān)聯(lián)的語義項的值改變值時,或者在值已被確定時觸發(fā) 比較驗證器控件。
定制驗證器控件
定制驗證器控件類似于比較驗證器控件。特性Sematicltemto Validate指示 要驗證的語義項,而特性ClientValidationFunction (客戶機驗證函數(shù))通過相 關(guān)聯(lián)的函數(shù)或腳本指定定制驗證例程。無論驗證是否失敗,函數(shù)會提供布爾值 "yes"或"no",或者其等價。提示特性可以指定提示對象要提供對驗證出錯 或失敗的指示。取決于應(yīng)用程序作者的期望,可以在相關(guān)聯(lián)的語義項的值改變 值時,或者在值己被確定時觸發(fā)定制驗證器控件。 控件執(zhí)行算法
客戶機端腳本或模塊(本申請中稱為"RunSpeech")被客戶機設(shè)備用于 圖6的控件。該腳本的目的是經(jīng)由邏輯執(zhí)行對話流,當它在客戶機設(shè)備30上 執(zhí)行,即當由于該處所包含的值激活了屬于控件的標記以供在客戶機上執(zhí)行時 在腳本中指定。腳本允許在頁面請求之間多個對話回合,由此對于諸如通過電 話瀏覽器216的僅聲音對話的控件特別有用??蛻魴C端腳本RunSpeech以循環(huán)的方式在客戶機設(shè)備30上執(zhí)行,直至提交了完整的表格,或者否則是從客戶 機設(shè)備30請求新的頁面。
一般地,在一個實施例中,算法通過輸出語音和識別用戶輸入來生成對話
回合。算法的總體邏輯如下地用于僅聲音環(huán)境(應(yīng)用于2004年6月17日公開 的每個專利申請公開號US 2004/0113908,題為"Web Server Controls for Web Enabled Recognition and/or Audible Prompting",用于上述未討論的牛寺性或參 數(shù))
1. 以語音索引排序找出第一個活動的(如下所定義的)QA、比較驗
證器或定制驗證器控件。
2. 如果沒有活動的控件,就提交頁面。
3. 否則,運行控件。
QA在且僅在以下情況下被認為是活動的
1. QA的ClientActivationFunction (客戶機激活函數(shù))或者不存在,或 者返回真,并且
2. 如果答案屬性集合為非空,則回答組所指向的所有語義項的狀態(tài)為 空,或者
3. 如果答案屬性集合為空,則確認數(shù)組中至少一個語義項的狀態(tài)為 NeedsConfirmaiton (需要確認)。
然而,如果QA使得PlayOnce(播放一次)為真,且其提示成功地運行(達 到OnComplete (完成)),那QA不會成為激活的候選項。 QA如下運行
1. 如果這是與先前的活動控件不同的控件,那么重置提示計數(shù)值。
2. 遞增提示計數(shù)值。
3. 如果指定了 PromptSelectFunction (提示選擇函數(shù)),則呼叫函數(shù)并 將提示的inlinePrompt (內(nèi)嵌提示)設(shè)置成返回的字符串。
4. 如果Reco對象存在,則它開始。該Reco應(yīng)該已包括任何活動的命
令語法。
驗證器(比較驗證器或定制驗證器)是活動的,如果
1. SemanticItemToValidate還沒有被該驗證器驗證,其值已被改變。
比較驗證器如下運行
1. 依照驗證器的算子,比較SemanticItemToCompare(要比較的語義項)或ValueToCompare (要比較的值)禾卩SemanticItemToValidate的值。
2. 如果測試返回失敗,將SemanticItemToValidate的文本字段置空,并 播放提示。
3. 如果測試返回真,將SemanticItemToValidate標記為境該驗證器驗證。
定制驗證器如下運行
1. 使用SemanticItemTo Validate的值來呼叫ClientValidationFunction
(客戶機驗證函數(shù))。
2. 如果函數(shù)返回錯誤,則清除語義項并播放提示,否則由該驗證器驗 證。
命令在且僅在以下情況下被認為是活動的
1. 它在范圍內(nèi),并且
2. 在范圍樹的較低處沒有相同類型的另一個命令。
在多種形式的情況下,邏輯被簡化為以下算法
1. 等待觸發(fā)事件一即用戶輕拍控件;
2. 收集期望回答;
3. 監(jiān)聽輸入;
4. 將結(jié)果綁定到語義項,如果沒有,則丟棄事件;
5. 返回到l。
在多模式環(huán)境中,應(yīng)該注意如果用戶修正文本框或者其他與結(jié)果的視頻表 示相關(guān)聯(lián)的的輸入字段,則系統(tǒng)可以將相關(guān)聯(lián)的語義項更新為指示值己被確 定。
在圖6中所示的另一實施例中,提供呼叫控件407,使得應(yīng)用程序作者能 夠創(chuàng)建處理電話業(yè)務(wù)的語音應(yīng)用程序以及應(yīng)用程序控件430,后者提供了在一 種控件中包括各通用語音語境的方法。呼叫控件407和應(yīng)用程序控件430對于 實現(xiàn)本發(fā)明不是必須的,僅是為了完整性而提及。對每一個的進一步討論在 2004年6月17日發(fā)布的美國專利申請公開號US 2004/0113卯8,題為"Web Server Controls for Web Enabled Recognition and/or Audible Prompting (用于啟 用網(wǎng)絡(luò)識別和/或音頻提示的網(wǎng)絡(luò)服務(wù)器控件"和于2004年11月18日發(fā)布的美 國專利申請公開號US 2004/0230637A1,題為"Application Controls for Speech Enabled Recognition(用于啟用語音識別的應(yīng)用程序控件)"中討論。記錄用戶交互數(shù)據(jù)
通過示例,使用上述結(jié)構(gòu),應(yīng)用程序開發(fā)者能夠開發(fā)語音啟用應(yīng)用程序。 然而,本申請中所描述的各方面允許開發(fā)者記錄或記入用戶交互數(shù)據(jù)。
然而,應(yīng)該理解本申請中所描述的各概念不限于上述用于提供對話模式的 對話編輯結(jié)構(gòu),而是可以被應(yīng)用到生成對話模塊的任何編輯工具,諸如但不限 于被實現(xiàn)為中間件、API (應(yīng)用程序編程接口)等的那些,并且被配置成記錄 一些或全部以下描述的信息。此外,諸如電話應(yīng)用程序的啟用語音應(yīng)用程序的 功能性質(zhì)和它們語音用戶接口的細節(jié)可以在域和應(yīng)用程序類型之間有較大的 不同,由此任何啟用的自動化記錄一般僅是啟發(fā)式的,而非確定性的。因此, 對這個的實現(xiàn)可能是將自動記入事件特性實現(xiàn)為可覆蓋默認值,而非不可改變 的特性。然而對豐富信息的記入的簡化和便利相對于依賴于手動和程序性編輯 的系統(tǒng)仍然是很大的進步。
在參考圖4,由于為任何類型的用戶執(zhí)行應(yīng)用程序(諸如但不限于經(jīng)由移
動設(shè)備30或經(jīng)由電話80訪問),依照對話控件211執(zhí)行啟用語音應(yīng)用程序的 網(wǎng)絡(luò)服務(wù)器202將用戶交互記入數(shù)據(jù)記錄在存儲器217中。
一般地,應(yīng)用程序不是專門定義或?qū)懽饕唤M分級控件,這里通常例示為 QA控件402結(jié)合命令控件404、應(yīng)用程序控件430、呼叫控件407和驗證器406 和408,如所需的。分級定義了要完成的總體任務(wù),以及為了完成總體任務(wù)的 其的次任務(wù)。分級中級別的數(shù)目取決于應(yīng)用程序的復(fù)雜程度。例如,應(yīng)用程序 可以總體地用于作出機票預(yù)定(即最高級的任務(wù)),而兩個主要次任務(wù)用于獲 取出發(fā)信息和到達信息。同樣地,可以為獲取出發(fā)信息和獲取到達信息的主要 次任務(wù)的每一個定義進一步的次任務(wù),具體地,獲取出發(fā)/到達機場信息、出發(fā) /到達時間等。這些次任務(wù)可能出現(xiàn)在它們包含任務(wù)的序列中。
一般地,記錄兩種類型的數(shù)據(jù),任務(wù)/對話數(shù)據(jù)和回合數(shù)據(jù)。從任務(wù)/對話 數(shù)據(jù)開始,該數(shù)據(jù)在日志中表示,應(yīng)該按照任務(wù)和子任務(wù)來捕捉應(yīng)用程序的分 級和順序結(jié)構(gòu)。圖7示出了用于創(chuàng)建應(yīng)用程序的方法。在502處對話編輯工具 允許按照嵌套或順序的任務(wù)單元來編輯或定義對話,這樣使得當開發(fā)者寫語音 啟用應(yīng)用程序時,作者一般會以模塊化的方式寫。S卩,會促使作者將單個會話 集合成完成特定任務(wù)的集合,并且將單個任務(wù)集合成完整較高級別任務(wù)的集 合。由于在設(shè)計時任務(wù)結(jié)構(gòu)和進出單個任務(wù)的流是已知的,因此在步驟504處, 啟用對進出任務(wù)的入口和出口的記入(例如通過TaskStart (任務(wù)開始)和TaskComplete (任務(wù)完成)事件),并且記入從用戶處獲取的用于由應(yīng)用程序 使用的輸入字段的回合數(shù)據(jù)和值(在本申請中被例示為"語義項"),用于提 供對任務(wù)結(jié)構(gòu)的順序和/或分級的自動記入。這意味著對話流、獲取的值和任務(wù) 結(jié)構(gòu)可以被明確地恢復(fù)并且從事件日志構(gòu)建。應(yīng)該注意分別示出了步驟502和 504僅是為了解釋目的,這些步驟的某些和全部特征可以用不同的順序或同時 執(zhí)行。
這個數(shù)據(jù)也確定完成任何給定任務(wù)或次任務(wù)的成功、失敗或其他(未知) 狀況。此外,任務(wù)/對話數(shù)據(jù)包括如果任務(wù)不成功或失敗的原因,或者它完整狀 態(tài)未知的原因,或者如果適用后續(xù)的原因(如果對后續(xù)可能有多個原因)。其 他數(shù)據(jù)可以包括指示如果用戶沒有提供響應(yīng)或者語音識別器不能識別說話的 進程數(shù)據(jù)。也可以記錄輸入字段值的列表或應(yīng)用程序為了基于提示或用戶響應(yīng) 或與它們相關(guān)聯(lián)的值使用的存儲位置或者其經(jīng)改變的狀態(tài)。
圖8示出了用于執(zhí)行語音啟用應(yīng)用程序的方法520。方法520包括在522 處執(zhí)行按照具有一個或多個回合的任務(wù)定義的語音啟用應(yīng)用程序。步驟524包 括與任務(wù)、回合和語義項相關(guān)的記錄信息。應(yīng)該注意分別示出了步驟522和524 僅是為了解釋目的,這些步驟的某些和全部特征可以用不同的順序或同時執(zhí) 行。
在一個實施例中,任務(wù)/對話數(shù)據(jù)包括所有或全部以下的信息 任務(wù)/對話數(shù)據(jù)
名稱作者為任務(wù)/對話定義的字符串標識符,例如"getCreditCardlnfo(獲 取信用卡信息)"、"ConfirmTravel (確認旅行)"等。如果作者在設(shè)計時沒 有提供名稱,就給出默認名稱,例如Dialogl、 Dialog2、 DialogN......
父包含對話的名稱(為了從日志重建對話層級) TaskStart (任務(wù)開始)首次進入任務(wù)/對話時的時間戳 TaskComplete (任務(wù)完成)推出任務(wù)/對話時的時間戳。對于任何打開 的對話,在使用默認值關(guān)閉應(yīng)用程序時總是應(yīng)該發(fā)射、倒置(bottom-up)該事 件(即在日志中不會有"打開一結(jié)束"對話)。
狀態(tài)任務(wù)/對話的完成狀態(tài),可由作者設(shè)置,基于對話的性能自動推斷、 或者基于作者定義的條件半自動地設(shè)置。在一個實施例中,默認值狀態(tài)可以時
"未設(shè)置",其中后續(xù)值可以是以下之一
成功失敗 未知
自動任務(wù)完整狀態(tài)
在某些情況下,如上所述,可以從任務(wù)推出的性質(zhì)使用合理的確定推斷出 任務(wù)的狀態(tài)是成功、失敗或未知中的哪一個。例如,由于出錯或異常而結(jié)束的 任務(wù)可以被自動地記入完成狀態(tài)或失敗。同樣地,取消任務(wù)(例如其中對任務(wù) 對象呼叫Ca"ce/ O方法)可以自動地記入失敗的完成狀態(tài)。類似地,由于達 到了某一"出局"(例如以下討論的MaxSilence或MaxNoReco)計數(shù)結(jié)束的 任務(wù)會自動地記入失敗的完成狀態(tài)。
相反地,帶有在該任務(wù)中遇到的回合的所有語義項(即應(yīng)用程序的輸入字 段),或者在設(shè)計時指定屬于該任務(wù)的、具有基礎(chǔ)(用戶輸入或從中獲取的) 值的自然結(jié)束的任務(wù)(即沒有被取消)會被自動地記入成功的完成狀態(tài)。
半自動任務(wù)完成
任務(wù)狀態(tài)記入的部分自動也是有用的。對于給定的任務(wù),作者可以在步驟 502處指定或定義任務(wù)成功或失敗的一組條件,如果滿足,就確定在退出時的 任何點上任務(wù)的狀態(tài)。條件可以是程序性的(即fo0==,bar,),或者更有用地, 可以將條件簡化使得作者只需要為每個任務(wù)指定一個或多個語義項(例如為 departureCity和arrivalCity提供的值),當那些語義項具有確定的值時系統(tǒng)會 自動記入成功,并且可選地,當那些語義項不具有確定的值時記入失敗。
這個方面是有用的省時機制,因為它意味著任務(wù)狀態(tài)記入無需在任務(wù)的每 個推出點上被程序性地編碼。而是只要最終用戶退出任務(wù)時就自動地評估條 件,并且確定和記入狀態(tài)而無需額外的開發(fā)者代碼。
原因?qū)υ捦瓿傻脑颍梢杂勺髡咴O(shè)置,例如
命令一用戶說出的命令,用于改變到對話的不同部分和命令的性質(zhì)(S卩"取 消"、"算子""主菜單"等);
userHangup (用戶掛斷) 一用戶掛斷,或者用其他方式停止或放棄;
applicationError (應(yīng)用程序出錯)一發(fā)生應(yīng)用程序出錯
maxNoReco —達到不帶識別的說話的最大次數(shù)
maxSilence —達到無聲用戶響應(yīng)的最大次數(shù) SemanticUpdate (語義更新)
項任何其值/狀態(tài)有改變的語義項列表,包括新的值和響應(yīng)的狀態(tài)。 一般地,該數(shù)據(jù)與以下所述的回合數(shù)據(jù)相關(guān),其中對于每個對話回合(由應(yīng)用程序 /響應(yīng)提示或用戶對其的缺乏),語義項值和/或狀態(tài)中的一個或多個會改變。 然而,在某些實例中,應(yīng)用程序自身能夠改變語義項。例如,如果應(yīng)用程序不 能驗證諸如信用卡卡號的值,那么它自己可以清除該值,而無需基于對話回合。 然而會記錄這種改變。
回合數(shù)據(jù)包括與應(yīng)用程序的直接交互,并且基于由應(yīng)用程序提供的提示 (當不期望響應(yīng)時)、或者與用戶響應(yīng)或缺少它相關(guān)的應(yīng)用程序提示來組織, 換而言之,提示/響應(yīng)交換或者用戶提供的命令并非必須響應(yīng)提示,或者至少是 不期望是對提示的響應(yīng)的響應(yīng)??梢杂涗洈?shù)據(jù)的三個區(qū)域包括與應(yīng)用程序提供 的提示相關(guān)的信息、用戶提供的響應(yīng)(可以是期望的或非期望的響應(yīng))以及系 統(tǒng)確定的識別結(jié)果。在一個實施例中,回合數(shù)據(jù)包括以下信息的一些或全部
回合數(shù)據(jù)
配置
名稱作者定義的字符串標識符。如果作者在設(shè)計時沒有提供名稱,就 給出默認名稱;然而需要清楚地和一致地在相同對話/任務(wù)中的不同回合之 間區(qū)分??赡艿募夹g(shù)是基于提示的名稱和類型。
類型可以從與之相關(guān)聯(lián)的語義項的性質(zhì)推斷出特定回合的目的的詳細 說明。在上述情況下,語義項通過回答、額外回答和確認的概念與回合相關(guān) 聯(lián)。
回合目的的示例包括-請求新的確認(回合啟用回答) 確認相關(guān)信息(接受/拒絕啟用回合的確認) 給出信息聲明(回合沒有回答和確認)。
父包含對話/任務(wù)的名稱(為了從日志重建對話層級)。 語言所使用的語言。
語音語法與所使用的語音識別語法相關(guān)的信息。 DMTF語法與使用的DMTF識別語法相關(guān)的信息。 閥值用于拒絕值和/或確認值的可信度閥值
超時允許提示后初始無聲和用于確定響應(yīng)的結(jié)束的結(jié)束無聲時間段, 以及認為聲音模糊不清的時間段 提示名稱可選,由于可以使用回合數(shù)據(jù)名稱,可以不是必須的。 類型對話模式可以包括多個預(yù)定義的提示類型,其中任何一個可以由 應(yīng)用程序選擇,對它的使用允許記錄系統(tǒng)試圖作什么來達到例如回合的目的。 提示類型的示例包括
MainPrompt (主提示)一提出問題(或給出聲明) HelpPrompt (幫助提示)—提供幫助 RepeatPrompt (重復(fù)提示) 一重復(fù)信息內(nèi)容 NoRecognitionPrompt (無識別提示) 一響應(yīng)"無識別" SilencePrompt (無聲提示) 一響應(yīng)無聲
EscalatedNoRecognitionPrompt (升級的無識別提示) 一在多次嘗試后響 應(yīng)"無識別"
EscalatedSilencePrompt (升級的無聲提示)—在多次嘗試后響應(yīng)無聲 由于三種類型是預(yù)定義的,且在任何時候可用于選擇,它們可以根據(jù)類
型自動地記入,這自動地豐富了日志數(shù)據(jù),使用給定提示的目的的概念達
到回合的目的。
因此,提示類型與回合類型相結(jié)合一在對話編輯模式中它們都是編程基 元,因此當應(yīng)用程序遇到時被自動地記入 一 允許在日志中任一點系統(tǒng)目的 的豐富視圖(rich view)。
語義項提示有關(guān)的語義項(用于鏈接詢問/確認循環(huán)等)。
對話模式使用語義項的概念,每個含有值和狀態(tài),用于簡化對話流編輯。 通過自動地記入每個語義項的改變值和狀態(tài),并將其與任務(wù)和用戶/系統(tǒng)移動信 息組合,進一步豐富了日志。
回答/額外回答/確認模型將語義項鏈接到回合和由此的項。因此所知的 是(且可以被自動地記入),哪個語義項與哪個系統(tǒng)移動和哪個用戶移動相關(guān), 以及哪個有助于哪個任務(wù)。
提示的文本內(nèi)容例如"welcome (歡迎)"
聞入提示時間開始/結(jié)束/之中
用戶感知的等待時間用戶響應(yīng)和播放下一提示之間的時間段。當系統(tǒng) 負荷較重時,時間段可能更長,這會使得用戶困惑,因為用戶可能相信應(yīng)用 程序沒有響應(yīng)。
TTS:真/假一用于生成提示的文本一語音。提示完成時間完成/切斷提示的時間。 提示波文件提供的實際提示。 用戶輸入
模式用戶是否提供DTMF/語音
類型用戶是否提供命令,如果是,是什么類型的(例如幫助/重復(fù)等), 或者用戶是否提供響應(yīng),如果是,是什么類型(答案/確認/拒絕)
對話模式將應(yīng)用程序的語法的功能分類到不同類型的用戶響應(yīng),即回 答、接受、拒絕等,所述不同類型的用戶響應(yīng)指示用戶提供響應(yīng)的目的。這 些類型可以直接被記入為系統(tǒng)任務(wù)用戶正試圖完成事件的指示符。不同響應(yīng) 類型的示例如下
回答一用戶向請求值的問題提供回答。
額外回答一用戶提供問題焦點之外的回答。
接受一用戶確認信息。
拒絕一用戶拒絕信息。
幫助命令一用戶請求幫助。
重復(fù)命令一用戶請求信息的重復(fù)。
其他命令一用戶發(fā)出某些其他形式的命令(沒有明確地歸類,但是我們 知道它不是任一上述類型)。
無聲一用戶沒有說話(這有時被用作'暗示接受'的形式) 由于這些類型與特定的語法相關(guān)聯(lián),只要用戶說出任何與相應(yīng)語法匹配 的話,就可以自動地記入它們。許多系統(tǒng)允許單個對話回合包括多種形式一 例如在單個回合中接受多于一個項,或者回答一個項和接收另一個。
無聲如果檢測到無聲,相對于MaxSilence (最大無聲)它是哪個數(shù)字 或計數(shù)。
NoReco:如果沒有檢測到說話的識別,相對于MaxNoReco它是哪個數(shù)
字或計數(shù)。
出錯如果發(fā)生出錯,它是否會被應(yīng)用程序或平臺丟棄。 結(jié)果
識別結(jié)果系統(tǒng)返回識別結(jié)果。通常,識別結(jié)果包括語義標記語言(SML) 標簽,用于經(jīng)翻譯的說話。此外,在適合的地方可以提供N-Best可選翻譯
和音頻記錄結(jié)果。
25除了每個翻譯之外 沒有SML標簽的說話文本(如果提供語音)或者按鍵(如果提供DTMF)。 可信度翻譯的可信度。
語義映射SML結(jié)果和語義項部分之間的鏈接。換而言之,來自SML結(jié)
果中的哪個值會被置于哪個語義項中。
語法規(guī)則匹配用戶輸入匹配語法中的哪條規(guī)則。 可信度說話總體。
闖入用戶闖入的事件或空(如果沒有出現(xiàn)闖入)。 識別波文件實際記錄的用戶輸入和指向它的指針。
總之,記入的用戶交互數(shù)據(jù)允許將對話看作在感興趣的某些字段中操作的任 務(wù)的分級或順序結(jié)構(gòu)(例如形式字段或槽值),并且任務(wù)中的每個對話回合記入有 關(guān)形式字段(例如詢問值、確認它、重復(fù)它等)的系統(tǒng)目的(對話移動)以及語音 識別器認為是用戶目的的內(nèi)容(例如提供值、拒絕它、尋求幫助等)。
使用該結(jié)構(gòu)來實現(xiàn)實踐優(yōu)勢。具體地,對系統(tǒng)性能的分析得到改進,因為任 務(wù)完成的成功或失敗一般是明確的,因此很大地簡化了報告的交易成功率,并且能 更好地理解完成任務(wù)所采取的對話步驟的性質(zhì)(因為在編輯時每個步驟背后的目的 是已知的)。
由于其包含在對話編輯代碼中的方式,實現(xiàn)這種形式的數(shù)據(jù)記入是簡便的。 這種裝備的高級性質(zhì)對于多種應(yīng)用程序類型是普遍的,并且記入的實際細節(jié)在編輯 時通過其集成到編輯工具中而在概念上或關(guān)于記入基元變得容易。由此促使應(yīng)用程 序作者使用任務(wù)/次任務(wù)模型來構(gòu)造應(yīng)用程序,并且指示任務(wù)之外的哪些轉(zhuǎn)變指示 成功完成,且它們無需明確地裝備系統(tǒng)/用戶目的記入,因為那被構(gòu)建到會話回合 編輯模式中。
雖然以上參考特定實施例描述了主題,但是本領(lǐng)域的熟練技術(shù)人員應(yīng)該認識 到可以作出改變,其形式和細節(jié)不背離所附權(quán)利要求的精神和范圍。
2權(quán)利要求
1.一種計算機實現(xiàn)方法(520),用于記入在計算機系統(tǒng)上執(zhí)行的語音啟用應(yīng)用程序中的用戶交互數(shù)據(jù),所述方法包括在所述計算機系統(tǒng)上執(zhí)行根據(jù)任務(wù)而定義的語音啟用應(yīng)用程序(522),其中一個任務(wù)涉及一個或多個回合,且其中一個回合包括以下中的至少一個由所述語音啟用應(yīng)用程序提供給所述用戶的提示以及提示/響應(yīng)交換,所述提示/響應(yīng)交換包括由所述語音啟用應(yīng)用程序提供給所述用戶的提示和隨后來自所述用戶的響應(yīng);以及記錄用于指示以下至少兩者的信息(524)(a)在所述應(yīng)用程序中執(zhí)行的任務(wù)的完成,(b)與各個任務(wù)有關(guān)的相應(yīng)回合的目的,以及(c)相對于來自用戶的響應(yīng)的識別而改變的、所述應(yīng)用程序中所使用的值的指示。
2. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,執(zhí)行所述語 音啟用應(yīng)用程序(522)包括執(zhí)行其中用分級結(jié)構(gòu)定義任務(wù)的語音啟用應(yīng)用程序。
3. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,記錄用于指 示每個回合的目的的信息(524)包括記錄所述回合的目的是否包括所述語音啟用 應(yīng)用程序提出問題、確認回答、向用戶提供幫助以及重復(fù)提示中的至少一種。
4. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,記錄與各個 任務(wù)有關(guān)的每一回合的相關(guān)信息(524)包括記錄有關(guān)所述提示與哪個輸入字段相 關(guān)聯(lián)的信息。
5. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,記錄與各個 任務(wù)有關(guān)的每一回合的相關(guān)信息(524)包括記錄有關(guān)所述響應(yīng)與哪個輸入字段相 關(guān)聯(lián)的信息。
6. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,記錄用于指 示每個回合的目的的信息(524)包括記錄所述回合的目的是否包括用戶提供命令、 提供回答、接受確認以及拒絕確認中的至少一種。
7. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,記錄與各個 任務(wù)有關(guān)的每一回合的相關(guān)信息(524)包括記錄與所述語音啟用應(yīng)用程序提供的 提示、用戶響應(yīng)于所述提示而提供的響應(yīng)、以及語音識別器對所述響應(yīng)的識別結(jié)果 有關(guān)的信息。
8. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,記錄用于指 示任務(wù)完成的信息(524)包括記錄用于指示成功、失敗或未知的完成狀態(tài)值之一 的信息。
9. 如權(quán)利要求1所述的計算機實現(xiàn)方法(520),其特征在于,記錄用于指 示任務(wù)完成的信息(524)包括記錄用于指示與任務(wù)有關(guān)的對話的完成原因的信息。
10. —種計算機可讀介質(zhì),具有用于創(chuàng)建語音啟用應(yīng)用程序的指令,所述指 令包括按照計算機系統(tǒng)上分級結(jié)構(gòu)中的任務(wù)來定義語音啟用應(yīng)用程序(502);以及 實現(xiàn)用于指示任務(wù)完成的信息的記錄(504),所述任務(wù)相對于所述分級結(jié)構(gòu) 在所述應(yīng)用程序中執(zhí)行。
11. 如權(quán)利要求10所述的計算機可讀介質(zhì),其特征在于,定義(502)包括定 義使用一個或多個回合的任務(wù),其中一個回合包括以下中的至少一個由所述語音 啟用應(yīng)用程序提供給所述用戶的提示,以及提示/響應(yīng)交換,所述提示/響應(yīng)交換包 括由所述語音啟用應(yīng)用程序提供給所述用戶的提示和隨后來自所述用戶的響應(yīng),且 其中實現(xiàn)信息的記錄包括實現(xiàn)用于指示與相應(yīng)任務(wù)有關(guān)的一個或多個回合的信息 的記錄。
12. 如權(quán)利要求IO所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)與各個任務(wù)有 關(guān)的每一回合的相關(guān)信息的記錄(504)包括實現(xiàn)用于指示每一回合的目的的信息 的記錄。
13. 如權(quán)利要求12所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)用于指示每一 回合的目的的信息的記錄(504)包括記錄所述回合的目的是否包括所述語音啟用 應(yīng)用程序提出問題、確認回答、向所述用戶提供幫助、以及重復(fù)提示中的至少一種。
14. 如權(quán)利要求12所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)用于指示每一 回合的目的的信息的記錄(504)包括實現(xiàn)記錄所述回合的目的是否包括所述用戶 提供命令、提供回答、接受確認、以及拒絕確認中的至少一種。
15. 如權(quán)利要求12所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)關(guān)于每一回合 的信息的記錄(504)包括實現(xiàn)與所述語音啟用應(yīng)用程序提供的提示、用戶響應(yīng)于 所述提示而提供的響應(yīng)、以及語音識別器對所述響應(yīng)的識別結(jié)果有關(guān)的信息的記 錄。
16. 如權(quán)利要求12所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)與各個任務(wù)有 關(guān)的每一回合的相關(guān)信息的記錄(504)包括實現(xiàn)有關(guān)所述提示與哪個輸入字段相關(guān)聯(lián)的信息的記錄。
17. 如權(quán)利要求12所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)與各個任務(wù)有關(guān)的每一回合的相關(guān)信息的記錄(504)包括實現(xiàn)有關(guān)所述響應(yīng)與哪個輸入字段相關(guān)聯(lián)的信息的記錄。
18. —種計算機可讀介質(zhì),具有用于創(chuàng)建語音啟用應(yīng)用程序的指令,所述指令包括按照計算機系統(tǒng)上的任務(wù)來定義語音啟用應(yīng)用程序(502),其中一個任務(wù)涉及一個或多個回合,且其中一個回合包括以下中的至少一個由所述語音啟用應(yīng)用程序提供給所述用戶的提示,以及提示/響應(yīng)交換,所述提示/響應(yīng)交換包括由所述語音啟用應(yīng)用程序提供給所述用戶的提示和隨后來自所述用戶的響應(yīng);以及實現(xiàn)在所述語音啟用應(yīng)用程序執(zhí)行期間用于指示所述一個或多個回合中的每 一個回合的用戶和系統(tǒng)目的、且與下列中的至少一種相關(guān)聯(lián)的信息的記錄(504): (a)在所述應(yīng)用程序中執(zhí)行的任務(wù)的完成,以及(b)相對于來自用戶的響應(yīng)的識別 而改變的所述應(yīng)用程序中所使用的值的指示。
19. 如權(quán)利要求18所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)用于指示任務(wù) 完成的信息的記錄(504)包括實現(xiàn)用于指示成功、失敗或未知的完成狀態(tài)值之一 的信息的記錄。
20. 如權(quán)利要求19所述的計算機可讀介質(zhì),其特征在于,實現(xiàn)信息的記錄(504) 包括實現(xiàn)關(guān)于提示與哪個輸入字段相關(guān)聯(lián)的信息的記錄,以及記錄關(guān)于響應(yīng)與哪 個輸入字段相關(guān)聯(lián)的信息。
全文摘要
根據(jù)任務(wù)來定義語音啟用應(yīng)用程序。由于執(zhí)行了該語音啟用應(yīng)用程序,指示任務(wù)完成的信息和/或與回合數(shù)據(jù)相關(guān)的信息相對于任務(wù)是可記錄的。
文檔編號H04M11/00GK101589427SQ200680021784
公開日2009年11月25日 申請日期2006年6月7日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者S·F·波特 申請人:微軟公司