專利名稱:通過一般分層對象進(jìn)行有效語音導(dǎo)航的系統(tǒng)的制作方法
本申請基于下列兩個(gè)臨時(shí)申請美國序列號60/102,957(1998年10月2日申請)以及美國序列號60/117,595(1999年1月27日申請)總體而言,本發(fā)明涉及會(huì)話系統(tǒng),更具體地講,是提供快速、有效的會(huì)話導(dǎo)航的系統(tǒng)和方法;會(huì)話導(dǎo)航的對象可以是特定站點(diǎn)(例如,Web站點(diǎn))的CML(會(huì)話標(biāo)記語言)頁面或使用框架或樹結(jié)構(gòu)的會(huì)話服務(wù)(在用戶首次連接到服務(wù)提供商時(shí),框架或樹結(jié)構(gòu)描述該站點(diǎn)、站點(diǎn)的一部分或服務(wù)),或者與給定的服務(wù)相關(guān)聯(lián)的復(fù)雜對話。
在不久的將來,諸如NLU(自然語言理解)和NLG(自然語言生成)以及對話管理之類的會(huì)話系統(tǒng)將成為人/機(jī)界面的重要組成部分。為使這些會(huì)話系統(tǒng)功能更強(qiáng),這些系統(tǒng)應(yīng)允許用戶盡可能自然地提出查詢,就象在普通對話中那樣。的確,此類系統(tǒng)應(yīng)提供混合或定向的主動(dòng)性,以使用戶能夠基于系統(tǒng)的反應(yīng)完成、糾正、修改或澄清自己的查詢,同時(shí)還應(yīng)提供利用查詢快速訪問復(fù)雜分層菜單的能力。
然而,自然對話系統(tǒng)常規(guī)實(shí)例化的設(shè)計(jì)方式使得用戶在組成其查詢的序列或元素中要使用限制性相對較強(qiáng)的邏輯。對于FSG(有限狀態(tài)語法)或純統(tǒng)計(jì)NLU系統(tǒng)就是如此。確實(shí),NLU十分注重理解對于給定的環(huán)境、應(yīng)用程序或查詢模式的輸入信息。
而且,對于會(huì)話系統(tǒng),當(dāng)語音輸出為僅有的輸出形式時(shí),便很難向用戶提供復(fù)雜的服務(wù)(例如,Web頁面、分層的DTMF菜單、有多個(gè)選項(xiàng)的NLU/NLG系統(tǒng)以及基于表單的實(shí)現(xiàn))。通常,用戶必須瀏覽多個(gè)Web頁面或DTMF菜單才能找到感興趣的信息。因此,極需一種系統(tǒng)和方法來提供必要的信息,從而使用戶能夠快速瀏覽整個(gè)站點(diǎn)或可用的對話服務(wù),而無須查看或收聽指向所需服務(wù)或交易的每個(gè)可能的頁面或菜單。
本發(fā)明涉及一種系統(tǒng)和方法,用以通過完整描述對話(會(huì)話)系統(tǒng)所支持的功能和服務(wù)的分層結(jié)構(gòu)(結(jié)構(gòu)框架)來提供快速、有效的會(huì)話導(dǎo)航。
一方面,提供會(huì)話系統(tǒng)和方法,將對話菜單和目標(biāo)地址預(yù)加載到與其相關(guān)聯(lián)的對話管理過程,以便處理多個(gè)或復(fù)雜的模式、環(huán)境或應(yīng)用程序。例如,內(nèi)容服務(wù)器(Web站點(diǎn))可以下載描述用戶初次與服務(wù)器相連時(shí)由服務(wù)器提供的內(nèi)容(頁面)或服務(wù)的框架或樹結(jié)構(gòu)。該框架對用戶是隱藏的(不講話),但用戶可以發(fā)出語音命令來訪問感興趣的頁面或特定的對話服務(wù),其中,語音命令通過反應(yīng)正常(按照用戶命令)的會(huì)話系統(tǒng)使用框架中所含的信息進(jìn)行識別。
本發(fā)明特別適用于僅以語音作為輸入形式的系統(tǒng),原因是它允許頻繁使用系統(tǒng)的用戶采用快捷方式來會(huì)話導(dǎo)航多個(gè)頁面、對話組件或NLU對話表單,以便找到感興趣的信息。該框架提供了必要的信息,使得用戶能夠快速瀏覽整個(gè)站點(diǎn)或可用的服務(wù),而無須查看或收聽指向所需服務(wù)或交易的每個(gè)可能的頁面。
本發(fā)明的上述信息以及其它的方面、功能和優(yōu)點(diǎn)將在下列關(guān)于優(yōu)選實(shí)施例的詳細(xì)說明中介紹并逐漸變得明朗,閱讀說明時(shí)應(yīng)參照附圖。
圖1是一個(gè)方框圖,是使用依據(jù)本發(fā)明實(shí)施例的會(huì)話框架提供會(huì)話導(dǎo)航的系統(tǒng);以及圖2是一個(gè)流程圖,是使用依據(jù)本發(fā)明一個(gè)方面的會(huì)話框架提供會(huì)話導(dǎo)航的方法。
應(yīng)理解,本發(fā)明可以通過各種形式的硬件、軟件、固件、專用處理器或這些內(nèi)容的組合來實(shí)現(xiàn)。優(yōu)選情況下,將本發(fā)明實(shí)現(xiàn)為一種包含確實(shí)體現(xiàn)在程序存儲(chǔ)設(shè)備上的程序指令的應(yīng)用程序,且能夠由包含適當(dāng)結(jié)構(gòu)的任何設(shè)備(嵌入的或以其它方式)或機(jī)器執(zhí)行;上述的程序存儲(chǔ)設(shè)備可以是軟盤、RAM、CD-ROM、ROM和快閃存儲(chǔ)器等。還應(yīng)理解,由于附圖中顯示的某些系統(tǒng)組成部件和方法步驟優(yōu)選情況下是以軟件實(shí)現(xiàn),系統(tǒng)部件(或處理步驟)間的實(shí)際連接會(huì)根據(jù)本發(fā)明的編程方式而有所不同。有了此處的說明,相關(guān)技術(shù)中的一個(gè)普通技術(shù)人員便能夠設(shè)想對于本發(fā)明的上述或者類似實(shí)現(xiàn)或配置。
還應(yīng)理解,本發(fā)明可以在任何基于會(huì)話/對話的系統(tǒng)中實(shí)現(xiàn),其中,用戶為了獲得所感興趣的信息或服務(wù),可能不得不收聽很多頁面、菜單或?qū)υ捊M件或者按層次結(jié)構(gòu)瀏覽一系列頁面、菜單或?qū)υ捊M件。盡管本發(fā)明可以由此類系統(tǒng)使用,但為便于說明,本發(fā)明將對照會(huì)話瀏覽器和CVM(會(huì)話虛擬機(jī))系統(tǒng)(公開于存檔號為IBM Y0998-392P的專利申請“會(huì)話瀏覽器和會(huì)話系統(tǒng)”以及存檔號為IBM Y0999-111P的專利申請“通過會(huì)話虛擬機(jī)進(jìn)行會(huì)話計(jì)算”中,這兩個(gè)專利是同時(shí)申請、共同轉(zhuǎn)讓的并完全列于此,以供參考)進(jìn)行闡述。
上述的申請IBM存檔號Y0998-392P講述的內(nèi)容是,利用會(huì)話瀏覽器和CML(會(huì)話標(biāo)記語言),使用以CML編寫的一系列相互鏈接的頁面來構(gòu)建會(huì)話系統(tǒng)。這個(gè)全新的概念類似于使用以HTML(超文本標(biāo)記語言)編寫的一系列相互鏈接的頁面來構(gòu)建常規(guī)的GUI瀏覽器應(yīng)用程序。此外,正如HTML可提供一系列機(jī)制,將GUI操作轉(zhuǎn)換為應(yīng)用程序操作(如,訪問其它頁面或與服務(wù)器進(jìn)行通信),會(huì)話瀏覽器和CML用于將語音輸入轉(zhuǎn)換為類似的應(yīng)用程序操作。
特別指出,CML頁面描述了要通過會(huì)話瀏覽器解釋且呈現(xiàn)給用戶的會(huì)話UI。在一個(gè)實(shí)施例中,CML頁面是通過基于當(dāng)前XML(可擴(kuò)展標(biāo)記語言)規(guī)范的標(biāo)記得以限定的。主要元素包括<page>、<body>、<menu>和<form>。Page元素集合了其它CML元素,是CML文檔的頂級元素。Body元素指定要由瀏覽器輸出的語音。Menu元素會(huì)給用戶若干個(gè)選項(xiàng),并將每個(gè)選項(xiàng)與一個(gè)目標(biāo)地址(例如,URL和套接字地址)關(guān)聯(lián)起來,該地址標(biāo)識了在用戶選擇該選項(xiàng)時(shí)要訪問的CML元素。Form元素允許用戶提供一條或多條信息,其中各信息的內(nèi)容例如均由語法進(jìn)行描述。此外,對話對象(如,小應(yīng)用程序)可以加載到頁面中。而且,NL對話的多個(gè)同時(shí)表單可以根據(jù)需要加載到CML頁面中。這種情況下,描述內(nèi)容可以只使用語言模型以及標(biāo)記和語法分析參數(shù)而不使用語法,也可以二者都使用。Form元素還指定當(dāng)用戶完成表單時(shí)要訪問的目標(biāo)地址。
從上述參考信息中更為完整的講述可知,在使用會(huì)話瀏覽器的純會(huì)話系統(tǒng)中,語音和音頻是提供給用戶的唯一輸出。如果用戶希望如此,將從服務(wù)提供商下載CML頁面。然后,會(huì)話瀏覽器使用CML頁面中的文本到語音標(biāo)記語言信息向用戶讀出該頁面并收聽用戶發(fā)出的命令,以便查詢鏈接、填寫表單或操作瀏覽器;這里的語音命令由語音識別程序(使用CML頁面語音識別部分的線索)進(jìn)行解碼。
這個(gè)會(huì)話界面意味著,為了能訪問到感興趣的信息,用戶通??赡苄枰章牬罅緾ML頁面或者按層次結(jié)構(gòu)瀏覽一系列CML頁面。如以上IBM存檔號Y0998-392P中所述,使用會(huì)話瀏覽器進(jìn)行導(dǎo)航的一種方法是“所聞即所講”方法,用戶可通過引用已經(jīng)向用戶讀過的頁面和鏈接來使瀏覽更快捷。此外,還有另一種導(dǎo)航形式是激活已加載頁面上的所有鏈接,即使這些鏈接尚未讀給用戶也不例外。然而,每種方法都要求用戶瀏覽連續(xù)的頁面,以便訪問在第一頁上沒有鏈接到的頁面。下面將對照圖示的實(shí)施例介紹另一種方法。
參照圖1的方框圖,它展示了依據(jù)本發(fā)明的實(shí)施例提供有效的會(huì)話導(dǎo)航的系統(tǒng)。系統(tǒng)包含客戶機(jī)100,它可以是個(gè)人計(jì)算機(jī)、智能電話、PDA(個(gè)人數(shù)字助理)或任何支持語音功能的普及計(jì)算(PvC)設(shè)備??蛻魴C(jī)100包含聲學(xué)前端/麥克風(fēng)/揚(yáng)聲器101,用以處理音頻/語音輸入以及輸出由會(huì)話瀏覽器103生成的音頻/語音??蛻魴C(jī)100還包含一個(gè)或多個(gè)本地會(huì)話引擎102,用以處理由聲學(xué)前端101生成和/或捕獲的聲學(xué)特性和/或波形,以及根據(jù)會(huì)話瀏覽器103的請求和管理而生成語音輸出。本地會(huì)話引擎102例如可以包括嵌套的語音識別引擎、揚(yáng)聲器識別引擎、TTS(文本到語音)引擎、NLU(自然語言理解)引擎和/或NLG(自然語言生成)引擎。會(huì)話瀏覽器103與一個(gè)或多個(gè)支持語音功能的本地應(yīng)用程序104交互,以便向用戶提供有關(guān)此類應(yīng)用程序的語音輸出。
如圖1的示例所示,客戶機(jī)100通過網(wǎng)絡(luò)105與包含一個(gè)或多個(gè)“站點(diǎn)”(例如,CML頁面107)的遠(yuǎn)程服務(wù)器106聯(lián)網(wǎng)。應(yīng)理解,術(shù)語“站點(diǎn)”此處指的是特定CML頁面上相關(guān)CML文件(或頁面)的集合。此外,盡管圖1中只顯示了一個(gè)服務(wù)器106,但應(yīng)知道,特定的“站點(diǎn)”可能延伸到一系列在不同位置上連接到網(wǎng)絡(luò)105的其它服務(wù)器(未顯示)。因此,為便于說明,假定與特定的“站點(diǎn)”相關(guān)的所有頁面均位于相同的服務(wù)器106上。
此外,應(yīng)理解,會(huì)話引擎102可以分布在網(wǎng)絡(luò)105(盡管在圖1中它們只作為客戶機(jī)100的本地引擎)中并可使用在同時(shí)申請的并公開于存檔號為IBM Y0999-113P的專利申請“提供網(wǎng)絡(luò)協(xié)調(diào)會(huì)話服務(wù)的系統(tǒng)和方法”(這個(gè)專利是共同轉(zhuǎn)讓的,列于此處,以供參考)中介紹的技術(shù)進(jìn)行訪問。此概念如圖1中的會(huì)話服務(wù)服務(wù)器111所示,該服務(wù)器可以提供任何形式的會(huì)話服務(wù)。盡管圖中只顯示了一個(gè)服務(wù)器111,但會(huì)話服務(wù)服務(wù)器111可以代表多個(gè)服務(wù)器。而且,會(huì)話服務(wù)器103可以位于網(wǎng)絡(luò)上并由客戶機(jī)100訪問。
依據(jù)本發(fā)明,內(nèi)容服務(wù)器106包括spider(蜘蛛)腳本108(如行業(yè)中所知),用以在客戶機(jī)100(通過會(huì)話瀏覽器103)訪問服務(wù)器106之前或之時(shí)動(dòng)態(tài)生成圖形樹或框架109。這里,框架109可以是有分層結(jié)構(gòu)的文檔(文件),描述了在用戶初次與服務(wù)器106相連時(shí)下載的所請求的“站點(diǎn)”或該“站點(diǎn)”的一部分。特別是當(dāng)客戶機(jī)100初次與內(nèi)容服務(wù)器106建立網(wǎng)絡(luò)連接時(shí),服務(wù)器106將執(zhí)行spider腳本108(即,在行業(yè)中稱為“crawler”、“robot”或“bot”的應(yīng)用程序),spider腳本108會(huì)“爬過”所請求CML頁面中的每個(gè)鏈接以提取信息(例如,從由作者提供或者通過自動(dòng)主題提取的標(biāo)題、元信息)并將其存儲(chǔ)在圖形樹結(jié)構(gòu)109中,從而用相對的已提取元信息映射該頁面。另外,服務(wù)器106可以提供由作者為服務(wù)器106中每個(gè)特定頁面107預(yù)構(gòu)建的框架110。由此,可以提前執(zhí)行上述的“爬行”,從而使框架能夠在與服務(wù)器連接后立即傳送給服務(wù)器,而不必由于等待執(zhí)行“爬行”而發(fā)生延遲。
應(yīng)理解,可以使用除常規(guī)“爬行”以外的方法來實(shí)現(xiàn)“爬行”功能。例如,替代常規(guī)方法的一種方法是通過協(xié)議調(diào)用,令會(huì)話瀏覽器(或基本平臺,例如,CVM)與Web服務(wù)器相連并從由服務(wù)器提供的映射中獲得信息。另外,它也可以從存儲(chǔ)在網(wǎng)絡(luò)中其它位置的其它高速緩存/存儲(chǔ)功能獲得這些信息,以便在網(wǎng)絡(luò)上提供適當(dāng)?shù)暮艚新酚珊屯ㄐ帕?負(fù)載平衡(如Y0999-113P所述)。
應(yīng)理解,“爬行”可以由內(nèi)容服務(wù)器106、會(huì)話服務(wù)服務(wù)器111或者會(huì)話瀏覽器103執(zhí)行。優(yōu)選情況下,提前執(zhí)行“爬行”。的確,盡管客戶機(jī)100或者服務(wù)器106、111都可以在與站點(diǎn)連接時(shí)生成“爬行”,但是由于對框架的訪問(進(jìn)而對話初始化)會(huì)延遲,這并不象提前執(zhí)行“爬行”那樣實(shí)用。因此,服務(wù)器106可以定期地在站點(diǎn)上“爬行”并存儲(chǔ)得到的框架,以便能夠在建立連接時(shí)將其發(fā)送給客戶機(jī)100。對于電話瀏覽器(其中會(huì)話瀏覽器位于遠(yuǎn)程服務(wù)器上),由于服務(wù)器會(huì)話瀏覽器(或者瀏覽器平臺,例如,CVM)可以訪問的站點(diǎn)通常很有限,瀏覽器可以替代服務(wù)器106執(zhí)行“爬行”。
還應(yīng)理解,盡管圖1的示范實(shí)施例顯示服務(wù)器106與客戶機(jī)100聯(lián)網(wǎng),但取決于應(yīng)用程序,服務(wù)器功能也可以包含在應(yīng)用程序或?qū)υ捴?,這里的應(yīng)用程序或?qū)υ拸膶τ诳蛻魴C(jī)100為本地的資源執(zhí)行或來自該資源,且客戶機(jī)100與服務(wù)器106可能位于同一計(jì)算機(jī)上。此外,該站點(diǎn)可以是實(shí)際站點(diǎn)、對話或應(yīng)用程序(本地或遠(yuǎn)程)。還應(yīng)進(jìn)一步認(rèn)為,框架109的存儲(chǔ)(和訪問)可在網(wǎng)絡(luò)105中任何計(jì)算機(jī)上進(jìn)行,如,客戶機(jī)100、服務(wù)器106、網(wǎng)關(guān)或路由器。
在說明性實(shí)施例中,框架(109或110)以CML文件形式提供(盡管應(yīng)理解框架可以作為與陳述形式(例如,XML、CML)相對的過程輸入而提供)。應(yīng)理解,無論怎樣實(shí)施(是CML、任何其它陳述性機(jī)制、過程等),由結(jié)構(gòu)框架為傳遞信息而執(zhí)行的一般功能都保持不變。這些信息包含與應(yīng)用程序或站點(diǎn)相關(guān)聯(lián)的對話的不同組件的分層菜單結(jié)構(gòu);每個(gè)對話菜單級別上的選項(xiàng);和/或構(gòu)成每個(gè)菜單的對話組件(以下將逐一進(jìn)行介紹)。
框架(109、110)的每個(gè)元素均使用隱藏標(biāo)記標(biāo)出,以使會(huì)話瀏覽器103不向用戶講出這些元素。例如,CML文檔的框架部分可以使用<skeleton></skeleton>標(biāo)記或任何等同的方式標(biāo)記出來??蚣艿捻撁嫱ㄟ^站點(diǎn)目錄結(jié)構(gòu)以常規(guī)的路徑形式(前綴、中綴等)提供。以下是CML文件格式中框架的一個(gè)示例<pre listing-type="program-listing"><![CDATA[<skeleton><Hidden><Menu><a target=”target address 1”>politics</a><Menu><a target=”target address 2”>International</a><Menu><a target=”target address 3”>Europe</a><Menu> <a target=”target address 4”>Belgium</a><Menu> <a target=”target address 5”>France</a> </Menu> <a target=”target address 6”>Africa</a> </Menu> <a target=”target address 7”>US</a> </Menu><a target=”target address x”>business</a><a target=”target address y”>weather</a><a target=”target address z”>sport</a><Menu> <a target=”target address z2”>International</a><Menu><a target=”target address z3”>Europe</a><Menu> <a target=”target address z4”>Belgium</a> <a target=”target address z5”>France</a> </Menu> <a target=”target address z6”>Africa</a> </Menu> <a target=”target address z7”>US</a> </Menu></Menu></Hidden></skeleton>]]></pre>
顯而易見,以上的框架結(jié)構(gòu)代表了一個(gè)在每個(gè)節(jié)點(diǎn)上都有target(目標(biāo))的分層樹結(jié)構(gòu),用以完成相關(guān)聯(lián)的查詢。例如,錨標(biāo)記<a>…</a>與屬性“target”一同使用可以創(chuàng)建一個(gè)“鏈接”,如在本行業(yè)中所理解的。每個(gè)“target address”(目標(biāo)地址)可以是URL或套接字地址或者任何可從中獲得對話或?qū)υ挼囊徊糠?參數(shù)的地址。例如,目標(biāo)地址可以是HTTP協(xié)議中的URL,也可以是會(huì)話瀏覽器應(yīng)用程序?;谏鲜鍪纠?,訪問CNN站點(diǎn)的用戶可以立即訪問有關(guān)“Belgium”(比利時(shí))的“international”(國際)新聞,或者請求有關(guān)貨幣兌換匯率的任何服務(wù),而不必辛苦地瀏覽以下頁面news(新聞)、international(國際)、Europe(歐洲)、Belgium(比利時(shí))等。
應(yīng)認(rèn)識到,在上述模型中,任何目標(biāo)均可通過引用地址來訪問如下內(nèi)容1.會(huì)話瀏覽器的CML頁面(例如,URL)2.驅(qū)動(dòng)特定模式/服務(wù)的對話的過程(例如,小應(yīng)用程序或CGI腳本、ActiveX組件)或者完成用戶查詢的一般過程(如圖1所示的網(wǎng)絡(luò)105上的會(huì)話服務(wù)111)。例如,服務(wù)可以包括用于音頻捕獲、CODEC壓縮和通信協(xié)議的本地插件、用于分布式處理的基礎(chǔ)設(shè)施以及服務(wù)器端對應(yīng)的元素(如Y0999-113P中所述)。另外,可以加載一個(gè)過程來執(zhí)行對話,而不必依靠CML頁面實(shí)現(xiàn)對話。這可以是直接與不同的會(huì)話引擎交談以構(gòu)建對話的任何程序,也可以是對話組件、基礎(chǔ)類別對象的組合(如以上Y0999-111P中所述)以及由基本平臺(例如,CVM)提供的服務(wù)。的確,過程可以由NLU/NLG、FSG驅(qū)動(dòng),主動(dòng)權(quán)由用戶(用戶需要構(gòu)建查詢)、系統(tǒng)(系統(tǒng)不斷地提出問題,以補(bǔ)充使查詢符合條件的所有參數(shù))掌握,也可使用混合主動(dòng)權(quán)用戶和系統(tǒng)交互來完成非模糊查詢。更具體地說,混合主動(dòng)權(quán)就是由用戶和系統(tǒng)共同驅(qū)動(dòng)對話。用戶可以在不被計(jì)算機(jī)提示的情況下發(fā)出有關(guān)哪些內(nèi)容被激活的查詢。此外,用戶提供的答案可以比計(jì)算機(jī)提出的問題多或者答非所問。如果對話支持用戶輸入的域,而且已經(jīng)激活了他的查詢所請求的功能(例如,有對應(yīng)的表單),則對話將切換以完成、糾正和/或澄清該查詢。對于由計(jì)算機(jī)指導(dǎo)的對話,計(jì)算機(jī)驅(qū)動(dòng)對話,即,用戶必須回應(yīng)特定的提示。根據(jù)本發(fā)明,用戶可以激活框架以跳轉(zhuǎn)到另一個(gè)提示并從該處繼續(xù)進(jìn)行由計(jì)算機(jī)驅(qū)動(dòng)的對話。對于由用戶指導(dǎo)的對話,用戶驅(qū)動(dòng)對話的方式是進(jìn)行查詢,直到查詢完成且已無歧異為止,然后計(jì)算機(jī)執(zhí)行這些查詢(類似于在HTML中填寫表單,即,用戶填寫表單,填寫滿意后提交該表單)。
3.向用戶提供的一系列表單,對于給定節(jié)點(diǎn)指示的服務(wù),通過基于表單的NLU/NLG來完成;以及4.語音(波形、特性)被送去處理的位置(如以上申請IBM存檔號Y0999-113P中所述)。
表單在以下參考資料中有說明Kishore,et al.“Free-FlowDialog Management Using Forms,”Proc.Eurospeech 1999,BudapestHungary,September 1999和Davies and al.,“The IBMConversational Telephony System For Financial Applications,”Proc.Eurospeech 99,Budapest Hungary,September 1999,這些資料列于此處,以供參考。
因此,如上所述,框架可以發(fā)出框架專用的對話(無論隱藏與否)。這意味著,可以加載表單或?qū)υ捊M件(會(huì)話對象),以便允許用戶利用框架功能(而不是通過CML隱藏組件)??蚣芸梢砸眯卤韱巍ML頁面或過程對話??蚣芤部梢宰鳛镃ML、多余表單或過程對話組件而提供。
而且,如上所述,本發(fā)明支持從站點(diǎn)自動(dòng)提取框架,以便映射交易的邏輯或特定站點(diǎn)的內(nèi)容。此外,框架可以由站點(diǎn)開發(fā)人員/業(yè)務(wù)邏輯所有者或內(nèi)容提供者來開發(fā)或編寫。應(yīng)理解,編寫/開發(fā)框架時(shí),應(yīng)捕獲應(yīng)用程序的邏輯以及對話的邏輯(應(yīng)理解,對話的捕獲可以有多種形態(tài),即它可以包含GUI和語音成分(同步)或其它形態(tài),或者僅限于語音或GUI)。對話捕獲不僅限于CML方法。的確,當(dāng)會(huì)話瀏覽器或任何其它會(huì)話應(yīng)用程序?qū)懺贑VM之上時(shí)(如以上IBM存檔號Y0998-392P以及Y0999-111P中所述),對話的隱藏部分仍應(yīng)被捕獲,無論它是應(yīng)用程序的完整業(yè)務(wù)邏輯還是對話組件之后的較短的邏輯。
因此,在過程的情況下,應(yīng)用程序可以通過與類似于此處所述的示范XML框架結(jié)構(gòu)內(nèi)容(通常帶有一個(gè)定義數(shù)量和字段性質(zhì)的標(biāo)題)的交換對象結(jié)構(gòu)的方式來交換業(yè)務(wù)邏輯信息。對象的這種過程性(例如,RPC(遠(yuǎn)程程序調(diào)用))交換可以承載更多信息。的確,這些對象還可以包含整個(gè)對話管理器、對話邏輯以及對話模塊的環(huán)境(即,對話的一部分)。有了所有的引擎調(diào)用和UI組件,這可以是對話的完全(full-blown)實(shí)現(xiàn)。例如,它可以是旨在收集電話號碼的完全基于語法或完全基于NL的對話。另一選擇是提供一系列實(shí)現(xiàn)基本對話組件的會(huì)話基礎(chǔ)類別。這些會(huì)話基礎(chǔ)類別和對象在以上的IBM存檔號Y0999-111P中進(jìn)行闡述。
復(fù)雜對話的構(gòu)建可以通過串行或并行組合這些基礎(chǔ)類別而實(shí)現(xiàn)。串行組合使用與實(shí)現(xiàn)額外UI、行為和對話以及執(zhí)行邏輯操作的與代碼交錯(cuò)的組件。并行組合則將不同的對話管理作為同時(shí)發(fā)生的應(yīng)用程序來激活。由CVM提供的基本對話管理器決定活動(dòng)的對話。CVM提供基礎(chǔ)類別的庫。因此,在下載時(shí),這些類別不進(jìn)行傳送,而是鏈接在瀏覽器或CVM平臺上。
而且,對于會(huì)話瀏覽器的情形,有同步范圍的表單(如以上IBM存檔號Y0998-392中所述)以及小應(yīng)用程序、插件和其它對話模塊可被視為展示完整對話邏輯的框架示例。
因此,框架可以是基于XML(或其它陳述技術(shù))或者過程(或各過程的組合)的任何結(jié)構(gòu),能夠提前捕獲和激活部分對話,否則在用戶在對話中導(dǎo)航來激活該部分對話之前,該部分對話一直被對話邏輯或業(yè)務(wù)邏輯隱藏??蚣茯?qū)動(dòng)的對話可以通過陳述平臺(例如,會(huì)話瀏覽器)或過程平臺(例如,對話組件等)作為應(yīng)用程序?qū)υ挼囊徊糠直患せ?。此?yīng)用程序?qū)υ挶旧砜梢曰谶^程形式或陳述形式或它們的任意組合。
因此,應(yīng)理解,框架的實(shí)現(xiàn)可以與CML實(shí)施例不同功能(即,要通過框架提供的信息)可以通過其它方式(如,被交換的對象)實(shí)施。此外,對這類信息的使用也可以通過其它方式實(shí)現(xiàn),例如,通過對話的過程定義或?qū)υ挼年愂龆x的其它形式。
下例(IBM存檔號Y0998-392P中有詳述)展示使用表單與過程的組合來激活復(fù)雜對話的整個(gè)邏輯<pre listing-type="program-listing"><![CDATA[ ?。糾enu name=main1 scope=global> ?。糵orm name=skeleton_form scope=multiple context=maintain></form> ?。糵orm name=form1 load=procedure1 scope=mulitple context=maintain></form> ?。糵orm name=form2 load=form2 scope=mulitple context=reset></form> <form name=form3 load=procedure3 scope=deactivated context=reset></form> ?。糵orm name=form4 load=procedure4 scope=mulitple context=reset></form> … </menu>]]></pre>上述示例表明,依據(jù)本方法可將框架表單加載在對話中。
因此,依據(jù)本發(fā)明,有結(jié)構(gòu)的框架可以通過交換框架XML信息、框架對象或者通過預(yù)加載和激活對話組件,來捕獲對話的邏輯或者站點(diǎn)或應(yīng)用程序的業(yè)務(wù)邏輯。這些對話組件可通過預(yù)加載XML頁面、預(yù)加載會(huì)話(過程)對象或這些內(nèi)容的組合來提供。有同步范圍表單的機(jī)制便是如何與會(huì)話服務(wù)器一同實(shí)現(xiàn)此目的的一個(gè)示例。
通過預(yù)加載和激活對話組件,可加速對給定服務(wù)或者交易的某部分的訪問,而無須遵循服務(wù)提供商最初提供的順序、回放或菜單。這幾乎等同于有操作員的對話,其中用戶對交換這樣的信息不感興趣操作員首先嘗試獲得但是立即轉(zhuǎn)接到給定的服務(wù)、立即提供執(zhí)行特定的查詢或立即返回先前的交易以便繼續(xù)進(jìn)行先前交易所需的最小信息。通過激活整個(gè)對話框,系統(tǒng)能夠填寫與該查詢相關(guān)聯(lián)的表單,而且在提供了足夠的信息時(shí)能夠繼續(xù)并完成查詢。如果查詢未完成,對話系統(tǒng)將只嘗試收集完成該表單所需的額外信息。
參看圖2,這是一張流程圖,展示了依據(jù)本發(fā)明的一個(gè)方面提供有效的會(huì)話導(dǎo)航的方法。應(yīng)理解,為了便于說明,此處介紹的方法基于使用CML和會(huì)話瀏覽器的系統(tǒng)。起初,客戶機(jī)將(通過會(huì)話瀏覽器)連接到服務(wù)提供商的服務(wù)器,以訪問特定的CML頁面(站點(diǎn))(步驟200)。如果所請求的站點(diǎn)有預(yù)構(gòu)建的框架(步驟201的結(jié)果是肯定的),預(yù)構(gòu)建的框架將被下載到客戶機(jī)(步驟203)。
另一方面,如果沒有預(yù)構(gòu)建的框架(步驟201的結(jié)果是否定的),會(huì)自動(dòng)生成站點(diǎn)框架(步驟202),然后將其下載到客戶機(jī)(步驟203)。應(yīng)理解,該框架可代表整個(gè)站點(diǎn)或站點(diǎn)的一部分。此外,框架還可以代表整個(gè)對話(例如,實(shí)現(xiàn)整個(gè)對話的過程)或?qū)υ挼囊徊糠?例如,描述對信用卡、電話號碼或電子郵件客戶程序進(jìn)行訪問所需的整個(gè)組件,處理日歷項(xiàng)、訂票、查看日程等所需的整個(gè)對話組件等)或者它們的組合。因此,理想情況下,用戶可以在信用卡或地址填寫對話過程中直接跳轉(zhuǎn)(這可能是在購物完成之前)。此外,在執(zhí)行另一個(gè)對話(如,銀行交易或電子郵件撰寫)時(shí),用戶可以跳轉(zhuǎn)到日歷查看對話中。因此,通過捕獲和激活其它對話部分(而不僅是站點(diǎn)信息),系統(tǒng)可以讓用戶在執(zhí)行給定的任務(wù)/對話的同時(shí)訪問其它應(yīng)用程序或應(yīng)用程序的部分。應(yīng)理解,這可以使用CML實(shí)現(xiàn)來執(zhí)行,其中每個(gè)對話部分均可通過特定的CML頁面或由這些頁面加載的過程來實(shí)現(xiàn)。還應(yīng)理解,站點(diǎn)框架可以由作者預(yù)構(gòu)建(步驟201),也可以通過令站點(diǎn)預(yù)“爬行”的方式預(yù)構(gòu)建(如上所述)。
一旦框架被下載(步驟203),會(huì)話瀏覽器將激活框架中包含的所有頁面(鏈接)(204)。起初,盡管頁面鏈接被激活,但框架對用戶仍然是隱藏的(即,不講話)。然而,如果用戶發(fā)出語音命令激活特定的鏈接以訪問特定的頁面(用戶認(rèn)為它與起初下載的頁面相關(guān))(步驟205的結(jié)果是肯定的),會(huì)話瀏覽器將分析框架的語法以找到框架中與識別出的用戶命令相對應(yīng)的鏈接(活動(dòng)文檔)(步驟206)。如果找到與用戶命令對應(yīng)的已激活鏈接(步驟207的結(jié)果是肯定的),將下載該站點(diǎn)(步驟208)并重復(fù)該步驟(返回步驟208)。此功能特別適用于以語音作為唯一的輸入/輸出形態(tài)的系統(tǒng)(它也適用于多形態(tài)系統(tǒng))。熟悉特定站點(diǎn)(及其相關(guān)站點(diǎn))的用戶可以快速導(dǎo)航一系列已知的CML頁面,而無須查看和收聽指向所需頁面、服務(wù)或交易的每個(gè)可能頁面。
另外,用戶可以詢問會(huì)話瀏覽器,以指明框架中指向所需主題或服務(wù)的特定鏈接是否與用戶查詢相匹配,或者通過讓瀏覽器讀回框架中的信息來瀏覽框架(步驟209的結(jié)果是肯定的)。當(dāng)用戶要查看給定的主題或者要收聽基礎(chǔ)頁面時(shí),瀏覽器將搜索框架并讀回信息或識別查詢匹配情況(步驟210)。一旦瀏覽器提供所請求的信息,用戶便可以(在框架中)選擇所需的鏈接(步驟211),以訪問所需的站點(diǎn)或服務(wù)(步驟208)。本發(fā)明的這個(gè)方面特別有用,原因是框架不僅可以包含有關(guān)對話的信息,還可以直接包含對話,以便用戶能夠搜索并跟蹤該信息(適用于用戶不熟悉對話或者應(yīng)用程序或站點(diǎn)太復(fù)雜以致需要混合主動(dòng)性對話方可找到適當(dāng)?shù)目旖莘绞交蛞虞d的組件的情形)。
更為理想的是,“站點(diǎn)”框架可以擴(kuò)展為包含與可視(GUI)瀏覽器中的框架等價(jià)的音頻內(nèi)容。特別指出,可由用戶導(dǎo)航或查詢的額外隱藏信息是由頁面作者編輯,并由作者手工構(gòu)建且作為框架添加進(jìn)去(即,與主CML頁面一同加載的單個(gè)頁面)的。在HTML中,框架允許用戶將頁面分成不同的內(nèi)嵌子頁或帶有指向不同HTML頁面的目標(biāo)地址的子頁。同樣,對于CML頁面,也可以引入框架來向用戶展示菜單或框架。例如,作者可以按下例顯示其站點(diǎn)頁面<pre listing-type="program-listing"><![CDATA[<CML><frameset interface=”hidden,play”><!這意味著第一個(gè)框架是隱藏的,第二個(gè)則播放給用戶><frame 1><skeleton target=url1></skeleton><frame 2>…[這一階段對話的主CML內(nèi)容頁面。也可用target標(biāo)記指向它]</frame 2></frameset></CML>]]></pre>這是激活對話的另一個(gè)示例。前一個(gè)示例展示了使用以并行方式激活的多個(gè)表單,此示例則展示了一種不同的用于并行激活的語法。
顯而易見,本發(fā)明適用于各種功能。在上述的專利申請Y0999-111P和Y0998-392P中介紹了以下概念“SpokenAge”是應(yīng)用程序開發(fā)環(huán)境,“會(huì)話變碼”是將常規(guī)演示材料轉(zhuǎn)換為會(huì)話材料(例如,將一般HTML頁面轉(zhuǎn)換為CML頁面)的機(jī)制。
這兩個(gè)申請中還介紹了功能變碼的概念將演示信息轉(zhuǎn)換為CML(即,將給定的HTML頁面轉(zhuǎn)換為CML頁面)以及“邏輯變碼”的概念。如上述申請Y0999-111P和Y0998-392P所述,邏輯變碼涉及基于站點(diǎn)后臺的業(yè)務(wù)邏輯來構(gòu)建對話。以前,由于變碼器無法訪問有關(guān)對話的“下一步”以及交易業(yè)務(wù)邏輯的“下一步”的信息,因而此方法非常困難。
由于結(jié)構(gòu)框架可以捕獲業(yè)務(wù)邏輯(多形態(tài)、僅限于語音或僅限于GUI),因而與邏輯變碼一同使用結(jié)構(gòu)框架會(huì)十分有利。當(dāng)然,這時(shí)的框架是HTML站點(diǎn)(而不是CML站點(diǎn))的結(jié)構(gòu),但該框架的基本原理并未更改。因此,應(yīng)理解,結(jié)構(gòu)框架的概念不局限于語音對話,而是可擴(kuò)展為任何對話,即使是基于GUI的對話也不例外。因此,通過訪問對話/交易或站點(diǎn)的框架并將其展開顯示給應(yīng)用程序開發(fā)人員(作為站點(diǎn)圖或?qū)υ拡D)或自動(dòng)化的變碼器,便可提供邏輯變碼工具。同樣,可以對變碼后的CML對話進(jìn)行優(yōu)化,以包含現(xiàn)在可用的所有業(yè)務(wù)邏輯信息。
更為理想的是,本發(fā)明也適用于與多形態(tài)會(huì)話瀏覽器一同使用。的確,在多形態(tài)情況中,GUI內(nèi)容是作為常規(guī)GUI瀏覽器設(shè)計(jì)的這一點(diǎn)十分明確。的確,真正引人注目的多形態(tài)頁面更傾向于使用GUI頁面來向用戶顯示某些只通過語音很難表達(dá)的信息。這還要求預(yù)加載框架,以增強(qiáng)對站點(diǎn)的會(huì)話導(dǎo)航功能。
在本發(fā)明的另一個(gè)說明性實(shí)施例中,可以考慮涉及帳戶管理、聯(lián)機(jī)支付和投資管理的NLU/NLG聯(lián)機(jī)銀行系統(tǒng)。例如,可以使用與由用戶執(zhí)行的所有操作相對應(yīng)的幾個(gè)表單來構(gòu)建此系統(tǒng)。可以實(shí)現(xiàn)NLU語法分析和轉(zhuǎn)換,以便提供表單的所有輸入字段的參數(shù);表單與參數(shù)和環(huán)境兼容??赏ㄟ^在完成前一個(gè)查詢之前激活新表單(即,查詢)趨勢的方式嵌入查詢。在完成嵌入查詢后,可通過查看尚未完成的先前表單來重新激活前一個(gè)環(huán)境。
如果能夠提供的查詢的可能類型有所增加,并行表單填寫會(huì)變得困難。以往,用戶需要(通過NLU查詢和混合主動(dòng)性)填寫一系列表單方可定義自己的意向。本發(fā)明的有利之處在于使用框架來代表更高級別的菜單,它可以表示為要為在給定的層次級別上填寫的每套表單添加的一個(gè)額外表單。因此,頻繁使用系統(tǒng)的用戶現(xiàn)在可以(通過查詢)激活框架的所需節(jié)點(diǎn)來跳過串行表單填寫并立即縮小查詢范圍。
可以想到,本發(fā)明可用其它各種應(yīng)用程序?qū)崿F(xiàn),以便提供有效的會(huì)話導(dǎo)航。這些系統(tǒng)的示例包括-PVA(個(gè)人車輛助理),這里會(huì)話瀏覽器是主UI環(huán)境;-VA(虛擬助理),這里NLU/NLG對話可以由表單、FSG或過程驅(qū)動(dòng);-有會(huì)話瀏覽器的PDA和智能電話;-企業(yè)軟件解決方案和電子商務(wù),以及電話應(yīng)用程序,這里IVR(交互式語音響應(yīng))腳本被CML和會(huì)話瀏覽器架構(gòu)所代替,上述兩項(xiàng)內(nèi)容都在上述申請(IBM存檔號Y0998-392P)中有所闡述;以及-電話/電話亭(kiosk)應(yīng)用程序,可在其中應(yīng)用基于表單的NLU工具箱。
盡管此處參照附圖介紹了說明性實(shí)施例,應(yīng)理解,本系統(tǒng)和方法不局限于這些實(shí)施例本身,本領(lǐng)域內(nèi)普通技術(shù)人員可能想到不背離本發(fā)明的范圍和宗旨的各種其它更改和修正。所有這些更改和修正都應(yīng)包括在權(quán)利要求書限定的發(fā)明范圍內(nèi)。
權(quán)利要求
1.一種用以提供會(huì)話導(dǎo)航的系統(tǒng),包括服務(wù)器,包含用以產(chǎn)生至少一個(gè)分層結(jié)構(gòu)化文檔的裝置,其中所述分層結(jié)構(gòu)化文檔包括所述服務(wù)器的內(nèi)容的映射和由所述服務(wù)器提供的對話服務(wù)的邏輯的映射;以及客戶機(jī),包含用以訪問所述至少一個(gè)分層文檔的裝置以及用以激活所述至少一個(gè)分層文檔以允許客戶機(jī)的用戶查找由所述至少一個(gè)結(jié)構(gòu)化文檔的映射描述的所需內(nèi)容和對話服務(wù)的裝置。
2.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔是一個(gè)包含樹結(jié)構(gòu)的框架,樹中有多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都有目標(biāo)地址,該目標(biāo)地址包括一個(gè)URL以及指向由對應(yīng)節(jié)點(diǎn)表示的信息的套接字地址。
3.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于每個(gè)節(jié)點(diǎn)都包含到與節(jié)點(diǎn)相關(guān)聯(lián)的CML-會(huì)話標(biāo)記語言-頁面的URL的目標(biāo)地址。
4.根據(jù)權(quán)利要求3中所述的系統(tǒng),其特征在于至少一個(gè)分層結(jié)構(gòu)化文檔由CML頁面中的一幀表示。
5.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于對話服務(wù)邏輯的映射包含基本應(yīng)用程序邏輯的映射以及每個(gè)對話服務(wù)的對話的邏輯的映射。
6.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于至少一個(gè)分層結(jié)構(gòu)化文檔允許交換過程對象和對話對象,以便向客戶機(jī)提供對話服務(wù)并在客戶機(jī)上執(zhí)行對話服務(wù)。
7.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于每個(gè)節(jié)點(diǎn)都包含指向負(fù)責(zé)提供與該節(jié)點(diǎn)相關(guān)聯(lián)的對話服務(wù)的對話管理器的目標(biāo)地址。
8.根據(jù)權(quán)利要求7中所述的系統(tǒng),其特征在于對話管理器提供基于自然語言理解的表單填寫。
9.根據(jù)權(quán)利要求7中所述的系統(tǒng),其特征在于對話管理器提供專用的過程。
10.根據(jù)權(quán)利要求7中所述的系統(tǒng),其特征在于對話管理器提供有限狀態(tài)語法。
11.根據(jù)權(quán)利要求7中所述的系統(tǒng),其特征在于對話管理器利用混合主動(dòng)性。
12.根據(jù)權(quán)利要求7中所述的系統(tǒng),其特征在于對話管理器利用計(jì)算機(jī)指導(dǎo)的對話。
13.根據(jù)權(quán)利要求7中所述的系統(tǒng),其特征在于對話管理器利用用戶指導(dǎo)的對話。
14.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于,用于生成至少一個(gè)分層結(jié)構(gòu)化文檔的裝置是“爬行”應(yīng)用程序。
15.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔是預(yù)構(gòu)建的。
16.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔對于客戶機(jī)的用戶是隱藏的。
17.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于只要分層結(jié)構(gòu)化文檔處于活動(dòng)狀態(tài),用戶隨時(shí)可對其進(jìn)行詢問。
18.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔可在對話開始時(shí)被用戶詢問。
19.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于客戶機(jī)是變碼器,分層結(jié)構(gòu)化文檔用于通過變碼器執(zhí)行邏輯變碼,從而生成BTML頁面和CML頁面。
20.根據(jù)權(quán)利要求19中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔代表HTML站點(diǎn)的結(jié)構(gòu)。
21.根據(jù)權(quán)利要求19中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔可以是多形態(tài)、僅限于語音和僅限于GUI之一。
22.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔是一個(gè)對話組件。
23.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于每個(gè)節(jié)點(diǎn)都包含到至少一個(gè)對象的目標(biāo)地址。
24.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔可通過程序和陳述這兩種方式之一實(shí)現(xiàn)。
25.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于客戶機(jī)和服務(wù)器都在同一計(jì)算機(jī)上執(zhí)行。
26.根據(jù)權(quán)利要求1中所述的系統(tǒng),其特征在于分層結(jié)構(gòu)化文檔存儲(chǔ)在服務(wù)器、客戶機(jī)、網(wǎng)關(guān)和路由器之一上。
全文摘要
一種系統(tǒng)和方法,通過完整描述對話(會(huì)話)系統(tǒng)所支持的功能和服務(wù)的分層結(jié)構(gòu)(結(jié)構(gòu)框架)來提供快速、有效的會(huì)話導(dǎo)航。本發(fā)明的提供系統(tǒng)包括:服務(wù)器,包含用以產(chǎn)生至少一個(gè)分層結(jié)構(gòu)化文檔的裝置,其中分層結(jié)構(gòu)化文檔包括服務(wù)器內(nèi)容的映射和由服務(wù)器提供的對話服務(wù)的邏輯的映射;以及客戶機(jī),包含用以訪問至少一個(gè)分層文檔的裝置以及用以激活至少一個(gè)分層文檔以允許客戶機(jī)的用戶查找由至少一個(gè)結(jié)構(gòu)化文檔的映射描述的所需內(nèi)容和對話服務(wù)的裝置。
文檔編號H04M1/253GK1321295SQ99811617
公開日2001年11月7日 申請日期1999年10月1日 優(yōu)先權(quán)日1998年10月2日
發(fā)明者斯蒂芬·H·梅斯 申請人:國際商業(yè)機(jī)器公司