專利名稱:用于確定復合詞的構成詞的設備和計算機化方法
技術領域:
本發明涉及一種用于確定復合詞的構成詞的設備,所述設備包括文件收集,用于從所述文件收集確定包含所述復合詞的文件的數目的裝置,和用于從所述文件收集確定包含所述構成詞的文件的數目的裝置,所述構成詞構成所述復合詞。本發明還涉及一種結合這種設備和計算機化方法的信息檢索系統,用于確定復合詞的構成詞。
背景技術:
在許多語言中詞的復合是共同的,所述語言諸如德語、荷蘭語、丹麥語、希臘語、挪威語、瑞典語、冰島語和芬蘭語。因為復合詞可以自由地連接,所以這極大地增加了詞匯量。這些語言很可能包括非常長的詞,所述詞在任何語言詞典里都沒有。這種詞的典型的例子是德語復合詞“Abschreibungsmlichkeiten”。該復合詞是通過借助于鏈接語素“s”把兩個詞“Abschreibung”和“mglichkeiten”連接起來構造的。在隨后的發明的說明中,把復合詞分解為其構成詞和鏈接語素(如果有)被認為是復合詞的分段,或把復合詞的構成詞拆分為分離形式的詞,并且由用符號“+”,分離的字符串來表示;例如,把復合詞“Abschreibungsmlichkeiten”的分段表示為“Abschreibung+s+mglichkeiten”。可以使用諸如“-”或“es”之類的其它鏈接語素。
詞的復合是在這些語言中創建新詞的有效方式。這給許多應用帶來了難題,所述應用諸如機器翻譯、語音識別、文本分類、信息提取和信息檢索(CLEF 2001http//www.ercim.org/publication-/ws-proceedings/CLEF2/)。找到構成復合詞的構成詞被認為是一個難題。現有技術中已知基本上存在三種解決辦法。
第一種解決辦法是保存存在于語言中‘所有’復合詞的列表和應該拆分所述復合詞的方式。缺點是不可能保存語言中所有復合詞的列表,這是因為在復合詞語言中幾乎存在無限量的復合詞。為此原因,這種解決方案的精度很低并且該方法冗長乏味的。所述方法應用于一種語言。
第二種解決辦法是簡單的;根據規則,有時組合說明何時拆分的統計量,查找構成所述復合詞的構成詞。這里的問題是該方法常常把復合詞拆分為并不存在的詞,或者拆分成與所述復合詞的意思不相關的詞組合。這對于通常情況的復合詞有效,但是并不可靠。所述方法應用于一種語言。
第三種也是最后一種解決辦法使用數字詞典。根據詞典以及一些規則來進行構成所述復合詞的構成詞的查找。在US20030097252A1的用于找到復合詞的構成詞的方法中公開了該最后解決辦法的例子。找到所述構成詞是基于一組復合詞概率斷點的。根據對得自于適當詞典的n圖的分析,把斷點權重分配給在所述復合詞中的斷點。該方法將找到在復合詞內的詞。其主要缺點是可能會出現錯誤的詞拆分。
發明內容
為了克服現有技術的缺點,本發明的目的是確定復合詞的構成詞。這是通過依照開篇段中的方法實現的,其中所述方法還包括用于確定在包含所述復合詞的文件的數目和包含構成所述復合詞的構成詞的文件的數目之間的比率的裝置,和用于當所述比率小于閾值時把所述復合詞拆分為所述構成詞的裝置。
該方法是基于以下觀察的,當在包含復合詞的文件的數目和包含構成所述復合詞的構成詞的文件的數目之間的比率小于閾值時,正確地把所述復合詞拆分為中意的構成詞。
在又一個實施例中,依照本發明的設備包括用于檢測所述復合詞中的鏈接語素的裝置。在所述復合詞中檢測鏈接語素對找到所述構成詞來說是必要的。
在又一個實施例中,依照本發明的設備包括從所述文件收集導出的詞列表、和用于通過使用所述詞列表來找到構成所述復合詞的構成詞的裝置。當詞列表被推理地準備為包含所述文件收集的所有詞時,檢測構成所述復合詞的構成詞更為高效。
在下一實施例中,依照本發明的設備包括從所述文件收集導出的詞列表、和用于從所述詞列表確定包含所述復合詞的文件的數目的裝置。具有如下的詞列表是高效的,從此詞列表可以導到包含所述復合詞的文件的數目。
在下一實施例中,依照本發明的設備包括從所述文件收集導出的詞列表、和用于從所述詞列表來確定包含所述構成詞的文件的數目的裝置,其中所述構成詞構成所述復合詞。具有如下詞列表是高效的,從此詞列表可以導到包含所述構成詞的文件的數目,其中所述構成詞構成所述復合詞。
在下一實施例中,依照本發明的設備被并入信息檢索系統。用戶輸入搜索項并且如果該項是復合詞,把它拆分為它的構成詞并且為該構成詞執行搜索。這樣操作者可以創建搜索,通過該搜索可以找到包含所述構成詞的所有文件,其中所述構成詞遵守構成復合詞的拆分判定準則。
在下一實施例中,根據所述文件收集來選擇依照本發明的設備和所述閾值。這使根據所使用的文件收集來選擇所述閾值成為可能。這優化了對復合詞的拆分。
在又一個實施例中,依照本發明的設備并且所述閾值是3。對于荷蘭語文件收集這被認為是最優的閾值。
在又一個實施例中,依照本發明的設備,并且所述復合詞和構成詞屬于語法上的名詞類別。
在又一個實施例中,依照本發明的設備包括詞列表,所述詞列表包括每個名詞的單數和復數形式。這使得可以找到構成復合詞的所有構成詞。
現在參考本發明的下列例示的實施例,并且參考附圖來解釋本發明。
這些實施例用來舉例說明本發明而不應該被認為是限制本發明。
參考附圖將詳細解釋本發明,其中圖1是依照本發明設備的實施例的框圖;圖2是依照本發明搜索引擎和文件數據庫的實施例的框圖;圖3是拆分復合判定模塊的實施例的流程圖;圖4是用于找到復合詞的構成詞的方法的實施例的流程圖;圖5是表1和2的實施例;圖6是詞列表的例子的實施例;和圖7示出了復合詞“basketbalkampioenschappen”的中間結果的方法的實施例。
具體實施例方式
圖1舉例說明了依照本發明的信息檢索系統的實施例,所述信息檢索系統諸如文件管理系統或網絡搜索系統。
文件管理系統包括操作者控制臺101、搜索引擎前端104、搜索引擎105和文件數據庫106。依照本發明所述操作者控制臺提供了系統的用戶界面。其具有顯示器102和例如鍵盤103之類的數據輸入裝置103。搜索引擎前端104把從所述操作者控制臺接收的所有數據轉換為將由所述搜索引擎執行的搜索。搜索引擎105在所述數據庫上執行搜索并且注意向提交者返回搜索結果。數據庫106包含了用于搜索的文件。
所述系統可以有多種變化。在第一變式中,圖1的所有組件可以被并入個人計算機。在下一變式中,搜索引擎105、搜索引擎前端104和文件數據庫106包括在服務器中,具體化為工作站的許多操作員控制臺101可以作為客戶端訪問所述服務器并且使用作為訪問裝置的瀏覽器來訪問所述服務器。
圖2給出了依照本發明的搜索引擎105和文件數據庫106的實施例。文件收集可以包含任何形式的書面信息,諸如報告、報紙文章和網頁。在實際搜索過程開始之前,借助于例如語義網絡202來收集文件收集201的所有詞并且將其按次序置于詞列表203中。對于自動翻譯或信息檢索,通過只考慮存在于文件收集的所述詞可以獲得更好的結果。從所述文件收集來收集所有詞并且依照有序形式把這些詞置于詞列表來完成此事。
當搜索引擎105接收來自搜索引擎前端104的搜索時搜索過程開始。包含T項搜索的例子是t1與t2與...與tT,其中項ti是來自使用項組的項;ti∈(t1,...,tT)。項可以是任何詞。在項之間可以使用任何邏輯運算符,諸如與(AND)、或(OR)以及非(NOT)。本領域內技術人員將理解所述搜索由T項組成,其中T至少為一。本領域內技術人員將理解本發明的實施例能夠處理所述搜索內的一個或多個項。
拆分復合判定模塊204為在搜索內的每一項判定所述項是否包含構成詞,其中所述構成詞應該以分離形式在所述搜索中加以應用。
拆分復合判定模塊204的結果是修改的搜索,其以分離形式包含了復合詞的構成詞。檢索和分級文件模塊205使用此修改的搜索和詞列表來獲取文件參考以便計算每個文件參考的相關得分,把所找到的文件參考分級并且把具有它們相關得分的分級的文件參考傳遞到搜索引擎前端103。
圖3給出了依照本發明的拆分復合判定模塊204的實施例。所述拆分復合判定模塊204決定一個搜索的每項ti,而不管所述項是否是復合詞并且不管是否把構成詞拆分為獨立的詞。從開始位置301開始,在步驟302把所述項計數器i設置為值1。在步驟303,確定項ti是否包含構成所述項ti的構成詞。所述構成詞從詞列表204導出。幾個不同的構成詞組合可以存在構造相同的復合詞,每個組合被稱作構成詞集。使用所述詞列表來找到構成所述復合詞的詞組合。當找到構成詞時,步驟303(Y),在步驟304把構成詞集計數器j初始化為值1。下一步驟305確定包含復合詞ti的文件的數目。該功能被稱作DT(i)。步驟305確定包含構成詞集j的文件的數目,稱作DP(i,j)。借助于所述詞列表可以找到DT(i)和DP(i,j)的函數結果,如稍后將要表明的。在步驟306,為每第j個構成詞集評估拆分判定準則DT(i)<3*DP(i,j)。當符合DT(i)<3*DP(i,j)(Y)時,在步驟307把構成詞集j拆分為分離形式的詞,所述構成詞集j構成所述復合詞ti。當在步驟306不符合DT(i)<3*DP(i,j)(N)時,所述過程繼續至步驟308。為每一項ti評估拆分判定準則并且最后將產生修改的搜索。在步驟308,構成詞集計數器值j加一,并且在步驟309評估是否處理所有的構成詞集。當不是所有的構成詞集被處理(N)時,為下一構成詞集j在步驟305繼續該方法。當處理了所有的構成詞集(Y)時,在步驟310把所述項計數器值i加一。當在步驟303沒有找到構成復合詞的構成詞(N)時,同樣在步驟303延續。在下一步驟311中,評估是否處理了所有的項ti。當不是所有的項ti都被處理之時,所述方法繼續至步驟303。當處理了所有的項ti(Y)時,所述方法在步驟312停止。
本領域內技術人員將理解本發明的實施例能夠處理在所述搜索內的一個或多個項并且能夠拆分所述項,所述項是符合步驟306的拆分判定準則的構成詞。把現有詞結合起來創建復合詞。當結合詞時,可以把鏈接語素字母插入在連接處。因為沒有關于何時可以插入這種鏈接語素字母的簡單規則,所以必須在任意兩個詞之間檢查。對于德語復合詞,使用“s”和“es”作為鏈接語素。對于荷蘭語,允許“s”作為鏈接語素。
圖4示出了用于找到構成所述項ti的構成詞的方法(步驟303)的實施例的流程圖。圖4的實施例一般用于荷蘭語,因此只考慮鏈接語素“s”。本領域內技術人員將理解對于其它復合語言,可以檢查其它的鏈接語素和一個以上的鏈接語素并且它們相應地起作用。所述方法以步驟401開始。在步驟402,把項ti拷貝到字符串w1L中,其中L描述了項ti字符的總數。接下來初始化詞字符開始位置s為1,詞等級計數器值為1,標志為“假”,在詞等級上潛在詞的最后字符位置c(level=0)為值0,并且詞字符末尾位置值c(level=1)為值2。當在步驟403字符串WSL的倒數第二個字符沒有到達字符位置c(level),這樣L-c(level)≥2(Y)時,步驟404通過查閱詞列表來評估作為詞的字符串WSc(level)。當WSc(level)不是詞(S404;N)時,在步驟408所述詞字符末尾位置值c(level)加一。當WSc(level)是詞(S404;Y)時,在步驟405把所述詞存儲為實際詞等級上的存儲詞。例如首先找到的詞WSc(level),因此所述等級為等級1,存儲在存儲詞(level=1)中。此后把等級值更新為下一詞等級,并且在新的等級c(level)值上的字符位置值被初始化為c(level-1)。在下一步驟406中,確定狀況值,其是稍后將要更詳細地解釋的八種狀況之一,現在繼續至步驟407。在步驟407,根據所述狀況值和標志值,執行一些動作,諸如使詞字符開始位置s和詞字符末尾位置c(level)適合于新的字符位置并且可能找到和存儲一個詞,稍后會詳細解釋。在步驟407之后,所述方法繼續至步驟403。當在步驟403中到達字符串WSL的倒數第二個字符,這樣L-c(level)<2(N)時,所述方法繼續至步驟409。步驟409結果為是,并且當所述標志狀態為“真”時繼續至步驟407(Y)。例如當完成試圖拆分詞WLc(level)+1時就是這種情況,所述過程必須繼續試圖拆分詞WLc(level)+2。此后所述標志將變為“假”并且步驟409產生否(N)并且將繼續至步驟410,其中所述詞等級減一。在步驟411檢查是否評估了所有詞等級來找到另一個詞。當所述詞等級>0(S411;Y)時,所述過程通過在步驟412首先把詞字符末尾位置值c(level)加一來繼續把所述字擴展為另一個詞,并且用c(level-1)+1來更新所述詞字符開始位置值s,并且所述過程繼續至步驟403。當在擴展為另一個詞的詞上評估所有詞等級(N)時,其在步驟411被檢查,在步驟413檢查是否找到構成ti的構成詞并且此后所述方法在步驟413結束。
圖5詳細地示出了表1和表2的內部的實施例。在表1(S406)中四個判定準則確定所述狀況值。所述判定準則是標志狀態(真或假),余項WLc(level)+1是word(是或否),字符位置Wc(level)+1c(level)+1是“s”(是或否),并且余項WLc(level)+2是詞(是或否)。在表1的第5欄中示出了所分配的狀況值。當所述標志值是真時,沒有狀況值被更新,如在最后行的最后單元中所描述。此后把最后更新的狀況輸入表2(S407)。在表2(S407)中,兩個判定準則確定所要求的動作狀況值(∈{1,2...,8})和標志狀態(是或否)。表2的判定準則“標志”與表1的判定準則“標志”相同。在圖5的表2中指示符CONSTITUENT()表明把找到的、構成所述復合詞的構成詞{word(h)h=1h=level}集作為一個集增加到構成詞集列表。這里給出例子;當用狀況=1并且標志=假輸入表2時,執行下列動作使所述標志為真(以便稍后能拆分WLc(level)+2,把詞WLc(level)+1拷貝到存儲詞(等級)中并且把所述構成詞(作為一個集)作為集增加到構成詞集列表,此后把所述詞WLc(level)2拷貝到存儲詞(等級)中并且把所述構成詞作為一個集增加到所述構成詞集列表。此后把字符位置值c(level)+2和c(level)+3分別存儲在輔助常量“sf”和“cf”中以便稍后使用(用于在首先試圖拆分詞WLc(level)+1之后把所述詞WLc(level)+2拆分為兩個詞),并且分別用c(level)+1和c(level)+2來更新字符位置值s和c(level),然后所述方法離開表以便繼續至步驟403來試圖把詞WLc(level)+1拆分為兩個詞。
例子為了舉例說明所述系統的工作,將要給出確定構成詞的一些例子,所述構成詞滿足在復合詞內的拆分判定準則。
例子1在第一例子中,所述搜索包含荷蘭語項ti,其中i=1,“basketbalkampioenschappen”。英語翻譯是“籃球錦標賽”。拆分復合判定模塊(202)將借助于包括從所述文件收集導出的所有名詞的詞列表來找到所有構成名詞,所述構成名詞構成所述復合詞。圖6的詞列表被用作為例子,其中所述詞列表的第一欄包含按字母順序在文件收集中所有可用的名詞。第二欄為每個名詞包含來自所述文件收集的所有文件參考,所述文件參考包括該名詞。第三欄包含來自所述文件收集且包含此名詞的文件的數目。所述詞列表的實施例可以只包含前兩欄。第三欄可以從第二欄得出。本領域內技術人員將理解可以用附加信息擴展所述詞列表,所述附加信息諸如第三欄,或包括諸如動詞之類的其它詞類型,以及可以用名詞指示符來指示所述名詞。本領域內技術人員根據圖6將理解包含復合詞ti(第一欄)的文件的數目(第三欄)可以從所述詞列表得出。
對于該例子,第一主步驟(S303)通過使用圖6的詞列表(205)來確定所有構成詞的可能性,其被稱為構成“basketbalkampioenschappen”的集。對于荷蘭語復合詞“basketbalkampioenschappen”,所述拆分復合判定模塊(202)找到8個構成名詞集。在圖7中,所有8個找到的構成詞集都在第二欄中給出。在圖7的第二行的第二單元中示出了找到的構成詞“basketbal”+“kampioenschappen”的第一集(j=1)。在步驟305,確定包含所述復合詞ti“basketbalkampioenschappen”的文件的數目DT(i)。語義網絡模塊(206)在所述文件收集(207)內的任何文件中都沒有找到所述復合詞“basketbalkampioenschappen”。在圖6的詞列表的第一欄中,沒有可用的復合詞“basketbalkampioenschappen”,所以DT(i)=0。在步驟305中的下一動作是確定包含所有構成詞集j的文件的數目DP(i,j)。可以從在圖6中描述的詞列表得出在一個文件內包含以分離形式的構成詞的文件的數目DP(i,j=1)。所述詞列表表明名詞“basketbal”用于文件參考[1]到[8]并且名詞“kampioenschappen”用于文件參考[1]到[6]和[9]。從所述詞列表可以得出這兩個名詞都在文件參考[1]到[6]中使用,因此DP(i,j=1)=6。對于7個其余的構成詞集作相同的事情結果是DP(i,j)=0。在圖7中的第四欄給出了DP(i,j)值。在步驟306,評估每個構成詞集j的拆分判定準則DT(i)<3*DP(i,j)。在圖7的欄5中給出了此評估的結果。只有第一(j=1)構成詞集滿足此準則。對于此例子,只有構成詞“basketbal”+“kampioenschappen”符合該拆分準則并且在步驟307被拆分為分離形式“basketbal”、“kampioenschappen”。對于該例子在圖7的欄6中給出了步驟307的結果。
在不使用拆分復合判定模塊的情況下把搜索項“basketbalkampioenschappen”的使用應用到搜索引擎(105)上導致沒有修改的搜索,以致不能從所述文件收集中找到任何相關的文件。但是當把所述拆分復合判定模塊應用到搜索項“basketbalkampioenschappen”時,所修改的搜索將是例如(“basketbal”與“kampioenschappen”)但是例如以下也是有效的(“basketbal”與“kampioenschappen”)或“basketbalkampioenschappen”。
所修改的搜索結果借助于圖6的詞列表可能導致下面找到的相關文件[1]、[2]、[3]、[4]、[5]和[6]。
例子2這里給出了怎樣用步驟303發現復合詞ti的構成詞的荷蘭語的例子。所述詞的英語翻譯是“course of life(生命的歷程)”。
復合詞=W110=L E V E N S L O O P字符位置= 1 2 3 4 5 6 7 8 9 10可以識別在尋找構成詞期間的幾個事件并且已經在表1中描述。注意所述詞列表沒有定義“levens”。英語翻譯是“life(生命)”。
表1
用下列事件狀態把表1的事件放入表2(名詞)等級,名詞開始位置s,和對于兩個等級c(level=1)和c(level=2)的詞字符末尾位置c(level)。
表2
例子3給出了另一例子。
復合詞=W117=A L P E N V E R K E E R S P L A N字符位置= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17可以識別在尋找構成詞期間的幾個事件并且已經在表3中描述。
注意所述詞列表沒有包含名詞“verkeersplan”(英語“trafficplan”)。
表3
在表4中給出了下列事件狀態名詞等級,名詞開始位置s,和對于三個等級c(level=1)、c(level=2)和c(level=3)的詞字符末尾位置c(level)。
表4
本發明被這樣描述了,可以采用多種方式來改變相同的特征是顯而易見的。不能把這種變化認為是對本發明精神和范圍的偏離,對技術人員來說顯而易見的所有的這種修改都意在包括在下列權利要求的范圍內。
權利要求
1.用于確定復合詞的構成詞的設備,包括文件收集;用于從所述文件收集確定包含所述復合詞的文件的數目的裝置;和用于從所述文件收集確定包含構成詞的文件的數目的裝置,所述構成詞構成所述復合詞,其特征在于,所述設備還包括用于確定在包含所述復合詞的文件的數目和包含所述構成詞的文件的數目之間比率的裝置,其中所述構成詞構成所述復合詞,和用于當所述比率小于閾值時把所述復合詞拆分為所述構成詞的裝置。
2.如權利要求1所述的設備,其特征在于,所述設備包括用于檢測所述復合詞中的鏈接語素的裝置。
3.如權利要求1所述的設備,其特征在于,所述設備包括從所述文件收集導出的詞列表和用于通過使用所述詞列表來找到所述構成詞的裝置。
4.如權利要求1所述的設備,其特征在于,所述設備包括從所述文件收集導出的詞列表和用于從所述詞列表確定包含所述復合詞的文件的數目的裝置。
5.如權利要求1所述的設備,其特征在于,所述設備包括從所述文件收集導出的詞列表和用于從所述詞列表確定包含所述構成詞的文件的數目的裝置,其中所述構成詞構成所述復合詞。
6.如權利要求1所述的設備,其特征在于,所述閾值取決于所述文件收集。
7.如權利要求1所述的設備,其特征在于,所述閾值是3。
8.如權利要求1-7所述的設備,其特征在于,所述復合詞和構成詞屬于語法類別上的名詞。
9.如權利要求8所述的設備,其中所述詞列表包括每個名詞的單數和復數形式。
10.一種信息檢索系統,其特征在于,所述系統包括用于輸入包括詞的搜索項的裝置,用于拆分所述詞的裝置,這些裝置并入了依照先前權利要求任何一個所述的設備并且遞送構成詞,和用于執行把所遞送的構成詞作為搜索項的搜索的裝置。
11.一種用于確定復合詞的構成詞的計算機化方法,包括如下步驟從文件收集確定包含復合詞的文件的數目,以及從文件收集確定包含所述構成詞的文件的數目,其中所述構成詞構成所述復合詞,其特征在于,確定在包含所述復合詞的文件的數目和包含所述構成詞的文件的數目之間的比率,其中所述構成詞構成所述復合詞,以及當所述比率小于閾值時把所述復合詞拆分為所述構成詞。
12.如權利要求11所述的計算機化方法,其特征在于,所述計算機化方法包括檢測所述復合詞中的鏈接語素。
13.如權利要求11所述的計算機化方法,其特征在于,所述計算機化方法包括通過使用所述詞列表來找到所述構成詞。
14.如權利要求11所述的計算機化方法,其特征在于,所述計算機化方法包括從所述詞列表確定包含所述復合詞的文件的數目。
15.如權利要求11所述的計算機化方法,其特征在于,所述計算機化方法包括用于從所述詞列表確定包含所述構成詞的文件的數目的裝置,其中所述構成詞以分離形式構成所述復合詞。
16.如權利要求11所述的計算機化方法,其特征在于,包括由操作者輸入搜索的步驟。
17.如權利要求11所述的計算機化方法,其特征在于,包括根據所述文件收集來選擇閾值的步驟。
18.如權利要求11所述的計算機化方法,其特征在于,所述閾值是3。
19.如權利要求11-18所述的計算機化方法,其特征在于,所述復合詞和構成詞屬于語法類別上的名詞。
20.如權利要求19所述的計算機化方法,其特征在于,所述詞列表包括每個名詞的單數和復數形式。
21.一種用于信息檢索的計算機化方法,其特征在于,所述方法包括如下步驟輸入包括詞的搜索項,依照如權利要求11-20所述的方法拆分所述詞,遞送構成詞,以及執行把所遞送的構成詞作為搜索項的搜索。
22.一種包括代碼裝置的計算機程序,當在計算機上執行所述代碼裝置時,所述計算機執行權利要求11的所有步驟。
全文摘要
一種用于確定復合詞的構成詞的設備、計算機程序和計算機化方法。構成詞構成復合詞。當所述構成詞符合拆分判定準則時,可以以分離形式使用所述構成詞。在搜索中使用所述構成詞的分離形式以便從所述文件收集中檢索相關的文件。
文檔編號G06F17/27GK1677402SQ200510062978
公開日2005年10月5日 申請日期2005年3月31日 優先權日2004年3月31日
發明者S·J·德里伊斯森, P·M·伊金 申請人:奧西-技術有限公司