專利名稱:基于加權(quán)編輯距離的自動例句檢索的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機器輔助書寫系統(tǒng)和方法,尤其涉及自動例句檢索的系統(tǒng)和方法以輔助書寫或翻譯處理。
在機器輔助翻譯系統(tǒng)中,例如一個翻譯存儲器系統(tǒng),需要一個檢索方法以獲得關(guān)聯(lián)句子。然而許多檢索算法存在不同類型的缺點,其中一些是無效的。例如,被檢索出的句子常常和輸入的句子幾乎沒有關(guān)系。許多檢索算法的其他問題事實上包括其中的一些是無效的、一些需要可觀的存儲器和處理資源、一些需要句子語料庫的預(yù)自動標(biāo)注,預(yù)自動標(biāo)注是個非常費時的負(fù)荷。
自動例句檢索也可用作書寫輔助,例如作為文字處理器的一種幫助功能。不管用戶用他或她的母語書寫或用非母語書寫這可以是真的。例如,隨著全球經(jīng)濟的持續(xù)增長和因特網(wǎng)的迅速發(fā)展,全世界的人們越來越熟悉用非母語書寫。不幸的是,對于一些擁有完全不同文化和書寫風(fēng)格的社會,用非母語書寫的能力是永遠存在的障礙。當(dāng)用非母語書寫(例如英語)時,非當(dāng)?shù)氐恼f話者經(jīng)常會犯語言使用錯誤(例如說漢語、日語、韓語或其他非英語的語言)。例句檢索向書寫者提供具有相似內(nèi)容、相似語法結(jié)構(gòu)的例句,或都為幫助修飾由書寫者寫出的例句。
因此,一種提供有效的例句檢索的改進方法或算法是非常重要的。
在一些實施方式中,按將每個候選例句轉(zhuǎn)變?yōu)檩斎氩樵兙渥铀璧淖钚∵\算數(shù)的函數(shù)使所選候選例句被重新排列。在另外實施方式中,按將輸入查詢句子轉(zhuǎn)變?yōu)槊總€候選例句所需的最小運算數(shù)的函數(shù)所選候選例句被重新排列。
在各種實施方式中,基于所選候選例句和輸入查詢句子之間的加權(quán)編輯距離選候選例句被重新排列。在一些實施方式中,基于加權(quán)編輯距離重新排列所選候選例句還包括為每個候選例句計算獨立的加權(quán)編輯距離作為候選例句中檢索詞的函數(shù),以及作為與候選例句中檢索詞對應(yīng)的加權(quán)分?jǐn)?shù)的函數(shù)?;谂c候選例句中對應(yīng)的檢索詞相關(guān)的語言組成部分加權(quán)分?jǐn)?shù)具有不同的值。然后基于為每個候選例句計算所得的獨立的加權(quán)編輯距離所選候選例句被重新排列。
圖2是本發(fā)明可實踐的另一個可選用的計算環(huán)境的框圖。
圖3說明一個系統(tǒng)的框圖,該系統(tǒng)可在
圖1和2中所示的計算環(huán)境中實現(xiàn),該系統(tǒng)依據(jù)本發(fā)明的實施方式檢索例句和基于編輯距離排列例句。
圖4說明依據(jù)本發(fā)明的檢索例句和基于編輯距離排列例句的方法的框圖。
圖5說明依據(jù)本發(fā)明的進一步實施方式的檢索例句和基于編輯距離排列例句的方法的框圖。
本發(fā)明可以和大量其他通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置一起運算。適合與本發(fā)明一起使用的眾所周知的計算系統(tǒng)、環(huán)境、和/或配置的例子包括,但不限于,個人計算機、服務(wù)器計算機、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理機的系統(tǒng)、機頂盒、可編程消費電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計算機、主計算機、電話系統(tǒng)、包括以上系統(tǒng)或設(shè)備中的任何的分布式計算環(huán)境,等等之類的。
本發(fā)明可用計算機可執(zhí)行指令的通用語鏡進行描述,如程序模塊,由計算機執(zhí)行。一般來說,程序模塊包括例程、程序、對象、分量、數(shù)據(jù)結(jié)構(gòu)等等,它們完成特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。本發(fā)明也可能在分布式計算環(huán)境中運行,在那里任務(wù)通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備來完成。在分布式計算機環(huán)境中,程序模塊可位于包括存儲器存儲設(shè)備的本地和遠程計算機存儲媒體中。
關(guān)于圖1,為實現(xiàn)本發(fā)明用作范例的系統(tǒng)包括以計算機110為形式的通用計算設(shè)備。計算機110的部件可包括,但不限于,處理單元120、系統(tǒng)存儲器130、以及系統(tǒng)總線121,系統(tǒng)總線將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)部件耦合到處理單元120上。系統(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)總線、增強型工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局部總線、以及稱為Mezzanine總線的外圍部件互連(PCI)總線。
計算機110一般包括各種計算機可讀媒體。計算機可讀媒體可以是能被計算機110訪問的任何可獲得的媒體,它包括易失性和非易失性媒體、可移動和不可移動的媒體。作為例子,而非限制,計算機可讀媒體可包括計算機存儲媒體和通信媒體。計算機存儲媒體包括易失性和非易失性媒體、可移動和不可移動的媒體,這些媒體用任何方法和技術(shù)來實現(xiàn)作為信息的存儲,這些信息如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息。計算機存儲器媒體包括,而非限制,RAM、ROM、EEPROM、閃爍存儲器或其它存儲器技術(shù)、CD-ROM、數(shù)字多用光盤或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或任何其它可用于存儲所需信息并能被計算機110訪問的媒體。通信媒體一般具備計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他包含在諸如載波或其它傳輸機械的調(diào)制數(shù)據(jù)信號中的數(shù)據(jù),通信媒體還包括任何信息傳遞媒體。術(shù)語“調(diào)制數(shù)據(jù)信號”是指具有一個或多個特征集合的信號或轉(zhuǎn)變成這樣一個將信息編碼在信號中的方式。作為例子,而非限制,通信媒體包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線媒體,諸如聲、RF、紅外和其它無線媒體的無線媒體。以上任何的結(jié)合也可包含在計算機可讀媒體的范圍內(nèi)。
計算機存儲器130包括以易失性和/或非易失性存儲器形式存在的計算機存儲媒體,如只讀存儲器131和隨機存取存儲器132?;据斎?輸出系統(tǒng)133(BIOS)一般存儲于ROM131,它包括幫助傳送計算機110中各單元之間的信息的基本例程,如在啟動期間。RAM132一般包括數(shù)據(jù)和/或程序模塊,它們被處理單元120立即訪問和/或現(xiàn)行操作的。作為例子,而非限制,圖1說明操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機110可包括其它可移動/不可移動的、易失性/非易失性存儲媒體。僅僅作為例子,圖1說明了從不可移動的非易失性的磁性媒體讀取或?qū)懭氲挠脖P驅(qū)動器141、從可移動的非易失性的磁盤152讀取或?qū)懭氲拇疟P驅(qū)動器151、從諸如CD ROM或其它光媒體的可移動的非易失性的光盤156讀取或?qū)懭氲墓獗P驅(qū)動器155。其它可在用作范例的操作環(huán)境中使用的可移動/不可移動的、易失性/非易失性的計算機存儲媒體包括,而非限制,磁帶(盒)、閃爍存儲器卡、數(shù)字多用磁盤、數(shù)字錄像磁帶、固態(tài)RAM、固態(tài)ROM,等等之類的。硬盤驅(qū)動器141一般通過如接口140的不可移動存儲器接口與系統(tǒng)總線121相連。磁盤驅(qū)動器151和光盤驅(qū)動器155一般通過如接口150的可移動存儲器接口與系統(tǒng)總線121相連。
以上討論和圖1中說明的設(shè)備及其相關(guān)計算機存儲媒體,為計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和計算機110的其它數(shù)據(jù)提供了存儲。在圖1中,例如,說明硬盤驅(qū)動器141存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊141、以及程序數(shù)據(jù)147。注意這些部件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊141和程序數(shù)據(jù)147在此給出不同的數(shù)字說明,至少,它們是不同的復(fù)制。
用戶可通過輸入設(shè)備將命令和信息鍵入計算機110,輸入設(shè)備如鍵盤162、話筒163、諸如鼠標(biāo)、跟蹤球或觸摸板的指點器161。其他輸入設(shè)備的(未展示)可包括操縱桿、游戲板、衛(wèi)星拋物面、掃描儀、等等之類的。這些和其它輸入設(shè)備通常通過與系統(tǒng)總線耦合用戶輸入接口160與處理單元120相連,也可以由其它接口和總線結(jié)構(gòu)與處理單元相連,其它接口和總線結(jié)構(gòu)如平行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它形式的顯示設(shè)備也通過如視頻接口190的接口與系統(tǒng)總線相連。除了監(jiān)視器,計算機還可包括其它外圍輸出設(shè)備,如揚聲器197和打印機196,這些設(shè)備可通過輸出外圍設(shè)備接口195相連。
計算機110可在聯(lián)網(wǎng)的環(huán)境中運作,該環(huán)境采用邏輯連接至一個或多個如遠程計算機180的遠程計算機。遠程計算機180可以是個人計算機、手持式設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、同級設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點,以及一般包括以上描述的與計算機110有關(guān)的大多或所有部件。圖1中描繪的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。如此網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)級計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是很平常的。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境中,計算機110通過網(wǎng)絡(luò)接口或適配器170與LAN相連。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境中,計算機110一般包括調(diào)制解調(diào)器172或其它在如因特網(wǎng)的WAN 173上建立通信的設(shè)備。調(diào)制解調(diào)器172,可以是內(nèi)置的或外置的,可通過用戶輸入接口160或其它合適的機械與系統(tǒng)總線120相連。在聯(lián)網(wǎng)環(huán)境中,所描述的與計算機110或其中部分有關(guān)的程序模塊可存儲于遠程存儲器設(shè)備。作為例子,而非限制,圖1說明了遠程應(yīng)用程序185常駐在遠程計算機180上。能理解的是所示的網(wǎng)絡(luò)連接是用作范例的,并且建立計算機之間的通信連接的其他方法是可用的。
圖2是移動設(shè)備200的框圖,它是一個用作范例的計算環(huán)境。移動設(shè)備200包括微處理機202、存儲器204、輸入/輸出(I/O)部件206、以及用作與遠程計算機或其它移動設(shè)備通信的通信接口208。在實施方式中,前面所述的部件通過合適的總線210耦合起來相互通信。
存儲器204以非易失性電子存儲器來實現(xiàn),如帶有電池備份模塊(未展示)的隨機存取存儲器,如此使得當(dāng)移動設(shè)備200的主電源關(guān)閉時在存儲器204中存儲的信息不會遺失。存儲器204的一部分較佳地被分配為程序執(zhí)行用的可編址的存儲器,而存儲器204的另一部分較佳地被用作存儲,如模擬磁盤驅(qū)動器上的存儲。
存儲器204包括操作系統(tǒng)212、應(yīng)用程序214以及目標(biāo)存儲216。在操作中,操作系統(tǒng)212較佳地被處理器202從存儲器204中執(zhí)行。在較佳的實施方式中,操作系統(tǒng)212是從微軟公司購買的WINDOWSCE注冊操作系統(tǒng)。操作系統(tǒng)212較佳地為移動設(shè)備設(shè)計,并且通過一組所述的應(yīng)用程序接口和方法實現(xiàn)被應(yīng)用214利用的數(shù)據(jù)庫特性。在目標(biāo)存儲216中目標(biāo)由應(yīng)用214和操作系統(tǒng)212維護,至少部分可響應(yīng)傳至所述的應(yīng)用程序接口和方法的呼叫。
通信接口208代表使得移動設(shè)備200能發(fā)送和接收信息的大量設(shè)備和技術(shù)。設(shè)備包括有線和無線的調(diào)制解調(diào)器、衛(wèi)星接受機和以此為例的廣播調(diào)諧。移動設(shè)備200在此可以和計算機直接相連交換數(shù)據(jù)。在這種情況下,通信接口可以為紅外的收發(fā)器、或串行或并行的通信連接,所有這些可以發(fā)射信息流。
輸入/輸出部件206包括各種輸入設(shè)備,如觸敏屏幕、按鈕、滾筒和話筒,以及各種輸出設(shè)備,包括音頻發(fā)生器、振動設(shè)備和顯示器。以上所列的設(shè)備是作為例子,并且不需要所有都出現(xiàn)在移動設(shè)備200上。另外,在本發(fā)明的范圍內(nèi)其它輸入/輸出設(shè)備可隨移動設(shè)備200附帶或發(fā)現(xiàn)。
依據(jù)本發(fā)明各個方面,建議自動檢索例句的系統(tǒng)和方法以輔助書寫和翻譯處理。本發(fā)明的系統(tǒng)和方法能在圖1和圖2所示的計算環(huán)境中實現(xiàn),也可以在其它計算環(huán)境中實現(xiàn)。依據(jù)本發(fā)明的例句檢索算法包括兩個步驟用加權(quán)檢索詞頻率倒置文件頻率(TF-IDF)方法選擇候選句子,然后通過加權(quán)編輯距離排列候選句子。圖3是說明實現(xiàn)這個方法的系統(tǒng)300的框圖。圖4是說明通用方法的框圖。
如圖3所示,在305處所示的查詢句子Q是系統(tǒng)的輸入。基于查詢句子305,句子檢索部件310用常規(guī)TF-IDF算法或方法從315處所示的例句集合D中選擇候選例句Di。輸入查詢句子的相關(guān)步驟405,以及從集合D中選擇候選例句Di的相關(guān)步驟406在圖4中展示。盡管TF-IDF方法在傳統(tǒng)的信息檢索(IR)系統(tǒng)中廣泛應(yīng)用,用作范例的實施方式中檢索部件使用的TF-IDF算法的討論在下文中給出。
在句子檢索部件310從集合315中選出候選例句后,加權(quán)編輯距離計算部件320為每個候選例句生成加權(quán)編輯距離。如以下更詳細描述,輸入查詢句子和候選例句之一之間的編輯距離被定義為將候選例句轉(zhuǎn)變?yōu)椴樵兙渥铀璧淖钚∵\算數(shù)。依據(jù)發(fā)明,在編輯距離的計算中不同的語言組成部分(POS)被分配不同的加權(quán)或分?jǐn)?shù)。排列部件325按編輯距離的次序重新排列候選例句。具有最低編輯距離值的例句被排列到最高。根據(jù)加權(quán)距離重新排列所選的或候選的例句的相關(guān)步驟在圖4的415處表示。該步驟可包括生成或計算加權(quán)編輯距離的子步驟。
1.用TF-IDF方法選擇候選句子如上關(guān)于圖3和4的描述,用在IR系統(tǒng)中普遍的TF-IDF方法從句子集合中選擇候選句子。下面的討論提供TF-IDF方法的一個例子,該方法可以由圖3中所示的部件310按圖4所示的步驟410使用。其它TF-IDF方法也可使用。
表示為D的例句的整個集合315由一些“文件”組成,每個文件實際上就是一個例句。采用常規(guī)的IR索引方法的一個文件(只包含僅僅一個句子)索引結(jié)果可以為表示如方程1所示的加權(quán)的向量。
方程1Di→(di1,di2,...,dim)其中dik(1≤k≤m)是文件Di的中檢索詞tk加權(quán),m是向量空間的大小,由集合中發(fā)現(xiàn)的不同檢索詞的數(shù)目決定。在例子實施方式中,檢索詞為英語詞語。一個文件中一個檢索詞的加權(quán)dik根據(jù)該檢索詞在文件中出現(xiàn)的頻率(tf——檢索詞頻率)以及其在整個集合中的分布(idf——倒置文件頻率)來計算。有多種計算和定義檢索詞加權(quán)的方法。在此,作為例子,我們采用方程2所示的關(guān)系方程2dik=[log(fik)+1.0]*log(N/nk)Σj[(log(fjk)+1.0)*log(N/nk)]2]]>其中fik是在文件Di中檢索詞tk的出現(xiàn)頻率,N是集合中文件的總數(shù),nk是包含檢索詞tk的文件數(shù)。這是在IR中最普遍的TF-IDF加權(quán)方案。
在TF-IDF加權(quán)方案中也是普遍的,查詢Q,即用戶輸入句子,也由類似的方法索引,為查詢獲得一個向量,如方程3所示。
方程3Qj→(qj1,qj2,...,qjm)其中查詢Qj的向量加權(quán)qjm(1≤k≤m)由方程2的關(guān)系類型決定。
文件集合中文件Di和查詢句子Qj之間的相似性Sim(Di,Qj)由他們的向量內(nèi)乘計算而得,如方程4所示。
方程4Sim(Di,Qj)=Σk(dik*qjk)]]>輸出是一組句子S,S如方程5所示定義為方程5S={Di|Sim(Di,Qj)≥δ}2.根據(jù)加權(quán)編輯距離重新排列句子集合S如上關(guān)于圖3和4的描述,從集合中所選候選例句集合S被從最短編輯距離到最長編輯距離重新排列,編輯距離與輸入查詢句子Q有關(guān)。下面的討論提供了一個編輯距離的計算算法的例子,該算法可以由在圖3所示的部件320中按圖4所示的步驟使用。其他編輯距離計算方法也可使用。
如所描述的,加權(quán)編輯距離方法被用于重新排列所選句子集合S。在句子集合S中給定一所選句子Di→(di1,di2,...,dim),在Di和Qj之間的編輯距離,表示為ED(Di,Qj),被定義為使列A和B兩串相等所需的檢索詞插入、刪減和替代的最小數(shù)。編輯距離,有時也指Levenshtein距離(LD),是兩串,源串和目標(biāo)串之間相似性的測量。距離代表將源串變換為目標(biāo)串所需的刪減、插入和替代的數(shù)。
ED(Di,Qj)特別定義為將Di轉(zhuǎn)變?yōu)镼j的最小運算數(shù),在此運算為其中之一1.改變一個檢索詞2.插入一個檢索詞,或3.刪除一個檢索詞然而,依照本發(fā)明可使用的編輯距離的另一個定義是將Qj轉(zhuǎn)變?yōu)镈i的最小運算數(shù)。
一個動態(tài)的程序算法被用來計算兩串的編輯距離。用動態(tài)程序算法,一個兩維的矩陣,m[i,j],被用來保持編輯距離數(shù)值,i從0至|S1|(其中|S1|是第一個侯選句子的檢索詞的數(shù))j從0至|S2|(其中|S2|是查詢句子的檢索詞的數(shù))。該兩維矩陣也可表示
。動態(tài)程序算法使用如下列偽碼中所描述的方法定義所包含的編輯距離值m[i,j]。
m[i,j]=ED(S1[1...i],S2[1...j])m
=0m[i,0]=i,i=1...|S1|m
=j(luò),j=1...|S2|
m[i,j]=min(m[i-1,j-1]+ifS1[i]=S2[j]then 0 else 1,m[i-1,j]+1,m[i,j-1],+1),i=1...|S1|,j=1...|S2|編輯距離值m[,]可以逐行計算。行m[i,]只依賴于行m[i-1,]。該算法的時間復(fù)雜度是O(|S1|*|S2|)。如果S1和S2根據(jù)檢索詞的數(shù)有相似的長度,例如n,復(fù)雜度為Q(n2)。依據(jù)本發(fā)明使用的加權(quán)編輯距離是指每個運算(插入、刪除或替代)的補償不總是等于1,如同在常規(guī)編輯距離計算技術(shù)的情況下,而是補償可以基于檢索詞的顯著性設(shè)置成不同的分?jǐn)?shù)。例如,上面的算法可以根據(jù)如表格1所示的語言的組成部分調(diào)整使用分?jǐn)?shù)表。
表1
因此,在下列問題中算法可以被修訂以考慮檢索詞的語言組成部分。
m[i,j]=ED(S1[1...i],S2[1...j])m
=0m[i,0]=i,i=1...|S1|m
=j(luò),j=1...|S2|m[i,j]=min(m[i-1,j-1]+if S1[i]=S2[j]then 0 else[score],m[i-1,j]+[score],m[i,j-1]+[score]),i=1...|S1|,j=1...|S2|例如,在算法的某些狀態(tài),對一個名詞來說如果需要做任何運算(插入、刪除),那么分?jǐn)?shù)為0.6。
S1和S2的編輯距離計算是個遞歸的過程。為計算ED(S1[1...i],s2[1...j]),我們需要從下列三種情形中的最小。
1)S1和S2都去掉尾詞(或其它編輯單元)——在矩陣中表示為m[i-1,j-1]+分?jǐn)?shù);2)只有S1去掉尾詞,S2保持——表示為m[i-1,j]+分?jǐn)?shù);3)只有S2去掉尾詞,S1保持——表示為m[i,j-1]+分?jǐn)?shù);對于情形1,分?jǐn)?shù)可以如此計算如果S1和S2的尾詞是相同的,那么分?jǐn)?shù)=0;否則,分?jǐn)?shù)為1;(成本是一個運算)//在加權(quán)的ED中,分?jǐn)?shù)是可變的??瓷厦嫣岬降谋砀?,例如名詞是不是0.6。
如提到的,為了計算遞歸過程,被稱為動態(tài)程序的方法可使用。
盡管展示了特殊的POS分?jǐn)?shù),在其它實施方式中語言不同組成部分的分?jǐn)?shù)在不同應(yīng)用中可以從表格1所示的那些值上被改變。因此,由TF-IDF方法所選的句子S={Di|Sim(Di,Qj)≥δ}按加權(quán)編輯距離ED被排列,并且一個有序列表T可以獲得T={T1,T2,T3,...,Tn},其中,ED(Ti,Qj)≥ED(Ti+1,Qj) 1≤i≤n其中T1至Tn是候選例句(也是以前所指的D1至Dn),且ED(Ti,Qj)是句子Ti和輸入查詢句子Qj之間的計算所得的編輯距離。
圖4所示的通用系統(tǒng)和方法的另一個實施方式在圖5框圖中表示。如圖5中505處所示的,輸入句子Qj作為查詢提供給系統(tǒng),用在本領(lǐng)域所知的類型的POS標(biāo)記給查詢句子Qj的語言的組成部分標(biāo)上標(biāo)記,在515處停止詞被從Qj中去除。在信息檢索領(lǐng)域中停止詞被認(rèn)為是不包含許多以信息檢索為目的信息的詞。這些詞一般是高頻率出現(xiàn)的詞,如“is”、“he”、“you”、“a”、“the”、“an”等等。去除它們可以提高程序的空間需求和效率。
如在520處所示,句子集合中每個句子的TF-IDF分?jǐn)?shù)由以上所描述或相似的方法獲得。具有超過門限δ的TF-IDF分?jǐn)?shù)的句子被選為候選例句用作提煉或修飾輸入查詢句子Q,或用作機器輔助翻譯處理。這在方框525處展示。然后,所選的候選例句如前面討論的那樣被重新排列。在圖5中,在530處說明計算每個所選句子和輸入句子之間的編輯距離“ED”,并在535處說明根據(jù)“ED”分?jǐn)?shù)排列候選句子。
盡管描述了本發(fā)明關(guān)于特殊的實施方式,本領(lǐng)域的普通技術(shù)人員會認(rèn)識到在不脫離本發(fā)明的精神和范圍下對形式和細節(jié)可以做出改變。例如,在本應(yīng)用中作為例子而表示的特別的TF-IDF算法可以用本領(lǐng)域知曉類型的算法改變或替換。同樣,在基于加權(quán)編輯距離重新排列的候選句子中,作為例子提供的算法之外的算法可以被采用。
權(quán)利要求
1.從句子集合中檢索例句的方法,其特征在于接收輸入查詢句子;用檢索詞頻率倒置文件頻率算法(TF-IDF)從句子集合中為查詢句子選擇侯選例句;以及基于所選侯選例句和輸入查詢句子之間的編輯距離重新排列所選侯選例句。
2.如權(quán)利要求1所述的方法,其特征在于,重新排列所選侯選例句還包括按將每個候選例句轉(zhuǎn)變?yōu)檩斎氩樵兙渥铀璧淖钚∵\算數(shù)的函數(shù)重新排列所選候選例句。
3.如權(quán)利要求1所述的方法,其特征在于,重新排列所選侯選例句還包括按將輸入查詢句子轉(zhuǎn)變?yōu)槊總€候選例句所需的最小運算數(shù)的函數(shù)重新排列所選候選例句。
4.如權(quán)利要求1所述的方法,其特征在于,重新排列所選侯選例句還包括基于所選候選例句和輸入查詢句子之間的加權(quán)編輯距離重新排列所選候選例句。
5.如權(quán)利要求4所述的方法,其特征在于,基于加權(quán)編輯距離重新排列所選侯選例句還包括為每個侯選例句計算獨立的加權(quán)編輯距離作為侯選例句中檢索詞的函數(shù);以及作為與侯選例句中檢索詞對應(yīng)的加權(quán)分?jǐn)?shù)的函數(shù),其中基于與侯選例句中對應(yīng)的檢索詞相關(guān)的語言的組成部分加權(quán)分?jǐn)?shù)具有不同的分?jǐn)?shù);以及基于為每個侯選例句計算所得的獨立的加權(quán)編輯距離重新排列所選侯選例句。
6.如權(quán)利要求5所述的方法,其特征在于,用TF-IDT算法從句子集合中為輸入查詢句子選擇侯選例句,還包括標(biāo)記與句子集合中的句子中的對應(yīng)的檢索詞相關(guān)的語言的組成部分;從輸入查詢句子中去除停止詞;以及為句子集合中每個句子計算TF-IDT分?jǐn)?shù)。
7.如權(quán)利要求6所述的方法,其特征在于,用TF-IDF算法從句子集合中為輸入查詢句子選擇侯選例句,還包括選擇句子集合中的那些TF-IDF分?jǐn)?shù)高于門限的句子作為侯選例句。
8.計算機可讀媒體具有為完成步驟的計算機可執(zhí)行指令,其特征在于接收查詢句子;用TF-IDF算法從句子集合中為查詢句子選擇侯選例句;以及基于所選侯選例句和輸入查詢句子之間的加權(quán)編輯距離重新排列所選侯選例句。
9.如權(quán)利要求8所述的計算機可讀媒體,其特征在于,重新排列所選侯選例句還包括按將每個候選例句轉(zhuǎn)變?yōu)檩斎氩樵兙渥铀璧淖钚∵\算數(shù)的函數(shù)重新排列所選候選例句。
10.如權(quán)利要求8所述的計算機可讀媒體,其特征在于,重新排列所選侯選例句還包括按將輸入查詢句子轉(zhuǎn)變?yōu)槊總€候選例句所需的最小運算數(shù)的函數(shù)重新排列所選候選例句。
11.如權(quán)利要求8所述的計算機可讀媒體,其特征在于,重新排列所選侯選例句還包括基于所選侯選例句子和輸入查詢句子之間的加權(quán)編輯距離重新排列所選侯選例句。
12.如權(quán)利要求11所述的計算機可讀媒體,其特征在于,基于加權(quán)編輯距離重新排列所選侯選例句還包括為每個侯選例句計算獨立的加權(quán)編輯距離作為侯選例句中檢索詞的函數(shù),以及作為與侯選例句中檢索詞對應(yīng)的加權(quán)分?jǐn)?shù)的函數(shù),其中基于與侯選例句中對應(yīng)的檢索詞相關(guān)的語言的組成部分加權(quán)分?jǐn)?shù)具有不同的分?jǐn)?shù);以及基于為每個侯選例句計算所得的獨立的加權(quán)編輯距離重新排列所選侯選例句。
13.如權(quán)利要求12所述的計算機可讀媒體,其特征在于,用TF-IDT算法為輸入查詢句子從句子集合中選擇侯選例句還包括標(biāo)記與句子集合中句子中對應(yīng)的檢索詞相關(guān)的語言的組成部分;從輸入查詢句子中去除停止詞;以及為句子集合中每個句子計算TF-IDT分?jǐn)?shù)。
14.如權(quán)利要求13所述的計算機可讀媒體,其特征在于,用TF-IDF算法從句子集合中為輸入查詢句子選擇侯選例句還包括選擇句子集合中的那些TF-IDF分?jǐn)?shù)高于門限的句子作為侯選例句。
15.從句子集合中檢索例句的系統(tǒng),其特征在于接收查詢句子的輸入;檢索詞頻率倒置文件頻率(TF-IDF)句子檢索部件,與輸入耦合的,該部件用TF-IDT算法為輸入查詢句子從句子集合中選擇侯選例句;加權(quán)編輯計算部件,與TF-IDF部件耦合的,該部件為每個侯選句子計算獨立的加權(quán)編輯距離作為侯選例句中檢索詞的函數(shù),以及作為與侯選例句中檢索詞對應(yīng)的加權(quán)分?jǐn)?shù)的函數(shù),其中基于與侯選例句中檢索詞相關(guān)的語言的組成部分加權(quán)分?jǐn)?shù)具有不同的分?jǐn)?shù);以及排列部件,與加權(quán)編輯計算部件耦合,該部件基于為每個侯選例句計算所得的獨立的加權(quán)編輯距離重新排列所選侯選例句。
全文摘要
提供一種方法和計算機可讀媒體從句子集合中檢索例句。收到輸入查詢句子,用檢索詞頻率倒置文件頻率算法從句子集合中為輸入查詢句子選擇候選例句?;谒x候選例句與輸入查詢句子之間的加權(quán)編輯距離所選候選例句被重新排列。也提供了實施該方法的系統(tǒng)。
文檔編號G06F17/27GK1471030SQ0314572
公開日2004年1月28日 申請日期2003年6月30日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者周明, 周 明 申請人:微軟公司