專利名稱:用于認知超負荷的設(shè)備用戶的交互式對話的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于認知超負荷的設(shè)備用戶的交互式對話的方法和系統(tǒng)。
背景技術(shù):
帶有口語對話接口的系統(tǒng)已經(jīng)在廣泛應(yīng)用中獲得穩(wěn)步增長的認可。但是,口語對話接口系統(tǒng)可以使用受限語言和腳本對話交互。特別是,口語語言對話系統(tǒng)可以包括極少被關(guān)注的語言理解和對話交互的簡單模型。然而,真實的人類對話可能很大程度上依賴于上下文和環(huán)境,充滿不合語法的言辭(utterance)和不完整句,并且很可能是相當交互性和協(xié)作性的。例如,說話人可能互相打斷,說完各自的句子,以及共同對共享的上下文做出貝獻。理解語言和對自然對話建模在建造友好的口語語言接口中是很重要,并且在用戶對外部任務(wù)非常關(guān)心的設(shè)置中至關(guān)重要,例如駕駛直升飛機或汽車。在這種場景中,用戶可能在適當時刻之前不能提前計劃好他們的措辭或“保持那種想法”。而是用戶可能需要能夠打斷對話系統(tǒng)并做出基于上下文和環(huán)境的指示。相反的,對話系統(tǒng)必須在上下文中理解這些貢獻,并且應(yīng)該僅在合適時打斷用戶(比如在關(guān)鍵情況下),并且任何來自系統(tǒng)的問題都應(yīng)該盡可能的集中。由此,在高度著重的或認知超負荷的領(lǐng)域(domain)中的會話接口,即那些涉及到專注于其他任務(wù)的用戶的領(lǐng)域,可能需要更靈活的對話,并且其具有魯棒性的、 覆蓋廣泛的語言理解。例如,在汽車工業(yè)中,對話系統(tǒng)可以提供對設(shè)備的命令和控制。然而,這些系統(tǒng)可能為了語言理解和對話管理而依賴于關(guān)鍵字識別技術(shù)和有限狀態(tài)技術(shù)。這些系統(tǒng)可能還會碰到與更新數(shù)據(jù)庫或接入到新設(shè)備/應(yīng)用程序相關(guān)的困難。由此,由于這些系統(tǒng)所使用技術(shù)的限制,只能處理具有約束性的口語語言表達。此外,較為頻繁發(fā)生的語言現(xiàn)象,例如代詞,歧義和修正,可能不能正確處理。
發(fā)明內(nèi)容
本發(fā)明的典型實施例和/或典型方法提供了一種典型的靈活的對話系統(tǒng)和/或方法,其允許用戶在口頭上與多種設(shè)備交互,并且能夠進行具有完全口語理解的豐富對話、多線程對話管理、信息的動態(tài)更新、部分專有名詞(partial proper name)的識別、并且允許簡單有效的即插即用的領(lǐng)域端口。在這點上,根據(jù)本發(fā)明的典型對話系統(tǒng)和/或典型方法理解特定語言現(xiàn)象,該特定語言現(xiàn)象可能在人的對話中是普遍的但可能不容易被現(xiàn)有技術(shù)處理。特別是,根據(jù)本發(fā)明的典型對話系統(tǒng)可以提供完全的語言分析,在分析中,該典型系統(tǒng)理解不包含內(nèi)容的單詞的微妙之處,這些單詞例如“一個(a)”、“該(the)”、“這個(this)”、“那個(that)”和“其
4他的(other)”。此外,典型對話系統(tǒng)可以對用戶的言辭提供基于環(huán)境和上下文的理解。本發(fā)明的典型實施例和/或典型方法可以提供動態(tài)更新,從而可以動態(tài)地添加和擴展設(shè)備和信息內(nèi)容。在這點上,本發(fā)明可以使用一組技術(shù),其允許新內(nèi)容的動態(tài)更新和新領(lǐng)域的快速適應(yīng)。本發(fā)明的典型實施例和/或典型方法可以在管理龐大數(shù)量的內(nèi)容方面給用戶增加用戶易用性,由此可以加速技術(shù)的市場接受程度。本發(fā)明的典型實施例和/或典型方法可以實現(xiàn)多種應(yīng)用,并且允許公司快速添加新應(yīng)用以便獲取產(chǎn)業(yè)內(nèi)的市場份額,比如汽車,手持設(shè)備和蜂窩電話。本發(fā)明的典型實施例和/或典型方法使用新的一組技術(shù),其允許動態(tài)內(nèi)容更新并且在管理用戶喜歡的內(nèi)容項目上為用戶提供更多的方便。所述新技術(shù)還可以允許開發(fā)者/公司以更快、更節(jié)省成本的方式提出新應(yīng)用。本發(fā)明的典型系統(tǒng)和/或典型方法可以包含統(tǒng)計式自然語言理解(NLU)模塊,以提供魯棒的全句分析,以及對話管理器(DM),以支持基于上下文的理解并且管理用戶-系統(tǒng)的交互。本發(fā)明的典型系統(tǒng)和/或典型方法在面對來自語音識別(SR)模塊和人類用戶的不完整輸入時,可以提供魯棒性,所述不完整輸入包括,例如包含對部分專有名詞的不完整引用的輸入。本發(fā)明的典型對話系統(tǒng)和/或典型方法可以支持的對話包括對MP3音樂播放器 (在處理專有名詞方面具有挑戰(zhàn)性的領(lǐng)域)、蜂窩電話、導(dǎo)航系統(tǒng)和/或其他感興趣點服務(wù)的控制。
圖IA示出了根據(jù)本發(fā)明的典型對話系統(tǒng);圖IB示出了典型自然語言理解模塊;圖IC示出了典型對話管理模塊;圖2示出了用戶和圖IA的典型系統(tǒng)之間的簡單對話,包括MP3音樂播放器的控制;圖3示出了典型活動模型和語言映射實現(xiàn)的典型偽代碼;圖4A示出了與認知超負荷的設(shè)備用戶進行交互式交談的典型方法;圖4B示出了對從認知超負荷的設(shè)備用戶處接收到的語音轉(zhuǎn)換的單詞序列的含意結(jié)構(gòu)進行確定的典型方法;圖5示出了為圖1所述的典型系統(tǒng)的用戶提供的典型接口,其集成了多個設(shè)備;圖6示出了圖1的典型系統(tǒng)與該典型系統(tǒng)的用戶之間的典型對話;以及圖7示出了圖1的典型系統(tǒng)執(zhí)行的典型任務(wù)分配過程的典型偽代碼。
具體實施例方式圖1示出了典型對話系統(tǒng)100,用于為用戶與多個設(shè)備151的交互提供端對端口語處理。該典型系統(tǒng)100包括語音增強器模塊101、語音識別模塊102、自然語言理解(NLU) 模塊103、對話管理模塊104、應(yīng)答生成模塊105、語音合成模塊106、知識庫模塊107、知識管理模塊108、韻律檢測模塊109以及設(shè)備/應(yīng)用程序管理器110。語音增強器模塊101增強典型對話系統(tǒng)100所接收的語音。特別是,語音增強器模塊101可以提供例如噪聲減少和/或回音消除。
語音識別模塊102接收聲學(xué)信號并且輸出帶有附加標記(例如置信值)的單詞序列或者單詞網(wǎng)格(lattice)。在這點上,語音識別模塊102可以包含采用基于分類的n-gram 和動態(tài)語法的細微差別語言識別引擎(Nuance speech recognition engine)。N-gram涉及統(tǒng)計算法,該統(tǒng)計算法基于概率將單詞和分類聯(lián)系起來。自然語言理解模塊103接收帶有附加置信值的單詞序列或單詞網(wǎng)格,并且基于針對領(lǐng)域中的語言數(shù)據(jù)訓(xùn)練得到的統(tǒng)計模型而輸出結(jié)構(gòu)化的含意表達。在這點上,自然語言理解(NLU)模塊103目的是提供靈活且魯棒的口語能力。對話管理模塊104獲取所述結(jié)構(gòu)化的含意表達,并且基于對話上下文和從知識庫 107獲得的知識,向其他模塊發(fā)出合適的指令。知識庫107與例如用戶、設(shè)備、外部環(huán)境和當前上下文情況有關(guān)的知識。知識庫107可以包括一個或多個數(shù)據(jù)庫,例如包括關(guān)系數(shù)據(jù)庫和本體數(shù)據(jù)庫(ontological database)。特別是,知識庫107可以包括例如歌曲、流派、藝術(shù)家和其他屬性之間的本體關(guān)系數(shù)據(jù)庫。知識庫107還可以包括,例如導(dǎo)航任務(wù)與感興趣點(POI)服務(wù)的本體關(guān)系的數(shù)據(jù)庫。在這點上,知識庫107可以獲取領(lǐng)域數(shù)據(jù)/知識,以訓(xùn)練在語言理解中使用的統(tǒng)計模型。所述領(lǐng)域數(shù)據(jù)/知識可以包括,例如用于描繪和預(yù)測用戶行為的統(tǒng)計量。知識庫107 還可以包括語言學(xué)的知識,以便解決例如歧義。在這點上,所述語言學(xué)知識可以,例如從廣泛可用的字典和其他來源中構(gòu)建,所述其他來源包括,例如朗文出版公司出版的朗文當代英語字典(LDOCE),或者WordNet——由普林斯頓大學(xué)的George Miller教授和他的助手們提供的開放資源(請見Cognitive science Group下的普林斯頓大學(xué)網(wǎng)站)。知識管理模塊108管理知識庫107、普通本體,領(lǐng)域特有本體以及用于任何活動領(lǐng)域的任何數(shù)據(jù)庫。知識管理模塊108還在不同模塊之間更新并且同步當前知識庫107。應(yīng)答生成模塊105從對話管理模塊104獲取內(nèi)容,選取在該上下文中的相關(guān)部分, 并且以簡潔的語法方式組織它們,以輸入到語音合成模塊106中。在這點上,可以使用一種內(nèi)容選取方法,該方法在例如在2004年8月20日申請的美國專利申請No. 10/923,590,名為“METHOD AND SYSTEM FOR ADAPTIVE NAVIGATION USINGA DRIVER' S ROUTE KNOWLEDGE” 中進行了描述,在此將其整體引入作為參考。語音合成模塊106獲取帶有標記特征的單詞序列并且產(chǎn)生語音波形。特別是,語音合成模塊106可以包括使用例如Nuance Vocalizer實現(xiàn)的文本到語音(TTS)引擎。韻律檢測模塊109提供附加特征,比如對于聲調(diào)、停頓和持續(xù)的檢測,以便提高典型系統(tǒng)100的特定模塊的性能,包括例如語音識別模塊102、自然語言理解(NLU)模塊103 和對話管理模塊104。在這點上,可以使用Venkataraman等人在2003年的關(guān)于聲學(xué)、語音 infW^^bSW IEEE H1 ^ .JlfitJ "Training a prosody-based dialog acttagger from unlabeled data”中描述的技術(shù)。典型系統(tǒng)對話系統(tǒng)100可以采用分散方式實現(xiàn)。例如,不采用其他系統(tǒng)中所使用的集線器體系結(jié)構(gòu),例如Seneff等人1998年在Proc. ICLSP,98上的“feilaxy-II =A Reference Architecture forConversational System Development,,中所描述的系統(tǒng),典型系統(tǒng)100可以使用基于事件的、面向消息的中間件采用分布式方式進行配置,以便允許例如新模塊和/或設(shè)備151的動態(tài)注冊。典型對話系統(tǒng)100可以使用現(xiàn)貨組件。特別是,典型對話系統(tǒng)100的一些部分可以使用微軟 Visual C++6. 0、Nuance Vocalizer 4· O 和 Nuance Recognizer 8· 5 實現(xiàn)。典型對話系統(tǒng)100可以包括例如任何合適的處理設(shè)備,比如帶有基于Intel微處理器的個人計算機。該適當?shù)奶幚碓O(shè)備可以被例如廣泛的各種操作和/或應(yīng)用開發(fā)環(huán)境所支持,比如微軟視窗2000或基于Linux的環(huán)境。需要了解的是,典型對話系統(tǒng)100的模塊101至109 可以共存于公共平臺中,或者這些模塊中的一些或者全部可以分開駐留。NLU 模塊圖IB示出了典型自然語言理解模塊103,用于提供靈活且魯棒的口語能力。典型自然語言理解模塊103包括四個子模塊統(tǒng)計標記器103a、統(tǒng)計依賴分析器103b、特征映射器103c和語義分類器103d。統(tǒng)計標記器103a使用隱性馬爾可夫模型(HMM)描述在基于歷史預(yù)測語音部分(POS)的標記時的概率。所述模型可以例如從依賴性的和/或注釋性的文本數(shù)據(jù)中訓(xùn)練得到。在這點上,統(tǒng)計標記器103a可以使用例如Dermataso和Kokkinakis在 ComputationalLinguistics, Volume 21, No2,1995 中的"Automatic Stochastic Tagging ofNatural Language Texts”中所描述的技術(shù)來實現(xiàn),并且可以使用Viterbi算法來找到合適的標記序列。統(tǒng)計依賴分析器10 使用統(tǒng)計標記器103a所描述的統(tǒng)計概率建立語言模型,該語言模型包括條件概率分量和互信息分量。該條件概率分量在為兩個首部給出兩個相應(yīng)子樹的情況下,估計這兩個首部之間的語法關(guān)系的概率。其可以使用,例如,在2003年7 月 3 日提交的美國專利申請 No. 10/613,366,名為 “A FAST FEATURESELECTION METHOF AN SYSTEM FOR MAXIMUX ENTR0PUM0DELING”中所描述的條件最大熵建模的選擇性增益計算 (SGC)方法來進行計算,在此將其整體引入作為參考。最大熵(ME)建模是一種普通的統(tǒng)計建模范例,其可以應(yīng)用于語言建模和自然語言處理中,以通過結(jié)合各種提供信息的特定特征來預(yù)測語言行為,每種特征都將某種語言統(tǒng)計事件從一個數(shù)據(jù)總集編碼至條件模型的通用框架中。在這點上,條件最大熵模型可以采用于下形式
權(quán)利要求
1.一種用于幫助用戶與多個設(shè)備交互的對話系統(tǒng),包括對話管理模塊(104),其配置用于理解從所述用戶的輸入獲得的單詞序列以為所述多個設(shè)備確定任務(wù);以及設(shè)備應(yīng)用程序管理器(110),其配置用于基于所述理解以及基于下列各項中的至少一項從所述多個設(shè)備中自動選擇設(shè)備(a)在當前語言上下文中使用的設(shè)備;(b)指示上下文變化的語言線索;(c)對設(shè)備的明確的訪問;以及(d)對于與所述設(shè)備的活動模型選擇性關(guān)聯(lián)的語言模板的所述單詞序列的匹配。
2.根據(jù)權(quán)利要求1所述的對話系統(tǒng),還包括知識庫,其用于存儲與所述多個設(shè)備有關(guān)的設(shè)備信息,并且用于采用關(guān)系方式和本體方式中的至少一種方式來對所述設(shè)備信息進行分類;其中,所述設(shè)備應(yīng)用程序管理器配置用于以隔離所述知識庫中的所有其他設(shè)備信息以及隔離所述知識庫中的不依賴于設(shè)備的信息的方式,封裝所述知識庫中的所述多個設(shè)備中的每一個設(shè)備的各自的設(shè)備信息。
3.根據(jù)權(quán)利要求2所述的對話系統(tǒng),還包括應(yīng)答生成模塊,其用于選擇內(nèi)容并且基于所述上下文和語法規(guī)則生成對所述用戶的應(yīng)答;以及語音合成模塊,其用于合成所述應(yīng)答的語音波形。
4.根據(jù)權(quán)利要求1所述的對話系統(tǒng),其中,所述活動模型是多個活動模型中的一個,所述多個活動模型中的每一個說明性地指定了所述多個設(shè)備中的各個設(shè)備的能力并且包括從動詞及其參數(shù)到設(shè)備動作的映射。
5.根據(jù)權(quán)利要求1所述的對話系統(tǒng),其中,所述對話管理模塊配置用于向所述多個設(shè)備查詢它們各自的與所述任務(wù)有關(guān)的能力,并且基于來自所述多個設(shè)備的應(yīng)答執(zhí)行以下操作之一 (1)將所述任務(wù)發(fā)送到合適的設(shè)備;以及( 如果所述設(shè)備中不止一個設(shè)備適于所述任務(wù),則詢問所述用戶以確定使用哪個設(shè)備來執(zhí)行所述任務(wù)。
6.根據(jù)權(quán)利要求1所述的對話系統(tǒng),其中,在所述當前語言上下文中的設(shè)備被重設(shè),使得它在上下文中預(yù)定時間量之后不再被認為是在所述當前語言上下文中。
7.根據(jù)權(quán)利要求1所述的對話系統(tǒng),其中,設(shè)備通過下列兩種方式之一成為在所述當前語言上下文中的設(shè)備(1)被所述用戶明確地訪問;以及( 被命令指示。
8.根據(jù)權(quán)利要求1所述的對話系統(tǒng),還包括語音識別模塊(102),其配置用于從所述用戶處接收言辭并將所述言辭轉(zhuǎn)換為所述單詞序列;以及自然語言理解模塊(103),其配置用于從所述單詞序列中確定含意結(jié)構(gòu);其中,所述單詞序列的所述理解包括理解所述含意結(jié)構(gòu)以確定所述任務(wù)。
9.一種用于幫助用戶與多個設(shè)備交互的方法,包括對話管理模塊理解從所述用戶的輸入獲得的單詞序列,以為所述多個設(shè)備確定任務(wù);以及設(shè)備應(yīng)用程序管理器基于所述理解以及基于下列各項中的至少一項從所述多個設(shè)備中自動選擇設(shè)備(a)在當前語言上下文中使用的設(shè)備;(b)指示上下文變化的語言線索; (c)對設(shè)備的明確的訪問;以及(d)對于與所述設(shè)備的活動模型選擇性關(guān)聯(lián)的語言模板的所述單詞序列的匹配。
10.根據(jù)權(quán)利要求9所述的方法,還包括在知識庫中存儲與所述多個設(shè)備有關(guān)的設(shè)備信息,并且采用關(guān)系方式和本體方式中的至少一種方式來對所述設(shè)備信息進行分類;其中,所述設(shè)備應(yīng)用程序管理器以隔離所述知識庫中的所有其他設(shè)備信息以及隔離所述知識庫中的不依賴于設(shè)備的信息的方式,封裝所述知識庫中的所述多個設(shè)備中的每一個設(shè)備的各自的設(shè)備信息。
11.根據(jù)權(quán)利要求10所述的方法,還包括選擇內(nèi)容并且基于所述上下文和語法規(guī)則生成對所述用戶的應(yīng)答;以及合成所述應(yīng)答的語音波形。
12.根據(jù)權(quán)利要求9所述的方法,其中,所述活動模型是多個活動模型中的一個,所述多個活動模型中的每一個說明性地指定了所述多個設(shè)備中的各個設(shè)備的能力并且包括從動詞及其參數(shù)到設(shè)備動作的映射。
13.根據(jù)權(quán)利要求9所述的方法,其中,所述對話管理模塊向所述多個設(shè)備查詢它們各自的與所述任務(wù)有關(guān)的能力,并且基于來自所述多個設(shè)備的應(yīng)答執(zhí)行以下操作之一 (1) 將所述任務(wù)發(fā)送到合適的設(shè)備;以及( 如果所述設(shè)備中不止一個設(shè)備適于所述任務(wù),則詢問所述用戶以確定使用哪個設(shè)備來執(zhí)行所述任務(wù)。
14.根據(jù)權(quán)利要求9所述的方法,其中,設(shè)備通過下列兩種方式之一成為在所述當前語言上下文中的設(shè)備(1)被所述用戶明確地訪問;以及( 被命令指示。
15.根據(jù)權(quán)利要求9所述的方法,還包括從所述用戶處接收言辭;將所述言辭轉(zhuǎn)換為所述單詞序列;以及從所述單詞序列中確定含意結(jié)構(gòu);其中,所述單詞序列的所述理解包括理解所述含意結(jié)構(gòu)以確定所述任務(wù)。
16.一種計算機可讀介質(zhì),其具有存儲于其上的可由處理器執(zhí)行的指令,當由所述處理器執(zhí)行所述指令時,使得所述處理器執(zhí)行一種用于幫助用戶與多個設(shè)備交互的方法,所述方法包括對話管理模塊理解從所述用戶的輸入獲得的單詞序列,以為所述多個設(shè)備確定任務(wù);以及設(shè)備應(yīng)用程序管理器基于所述理解以及基于下列各項中的至少一項從所述多個設(shè)備中自動選擇設(shè)備(a)在當前語言上下文中使用的設(shè)備;(b)指示上下文變化的語言線索; (c)對設(shè)備的明確的訪問;以及(d)對于與所述設(shè)備的活動模型相關(guān)聯(lián)的語言模板的所述單詞序列的匹配。
全文摘要
一種與認知超負荷的設(shè)備用戶進行交互式對話的系統(tǒng)和方法,包括維護與設(shè)備和領(lǐng)域有關(guān)的信息的知識庫;采用關(guān)系方式和本體方式中的至少一種組織所述信息;從用戶處接收語音;將語音轉(zhuǎn)換為單詞序列;識別單詞序列中的部分專有名詞;使用所述領(lǐng)域信息的模型從單詞序列中確定含意結(jié)構(gòu);調(diào)節(jié)所述部分專有名詞的邊界以增強所述含意結(jié)構(gòu)的準確率;使用所述知識庫在與認知超負荷的用戶的對話的上下文中理解該含意結(jié)構(gòu);選擇對于認知超負荷的用戶的應(yīng)答內(nèi)容;基于所選擇內(nèi)容、所述對話的上下文以及語法規(guī)則生成所述應(yīng)答;以及合成所述應(yīng)答的語音波形。
文檔編號G06F17/27GK102298928SQ20111027675
公開日2011年12月28日 申請日期2005年8月10日 優(yōu)先權(quán)日2004年9月27日
發(fā)明者A·格林施泰因, B·拉格胡那坦, D·米爾科維奇, H·施密特, L·卡維多, L·希亞特, S·彼得斯, 翁富良 申請人:羅伯特·博世有限公司