專利名稱:用于文本和語音分類的區(qū)別性語言模型訓(xùn)練的制作方法
背景技術(shù):
本發(fā)明涉及文本和語音分類。更具體的,本發(fā)明涉及語言模型的增強(qiáng),以提高分類的精度。
自然語言理解包括使用計(jì)算機(jī)來確定用戶產(chǎn)生的文本或者語音的意義。在確定輸入自然語言意義中,其中一個步驟是將該輸入劃分到一組預(yù)定類中的一個類。例如,一特定輸入諸如“I want to book a flight to Rome”可以被劃分到旅行安排類。然后可以調(diào)用一個用于此類的應(yīng)用,以從該輸入中進(jìn)一步解釋信息并執(zhí)行該輸入所表示的用戶目的。
這種分類在自然語言處理中是定義明確的問題。實(shí)際應(yīng)用的特定范例包括對自動呼叫中心的呼叫選擇路由和基于幫助系統(tǒng)的自然語言。
分類器可以被用來簡化該分類處理。分類器的普通范例包括統(tǒng)計(jì)分類器,諸如n-字符列、Naive Bayes和最大熵值分類器。在n-字符列分類器中,統(tǒng)計(jì)語言模型被用來將自然語言字串(即句子)分配到類。具體的,分離的n-字符列語言模型是為每一類而構(gòu)建的。在運(yùn)行時,并行使用該語言模型以將概率分配到給定測試字串或語音發(fā)聲。對該測試字串或發(fā)聲表現(xiàn)出最高概率的與語言模型相關(guān)的類被指定為該串/發(fā)聲所屬的類。類分配不必是一對一的。對于給定的測試串或發(fā)聲,根據(jù)每一類接收到的概率,可以將該測試句或發(fā)聲分配到一組N-best候選類中。對于語音分類,n-字符列分類器具有的優(yōu)勢是,它們可以在單通場景中使用,其中集成了語音發(fā)聲識別和分類。
一種訓(xùn)練n-字符列分類器的簡單的方法是使用最大似然(ML)估計(jì)分別為每一類訓(xùn)練語言模型。雖然這種訓(xùn)練方案容易實(shí)現(xiàn),但是它們產(chǎn)生的分類器精度有限。
發(fā)明概述本發(fā)明的實(shí)施例適合于一種訓(xùn)練語言模型的方法,其使得給定字串的類的條件似然最大化,其中該給定字串的類的條件似然與分類精度非常相關(guān)。該方法包括為所有類共同調(diào)節(jié)統(tǒng)計(jì)語言模型參數(shù),使得對于給定的訓(xùn)練句子或發(fā)聲,分類器區(qū)分出正確的類和不正確的類。本發(fā)明的特定實(shí)施例適合于實(shí)現(xiàn)用于n-字符列分類器的區(qū)別性訓(xùn)練方法的文本中有理函數(shù)增長變換。
附圖簡述
圖1中的方框圖為在其中可以使用本發(fā)明的一個說明性環(huán)境。
圖2中的方框圖為自然語言分類系統(tǒng)的一部分。
圖3中的方框圖為另一自然語言分類系統(tǒng)的一部分。
圖4中的流程圖為與任務(wù)或分類鑒別相關(guān)的步驟。
圖5中的流程圖為與訓(xùn)練類別特定語言模型相關(guān)的步驟。
說明性實(shí)施例的詳細(xì)描述運(yùn)行環(huán)境示例本發(fā)明的各方面適合于語音模型的最大條件似然(ML)估計(jì),其用于文本和語音發(fā)聲分類。然而在更具體討論本發(fā)明之前,首先要討論實(shí)現(xiàn)本發(fā)明的示例環(huán)境的一個實(shí)施例。
圖1所示是在其上能夠?qū)崿F(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的示例。該計(jì)算系統(tǒng)環(huán)境100只是一個合適的計(jì)算環(huán)境示例,并不是對本發(fā)明的使用或功能性范圍做任何限制。也不應(yīng)該認(rèn)為該計(jì)算環(huán)境100具有對該示范操作環(huán)境100中所述的組件中的任何一個或其組合相關(guān)的依賴或需求。
該發(fā)明可以運(yùn)行于多個其它通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置。所熟知的可以用于本發(fā)明的計(jì)算系統(tǒng)、環(huán)境、和/或配置范例包括個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上器件、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、微電腦、大型計(jì)算機(jī)、電話系統(tǒng)、包括任何上述系統(tǒng)或器件的分布式計(jì)算環(huán)境,等等,但不限于此。
本發(fā)明可以在可執(zhí)行計(jì)算機(jī)指令的一般環(huán)境中描述,諸如由計(jì)算機(jī)執(zhí)行的程序模塊。一般說來,程序模塊包括例行程序、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。設(shè)計(jì)本發(fā)明在分布計(jì)算環(huán)境中實(shí)現(xiàn),其中由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理裝置來執(zhí)行任務(wù)。在分布計(jì)算環(huán)境中,程序模塊位于包括記憶存儲裝置的本地和遠(yuǎn)程計(jì)算機(jī)存儲器媒體中。下面借助于附圖描述由程序和模塊執(zhí)行的任務(wù)。本領(lǐng)域的熟練技術(shù)人員可以如處理器可執(zhí)行指令那樣實(shí)現(xiàn)該說明和附圖,其中該指令可以記錄在任何形式的計(jì)算機(jī)可讀媒體上。
參照圖1,用于實(shí)現(xiàn)本發(fā)明的范例系統(tǒng)包括通用計(jì)算裝置,其形式為計(jì)算機(jī)110。計(jì)算機(jī)110的組件可以包括處理單元120、系統(tǒng)存儲器130、和將包括系統(tǒng)存儲器的各種系統(tǒng)組件耦合到處理單元120的系統(tǒng)總線121,但并不限于此。該系統(tǒng)總線121可以是任何幾個類型的總線結(jié)構(gòu),包括存儲器總線或存儲器控制器,周邊總線、和使用任何多個總線結(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é)會(VESA)局部總線和也被稱為Mezzanine總線的周邊組件互聯(lián)(PCI)總線。
計(jì)算機(jī)110典型的包括多個計(jì)算機(jī)可讀媒體。計(jì)算機(jī)可讀媒體可以是任何可以被計(jì)算機(jī)110訪問的有效媒體,包括易失性和非易失性媒體,可拆卸和非可拆卸媒體。作為范例,但并不限于此,計(jì)算機(jī)可讀媒體可以包括計(jì)算機(jī)存儲媒體和通信媒體。計(jì)算機(jī)存儲媒體包括可以用任何方法或技術(shù)存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的易失性和非易失性媒體。計(jì)算機(jī)存儲媒體包括RAM、ROM、EEPROM、閃存或其它存儲技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其它光盤存儲器、磁盤、磁帶、磁盤存儲器或其它磁存儲裝置、或任何其它可以用來存儲所想要的信息并可以被計(jì)算機(jī)110訪問的媒體,但并不限于此。
通信媒體典型的包含在已調(diào)制的數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),該已調(diào)制的數(shù)據(jù)信號諸如載波或其它傳輸機(jī)制,并包括任何信息傳送媒體。術(shù)語“已調(diào)制的數(shù)據(jù)信號”的意思是具有一個或多個特征集的信號,或者是按照在該信號中的編碼信息的方式改變的信號。作為范例,但并不限于此,通信媒體包括諸如有線網(wǎng)絡(luò)、直接有線連接的有線媒體,和諸如聲音、RF、紅外線和其它無線媒體的無線媒體。上述任何的組合也應(yīng)該包括在計(jì)算機(jī)可讀媒體的范圍內(nèi)。
系統(tǒng)存儲器130包括易失性和/或非易失性存儲器形式的計(jì)算機(jī)存儲媒體,諸如只讀存儲器(ROM)131和隨機(jī)訪問存儲器(RAM)132。ROM131中典型的存儲有基本輸入/輸出系統(tǒng)(BIOS)133,其包含諸如在啟動時幫助在計(jì)算機(jī)110中的組件之間傳送信息的基本例行程序。RAM132典型的包含立即可以訪問的和/或當(dāng)前正在被處理單元120運(yùn)行的數(shù)據(jù)和/或程序模塊。作為范例,但并不限于此,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110也可以包括其它可拆卸/非可拆卸的易失性和/或非易失性的計(jì)算機(jī)存儲媒體。僅作為范例,圖1示出了從非可拆卸的、非易失性磁性媒體中讀出或?qū)懭肫渲械挠脖P驅(qū)動141,從可拆卸的、非易失性磁盤152讀出或?qū)懭肫渲械拇疟P驅(qū)動151,和從可拆卸的、非易失性光盤156、諸如CDROM或其它光學(xué)媒體中讀出或?qū)懭肫渲械墓獗P驅(qū)動155。其它可以用在該示例操作環(huán)境中的可拆卸/非可拆卸的、易失性和/或非易失性的計(jì)算機(jī)存儲媒體包括磁帶盒、閃存卡、數(shù)字通用盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等,但并不限于此。硬盤驅(qū)動141典型的通過諸如接口140的非可拆卸存儲器接口連接到系統(tǒng)總線121,磁盤驅(qū)動151和光盤驅(qū)動155典型的通過諸如接口150的可拆卸存儲器接口連接到系統(tǒng)總線121。
上述討論的和圖1中示出的驅(qū)動以及它們相關(guān)的計(jì)算機(jī)存儲媒體為計(jì)算機(jī)110提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如在圖1中,所示硬盤驅(qū)動141用作存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意到這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,或者與其不同。這里對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給出不同的編號,以說明至少它們是不同的拷貝。
用戶可以通過輸入裝置輸入命令或信息到計(jì)算機(jī)110中,該輸入裝置諸如鍵盤162、麥克風(fēng)163、指點(diǎn)設(shè)備161、如鼠標(biāo)、軌跡球或觸摸板。其它輸入裝置(未示出)可以包括游戲桿、游戲板、圓盤式衛(wèi)星電視天線、掃描儀等。這些或其它輸入裝置通常通過耦合到系統(tǒng)總線的用戶輸入接口160連接到處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB)連接。監(jiān)視器191或其它類型的顯示裝置通過接口,諸如視頻接口190也連接到系統(tǒng)總線121。除了監(jiān)視器之外,計(jì)算機(jī)也可以包括其它外圍輸出裝置,諸如可以通過輸出外圍接口195連接的揚(yáng)聲器197和打印機(jī)196。
計(jì)算機(jī)110運(yùn)行在網(wǎng)絡(luò)環(huán)境中,該計(jì)算機(jī)110使用邏輯連接到一個或多個遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180。遠(yuǎn)程計(jì)算機(jī)180可以是個人電腦、手持器件、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(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ò)、內(nèi)部網(wǎng)絡(luò)和因特網(wǎng)中很普通。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計(jì)算機(jī)110通過網(wǎng)絡(luò)接口和適配器170連接到LAN171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計(jì)算機(jī)110典型的包括調(diào)制解調(diào)器172或其它用于在WAN173,諸如因特網(wǎng)上建立連接的裝置。調(diào)制解調(diào)器172可以是內(nèi)置的或外置的,其可以通過用戶輸入接口160、或者其它適當(dāng)?shù)臋C(jī)制連接到系統(tǒng)總線121。在網(wǎng)絡(luò)環(huán)境中,所述與計(jì)算機(jī)110相關(guān)的程序模塊、或其中的部分可以存儲在遠(yuǎn)程記憶存儲裝置中。作為范例,但并不限于此,圖1示出了駐留在遠(yuǎn)程計(jì)算機(jī)180中的遠(yuǎn)程應(yīng)用程序185。應(yīng)該理解的是,所示的網(wǎng)絡(luò)連接是示范性的,并且也可以使用其它在計(jì)算機(jī)之間建立通信連接的裝置。
注意到本發(fā)明可以在諸如關(guān)于圖1所描述的計(jì)算機(jī)系統(tǒng)中執(zhí)行。然而本發(fā)明可以在服務(wù)器、用于信息傳遞的計(jì)算機(jī)上執(zhí)行,或在分布式系統(tǒng)上執(zhí)行,其中本發(fā)明的不同部分在該分布式計(jì)算系統(tǒng)的不同部分上執(zhí)行。
任務(wù)分類系統(tǒng)總述圖2所示的方框圖為自然語言分類系統(tǒng)200的一部分。系統(tǒng)200包括統(tǒng)計(jì)分類器204。系統(tǒng)200也可選擇的包括語音識別引擎206。其中接口200接收語音信號作為輸入,其包括該識別器206。然而在接口200接收文本輸入的地方不需要識別器206。本討論將按照存在有識別器206的實(shí)施例進(jìn)行,但是需要理解的是它在其它實(shí)施例中并不必須。同樣可以使用其它自然語言通信模式,諸如手寫或其它模式。在這種情況下,使用適當(dāng)?shù)淖R別組件,諸如手寫識別組件。
為了執(zhí)行類或任務(wù)分類,系統(tǒng)200首先接收語音信號形式的發(fā)聲208,該語音信號表示用戶所說的自然語言語音。語音識別器206對發(fā)聲208執(zhí)行語音識別,并在其輸出提供自然語言文本210。文本210是語音識別器206接收到的自然語言發(fā)聲208的文本表示。語音識別器206可以是任何已知的對語音輸入執(zhí)行語音識別的語音識別系統(tǒng)。語音識別器206可以包括特定應(yīng)用聽寫語言模式,但是語音識別器206識別語音的特定方式并不構(gòu)成本發(fā)明的主體。相似的,在另一個實(shí)施例中,語音識別器206輸出具有各自的概率的結(jié)果或解釋列表。新的組件對每一解釋操作,并在類或任務(wù)分類中使用該相關(guān)的概率。
根據(jù)一個實(shí)施例,將自然語言文本210的全部或部分提供到統(tǒng)計(jì)分類器204以用于分析和分類。在使用預(yù)處理從文本210中刪除某些成分(即冠詞a、an、the等等)的情況下,可以提供部分。根據(jù)另一個實(shí)施例,將自然語言文本210的不太直接的表示(即向量表示)提供到統(tǒng)計(jì)分類器204,以用于分析和分類。
根據(jù)一個實(shí)施例,從該自然語言文本中提取一組特征,以提供到統(tǒng)計(jì)分類器204。該組特征說明性的作為最有助于執(zhí)行任務(wù)分類的那些特征?;蛳喾矗@可以根據(jù)經(jīng)驗(yàn)確定。
在一個實(shí)施例中,該提取的特征是一組字標(biāo)識符,其標(biāo)識詞存在或不存在于該自然語言輸入文本210中。例如,只有在為特定應(yīng)用而設(shè)計(jì)的某一詞匯表中的詞可以被標(biāo)記以使分類器204考慮,該詞匯表之外的詞被映射為奇異的詞類型,諸如“未知”。
應(yīng)該注意到,也可以選擇更加復(fù)雜類型的特征用于考慮。例如詞的共存可以是被選擇的特征。例如為了更加清楚的標(biāo)識要執(zhí)行的任務(wù),可以使用它。例如,詞“send mail”的共存可以是被統(tǒng)計(jì)分類器204標(biāo)記為對處理特別重要的特征。如果在該輸入文本中發(fā)現(xiàn)這個順序的這兩個詞,然后統(tǒng)計(jì)分類器204將會收到這一事實(shí)的通告。也可以選擇其它非常多的特征,諸如雙-字符列(bi-gram)、三-字符列(tri-gram)、其它n-字符列(n-gram)、以及任何其它理想的特征。
在特征提取處理之前,能夠可選擇的對自然語言文本210執(zhí)行預(yù)處理,以簡化對文本210的處理。例如理想的是,自然語言文本210只包括存在或不存在已經(jīng)被預(yù)定帶有某種類型內(nèi)容的詞的表示。
在特征提取之前也可以進(jìn)行取詞干。取詞干是刪除詞中的形態(tài)變異以得到它們的詞根形式的處理過程。形態(tài)變異的示例包括詞尾變化(如復(fù)數(shù)、動詞時態(tài)等)和改變詞的語法作用的詞源變化(如形容詞到副詞,slow到slowly的變化等)。取詞干可以被用來將具有相同基本語義的多個特征精簡為單個特征。這樣可以幫助克服數(shù)據(jù)稀疏的問題,增強(qiáng)計(jì)算效率,并減小在統(tǒng)計(jì)分類方法中所使用的特征獨(dú)立假定的影響。
在任何情況下,統(tǒng)計(jì)分類器204接收該自然語言文本210信息,并使用統(tǒng)計(jì)分類組件207來將該信息劃分到多個預(yù)定類或任務(wù)的一個和多個中。組件207說明性的為多個統(tǒng)計(jì)語言模型中的任何一個,諸如與n-字符列(n-gram)、NaiveBayes或最大熵值分類器相關(guān)的模型。訓(xùn)練器209說明性的使用訓(xùn)練數(shù)據(jù)205和測試數(shù)據(jù)213的集合來訓(xùn)練該語言模型。測試數(shù)據(jù)213說明性的為有限量的數(shù)據(jù),它抑制訓(xùn)練數(shù)據(jù)205用于簡化該訓(xùn)練過程。
下面將更詳細(xì)地說明分類器204執(zhí)行任務(wù)或類標(biāo)識的原理。為了固定標(biāo)號,此后用A表示語音發(fā)聲。引起發(fā)聲A的字串表示為W=w1...wn。發(fā)聲A的類表示為C(A)。詞的詞匯表表示為v,類的詞匯表表示為C。劃分成分別為T和ε的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)的文集由字節(jié)組(tuples)(或者樣本)s組成,該字節(jié)組包含發(fā)聲A、音標(biāo)表示W(wǎng)和發(fā)聲類C(A)。作為參考,對于給定的分類器,通過類誤差率(CER)來檢測其性能CER=Σs∈ϵδ(C(s.A),C^(s.A))---(1)]]>其中s.A表示樣本s中的該發(fā)聲,δ(.,.)是Kronecker-δ算子,當(dāng)它的幅角彼此相等時,它等于1,否則它等于0。
在n-字符列語言模型分類器的文本中,假定雙通場景,通過集中標(biāo)記為類C的音標(biāo),為每一類C∈C構(gòu)建n-字符列模型P(wi|wi-1,…,wi-n+1,C)。除了該類特定語言模型P(·|C)之外,從所有的訓(xùn)練音標(biāo)中構(gòu)建集中的n-字符列語言模型P(wi|wi-1,wi-n+1)。然后通過使用該集中的語言模型,對1-best識別輸出進(jìn)行文本分類,每一測試發(fā)聲被分配到類 (3)]]>這是雙通方式,其中等式2的第一步驟由語音識別器206執(zhí)行,等式2的第二步驟由統(tǒng)計(jì)分類器204執(zhí)行。該雙通方法的第二階段說明性的實(shí)現(xiàn)n-字符列文本分類器。
該n-字符列型分類器具有特別可能的效率優(yōu)勢就是,它可以被用于單通系統(tǒng),其中將給定的語音發(fā)聲在語音識別的同時分配到庫。另外,值得一提的是n-字符列型分類器的優(yōu)勢是,它能夠允許具有相對高順序的詞共存的考慮。例如,對三-字符列(tri-grams)的考慮包括詞的三元組(triplets)的檢查。即使只考慮單-字符列(uni-grams),詞的共存數(shù)目將在n-字符列分類器中考慮。
圖3所示為單通分類系統(tǒng)220的一部分。圖3中與圖2中的組件功能相同或相似的組件標(biāo)以相同或相似的編號。
系統(tǒng)220(圖3)與系統(tǒng)200(圖2)不同的地方在于它包括統(tǒng)計(jì)分類器/解碼器211。分類器/解碼器211說明性的按單通方式解碼和分類發(fā)聲208。分類器/解碼器211包括由訓(xùn)練器209訓(xùn)練的統(tǒng)計(jì)分類組件207(即語言模型)。組件207說明性的為用于單通系統(tǒng)構(gòu)建的n-字符列語言模型,借此給定發(fā)聲A在進(jìn)行查找字串語音解碼的同時,被分配到類(A)。
根據(jù)圖3中的單通系統(tǒng),通過將所有標(biāo)記為類C的訓(xùn)練音標(biāo)集中,為每一類C∈C構(gòu)建n-字符列模型P(wi|wi-1’,…,wi-n+1’C)。通過并行堆積為每一類帶有相關(guān)標(biāo)記的每一語言模型P(·|C)來構(gòu)建識別網(wǎng)絡(luò)。到每一語言模型P(·|C)的轉(zhuǎn)換具有得分log P(C)。在單通中,如下標(biāo)識最有可能的路徑(C^(A),W^)=--(4)]]>argmax(C,W)logP(A|W)+logP(W|C)+logP(C)]]>因此,在接收到發(fā)聲208時,分類器/解碼器211在語音解碼的同時能夠分配類。被識別為最有可能的字串將會具有返回該串的類標(biāo)簽。該輸出是任務(wù)或類ID214和解碼串215。解碼串215是說明性的表示發(fā)聲208的字串。
在單通和雙通系統(tǒng)的文本中,n-字符列語言模型可以被平滑,以適應(yīng)未見過的訓(xùn)練數(shù)據(jù)。根據(jù)一個實(shí)施例,利用在不同的階(諸如對于統(tǒng)一模型用0,對于n-字符列模型用n-1)的相關(guān)頻率估計(jì)的線性插值,來估計(jì)類特定訓(xùn)練模型的n-字符列概率。根據(jù)上下文計(jì)數(shù)將不同階的線性插值加權(quán)存儲,并對交叉有效性數(shù)據(jù)使用最大概似法技術(shù)估計(jì)它們的值。然后將來自交叉有效性數(shù)據(jù)的n-字符列計(jì)數(shù)加到從主訓(xùn)練數(shù)據(jù)收集到的計(jì)數(shù)中,以增強(qiáng)相對頻率估計(jì)的質(zhì)量。在Jelinekand Mercer,Interpolated Estimation of Markov Source Parameters From Sparse Data,Pattern Recognition in Practice,Gelsema and Kanal editors,North-Holland(1980)中對這種平滑有更詳細(xì)的陳述。這是平滑的一個示例。
有其它的方式定義平滑處理。根據(jù)另一個平滑實(shí)施例,為了估計(jì)n-字符列語言模型,以不同階fk(·),k=0...n,在相對頻率估計(jì)之間使用回歸刪除插值Pn(w|hn)=λ(hn)·Pn-1(w|hn-1)+λ(hn)‾·fn(w|hn),]]>P-1(w)=uniform(v)--(5)]]>其中
λ(hn)‾=1-λ(hn)]]>hn=w-1,...,w-n分別從主數(shù)據(jù)和提供的數(shù)據(jù)中,利用最大似然法估計(jì)得到相對頻率fn(w/hn)和插值加權(quán)λ(hn),并且通過對給定語言模型有效的訓(xùn)練數(shù)據(jù)的70/30%的隨機(jī)劃分獲得。根據(jù)上下文計(jì)數(shù)對插值加權(quán)進(jìn)行存儲λ(hn)=λ(CML(hn)) (6)其中CML(hn)為文本hn在分配到該類的訓(xùn)練數(shù)據(jù)中出現(xiàn)的次數(shù)。
通常說來,配置分類器204和211以輸出任務(wù)或類標(biāo)識符214,其標(biāo)識分配到對應(yīng)的輸入自然語言的特定任務(wù)或者類。標(biāo)識符214可替換為任務(wù)或類標(biāo)識符的分級表(或n-best表)。將標(biāo)識符214提供給可以根據(jù)該標(biāo)識的任務(wù)進(jìn)行動作的應(yīng)用程序或其它組件。例如,如果標(biāo)識的任務(wù)是發(fā)送郵件,標(biāo)識符214就被送到電子郵件應(yīng)用程序,蓋電子郵件應(yīng)用程序能夠依次顯示用戶所使用的電子郵件模板。當(dāng)然,也可以考慮其它任何任務(wù)或類。相似的,如果輸出標(biāo)識符214的n-best表,表中的每一條目可以通過適當(dāng)?shù)挠脩艚涌陲@示,從而用戶可以選擇所需要的類或任務(wù)。注意到也將解碼串215典型的提供到該應(yīng)用程序。
任務(wù)或庫標(biāo)識根據(jù)本發(fā)明的一個實(shí)施例,圖4中的流程圖為與任務(wù)或類標(biāo)識相關(guān)的方法的步驟。應(yīng)該注意到,該方法可以為單通或雙通系統(tǒng)定制,如上參照圖2和3所述。分類器采用分類組件207,其說明性的為一組獨(dú)立于類的n-字符列統(tǒng)計(jì)語言模型分類器。根據(jù)塊402,為每一類或任務(wù)產(chǎn)生一個類特定模型。因此當(dāng)接收到自然語言輸入210時(塊404),為每一類在該自然語言輸入信息上運(yùn)行類特定語言模型(塊406)。每一語言模型的輸出乘以適于相應(yīng)的類的先驗(yàn)概率(塊408)。具有最高結(jié)果值的類說明性的對應(yīng)于目標(biāo)類(塊410)。
根據(jù)一個實(shí)施例,圖5中的流程圖為與類特定語言模型的訓(xùn)練相關(guān)的的步驟。這種訓(xùn)練說明性的由訓(xùn)練器209執(zhí)行(圖2和3)。根據(jù)塊502,在各種類中,通過將在訓(xùn)練文集中的句子劃分到各種類中,對類特定n-字符列語言模型進(jìn)行訓(xùn)練,其中各種類的n-字符列語言模型已經(jīng)在過去得到訓(xùn)練。根據(jù)塊506,對應(yīng)于每一類的句子被用來為該類訓(xùn)練n-字符列分類器。這將產(chǎn)生給定數(shù)目的n-字符列語言模型,其中該數(shù)目對應(yīng)于被考慮的類的總數(shù)目。應(yīng)該注意到,根據(jù)塊504,在訓(xùn)練之前可選擇的將特征提取技術(shù)應(yīng)用到句子中,該特征提取技術(shù)諸如取詞干或其它形式的預(yù)處理。該預(yù)處理可以在句子被劃分到類之前或之后進(jìn)行。步驟506也可以包括利用平滑定義語言模型以幫助減少如上所述的稀疏數(shù)據(jù)的影響。
N-字符列分類器的條件最大似然(CML)估計(jì)根據(jù)本發(fā)明的某些實(shí)施例,利用條件最大似然(CML)估計(jì)方案來執(zhí)行訓(xùn)練步驟506。該CML訓(xùn)練方案使得統(tǒng)計(jì)語言模型參數(shù)可以連同所有的類一起訓(xùn)練,從而該分類器對于給定的訓(xùn)練句子或發(fā)聲區(qū)分出正確的類和不正確的類。
根據(jù)一個實(shí)施例,聯(lián)合的訓(xùn)練語言模型P(W|C),C,從而最小化類誤差率(等式1)。由于該CER并不是解析易處理的,對于語音發(fā)聲分類,方便的替代是Πi=1TP(si·C|si·A),]]>或?qū)ξ谋痉诸惙奖愕奶娲?amp;Pi;i=1TP(si·C|si·W),]]>其中T是該訓(xùn)練數(shù)據(jù)中樣本的數(shù)目,|Si·A表示訓(xùn)練樣本i中的聲音,|Si·C為與訓(xùn)練樣本i相關(guān)的類,|Si·W是與訓(xùn)練樣本i相關(guān)的句子(字串)。通過對該訓(xùn)練數(shù)據(jù)的CER的逆相關(guān)(等于該訓(xùn)練數(shù)據(jù)誤差的期望概率)調(diào)整選擇。
將注意限制到只有文本的情況,最好調(diào)節(jié)語言模型P(W|C),C,以使該條件對數(shù)似然最大L(C|W)=Σi=1TlogP(si·C|si·W)--(7)]]>其中P(C|W)=P(C)·P(W|C)/ΣL∈CP(L)·P(W|L)--(8)]]>目標(biāo)變?yōu)槭沟仁?的目標(biāo)函數(shù)最大。出于效率的原因,對于該類特定語言模型最好與最大似然(ML)情況(見等式5)保持相同的參數(shù)化。例如最好與ML情況(雖然為參數(shù)確定的值不同)保持相同的參數(shù)λ和fn。該存儲要求和運(yùn)行時間應(yīng)該說明性的與ML模式相同。這是可選的限制,并可以刪除。
值得一提的是對于語音發(fā)聲分類,可以調(diào)節(jié)語言模型P(W|C),C,以使該條件似然L(C|A)最大
L(C|A)=Σi=1TlogP(si·C|si·A)--(9)]]>其中P(C|A)=P(C,A)/ΣL∈CP(L,A)--(10)]]>P(C,A)=P(C)Σw∈v*P(W|C)·P(A|W)--(11)]]>為了最大化L(C|A)(等式9)相對于L(C|W)(等式7),調(diào)節(jié)語言模型之間的顯著區(qū)別在于,前一種情況的語言模型會考慮字之間的聲音模糊,并會試圖降低高度容易混淆的詞對分類結(jié)果中的作用。
最大化L(C|W)需要用于語言模型訓(xùn)練的與類標(biāo)識一起的詞音標(biāo)(該聲音數(shù)據(jù)不是用于語言模型訓(xùn)練)。由于該結(jié)果模型是n-字符列,它們可以容易的使用于語音和文本分類。
用于CML N-字符列參數(shù)估計(jì)的有理函數(shù)增長變換如上所述,根據(jù)等式5參數(shù)化每一類特定n-字符列模型。該CML估計(jì)處理的目標(biāo)就是像插值加權(quán)λ(w-1,...,w-n)一樣在所有階0...n-1調(diào)節(jié)相對頻率值f(w|w-1,...,w-n),使得該訓(xùn)練數(shù)據(jù)的條件似然L(C|W)(參見等式7)最大。
根據(jù)本發(fā)明的一方面,有理函數(shù)增長變換(RFGT)是一種高效并且有影響的技術(shù)。該熟知的數(shù)學(xué)應(yīng)用RFGT算法在P.S Gopalakrishanan et al.,An inequalityfor rational functions with applications to some statistical estimation problems,IEEETransaction on Information Theory,Vol.37,No.1,pp.107-113,January 1991中有詳細(xì)描述。該RFGT處理特別適合當(dāng)前所描述的應(yīng)用,因?yàn)樗鼘Ω怕史植歼M(jìn)行運(yùn)算,并由此在每次迭代時對模型參數(shù)化下的概率分布執(zhí)行適當(dāng)?shù)臍w一化。
根據(jù)等式5的參數(shù)化,k階相對頻率的再次估計(jì)等式為
f^k(w|hk,c)=]]>fk(w|hk,c)+β(hk,c)Πl=k+1nλ1(h1,c)λk(hk,c)‾Pn(w|hn,c)fk(w|hk,c)·CCML(w,hk,c)CML(hk,c)norm(hk,c)--(12)]]>norm(hk,c)=]]>1+β(hk,c)Σw∈vΠl=k+1nλl(hl,c)λk(hk,c)‾Pn(w|hn,c)fk(w|hk,c)·CCML(w,hk,c)CML(hk,c)]]>其中CML(w,hk,c)表示類c的句子中該最大似然計(jì)數(shù),該類c從下面的訓(xùn)練數(shù)據(jù)中產(chǎn)生CML(w,hk,c)=Σi=1TC((w,hk)∈si·W)·δ(c,si,C)--(13)]]>CML(w,hk,c)表示類c的句子中(w,hk)的“CML計(jì)數(shù)(CML count)”CCML(w,hk,c)=Σi=1TC((w,hk)∈si·W)·[δ(c,si·C)-P(c|si·W)]--(14)]]>關(guān)于使用該類特定n-字符列模型Pn(w|h,c)和類P(c)的先驗(yàn)概率分配的給定的句子W=w1,...,wq的類c的概率P(c|W)P(c|W)=P(c)·P(W|c)Σd∈CP(d)·P(W|d)--(15)]]>P(W|c)=Πi=1qPn(wi|hi,c)--(16)]]>在每次迭代,將上下文有關(guān)的“CML加權(quán)”β(hk,c)設(shè)為βmax>0。在下面的推導(dǎo),對于每一上下文β(hk,c)它的值然后被分別降低,從而對于所有情況(w,hk,c)等式12中的分子為非負(fù)(17)fk(w|hk,c)+β(hk,c)Πl=k+1nλl(hl,c)λk(hk,c)‾Pn(w|hn,c)fk(w|hk,c)·CCML(w,hk,c)CML(hk,c)>ϵ]]>
應(yīng)該注意到對于大多數(shù)上下文(hk,c),如果選擇足夠小的βmax值開始,這種調(diào)整是不必要的。選擇小的βmax值的不利方面就是,每次迭代L(C|W)的相對增加較小。
通過隨機(jī)的將訓(xùn)練數(shù)據(jù)劃分成主數(shù)據(jù)和支持?jǐn)?shù)據(jù),估計(jì)模型參數(shù)。使用與ML訓(xùn)練相同的部分。主數(shù)據(jù)用于估計(jì)相對頻率,而支持?jǐn)?shù)據(jù)用于調(diào)節(jié)RFGT迭代的次數(shù)和最優(yōu)的CML加權(quán)βmax。不再次估計(jì)類的先驗(yàn)概率和插值加權(quán)。類的先驗(yàn)概率、相對頻率和插值加權(quán)的初始值說明性的為ML的值。例如該插值加權(quán)為等式5中所計(jì)算的這些值。
RFGT迭代的次數(shù)和最優(yōu)的CML加權(quán)βmax說明性的按照如下確定·選定將要運(yùn)行的RFGT迭代的預(yù)先確定的次數(shù)N;·選定研究的柵格(值的范圍和步驟),以確定βmax參數(shù)值;·對于每一值βmax,運(yùn)行盡可能多的RFGT迭代(不超過N),使得該主數(shù)據(jù)的條件似然L(C|W)在每次迭代都增加;和·保留使得該支持?jǐn)?shù)據(jù)的條件似然L(C|W)最大的該對(迭代次數(shù),βmax)作為理想值。
確定RFGT迭代運(yùn)行的次數(shù)和該βmax值之后,該主數(shù)據(jù)和支持?jǐn)?shù)據(jù)被集中,并且使用這些值訓(xùn)練該模型。
盡管參照特定實(shí)施例描述了本發(fā)明,本領(lǐng)域的熟練技術(shù)人員會認(rèn)識到在不脫離本發(fā)明的精神和范圍的條件下可以對形式和細(xì)節(jié)作出改變。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,其用于為對應(yīng)于多個類的多個語言模型中的每一個估計(jì)一組參數(shù),該方法包括為參數(shù)組設(shè)定初始值;和聯(lián)合的相對于另一個參數(shù)組調(diào)節(jié)參數(shù)組,以提高給定字串的類的條件似然。
2.如權(quán)利要求1所述的方法,其中多個語言模型是多個n字符列語言模型。
3.如權(quán)利要求2所述的方法,其中最大化條件似然。
4.如權(quán)利要求3所述的方法,其中使用有理函數(shù)增長變換應(yīng)用程序?qū)l件似然最大化。
5.如權(quán)利要求2所述的方法,其中字串是訓(xùn)練材料中的文本串。
6.如權(quán)利要求5所述的方法,其中字串是從訓(xùn)練句子中導(dǎo)出的文本串。
7.如權(quán)利要求5所述的方法,其中字串是從語音發(fā)聲中導(dǎo)出的文本串。
8.如權(quán)利要求2所述的方法,其中聯(lián)合的調(diào)節(jié)參數(shù)組包括對于給定訓(xùn)練輸入調(diào)節(jié)參數(shù)組以區(qū)分正確的類和不正確的類。
9.如權(quán)利要求2所述的方法,其中調(diào)節(jié)參數(shù)組進(jìn)一步包括訓(xùn)練參數(shù)組以適應(yīng)未見過的數(shù)據(jù)。
10.如權(quán)利要求9所述的方法,其中適應(yīng)未見過的數(shù)據(jù)包括基于平滑調(diào)節(jié)參數(shù)。
11.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,其用來為多個n-字符列語言模型中的每一個估計(jì)一組參數(shù),該方法包括聯(lián)合的相對于另一個參數(shù)組產(chǎn)生至少兩個參數(shù)組。
12.如權(quán)利要求11所述的方法,其中聯(lián)合的相對于另一個參數(shù)組產(chǎn)生至少兩個參數(shù)組包括聯(lián)合的相對于另一個參數(shù)組產(chǎn)生所有參數(shù)組。
13.如權(quán)利要求11所述的方法,其中多個n-字符列語言模型中的每一個與一個類相關(guān),并且其中聯(lián)合的產(chǎn)生至少兩個參數(shù)組包括產(chǎn)生至少兩個參數(shù)組,使得第一特定類與特定字串關(guān)聯(lián)的似然性會增加,并使得第二類與特定字串關(guān)聯(lián)的似然性會減小。
14.如權(quán)利要求13所述的方法,其中特定字串從訓(xùn)練句子中導(dǎo)出。
15.如權(quán)利要求13所述的方法,其中特定字串從語音發(fā)聲中導(dǎo)出。
16.如權(quán)利要求11所述的方法,其中聯(lián)合的產(chǎn)生至少兩個參數(shù)組包括聯(lián)合的產(chǎn)生多個參數(shù)組,使得對于給定訓(xùn)練輸入n-字符列語言模型可以區(qū)分正確的類和不正確的類。
17.如權(quán)利要求11所述的方法,進(jìn)一步包括訓(xùn)練參數(shù)組以適應(yīng)未見過的數(shù)據(jù)。
18.一種計(jì)算機(jī)實(shí)現(xiàn)的對自然語言輸入進(jìn)行分類的方法,包括聯(lián)合的相對于另一個組件訓(xùn)練多個統(tǒng)計(jì)分類組件,其對應(yīng)于多個類,以增加給定字串的類的條件似然,多個統(tǒng)計(jì)分類組件為n-字符列語言模型分類器;接收自然語言輸入;將該多個統(tǒng)計(jì)分類組件應(yīng)用到自然語言輸入,以將該自然語言輸入劃分到多個類中的一個中。
19.如權(quán)利要求18所述的方法,其中最大化條件似然。
20.如權(quán)利要求19所述的方法,其中使用有理函數(shù)增長變換應(yīng)用程序?qū)l件似然最大化。
21.如權(quán)利要求20所述的方法,其中訓(xùn)練多個統(tǒng)計(jì)分類組件包括標(biāo)識有理函數(shù)增長變換迭代的最優(yōu)的次數(shù)以簡化有理函數(shù)增長變換應(yīng)用。
22.如權(quán)利要求21所述的方法,其中標(biāo)識有理函數(shù)增長變換迭代的最優(yōu)的次數(shù)、和最優(yōu)的CML加權(quán)βmax包括將訓(xùn)練數(shù)據(jù)集分割成主數(shù)據(jù)集和支持?jǐn)?shù)據(jù)集;使用主數(shù)據(jù)為該統(tǒng)計(jì)分類組件估計(jì)一系列相關(guān)頻率;和使用支持?jǐn)?shù)據(jù)集調(diào)節(jié)有理函數(shù)增長變換迭代的最優(yōu)的次數(shù)和最優(yōu)的CML加權(quán)βmax。
23.如權(quán)利要求22所述的方法,其中使用支持?jǐn)?shù)據(jù)調(diào)節(jié)包括選定將要運(yùn)行的有理函數(shù)增長變換迭代的預(yù)先確定的次數(shù)N;選定為確定最優(yōu)的CML加權(quán)βmax而研究的值的范圍;對于每一值βmax,運(yùn)行盡可能多的RFGT迭代,多達(dá)N次,使得該主數(shù)據(jù)的條件似然在每次迭代都增加;和把有理函數(shù)增長變換的迭代次數(shù)和使得該支持?jǐn)?shù)據(jù)的條件似然最大化的βmax值標(biāo)識為最優(yōu)。
24.如權(quán)利要求23所述的方法,其中訓(xùn)練多個統(tǒng)計(jì)分類組件進(jìn)一步包括集中該主數(shù)據(jù)和支持?jǐn)?shù)據(jù)以形成訓(xùn)練數(shù)據(jù)集的組合;和使用該有理函數(shù)增長變換迭代的最優(yōu)次數(shù)和最優(yōu)的CML加權(quán)βmax,對訓(xùn)練數(shù)據(jù)的組合集合訓(xùn)練所述多個統(tǒng)計(jì)分類組件。
25.如權(quán)利要求24所述的方法,其中多個統(tǒng)計(jì)分類組件是n-字符列語言模型。
全文摘要
本發(fā)明公開了一種估計(jì)語言模型的方法,使得給定字串的類的條件似然最大化,其中該字串與分類精度非常相關(guān)。該方法包括對所有類聯(lián)合的調(diào)節(jié)統(tǒng)計(jì)語言模型參數(shù),使得對于給定的訓(xùn)練句子或發(fā)聲,分類器區(qū)分出正確的類和不正確的類。本發(fā)明的特定實(shí)施例用于實(shí)現(xiàn)用于n-字符列分類器的區(qū)別性訓(xùn)練方法的上下文中的有理函數(shù)增長變換。
文檔編號G06F17/30GK1573926SQ20041005951
公開日2005年2月2日 申請日期2004年6月3日 優(yōu)先權(quán)日2003年6月3日
發(fā)明者C·切爾巴, A·阿塞羅, M·馬哈間 申請人:微軟公司