專利名稱:提供網(wǎng)絡(luò)協(xié)同會(huì)話服務(wù)的系統(tǒng)和方法
本申請(qǐng)基于1998年10月2日遞交的第60/102,957號(hào)美國(guó)臨時(shí)申請(qǐng)和1999年1月27日遞交的第60/117,595號(hào)美國(guó)臨時(shí)中請(qǐng)。
本申請(qǐng)一般地涉及會(huì)話系統(tǒng),并特別涉及一種用以在網(wǎng)絡(luò)連接的設(shè)備、服務(wù)器和應(yīng)用程序之間自動(dòng)及協(xié)同共享會(huì)話功能/資源的系統(tǒng)和方法。
傳統(tǒng)的會(huì)話系統(tǒng)(即,單純具有語音I/O的系統(tǒng)或者具有語音I/O的多模式系統(tǒng))一般地被限于個(gè)人計(jì)算機(jī)(PC)和具有合適結(jié)構(gòu)和足夠處理能力的本地機(jī)器。另一方面,對(duì)于電話技術(shù)應(yīng)用,會(huì)話系統(tǒng)通常位于一服務(wù)器上(例如,IVR服務(wù)器)并可以經(jīng)由傳統(tǒng)電話和蜂窩電話而能訪問。盡管這種會(huì)話系統(tǒng)變得更為流行,有代表性的是所有的會(huì)話處理或者在客戶機(jī)端或者在服務(wù)器端執(zhí)行(即,所有的配置或者是完全本地的或者是完全客戶機(jī)/服務(wù)器式)。
隨著普及計(jì)算的出現(xiàn),期望數(shù)十億計(jì)的低資源客戶設(shè)備(例如,個(gè)人數(shù)據(jù)助理PDA,智能電話等)將被連網(wǎng)在一起。由于客戶設(shè)備尺寸的減小和用戶所期望這種設(shè)備所執(zhí)行任務(wù)的復(fù)雜性的增加,傳統(tǒng)的圖形用戶界面在這種小型的用戶設(shè)備上不切實(shí)際,所以用戶界面成為一個(gè)關(guān)鍵性的問題。因此,期望會(huì)話系統(tǒng)將作為用戶界面的主要單元來提供純語音/音頻I/O或帶有語音/音頻I/O的多模式I/O。
從而,在便攜式客戶設(shè)備上,語音嵌入的會(huì)話應(yīng)用正得到發(fā)展并進(jìn)入成熟。不幸的是,由于資源有限,預(yù)期這種客戶設(shè)備可能不能執(zhí)行復(fù)雜的會(huì)話服務(wù),例如語音識(shí)別(尤其是當(dāng)詞匯量非常大或特殊或者需要領(lǐng)域特定/應(yīng)用特定的語言模型或語法時(shí))、NLU(自然語言理解)、NLG(自然語言產(chǎn)生)、TTS(文本到語音合成)、音頻捕捉和壓縮/解壓縮、重放、對(duì)話產(chǎn)生、對(duì)話管理、說話者識(shí)別、主題識(shí)別、音頻/多媒體索引和查找等。例如一個(gè)設(shè)備的存儲(chǔ)器和CPU(和其他資源)的限制可以限制這種設(shè)備能提供的會(huì)話能力。
此外,即使一已聯(lián)網(wǎng)設(shè)備功能足夠強(qiáng)大(在CPU和存儲(chǔ)器方面)以便執(zhí)行所有這些會(huì)話任務(wù),但該設(shè)備可能沒有合適的會(huì)話資源(例如,引擎)或者會(huì)話主目(argument,即被引擎用到的數(shù)據(jù)文件)(例如,語法、語言模型、詞匯表文件、語法分析、標(biāo)記、聲紋和TTS規(guī)則等)來執(zhí)行合適的任務(wù)。確實(shí),一些會(huì)話功能可能太特殊而適于特定的服務(wù),因此要求僅能從網(wǎng)絡(luò)上的其它設(shè)備或者機(jī)器才可得到的后端信息。例如,因?yàn)橛脕懋a(chǎn)生對(duì)話需要的整組會(huì)話主目或者功能(例如語法分析器、標(biāo)記器、翻譯器等)或者需要很大數(shù)量的存儲(chǔ)器來存儲(chǔ)(在客戶設(shè)備上不能得到)或者太廣泛(依據(jù)通信帶寬)以至于不能傳遞到客戶機(jī)端,所以一個(gè)客戶設(shè)備上的NLU和NLG服務(wù)典型地需要服務(wù)器端支持。這個(gè)問題在多語種應(yīng)用時(shí)被進(jìn)一步加重,當(dāng)一個(gè)客戶設(shè)備或者本地應(yīng)用程序沒有足夠的存儲(chǔ)器或者處理能力來存儲(chǔ)和處理這些主目,這些主目是需要的,以便按多語種來處理語音和執(zhí)行會(huì)話功能。代之,用戶必須手動(dòng)連接到遠(yuǎn)程的服務(wù)器上來執(zhí)行這種任務(wù)。
同時(shí),與客戶機(jī)和服務(wù)器間的分布式結(jié)構(gòu)和分布式處理有關(guān)的問題需要新的會(huì)話連網(wǎng)方法。這種方法包含了通信量和分布在網(wǎng)絡(luò)上的資源的管理,以保證參與該網(wǎng)絡(luò)上會(huì)話交互的每一個(gè)用戶的合適的對(duì)話流。
因而,允許一個(gè)有有限資源的網(wǎng)絡(luò)設(shè)備自動(dòng)利用連網(wǎng)資源、以一種對(duì)用戶來說自動(dòng)的和透明的方式來執(zhí)行復(fù)雜的會(huì)話任務(wù)的系統(tǒng)和方法是非常需要的。
本發(fā)明針對(duì)一種在網(wǎng)絡(luò)連接的服務(wù)器和設(shè)備(和它們相應(yīng)的應(yīng)用程序)之間提供自動(dòng)的和協(xié)同的共享會(huì)話資源的系統(tǒng)和方法。根據(jù)本發(fā)明的一個(gè)實(shí)施例,系統(tǒng)包含多個(gè)連網(wǎng)的服務(wù)器、設(shè)備和/或應(yīng)用程序,通過使用會(huì)話網(wǎng)絡(luò)協(xié)議(或者方法)傳達(dá)消息,使得相互之間“明白會(huì)話”,協(xié)議自動(dòng)地允許每一明白會(huì)話的網(wǎng)絡(luò)設(shè)備自動(dòng)地并以協(xié)同和同步的方式共享會(huì)話資源,以便通過某一網(wǎng)絡(luò)設(shè)備之一的界面來提供一個(gè)無縫的會(huì)話界面。
根據(jù)本發(fā)明的一個(gè)方面,一個(gè)提供自動(dòng)的和協(xié)同的共享會(huì)話資源的系統(tǒng),包含一個(gè)網(wǎng)絡(luò),它包含至少第一和第二網(wǎng)絡(luò)設(shè)備;這第一和第二網(wǎng)絡(luò)設(shè)備每個(gè)包含一組會(huì)話資源;一個(gè)對(duì)話管理器用以管理會(huì)話并執(zhí)行調(diào)用來請(qǐng)求會(huì)話服務(wù);以及一使用會(huì)話協(xié)議在整個(gè)網(wǎng)絡(luò)上傳達(dá)消息的通信棧,在此通過會(huì)話協(xié)議傳達(dá)的消息在第一和第二設(shè)備的對(duì)話管理器之間建立協(xié)同的網(wǎng)絡(luò)通信,以自動(dòng)地共享第一和第二網(wǎng)絡(luò)設(shè)備成組的會(huì)話資源,當(dāng)需要時(shí),去執(zhí)行它們各自請(qǐng)求的會(huì)話服務(wù)。
本發(fā)明允許一個(gè)低資源的客戶設(shè)備透明地本地執(zhí)行簡(jiǎn)單的任務(wù),又以二進(jìn)制或模擬方式與一具有更復(fù)雜會(huì)話能力的服務(wù)器(或者別的設(shè)備)相連接透明地執(zhí)行復(fù)雜任務(wù)。服務(wù)器端的功能(例如語音識(shí)別)可以通過一個(gè)常規(guī)的IP網(wǎng)絡(luò)或者LAN網(wǎng)絡(luò),也可以經(jīng)由傳統(tǒng)的電話線路或包交換網(wǎng)絡(luò)數(shù)字傳輸,或者在無線網(wǎng)絡(luò)上經(jīng)由任何傳統(tǒng)的無線數(shù)據(jù)協(xié)議而能被執(zhí)行。
有利的是,本發(fā)明在任何有限CPU、存儲(chǔ)器和處理能力(也含有限的會(huì)話資源)的設(shè)備(如盛行的嵌入式設(shè)備)上提供一完全成熟的會(huì)話用戶界面,這使利用低資源的客戶設(shè)備不需要下載,例如來自一網(wǎng)絡(luò)服務(wù)器所必需的會(huì)話主目,便可提供復(fù)雜的會(huì)話服務(wù)。本地能力允許用戶利用本地設(shè)備而不需請(qǐng)求連接,例如無線電話供應(yīng)商的外部覆蓋。同時(shí),持續(xù)連接的花費(fèi)也減小,并且當(dāng)持續(xù)連接丟失時(shí)恢復(fù)的難度能夠減輕。
在接下來的優(yōu)選實(shí)施例的詳細(xì)描述中,本發(fā)明的這些和其他方面、特征及優(yōu)點(diǎn)將會(huì)被描述并變得明了。
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例在連網(wǎng)的設(shè)備之間通過自動(dòng)的和協(xié)同的共享會(huì)話資源來提供會(huì)話服務(wù)的一個(gè)系統(tǒng)框圖;圖2是根據(jù)本發(fā)明的一個(gè)方面在連網(wǎng)的設(shè)備之間通過自動(dòng)的和協(xié)同的共享會(huì)話資源來提供會(huì)話服務(wù)的一個(gè)方法流程圖3是根據(jù)本發(fā)明的另一個(gè)方面在連網(wǎng)的設(shè)備之間通過自動(dòng)的和協(xié)同的共享會(huì)話資源來提供會(huì)話服務(wù)的一個(gè)方法流程圖;圖4是根據(jù)本發(fā)明采用會(huì)話瀏覽器的另一個(gè)實(shí)施例提供會(huì)話服務(wù)的分布式系統(tǒng)的一個(gè)框圖;以及圖5是根據(jù)本發(fā)明采用會(huì)話瀏覽器的另一個(gè)實(shí)施例提供會(huì)話服務(wù)的分布式系統(tǒng)的一個(gè)框圖。
將會(huì)了解到本發(fā)明可以被以不同形式的硬件、軟件、固件、專用處理器或者它們的組合實(shí)現(xiàn)。更可取地,本發(fā)明作為一個(gè)包含程序指令的應(yīng)用程序以軟件實(shí)現(xiàn),它們確實(shí)地嵌入在程序存儲(chǔ)器設(shè)備上(例如軟盤、RAM、CDROM、ROM和閃存器),并且可以被任何設(shè)備或者包含合適結(jié)構(gòu)的機(jī)器執(zhí)行,如一個(gè)或者多個(gè)中央處理器(CPU)、一隨機(jī)存取存儲(chǔ)器(RAM)和音頻輸入/輸出(I/O)接口。
將會(huì)進(jìn)一步了解,因?yàn)樵诟綀D中描述的組成系統(tǒng)的某些部件和方法步驟優(yōu)選以軟件實(shí)現(xiàn),系統(tǒng)組件之間的實(shí)際聯(lián)系(或者處理步驟)隨本發(fā)明被編程的方式而可能不同。此間給出的說明,一個(gè)相關(guān)領(lǐng)域的一般技術(shù)人員將能設(shè)想到本發(fā)明的這些和相似的實(shí)現(xiàn)方法或結(jié)構(gòu)配置。
現(xiàn)參看圖1,框圖闡明了根據(jù)本發(fā)明的一個(gè)具體范例在連網(wǎng)設(shè)備之間通過自動(dòng)的和協(xié)同的共享會(huì)話資源和會(huì)話主目(數(shù)據(jù)文件)來提供會(huì)話服務(wù)的一個(gè)系統(tǒng)。該系統(tǒng)包含一本地客戶設(shè)備100,客戶設(shè)備100包含一個(gè)聲學(xué)前端101來處理音頻/語音輸入和輸出由客戶設(shè)備100產(chǎn)生的音頻/語音。例如,客戶設(shè)備100可以是一個(gè)智能電話或任何能處理語音的PDA(個(gè)人數(shù)字助理)??蛻粼O(shè)備100還包含一個(gè)或者多個(gè)本地會(huì)話引擎102用來處理聲特征和/或由聲學(xué)前端101產(chǎn)生和/或捕捉的波形并產(chǎn)生對(duì)話輸出給用戶。本地會(huì)話引擎102可以包含,例如,一個(gè)嵌入式語音識(shí)別,一個(gè)說話者識(shí)別引擎,一個(gè)TTS引擎,一個(gè)NLU和NLG引擎和一個(gè)音頻捕捉和壓縮/解壓縮引擎及任何其它類型的會(huì)話引擎。
客戶設(shè)備100還包含一個(gè)本地對(duì)話管理器103它執(zhí)行任務(wù)管理并控制和協(xié)同一經(jīng)由系統(tǒng)調(diào)用(API或者協(xié)議調(diào)用)請(qǐng)求的會(huì)話服務(wù)(或者本地的或者經(jīng)由網(wǎng)絡(luò)設(shè)備)的執(zhí)行,同時(shí)也管理本地的和與連網(wǎng)設(shè)備的會(huì)話。更特別地,如下所詳細(xì)描述的,對(duì)話管理器103確定是否一個(gè)給定的會(huì)話服務(wù)將在客戶100上本地地或者是在遠(yuǎn)程網(wǎng)絡(luò)連接的服務(wù)器(或者設(shè)備)上處理和執(zhí)行。這個(gè)決定是基于如客戶100的會(huì)話能力和其它網(wǎng)絡(luò)連接的設(shè)備能力的比較等因素,也基于為處理這一請(qǐng)求的會(huì)話服務(wù)可能必需的可用資源和會(huì)話主目。其它因素包栝從連網(wǎng)的設(shè)備接收結(jié)果時(shí)網(wǎng)絡(luò)通信量和預(yù)期的延遲。對(duì)話管理器103執(zhí)行任務(wù)管理和資源管理任務(wù),如裝載管理和資源分配,同時(shí)也管理本地會(huì)話引擎102和能處理語音的本地應(yīng)用程序104之間的對(duì)話。
如圖1的示例,客戶設(shè)備100經(jīng)由網(wǎng)絡(luò)105與服務(wù)器106連網(wǎng),服務(wù)器106包含服務(wù)器應(yīng)用程序109,也包含向客戶設(shè)備100(或者任何其它網(wǎng)絡(luò)設(shè)備或者應(yīng)用程序)在需要時(shí)提供會(huì)話服務(wù)的服務(wù)器會(huì)話引擎107。和本地會(huì)話服務(wù)器引擎102一樣,服務(wù)器引擎107可以包含如一個(gè)嵌入式語音識(shí)別、一個(gè)TTS引擎、一個(gè)NLU和NLG引擎和一個(gè)音頻捕捉和壓縮/解壓縮引擎及任何其它類型的會(huì)話引擎。服務(wù)器106包含一個(gè)服務(wù)器對(duì)話管理器108,服務(wù)器對(duì)話管理器108操作方式和上面描述的本地對(duì)話管理器103相同。例如,服務(wù)器對(duì)話管理器108確定是否一個(gè)從本地對(duì)話管理器103來的一個(gè)會(huì)話服務(wù)請(qǐng)求被服務(wù)器106或者是遠(yuǎn)程網(wǎng)絡(luò)連接的服務(wù)器或者設(shè)備處理和執(zhí)行。此外,服務(wù)器對(duì)話管理器108管理服務(wù)器會(huì)話引擎107和能處理語音的服務(wù)器應(yīng)用程序109之間的對(duì)話。
圖1的系統(tǒng)進(jìn)一步描述了客戶設(shè)備100和遠(yuǎn)程服務(wù)器106被連網(wǎng)到一個(gè)有會(huì)話引擎和/或能被客戶100和服務(wù)器106在需要時(shí)存取的會(huì)話主目的服務(wù)器110上。網(wǎng)絡(luò)105可以是如因特網(wǎng)、LAN(局域網(wǎng))、公司內(nèi)部網(wǎng)、PSTN(公共交換電話網(wǎng))、或者無線網(wǎng)(經(jīng)由RF(射頻)、或者IR(紅外線)無線通信)。可以理解,盡管圖1描述了一個(gè)客戶機(jī)/服務(wù)器系統(tǒng),其中術(shù)語可以被擅長(zhǎng)該技術(shù)的人理解,圖1的系統(tǒng)可以包含許多連網(wǎng)的服務(wù)器、設(shè)備和相互“明白會(huì)話”的應(yīng)用程序來提供自動(dòng)的和協(xié)同的共享會(huì)話功能、主目和資源。如下文更詳細(xì)的說明,這種“明白會(huì)話”可以通過利用會(huì)話網(wǎng)絡(luò)協(xié)議(或者方法)傳輸被各自的對(duì)話管理器處理的消息來達(dá)到,使連網(wǎng)的設(shè)備以一種自動(dòng)的和同步的方式共享會(huì)話資源和功能。這種會(huì)話協(xié)同提供了一個(gè)無縫的會(huì)話界面,通過網(wǎng)絡(luò)設(shè)備之一的界面來訪問遠(yuǎn)程服務(wù)器、設(shè)備和應(yīng)用程序。
特別是,在連網(wǎng)設(shè)備之間提供會(huì)話協(xié)同來共享它們的會(huì)話功能、資源和主目,每一連網(wǎng)設(shè)備利用會(huì)話協(xié)議(或者方法)傳遞消息來交換關(guān)于它們會(huì)話能力和需求的信息。例如,如圖1所示,客戶設(shè)備100包含一個(gè)利用會(huì)話協(xié)議112、會(huì)話發(fā)現(xiàn)、注冊(cè)和協(xié)商協(xié)議113和語音傳輸協(xié)議114(或者會(huì)話編碼協(xié)議)用以傳送和接收消息的通信棧111。同樣,服務(wù)器106包含一個(gè)服務(wù)器通信棧115,服務(wù)器通信棧115包含會(huì)話協(xié)議116、會(huì)話發(fā)現(xiàn)、注冊(cè)和協(xié)商協(xié)議117和語音傳輸協(xié)議118。這些協(xié)議(方法)在同時(shí)遞交的、名稱為“Conversational ComputingVia Conversational Virtual Machine”的專利申請(qǐng)(IBM Docket NO.Y0999-111p)中相對(duì)于CVM(會(huì)話虛擬機(jī)器)得以詳細(xì)討論,此專利已一般轉(zhuǎn)讓,此處加以引用。
簡(jiǎn)單的說,會(huì)話協(xié)議112、116(或者說是在Y0999-111P中稱為“分布式會(huì)話協(xié)議”)是允許連網(wǎng)設(shè)備(例如,客戶機(jī)100和服務(wù)器106)或者應(yīng)用程序與其它網(wǎng)絡(luò)設(shè)備的對(duì)話管理器傳輸消息,以便注冊(cè)它們的會(huì)話狀態(tài)、主目和上下文的協(xié)議(或者方法)。會(huì)話協(xié)議112、116也允許設(shè)備交換其它信息如Java小應(yīng)用程序、ActiveX構(gòu)件和其他可執(zhí)行的編碼,這些編碼允許設(shè)備或者相關(guān)的應(yīng)用程序來協(xié)調(diào)按照如主/從或?qū)Φ葧?huì)話網(wǎng)絡(luò)配置的這些設(shè)備之間的會(huì)話。分布式會(huì)話協(xié)議112、116允許信息交換來協(xié)同包含多設(shè)備或者應(yīng)用程序,包括主/從會(huì)話網(wǎng)絡(luò)、對(duì)等會(huì)話網(wǎng)絡(luò)和匿名伙伴的會(huì)話。在連網(wǎng)設(shè)備之間利用分布式會(huì)話協(xié)議可以交換的信息包含指向數(shù)據(jù)文件(主目)的指針、數(shù)據(jù)文件和其他會(huì)話主目的傳輸(如果需要)、輸入通知、輸出事件和識(shí)別結(jié)果、會(huì)話引擎API調(diào)用和結(jié)果、狀態(tài)通知和上下文改變及其他系統(tǒng)事件、注冊(cè)更新注冊(cè)協(xié)商更新的握手信號(hào)協(xié)商握手信號(hào)、及當(dāng)一請(qǐng)求的資源丟失時(shí)的發(fā)現(xiàn)更新。
本(分布式)會(huì)話協(xié)議也包含對(duì)話管理器(DM)協(xié)議,此協(xié)議允許對(duì)話管理器去分配服務(wù)、行為和會(huì)話應(yīng)用、I/O和引擎API如在IBMDocket NO.Y0999-111P中所描述的。例如,DM協(xié)議允下列信息被交換(1)DM體系結(jié)構(gòu)注冊(cè)(例如,每一DM可以是本地DM的匯集);(2)與元信息關(guān)聯(lián)的指針(用戶、設(shè)備能力、應(yīng)用需求等);(3)DM網(wǎng)絡(luò)拓?fù)鋮f(xié)商(例如,主/從、對(duì)等);(4)數(shù)據(jù)文件(會(huì)話主目)如果可用,即,如果引擎被利用則被一個(gè)主DM控制;(5)I/O事件通知,如用戶輸入、輸出到多個(gè)用戶以傳輸?shù)揭婧?或加到上下文;(6)識(shí)別事件通知;(7)傳輸被處理的輸入從引擎到一主DM;(8)傳輸主DM的職責(zé)到注冊(cè)的DM;(9)DM處理結(jié)果事件;(10)DM異常;(11)可信度和模糊性結(jié)果的傳輸,建議的反饋和輸出,建議的期望狀態(tài),建議的操作,建議的上下文改變,建議的新的對(duì)話狀態(tài);(12)通知決定,上下文更新,動(dòng)作更新,狀態(tài)更新等;(13)完成、失敗或者被中斷動(dòng)作通知;(14)上下文改變通知;和/或者(15)由于動(dòng)作引起的數(shù)據(jù)文件、上下文和狀態(tài)的更新。
例如,在主一從網(wǎng)絡(luò)配置中在任何時(shí)候僅僅連網(wǎng)設(shè)備之一驅(qū)動(dòng)會(huì)話。特別是,主設(shè)備(即主設(shè)備的對(duì)話管理器)管理和協(xié)調(diào)網(wǎng)絡(luò)設(shè)備間的會(huì)話并決定哪一設(shè)備來執(zhí)行給定的會(huì)話服務(wù)或功能。這個(gè)決定可以基于每一設(shè)備或者應(yīng)用程序提供的關(guān)于它們會(huì)話能力的信息。這個(gè)決定也可以基于主設(shè)備決定那一個(gè)從設(shè)備(具備所需的會(huì)話能力)能最佳地執(zhí)行給定的會(huì)話功能。例如,主設(shè)備可以要求多個(gè)從設(shè)備來執(zhí)行語音識(shí)別并提供結(jié)果給主設(shè)備。主設(shè)備然后選擇最佳的結(jié)果。可以理解這里在語音識(shí)別水平上所描述的是分布式對(duì)話管理器之間在DM(對(duì)話管理器)協(xié)議水平上的機(jī)制(如在Y0999-111P中所描述)。確實(shí),當(dāng)在多個(gè)對(duì)話管理器之間發(fā)生對(duì)話時(shí),主設(shè)備將獲得每一對(duì)話管理器結(jié)果得分的度量,從而作出決定看好哪一個(gè)對(duì)話管理器繼續(xù)進(jìn)行輸入,不但要根據(jù)語音識(shí)別的準(zhǔn)確性,并且也要根據(jù)對(duì)話(含意)、上下文和歷史,也考慮其他項(xiàng)目,如用戶的優(yōu)先選擇、歷史和應(yīng)用的偏好。
在對(duì)等連接中,每一設(shè)備將試圖確定自己能執(zhí)行的功能并記錄一個(gè)請(qǐng)求去執(zhí)行之??山邮艿饺蝿?wù)的設(shè)備將執(zhí)行這個(gè)任務(wù)然后對(duì)其執(zhí)行性能評(píng)分。然后依據(jù)它們的評(píng)分設(shè)備協(xié)商哪一個(gè)設(shè)備將執(zhí)行這個(gè)任務(wù)。
在一個(gè)實(shí)施例中,分布式會(huì)話協(xié)議112、116經(jīng)由RMI(遠(yuǎn)程方法調(diào)用)和RPC(遠(yuǎn)程過程請(qǐng)求)系統(tǒng)調(diào)用,以完成應(yīng)用程序和整個(gè)網(wǎng)絡(luò)上不同會(huì)話引擎之間的調(diào)用來實(shí)現(xiàn)。行內(nèi)人都知道,RPC是允許一個(gè)應(yīng)用通過網(wǎng)絡(luò)從另一個(gè)應(yīng)用請(qǐng)求一個(gè)服務(wù)的協(xié)議。同樣地,RMI是在分布式網(wǎng)絡(luò)上對(duì)象可以交互的一種方法。RMI允許一個(gè)或者多個(gè)對(duì)象隨同請(qǐng)求被傳遞。此外,信息也可以被存儲(chǔ)在一個(gè)對(duì)象中,該對(duì)象經(jīng)由CORBA或者DCOM被交換,或者以說明性的方式呈現(xiàn)(例如經(jīng)由XML)。如在上面插入的專利申請(qǐng)IBM Docket NO.Y0999-111P中所討論,會(huì)話協(xié)議(方法)(或者分布式協(xié)議)可以被用來經(jīng)由會(huì)話API在會(huì)話應(yīng)用和CVM命外殼之間或者經(jīng)由會(huì)話引擎API在CVM和會(huì)話引擎之間獲得由一個(gè)CVM(會(huì)話虛擬機(jī)器)外殼支持的會(huì)話功能的分布式實(shí)現(xiàn)。會(huì)話引擎API是核心引擎和應(yīng)用程序之間的界面,通過這個(gè)界面和協(xié)議與核心引擎(本地的或者連網(wǎng)的)通信。會(huì)話API提供一個(gè)API層來掛鉤或者發(fā)展明白會(huì)話的應(yīng)用,包括建立會(huì)話用戶界面的基礎(chǔ)類和組件。
同樣地,根據(jù)本發(fā)明一對(duì)話管理器可經(jīng)由API與應(yīng)用程序和引擎(本地的或者連網(wǎng)的)通信。通過這種方式,一對(duì)話管理器可以對(duì)來自所有遠(yuǎn)程過程的結(jié)果和回調(diào)起作用(對(duì)遠(yuǎn)程引擎和應(yīng)用程序的過程調(diào)用),如同它是一個(gè)本地的應(yīng)用,以至于,例如,在應(yīng)用和資源(本地的或者連網(wǎng)的)之間仲裁、區(qū)分優(yōu)先次序和確定激活的應(yīng)用,以及確定那一個(gè)結(jié)果認(rèn)為是有效的。
會(huì)話發(fā)現(xiàn)、注冊(cè)和協(xié)商協(xié)議113、117是被用作“發(fā)現(xiàn)”本地的或者網(wǎng)絡(luò)的明白會(huì)話的系統(tǒng)(即“講”會(huì)話協(xié)議的應(yīng)用程序或者設(shè)備)的網(wǎng)絡(luò)協(xié)議(或者方法)。注冊(cè)協(xié)議允許設(shè)備或者應(yīng)用程序注冊(cè)它們的會(huì)話功能、狀態(tài)和主目。協(xié)商協(xié)議允許設(shè)備協(xié)商主-從、對(duì)等或者匿名伙伴網(wǎng)絡(luò)。
在一個(gè)實(shí)施例中,發(fā)現(xiàn)協(xié)議實(shí)現(xiàn)一個(gè)“廣播和收聽”方法來觸發(fā)一個(gè)從其它“廣播和收聽”設(shè)備來的反應(yīng)。這能允許如網(wǎng)絡(luò)動(dòng)態(tài)地和自發(fā)地創(chuàng)建(例如下面討論的藍(lán)牙和Hopping網(wǎng)絡(luò))。在另一個(gè)實(shí)施例中,一個(gè)缺省的服務(wù)器(可能是主設(shè)備)裝置可以被利用它注冊(cè)不同網(wǎng)絡(luò)設(shè)備的“地址”。在這個(gè)實(shí)施例中,發(fā)現(xiàn)總計(jì)網(wǎng)絡(luò)上與服務(wù)器通信的各個(gè)設(shè)備來核對(duì)注冊(cè)的設(shè)備列表,以便確定那些設(shè)備與這些設(shè)備連接。經(jīng)由發(fā)現(xiàn)協(xié)議交換的信息包括如下(1)握手信號(hào)的廣播請(qǐng)求或者收聽請(qǐng)求;(2)設(shè)備標(biāo)識(shí)符交換;(3)第一次注冊(cè)時(shí)的句柄/指針交換;和(4)第一次協(xié)商時(shí)的句柄交換。
在實(shí)現(xiàn)注冊(cè)協(xié)議的一個(gè)實(shí)施例中依據(jù)連接,設(shè)備可以以一預(yù)定的協(xié)議(例如,TTS英文、任何文本、語音識(shí)別、500字+FSG語法、無說話者識(shí)別等)通過交換一組標(biāo)志或一設(shè)備特性對(duì)象來交換關(guān)于它們會(huì)話能力的信息。同樣,應(yīng)用程序可以交換引擎需求列表。通過一個(gè)主/從網(wǎng)絡(luò)配置,主對(duì)話管理器可以編輯所有列表并使功能和需要與會(huì)話能力相匹配。在沒有主設(shè)備(對(duì)話管理器)的情況下,一個(gè)普通服務(wù)器可以被用來傳輸會(huì)話信息到網(wǎng)絡(luò)上每一個(gè)機(jī)器或者設(shè)備。注冊(cè)協(xié)議允許以下信息被交換(1)能力和裝載消息包括定義和更新事件;(2)引擎資源(是否一個(gè)給定設(shè)備包括NLU、DM、MLG、TTS、說話者識(shí)別、語音識(shí)別壓縮、編碼、存儲(chǔ)等);(3)I/O能力;(4)CPU、存儲(chǔ)器和裝載能力;(5)數(shù)據(jù)文件類型(范圍指定、字典、語言模型、語種等);(6)網(wǎng)絡(luò)地址和特征;(7)關(guān)于用戶的信息(定義和更新事件);用戶對(duì)設(shè)備、應(yīng)用或?qū)υ挼钠茫?9)用戶化;(10)用戶經(jīng)驗(yàn);(11)幫助;(12)每一應(yīng)用(和應(yīng)用狀態(tài))(定義和更新事件)的能力需求;(13)CUI服務(wù)和行為的元信息(幫助文件、編目、會(huì)話優(yōu)先權(quán)等)(定義和更新事件、一般通過指向表格的指針);(14)協(xié)議握手;和/或(15)拓?fù)鋮f(xié)商。
注冊(cè)可以使用傳統(tǒng)的通信協(xié)議如TCP/IP、TCP/IP29、X-10或者CEBus和設(shè)備之間的套接口實(shí)現(xiàn)。設(shè)備利用一個(gè)分布式會(huì)話結(jié)構(gòu)與它們相關(guān)的會(huì)話引擎和對(duì)話管理器及它們的會(huì)話主目(例如,激活的詞匯表、語法和語言模型、語法分析和翻譯/標(biāo)記模型、聲波紋、合成規(guī)則、基本格式(發(fā)音規(guī)則)和聲型)通信。這個(gè)信息或者以文件或者以流的形式傳遞給對(duì)話管理器和會(huì)話引擎或者作為URL。此外,上下文信息可以通過指示通路或者指到設(shè)備的上下文棧/歷史,或控制器可以訪問和添加到其上下文棧的應(yīng)用而能被傳遞。設(shè)備也傳輸關(guān)于它們多模式I/O和UI能力(屏幕/無屏幕、音頻入和出的能力、鍵盤等)的信息。會(huì)話主目允許會(huì)話引擎基于當(dāng)前狀態(tài)和上下文估計(jì)NLU引擎有關(guān)的新詢問。
至于協(xié)商協(xié)議,依據(jù)各個(gè)網(wǎng)絡(luò)設(shè)備的注冊(cè)需求和能力,在協(xié)商期間網(wǎng)絡(luò)設(shè)備和應(yīng)用程序可以對(duì)一給定的暫時(shí)性配置進(jìn)行投票。如果一個(gè)應(yīng)用利用此配置(即拓?fù)?,則決定被自動(dòng)地強(qiáng)加。否則它可以是請(qǐng)求成為一個(gè)主設(shè)備或者從設(shè)備或者對(duì)等機(jī)。根據(jù)請(qǐng)求計(jì)數(shù),一個(gè)優(yōu)選的配置被決定并與所有的設(shè)備和應(yīng)用程序通信(保持在每個(gè)設(shè)備/應(yīng)用程序的可用資源表格中)。無論什么時(shí)候一個(gè)系統(tǒng)改變它的狀態(tài)和需求時(shí),它將會(huì)與其它連網(wǎng)的對(duì)話管理器/資源通信來開始一個(gè)新的協(xié)商并溝通新的狀態(tài)和上下文信息。
語音傳輸協(xié)議114、118允許設(shè)備傳送和接收壓縮的語音或者本地處理結(jié)果到/從網(wǎng)絡(luò)上的其它設(shè)備和應(yīng)用程序。會(huì)話引擎102、107更適宜包括壓縮/解壓縮引擎用以傳輸時(shí)壓縮語音(或者結(jié)果)和為了本地處理對(duì)通過網(wǎng)絡(luò)從另一設(shè)備或應(yīng)用程序獲得的壓縮語音(或者結(jié)果)進(jìn)行解壓縮。語音傳輸協(xié)議被在設(shè)備中執(zhí)行的語音傳輸?shù)目蛻魴C(jī)利用來向/從其它連網(wǎng)設(shè)備、系統(tǒng)或者應(yīng)用程序傳送/接收被壓縮的語音進(jìn)行處理。設(shè)備的語音傳輸客戶機(jī)與壓縮、解壓縮和重建引擎聯(lián)合操作,利用合適的壓縮硬件,處理通過網(wǎng)絡(luò)傳輸?shù)恼Z音。語音編碼器提供感知可接受的或可理解的被壓縮語音的重建和優(yōu)化的會(huì)話性能(如,字錯(cuò)率)。語音在各自的連網(wǎng)設(shè)備上利用聲信號(hào)處理引擎(音頻子系統(tǒng))和合適的音頻硬件被捕捉(和轉(zhuǎn)換成特征)。此外,壓縮的語音文件格式在處理語音的設(shè)備之間可以被傳輸和接收。特別是,語音傳輸協(xié)議允許設(shè)備向/從網(wǎng)絡(luò)上的其它設(shè)備和應(yīng)用程序傳輸和接收壓縮的語音或本地的處理結(jié)果。在一個(gè)實(shí)施例中,當(dāng)在一個(gè)傳輸設(shè)備和一個(gè)接收設(shè)備之間握手處理后,一數(shù)據(jù)流(基于信息包)被發(fā)送到接收器。包的頭最好指出為編碼此語音(或者結(jié)果)所利用的編碼方案和編碼主目(即,抽樣頻率、特征特性、維數(shù)、前端應(yīng)用的變換、前端的性質(zhì)等)。此外,糾錯(cuò)信息也可以被引入(例如,如果前一個(gè)包丟失或者延遲,前一個(gè)包的最后特征矢量糾正差動(dòng)解碼器)或者合適的消息來恢復(fù)(重發(fā))這些丟失的包。
此外,對(duì)話管理器可以經(jīng)由對(duì)話管理器協(xié)議或者DM協(xié)議通信。(如在上面引用的IBM Docket No.Y0999-111P中所討論的)。DM協(xié)議可以被用來在多個(gè)對(duì)話管理器之間協(xié)商哪個(gè)對(duì)話管理器被激活,或者哪個(gè)對(duì)話管理器應(yīng)該接收該輸入。因?yàn)樵诒緦?shí)施例中,服務(wù)器資源僅僅當(dāng)被真正需要時(shí)被“輪詢”,DM協(xié)議提供一種變化本地對(duì)話管理器進(jìn)行一預(yù)先測(cè)試以決定是否此功能應(yīng)該被遠(yuǎn)程執(zhí)行。在有錯(cuò)誤產(chǎn)生或者存在疑惑的情況下,對(duì)話管理器可以等待本地引擎的推測(cè)并在仍存有疑惑時(shí)決定輪詢一服務(wù)器來比較。
因此,根據(jù)上面的討論,應(yīng)該明白網(wǎng)絡(luò)協(xié)議提供在連網(wǎng)設(shè)備之間的協(xié)同(或者一個(gè)協(xié)同界面)來共享會(huì)話服務(wù)和功能。術(shù)語協(xié)同界面意味著一單個(gè)會(huì)話可以在不同的參加者(設(shè)備/應(yīng)用程序)之間被把握,如同它們都理解整個(gè)會(huì)話并合適地知道在任意給定的時(shí)間誰被訪問。每一會(huì)話系統(tǒng)的行為或者應(yīng)用可以被對(duì)話管理器(例如,主-從模式中的主設(shè)備)、應(yīng)用(此應(yīng)用可以確立誰是主、從或者對(duì)等)、系統(tǒng)對(duì)話管理器(如果有)、組織和協(xié)商(在對(duì)等模式中)控制/管理,在合適的系統(tǒng)上對(duì)用戶透明地執(zhí)行每一會(huì)話功能。對(duì)于一個(gè)客戶設(shè)備上的用戶來說,提供了一個(gè)無縫的會(huì)話界面(即,所有的會(huì)話交互似乎是經(jīng)由一個(gè)單一的會(huì)話系統(tǒng)),盡管某些會(huì)話功能、系統(tǒng)和資源可能被提供幾個(gè)連網(wǎng)的設(shè)備(例如,一蜂窩式電話、一呼機(jī)和一PDA)。
協(xié)同的會(huì)話系統(tǒng)的一個(gè)例子(上面描述的公開在前面引用的的IBMDocket No.Y0999-111P中)是稱作UCA(通用會(huì)話設(shè)備)的遠(yuǎn)程控制。UCA發(fā)現(xiàn)明白會(huì)話的設(shè)備。每個(gè)會(huì)話連接的設(shè)備將發(fā)送它的會(huì)話主目(詞匯表和語法)到UCA。UCA作為這種設(shè)備的主設(shè)備并且當(dāng)一會(huì)話交互隨同用戶結(jié)果成為一命令到此設(shè)備時(shí)將更新適當(dāng)?shù)脑O(shè)備。相反地,依據(jù)命令的執(zhí)行或者每次設(shè)備改變狀態(tài)時(shí),它將發(fā)送一個(gè)更新到遠(yuǎn)程控制。一個(gè)沒有其他會(huì)話能力(除了相應(yīng)主目)的會(huì)話設(shè)備是那個(gè)被稱作“匿名伙伴”的。
在另一個(gè)實(shí)施例中,一個(gè)服務(wù)器或者基站,除音頻捕捉壓縮和由遠(yuǎn)程控制(或UCA)執(zhí)行的傳送外可以執(zhí)行所有的會(huì)話功能。遠(yuǎn)程控制也可以提供一些UI給用戶來通知他/她不同設(shè)備的狀態(tài)。這可以經(jīng)由語音、GUI或者這些形式(或者其它)的任何會(huì)話的組合完成。
盡管會(huì)話網(wǎng)絡(luò)拓?fù)淇梢耘c圖1的系統(tǒng)聯(lián)系起來使用,一個(gè)最優(yōu)的網(wǎng)絡(luò)拓?fù)涫翘峁┮环N自發(fā)的動(dòng)態(tài)連網(wǎng)(即,在一定的通信范圍內(nèi)的設(shè)備之間自發(fā)的建立的一網(wǎng)絡(luò))。這種自發(fā)的連網(wǎng)可以通過應(yīng)用當(dāng)前新興的例如描述在http://www.bluetooth.com上的“藍(lán)牙”連網(wǎng)協(xié)議實(shí)現(xiàn)。簡(jiǎn)單地說,藍(lán)牙是給網(wǎng)絡(luò)協(xié)議的一個(gè)代號(hào),藍(lán)牙網(wǎng)絡(luò)協(xié)議提供特別的無線網(wǎng)絡(luò)的連通性。更特別的是,藍(lán)牙是在一個(gè)特定的范圍內(nèi)的設(shè)備(例如,智能電話、蜂窩式電話、呼機(jī)、PDA、便攜式電腦、移動(dòng)設(shè)備等)之間在特定的范圍內(nèi)提供短程無線射頻鏈路來動(dòng)態(tài)地和自發(fā)地在這樣的設(shè)備之間建立一個(gè)網(wǎng)絡(luò)(或是大家知道的“piconet”(微網(wǎng)))。一個(gè)微網(wǎng)指的是在網(wǎng)絡(luò)連接的剩余期間與在每個(gè)微網(wǎng)中扮演主設(shè)備的一個(gè)結(jié)點(diǎn)以特殊方式連接的藍(lán)牙允許設(shè)備(結(jié)點(diǎn))的集合。兩個(gè)或更多的微網(wǎng)可以被網(wǎng)絡(luò)連接以構(gòu)成所謂的一個(gè)“scatternet”(分散網(wǎng))。
看得出,依照本發(fā)明任何自發(fā)的動(dòng)態(tài)連網(wǎng)協(xié)議可以被實(shí)現(xiàn)。例如,圖1的網(wǎng)絡(luò)拓?fù)淇梢砸勒赵诿绹?guó)專利申請(qǐng)序列號(hào)No.09/198,378描述的“hopping”通信網(wǎng)絡(luò)實(shí)現(xiàn),該專利申請(qǐng)1998年11月24日遞交、名稱為“Automated Traffic Mapping”,此專利已一般轉(zhuǎn)讓,此處引用以做參考。
現(xiàn)參看圖2,圖2是描述根據(jù)本發(fā)明的一個(gè)方面在連網(wǎng)設(shè)備之間提供自動(dòng)和協(xié)同共享會(huì)話功能的一種方法的流程圖。特別是,圖2進(jìn)一步詳細(xì)描述了圖1系統(tǒng)操作的一種方法。開始,用戶發(fā)出一個(gè)口頭命令(或者否則發(fā)出一個(gè)詢問)到本地客戶設(shè)備,這個(gè)口頭命令或詢問通過數(shù)字化或抽取數(shù)字化語音信號(hào)的相關(guān)特征而被預(yù)處理過(步驟200)。作為選擇,本地對(duì)話管理器可以接收從本地應(yīng)用程序104傳來的請(qǐng)求產(chǎn)生合成語音(TTS)以輸出到該用戶(步驟200)。
(經(jīng)由本地對(duì)話管理器103)決定本地處理是否可用(步驟201),例如,是否語音識(shí)別或者語音合成可在本地執(zhí)行。對(duì)于這個(gè)決定可以看出,本地對(duì)話管理器103可以明確地預(yù)先確定識(shí)別/合成必須在其上發(fā)生的一個(gè)遠(yuǎn)程服務(wù)器,(例如,一IP地址對(duì)于套接口連接的、一URL地址對(duì)于經(jīng)由小服務(wù)程序(servlet)基于服務(wù)器登記,或者一電話號(hào)碼對(duì)于直接連接或連接到一個(gè)IVR的)。此外,本地設(shè)備沒有可以利用的資源或者主目來執(zhí)行(或者有效地執(zhí)行)一任務(wù)的確定,也可由對(duì)話管理器103依據(jù)本地應(yīng)用程序104的執(zhí)行根據(jù)由該應(yīng)用程序在頭文件中指示的資源需求而作出。另外,某些命令或者請(qǐng)求的功能可以引起對(duì)話管理器自動(dòng)地連接到一個(gè)遠(yuǎn)程服務(wù)器。例如,安全性應(yīng)用程序(如,說話者確認(rèn))可以自動(dòng)地被切換到服務(wù)器端處理,所以聲波紋不被分配到客戶機(jī)。再者,本地汽車導(dǎo)航系統(tǒng)可以利用電話或者基于套接口的服務(wù)器能被自動(dòng)地切換到遠(yuǎn)程服務(wù)器,以致于本地設(shè)備不必存儲(chǔ)大量的導(dǎo)航信息。
如果確定本地處理是可行的(肯定的確定在步驟201),則處理將經(jīng)由本地引擎102在本地執(zhí)行(步驟202)。另一方面,如果確定本地處理是不可行的(否定的確定在步驟201),那么相關(guān)的特征/波形/信息被自動(dòng)傳輸給一個(gè)遠(yuǎn)程網(wǎng)絡(luò)連接的服務(wù)器(步驟204)(經(jīng)由IP、LAN、藍(lán)牙、IR、RF或者經(jīng)由電話或者IP電話),在其中遠(yuǎn)程處理(例如,語音識(shí)別/合成)被執(zhí)行(步驟205)(可能與某個(gè)用戶/服務(wù)器交互)。
顯然從本地客戶機(jī)到遠(yuǎn)程網(wǎng)絡(luò)連接的服務(wù)器的語音傳輸(反之亦然)可以利用不同的技術(shù)實(shí)現(xiàn)。例如,可以當(dāng)作文件、流或者信息包流直接傳送波形。另外,一個(gè)被壓縮的波形可以利用傳統(tǒng)的方法如ADPCM和APC傳輸。而且,一個(gè)特征的流可以依據(jù)G.Ramaswamy等人在“Compression Of Acoustic Features For Speech Recognition InNetwork Environments,”Vol.2,pp.977-980,Proc.ICASSP,1998公開的方法傳輸,此處引入以供參考。此方法允許在接收端識(shí)別(語音識(shí)別、說話者識(shí)別或者NLU)而不重建信號(hào)。此外,語音傳輸可以利用任何編碼方法或者基于壓縮特征和音調(diào)估計(jì)的方案,允許語音信號(hào)以足夠可理解的質(zhì)量和平滑舒緩的重放(用以重放、校正、進(jìn)一步人性處理、或者歸檔)而被重建。這種編碼方案應(yīng)該提供低到4kbits/s和5kbits/s之間的數(shù)據(jù)率而不降低識(shí)別性能。其結(jié)果是以后端(服務(wù)器)資源支持的的交互式交換,甚至通過無線調(diào)制解調(diào)器或者無線數(shù)據(jù)鏈路,就可以實(shí)時(shí)執(zhí)行??梢岳斫?,利用相似的編碼方案若要提供非常高質(zhì)量的重放,其它的方案必須被采用。另外,任何允許cepstra特征和音調(diào)壓縮、允許在服務(wù)器端識(shí)別(語音、說話者、NLU)且在接收端沒有退化并重建信號(hào)的方法可與本發(fā)明結(jié)合使用。此重建對(duì)于以后從服務(wù)器的重放或者從客戶機(jī)(若是本地存儲(chǔ))的重放和處理,為隨后的校對(duì)抄本、錯(cuò)誤校正或者人的處理監(jiān)控是有用的。可以理解任何合適的壓縮方案(編碼協(xié)議)可以被利用。
可以理解,壓縮或者編碼方案(傳送協(xié)議或編碼協(xié)議)在不同的設(shè)備之間可以不同。例如,從音頻捕捉系統(tǒng)(客戶機(jī)的)傳送輸入語音到連網(wǎng)資源的編碼可能不同于從連網(wǎng)資源(服務(wù)器)到音頻輸出(客戶機(jī))用于傳送輸出語音(例如提示、重放或者TTS)的編碼協(xié)議。確實(shí),在第一種情況下,編碼應(yīng)該被優(yōu)化以在服務(wù)器端提供良好的識(shí)別性能,回放的重建固然重要但并不引人注目地重要。當(dāng)然比特率(壓縮率)是重要的。壓縮率的折衷可在魯棒性(錯(cuò)誤率-特征失真)和知覺質(zhì)量之間作出調(diào)整以達(dá)到和保持一個(gè)目標(biāo)比特率。同樣,某些方案可以被選擇以給某些信道或者背景失真增加魯棒性。另一方面,對(duì)于后面的任務(wù)(輸出信號(hào)),應(yīng)該為了可理解或者知覺質(zhì)量和舒適性,或者保持聲音或音頻某些特殊的特征而優(yōu)化編碼。經(jīng)過本地處理(步驟202)或遠(yuǎn)程處理(步驟205)后,一個(gè)關(guān)于該處理結(jié)果是否被接受的決定(步驟203和206)被作出(經(jīng)由本地對(duì)話管理器103或者服務(wù)器對(duì)話管理器108)。如果確定處理的結(jié)果是不可接受的(否定決定在步驟203和206),則本地客戶機(jī)或者遠(yuǎn)程服務(wù)器將自動(dòng)地(經(jīng)由IP、LAN、藍(lán)牙、IR、RF或者經(jīng)由電話或者IP電話連接)轉(zhuǎn)發(fā)該特征或者波形給能執(zhí)行這種處理的服務(wù)器(步驟204和步驟207)。例如,如果這種結(jié)果是未知或者沒有被識(shí)別或者是模糊不清(或者基于與每個(gè)資源(本地的或服務(wù)器)的對(duì)話管理器相關(guān)的可信度度量),則對(duì)語音識(shí)別結(jié)果或NLU的拒絕可能發(fā)生。更可取的是,從本地的或者遠(yuǎn)程系統(tǒng)到一個(gè)服務(wù)器系統(tǒng)的自動(dòng)連接可以基于聲音或者被返回的LM(語言模型)得分的水平上,該得分由本地語音解碼器應(yīng)用如在美國(guó)專利申請(qǐng)5,937,383,Ittycheriah等人、名稱為“Apparatus and Methods ForSpeech Recognition Including Individual or Speaker ClassDependent Decoding History Caches For Fast Word Acceptance orRejection”中所教導(dǎo)的技術(shù),此專利已一般轉(zhuǎn)讓,此處引入以供參考(例如,當(dāng)這些得分被判定低于一個(gè)給定的閾值時(shí)遠(yuǎn)程服務(wù)器被連接)??梢岳斫猓烙?jì)可信度或識(shí)別說話和詢問(在其期間或者對(duì)話以后)的任何合適的度量或者方法可以被用來決定一個(gè)被會(huì)話系統(tǒng)獲得的結(jié)果是否可以接受(在這種情況下另一個(gè)系統(tǒng)被考慮)。
相似地對(duì)TTS,本地的和遠(yuǎn)程的對(duì)話管理器103、108可以檢查一個(gè)文本的復(fù)雜性來決定是否此TTS將被本地或者遠(yuǎn)程地執(zhí)行。例如,當(dāng)一個(gè)字的發(fā)音規(guī)則不知道時(shí)或者當(dāng)文本需要復(fù)雜的句法分析時(shí)TTS將被遠(yuǎn)程執(zhí)行。另一個(gè)例子是如果此TTS必須被用一個(gè)不同的口音、方言或者一種不同的語種發(fā)音或者假定模仿某人特定的句子時(shí)。
當(dāng)處理被遠(yuǎn)程執(zhí)行后,結(jié)果被發(fā)送回本地客戶機(jī)(步驟208)(經(jīng)由電話、IP地址、MAC(媒體存取控制)地址等)。很明顯,輸出(即,給用戶輸出的語音)可以被本地地或者在服務(wù)器上合成。如果合成是在服務(wù)器上進(jìn)行,被合成的語音可以以壓縮格式傳輸(利用上面討論的語音傳輸協(xié)議)給用戶在本地解壓縮??梢岳斫?,編碼方案可以和用于從客戶機(jī)到服務(wù)器傳輸語音特征的方案相同或者不同。作為選擇,例如,在另外的模擬PSTN線路上,用通過從客戶機(jī)到服務(wù)器的電話呼叫(回叫)建立的聯(lián)接,語音可以通過服務(wù)器被直接“廣播”。
最近的努力開始發(fā)展識(shí)別語音的合適的可信性度量。例如,在“LVCSR Hub5 Workshop”,1996年4.29-5.1,MITAGS,MD,由NIST和DARPA組織,提出不同的方法來把一個(gè)可信度級(jí)別加于一個(gè)字一個(gè)可信度級(jí)別上。一個(gè)利用決策樹的方法在字相關(guān)特征(訓(xùn)練說話的數(shù)量、最小和平均三音素(triphone)事件、語言模型訓(xùn)練事件、音素/lefemes數(shù)量、持續(xù)時(shí)間、聲音得分(快速匹配或者精細(xì)匹配)、語音非語音),句子相關(guān)特征(信號(hào)噪音比、講話速率估計(jì)每秒鐘的字?jǐn)?shù)或lefemes數(shù)或者元音數(shù)、語言模型提供句子的似然、似然率、每幀規(guī)一化平均似然、語言模型中的三字母組事件),上下文中的字特征(語言模型中三字母組事件)及說話者外貌特征(口音、方言、性別、年齡、講話速率、身份、音頻質(zhì)量、SNR等…)上進(jìn)行訓(xùn)練。對(duì)于此樹的每一個(gè)葉在訓(xùn)練數(shù)據(jù)上都計(jì)算了錯(cuò)誤的概率。構(gòu)造這樣一個(gè)樹的算法被Breiman等人在“Classification and RegressionTrees”,Chapman & Hal,1993中討論過。識(shí)別方面,所有的或這些特征中的一些在識(shí)別過程中被度量,并且對(duì)于每一個(gè)字,決策樹走到提供一個(gè)可信度級(jí)別的葉。此外,參考Neti等人的標(biāo)題為“Word BasedConfidenee Measure As A Guide For Stack Search In SpeechRecognition”,ICASSP97,慕尼黑,德國(guó),1997.4一文,描述了一完全依靠IBM棧解碼器返回的得分的方法(使用對(duì)數(shù)似然一實(shí)際上用的是平均增量對(duì)數(shù)似然、精細(xì)匹配、快速匹配)。
在LVCSR處理中,使用通過線性回歸的預(yù)測(cè)器估計(jì)可信度級(jí)別的另一種方法被執(zhí)行。被利用的預(yù)測(cè)器是字的持續(xù)時(shí)間、語言模型得分、每一幀平均聲音得分(最好得分)和NBEST列表中同頂部選擇相同的字的一部分。顯然根據(jù)本發(fā)明的一個(gè)實(shí)施例,兩種方法(經(jīng)由決策樹度量的可信度級(jí)別和經(jīng)由線性預(yù)測(cè)器度量的可信度級(jí)別)結(jié)合起來,在任何轉(zhuǎn)換處理中系統(tǒng)地提取可信度級(jí)別,并不局限于語音識(shí)別。
基于過去的改進(jìn)和該領(lǐng)域的飛速發(fā)展,現(xiàn)在我們可以說對(duì)于幾種轉(zhuǎn)換可以連系一個(gè)可信度值到正被轉(zhuǎn)換的組件上,例如,從0到1,0意味著無轉(zhuǎn)換被執(zhí)行,1意味著轉(zhuǎn)換無疑,此處組件可以是要轉(zhuǎn)換的文本、短語、字和更一般地任何材料的邏輯塊。如上描述的線性預(yù)測(cè)器和決策樹的結(jié)合是本發(fā)明優(yōu)選采用的一種方法。確實(shí),作為例子,由說話者識(shí)別引擎返回的得分累計(jì)(快速匹配得分和精細(xì)匹配得分及背景模型和同伴的得分)可以被用來構(gòu)建可信度級(jí)別的一決策樹和/或一線性預(yù)測(cè)器,這樣說話者真正被正確鑒別。實(shí)際上,在說話者識(shí)別的情況下,這個(gè)執(zhí)行驗(yàn)證的總量與識(shí)別階段獲得的相等。
可以看出遠(yuǎn)程服務(wù)器可以發(fā)送信息例如TTS規(guī)則或者基本格式、語法等給本地客戶機(jī)以存儲(chǔ)在高速緩存中,這樣本地設(shè)備隨后可以應(yīng)用這種信息本地處理類似的請(qǐng)求。因?yàn)楸镜卦O(shè)備由于缺乏所需要的資源而不能執(zhí)行某些任務(wù),由服務(wù)器對(duì)話管理器108發(fā)送這種處理信息給本地客戶機(jī)的決定可以根據(jù)由本地設(shè)備在與遠(yuǎn)程服務(wù)器連接時(shí)關(guān)于它的會(huì)話能力向遠(yuǎn)程服務(wù)器的注冊(cè)(經(jīng)由上面所討論的注冊(cè)協(xié)議)而被作出。
顯然本發(fā)明可以在這種情況下實(shí)現(xiàn),此時(shí)由一設(shè)備(經(jīng)由它的對(duì)話管理器)執(zhí)行的會(huì)話功能量,設(shè)備是不能提供必須的資源用于這些功能的即時(shí)執(zhí)行(例如,IVR有太多的被系統(tǒng)同時(shí)使用的端口)。因而,對(duì)話管理器可以實(shí)現(xiàn)提供會(huì)話系統(tǒng)管理和裝載管理,借此,在一個(gè)特定的功能執(zhí)行時(shí)對(duì)話管理器可以決定利用另一個(gè)會(huì)話系統(tǒng)來繼續(xù)處理被請(qǐng)求的功能。特別是,參看圖3,開始,用戶發(fā)出一個(gè)口頭命令給本地客戶設(shè)備,它是被預(yù)處理過的,例如,被數(shù)字化和提取數(shù)字化信號(hào)的相關(guān)的特征(步驟300)。作為另一種選擇,本地對(duì)話管理器可以從一本地應(yīng)用程序104接收一請(qǐng)求來產(chǎn)生一個(gè)合成語音(TTS)輸出給用戶(步驟300)。對(duì)話管理器將決定是否本地處理應(yīng)該被執(zhí)行(步驟301)(例如,是否要語音識(shí)別、對(duì)話管理或者語音合成)。這個(gè)決定根據(jù)的不僅是本地會(huì)話能力、主目和資源(如上面所討論的),而且也根據(jù)由于網(wǎng)絡(luò)交通擁塞網(wǎng)絡(luò)引起的延遲與利用可用的但被約束的本地資源(假定本地的和遠(yuǎn)程的設(shè)備可以執(zhí)行相同的功能)執(zhí)行此會(huì)話功能可能引起的延遲相比較的評(píng)價(jià)。因而,例如,當(dāng)命令和控制功能在本地/通過網(wǎng)絡(luò)受到威脅被延遲時(shí)可以遠(yuǎn)程地/本地地執(zhí)行來減小延遲。確實(shí),可以掌握更長(zhǎng)延遲的查詢(例如,由于和后端功能相聯(lián)合可以適應(yīng)延遲如因特網(wǎng)或視聽查詢),可以在一個(gè)優(yōu)化其資源或花費(fèi)的系統(tǒng)上執(zhí)行。
此外,萬一網(wǎng)絡(luò)連接暫時(shí)不可用或者缺乏網(wǎng)絡(luò)資源,則所有可以被本地執(zhí)行的功能將被執(zhí)行。其他功能可以被細(xì)分成可以以延期的模式執(zhí)行的功能(在以后連接時(shí)可被重新建立)以及不共存的功能。典型的例子是更新地址薄、經(jīng)由口述或者大體上的口述應(yīng)答e-mail或者消息。再者,最好應(yīng)用程序可以決定是否該命令是本地的或者是延期的。也可以考慮一種帶有延期模式的對(duì)等,在此一延期模式管理器和一本地引擎決定是否該功能是本地的或者是延期的。
再參看圖3,如果對(duì)話管理器確定本地處理是合適的(肯定決定在步驟301),則對(duì)話管理器將分配必需的會(huì)話引擎給端口(步驟302)。一旦此會(huì)話引擎被分配給該端口,如果會(huì)話引擎當(dāng)前沒有被最初分配的端口所使用,則對(duì)話管理器可以分配那個(gè)引擎給其它端口(步驟303)(例如,當(dāng)前說話者沒有說話而只是在聽)。當(dāng)本地引擎再次被最初被分配的端口所需要時(shí),如果此本地端口不可得到,另一個(gè)可用的引擎(本地或者在一個(gè)遠(yuǎn)程設(shè)備上)可以被利用(步驟304)。這種動(dòng)態(tài)分配過程與傳統(tǒng)的裝載管理大不相同,在傳統(tǒng)的裝載管理中對(duì)話管理器決定并在功能調(diào)用的整個(gè)持續(xù)時(shí)間,分配會(huì)話引擎到每個(gè)端口。
不難看出管理和決定傳輸語音例如到一個(gè)網(wǎng)絡(luò)服務(wù)器或者設(shè)備不但可以根據(jù)系統(tǒng)管理/裝載平衡的水平(通過客戶機(jī)或者服務(wù)器上的對(duì)話管理器),而且還根據(jù)網(wǎng)絡(luò)的通信量。例如,如果一個(gè)連接(特別是在因特網(wǎng)上基于TCP/IP的網(wǎng)絡(luò)連接)被認(rèn)為是超載(步驟305),則基于通信量一個(gè)新的服務(wù)器或者設(shè)備被選擇(步驟306)。這個(gè)決定可以在傳統(tǒng)協(xié)議如VoIP協(xié)議(因特網(wǎng)上的聲音協(xié)議)頂端作出,象RSVP協(xié)議(資源預(yù)訂協(xié)議)一樣,借此,當(dāng)需要一個(gè)信道時(shí),連接可以隨同相關(guān)質(zhì)量服務(wù)的合適預(yù)訂一起建立。否則,如上所述遠(yuǎn)程處理將被執(zhí)行(步驟307)并返回結(jié)果。
顯然這里所描述的系統(tǒng)和方法可以實(shí)現(xiàn)以用于各種允許的語音和會(huì)話應(yīng)用程序。本發(fā)明對(duì)于滿足在嵌入的和流行的計(jì)算世界的不斷增長(zhǎng)的要求及NLU/NLG會(huì)話系統(tǒng)方面特別有用。然而,可以理解,本發(fā)明可以為不同的應(yīng)用而被發(fā)展,并不局限于嵌入式系統(tǒng)。下面作為范例的實(shí)施例將說明本發(fā)明的優(yōu)點(diǎn)。
例如,在智能電話上應(yīng)用的商業(yè)可用嵌入式的姓名撥號(hào)器(例如,一個(gè)具有PDA(個(gè)人數(shù)字助理)能力的無線電話)是一個(gè)典型的應(yīng)用。例如,假定客戶設(shè)備100是一個(gè)具有姓名撥號(hào)器本地應(yīng)用的智能電話。用戶將在智能電話的電子地址薄中本地存儲(chǔ)一個(gè)所希望的姓名和地址的表。然后用戶可以發(fā)出一個(gè)命令如“dial first name last name(撥姓和名)at…可能的限定符(家庭、辦公室、蜂窩式電話)”,通過對(duì)命令的識(shí)別/理解(經(jīng)由本地會(huì)話引擎102),智能電話將自動(dòng)地?fù)艿刂繁≈信c此人相關(guān)的電話號(hào)碼(經(jīng)由本地應(yīng)用程序104)。另一方面,當(dāng)發(fā)出的姓名不在地址薄中時(shí)(因而不被識(shí)別/理解),但該姓名存在于一個(gè)更大的公司的(或者公用的)目錄中(如包含在遠(yuǎn)程服務(wù)器106中),則這個(gè)請(qǐng)求可以被(以特征或者波形)保存和傳輸給一個(gè)遠(yuǎn)程服務(wù)器106來識(shí)別。然后撥號(hào)可以直接被遠(yuǎn)程服務(wù)器執(zhí)行或者依據(jù)通過遠(yuǎn)程服務(wù)器接收的合適信息,由智能電話來執(zhí)行。作為替代,在第一個(gè)情況下用戶可以被連接到一個(gè)遠(yuǎn)程的服務(wù)器并建立一個(gè)對(duì)話,或重新請(qǐng)求要撥號(hào)的姓名或者要求進(jìn)一步的信息(在白頁(yè)或者黃頁(yè)服務(wù)類型的情況下)。
本發(fā)明的另一種有用的應(yīng)用涉及個(gè)人信息系統(tǒng),例如商業(yè)可用的PointCast(參見http://www.pointcast.com),這個(gè)PointCast允許用戶根據(jù)預(yù)定的用戶優(yōu)先選擇得到例如,股票報(bào)價(jià)、關(guān)于某一主題特定的信息和關(guān)于此主題最近公布的信息。應(yīng)用根據(jù)本發(fā)明構(gòu)成的個(gè)人信息系統(tǒng),如果用戶希望獲得關(guān)于一股票(例如,IBM)或者一主題(例如,預(yù)報(bào)在Kent的綠豆生產(chǎn))的信息,則用戶可以發(fā)出一個(gè)語音請(qǐng)求給客戶設(shè)備100。如果“IBM”是在本地詞匯表(用戶概況)中,則它將立即被解碼,用戶得到最新報(bào)價(jià),例如獲得最近一次更新(PointCast)。另一方面,如果用戶關(guān)于“綠豆”的請(qǐng)求沒有被本地客戶設(shè)備100理解,則該請(qǐng)求被作為特征流自動(dòng)向前傳遞給(內(nèi)容提供者的)遠(yuǎn)程服務(wù)器106,在此處服務(wù)器可以投入更多的資源來解碼這種請(qǐng)求和檢索相關(guān)信息(無論如何都得做),然后傳輸這種信息給本地系統(tǒng)。如果遠(yuǎn)程服務(wù)器遵循一“推銷方法(push approach)”,則上面這些在下次更新時(shí)就被完成(例如,PointCast)。
客戶設(shè)備100也可以是一個(gè)允許使用語音的PVA(個(gè)人交通工具助理),用以提供如會(huì)話的汽車導(dǎo)航。例如,如果用戶不想在此系統(tǒng)應(yīng)用CD-ROM(因?yàn)槿狈臻g、能源要求、重量、成本、防震等),用戶可以決定存儲(chǔ)有限的信息,例如有關(guān)用戶當(dāng)前所處位置、用戶最近所處位置、及用戶想出游的區(qū)域/位置的詞表和地圖。在這個(gè)例子中,無論何時(shí),當(dāng)用戶的請(qǐng)求與本地詞表或者地圖設(shè)置不匹配時(shí),這個(gè)請(qǐng)求可以被自動(dòng)發(fā)送給一個(gè)遠(yuǎn)程服務(wù)器106,并解碼(甚至以提示返回給用戶去縮小范圍查找)來獲得路線、地圖(或者更新地圖)下載到車上。再者,這種操作(即使花費(fèi)高代價(jià)的下載)對(duì)用戶來說是基本上透明的,僅開始需要本地道路。
此外,一個(gè)NLU/FSG系統(tǒng)可以根據(jù)本發(fā)明被設(shè)計(jì),以便如果用戶的請(qǐng)求需要FSG(限定狀態(tài)語法),則該請(qǐng)求可以被本地執(zhí)行,除非該請(qǐng)求更復(fù)雜并處在蒙昧狀態(tài),因而需要向前傳遞給一個(gè)遠(yuǎn)程服務(wù)器來識(shí)別。
公司的姓名-撥號(hào)器服務(wù)器提供另一種有意思的特點(diǎn)。一個(gè)公司為它的雇員們保留一個(gè)電話號(hào)碼的有效數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)總是最新的。用戶可以選擇周期性地來使它本地的信息與公司數(shù)據(jù)庫(kù)保持同步。這是一個(gè)傳統(tǒng)的概念。然而,當(dāng)用戶利用姓名撥號(hào)器并且需要經(jīng)由TCP/IP連接到服務(wù)器上時(shí),此同步可以實(shí)現(xiàn)(在語音識(shí)別期間),這樣本地?fù)芴?hào)信息總被更新。同樣,當(dāng)用戶請(qǐng)求導(dǎo)航到一個(gè)新的其信息沒有包括在用戶本地地圖中時(shí),系統(tǒng)可以下載位于本地PVA上的聲信息及用戶所希望出游地區(qū)的一組導(dǎo)航信息。
圖1的系統(tǒng)也可以用會(huì)話瀏覽器系統(tǒng)實(shí)現(xiàn),會(huì)話瀏覽器系統(tǒng)描述于IBM Docket No.Y0998-392P,當(dāng)前同此發(fā)明一起被遞交,名稱為“Conversational Browser and Conversational System”,并已被一般轉(zhuǎn)讓,引入此處以供參考,其中從一個(gè)內(nèi)容提供器(服務(wù)器)傳輸(并被會(huì)話瀏覽器處理)的CML(會(huì)話標(biāo)記語言)頁(yè)在概念上類似用于可視顯示的HTML(超文本標(biāo)記語言)頁(yè),用來描述要被呈現(xiàn)給用戶的一個(gè)會(huì)話UI。在這個(gè)例子中,會(huì)話瀏覽器可以是客戶設(shè)備100的本地應(yīng)用程序104和/或遠(yuǎn)程(IVR)服務(wù)器106中的服務(wù)器應(yīng)用程序109??捎蓛?nèi)容提供者或應(yīng)用開發(fā)者(或者代理/代碼轉(zhuǎn)換器)來決定用戶應(yīng)該提供的一個(gè)給定的項(xiàng)目(例如,NLU,或FSG輸入表單或經(jīng)口授填充一空表單)必須在服務(wù)器106上被識(shí)別,而不是提供所有的數(shù)據(jù)給客戶設(shè)備100在本地識(shí)別(因?yàn)榇巳蝿?wù)對(duì)于本地資源來說太復(fù)雜或者因?yàn)橥ㄟ^網(wǎng)絡(luò)必須發(fā)送太多的信息)。其實(shí)現(xiàn)是通過例如在一個(gè)CML文件中提供一個(gè)URL(統(tǒng)一資源定位器)和標(biāo)記來指示服務(wù)器其中一個(gè)處理將發(fā)生,或者通過在CML頁(yè)中裝載一小應(yīng)用程序、一Active X組件或者一個(gè)捕捉音頻的插件(或者它的任何變化),實(shí)現(xiàn)可能的一些會(huì)話功能,并為其它功能將其傳輸給其它設(shè)備(這是由頁(yè)面的制作者作出的典型的決定)。這個(gè)決定可以自動(dòng)地被代碼轉(zhuǎn)換器和注冊(cè)機(jī)制實(shí)現(xiàn),如在IBM Docket No.Y0998-392P中所描述,由此,瀏覽器向它取出CML頁(yè)的服務(wù)器明白地描述它的能力。當(dāng)代碼轉(zhuǎn)換器另考慮瀏覽器的能力并使內(nèi)容適合這種能力時(shí)(這種能力即是所提到的會(huì)話代理),現(xiàn)在,根據(jù)瀏覽器的能力,代碼轉(zhuǎn)換器可以增加服務(wù)器的URL(s)以重定向服務(wù)器。在這種情況下,被客戶設(shè)備100收集到的語音可以被作為一個(gè)波形(被壓縮或者沒有)或者作為特征流發(fā)送給遠(yuǎn)程服務(wù)器106或者識(shí)別發(fā)生其上的網(wǎng)絡(luò)服務(wù)器110(或者NLU/NLG)。然后識(shí)別的結(jié)果可以被發(fā)送回客戶設(shè)備100或者CML提供者服務(wù)器(遠(yuǎn)程服務(wù)器106)來決定操作的下一個(gè)行動(dòng)或者進(jìn)一步處理。再者如上面所述的,這可以被能直接結(jié)合資源/引擎/服務(wù)器的URL的應(yīng)用程序決定或者要被用來識(shí)別一個(gè)給定的輸入、菜單表格或者對(duì)話的本地設(shè)備決定。此外,本發(fā)明在一個(gè)CML頁(yè)必須重放/合成聲音或者文本對(duì)于本地設(shè)備102的本地會(huì)話引擎102來說太復(fù)雜的情況下是有用的。太復(fù)雜的部分可以作為特征流或者被壓縮波形從任一個(gè)特定的服務(wù)器(這個(gè)服務(wù)器可能是或者不是提供CML頁(yè)的服務(wù)器)上得到。而且,對(duì)于多語言系統(tǒng),如果一個(gè)CML頁(yè)包含一種不同的語種,則沒有合適能力的本地客戶設(shè)備100可以請(qǐng)求一個(gè)遠(yuǎn)程服務(wù)器來執(zhí)行按那種語言的會(huì)話功能。
顯然,會(huì)話協(xié)同可以在有會(huì)話瀏覽器的分布式應(yīng)用中使用。例如,參看圖4,一個(gè)分布式系統(tǒng)有一個(gè)表示服務(wù)器400、一個(gè)引擎服務(wù)器401、和一具有會(huì)話瀏覽器403的客戶機(jī)402(如在上面參考Y0998-392P中所討論)。該瀏覽器403從表示服務(wù)器400接收CML的頁(yè)并處理此CML頁(yè)。CML頁(yè)可包含允許瀏覽器403決定發(fā)送語音到何處進(jìn)行處理的信息。一個(gè)語音服務(wù)器位于引擎服務(wù)器401上。假定CML頁(yè)需要引擎服務(wù)器401處理語音,瀏覽器403可以經(jīng)由HTTP(或者套接口或者RMI)與語音服務(wù)器聯(lián)系(傳輸呼叫)來傳輸音頻給語音服務(wù)器并發(fā)送合適的數(shù)據(jù)文件指令和引擎呼叫??蛻魹g覽器403被假定有一些本地處理能力來執(zhí)行語音處理(經(jīng)由語音API和語音識(shí)別引擎405)。如上面提到,在本地語音處理和服務(wù)器端語音處理之間的轉(zhuǎn)移由從表示服務(wù)器400接收到的CML頁(yè)決定。這個(gè)決定可以被內(nèi)容提供者編碼或者適應(yīng)此設(shè)備(客戶402決定它能執(zhí)行此任務(wù)并把該任務(wù)發(fā)送給一個(gè)已知的或者已被發(fā)現(xiàn)的服務(wù)器或者代碼轉(zhuǎn)換器)。
在圖5,瀏覽器403位于被客戶402存取的一個(gè)瀏覽器服務(wù)器404上(瀏覽器服務(wù)器404在客戶機(jī)402和表示服務(wù)器400之間充當(dāng)中介物)。再者,瀏覽器403決定是否執(zhí)行本地或者服務(wù)器端的處理。如此處所描述,音頻是可以利用會(huì)話編碼被傳輸。
本發(fā)明允許一個(gè)低資源客戶設(shè)備透明地本地執(zhí)行簡(jiǎn)單的任務(wù),又以二進(jìn)制或模擬方式與一具有更復(fù)雜會(huì)話能力的服務(wù)器(或者別的設(shè)備)相連接透明地執(zhí)行復(fù)雜任務(wù)。服務(wù)器端功能(例如語音識(shí)別)可以通過一個(gè)常規(guī)的IP網(wǎng)絡(luò)或者LAN網(wǎng)絡(luò)實(shí)現(xiàn),也可以經(jīng)由傳統(tǒng)的電話線路或包交換網(wǎng)絡(luò)數(shù)字傳輸,或者在無線網(wǎng)絡(luò)上經(jīng)由任何傳統(tǒng)的無線數(shù)據(jù)協(xié)議而能被執(zhí)行。模擬/數(shù)字連接實(shí)施例描述了至少兩個(gè)方案。第一,它是等價(jià)于一個(gè)調(diào)制解調(diào)器實(shí)現(xiàn)的二進(jìn)制連接,所有的功能是數(shù)據(jù)傳遞功能。此外,當(dāng)一個(gè)服務(wù)器/分布式資源被包含時(shí),系統(tǒng)可以調(diào)用一個(gè)電話服務(wù)器作為資源,且聲音在網(wǎng)絡(luò)上被發(fā)送(而不是波形數(shù)據(jù)或者它的變換如cepstra)。這一方案的一個(gè)例子是與本地語音識(shí)別功能(姓名撥號(hào)器和數(shù)字撥號(hào)器)的一無線連接,此本地語音識(shí)別功能經(jīng)由一個(gè)常規(guī)的無線連接到一個(gè)具有IVR的電話服務(wù)器上來獲取其它功能,象語音瀏覽因特網(wǎng)、獲得股票/共有基金報(bào)價(jià)和通過語音執(zhí)行金融交易。這種機(jī)制在今天可以利用現(xiàn)存的蜂窩式電話設(shè)備上裝備一些語音識(shí)別能力。
另外,不同的機(jī)制可以被利用來管理流通量和在網(wǎng)絡(luò)上分布的資源,以保證在網(wǎng)絡(luò)上保持一合適的會(huì)話交互的對(duì)話流。這種機(jī)制包括會(huì)話協(xié)議(如上面所討論的),音頻RecoVC(識(shí)別兼容VoCoder)(允許回放重建帶有音調(diào)的編碼協(xié)議),應(yīng)用程序和元信息分布式應(yīng)用協(xié)議、發(fā)現(xiàn)、注冊(cè)、協(xié)商、維護(hù)對(duì)話流的服務(wù)器負(fù)載管理、保持對(duì)話流的流量平衡和路由選擇、基于任務(wù)特征和能力需求及會(huì)話主目可用性(數(shù)據(jù)文件)的引擎服務(wù)器選擇,會(huì)話主目分配存儲(chǔ)、流量/路由選擇和高速緩存。
盡管圖例的實(shí)施例在此參考附圖已被描述,應(yīng)該理解,本系統(tǒng)和方法并不局限于這些刻板的實(shí)施例,在不脫離本發(fā)明的范圍和精神的情況下,技術(shù)上熟悉的人可作各種不同的改變和修改。所有這種改變和修該都應(yīng)包括在所附加的權(quán)利要求書中定義的范圍內(nèi)。
權(quán)利要求
1.一種提供會(huì)話資源的自動(dòng)和協(xié)同共享的系統(tǒng),包括一個(gè)包含至少第一和第二網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò);第一和第二網(wǎng)絡(luò)設(shè)備每個(gè)包括一組會(huì)話資源;一對(duì)話管理器,用于管理會(huì)話,并執(zhí)行調(diào)用請(qǐng)求會(huì)話服務(wù);及一通信棧,使用會(huì)話協(xié)議在網(wǎng)絡(luò)上傳遞消息,其中使用會(huì)話協(xié)議傳遞的消息,在第一和第二網(wǎng)絡(luò)設(shè)備的對(duì)話管理器之間建立協(xié)同的網(wǎng)絡(luò)通信,以自動(dòng)地共享第一和第二網(wǎng)絡(luò)設(shè)備的一組會(huì)話資源,當(dāng)需要時(shí),執(zhí)行它們各自請(qǐng)求的會(huì)話服務(wù)。
2.按照權(quán)利要求1的系統(tǒng),其中所說的第一和第二網(wǎng)絡(luò)設(shè)備的一組會(huì)話資源集包括至少一語音識(shí)別引擎、一說話者識(shí)別引擎、一文本到語音合成TTS引擎、一自然語言理解NLU引擎、一自然語言產(chǎn)生NLG引擎、一個(gè)音頻捕捉和壓縮/解壓縮引擎、一主題識(shí)別引擎、一音頻/多媒體索引和查找引擎,及其組合。
3.按照權(quán)利要求1的系統(tǒng),其中的會(huì)話協(xié)議包括協(xié)同協(xié)議,以允許第一和第二設(shè)備的對(duì)話管理器交換包括它們各自的會(huì)話狀態(tài)、主目和上下文信息,并交換對(duì)話組件。
4.按照權(quán)利要求3的系統(tǒng),其中的協(xié)同協(xié)議用于對(duì)第一和第二設(shè)備對(duì)話管理器之間的主/從和對(duì)等網(wǎng)絡(luò)通信中的一個(gè)進(jìn)行協(xié)同。
5.按照權(quán)利要求1的系統(tǒng),其中的會(huì)話協(xié)議包括發(fā)現(xiàn)協(xié)議,以允許第一和第二設(shè)備發(fā)現(xiàn)明白會(huì)話的設(shè)備及在網(wǎng)絡(luò)上的應(yīng)用程序。
6.按照權(quán)利要求5的系統(tǒng),其中的發(fā)現(xiàn)協(xié)議實(shí)現(xiàn)“廣播和收聽”方法。
7.按照權(quán)利要求6的系統(tǒng),其中的發(fā)現(xiàn)協(xié)議被執(zhí)行,以至少在第一和第二網(wǎng)絡(luò)設(shè)備之間建立動(dòng)態(tài)和自發(fā)的網(wǎng)絡(luò)。
8.按照權(quán)利要求1的系統(tǒng),其中的會(huì)話協(xié)議包括注冊(cè)協(xié)議,用來交換關(guān)于會(huì)話資源、能力、及需求的信息。
9.按照權(quán)利要求8的系統(tǒng),其中的會(huì)話協(xié)議包括協(xié)商協(xié)議,用來交換信息,以便根據(jù)它們各自會(huì)話資源、能力,在第一和第二網(wǎng)絡(luò)設(shè)備之間建立一網(wǎng)絡(luò)配置。
10.按照權(quán)利要求9的系統(tǒng),其中的網(wǎng)絡(luò)配置包括主/從網(wǎng)絡(luò)和對(duì)等網(wǎng)絡(luò)之一。主/從網(wǎng)絡(luò)中第一和第二設(shè)備之一的對(duì)話管理器控制第一和第二設(shè)備兩者的會(huì)話資源;對(duì)等網(wǎng)絡(luò)中第一和第二設(shè)備的對(duì)話管理器協(xié)商以控制會(huì)話資源。
11.按照權(quán)利要求1的系統(tǒng),其中的會(huì)話協(xié)議包括語音傳輸協(xié)議,用于在第一和第二設(shè)備之間傳送壓縮的語音波形,壓縮的語音特征及壓縮的結(jié)果之一。
12.一種提供會(huì)話資源的自動(dòng)和協(xié)同共享的系統(tǒng),包括一客戶機(jī),包含本地會(huì)話資源和一對(duì)話管理器,其中對(duì)話管理器用以管理本地會(huì)話資源、處理對(duì)會(huì)話服務(wù)請(qǐng)求,并判斷是否會(huì)話服務(wù)請(qǐng)求能用本地會(huì)話資源實(shí)現(xiàn);及一包含服務(wù)器會(huì)話資源的服務(wù)器,其中如果使用本地會(huì)話資源不能執(zhí)行請(qǐng)求的會(huì)話服務(wù),客戶機(jī)的對(duì)話管理器將自動(dòng)地訪問服務(wù)器,以便用服務(wù)器的會(huì)話資源處理。
13.一種在網(wǎng)絡(luò)設(shè)備之間提供會(huì)話資源的自動(dòng)和協(xié)同共享的方法,包括以下步驟由第一網(wǎng)絡(luò)設(shè)備接收一會(huì)話服務(wù)請(qǐng)求;由第一網(wǎng)絡(luò)設(shè)備判斷用哪一種方式是本地地用第一網(wǎng)絡(luò)設(shè)備的會(huì)話資源,還是遠(yuǎn)程地用至少一第二網(wǎng)絡(luò)設(shè)備的會(huì)話資源,或是本地地和遠(yuǎn)程地用本地和遠(yuǎn)程兩者的會(huì)話資源去處理請(qǐng)求的會(huì)話服務(wù);及如果判斷出會(huì)話服務(wù)至少一部分要遠(yuǎn)程地使用至少第二網(wǎng)絡(luò)設(shè)備的會(huì)話資源而被處理,則自動(dòng)地同至少第二網(wǎng)絡(luò)設(shè)備通信。
14.按照權(quán)利要求13的方法,還包括使用會(huì)話協(xié)議傳輸消息的步驟,以便在第一和至少第二網(wǎng)絡(luò)設(shè)備之間建立協(xié)同的網(wǎng)絡(luò)通信,以共享會(huì)話資源。
15.按照權(quán)利要求13的方法,其中的判斷步驟包括判斷是否本地的會(huì)話資源可用來處理請(qǐng)求的會(huì)話服務(wù)的步驟;并且該方法還包括步驟如果判斷本地的會(huì)話資源可用來處理請(qǐng)求的會(huì)話服務(wù),使用本地的會(huì)話資源執(zhí)行此請(qǐng)求的會(huì)話服務(wù);判斷本地處理的結(jié)果是否可接受;及如果確定本地處理的結(jié)果不可接受,自動(dòng)地訪問至少第二網(wǎng)絡(luò)設(shè)備,遠(yuǎn)程地處理此請(qǐng)求的會(huì)話服務(wù)。
16.按照權(quán)利要求13的方法,其中的判斷步驟包括判斷是否至少第二網(wǎng)絡(luò)設(shè)備是由第一網(wǎng)絡(luò)設(shè)備預(yù)先指派,以處理會(huì)話服務(wù)的步驟。
17.按照權(quán)利要求13的方法,其中的判斷步驟是基于網(wǎng)絡(luò)連接的可用性和第一網(wǎng)絡(luò)設(shè)備和至少第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)通信量之一。
18.按照權(quán)利要求14的方法,其中的自動(dòng)訪問步驟包括以下步驟通過使用會(huì)話協(xié)議傳輸?shù)南?,同至少第二網(wǎng)絡(luò)設(shè)備自動(dòng)建立網(wǎng)絡(luò)連結(jié);及把壓縮的語音特征和壓縮的波形之一傳送到至少第二網(wǎng)絡(luò)設(shè)備。
19.一種通過機(jī)器可讀的程序存儲(chǔ)器設(shè)備,確實(shí)地嵌入機(jī)器可執(zhí)行的程序指令,以實(shí)現(xiàn)在網(wǎng)絡(luò)設(shè)備之間提供會(huì)話資源的自動(dòng)和協(xié)同共享的方法步驟,這些方法步驟包括由第一網(wǎng)絡(luò)設(shè)備接收一會(huì)話服務(wù)請(qǐng)求;由第一網(wǎng)絡(luò)設(shè)備判斷用哪一種方式是本地地用第一網(wǎng)絡(luò)設(shè)備的會(huì)話資源,還是遠(yuǎn)程地用至少一第二網(wǎng)絡(luò)設(shè)備的會(huì)話資源,或是本地地和遠(yuǎn)程地用本地和遠(yuǎn)程兩者的會(huì)話資源去處理請(qǐng)求的會(huì)話服務(wù);及如果判斷出會(huì)話服務(wù)至少一部分要遠(yuǎn)程地使用至少第二網(wǎng)絡(luò)設(shè)備的會(huì)話資源而被處理,自動(dòng)地同至少第二網(wǎng)絡(luò)設(shè)備通信。
20.按照權(quán)利要求19的程序存儲(chǔ)器設(shè)備,還包括按會(huì)話協(xié)議執(zhí)行傳輸消息的步驟的指令,以便在第一和至少第二網(wǎng)絡(luò)設(shè)備之間建立協(xié)同的網(wǎng)絡(luò)通信,共享會(huì)話資源。
21.按照權(quán)利要求19的程序存儲(chǔ)器設(shè)備,其中執(zhí)行判斷步驟的指令包括執(zhí)行判斷是否本地的會(huì)話資源可用來處理請(qǐng)求的會(huì)話服務(wù)的指令;并且其中程序存儲(chǔ)器設(shè)備還包括執(zhí)行下面步驟的指令如果判斷本地的會(huì)話資源可用來處理請(qǐng)求的會(huì)話服務(wù),使用本地的會(huì)話資源執(zhí)行此請(qǐng)求的會(huì)話服務(wù);判斷本地處理的結(jié)果是否可接受;及如果確定本地處理的結(jié)果不可接受,自動(dòng)地訪問至少第二網(wǎng)絡(luò)設(shè)備,遠(yuǎn)程地處理此請(qǐng)求的會(huì)話服務(wù)。
22.按照權(quán)利要求19的方法,其中執(zhí)行判斷步驟的指令包括執(zhí)行判斷是否至少第二網(wǎng)絡(luò)設(shè)備是由第一網(wǎng)絡(luò)設(shè)備預(yù)先指派,以處理此會(huì)話服務(wù)的步驟的指令。
23.按照權(quán)利要求19的程序存儲(chǔ)器設(shè)備,其中的判斷步驟是基于網(wǎng)絡(luò)連接的可用性和第一網(wǎng)絡(luò)設(shè)備和至少第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)通信量之一。
24.按照權(quán)利要求20的方法,其中執(zhí)行自動(dòng)訪問步驟的指令包括執(zhí)行下列步驟的指令使用會(huì)話協(xié)議,同至少第二網(wǎng)絡(luò)設(shè)備自動(dòng)建立網(wǎng)絡(luò)連結(jié);及把壓縮的語音特征和壓縮的波形之一傳送到至少第二網(wǎng)絡(luò)設(shè)備。
全文摘要
一個(gè)在網(wǎng)絡(luò)連接的服務(wù)器和設(shè)備及它們相應(yīng)的應(yīng)用程序之間提供自動(dòng)和協(xié)同共享會(huì)話資源,例如功能和主目,的系統(tǒng)和方法。一方面,一個(gè)提供自動(dòng)和協(xié)同共享會(huì)話資源的系統(tǒng)包含:包含第一(100)和第二(106)網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò);此第一(100)和第二(106)網(wǎng)絡(luò)設(shè)備每個(gè)包含一組會(huì)話資源(102、107)、一對(duì)話管理器(103、108)用來管理一會(huì)話和執(zhí)行調(diào)用請(qǐng)求會(huì)話服務(wù),以及一通信棧(111、115)用以使用會(huì)話協(xié)議在網(wǎng)絡(luò)上傳遞消息,其中會(huì)話協(xié)議在第一和第二設(shè)備的對(duì)話管理器之間建立協(xié)同的網(wǎng)絡(luò)通信來自動(dòng)地共享第一和第二網(wǎng)絡(luò)設(shè)備的一組會(huì)話資源,在需要時(shí),執(zhí)行它們各自所請(qǐng)求的會(huì)話服務(wù)。
文檔編號(hào)H04M1/725GK1323435SQ99811616
公開日2001年11月21日 申請(qǐng)日期1999年10月1日 優(yōu)先權(quán)日1998年10月2日
發(fā)明者斯蒂芬·H·梅斯, 波納尼·格帕拉克里世南 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司