專利名稱:用于語音識(shí)別和自然語言理解的具有合成統(tǒng)計(jì)和基于規(guī)則的語法模型的系統(tǒng)的制作方法
背景技術(shù):
本發(fā)明涉及語音識(shí)別和自然語言理解。更為準(zhǔn)確地說,本發(fā)明涉及使用一種由統(tǒng)計(jì)模型部分和基于規(guī)則的語法部分所組成的復(fù)合模型,來作為一種同時(shí)執(zhí)行語音識(shí)別和自然語言理解的語言模型。
識(shí)別和理解口頭的人類語言對(duì)于將來的計(jì)算環(huán)境而言被認(rèn)為是必要的。到目前為止,依據(jù)兩種不同的系統(tǒng)提出了識(shí)別和理解口頭語言的任務(wù)。第一種系統(tǒng)是視語音識(shí)別系統(tǒng),第二種系統(tǒng)是自然語言理解系統(tǒng)。
傳統(tǒng)的語音識(shí)別系統(tǒng)接收一個(gè)指示口語輸入的語音信號(hào)。通過使用聲學(xué)模型和語言模型,在語音信號(hào)中識(shí)別聲學(xué)特征并解碼語音信號(hào),以提供一個(gè)由輸入語音信號(hào)所表示的字詞的輸出。
同樣,為促進(jìn)語音激活應(yīng)用和服務(wù)的發(fā)展,基于語義的穩(wěn)固的理解系統(tǒng)正處于開發(fā)中。這種系統(tǒng)被廣泛應(yīng)用于會(huì)話式的研究系統(tǒng)中。然而,對(duì)于傳統(tǒng)的開發(fā)者在執(zhí)行會(huì)話式系統(tǒng)時(shí)而言,他們并不是特別實(shí)用。很大程度上,這種執(zhí)行依賴于領(lǐng)域特定語法(domain-specific grammars)的人工開發(fā)。該任務(wù)是費(fèi)時(shí)的、易出錯(cuò)的,且要求領(lǐng)域中的大量專業(yè)知識(shí)。
為推進(jìn)語音激活應(yīng)用和服務(wù)的開發(fā),引入一種基于實(shí)例的語法編輯工具。該工具稱為SGStudio,且已在Y.Wang和A.Acero的《用于口語理解的語法學(xué)習(xí)》(IEEE自動(dòng)語音識(shí)別和理解的專題研究組,意大利Madnna D.Campiglio,2001)以及Y.Wang和A.Acero的《ATIS域中口語語法學(xué)習(xí)的評(píng)估》(ICASSP學(xué)報(bào),奧蘭多,F(xiàn)L 2002)中被進(jìn)一步地討論。該工具通過利用在先信息的許多不同資源而大大簡(jiǎn)化了語法開發(fā)。其也允許不具備語言知識(shí)的正式的開發(fā)者建立用于語言理解的語義語法。該系統(tǒng)通過較少的數(shù)據(jù)來促進(jìn)相對(duì)高質(zhì)量的語義語法的半自動(dòng)生成。此外,該工具不僅大大減少了語法開發(fā)中的工作,并且改進(jìn)了跨越不同領(lǐng)域的理解的精確性。
然而,NLU系統(tǒng)中純粹的基于規(guī)則的語法仍然缺乏穩(wěn)固性且表現(xiàn)出脆弱性。
另外,最重要的是,如果不是全部的話,在先的方法將理解作為一個(gè)獨(dú)立于語音識(shí)別的獨(dú)立問題。通常采用一種雙途徑的方法,其中在第一途徑中構(gòu)建一個(gè)領(lǐng)域特定的n字符列語言模型并將其用于語音識(shí)別,在第二途徑中運(yùn)用通過各種訓(xùn)練算法所獲得的理解模型,以“理解”語音識(shí)別器的輸出。
發(fā)明概述可以相信的是,將理解和語音識(shí)別作為兩個(gè)分離的、獨(dú)立的任務(wù)的在先系統(tǒng)表現(xiàn)出許多缺陷。首先,當(dāng)建立一個(gè)用于語音識(shí)別的n字符列語言模型時(shí),被最優(yōu)化的目標(biāo)函數(shù)減少了測(cè)試數(shù)據(jù)混亂,其涉及語音識(shí)別字詞錯(cuò)誤率的減少。這并不一定導(dǎo)致整個(gè)理解錯(cuò)誤率的減少。其次,大量培訓(xùn)數(shù)據(jù)對(duì)于許多語音應(yīng)用程序的開發(fā)而言很少有用。少量數(shù)據(jù)之上訓(xùn)練的n字符列產(chǎn)生不良的識(shí)別精確度。
因此,本發(fā)明使用復(fù)合統(tǒng)計(jì)模型和基于規(guī)則的語法語言模型,以執(zhí)行語音識(shí)別任務(wù)和自然語言理解任務(wù)。
本發(fā)明的一個(gè)實(shí)施例還包括,通過借助參照越過后退狀態(tài)的共享分布來處理每一n字符列的所有未現(xiàn)的字詞,以一種緊湊方式來構(gòu)建一個(gè)相應(yīng)于復(fù)合模型的狀態(tài)機(jī),而不是在每個(gè)n字符列中為每個(gè)未現(xiàn)字詞包括一個(gè)循環(huán)。
附圖簡(jiǎn)述
圖1是一個(gè)適用本發(fā)明的典型環(huán)境的框圖。
圖2A是根據(jù)本發(fā)明實(shí)施例的模型編輯組件的一個(gè)實(shí)施例的框圖。
圖2B說明一個(gè)實(shí)例概要。
圖2C說明為實(shí)例概要而生成的一組實(shí)例規(guī)則。
圖2D說明一個(gè)帶注釋的句子的實(shí)例。
圖2E說明一個(gè)實(shí)例分析樹。
圖2F說明用于實(shí)例中的字詞的可能的前終端表。
圖2G是帶有相關(guān)計(jì)數(shù)和概率的重寫規(guī)則表。
圖3A是非常詳細(xì)地展示語法編輯組件的框圖。
圖3B是說明如圖3A所示的語法編輯組件的流程圖。
圖4說明根據(jù)本發(fā)明另一實(shí)施例的一個(gè)模型編輯組件。
圖5展示列舉的分段的一個(gè)實(shí)例。
圖6非常詳細(xì)地說明根據(jù)本發(fā)明的一個(gè)實(shí)施例的統(tǒng)計(jì)模型。
圖7是一個(gè)簡(jiǎn)化概要的實(shí)例。
圖8是從圖7概要中生成的一組規(guī)則的實(shí)例。
圖9是帶注釋的句子的一個(gè)實(shí)例。
圖10展示所生成的規(guī)則。
圖11說明復(fù)合模型的狀態(tài)圖。
圖12展示了描述訓(xùn)練技術(shù)的偽碼。
圖13說明用于使用根據(jù)本發(fā)明所生成的模型的運(yùn)行期系統(tǒng)的框圖。
圖14說明一個(gè)解碼器結(jié)構(gòu)的實(shí)例。
圖15是語音識(shí)別系統(tǒng)的一個(gè)簡(jiǎn)化框圖。
圖16說明被用于如圖17A——18B所示的實(shí)例中的另一簡(jiǎn)化的應(yīng)用程序模式。
圖17A說明相應(yīng)于圖16所示概要所生成的頂級(jí)語法的一個(gè)隱藏馬爾可夫模型(HMM)結(jié)構(gòu)。
圖17B非常詳細(xì)地說明來自圖17A的“ShowFlight”模型的HMM結(jié)構(gòu)。
圖17C說明如圖17B所示的HMM結(jié)構(gòu)的使用。
圖18A說明帶有兩個(gè)觀察字(a,b)的雙字母組語言模型的一個(gè)有限狀態(tài)表示。
圖18B說明一個(gè)模型的有限狀態(tài)表示,所述模型模擬在如圖18A所示的后退狀態(tài)之上的均勻分布。
圖18C展示帶有兩個(gè)觀察字(c,d)的雙字母組語言模型的一個(gè)有限狀態(tài)表示。
說明性實(shí)施例的詳細(xì)描述本發(fā)明涉及一種語音識(shí)別和自然語言理解系統(tǒng)。尤其是,本發(fā)明涉及可用于語音識(shí)別和自然語言理解的一個(gè)復(fù)合的基于規(guī)則的語法和統(tǒng)計(jì)模型。然而,在非常詳細(xì)地討論本發(fā)明之前,將討論可使用本發(fā)明的一個(gè)典型環(huán)境。
圖1說明執(zhí)行本發(fā)明的一個(gè)適宜的計(jì)算系統(tǒng)環(huán)境100的實(shí)例。計(jì)算系統(tǒng)環(huán)境100僅是一個(gè)適宜的計(jì)算環(huán)境的實(shí)例,而并不是試圖暗示關(guān)于本發(fā)明的使用或功能的范圍的任何限制。計(jì)算環(huán)境100不得被解釋為具有關(guān)于在典型運(yùn)行環(huán)境100中說明的任一組件或其結(jié)合的任何依賴或要求。
本發(fā)明通過大量其它通用或?qū)S糜?jì)算環(huán)境或結(jié)構(gòu)而運(yùn)行。適合與本發(fā)明的同時(shí)使用的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或結(jié)構(gòu)的實(shí)例包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)計(jì)算機(jī)、手提或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、頂置盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型計(jì)算機(jī)、分布式計(jì)算環(huán)境、包括上述任意系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境及其類似物。
可在計(jì)算機(jī)執(zhí)行計(jì)算機(jī)可讀指令諸如程序模塊的一般環(huán)境中描述本發(fā)明。通常,程序模塊包括執(zhí)行特殊任務(wù)或?qū)嵤┨厥獾某橄髷?shù)據(jù)類型的例程、程序、對(duì)象、元件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明還實(shí)踐于分布式計(jì)算環(huán)境中,其中借助通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在一個(gè)分布式計(jì)算環(huán)境中,程序模塊可被置于包括存儲(chǔ)設(shè)備的本地和遠(yuǎn)程的計(jì)算機(jī)存儲(chǔ)媒介中。
參照?qǐng)D1,用于實(shí)施本發(fā)明的一個(gè)典型系統(tǒng)包括計(jì)算機(jī)110形式的一個(gè)通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可包括但不限于處理單元120、系統(tǒng)存儲(chǔ)器130、耦合包括系統(tǒng)存儲(chǔ)器到處理單元120在內(nèi)的各種系統(tǒng)組件的系統(tǒng)總線121。系統(tǒng)總線121可以是幾種類型總線結(jié)構(gòu)的任一種,所述包括存儲(chǔ)器總線或存儲(chǔ)控制器、外圍總線、使用各種總線結(jié)構(gòu)的局域總線。作為示例,但并非限制,這種結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、增強(qiáng)的ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線以及外圍部件互連(PCI)總線也稱為Mezzanine總線。
計(jì)算機(jī)110典型的包括多種計(jì)算機(jī)可讀媒介。計(jì)算機(jī)可讀媒體可以是任何一種可被計(jì)算機(jī)110訪問的可用媒介,其包括易失性和非易失性媒介、可移動(dòng)和不可移動(dòng)媒介。作為示例而并非限制,計(jì)算機(jī)可讀媒介可包括計(jì)算機(jī)存儲(chǔ)媒介和通信媒介。計(jì)算機(jī)存儲(chǔ)媒介包括以存儲(chǔ)信息諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)之類的任一方法或技術(shù)來實(shí)施的易失性和非易失性媒介、可移動(dòng)和不可移動(dòng)媒介。計(jì)算機(jī)存儲(chǔ)媒介包括,但不限于RAM、ROM、EEPROM、快速存儲(chǔ)器或其它存儲(chǔ)技術(shù)、CD-ROM、數(shù)字萬能盤(DVD)或其它光盤存儲(chǔ)器、磁帶盒、磁帶、磁盤存儲(chǔ)器或其它磁存儲(chǔ)設(shè)備,或任何可被用于存儲(chǔ)所期望的信息且可被計(jì)算機(jī)00所訪問的其它媒介。通信媒介典型的包括計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或諸如載波或其它傳輸機(jī)制之類的調(diào)制數(shù)據(jù)信號(hào)中的其它數(shù)據(jù),且包括任何信息傳輸媒介。術(shù)語“調(diào)制數(shù)據(jù)信號(hào)”是指具有一個(gè)或多個(gè)特征集合或根據(jù)信號(hào)中的編碼信息而更改的信號(hào)。作為示例而并非限制,通信媒介包括諸如有線網(wǎng)絡(luò)或直接有線連接之類的有線媒介,以及諸如聲音、FR、紅外線和其它無線媒介之類的無線媒介。上述任一的結(jié)合也被包括在計(jì)算機(jī)可讀媒介的范圍中。
系統(tǒng)存儲(chǔ)器130包括易失性和非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)媒介,諸如只讀存儲(chǔ)器(ROM)131和隨機(jī)訪問存儲(chǔ)器(RAM)132?;镜妮斎?輸出系統(tǒng)133(BIOS)通常存儲(chǔ)于ROM131,該系統(tǒng)包括在啟動(dòng)期間有助于計(jì)算機(jī)110中元件之間傳輸信息的基本程序。RAM132通常包括可被處理單元120所直接訪問和/或當(dāng)前處理的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖1說明操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110還可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒介。僅作為示例,圖1說明對(duì)不可移動(dòng)的、非易失性的磁媒介進(jìn)行讀寫的硬盤驅(qū)動(dòng)器141,對(duì)可移動(dòng)的、非易失性的磁盤152進(jìn)行讀寫的磁盤驅(qū)動(dòng)器151,以及對(duì)諸如CDROM或其它光學(xué)媒介之類的可移動(dòng)的、非易失性光盤156進(jìn)行讀寫的光盤驅(qū)動(dòng)器155。可被用于典型的操作環(huán)境中的其它可移動(dòng)的/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒介包括但不限于磁帶盒、快速存儲(chǔ)卡、數(shù)字萬能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM及其類似物。硬盤驅(qū)動(dòng)器141通常通過諸如接口140之類的不可移動(dòng)的存儲(chǔ)器接口而連接于系統(tǒng)總線121,磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通??赏ㄟ^諸如接口150之類的可移動(dòng)的存儲(chǔ)器接口而連接于系統(tǒng)總線121。
在上文中討論及在圖1中說明的驅(qū)動(dòng)器和它們的相關(guān)計(jì)算機(jī)存儲(chǔ)媒介存儲(chǔ)有計(jì)算機(jī)110的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)。在圖1中,例如,硬盤驅(qū)動(dòng)器141存儲(chǔ)有操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。需要注意的是,這些組件可相同或不同于操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。對(duì)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給出不同的數(shù)字以便于說明至少它們是不同的復(fù)制品。
用戶可通過諸如鍵盤162、麥克風(fēng)163和指示設(shè)備161(譬如鼠標(biāo)、跟蹤球、觸摸墊等)之類的輸入設(shè)備來將命令和信息輸入到計(jì)算機(jī)110。其它輸入設(shè)備(圖中未示)可包括操縱桿、游戲墊、衛(wèi)星反射器、掃描儀或其類似物。這些或其它輸入設(shè)備通常通過被耦合到系統(tǒng)總線的用戶輸入接口160而連接到處理單元120,還可通過其它接口和諸如平行端口、游戲端口或通用串行總線端口(USB)之類的總線結(jié)構(gòu)而被連接。監(jiān)視器191或其它類型的顯示設(shè)備還可經(jīng)由諸如視頻接口190之類的接口而被連接到系統(tǒng)總線121。除監(jiān)視器外,計(jì)算機(jī)還可包括諸如揚(yáng)聲器197和打印機(jī)196之類的其它外圍輸出設(shè)備,其可通過輸出外圍接口190而被連接。
借助和諸如遠(yuǎn)程計(jì)算機(jī)180之類的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接,計(jì)算機(jī)110可在網(wǎng)絡(luò)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、手提設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、同級(jí)設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括上述和計(jì)算機(jī)110相關(guān)的許多或全部部件。在圖1中描述的邏輯連接包括本地局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,還包括其它網(wǎng)絡(luò)。這種網(wǎng)絡(luò)環(huán)境在辦公室、廣域企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用計(jì)算機(jī)110時(shí),它通過網(wǎng)絡(luò)接口或適配器170而連接到LAN171。當(dāng)在WAN環(huán)境中使用計(jì)算機(jī)110時(shí),它通常包括在WAN173(例如因特網(wǎng))上建立通信的調(diào)制解調(diào)器172或其它裝置??商幱趦?nèi)部或外部的調(diào)制解調(diào)器172可經(jīng)由用戶輸入接口160或其他合適的機(jī)構(gòu)而連接到系統(tǒng)總線121。在網(wǎng)絡(luò)環(huán)境中,所描述的和計(jì)算機(jī)110相關(guān)的程序模塊或其中的部分可被存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器設(shè)備中。作為示例而非限制,圖1說明駐留在遠(yuǎn)程計(jì)算機(jī)180上的遠(yuǎn)程應(yīng)用程序。可以理解的是,所示的網(wǎng)絡(luò)連接是典型的,且可使用其他手段在計(jì)算機(jī)之間建立通信鏈接。
應(yīng)該注意到,本發(fā)明可在諸如就圖1所描述的計(jì)算機(jī)系統(tǒng)上運(yùn)行。然而,本發(fā)明可在服務(wù)器、專用于信息處理的計(jì)算機(jī)或在分布式系統(tǒng)中運(yùn)行,其中在分布式系統(tǒng)中本發(fā)明的不同部分在分布式系統(tǒng)的不同部分中運(yùn)行。
圖2A是根據(jù)本發(fā)明的一個(gè)實(shí)施例的模型編輯系統(tǒng)200的框圖。模型編輯系統(tǒng)200包括模型編輯組件202和可選用戶接口204。圖2A還展示了模型編輯組件202接收概要206、一組訓(xùn)練實(shí)例文本串208、可選語法庫209來作為輸入,并輸出基于規(guī)則的語法(例如上下文無關(guān)語法或CFG)210??蛇x語法庫209包括用于域獨(dú)立概念(例如日期和時(shí)間)和域從屬概念(例如城市名、航線等)的定義,其可從應(yīng)用數(shù)據(jù)庫中被獲得。
以下將用較長篇幅來描述系統(tǒng)200的詳細(xì)操作。然而,簡(jiǎn)要地說,用戶提供具有概要206和訓(xùn)練實(shí)例文本串208的模型編輯組件202。既可以通過可選用戶接口204也可通過其他的一些用戶輸入機(jī)構(gòu)或通過自動(dòng)裝置來實(shí)現(xiàn)。模型編輯組件202接收輸入并且基于輸入而產(chǎn)生基于規(guī)則的語法210。作為基于規(guī)則的語法的例子是一允許計(jì)算機(jī)將輸入映射到文本的語義表示的上下文無關(guān)語法(或CFG)。
概要206例證性地是被模擬域的語義描述。在圖2B中展示了概要的圖解。圖2B說明了大大簡(jiǎn)化的概要212,其可通過開發(fā)人員而被輸入到系統(tǒng)200中。概要212表示用于從用戶輸入到顯示飛機(jī)啟程和抵達(dá)的不同城市且具有不同的啟程和抵達(dá)時(shí)間的各種文本串的含義。概要212表明顯示飛行命令(ShowFlight)包括作為一時(shí)間段的Flight的語義類別。概要212還非常詳細(xì)地說明Flight的語義類別,指示其具有四個(gè)分別相應(yīng)于啟程時(shí)間、抵達(dá)時(shí)間、啟程城市和抵達(dá)城市的時(shí)間段。
從概要212中,模型編輯組件202可生成一組圖2C所說明的規(guī)則。規(guī)則一表明ShowFlight句子將一直具有命令部分ShowFlightCmd,其后有屬性部分ShowFlightProperties。
規(guī)則二表明ShowFlightProperties部分在其中具有一個(gè)或多個(gè)屬性。例如,規(guī)則二表明ShowFlightProperties部分包括至少一個(gè)可跟隨有可選ShowFlightProperties部分的ShowFlightProperty。該ShowFlightProperties的遞歸定義簡(jiǎn)化了它的表達(dá)并允許其具有一個(gè)或多個(gè)屬性。
規(guī)則三表明ShowFlightProperty部分包括一個(gè)ShowFlightPreFlight部分、一個(gè)Flight部分和一個(gè)ShowFlightPostFlight部分。其表明概要中的時(shí)間段Flight可具有前文和后文。
由于Flight是概要中的一個(gè)對(duì)象而ShowFlight是一個(gè)命令,所以規(guī)則四表明概要中的對(duì)象Flight不具有命令部分,但僅具有一個(gè)屬性部分(ShowFlightProperties)。規(guī)則五展示ShowFlightProperties部分再次被遞歸定義為包括至少一個(gè)跟隨有可選ShowFlightProperties的ShowFlightProperty。
規(guī)則六—九相應(yīng)于如圖2B所示概要212中的四個(gè)時(shí)間段。規(guī)則六將第一屬性定義為具有一個(gè)啟程城市時(shí)間段,該時(shí)間段被前文(FlightPreDepartureCity)超先且跟隨有后文(FlightPostDepartureCity)。規(guī)則七以相同的方法定義抵達(dá)城市,規(guī)則八和九分別以相似的方式定義啟程時(shí)間和抵達(dá)時(shí)間。
即使存在這樣的事實(shí),即模型編輯組件202可從概要212中自動(dòng)生成在圖2C中被識(shí)別的全部規(guī)則,這里依然沒有重寫規(guī)則,該重寫規(guī)則表明什么樣的特定字詞實(shí)際上被映射到特定的前終端(用于命令語義類別的命令以及用于時(shí)間段的前文和后文)。例如,不存在表明短語“please show me the fiight...”被映射到ShowFlightCmd的規(guī)則。同樣,不存在表明字詞被映射到例如FlightPreArrivalCity前文等的規(guī)則。由此,開發(fā)人員也可輸入訓(xùn)練實(shí)例文本串和注釋208,以使模型編輯組件202也可學(xué)習(xí)這些重寫規(guī)則。
圖2D說明相應(yīng)于文本串213的語義注釋214和實(shí)例文本串213“Flight fromSeattle to Boston”的例子。語義注釋214由開發(fā)人員提供并表明串213的語義意義。例如,語義注釋214表明相應(yīng)于ShowFlight命令的輸入文本串213具有自身包括兩個(gè)時(shí)間段且都為城市的時(shí)間段Flight。Flight時(shí)間段中的兩個(gè)時(shí)間段之間的區(qū)別僅在于時(shí)間段的名稱。其中之一被稱為“抵達(dá)”城市,另一個(gè)被稱為“啟程”城市。語義注釋214也將字詞“Boston”映射到“到達(dá)”城市時(shí)間段,將字詞“Seattle”映射到“啟程”城市時(shí)間段。因此,基于注釋214,模型編輯組件202將知道哪個(gè)slot被映射到字詞“Seattle”和“Boston”。
根據(jù)圖2C所示注釋的實(shí)例和模板語法規(guī)則,模型編輯組件202可生成基于規(guī)則的語法(或CFG)分析樹,例如在圖2E中說明的分析樹216。分析樹216的第一級(jí)218(該部分表明ShowFlight由跟隨有ShowFlightProperties的ShowFlightCmd所形成)由圖2C中的規(guī)則1所形成。
第二級(jí)220(該部分表明ShowFlightProperties由ShowFlightPropert所形成)從規(guī)則2中生成,在規(guī)則2中不使用可選ShowFlightProperties部分。
下一級(jí)222(該部分表明ShowFlightProperty由跟隨有Flight的ShowFlightPreFlight所形成,其中該Flight又跟隨有ShowFlightPostFlight)從圖2C中的規(guī)則3中生成。
下一級(jí)224(表明Flight對(duì)象由FlightProperties部分所形成)從圖2C中的規(guī)則4中生成。
下一級(jí)226(該部分表明FlightProperties部分由跟隨有FlightProperties部分的FlightProperty部分所形成)從圖2C中的規(guī)則5中生成。
下一級(jí)228(該級(jí)表明FlightProperty部分由跟隨有City時(shí)間段的FlightPreDepartureCity部分所形成,其中該City時(shí)間段又跟隨有FlightPreDepartureCity后文)從規(guī)則6中生成,下一級(jí)230(該級(jí)表明FlightProperties由FlightPreArrivalCity前文、City slot和FlightPostArrivalCity后文所形成)從規(guī)則7中生成。
最終,該級(jí)根據(jù)從由用戶輸入的語義注釋214而生成,其中該級(jí)表明字詞“Seattle”被映射到級(jí)228下的City時(shí)間段且字詞“Boston”被映射到級(jí)230下的City時(shí)間段。從而,模型編輯組件202可學(xué)習(xí)如何從輸入句子中的字詞“Seattle”和“Boston”映射到CFG分析樹和在圖2C中生成的規(guī)則之中。應(yīng)該注意的是,也可替代注釋數(shù)據(jù)而從庫語法(其可通過從域特定數(shù)據(jù)庫中提取數(shù)據(jù)數(shù)據(jù)而被依次構(gòu)建)中獲得城市規(guī)則。
然而,在輸入句子中仍然存在大量還未被映射到樹的字詞。這些字詞包括“Flight”、“from”和“to”。由于字詞“Flight”和“from”在字詞“Seattle”之前,它們可映射到分析樹216的多個(gè)前終端,包括FlihgtCmd、ShowFlightPreFlight和FlightPreDepartureCity。同樣,由于字詞“to”位于輸入文本串213中的字詞“Seattle”和“Boston”之間,字詞“to”可映射到FlightPostDepatureCity或FlightPreArrivalCity。
由于可知字詞“to”是介詞,必須修改在其后所出現(xiàn)的詞。因此,可確定字詞“to”被映射到分析樹216中的FlightPreArrivalCity前終端。
然而,仍然不知道分析樹216中的字詞“Flight”和“from”位于何處。同樣,也不知道兩個(gè)字詞的特殊分段。例如,在一個(gè)可選方案中,字詞“Flight”可被映射到ShowFlightCmd,而字詞“from”被映射到ShowFlightPreFlight。在這種情況下,前終端FlightPreDepatureCity被映射到一個(gè)空集。
根據(jù)另一可選方案,字詞“Flight”和“from”都可被映射到“ShowFlightCmd”,而其它前終端ShowFlightPreFlight和FlightPreDepartureCity都被映射到空集。
在另一可選方案中,“Flight”被映射到ShowFlightCmd,且“from”被映射到FlightPreDepartureCity,而保留的前終端ShowFlightPreFlight被映射到一個(gè)空集。
這代表分段歧義,所述分段歧義在沒有來自開發(fā)人員的附加信息的情況下過去仍未被解決。在現(xiàn)有系統(tǒng)中,每一可能的分段被簡(jiǎn)單地呈現(xiàn)給用戶,且允許用戶選擇這些分段中的一個(gè)。
然而,這已產(chǎn)生大量的問題。首先,和用戶的這種交互是擾人的且耗時(shí)的。同樣,當(dāng)這里可能的前終端越多,輸入文本串中的單獨(dú)的字詞也就越多,必須呈現(xiàn)給用戶的似然的數(shù)量戲劇性地增長。如果可能的話,為用戶的選擇而有效顯示所有這種候選分段使非常困難的。另外,即使當(dāng)為用戶的選擇而充分顯示分段時(shí),用戶經(jīng)常在分段中出錯(cuò)或不一致地分割相似的文本串。
根據(jù)一個(gè)實(shí)施例,期望最大化算法(EM)被應(yīng)用于模型組件202中的分段歧義中,以消除分段選擇的歧義。當(dāng)模型包括不可觀測(cè)的隱藏的變量時(shí),EM算法通常是通過最大化可能的估算量來估算模型參數(shù)的算法。
圖3A示出一非常詳細(xì)地說明模型編輯組件202的框圖。圖3A示出的模型編輯組件202說明性地包括模板語法生成器200、分段EM應(yīng)用組件302和修剪組件304。模板語法生成器300接收概要206和被概要206中的語義類別所參照的可選語法庫209中的任意規(guī)則,并生成包括所有規(guī)則的模板語法,這些規(guī)則可從概要206或可選語法庫209中獲得或搜集。然后EM分段組件獲得模板語法和訓(xùn)練實(shí)例(文本串和其它注釋)以作為輸入。EM分段組件302使用模板語法,以發(fā)現(xiàn)訓(xùn)練實(shí)例中的分段歧義。然后運(yùn)行組件302,以消除任何分段歧義?;谶@些歧義的消除,可使用修剪組件來從語法中修剪重寫規(guī)則,以提供基于規(guī)則的語法210。
為進(jìn)一步說明EM分段組件302的運(yùn)行,圖2F和2G提供示范表。圖2F展示包括一組實(shí)例的表。所展示的第一字詞“from”有可能被映射到前終端ShowFlightCmd或前終端FlightPreDepartureCity。組件302可從諸如“from Seattle toBoston”之類的一個(gè)實(shí)例句子中獲得該實(shí)例。第二個(gè)實(shí)例表明字詞“Flight from”可被映射到前終端“ShowFlightCmd”和“FlightPreDepatureCity”,其可被組件302從諸如“Flight to Boston on Tuesday”之類的一個(gè)實(shí)例中同樣地獲得。然而,實(shí)例的分段是有歧義的。換言之,仍然不知道第一實(shí)例中的字詞“from”是否被映射到前終端ShowFlightCmd或前終端FlightPreDepartureCity。同樣,仍然不知道字詞“Flight from”如何被映射到前終端ShowFlightCmd和FlightPreDepartureCity之間。另外,當(dāng)然,也不知道字詞“Flight to”如何被映射到可能的前終端前終端ShowFlightCmd和FlightPreArrivalCity。
圖2G是進(jìn)一步說明EM算法應(yīng)用組件203的操作的表。圖3B是說明組件203的操作流程圖且和圖2F和2G一起被描述。
首先,組件302列舉所有可能的分段。這在標(biāo)有可能重寫規(guī)則的圖2G的左列中展示。在圖2G所示的重寫規(guī)則中,簡(jiǎn)化能夠形成前終端名稱的一些字詞。因此,例如,重寫規(guī)則SFCmd->ε表明其中ShowFlightCmd(簡(jiǎn)化的SFCmd)前終端被映射到一個(gè)空集的分段。同樣,重寫規(guī)則SFCmd->from表示其中字詞“from”被映射到前終端ShowFlightCmd的分段。此外,重寫規(guī)則FPDCity->ε表示其中前終端FlightPreDepartureCity(簡(jiǎn)化的FPDCity)被映射到空集的分段,PFACity->ε表示其中前終端FlightPreArrivalCity(簡(jiǎn)化的FPACity)被映射到空集的分段。從這些實(shí)例中,圖2G所示表的重寫規(guī)則部分的其它符號(hào)能夠自我解釋。完全可以說,列舉了圖2F所示的實(shí)例的每一可能的分段。
根據(jù)圖2F的第一實(shí)例,一個(gè)表明字詞“from”的分段被映射到ShowFlightCmd,且表明字詞“from”的其它分段被映射到FlightPreDepartureCity。
圖2F中的第二實(shí)例也支持許多不同的分段替換方案。例如,根據(jù)一個(gè)分段替換方案,字詞“Flight from”被映射到前終端ShowFlightCmd,且前終端FlightPreDepartureCity被映射到ε。在另一替換方案中,字詞“Flight”和“from”被分離,以使字詞“Flight”被映射到前終端ShowFlightCmd,且字詞“from”被映射到前終端FlightPreDepartureCity。在圖2G所列舉的重寫規(guī)則中也展示了這些分段中的每一個(gè)。
能以和第二實(shí)例相同的方式來分割第三實(shí)例,其中字詞“Flight to”可被映射到前終端ShowFlightCmd或前終端FlightPreArrivalCity,而其它前終端被映射到ε,或者可在前終端ShowFlightCmd和前終端FlightPreArrivalCity之間分離字詞“Flight to”。此外,在圖2G所示的重寫規(guī)則中表示這些分段。
圖3B的流程圖中的塊306表明了所有可能的分段的列舉。
一旦列舉了支持分段的重寫規(guī)則,則它們被一一分配一個(gè)概率。最初,圖2G中所說明的所有分段被分配相同的概率。這可通過圖3B中的塊308表明。
接著,基于在圖2F所示實(shí)例中可能出現(xiàn)的計(jì)數(shù),組件302將最新期望的計(jì)數(shù)分配給所列舉的重寫規(guī)則。這通過塊310來指示。例如,根據(jù)第一實(shí)例,存在兩種可能的分段,其中之一將字詞“from”映射到ShowFlightCmd且將前終端FlightPreDepartureCity映射到ε,而其中另一個(gè)將ShowFlightCmd映射到ε且將字詞“from”映射到前終端FlightPreDepartureCity。第一重寫規(guī)則規(guī)定ShowFlightCmd前終端映射到ε(空集)。因此,實(shí)例1中一半的分段支持圖2G的表中所示的第一重寫規(guī)則。從而,根據(jù)第一實(shí)例,第一重寫規(guī)則(ShowFlightCmd->ε)被分配二分之一的數(shù)量。
如上所述,第二實(shí)例支持三個(gè)不同的分段,其中之一將字詞“Flight from”分配給前終端ShowFlightCmd并將前終端FlightPreDepartureCity分配給ε,其中另一個(gè)將字詞“Flight”映射到前終端ShowFlightCmd并將字詞“from”映射到前終端FlightPreDepartureCity,其中最后一個(gè)將前終端ShowFlightCmd映射到ε并將字詞“Flight from”映射到前終端FlightPreDepartureCity。關(guān)于這三種分段,其中之一支持第一重寫規(guī)則(SFCmd->ε)。因此,根據(jù)第二實(shí)例,第一重寫規(guī)則被分配三分之一的數(shù)量。
以相同的方式,第三實(shí)例具有三種可能的分段,其中之一將前終端ShowFlightCmd映射到ε。因此,根據(jù)第三實(shí)例,圖2中所示的第一重寫規(guī)則被分配三分之一的數(shù)量。
通過這種分析,可知第二重寫規(guī)則(SFCmd->from)僅僅被第一實(shí)例所支持。因此,由于對(duì)于第一實(shí)例來說存在兩種可能的分段,因此其中之一支持第二重寫規(guī)則,第二重寫規(guī)則(SFCmd->from)被分配二分之一的數(shù)量。
來自圖2F所示第二和第三實(shí)例的分段中的一種支持第三重寫規(guī)則(SFCmd->Flight)。因此,由于這些實(shí)例中的每一個(gè)具有三種可能的分段,第三重寫規(guī)則(SFCmd->Flight)根據(jù)每一實(shí)例被分配三分之一的數(shù)量。
組件302以這種方式將計(jì)數(shù)分配給圖2G中所列舉的每一重寫規(guī)則,且這些計(jì)數(shù)在圖2G所示的表的第二列中得以被說明。計(jì)數(shù)都被轉(zhuǎn)換,以使它們具有一個(gè)公分母,且它們接著規(guī)范化每一前終端,以獲得概率。換言之,ShowFlightCmd終端的整個(gè)概率集必須被加在一起。因此,每一重寫規(guī)則的計(jì)數(shù)乘以一個(gè)標(biāo)準(zhǔn)化因數(shù),以獲得與重寫規(guī)則相關(guān)的一個(gè)概率。
例如,可知前終端ShowFlightCmd的計(jì)數(shù)總數(shù)為3。因此,第一重寫規(guī)則(SFCmd->ε)的概率為7/18。同樣,第二重寫規(guī)則的概率為3/18等等。為獲得概率,組件302為每一重寫規(guī)則和每一前終端處理計(jì)數(shù)。
由此可知,對(duì)于前終端FPDCity,全部不同規(guī)則的計(jì)數(shù)總和為2,因此標(biāo)準(zhǔn)化因數(shù)為1/2。對(duì)于最終的前終端FPACity,僅存在一個(gè)計(jì)數(shù)(3*1/3=1),因此標(biāo)準(zhǔn)化因數(shù)為l。由此可知,組件302將相關(guān)于每一重寫規(guī)則的概率重置為更加準(zhǔn)確地反映實(shí)例所支持的重寫規(guī)則的發(fā)生的一個(gè)數(shù)目。圖3B中的塊312表明為獲得新的概率而標(biāo)準(zhǔn)化計(jì)數(shù)。
組件302重復(fù)該過程(重新估算計(jì)數(shù)并獲得新的概率),直到計(jì)數(shù)和概率匯合為止。這由塊314來指示。例如,為獲得第一重寫規(guī)則的新的計(jì)數(shù)C,組件302執(zhí)行等式1,該等式首先找出觀察字詞“from”的整個(gè)似然,“from”給出非終端序列ShowFlightCmd和FPDCity,等式如下
Eq.1P(from|ShowFlightCmd FPDCity)=P(ε|ShowFlightCmd)*P(from|FPDCity)+P(from|ShowFlightCmd)*P(ε|FPDCity)=[(7/18)×(5/12)]+[(3/18)×(5/12)]=50/216在該數(shù)量之外,將空串對(duì)準(zhǔn)ShowFlightCmd與將“from”對(duì)準(zhǔn)FPDCity的分段比例成為新的所期望的計(jì)數(shù)CC‾(ϵ|cmd)=P(ϵ|cmd)*P(from|FPDCity)P(from|cmdFPDCity)]]>Eq.2=718×51250216=3521650216=3550=710]]>同樣,如下計(jì)算第二重寫規(guī)則的新的計(jì)數(shù)CEq.3C‾(from|cmd)=P(from|cmd)*P(ϵ|FPDCity)P(from|cmdFDPCity)=318×51250216=1521650216=310]]>該過程繼續(xù)每一重寫規(guī)則以從每一實(shí)例收集計(jì)數(shù)C。然后,新的計(jì)數(shù)乘以標(biāo)準(zhǔn)化因數(shù)以獲得新的概率。如圖3B所示,組件302重復(fù)該過程,重新估算新的計(jì)數(shù)和新的概率,直到概率匯合為止。
一旦完成了重復(fù),組件302將計(jì)算與所列舉的每一重寫規(guī)則相關(guān)的新的計(jì)數(shù)和新的概率。同時(shí)這對(duì)于其本身也是有幫助的,因?yàn)槠鋵⒏怕史峙浣o相應(yīng)于訓(xùn)練期間獲得的不同分段的根據(jù)規(guī)則的每一分段,其不是期望的最終結(jié)果。例如,一些分析器不能利用概率。同樣,在一些分析組件中,大量規(guī)則導(dǎo)致分析器的低效。
因此,根據(jù)說明性的實(shí)施例,組件302向其中能夠剪除規(guī)則的剪除組件304提供規(guī)則和相關(guān)的概率。這由圖3B中的塊316和318所表示。剪除組件304能以多種不同方式中的一種方式來剪除規(guī)則(如塊320所示)。例如,剪除組件304可簡(jiǎn)單地剪除具有低于所期望的閥值的概率的規(guī)則。組件304接著將剩余的規(guī)則引入基于規(guī)則的語法210。
根據(jù)另一說明性的實(shí)施例,剪除組件304刪除除預(yù)定的分段數(shù)目之外的所有內(nèi)容,所述分段具有相應(yīng)于每一實(shí)例的較高的似然,并且剪除組件304根據(jù)剩余的分段而僅僅將重寫規(guī)則引入語法。例如,組件304可列舉除了似然最高的分段以外的相應(yīng)于每一實(shí)例的所有分段。因此,對(duì)于實(shí)例1,假定將字詞“from”映射到前終端FlightPreDepartureCity的分段具有高于將字詞“from”分配給前終端ShowFlightCmd的分段的概率。在這個(gè)實(shí)例中,刪除第二分段(其將“from”映射到ShowFlightCmd)。在這種情況下,支持所選擇分段的兩個(gè)重寫規(guī)則被添加到語法中。因此,重寫規(guī)則“SFCmc->ε”和重寫規(guī)則“FPDCity->from”都被添加到語法中。
同樣,可從圖2G列舉的規(guī)則中刪除不再被任何實(shí)例的最佳分段所支持的規(guī)則。從而,由于規(guī)則“SFCmd->from”僅僅被已被刪除的實(shí)例1的分段所支持,因此將其刪除。
現(xiàn)在將以更為正式的數(shù)學(xué)術(shù)語來描述這種方式的EM算法的應(yīng)用。分段歧義分解可定形為尋找一個(gè)字詞序列w=w1,w2,...,wn的m塊分割π=α1,α2,...,αm的問題,以使每一塊對(duì)準(zhǔn)序列N=NT1,NT2,...,NTm中的前終端。塊可包括0或更多來自w的字詞。
如果我們通過以下等式來模擬π,N和w的連接概率Eq.4P(π,N,w)=Πi=1mP(NT1→αi)]]>然后給出N和w,最相似的分段可被包括,作為Eq.5 這種分割可通過維特比搜索來發(fā)現(xiàn)。從而僅剩的問題為估算每個(gè)前終端(或概念)NT和字詞序列α的模型參數(shù)P(NT->α)。如果訓(xùn)練數(shù)據(jù)是與每個(gè)前終端的字詞序列成對(duì)的前終端的列表,則這可通過最大似然似然(ML)估算來處理。然而,經(jīng)由編輯工具而從用戶獲得的訓(xùn)練實(shí)例是說明性的前終端序列和終端序列對(duì)。分割或分段是一個(gè)隱藏的變量且不為工具所知。
EM算法最初設(shè)置模型的參數(shù)P,然后將參數(shù)重復(fù)修改為P’,以增加觀測(cè)D的似然。
為找出該P(yáng)’,我們?cè)?6)中定義輔助函數(shù)Eq.6Q(Pφ,|Pφ)=ΣN,wc(N,w)ΣπPφ(π|N,w)logPφ,(π,N,w)Pφ(π,N,w)]]>這是兩種模型參數(shù)化之間的訓(xùn)練數(shù)據(jù)的L(D|P’)-L(D|P)似然差異的較低范圍。根據(jù)前終端的所有可能的重寫規(guī)則的概率總和必須為1的這個(gè)約束條件,EM算法通過最大化Q來完全重置參數(shù)P’,以通過新的參數(shù)化來最大化增加訓(xùn)練樣本似然。因此,對(duì)于每一規(guī)則NTα,可通過求解以下等式來獲得其新的概率Eq.7∂(Q(Pφ,|Pφ)+λ(ΣαPφ,(NT→α)-1))∂Pφ,(NT→α)=0]]>SincePφ,(π,N,w)=ΠNT,αPφ,(NT→α)α(NT→α,N,w),]]>E.8∂Q(Pφ,|Pφ)∂Pφ,(NT→α)=]]>ΣN,wc(N,w)ΣπPφ(N,w)c(NT→α;π,N,w)Pφ,(NT→α)=-λ,]]>因此,概率可被重置為調(diào)節(jié)標(biāo)準(zhǔn)化因數(shù)-1/λ的所期望的計(jì)數(shù)Eq.9Pφ,(NT→α)=]]>-1/λΣN,wc(N,w)ΣsPφ(π|N,w)c(NT→α;π,N,w).]]>為計(jì)算所期望的計(jì)數(shù),則注意
Eq.10∂Pφ(N,w)∂Pφ(NT→α)=∂ΣπPφ(π,N,w)∂Pφ(NT→α)]]>=Σπc(NT→α;π,N,w)ΠNT,αPφ(NT→α)c(NT→α;π,N.w)Pφ(NT→α)]]>=ΣπPφ(π,N,w)c(NT→α;π,N,w)Pφ(NT→α)]]>=Pφ(N,w)ΣπPφ(π|N,w)c(NT→α;π,N,w)Pφ(NT→α)]]>因此Eq.11ΣπPφ(π|N,w)c(NT→α;π,N,w)]]>=Pφ(NT→α)Pφ(N,w)∂Pφ(N,w)∂Pφ(NT→α).]]>使Ekij=(N=>w1,...wn)成為事件,即在重寫前終端序列N到字詞序列的過程中,規(guī)則NT->α被用于N中的第k個(gè)前終端,以生成子序列α=wi,...wj,并使λts(p,q)成為序列N中從位置s到t的前終端覆蓋終端字詞wp,...wq=1的概率。然后Eq.12Pφ(N,w)=ΣijEijk=]]>Σyλ1k-1(1,i)λk+1m(j+1,n+1)Pφ(NT→wi,...,wj)]]>Eq.13∂Pφ(N,w)∂Pφ(NTk→α)=Σij=wi,...,wjλjk-1(1,i)λk+1m(j+1,n+1)]]>因此如果我們能夠計(jì)算λtst(p,q),我們便能結(jié)合等式(9)、(11)和(13)以獲得所期望的計(jì)數(shù)并重置模型參數(shù)。根據(jù)(14)通過動(dòng)態(tài)設(shè)計(jì)來計(jì)算λts(p,q)的情況下,ε是空串Eq.14λst(p,q)=Σp≤r≤qλst-1(p,r)λst(r,q);]]> 注意P(N,w)=λlm(1,n+1)可被用于等式(11)中。
圖4說明根據(jù)本發(fā)明一個(gè)不同方面的模型編輯組件350的另一實(shí)施例。基于規(guī)則的語法210仍然較弱且比所期望的要脆弱。例如,假定在訓(xùn)練生成如下規(guī)則期間,為模擬如下前終端FlightPreArrivalCity->toShowFlightCmd->Show me the flight進(jìn)一步假定,在運(yùn)行時(shí)間期間,句子輸入為“Show flight to Boston”。由于不存在說明“Show flight”是ShowFlightCmd的規(guī)則,所以不能理解輸入句。
CFG良好工作以適于高分解理解。高分解理解表示將句子分解為大量時(shí)間段的語法。時(shí)間段的數(shù)量越大,語法所展示的分解理解就越高。CFG能在高分解的情況下良好的歸納。
然而,許多應(yīng)用要求較低的分解理解,其中不存在被填充的大量時(shí)間段。例如,在一個(gè)命令和控制應(yīng)用中,一些必須被識(shí)別的命令包括“ChangePassword”、“ChangeBackground”和“ChangeLoginPicture”。在這些實(shí)例中,不存在被填充的時(shí)間段,且整個(gè)句子必須作為命令而被識(shí)別。在訓(xùn)練期間,這將導(dǎo)致一個(gè)如下的規(guī)則ChangeLoginPictureCmd->Please change my login icon。
由于“ChangeLoginPicture”是一個(gè)命令,所以對(duì)于規(guī)則不存在屬性部分。因此,語法學(xué)習(xí)者以所獲得的規(guī)則簡(jiǎn)單地“記憶”整個(gè)句子。為識(shí)別和調(diào)用用于發(fā)布的命令,該命令必須在訓(xùn)練數(shù)據(jù)中匹配一個(gè)完整的句子。這里完全不存在普遍性。
本發(fā)明的另一實(shí)施例在于以模板語法中的規(guī)則替代模擬前終端(例如命令、前文和后文),統(tǒng)計(jì)模型(例如一個(gè)n字符列)被用于模擬前終端。在一個(gè)實(shí)施例中,為相應(yīng)于模板語法中前終端所列舉的分段而生成的文本被用作n字符列(或其它統(tǒng)計(jì)模型)的訓(xùn)練數(shù)據(jù)。因此,在上述實(shí)例中,相應(yīng)于前終端所列舉的分段的文本串,與EM算法的期望步驟中所收集的其所期望的計(jì)數(shù)一起,被用于訓(xùn)練前終端的n字符列。因此,文本“Show me the flight”被用作訓(xùn)練數(shù)據(jù),以便為模擬ShowFlightCmd前終端而訓(xùn)練一個(gè)n字符列。因此,其中帶有“Show flight”的句子被識(shí)別為ShowFlightCmd的概率可做如下計(jì)算Eq.15Pr(<s>showflight</s>|ShowFlightCmd)=Pr(show|<s>;ShowFlightCmd)*Pr(flight|show;ShowFlightCmd)*Pr(</s>|flight;ShowFlightCmd)當(dāng)規(guī)則不能將ShowFlightCmd的識(shí)別為“show flight”時(shí),Eq.15中的上述n字符列概率將不會(huì)為零。由于等式15中的第一因數(shù)和第三因數(shù)相應(yīng)于實(shí)際存在于訓(xùn)練數(shù)據(jù)(例如,[<s>show]和[flight,</s>])中的雙字母組,因此它們不會(huì)為零。第二因數(shù)與訓(xùn)練數(shù)據(jù)中顯露的雙字母組不一致,但是由于諸如補(bǔ)償(在下文中被描述)之類的平滑技術(shù),所以其也具有非零概率且可被如下表示Eq.16Pr(flight|show;ShowFlightCmd)=Backoff_weight*Pr(flight|ShowFlightCmd)如所期望那樣,可以憑經(jīng)驗(yàn)或者別的方法來設(shè)置補(bǔ)償位權(quán),由于“flight”是訓(xùn)練數(shù)據(jù)中的一個(gè)字詞,所以單字符列概率Pr(flight|ShowFlightCmd)非零。
由于Pr(show flight</s>|ShowFlightCmd)>0,分析器將輸入句看作ShowFlight候選。輸入句的最終解釋將依賴于與其它候選解釋的比較。
所以圖4示出模型編輯組件350的另一實(shí)施例,該模型編輯組件350編輯包括語法部分210(例如CFG)的復(fù)合模型351,語法部分210包括用于模擬時(shí)間段和識(shí)別前終端(例如命令、前文和后文)的統(tǒng)計(jì)模型部分326(例如n字符列)的規(guī)則。因此,在運(yùn)行期間,借助統(tǒng)計(jì)模型部分326來估算輸入句,以識(shí)別前終端,且借助基于規(guī)則的語法部分210來估算輸入句,以填充時(shí)間段。
組件350通過部分地利用上述EM算法技術(shù)來訓(xùn)練復(fù)合模型351。例如,假定圖5根據(jù)不同的樣本分段來展示所有所列舉的ShowFlightCmd的規(guī)則。
對(duì)于上述和圖2-3B相關(guān)的模型,在EM算法的E步驟期間,為圖5所示的每個(gè)所列舉的規(guī)則而收集所期望的計(jì)數(shù)。在M步驟期間,標(biāo)準(zhǔn)化計(jì)數(shù)。然而,對(duì)于復(fù)合模型351,替代在算法的M步驟期間標(biāo)準(zhǔn)化計(jì)數(shù),列舉的規(guī)則的右側(cè)上的文本串和相應(yīng)于這些規(guī)則的相關(guān)的所期望的計(jì)數(shù)被用作訓(xùn)練數(shù)據(jù),以訓(xùn)練和平滑ShowFlightCmd前終端的n字符列。
換言之,在訓(xùn)練n字符列中,不需要為字詞序列的每次發(fā)生而添加整個(gè)計(jì)數(shù)。作為替代,為字詞序列的每次發(fā)生而添加相應(yīng)于與培訓(xùn)句(由圖3A中所說明的EM應(yīng)用組件302所生成)相關(guān)的規(guī)則所期望的計(jì)數(shù)的分?jǐn)?shù)數(shù)據(jù)。
和關(guān)于圖2-3B而描述分段歧義消除的所述實(shí)施例的另一區(qū)別包括EM算法的E步驟。作為將概率和每個(gè)所列舉的規(guī)則相結(jié)合的替代,規(guī)則的概率是規(guī)則中所有n字符列的乘積。
例如,在上述基于規(guī)則的語法中,規(guī)則ShowFlightCmd->Show me the flight具有與其相關(guān)的基本概率。然而,在模型組件351中,可如下計(jì)算規(guī)則的概率Eq.17Pr(ShowFlightCmd->show me the flight)=Pr(show|<s>;ShowFlightCmd)*Pr(me|show;ShowFlightCmd)*Pr(the|me;ShowFlightCmd)*Pr(flight|the;ShowFlightCmd)*Pr(</s>|flight;ShowFlightCmd).
同樣,根據(jù)本發(fā)明的一個(gè)實(shí)施例,訓(xùn)練前終端的統(tǒng)計(jì)模型包括應(yīng)用平滑算法。例如,由于其僅僅包括與給定的前終端相關(guān)的分段所列舉的文本串,用于培訓(xùn)前終端的統(tǒng)計(jì)模型的培訓(xùn)數(shù)據(jù)可相對(duì)較少。這將留下相對(duì)大量的未被統(tǒng)計(jì)模型所覆蓋的語言表達(dá),且因此致使統(tǒng)計(jì)模型相對(duì)脆弱。因此,利用低級(jí)n字符列和均勻分布來平滑模型概率。換言之,如果統(tǒng)計(jì)模型包括一個(gè)雙字母組,則無論上下文如何,通過向模擬的字詞提供概率的單字符列來平滑。另外,通過均勻分布來平滑統(tǒng)計(jì)模型,該均勻分布將相同的概率分配給詞匯中的每個(gè)字詞。因此,如果字詞處于詞匯中,則統(tǒng)計(jì)模型將不以零概率來對(duì)其模擬。刪除的內(nèi)插被用于尋找平滑操作中的每一模型的位權(quán)并線性內(nèi)插不同次序的模型。
組件350也可根據(jù)本發(fā)明的不同實(shí)施例來訓(xùn)練附加的統(tǒng)計(jì)模型組件。這在圖6所示的框圖中被非常詳細(xì)地說明。例如,在上述框圖中,統(tǒng)計(jì)模型部分326被示為不僅包括前終端340的統(tǒng)計(jì)模型組件,還包括多個(gè)其它統(tǒng)計(jì)模型。例如,一個(gè)實(shí)施例中的統(tǒng)計(jì)模型326可包括組件342和344,該組件包括模擬任務(wù)的先驗(yàn)概率的統(tǒng)計(jì)模型和slot轉(zhuǎn)換的統(tǒng)計(jì)模型。
例如,如果運(yùn)行期,輸入句為“Show flight to Boston arriving on Tuesday,11:00a.m.”,則將分析術(shù)語“arriving on”,該術(shù)語表明“Tuesday”相應(yīng)于抵達(dá)日期。然而,在“11:00 a.m.”之前不存在表明是啟程時(shí)間還是抵達(dá)時(shí)間的字詞。跟隨“arrival date”時(shí)間段的“arrival time”時(shí)間段的概率將很可能高于跟隨“arrivaldate”時(shí)間段的“departure time”時(shí)間段的概率,時(shí)間段轉(zhuǎn)換模型將傾向于“11:00a.m.”和“arrival time”時(shí)間段相匹配。還可注意到為模擬時(shí)間段轉(zhuǎn)換而訓(xùn)練統(tǒng)計(jì)模型(例如n字符列模型)和為模擬時(shí)間段的先驗(yàn)概率而訓(xùn)練統(tǒng)計(jì)模型(例如n字符列)相同。對(duì)于時(shí)間段的先驗(yàn)概率,單字符列模型被培訓(xùn)且模擬兩個(gè)時(shí)間段之間的時(shí)間段轉(zhuǎn)換,雙字母組模型也被訓(xùn)練等等。
并且,一些命令比其它命令更加頻繁的出現(xiàn)于訓(xùn)練數(shù)據(jù)中。因此,在模型342中模擬命令的先驗(yàn)概率。
下面將結(jié)合其它實(shí)例而十分詳細(xì)地描述本發(fā)明。圖7示出概要中的語義類別的一個(gè)典型的簡(jiǎn)化的實(shí)例,其中該概要定義語義以用于指定調(diào)度命令NewAppt。
圖8說明自動(dòng)生成的模板規(guī)則以用于語義類別NewAppt,其中括號(hào)中的符號(hào)是可選的。圖9說明注釋句“New meeting with Peter at 5:00”的實(shí)施例。圖10說明一旦如上述地執(zhí)行分段歧義消除而被添加的兩個(gè)規(guī)則。
然而,如上所述,純粹的基于規(guī)則的語法缺乏穩(wěn)固性且表現(xiàn)出脆弱性。因此,本發(fā)明的一個(gè)方面以n字符列來替代CFG規(guī)則,以模擬模板語法中的每個(gè)命令、前文和后文以及模擬時(shí)間段轉(zhuǎn)換。時(shí)間段n字符列約束缺乏前文和后文的時(shí)間段的解釋。最后得到的模型是統(tǒng)計(jì)模型(或HMM)和CFG的復(fù)合物。HMM模擬模板規(guī)則和n字符列前終端,CFG模擬庫語法。
在圖11中示出該模型的一個(gè)實(shí)例。術(shù)語“Att”是“Attendee”的一個(gè)縮寫,“ST”是“StartTime”的一個(gè)縮寫。發(fā)射概率b是前終端從屬n字符列(在附圖中它們被描述為單字符列,但是高次發(fā)射分布將導(dǎo)致高次HMM),且轉(zhuǎn)換概率a是時(shí)間段轉(zhuǎn)換雙字母組。來自時(shí)間段節(jié)點(diǎn)的發(fā)射τ是庫CFG非終端。根據(jù)CFG模型PCFG而從它們之中生成字詞。
在圖11所示的模型中,可通過尋找維特比語義類別c和狀態(tài)序列б來獲得輸入句s的含義,其中狀態(tài)序列б滿足Eq.18(c,s)=argmax(c,s)P(c,s|s)=argmax(c,s)P(c,s,s)]]>=argmax(c,s)P(c)′P(s,s|c)]]>新的模型克服了CFG模型的限制。對(duì)于低分解理解(任務(wù)分類),沒有將屬性前終端引入模板語法。因此,所有訓(xùn)練數(shù)據(jù)被用于訓(xùn)練和平滑命令前終端的n字符列。模型按比例地縮小到等式19所表示的n字符列分類器。
Eq.19c‾=argmaxcP(c)P(s|c)]]>=argmaxcP(c)ΠiP(wi|,wi-1,wi-2,...,w1;cCmd)]]>N字符列不要求精確的規(guī)則匹配。作為關(guān)于規(guī)則適用性的二元判定的替代,其比較從狀態(tài)(前終端)序列生成所觀測(cè)的字詞序列的概率,以找出最可能的解釋。因此,模型自身是穩(wěn)固的且不需要穩(wěn)固的分析器。
現(xiàn)在就圖7-11所示的實(shí)例來十分詳細(xì)地描述訓(xùn)練。為訓(xùn)練模型,EM算法自動(dòng)分割字詞序列并使每一分割α對(duì)準(zhǔn)相應(yīng)對(duì)的前終端序列中的相應(yīng)的前終端NT。EM算法建立一個(gè)分配概率的模型P(NT-)α),以便從NT生成字詞串,且通過最初的均勻分布而用參數(shù)對(duì)其進(jìn)行表示。然后如上說述,其重復(fù)地改進(jìn)參數(shù)化。在每一重復(fù)中,其根據(jù)在先重復(fù)(E步驟)中的參數(shù)化來計(jì)算規(guī)則NT->α的所期望的計(jì)數(shù),然后通過標(biāo)準(zhǔn)化所期望的計(jì)數(shù)(M步驟)來再次估算概率P(NT->α)。為訓(xùn)練新的模型,該模型模擬帶有n字符列的前終端,在E步驟中收集所期望的計(jì)數(shù)在M步驟中被用于訓(xùn)練和平滑n字符列;通過EM算法來使用n字符列以便收集用于分段所期望的計(jì)數(shù)。這導(dǎo)致一種圖12所說明的訓(xùn)練算法。
在一說明性的實(shí)施例中,圖12最后一行中所說明的閾值設(shè)置為0.01。當(dāng)然,也可使用其的閾值。
本發(fā)明的其它可選方面也是值得關(guān)注的??蛇x語法庫209(如圖2A、4和13所示)統(tǒng)計(jì)性地適于訓(xùn)練數(shù)據(jù)208。例如,假定語法庫209包括相對(duì)較大的城市列表,該列表包括較大和較小的國際和國內(nèi)城市。然而,進(jìn)一步假定模型正被訓(xùn)練的這種特定應(yīng)用僅僅涉及國內(nèi)城市,且進(jìn)一步假定諸如紐約和洛杉磯之類的大型國內(nèi)城市比較小的城市更有可能被涉及。組件202和350獲悉與概率性的上下文無關(guān)語法(PCFG)相關(guān)的概率。例如,其可被獲悉規(guī)則Cityname->NewYork的概率大于規(guī)則Cityname->Tokyo的概率。這能以和所獲悉的上述其它概率相同的方式來處理。
圖13說明一個(gè)運(yùn)行期系統(tǒng),該系統(tǒng)使用用于時(shí)間段的基于規(guī)則的語法部分和前終端的統(tǒng)計(jì)模型部分。該系統(tǒng)接收一個(gè)輸入,并使用語法部分和n字符列部分且輸出一個(gè)輸出402。
就圖14來非常詳細(xì)地描述解碼。圖14說明一個(gè)表示用于輸入“new meetingwith Peter at five”的動(dòng)態(tài)設(shè)計(jì)解碼器的動(dòng)態(tài)設(shè)計(jì)格子結(jié)構(gòu)。
動(dòng)態(tài)設(shè)計(jì)解碼器尋找上述等式18所表示的維特比路徑。一旦接收了輸入,解碼器首先使用自底向上的圖表分析器來尋找覆蓋一些輸入范圍的庫語法非終端。在該實(shí)例中,其將“Peter”識(shí)別為<Person>,并將“five”識(shí)別為<time>或<num>。然后解碼器在第一列(實(shí)例僅僅展示語義類別NewAppt)上搜索從語義類別節(jié)點(diǎn)啟動(dòng)的格子結(jié)構(gòu)。在每個(gè)節(jié)點(diǎn)上,在同一列(切換為不同的非終端)中對(duì)其它節(jié)點(diǎn)進(jìn)行轉(zhuǎn)換或在同一行(通過非終端來消耗輸入字詞)中對(duì)下一節(jié)點(diǎn)進(jìn)行轉(zhuǎn)換。從左到右繼續(xù)搜索,直到搜索到合適的大部分列。當(dāng)其進(jìn)行轉(zhuǎn)換時(shí),通過將合適的記錄概率添加到啟動(dòng)節(jié)點(diǎn)的分?jǐn)?shù)中來獲得分?jǐn)?shù)。然后將該分?jǐn)?shù)和目的節(jié)點(diǎn)的分?jǐn)?shù)相比較,如果新的分?jǐn)?shù)較高,則將其替換。格子結(jié)構(gòu)之下是被圖表分析器識(shí)別的非終端。粗線路徑表示維特比解釋。較高的細(xì)線路徑412識(shí)別正確的任務(wù),但不識(shí)別時(shí)間段。較低的細(xì)線路徑414(其分享維特比路徑410的路徑)識(shí)別在場(chǎng)者但不識(shí)別啟動(dòng)時(shí)間時(shí)間段。其將“at five”作為在場(chǎng)者的后文來處理。以下為維特比路徑410而列舉圖14所示的每個(gè)九分之一的轉(zhuǎn)換的記錄概率。
1.log p(NewAppt)//Class Prior2.log b(New|<s>;NewApptCmd)//Word bigram3.log b(meeting|new;NewApptCmd)//Word bigram4.log b(</s>|meeting;NewApptCmd)+ //Word bigramlog a(Attendee|<s>;NewAppt) //Slot bigram5.log b(with|<s>;PreAttendee) //Word bigram6.log b(</s>|with;PreAttendee) //Word bigram7.log Pefy(Peter|<Person>) //PCFG8.09.log b(</s>|<s>;PostAttendee)+//Word bigramlog d(StartTime|Attendee;NewAppt)//Slotbigram可使用任何所期望的修剪機(jī)構(gòu)。例如,一個(gè)修剪機(jī)構(gòu)所提供在格子結(jié)構(gòu)的每一列上,如果其分?jǐn)?shù)比同一列中小于最大分?jǐn)?shù)內(nèi)的閥值(例如5.0)還要小,則沒有從節(jié)點(diǎn)中做出轉(zhuǎn)換。換言之,如果其比通向同一列的一個(gè)節(jié)點(diǎn)的另一個(gè)小上105倍,則路徑不被擴(kuò)展。在修剪之后,解碼器以穩(wěn)固的分析器更快的數(shù)量級(jí)來運(yùn)行。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,復(fù)合模型351不僅被用于自然語言理解系統(tǒng),也可被用于語音識(shí)別系統(tǒng)。在這個(gè)實(shí)施例中,語音識(shí)別系統(tǒng)同時(shí)執(zhí)行語音識(shí)別和自然語言理解。
圖15說明一個(gè)在其中使用復(fù)合模型351的說明性的語音識(shí)別系統(tǒng)500的框圖。當(dāng)然,由于在圖15所示的語音識(shí)別系統(tǒng)中實(shí)現(xiàn)復(fù)合模型351,所以系統(tǒng)500也可像執(zhí)行語音識(shí)別一樣來執(zhí)行自然語言理解。在對(duì)其非常詳細(xì)地描述之前,先提供整個(gè)操作系統(tǒng)500的一個(gè)簡(jiǎn)要討論。
在圖15中,揚(yáng)聲器510向麥克風(fēng)504發(fā)聲。麥克風(fēng)504所檢測(cè)到的音頻信號(hào)被轉(zhuǎn)換為電信號(hào),以提供給模擬——數(shù)字(A-to-D)轉(zhuǎn)換器506。
A-to-D轉(zhuǎn)換器506將來自麥克風(fēng)504的模擬信號(hào)轉(zhuǎn)換為一系列數(shù)值。在幾個(gè)實(shí)施例中,A-to-D轉(zhuǎn)換器506以每個(gè)樣本16千赫和16比特來取樣模擬信號(hào),從而創(chuàng)建每秒32干字節(jié)的語音數(shù)據(jù)。這些數(shù)值被提供給幀構(gòu)造器507,其在一個(gè)實(shí)施例中將數(shù)值集合成每隔10毫秒啟動(dòng)的25毫秒幀。
幀構(gòu)造器507所創(chuàng)建的數(shù)據(jù)幀被提供給特征提取器508,其從每一幀中提取一個(gè)特征。例如特征提取模塊包括用于執(zhí)行線性預(yù)測(cè)編碼(LPC)、LPC導(dǎo)出的倒譜、有理解力的線性預(yù)測(cè)(PLP)、聽覺模型特征提取和嘜耳頻率倒譜系數(shù)(MFCC)特征提取的模塊。注意本發(fā)明不限于這些特征提取模塊且其它模塊也可被用于本發(fā)明的環(huán)境中。
特征提取模型508制造和語音信號(hào)的幀相關(guān)聯(lián)的特征矢量流。該特征矢量流被提供給解碼器512,其基于特征矢量流、詞典514、語言模型351和聲音模型518來識(shí)別最有可能的字詞序列。用于解碼的特定方法對(duì)于本發(fā)明而言并不重要。
假定字詞的最合適的序列可被提供給可選信用量度模塊520。信用量度模塊520識(shí)別最有可能已被語音識(shí)別器不正確地識(shí)別的字詞。這可部分基于次要聲音模型(未示)。然后信用量度模塊520聯(lián)同表明哪些字詞已被不正確的識(shí)別的標(biāo)識(shí)符一起,向輸出模塊522提供假定字詞序列。熟知本領(lǐng)域的人士可知信用量度模塊520對(duì)于本發(fā)明的實(shí)踐而言并不是必須的。
在訓(xùn)練期間,相應(yīng)于訓(xùn)練文本526的語音信號(hào)和訓(xùn)練文本526的詞匯轉(zhuǎn)錄一起被輸入給訓(xùn)練者524[YW1]。訓(xùn)練者524基于訓(xùn)練輸入來訓(xùn)練聲音模型518。復(fù)合語言模型351的訓(xùn)練如上所述。
如上所述,模型351使用統(tǒng)計(jì)部分(例如,利用隱藏馬爾可夫模型技術(shù)而被實(shí)施的)來編碼應(yīng)用概要的結(jié)構(gòu)信息,并使用基于規(guī)則的部分(例如,利用CFG技術(shù)而被實(shí)施的)來模擬一些HMM狀態(tài)的發(fā)射。圖16——17B說明這種方式的模型拓?fù)洌苑奖阌懻摷词乖谄浣忉屛船F(xiàn)字詞的情況下,如何能在一種緊湊方式中以一個(gè)有限狀態(tài)表達(dá)來表示該模型。
圖16是另一應(yīng)用概要600的一個(gè)說明性的實(shí)施例。概要600簡(jiǎn)單地陳述應(yīng)用支持兩種類型的信息查詢飛行信息(ShowFlight任務(wù))和地面運(yùn)輸信息(GoundTransport任務(wù))。為獲得飛行信息,用戶必須提供關(guān)于抵達(dá)城市(Acity)的和/或啟程城市(Dcity)時(shí)間段的信息,于是系統(tǒng)可根據(jù)用戶的說明來搜索信息。時(shí)間段類型規(guī)定其“fillers”的要求。對(duì)于Acity和Dcity時(shí)間段而言,填充物必須是在語法庫中被模擬的一個(gè)表達(dá),其中該語法參照“City”類型的對(duì)象。
圖17A和17B示出一個(gè)統(tǒng)計(jì)模型部分(一個(gè)HMM),該部分將概要600的語義合并成一種自然語言理解基于規(guī)則的語法(例如CFG)。圖17A說明具有兩個(gè)分支的頂級(jí)結(jié)構(gòu)602,其中一個(gè)分支通向ShowFlight子網(wǎng)絡(luò)604,另一個(gè)分支通向GroundTransport網(wǎng)絡(luò)606。每一分支的轉(zhuǎn)換位權(quán)是兩個(gè)任務(wù)的概率。因此,從S節(jié)點(diǎn)到ShowFlight子網(wǎng)絡(luò)604的轉(zhuǎn)換位權(quán)相應(yīng)于ShowFlight任務(wù)(或命令)的概率,而到GroundTransport子網(wǎng)絡(luò)606的轉(zhuǎn)換概率相應(yīng)于GroundTraransport任務(wù)的概率。
圖17B十分詳細(xì)地說明ShowFlight子網(wǎng)絡(luò)604,圖17C說明子網(wǎng)絡(luò)模型的用途。圖17B所示的ShowFlight子網(wǎng)絡(luò)模型模擬語義表達(dá)式,用戶可使用該表達(dá)式來發(fā)布ShowFlight命令。子網(wǎng)絡(luò)模型從跟隨有時(shí)間段的表達(dá)式的命令部分(例如“Show me the flight”)開始。每個(gè)時(shí)間段通過前文和后文而被擴(kuò)在一起,其起到用于時(shí)間段的語言環(huán)境的作用。例如,字詞“from”是Dcity時(shí)間段的前文。其用信號(hào)通知隨后的City很可能是啟程城市。時(shí)間段互連,并且為了時(shí)間段的傳送,用雙字母組概率來加權(quán)連接,所述雙字母組概率根據(jù)訓(xùn)練數(shù)據(jù)來估算。
在子網(wǎng)絡(luò)模型604中,借助統(tǒng)計(jì)的n字符列模型來模擬命令、前文和后文。這些通過子網(wǎng)絡(luò)模型604中的橢圓部分而得以說明。借助來自語法庫的概率性的CFG規(guī)則來模擬時(shí)間段填充。這些由子網(wǎng)絡(luò)模型604所示的矩形來說明。利用域特定數(shù)據(jù)來說明性地調(diào)整語法庫中的規(guī)則的概率且對(duì)其進(jìn)行平滑處理。模型604中的n字符列和被部分標(biāo)記的訓(xùn)練數(shù)據(jù)相結(jié)合。如上所述,EM算法可被用于在網(wǎng)絡(luò)中培訓(xùn)N字符列,其中定位被作為隱藏變量。
不同與在先穩(wěn)固理解技術(shù),其依賴于穩(wěn)固的分析器以忽略未被語法所覆蓋的字詞,語法中的前終端的n字符列模型的使用使模型實(shí)質(zhì)上穩(wěn)固。這啟用本發(fā)明的一個(gè)特征,其不僅將復(fù)合模型351(圖17A和17B所示的一個(gè)實(shí)施例)用在自然語言理解中,也用在語音識(shí)別中。這克服了被用于在先系統(tǒng)中的不是最理想的雙道方法,以便完成語音識(shí)別和自然語言理解,且其使用先驗(yàn)知識(shí)以使其能比在先系統(tǒng)更好地來說明性地概括。
然而,為識(shí)別語音識(shí)別系統(tǒng)(例如圖15所示的語言模型)中的模型351,模型首先被轉(zhuǎn)換為可被解碼器512視作其語言模型的格式。因此,被用于模擬命令、前文和后文(例如,CFG中的那些n字符列)的統(tǒng)計(jì)的n字符列模型被轉(zhuǎn)換為概率性的有限狀態(tài)自動(dòng)機(jī)。所轉(zhuǎn)換的n字符列和頂級(jí)HMM結(jié)構(gòu)(例如圖17A所示的602)和庫語法中的規(guī)則一起來形成概率性的上下文無關(guān)語法(PCFG)語言模型。該轉(zhuǎn)換基于著名的轉(zhuǎn)換算法,例如在Riccardi,G,等所著的《語言模型的隨機(jī)自動(dòng)機(jī)》(《計(jì)算機(jī)語音和語言》,10,第265——293頁,1996)中所陳述的轉(zhuǎn)換算法。
然而,為大大減小模型的規(guī)模,對(duì)轉(zhuǎn)換算法做出重大改動(dòng)。這由圖18A、18B和18C所說明。圖18A和18C說明兩個(gè)前終端的雙字母組語言模型的有限狀態(tài)表達(dá),其中每一個(gè)前終端已被結(jié)合兩個(gè)觀測(cè)字詞(分別是所指定的a,b和c,d)。模型中的每個(gè)弧的標(biāo)記說明位權(quán)和輸出符。字母I表示初始狀態(tài),而字母O表示后退狀態(tài),字母F表示有限狀態(tài)。圖18B是共享均勻分布的有限狀態(tài)表示,其被用于將一個(gè)后退概率分配給未現(xiàn)字詞(例如,未出現(xiàn)在圖18A所示的特定n字符列模型的培訓(xùn)數(shù)據(jù)中的那些字詞)。
為說明圖18A所示的模型的運(yùn)行,考慮和字詞“a”的發(fā)音相關(guān)的概率,“a”跟隨有字詞“b”的發(fā)音。這相應(yīng)于以下概率的結(jié)合P(a|<s>)aP(b|a)bPr(</s>|b)第一概率是跟隨句子符號(hào)開始的字詞“a”的n字符列概率。這相應(yīng)于從初始狀態(tài)I到狀態(tài)a的轉(zhuǎn)換。第二概率是跟隨字詞“a”的字詞“b”的概率,該概率被標(biāo)記于從狀態(tài)a到狀態(tài)b的轉(zhuǎn)換。第三概率是跟隨字詞“b”的句子符號(hào)的末尾的概率,該概率被標(biāo)記于從狀態(tài)b到最終狀態(tài)F的轉(zhuǎn)換。這種次序轉(zhuǎn)換形成了有限狀態(tài)機(jī)中的一條路徑,該有限狀態(tài)機(jī)接受發(fā)音“a b”并通過乘上路徑中的轉(zhuǎn)換概率來計(jì)算發(fā)言的概率。
對(duì)于訓(xùn)練數(shù)據(jù)中未被觀測(cè)的字詞序列的發(fā)音而言,有限狀態(tài)機(jī)將不對(duì)其分配0概率。作為替代,將后退位權(quán)和單字符列概率的乘積用作未現(xiàn)事件的雙字母組概率,從而一條路徑通過后退狀態(tài)。例如,通過圖18A中的以下路徑來計(jì)算發(fā)言“a a”的概率I->aP(a|<s>)aa->OB(a)εo->aP(a)aa-FP(</s>|a)在這里,即使在訓(xùn)練數(shù)據(jù)中未觀測(cè)到雙字母組“a a”,P(a|a)=B(a)*P(a)>0。
對(duì)于在被模擬的特定n字符列的訓(xùn)練數(shù)據(jù)中未現(xiàn)的字詞的發(fā)言,如果字詞在詞匯中,則其被分配一個(gè)后退到統(tǒng)一概率1/|V|的概率,其中|V|是詞匯大小。在在先系統(tǒng)中,這導(dǎo)致在每一未現(xiàn)字詞的后退狀態(tài)O上的自循環(huán)。由于復(fù)合模型中的每個(gè)n字符列的訓(xùn)練數(shù)據(jù)可相對(duì)稀少,所以和模型相關(guān)的詞匯中的許多字詞在每個(gè)n字符列的訓(xùn)練數(shù)據(jù)中是看不見的。由于模型351將說明性地支持具有大量字詞(說明性的幾百個(gè))的詞匯,且由于該模型也具有大量n字符列(也是說明性的幾百個(gè)),所以通過整個(gè)復(fù)合模型中的后退狀態(tài)O的自循環(huán)的數(shù)目也將十分巨大。
因此,根據(jù)本發(fā)明的一個(gè)說明性的實(shí)施例,作為為每個(gè)未現(xiàn)字詞添加循環(huán)的替代,復(fù)合模型351(例如圖18A所示)中的n字符列模型包括一個(gè)通過后退狀態(tài)O的單循環(huán)620[YW1]。單循環(huán)620參照一個(gè)諸如圖18B所示的共享的均勻分布模型。
在圖18B所示的均勻分布中,字母n涉及詞匯中的大量字詞,其中詞匯中的w1涉及第一字詞“a”;w2涉及第二字詞“b”等等。因此,對(duì)于每個(gè)未現(xiàn)字詞,作為在后退狀態(tài)上的循環(huán)的替代,通過標(biāo)記有在后退狀態(tài)O上的均勻分布的自循環(huán)來大致平滑模型。為復(fù)合模型351中的所有n字符列而共享圖18B所示的均勻分布模型。每個(gè)n字符列僅僅具有一個(gè)和圖18A所示的循環(huán)620相似的循環(huán),其參照?qǐng)D18B所示的均勻分布模型。這在圖18C中得以說明。這節(jié)省了模型351中的基本數(shù)量的空間,其中模型351比在先系統(tǒng)顯得更為緊湊。
由此可知,本發(fā)明的各個(gè)實(shí)施例不僅包括前終端的統(tǒng)計(jì)模型部分,也包括填充時(shí)間段的基于規(guī)則的語法部分,且該復(fù)合模型被用在語音識(shí)別或語音識(shí)別和自然語言理解系統(tǒng)的結(jié)合中。這實(shí)質(zhì)上減少了與不是最理想的雙道系統(tǒng)相關(guān)的無效性,且包括語言模型中的先驗(yàn)知識(shí),以補(bǔ)償語言模型培訓(xùn)數(shù)據(jù)的缺乏(即定址數(shù)據(jù)稀少)。組合的方法也減少整個(gè)理解出錯(cuò)率。本發(fā)明的另一實(shí)施例也包括通過參照分離的補(bǔ)償模型(例如一個(gè)均勻分布模型)來平滑n字符列模型,以替代利用越過n字符列中的后退狀態(tài)的自循環(huán)。這減小了顯得更加緊湊的模型的大小。
盡管已根據(jù)特定的實(shí)施例來描述了本發(fā)明,然而熟知本領(lǐng)域的人士可知,能在不脫離本發(fā)明的精神和范圍的情況下在形式和細(xì)節(jié)上對(duì)其進(jìn)行更改。
權(quán)利要求
1.一種語音處理系統(tǒng)、包括聲音模型;復(fù)合語言模型,包括基于規(guī)則的模型部分和統(tǒng)計(jì)模型部分;解碼器,耦合到所述聲音模型和所述復(fù)合語言模型,且配置為基于所述聲音模型和所述復(fù)合語言模型而將自然語言語音輸入部分映射到源自一個(gè)概要的前終端和時(shí)間段。
2.如權(quán)利要求1所述的語音處理系統(tǒng),其中所述解碼器配置為基于所述復(fù)合語言模型的基于規(guī)則的模型部分而將所述自然語言語音輸入部分映射到時(shí)間段。
3.如權(quán)利要求1所述的語音處理系統(tǒng),其中所述解碼器配置為基于所述復(fù)合語言模型的基于規(guī)則的模型部分而將所述自然語言語音輸入映射到前終端。
4.如權(quán)利要求1所述的語音處理系統(tǒng),其中所述復(fù)合語言模型的統(tǒng)計(jì)模型部分包括多個(gè)統(tǒng)計(jì)的n字符列模型,相應(yīng)于每個(gè)前終端的一個(gè)統(tǒng)計(jì)的n字符列模型。
5.如權(quán)利要求4所述的語音處理系統(tǒng),其中所述復(fù)合語言模型支持字詞詞匯,且其中基于訓(xùn)練數(shù)據(jù)來訓(xùn)練所述統(tǒng)計(jì)的n字符列模型,且其中所述詞匯中不能用于訓(xùn)練特定n字符列模型的字詞包括用于特定的統(tǒng)計(jì)的n字符列模型的未現(xiàn)字詞。
6.如權(quán)利要求5所述的語音處理系統(tǒng),其中所述復(fù)合語言模型的統(tǒng)計(jì)模型部分進(jìn)一步包括補(bǔ)償模型部分,當(dāng)其被訪問時(shí),其配置為分配一個(gè)補(bǔ)償分?jǐn)?shù)給所述詞匯中的一個(gè)字詞。
7.如權(quán)利要求6所述的語音處理系統(tǒng),其中每個(gè)統(tǒng)計(jì)的n字符列模型包括對(duì)所有未現(xiàn)字詞的補(bǔ)償模型部分的一個(gè)參照。
8.如權(quán)利要求7所述的語音處理系統(tǒng),其中所述補(bǔ)償模型部分包括均勻分布的n字符列,其將一個(gè)統(tǒng)一的分?jǐn)?shù)分配給所述詞匯中的每個(gè)字詞。
9.如權(quán)利要求1所述的語音處理系統(tǒng),其中所述基于規(guī)則的模型部分包括一個(gè)上下文無關(guān)語法(CFG)。
10.一種在語音處理期間將概率分配給字詞假定的方法,包括接收一個(gè)字詞假定;訪問一個(gè)具有多個(gè)統(tǒng)計(jì)模型和多個(gè)基于規(guī)則的模型的復(fù)合語言模型;如果字詞假定與訓(xùn)練期間看的見的n字符列一致,那通過n字符列模型將一個(gè)n字符列概率分配給字詞假定;且如果所述字詞假定與訓(xùn)練期間未看見的所述n字符列一致,則參照所述字詞假定的一個(gè)分離的補(bǔ)償模型;以及將一個(gè)補(bǔ)償概率分配給每個(gè)字詞假定,該字詞假定通過補(bǔ)償模型而與未看見的字詞一致。
11.如權(quán)利要求10所述的方法,其進(jìn)一步包括基于所述復(fù)合語言模型中的基于規(guī)則的模型,將所述字詞假定映射到源自一個(gè)輸入概要的。
12.如權(quán)利要求11所述的方法,其進(jìn)一步包括基于所述復(fù)合語言模型中的n字符列模型和補(bǔ)償模型所分配的概率而將所述字詞假定映射到源于輸入概要的前終端。
13.如權(quán)利要求12所述的方法,其中參照一個(gè)分離的補(bǔ)償模型步包括參照一個(gè)均勻分布n字符列。
14.如權(quán)利要求13所述的方法,其中分配一個(gè)補(bǔ)償概率包括將一個(gè)均勻分布分?jǐn)?shù)分配給所述詞匯中的每個(gè)字詞。
15.一種在語音識(shí)別系統(tǒng)中的使用的復(fù)合語言模型,包括基于規(guī)則的模型部分,訪問該部分以便將一個(gè)輸入語音信號(hào)部分映射到源自一個(gè)概要的時(shí)間段;以及一個(gè)統(tǒng)計(jì)模型部分;訪問該部分以便將所述輸入語音信號(hào)部分映射到源自所述概要的前終端。
16.如權(quán)利要求15所述的復(fù)合語言模型,其中所述統(tǒng)計(jì)模型部分包括多個(gè)統(tǒng)計(jì)的n字符列模型,相應(yīng)于每個(gè)前終端的一個(gè)統(tǒng)計(jì)的n字符列模型。
全文摘要
本發(fā)明使用合成統(tǒng)計(jì)模型和基于規(guī)則的語法語言模型,以執(zhí)行語音識(shí)別任務(wù)和自然語言理解任務(wù)。
文檔編號(hào)G10L15/19GK1551103SQ20041004518
公開日2004年12月1日 申請(qǐng)日期2004年4月30日 優(yōu)先權(quán)日2003年5月1日
發(fā)明者王野翊, A·埃西羅, 髀, C·切爾巴 申請(qǐng)人:微軟公司