定制自然語言處理引擎的制作方法
【專利摘要】一種用于定制自然語言處理引擎的方法、裝置和制造品。所述方法包括:使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù),所述一個或多個參數(shù)旨在由訓(xùn)練過的用戶或未訓(xùn)練過的用戶使用;將所述一個或多個選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的一個或多個區(qū)間的集合;以及將具有所述輸入?yún)?shù)的一個或多個區(qū)間的集合的所述優(yōu)化算法應(yīng)用于由自然語言處理引擎所使用的模型,以產(chǎn)生定制模型。
【專利說明】定制自然語言處理引擎
[0001]政府合同
[0002]本發(fā)明是在美國國防先進研究項目局(DARPA)授予的合同號:HR0011-08-C0110(全球自主語言利用(GALE))下的政府支持下做出的。政府對于本發(fā)明擁有特定權(quán)利。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明的實施例一般涉及信息技術(shù),并且更具體地涉及自然語言處理系統(tǒng)。
【背景技術(shù)】
[0004]統(tǒng)計機器翻譯引擎使用對數(shù)線性框架將子模型組合在一起并將子代價(或分數(shù))集成到單個代價/分數(shù),以對翻譯決策進行排名。此類框架對用于對數(shù)線性式組合的權(quán)重敏感,這使得翻譯引擎不太適配于不同文體,因為翻譯模型的誤差表面(error surface)是崎嶇的并且優(yōu)化算法是脆弱的并容易遭受任何起始點(種子)影響,因此。為適配此類模型,優(yōu)化算法的初始種子在優(yōu)化成功中會起關(guān)鍵作用。在現(xiàn)有方法中,常常只通過對軟件發(fā)布中已經(jīng)提供的種子進行隨機擾亂來獲得此類初始種子。
[0005]機器翻譯系統(tǒng)的輸出文本的翻譯質(zhì)量通常經(jīng)由包括BLEU(雙語評估替身)、TER(翻譯編輯率)、WER (字錯誤率)、METEOR (用于具有明確排序的翻譯評估的度量)、n-gram精度及其變種的自動度量進行測量。用于自然語言處理(NLP)的統(tǒng)計模型依賴于初始起始點,從初始起始點它們在給定數(shù)據(jù)的情況下優(yōu)化目標函數(shù)。尋找最優(yōu)解通常是困難的(NP-完全),并且優(yōu)化器尋找高度依賴于初始種子的局部最優(yōu)。因此,找到較好的初始種子會對結(jié)果的質(zhì)量產(chǎn)生正面的影響,并且存在進行此類尋找的需求。
【發(fā)明內(nèi)容】
[0006]在本發(fā)明的一個方面中,提供了用于定制自然語言處理引擎的技術(shù)。一種用于定制自然語言處理引擎的示例性計算機實現(xiàn)的方法可包括以下步驟:使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù),所述一個或多個參數(shù)旨在由訓(xùn)練過的和未訓(xùn)練過的用戶使用;將所述一個或多個選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的一個或多個區(qū)間的集合;以及將具有所述輸入?yún)?shù)的一個或多個區(qū)間的集合的所述優(yōu)化算法應(yīng)用于由自然語言處理引擎所使用的模型,以產(chǎn)生定制模型。
[0007]本發(fā)明的另一個方面或其元素可以以有形地包含計算機可讀指令的制造品(article of manufacture)的形式來實現(xiàn),當(dāng)執(zhí)行所述計算機可讀指令時,其使得計算機執(zhí)行如本文所描述的多個方法步驟。此外,本發(fā)明的另一個方面或其元素可以以包括存儲器和至少一個處理器(其耦合到所述存儲器并操作地執(zhí)行所述方法步驟)的裝置的形式來實現(xiàn)。此外,本發(fā)明的另一個方面或其元素可以以用于執(zhí)行本文所描述的所述方法步驟(或其元素)的部件的形式來實現(xiàn);所述部件可包括(i)硬件模塊,(ii)軟件模塊,或(iii)硬件模塊和軟件模塊的組合;(i )至(iii )中的任何一個實現(xiàn)本文所闡述的特定技術(shù),并且所述軟件模塊存儲在有形計算機可讀存儲介質(zhì)(或多個此類介質(zhì))中。[0008]從以下結(jié)合附圖閱讀的本發(fā)明的說明性實施例的詳細描述中,本發(fā)明的這些以及其他目的、特征和優(yōu)點將變得明顯。
【專利附圖】
【附圖說明】
[0009]圖1是示出根據(jù)本發(fā)明的一個實施例用于影響優(yōu)化算法達到不同的局部最優(yōu)的種子選擇的示例的圖;
[0010]圖2是示出根據(jù)本發(fā)明的一個方面的示例實施例的框圖;
[0011]圖3是示出根據(jù)本發(fā)明的一個方面的示例實施例的圖;
[0012]圖4A是示出根據(jù)本發(fā)明的一個方面的用于顯示來自系統(tǒng)訓(xùn)練的預(yù)測量句子的用戶界面的框圖;
[0013]圖4B是示出根據(jù)本發(fā)明的一個方面的用于請求用戶輸入的用戶界面的框圖;
[0014]圖4C是示出根據(jù)本發(fā)明的一個方面的用于確認用戶輸入以及啟動優(yōu)化過程的用戶界面的框圖;
[0015]圖5是示出根據(jù)本發(fā)明的一個實施例的用于定制自然語言處理引擎的技術(shù)的流程圖;以及
[0016]圖6是在其上可實現(xiàn)本發(fā)明的至少一個實施例的示例性計算機系統(tǒng)的系統(tǒng)圖?!揪唧w實施方式】
[0017]在本文中,將在一個或多個自動化機器翻譯系統(tǒng)的上下文中說明性地描述本發(fā)明的原理。然而,應(yīng)當(dāng)了解,本發(fā)明的原理不限于任何特定的系統(tǒng)架構(gòu),并且更一般地適用于任何自然語言處理系統(tǒng),其中,優(yōu)化與自然語言處理系統(tǒng)相關(guān)聯(lián)的一個或多個結(jié)果將是希望的。
[0018]如本文所使用的,短語“自然語言處理”(NLP) —般指與計算機和人類(自然)語言之間的交互有關(guān)的計算機科學(xué)和語言學(xué)領(lǐng)域。因此,由于機器翻譯系統(tǒng)是自然語言處理系統(tǒng)的一個示例,因此“機器翻譯”一般指在計算機系統(tǒng)的控制下用于將第一自然語言(僅作為示例,英語語言)中的文本翻譯成第二自然語言(僅作為示例,漢語語言家族中的一個或意大利語)中的文本的技術(shù)。
[0019]還應(yīng)當(dāng)理解,可經(jīng)由自動語音識別(ASR)系統(tǒng)(如已知的,其從說話者接收口語表達并將所述口語表達轉(zhuǎn)換(譯碼)成文本)來生成機器翻譯系統(tǒng)的文本輸入。因此,說話者可以用第一自然語言說話,并且ASR生成的文本將作為機器翻譯系統(tǒng)的輸入。類似的,由機器翻譯系統(tǒng)用第二自然語言輸出的文本可作為自動文本到語音(TTS)系統(tǒng)(如已知的,其將文本轉(zhuǎn)換成以第二自然語言可聽見地呈現(xiàn)給聽者的語音)的輸入。然而,應(yīng)當(dāng)了解,本發(fā)明的原理集中于機器翻譯系統(tǒng)(更一般地,自然語言處理系統(tǒng)),而不是ASR或TTS系統(tǒng)。
[0020]現(xiàn)有數(shù)據(jù)驅(qū)動的方法忽略了潛在用戶的范圍(它們不能將用戶建模為屬于離散群或?qū)儆诜植?,這導(dǎo)致了對于潛在用戶群來說較低的翻譯質(zhì)量。因此,例如,現(xiàn)有的方法不能既處理初級用戶又處理老練用戶,即系統(tǒng)是以特定用戶群的需求為代價,為“一般用戶”進行優(yōu)化的。通過給予特定域/群更多權(quán)重的度量來取代平均度量的直接替換通常也不是希望的。例如,如果方法是為高級用戶在復(fù)雜(困難的)材料(例如化學(xué)中的技術(shù)術(shù)語)上進行優(yōu)化的,則存在降低由大多數(shù)用戶所使用的簡單材料的翻譯質(zhì)量的風(fēng)險。最后,不加區(qū)別地增加更多的數(shù)據(jù)既昂貴(收集平行語料庫是勞動密集型工作,需要對同一文檔進行多重人工翻譯)又低效(收集足夠的數(shù)據(jù)以覆蓋老練用戶感興趣的所有可能場景,以及收集典型用戶每天都接觸的流動性極大的web/社區(qū)內(nèi)容是實際上不可能的)。
[0021]因此,如本文所描述的,本發(fā)明的一個方面包括經(jīng)由手工調(diào)整基于句法的機器翻譯引擎中的同步語法結(jié)構(gòu)來降低適配代價。本方面的一個實施例包括基于終端用戶輸入尋找初始種子。對于翻譯引擎來說,技術(shù)包括揭露關(guān)鍵語法成分并為用戶提供用戶界面(UI)機制以對所述成分的相關(guān)性進行調(diào)整。這自動地翻譯成初始種子(具有上界和下界),以便優(yōu)化算法加速改進域特定翻譯。
[0022]如本文所詳細說明的,本發(fā)明的一個方面包括用于獲得用于自動優(yōu)化/適配的種子的人機界面。另外,本發(fā)明的另一個方面包括用于構(gòu)建支持此類人機交互的翻譯引擎的框架。
[0023]可經(jīng)由人機交互配置的同步語法通過提供用于針對用戶數(shù)據(jù)對翻譯引擎參數(shù)進行調(diào)整的權(quán)重的初始猜測值,提供了靈活性。用戶可指定將被翻譯的材料的特點(例如,對于語音交談數(shù)據(jù)材料是否是內(nèi)在地單調(diào)的,或者對于正式新聞或歌詞是否是期望更多的重排序)。
[0024]如本文所描述的,對于用戶快速建立用于任何進一步適配和優(yōu)化的更好的基線或起始點來說,有限的人機交互的數(shù)量可能是有用的。因此,用戶和自動程序可節(jié)省收集用于以預(yù)定的方式適配翻譯引擎的用戶數(shù)據(jù)的代價,并且加速優(yōu)化算法以達到更好的結(jié)果。
[0025]本文所詳細說明的技術(shù)可用于在語言對之間進行雙語/多語翻譯。此外,本發(fā)明的一個方面用于自然語言處理并且包括統(tǒng)計模型。此外,在本發(fā)明的一個或多個實施例中,用戶不會看到與本文所描述的技術(shù)結(jié)合的任何規(guī)則。所述界面用于推斷用于翻譯的用戶特定數(shù)據(jù)的難度,并且本發(fā)明的一個方面同時推斷用于運行優(yōu)化算法的種子和界限,以對參數(shù)進行調(diào)整。
[0026]在一個說明性實施例中,優(yōu)化算法使用比現(xiàn)有方法中所使用的那些算法更一般化的算法,即被稱為單純形下山(simplex-downhill)算法的算法。單純形下山算法是基于試探法的線性搜索技術(shù),并且被認為比標準的最小錯誤率訓(xùn)練或MER更有效。見,B.Zhao等,“A Simplex Armijo Downhill Algorithm for Optimizing Statistical MachineTranslation Decoding Parameters,,Proceedings of the North American Chapterof the Association for Computational Linguistics-Human Language Technologies(NAACL HLT-2009),Denver,CO,USA,其公開的全部內(nèi)容通過引用被包含于此。該算法從種子K維權(quán)重向量(對應(yīng)于(K-1)維單純形中的一個點)開始。所述技術(shù)還在每一維上進行循環(huán),并且通過將第k維設(shè)置為其上界和下界,將這個原始種子變換成高維中的一個點。如此,在高維空間中就產(chǎn)生了 “球”(或“雪球”)。在優(yōu)化期間使用這個“雪球”,迭代地應(yīng)用四種操作:擴展、收縮、反射以及Armi jo線搜索一以將該雪球滾動到包含最優(yōu)解的更好空間,并且使其收縮直到到達局部最優(yōu)。
[0027]Armijo算法改變軌跡,以使單純形收縮到局部最優(yōu),并且使得該算法能夠有更好的機會走出由自動機器翻譯(MT)評價度量計算的充滿誤差的表面。
[0028]如所述的,本發(fā)明的優(yōu)選實施例可用于翻譯系統(tǒng)從一種人類語言(源語言)到一種不同的人類語言(目標語言)的域適配。在這種實施例中,已經(jīng)存在從源語言到目標語言的通用翻譯系統(tǒng),并且用戶對改進系統(tǒng)在特定域(例如,翻譯語音轉(zhuǎn)錄文本)上的性能感興趣??紤]到語音轉(zhuǎn)錄文本的特點通常是比例如正式文檔更短的句子,具有可能需要更少重排序的更簡單結(jié)構(gòu)。
[0029]提供給用戶的界面具有若干控件(例如,儀表盤),其捕獲將被翻譯的數(shù)據(jù)的類型下列方面:例如,句子的典型長度(從碎片的到非常長)、內(nèi)容的性質(zhì)(從一般到非常特定于域)、散文的質(zhì)量(從不合語法到教科書式)、是否有預(yù)期的感嘆詞(沒有到許多)等。用戶能夠使用n做出選擇(例如,中等長度句子,一般內(nèi)容、不合語法的句子以及碎片的散文)。這些值被映射到用于初始種子的區(qū)間(如本文所描述的),并且使用生成的種子來適配模型。
[0030]另外,本發(fā)明的另一個方面向用戶提供反饋。例如,可以以具有來自原始系統(tǒng)的翻譯和來自適配后的系統(tǒng)的翻譯的文檔的形式,提供反饋。使用此類反饋,用戶可以決定對過程進行迭代。
[0031]如以上所述的,本發(fā)明的一個方面包括構(gòu)建引擎以支持手工可調(diào)整的方案,以便改進為任何預(yù)定適配過程提供初始種子。通過為用戶提供不需要了解翻譯算法是如何運行的控件來改進翻譯質(zhì)量。由用戶選擇的值被映射到用于由優(yōu)化算法所使用的參數(shù)的值的范圍,優(yōu)化算法以這些參數(shù)作為種子,并且優(yōu)化算法用于適配翻譯模型。因此,使用用于優(yōu)化算法的適當(dāng)?shù)姆N子改進了對于特定域的翻譯質(zhì)量。
[0032]圖1是示出根據(jù)本發(fā)明的一個實施例的用于影響優(yōu)化算法到達不同局部最優(yōu)的種子選擇的示例的圖102。如在圖1中所說明的,壞種子選擇可導(dǎo)致次優(yōu)優(yōu)化結(jié)果,混淆用戶,以及使?jié)M意度受損。然而,好種子選擇可導(dǎo)致更快地收斂到最優(yōu)點,并且改進用戶體驗。
[0033]本發(fā)明的一個方面包括在以人為中心的度量和用于優(yōu)化算法的種子參數(shù)之間的映射。以人為中心的度量例如可以指由非技術(shù)、未訓(xùn)練過的人可容易理解的參數(shù),包括但不限于:典型句子的長度、翻譯的預(yù)期用途、文本的一般主題等。好種子可能已經(jīng)涉及搜索努力,并且這個搜索過程可包括單調(diào)、hiero、樹到串、串到數(shù)的概率同步上下文無關(guān)語法(PSCFG)的上界,下界以及相對長度。本發(fā)明的一個或多個實施例包括一組用于不同文體類型的預(yù)定的上界和下界,其是經(jīng)由監(jiān)督學(xué)習(xí)或非監(jiān)督學(xué)習(xí)從用于系統(tǒng)構(gòu)建的訓(xùn)練數(shù)據(jù)學(xué)習(xí)到的。然后,將人類輸入映射到用于種子的預(yù)定范圍。
[0034]另外,本發(fā)明的一個方面包括回歸/最小二乘估計,以用于將人類輸入轉(zhuǎn)換成與語法結(jié)構(gòu)相關(guān)聯(lián)的權(quán)重的上界和下界。在一個實施例中,用戶例如選擇分數(shù),并且系統(tǒng)將這些分數(shù)映射到例如使用回歸算法的區(qū)間。
[0035]此外,本發(fā)明的一個方面包括學(xué)習(xí)線性回歸算法以轉(zhuǎn)換人類輸入,從而變換用于優(yōu)化的上/下界。因此,這可包括提供句子,以便用戶用標度標記(例如,從[1-5],對用戶來說,I是最簡單的句子,5是最困難的句子)。另外,這些標記過的句子可保存成向量a。內(nèi)部可讀性分數(shù)被計算并保存成向量P。通過以最小平方誤差將P變換成a: a =1 0 + e,對回歸或最小平方誤差參數(shù)I進行比較,其中e是預(yù)測的人類評分分數(shù)與內(nèi)部機器評分分數(shù)之間的殘余誤差。同一參數(shù)I可用于預(yù)測或確定用于每個揭露的語法成分的上界和下界,并且從[下界,上界]所限定的種子可用于任何后續(xù)的優(yōu)化。
[0036]在本發(fā)明的一個或多個實施例中,通過收集文檔集合、針對每個文檔對優(yōu)化器的參數(shù)進行調(diào)整(例如,經(jīng)由專家)、以及使一組人單獨地選擇n中的參數(shù)以描述他們對每個文檔的感覺,來構(gòu)建訓(xùn)練集。然后,結(jié)合方法使用此收集的數(shù)據(jù),以學(xué)習(xí)用戶輸入和用于參數(shù)的區(qū)間之間的映射(例如,諸如以上所描述的線性回歸方法)。
[0037]在另一個實施例中,用戶向系統(tǒng)提供一組代表性文檔,并且系統(tǒng)自動分析這些文檔并給這些文檔指定分數(shù)(例如,諸如Flesch-Kincaid年級水平、Gunning-Fog分數(shù)、Coleman-Liau索引以及SMOG索引)。然后,這些分數(shù)的分布結(jié)合映射方法(諸如本文所描述的映射方法)使用,以識別用于優(yōu)化參數(shù)的區(qū)間。
[0038]在這種實施例中,不要求用戶提供人類可理解的參數(shù)的值,而是提供將被翻譯的文檔類型的特定代表性示例。使用這些文檔,本發(fā)明的一個或多個實施例自動計算各種量,并從這些值的集合構(gòu)建用于優(yōu)化算法的參數(shù)的一組區(qū)間。另外,本領(lǐng)域的技術(shù)人員將了解,存在若干可能機制來指定示例文檔,包括系統(tǒng)迭代地向用戶提供附加建議以及用戶選擇或拒絕建議的交互式輪流方法。
[0039]在本發(fā)明的另一個方面中,系統(tǒng)可從由先前用戶或由軟件的提供者構(gòu)建的預(yù)先指定的多組用于參數(shù)的區(qū)間的集合開始,每一組輸入對應(yīng)于特定域。在這個實施例中,系統(tǒng)使用由用戶提供的示例或人類指定的參數(shù),來選擇預(yù)先指定的多組參數(shù)中的一組參數(shù)。在這種實施例中,用戶被確保最終獲得具有已證明參數(shù)、并且可能需要來自用戶的更少示例的系統(tǒng)。另外,如果示例的數(shù)目足夠大,則系統(tǒng)可以構(gòu)造一組新的用于參數(shù)的區(qū)間。
[0040]圖2是示出根據(jù)本發(fā)明的一個方面的一個示例實施例的框圖。作為說明,圖2示出了用于請求用戶輸入他或她感興趣的數(shù)據(jù)的接口模塊202。輸入轉(zhuǎn)換模塊204將用戶輸入轉(zhuǎn)換成用于優(yōu)化的上界、下界、或起始點。此外,優(yōu)化模塊206以給定上/下界或初始種子執(zhí)行優(yōu)化算法,并且譯碼模塊208應(yīng)用適配過的權(quán)重,以用于在軟件中進行譯碼。另外,用戶的實際數(shù)據(jù)流210也被提供給翻譯模塊212,其使用適配過的系統(tǒng)來提供對用戶數(shù)據(jù)的翻譯,從而生成翻譯輸出214。
[0041]圖3是示出根據(jù)本發(fā)明的一個方面的一個示例實施例的圖。作為說明,在步驟302中,系統(tǒng)(經(jīng)由用戶界面)顯示在系統(tǒng)訓(xùn)練期間進行測量的若干句子。在步驟304中,用戶根據(jù)他或她自己的判斷,對這些句子從難到易進行測量。另外,在步驟306,系統(tǒng)請求用戶對他或她的數(shù)據(jù)難度(給定所顯示的句子)進行排名,例如從I至5。因此,在步驟308,系統(tǒng)將用戶的(一個或多個)選擇映射到用于為優(yōu)化提供種子的譯碼參數(shù)的下/上界。
[0042]在步驟310,系統(tǒng)生成更好的/更準確翻譯種子并運行優(yōu)化。此外,在步驟312,系統(tǒng)應(yīng)用優(yōu)化后的權(quán)重,并調(diào)整翻譯引擎。
[0043]圖4A是示出根據(jù)本發(fā)明的一個方面的用于顯示來自系統(tǒng)訓(xùn)練的預(yù)測量的句子的用戶界面402的框圖。作為說明,圖4A示出指令組件404、句子查詢406和408、以及排名組件410和412。
[0044]圖4B是示出根據(jù)本發(fā)明的一個方面的用于請求用戶輸入的用戶界面402的框圖。作為說明,圖4B示出指令組件422、查詢響應(yīng)組件424、以及排名組件426。
[0045]圖4C是示出根據(jù)本發(fā)明的一個方面的用于確認用戶輸入以及啟動優(yōu)化過程的用戶界面402的框圖。作為說明,圖4C示出指令組件432和運行優(yōu)化提示組件434。
[0046]圖5是示出根據(jù)本發(fā)明的一個實施例的用于定制自然語言處理引擎的技術(shù)的流程圖(其中至少一個步驟是由計算機設(shè)備來執(zhí)行的)。步驟502包括使能選擇希望的自然語言處理任務(wù)(例如,語言對之間的多語種翻譯)的一個或多個參數(shù),所述一個或多個參數(shù)旨在由訓(xùn)練過的或未訓(xùn)練過的用戶使用。這個步驟例如可以使用接口模塊來執(zhí)行。這些參數(shù)可包括可由未訓(xùn)練的用戶理解的參數(shù)(例如,以人為中心的參數(shù))。例如,參數(shù)可包括典型句子的長度、內(nèi)容的性質(zhì)、散文的質(zhì)量、預(yù)期的感嘆詞的數(shù)量、翻譯的預(yù)期用途、以及文本輸入的一般主題。此外,參數(shù)可包括預(yù)定值。
[0047]使能選擇希望的自然語言處理任務(wù)的參數(shù)可包括提供用戶界面,以便用戶選擇希望的自然語言處理任務(wù)的參數(shù)。此外,使能選擇希望的自然語言處理任務(wù)的參數(shù)可包括使能對自然語言處理任務(wù)中的一個或多個語法成分的相關(guān)性進行調(diào)整。
[0048]步驟504包括將一個或多個所選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的一個或多個區(qū)間的集合。這個步驟例如可使用轉(zhuǎn)換模塊來執(zhí)行。將所選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的區(qū)間的集合可包括使用可訓(xùn)練的映射方法??墒褂脧囊粋€或多個專家用戶收集的數(shù)據(jù)來訓(xùn)練映射方法。另外,可自動地將所選擇的參數(shù)轉(zhuǎn)變成具有上界和下界的初始種子。
[0049]步驟506包括將具有輸入?yún)?shù)的一個或多個區(qū)間的集合的優(yōu)化算法應(yīng)用于由自然語言處理引擎所使用的模型,以產(chǎn)生定制模型(為終端用戶)。這個步驟例如可使用優(yōu)化模塊來執(zhí)行。
[0050]在圖5中所示出的技術(shù)還可包括例如以具有來自原始模型的翻譯和來自定制模型的翻譯的文檔的形式向用戶提供反饋。本發(fā)明的一個方面還可包括應(yīng)用轉(zhuǎn)換用戶輸入、以便變換用于優(yōu)化的上界和下界的線性回歸算法。
[0051]此外,在圖5中所示出的技術(shù)包括通過收集一個或多個文檔的集合、針對每個文檔調(diào)節(jié)優(yōu)化器的至少一個參數(shù)、以及選擇至少一個調(diào)節(jié)過的參數(shù)來對應(yīng)每個文檔,來構(gòu)建訓(xùn)練集。另外,本發(fā)明的一個方面可包括自動分析一組代表性文檔,以及給每個文檔分配一個分數(shù),其將與映射方法結(jié)合使用以識別用于優(yōu)化參數(shù)的區(qū)間。
[0052]如本文所描述的,圖5中所示出的技術(shù)還可包括提供一種系統(tǒng),其中所述系統(tǒng)包括不同的軟件模塊,所述不同軟件模塊中的每一個軟件模塊包含在計算機可讀可記錄的存儲介質(zhì)上。例如,所有模塊(或其任何子集)可以在同一介質(zhì)上,或每一個模塊可以在不同的介質(zhì)上。模塊可包括在圖中所示出的組件中的任何一個組件或全部組件。在本發(fā)明的一個方面中,所述模塊包括:例如可在硬件處理器上運行的接口模塊、輸入轉(zhuǎn)換模塊、優(yōu)化模塊、譯碼模塊、以及翻譯模塊。然后可使用在硬件處理器上執(zhí)行的系統(tǒng)的不同模塊(如以上所描述的)來實現(xiàn)所述方法步驟。此外,計算機程序產(chǎn)品可包括有形計算機可讀可記錄存儲介質(zhì),其具有適用于被執(zhí)行以實現(xiàn)本文所描述的至少一個方法步驟(包括提供具有不同軟件模塊的系統(tǒng))的代碼。
[0053]另外,圖5中所示出的技術(shù)可經(jīng)由計算機程序產(chǎn)品來實現(xiàn),其可包括存儲在數(shù)據(jù)處理系統(tǒng)中的計算機可讀存儲介質(zhì)中的計算機可使用的程序代碼,并且其中所述計算機可使用的程序代碼是通過網(wǎng)絡(luò)從遠程數(shù)據(jù)處理系統(tǒng)下載的。此外,在本發(fā)明的一個方面中,計算機程序產(chǎn)品可包括存儲在服務(wù)器數(shù)據(jù)處理系統(tǒng)中的計算機可讀存儲介質(zhì)中的計算機可使用的程序代碼,并且其中計算機可使用的程序代碼通過網(wǎng)絡(luò)被下載到遠程數(shù)據(jù)處理系統(tǒng)以便在遠程系統(tǒng)的計算機可讀存儲介質(zhì)中使用。
[0054]如本領(lǐng)域的技術(shù)人員將了解,本發(fā)明的各方面可以體現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各方面可采用全部硬件的實施例、全部軟件的實施例(包括固件、常駐軟件、微代碼等)或組合軟件方面和硬件方面的實施例的方式,其在本文中通稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的各方面可采用包含在具有包含在其上的計算機可讀程序代碼的計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式。
[0055]本發(fā)明的一個方面或其元素可以以裝置的形式來實現(xiàn),所述裝置包括存儲器以及耦合到所述存儲器并操作地執(zhí)行示例性方法步驟的至少一個處理器。
[0056]另外,本發(fā)明的一個方面可使用在通用計算機或工作站上運行的軟件。參照圖6,此類實現(xiàn)方式例如可使用例如:處理器602、存儲器604、以及例如由顯示器606和鍵盤608組成的輸入/輸出接口。如本文所使用的術(shù)語“處理器”旨在包括任何處理設(shè)備,例如諸如包括CPU (中央處理器)和/或其它形式的處理電路的處理設(shè)備。此外,術(shù)語“處理器”可指超過一個的單獨處理器。術(shù)語“存儲器”旨在包括與處理器或CPU相關(guān)聯(lián)的存儲器,例如諸如RAM (隨機存取存儲器)、ROM (只讀存儲器)、固定存儲設(shè)備(例如硬盤驅(qū)動器)、可移動存儲設(shè)備(例如,軟盤)、閃存存儲器等。另外,如本文所使用的短語“輸入/輸出接口”例如旨在包括用于將數(shù)據(jù)輸入到處理單元的機制(例如,鼠標)、以及用于提供與所述處理單元相關(guān)聯(lián)的結(jié)果的機制(例如,打印機)。處理器602、存儲器604、和輸入/輸出接口(諸如顯示器606和鍵盤608)例如可經(jīng)由總線610進行互連,作為數(shù)據(jù)處理單元612的一部分。合適的互連(例如經(jīng)由總線610)還可提供給網(wǎng)絡(luò)接口 614 (諸如網(wǎng)卡),其可被提供以與計算機網(wǎng)絡(luò)進行接口,以及提供給介質(zhì)接口 616 (諸如軟磁盤或⑶-ROM驅(qū)動器),其可被提供以與介質(zhì)618進行接口。
[0057]因此,計算機軟件包括用于執(zhí)行如本文所描述的本發(fā)明的方法的指令或代碼,可存儲在相關(guān)聯(lián)的存儲設(shè)備(例如,ROM、固定或可移動存儲器)中,并且當(dāng)準備好被使用時,被部分或全部加載(例如,加載到RAM)并由CPU執(zhí)行。此類軟件可包括(但不限于)固件、常駐軟件、微代碼等。
[0058]適合用于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括通過系統(tǒng)總線610直接或間接耦合到存儲單元604的至少一個處理器602。存儲單元可包括在程序代碼的實際執(zhí)行期間所使用的本地存儲器、大容量存儲器、以及緩存存儲器,其提供暫時存儲至少一些程序代碼,以便減少在執(zhí)行期間必須從大容量存儲器取回代碼的次數(shù)。
[0059]輸入/輸入或I/O設(shè)備(包括但不限于鍵盤608、顯示器606、指點設(shè)備等)可直接(諸如經(jīng)由總線610)或通過介于中間的I/O控制器(為清楚起見而省略)耦合到所述系統(tǒng)。
[0060]網(wǎng)絡(luò)適配器(諸如網(wǎng)絡(luò)接口 614)還可耦合到所述系統(tǒng),以使能數(shù)據(jù)處理系統(tǒng)通過介于中間的私有或公用網(wǎng)絡(luò)耦合到其它數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡僅是若干當(dāng)前可用類型的網(wǎng)絡(luò)適配器。
[0061]如本文(包括權(quán)利要求)所使用的,“服務(wù)器”包括運行服務(wù)器程序的物理數(shù)據(jù)處理系統(tǒng)(例如,如圖6中所示出的系統(tǒng)612)。應(yīng)當(dāng)理解,此類物理服務(wù)器可包括或不包括顯示器和鍵盤。
[0062]如所指出的,本發(fā)明的各方面可采用包含在具有在其上包含的計算機可讀程序代碼的計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式。此外,可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)將包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機盤、硬盤、隨機訪問存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0063]計算機可讀的信號介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0064]計算機可讀介質(zhì)上包含的程序代碼可以用適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0065]可以以至少一種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明的各方面操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0066]以上參照根據(jù)本發(fā)明的實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0067]也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)。因此,本發(fā)明的一個方面包括有形地包含計算機可讀指令的制造品,當(dāng)執(zhí)行指令時,使得計算機執(zhí)行如本文所描述的多個方法步驟。
[0068]也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖和/或框圖中的一個或多個方框中所指定的功能/動作的過程。
[0069]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0070]需要注意的是,本文所描述的方法中的任何一個方法可包括提供在計算機可讀存儲介質(zhì)上包含的不同軟件模塊的系統(tǒng)的附加步驟;所述模塊例如可包括圖2中所示出的組件中的任何組件或全部組件。然后,可使用在硬件處理器602上運行的如以上所述的系統(tǒng)的不同軟件模塊和/或子模塊來執(zhí)行所述方法步驟。此外,計算機程序產(chǎn)品可包括計算機可讀存儲介質(zhì),其具有適用于被執(zhí)行以實現(xiàn)本文中所描述的至少一個方法步驟(包括提供具有不同的軟件模塊的系統(tǒng))的代碼。
[0071]在任何情況下,應(yīng)當(dāng)理解,本文中所說明的組件可以以硬件、軟件、或其組合的各種形式來實現(xiàn);例如,專用集成電路(多個)(ASICS)、功能電路、具有相關(guān)聯(lián)存儲器的適當(dāng)編程的通用數(shù)字計算機等。給定本文中所提供的本發(fā)明的教導(dǎo),相關(guān)領(lǐng)域的普通技術(shù)人員將能夠設(shè)想本發(fā)明的組件的其它實現(xiàn)方式。
[0072]本文所使用的術(shù)語僅是出于描述特定實施例的目的,并且不是旨在限制本發(fā)明。如本文所使用的,單數(shù)形式“一個”、“一種”和“所述”旨在也包括復(fù)數(shù)形式,除非上下文中以其他方式清楚地指出。還應(yīng)當(dāng)理解,當(dāng)在本說明書中使用時,術(shù)語“包含”和/或“包含有”指定存在所述的特征、整數(shù)、步驟、操作、元素、和/或組件,但是不排除存在或增加另外一個特征、整數(shù)、步驟、操作、元素組件、和/或其組合。
[0073]在下面的權(quán)利要求中,所有裝置或步驟加功能元件的對應(yīng)的結(jié)構(gòu)、材料、動作、以及等同物旨在包括用于與如明確要求的其它所要求的元件組合執(zhí)行該功能的任何結(jié)構(gòu)、材料、或動作。出于說明和描述的目的已經(jīng)提供了本發(fā)明的描述,但是不是旨在是窮盡的或?qū)⒈景l(fā)明限制于所公開的形式。對于本領(lǐng)域的普通技術(shù)人員來說,許多修改和變化將是明顯的,而不背離本發(fā)明的范圍和精神。所選擇和描述的實施例是為了更好地解釋本發(fā)明的原理和實際應(yīng)用,以及使能本領(lǐng)域的其它普通技術(shù)人員理解本發(fā)明具有如適用于特定預(yù)期使用的各種修改的各種實施例。
[0074]本發(fā)明中的至少一個方面可提供有益效果,例如諸如減少收集用于以預(yù)定的方式適配翻譯引擎的用戶數(shù)據(jù)的代價,以及加速優(yōu)化算法到達更好的結(jié)果。
[0075]已經(jīng)出于說明的目的提供了本發(fā)明的各種實施例的描述,但是不是旨在是窮盡的或限制于所公開的實施例。對于本領(lǐng)域的普通技術(shù)人員來說,許多修改和變化將是明顯的,而不背離所能描述的實施例的范圍和精神的情況。所選擇的在本文中所使用的術(shù)語是為了更好地解釋實施例的原理、實際應(yīng)用或在市場上可以找到的技術(shù)上的技術(shù)改進,或使能本領(lǐng)域的其他普通技術(shù)人員理解本文中所公開的實施例。
【權(quán)利要求】
1.一種用于定制自然語言處理引擎的方法,其中所述方法包含: 使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù),所述一個或多個參數(shù)旨在由訓(xùn)練過的用戶和未訓(xùn)練過的用戶使用; 將所述一個或多個選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的一個或多個區(qū)間的集合;以及 將具有所述輸入?yún)?shù)的一個或多個區(qū)間的集合的所述優(yōu)化算法應(yīng)用于由自然語言處理引擎所使用的模型,以產(chǎn)生定制模型; 其中由計算機設(shè)備實現(xiàn)所述步驟中的至少一個步驟。
2.根據(jù)權(quán)利要求1所述的方法,其中使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)包含提供用戶界面,以便用戶選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其中所述一個或多個參數(shù)包含典型句子的長度、內(nèi)容性質(zhì)、散文質(zhì)量、預(yù)期的感嘆詞數(shù)量、翻譯的預(yù)期用途、以及文本輸入的一般主題中的至少一個。
4.根據(jù)權(quán)利要求1所述的方法,其中所述一個或多個參數(shù)包含一個或多個預(yù)定值。
5.根據(jù)權(quán)利要求1所述的方法,其中將所述一個或多個選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的一個或多個區(qū)間的集合包含使用可訓(xùn)練的映射方法。
6.根據(jù)權(quán)利要求5所述的方法,其中使用從一個或多個專家用戶收集的數(shù)據(jù)來訓(xùn)練所述映射方法。`
7.根據(jù)權(quán)利要求1所述的方法,其中使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)包含使能調(diào)整所述自然語言處理任務(wù)中的一個或多個語法成分的相關(guān)性。
8.根據(jù)權(quán)利要求1所述的方法,其中將所述一個或多個選擇的參數(shù)自動地轉(zhuǎn)變成具有上界和下界的初始種子。
9.根據(jù)權(quán)利要求1所述的方法,其中希望的自然語言處理任務(wù)包含語言對之間的多語種翻譯。
10.根據(jù)權(quán)利要求1所述的方法,還包含: 向用戶提供反饋。
11.根據(jù)權(quán)利要求10所述的方法,其中向用戶提供反饋包含以具有來自原始模型的翻譯和來自所述定制模型的翻譯的文檔的形式提供反饋。
12.根據(jù)權(quán)利要求1所述的方法,還包含: 應(yīng)用線性回歸算法以轉(zhuǎn)換人類輸入,從而變換用于優(yōu)化的上界和下界。
13.根據(jù)權(quán)利要求1所述的方法,還包含: 通過收集一個或多個文檔的集合、針對每個文檔調(diào)節(jié)優(yōu)化器的至少一個參數(shù)、以及選擇對應(yīng)于每個文檔的所述至少一個調(diào)節(jié)過的參數(shù),來構(gòu)建訓(xùn)練集。
14.根據(jù)權(quán)利要求1所述的方法,還包含: 自動分析一組一個或多個代表性文檔,并為每個文檔分配一個分數(shù),所述分數(shù)將與映射方法結(jié)合使用以識別用于優(yōu)化參數(shù)的一個或多個區(qū)間。
15.根據(jù)權(quán)利要求1所述的方法,還包含: 提供一種系統(tǒng),其中所述系統(tǒng)包含至少一個不同的軟件模塊,每個不同的軟件模塊包含在有形的計算機可讀可記錄存儲介質(zhì)上,并且其中所述至少一個不同的軟件模塊包含在硬件處理器上運行的接口模塊、轉(zhuǎn)換模塊以及優(yōu)化模塊。
16.一種包含具有在其上有形包含的計算機可讀指令的計算機可讀存儲介質(zhì)的制造品,當(dāng)執(zhí)行所述計算機可讀指令時,使得計算機執(zhí)行多個方法步驟,包括: 使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù),所述一個或多個參數(shù)旨在由訓(xùn)練過的用戶或未訓(xùn)練過的用戶使用; 將所述一個或多個選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的一個或多個區(qū)間的集合;以及 將具有所述輸入?yún)?shù)的一個或多個區(qū)間的集合的所述優(yōu)化算法應(yīng)用于由自然語言處理引擎所使用的模型,以產(chǎn)生定制模型。
17.根據(jù)權(quán)利要求16所述的制造品,其中使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)包含提供用戶界面,以便用戶選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)。
18.根據(jù)權(quán)利要求16所述的制造品,其中所述一個或多個參數(shù)包含典型句子的長度、內(nèi)容性質(zhì)、散文質(zhì)量、預(yù)期的感嘆詞數(shù)量、翻譯的預(yù)期用途、以及文本輸入的一般主題中的至少一個。
19.根據(jù)權(quán)利要求16所述的制造品,其中使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)包含使能調(diào)整所述自然語言處理任務(wù)中的一個或多個語法成分的相關(guān)性。
20.根據(jù)權(quán)利要求16 所述的制造品,其中將所述一個或多個選擇的參數(shù)自動地轉(zhuǎn)變成具有上界和下界的初始種子。
21.一種用于定制自然語言處理引擎的系統(tǒng),包含: 至少一個不同的軟件模塊,每個不同的軟件模塊包含在有形的計算機可讀介質(zhì)上; 存儲器;以及 至少一個處理器,其耦合到所述存儲器并操作地用于: 使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù),所述一個或多個參數(shù)旨在由訓(xùn)練過的用戶或未訓(xùn)練過的用戶使用; 將所述一個或多個選擇的參數(shù)映射到優(yōu)化算法的輸入?yún)?shù)的一個或多個區(qū)間的集合;以及 將具有所述輸入?yún)?shù)的一個或多個區(qū)間的集合的所述優(yōu)化算法應(yīng)用于由自然語言處理引擎所使用的模型,以產(chǎn)生定制模型;
22.根據(jù)權(quán)利要求21所述的系統(tǒng),其中操作地用于使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)的耦合到所述存儲器的所述至少一個處理器還操作地用于提供用戶界面,以便用戶選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)。
23.根據(jù)權(quán)利要求21所述的系統(tǒng),其中所述一個或多個參數(shù)包含典型句子的長度、內(nèi)容性質(zhì)、散文質(zhì)量、預(yù)期的感嘆詞數(shù)量、翻譯的預(yù)期用途、以及文本輸入的一般主題中的至少一個。
24.根據(jù)權(quán)利要求21所述的系統(tǒng),其中耦合到所述存儲器的操作地用于使能選擇希望的自然語言處理任務(wù)的一個或多個參數(shù)的所述至少一個處理器,還操作地用于使能調(diào)整所述自然語言處理任務(wù)中的一個或多個語法成分的相關(guān)性。
25.根據(jù)權(quán)利要求21所述的系統(tǒng),其中將所述一個或多個選擇的參數(shù)自動地轉(zhuǎn)變成具有上界和下界的初始種子。
【文檔編號】G06F17/27GK103782291SQ201280036760
【公開日】2014年5月7日 申請日期:2012年7月17日 優(yōu)先權(quán)日:2011年7月26日
【發(fā)明者】趙兵, V·卡斯泰利 申請人:國際商業(yè)機器公司