專利名稱:通過任意國家語言的查詢來檢索匹配的文檔的制作方法
技術領域:
本發(fā)明涉及使用用戶輸入的搜索關鍵詞項搜索數(shù)據(jù)庫的領域。更具體地,本發(fā)明涉及用于搜索包含不同語言文檔的數(shù)據(jù)庫的系統(tǒng)和方法,其中使用一種數(shù)據(jù)庫語言輸入搜索項,并且識別出適用的不同語言的數(shù)據(jù)庫文檔。
背景技術:
現(xiàn)已提出了各種方法用于搜索包括多種語言內(nèi)容的數(shù)據(jù)庫。一種方法是將整個數(shù)據(jù)庫轉(zhuǎn)換成輸入搜索項的語言或用戶的語言。然而,對于很大的數(shù)據(jù)庫,這涉及大量的轉(zhuǎn)換(并且如果該數(shù)據(jù)庫被不同語言的用戶所使用,則涉及多種轉(zhuǎn)換)。此外,每次轉(zhuǎn)換文檔的過程都可能丟失(或歪曲)原始文本的某些含義。另一種方法是使用上述共同未決申請中描述的同義詞或關鍵詞字典。該共同未決申請的系統(tǒng)包括雙向同義詞或關鍵詞字典,其允許在第一語言和其它語言之間轉(zhuǎn)換關鍵詞。文檔的轉(zhuǎn)換后的關鍵詞被存儲在倒排索引中,該倒排索引然后用于或者以選定的語言、第二語言或者以所有語言進行搜索,這可以由用戶決定。多種搜索和轉(zhuǎn)換后的同義詞字典的使用避免了需要轉(zhuǎn)換整個文檔,并且避免了由于轉(zhuǎn)換整個數(shù)據(jù)庫造成的上述偏差。然而,執(zhí)行和分析此類搜索可能要花費很長時間,這妨礙了用戶交互地修改搜索以便獲得有意義的結(jié)果。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,通過使用搜索引擎減少了搜索時間,所述搜索引擎包括雙向倒排索引工具,該工具可以由多種語言中一種語言的關鍵詞搜索來訪問,并且該工具提供了所包含的所有這些語言的文檔的列表。所有所支持的語言的關鍵詞最好儲存在倒排索引查找表內(nèi),該查找表交叉引用了包含所述關鍵詞的那些語言的文檔。當查詢一種語言的關鍵詞時,可以一起訪問具有相同含義的不同語言的該關鍵詞。包含該表的搜索引擎可以或者以選定的語言、第二語言或者以所有語言識別相關文檔,這可以由用戶決定。每個文檔的信息不僅包括該文檔的標識,而且還包括用于將文檔排序的信息,例如關鍵詞在該文檔中出現(xiàn)的次數(shù)以及關鍵詞與其它關鍵詞的近似程度。通過消除對轉(zhuǎn)換關鍵詞、在文檔中標識關鍵詞以及在搜索運行時收集排序信息的需要,倒排索引表的使用由此減少了搜索時間,并且避免了文檔的全文轉(zhuǎn)換可能產(chǎn)生的偏差。
因此,本發(fā)明的一個目的是提供一種改進的用于多語言文檔的搜索引擎。
本發(fā)明的另一目的是減少轉(zhuǎn)換關鍵詞和查找包含這些關鍵詞的文檔的運行時間。
本發(fā)明的再一目的是允許以任何支持語言的關鍵詞來搜索數(shù)據(jù)庫以查找以該種或任何其它所支持的語言編寫的文檔。
以上已經(jīng)說明了本發(fā)明的一些目的和優(yōu)點,通過結(jié)合附圖閱讀以下對本發(fā)明的說明,本發(fā)明的其它目的和優(yōu)點對于本領域的技術人員來說將是顯而易見的,其中圖1是其中存在兩種不同語言文檔的傳統(tǒng)搜索技術的示意圖;
圖2是本發(fā)明改進的多語言文檔數(shù)據(jù)庫索引系統(tǒng)以及倒排索引表的示意圖;圖3是將一種語言的關鍵詞與它們在其它語言中的對應部分關聯(lián)并標識包含所查詢關鍵詞的所有這些語言的文檔的本發(fā)明索引表的示意圖;圖4是同義詞表的一部分的示意圖;圖5是本發(fā)明的多語言數(shù)據(jù)庫搜索系統(tǒng)的示意圖;圖6是可用于向引入本發(fā)明的搜索系統(tǒng)輸入搜索查詢的計算機顯示屏的一部分的示意圖;圖7是示出了執(zhí)行示例邏輯以實施本發(fā)明的流程圖;以及圖8是與本發(fā)明一起使用的網(wǎng)絡的示意圖。
具體實施例方式
圖1示出了傳統(tǒng)的搜索系統(tǒng),其中英語(第一語言)文檔以標號102表示,第二語言例如國家語言(NL)的文檔以標號122表示。雖然分別維護每組文檔,但都是通過提取關鍵詞并創(chuàng)建索引的過程為每組文檔建立索引,其由用于英語文檔102的方塊104和用于第二語言文檔122的方塊124表示。下一步是對每組文檔執(zhí)行倒排索引,英語的倒排索引用方塊106表示,第二語言的倒排索引用方塊126表示。然后,格式化搜索或查詢并將其應用到一個選定數(shù)據(jù)庫,方塊108表示英語查詢,方塊128表示國家語言查詢。英語查詢的結(jié)果用方塊110表示,國家語言的查詢結(jié)果用方塊130表示。因此,對每個數(shù)據(jù)庫分別執(zhí)行諸處理步驟,所述步驟包括在方塊112索引文檔、在方塊114創(chuàng)建倒排索引和在方塊116執(zhí)行搜索并提供輸出。
所述諸步驟都是相同的,與數(shù)據(jù)庫無關,每個數(shù)據(jù)庫保持獨立并單獨搜索每個數(shù)據(jù)庫,每個數(shù)據(jù)庫生成獨立的結(jié)果。由于同樣的結(jié)構可以應用于任意數(shù)目的獨立數(shù)據(jù)庫,該系統(tǒng)可以擴展以支持所需數(shù)目的語言。然而,某些技術文檔是用本國語言(例如西班牙語)編寫的,但使用了來自另一語言的技術術語(例如,來自英語)。在這樣的系統(tǒng)中,如果搜索項是以另一語言被包括在文檔中,搜索國家語言數(shù)據(jù)庫以尋找該搜索項的國家語言等同項將不會查找到該搜索項。同樣在這樣的系統(tǒng)中,搜索國家語言可能不會發(fā)現(xiàn)以多種不同語言處理搜索主題的文檔。
圖2示出了一種用于將不同語言文檔中的關鍵詞合并為圖3所示的單一的擴充的關鍵詞索引表的系統(tǒng)。如圖2所示,數(shù)據(jù)庫200中任意語言(比如,英語)的文檔由標號202表示。通過使用爬行器(crawler)離線識別來自數(shù)據(jù)庫中每個文檔的關鍵詞,爬行器204為提取器206掃描文檔,提取器206識別文檔文本中的關鍵詞。然后使用關鍵詞轉(zhuǎn)換器208將提取出的英語關鍵詞轉(zhuǎn)換為其它支持的語言,以便創(chuàng)建所有支持語言的具有相同含義的關鍵詞的擴充的倒排索引210。最好使用關鍵詞字典212完成關鍵詞的轉(zhuǎn)換,以便為圖3的索引形成同義詞列表,所述關鍵詞字典212包含與在其它國家語言中具有相應含義的關鍵詞關聯(lián)的英語關鍵詞,所述同義詞列表有效地在每種所支持的語言的關鍵詞中列出了每個關鍵詞,以及其在其它支持的語言中的相應含義。為了管理各種語言,建議使用統(tǒng)一字符編碼(Unicode)系統(tǒng)(UTF8)轉(zhuǎn)換每個關鍵詞,雖然也可以使用任何其它準確而可靠的系統(tǒng)以有助于本發(fā)明。盡管對以英語作為一種用于針對關鍵詞來查詢文檔的語言進行了說明,但是本發(fā)明并不限于以英語針對關鍵詞來查詢文檔。任何所支持的語言En、NL1、…NLi…NLn都可以用于在文檔中查找使用英語沒有查找到的關鍵詞。
圖3示出了圖2中的擴充的索引表210的更詳細的視圖。使用結(jié)合圖2說明的方法從文檔D1到Dn中提取英語關鍵詞K1到Kn。如上所述得到所有支持的國家語言的相應關鍵詞,以便對于每個英語關鍵詞Ki,每種支持的語言都存在同義關鍵詞。如圖3所示,X表示其中出現(xiàn)一個或多個所列出關鍵詞的文檔D1到Dn。因此,如圖所示,關鍵詞K1以英語出現(xiàn)在文檔D1和Dj中,具有相同含義的關鍵詞K11和K12以國家語言NL1和NL2出現(xiàn)在這些文檔中。類似地,同義關鍵詞Ki1和Ki2出現(xiàn)在文檔D2中,其可以用國家語言NL1和NL2得到,但是不能用英語得到。同義關鍵詞Kn和Kn2出現(xiàn)在文檔Dj中,其可以用英語和國家語言NL2得到,但是不能以國家語言NL1得到。儲存在標記有X的每個位置中的是排序因子信息,例如,單詞在該文檔中出現(xiàn)的次數(shù),其與出現(xiàn)在該文檔中的其它關鍵詞的近似程度;包含該關鍵詞的文檔的類型(即,技術文檔或廣告)等。然后使用該信息相對于搜索所找到的其它文檔對每個文檔進行排序。
當以支持的任意語言的關鍵詞查詢圖3中的表時,將識別包含與查詢中關鍵詞具有相同含義的關鍵詞的任意語言文檔并提供它們的排序信息。例如,假設查詢包含關鍵詞Ki和Kn,則文檔D2和Dj以及Dn將以其可用的語言被識別出來。因此,對于文檔D2,該文檔將被識別為英語和國家語言NL1和NL2可用,而文檔Dj將為國家語言NL1和NL2可用。隨著或是由標題或是由歸檔號碼對文檔進行識別,將向文檔排序算法提供所儲存的排序因子信息,所述文檔排序算法諸如2002年4月10日申請的美國共同未決專利No.10/120.071中所示,在此引入作為參考。
圖4示出了可用于產(chǎn)生圖3中的擴充的倒排索引的關鍵詞同義詞表400的一部分。該表包括多個列,每列與支持的不同語言關聯(lián)。如圖所示,這些支持的語言是列410中的英語、列420中的西班牙語、列430中的法語以及列440中的意大利語。還示出了另一列450,其用于任何其它支持的語言諸如德語或日語,當然應當認識到,某些語言具有不同于英語的字符類型,并且某些語言具有如此多的不同符號,以至于可能需要使用雙字節(jié)字符集來表示這些語言中的某些語言,例如日語。圖4的行中示出了兩組同義詞,一組與行460中的英語單詞“network”關聯(lián),一組與行470中的英語單詞“processor”關聯(lián)。實際上,同義詞表400可以具有期望的由標號490表示的其它列(或如果支持較少的語言,可以有更少的列,選擇支持的語言只是設計選擇,不是本發(fā)明的特征)并且如標號480所示,每個關鍵詞都有一行。重要的是應注意到每一項都與一種語言關聯(lián),以便可以將單詞與其語言關聯(lián)并將西班牙語單詞網(wǎng)絡(red)與英語單詞的顏色紅色區(qū)分開(如果需要)。雖然為了理解同義表的概念以表格的形式示出了該表,但是根據(jù)傳統(tǒng)的數(shù)據(jù)處理技術,該表可以在存儲裝置中以其它已知的格式存在。
圖5示出了結(jié)合有本發(fā)明的搜索系統(tǒng)。支持的任意語言的查詢510被輸入到搜索引擎520,并被傳遞給結(jié)合圖2和圖3說明的擴充的關鍵詞倒排索引210。索引210支持多種語言并且允許將關鍵詞查詢轉(zhuǎn)換成任意支持的語言。在英語查詢的情況下,使用語言關鍵詞5301和其它支持語言的語言關鍵詞5302到530n中的列表將該查詢應用于倒排索引210。這產(chǎn)生了英語語言命中列表5401和國家語言命中列表5402到540n。然后用戶可以選擇其感興趣的任意語言的結(jié)果5401到540n。有可能用戶選擇一個列表(比如,列表5402),確定其不適合并嘗試其它選擇。如果用戶理解英語的能力有限,他可能愿意以任何其它國家語言5402到540n查看結(jié)果。如果國家語言結(jié)果(比如,540i)不充分(或不存在),該用戶可以繼續(xù)查看英語結(jié)果5401。在另一種情況中,用戶可能認識到感興趣的結(jié)果最有可能是英語結(jié)果5401,并可以以這些結(jié)果開始。在另外一種情況中,用戶發(fā)現(xiàn)有如此多的英語結(jié)果,從而他決定在其國家語言550中再次檢查更有選擇性的列表。在國家語言結(jié)果不夠或不可用的情況下,搜索引擎將提供其它語言的文檔以增加列于選定列表560中的搜索結(jié)果,其中英語是默認的語言,英語文檔不可用時以可用的語言提供文檔。由排序算法570分析選定列表中的文檔以便向用戶提供排序的列表580。
如圖6所示,用于查詢本系統(tǒng)的計算機屏幕包括輸入關鍵詞查詢600的輸入框。搜索區(qū)域602用于指明搜索范圍。搜索區(qū)域604用于指出要搜索的語言。區(qū)域606用于指出將提供何種語言的查詢項,并且輸入框608用于提供將以何種語言提供排序列表。因此,在該圖中,“l(fā)aptop”和“IBM”是要檢查的關鍵詞。搜索區(qū)域是“任意國家”。然而,如果需要,可以將搜索局限在特定的國家或特定的文檔庫。例如,可以將搜索區(qū)域局限在國會圖書館或美國的任意圖書館。同樣也列出將以何種語言執(zhí)行查詢。這將產(chǎn)生圖3的表中包含的所有支持語言的查詢,從而如結(jié)合圖3所述的,將從該表中讀出相同文檔的多個副本。輸入框606標識出搜索的單詞為英語單詞。但是也可以使用任何其它支持的語言。例如,如果德語是支持的語言,搜索項600可以是德語單詞,并且查詢語言將指出它們是德語。最后,可以用與查詢語言不同的語言提供結(jié)果,如此處所示的,雖然搜索項是英語,但是只要德語的排序文檔可用,將以德語提供該排序的文檔。如果任何德語文檔都不可用,該列表將包含可用語言的文檔,其中英語是默認第一語言。上述輸入框600和608的使用允許控制執(zhí)行搜索的范圍和語言以及提交的結(jié)果。
現(xiàn)在參考圖7,通過用戶在步驟702和步驟704輸入在圖6的輸入框600到608中顯示的搜索信息來搜索系統(tǒng)。然后使用輸入的查詢信息和其它信息在步驟706查詢的擴充倒排索引表并從表210獲得文檔列表。然后在步驟710中向搜索者提供其首選語言的排序文檔列表并在步驟712中決定結(jié)果是否令人滿意。如果結(jié)果令人滿意,則過程結(jié)束。然而如果搜索者不滿意,則他可以在步驟714通過修改在步驟702和704中提供的數(shù)據(jù)來擴展或改變搜索范圍。
應當理解,本發(fā)明特別適合于在數(shù)據(jù)處理系統(tǒng)中使用,所述數(shù)據(jù)處理系統(tǒng)諸如帶有存儲程序的通用計算機,所述存儲程序包括包含多條指令的計算機程序裝置。通常這些指令是用人們可以閱讀的高級語言編寫的,并且通常這些指令被轉(zhuǎn)換成機器語言,即所述數(shù)據(jù)處理系統(tǒng)能夠理解的簡單指令。在適合的情況下,如果希望,可以直接以機器編程語言編寫此類指令,這是一種允許高效地執(zhí)行,但是更難于編程的系統(tǒng)。本發(fā)明不限于任何特定的輸入語言。2002年4月10日申請的美國共同未決專利No.10/120,071披露了一種適合于與本發(fā)明一起使用的網(wǎng)絡。在此將該申請的主題內(nèi)容引入作為參考??梢栽诜掌魃咸峁┍景l(fā)明的軟件并使用計算機在因特網(wǎng)上對其進行訪問,在所述計算機上將出現(xiàn)圖6所呈現(xiàn)的顯示。
如本文件中所使用的,軟件、計算機程序以及計算機程序裝置是可替換使用的。在本文中的軟件的意思是任何語言的任何表達、代碼或符號,或指令集,所述指令集旨在使具有信息處理能力的系統(tǒng)直接或者執(zhí)行下面的兩者之一或者都執(zhí)行之后實現(xiàn)特定的功能a)轉(zhuǎn)換為另一種語言、代碼或符號;b)以不同的材料形式再現(xiàn)。
在優(yōu)選實施例的說明中使用了統(tǒng)一字符編碼系統(tǒng)來管理不同的語言,但是如果希望,其它適合表示不同語言的方法也可以用于幫助本發(fā)明。
術語(多種)國家語言用來表示一種或多種關聯(lián)的語言。國家語言可以是系統(tǒng)支持的任意語言,并且對于不同的用戶可以包括不同的語言。所以對于墨西哥人或來自西班牙的人,“國家語言”可能表示西班牙語,而對于來自法國或其它講法語的地區(qū)的人,“國家語言”可能表示法語。對于各種常用語言,可以獲得適合的同義詞表,其被用作定位關鍵詞的系統(tǒng)并將所考慮的文檔說明性的關鍵詞與基本相同的常用詞匯分離。這種關鍵詞定位系統(tǒng)通常面向技術并識別在所考慮的技術下感興趣的單詞。
當然,在參閱了上面對優(yōu)選實施例進行的說明以及附圖和所附權利要求后,對于相關領域的技術人員來說本發(fā)明的許多改型都是顯而易見的。例如,在某些情況下,可以使用支持語言的組合編寫文檔。此外,可以使用本發(fā)明的某些元素獲得益處而不必相應使用其它元素。例如,使用同義詞或關鍵詞字典并不是完成將關鍵詞轉(zhuǎn)換為其它語言的唯一方法。此外,取決于環(huán)境情況,各種其它裝置也可以被替代以便獲得益處。因此,上述對優(yōu)選實施例的說明應被認為只是本發(fā)明原理的示例,并非對其進行限制。
權利要求
1.一種創(chuàng)建和搜索支持多種語言的文檔數(shù)據(jù)庫的方法,該方法包括以下步驟使用關鍵詞字典從每個所述文檔提取關鍵詞;將該關鍵詞轉(zhuǎn)換為所支持的語言;以每種所支持的語言為每個文檔創(chuàng)建關鍵詞列表;使用每種支持語言的該關鍵詞創(chuàng)建包含該關鍵詞的文檔的倒排索引,以及關于該文檔的排序因子信息;通過使用一種支持語言的搜索項查詢該倒排索引來檢索任何所支持的語言的文檔;以及使用包含在該倒排索引中的文檔的排序因子信息對該文檔進行排序。
2.包括權利要求1各步驟的方法,其中使用關鍵詞創(chuàng)建倒排索引的步驟包括使用統(tǒng)一字符編碼系統(tǒng)管理所支持的語言的步驟。
3.包括權利要求1各步驟的搜索數(shù)據(jù)庫的方法,其中生成查詢的步驟包括標識以何種語言呈現(xiàn)。
4.一種搜索包含以多于一種語言編寫的文檔的數(shù)據(jù)庫的方法,該方法的步驟包括創(chuàng)建識別每個文檔的關鍵詞搜索項的搜索工具,所述關鍵詞搜索項和與其具有相同含義、支持其它語言的關鍵詞相關聯(lián);使用所支持的任意語言的關鍵詞搜索項標識搜索文檔,以使用響應搜索語言和其它所支持的語言的關鍵詞搜索項的搜索引擎查詢該搜索工具;以及基于該搜索項及其相關聯(lián)的同義詞提供檢索到的多種語言文檔的列表。
5.如權利要求4的方法包括將搜索結(jié)果轉(zhuǎn)化成另一種語言的步驟。
6.如權利要求5的方法,其中該方法還包括基于該搜索工具中的排序信息提供文檔的有序列表的步驟。
7.如權利要求4的方法,其中當存在由搜索者選擇的所支持的語言的文檔時,提供該語言的文檔搜索列表的步驟。
8.一種用于基于輸入搜索項來搜索文檔數(shù)據(jù)庫的系統(tǒng),該系統(tǒng)包括關鍵詞列表,對于數(shù)據(jù)庫的多個文檔中的每個文檔,所述關鍵詞列表包括至少第一和第二語言的具有相同含義的關鍵詞;用于數(shù)據(jù)庫中多個文檔的倒排索引,該倒排索引包括該列表中具有相同含義的關鍵詞;以及響應第一和第二語言的關鍵詞的搜索引擎,所述搜索引擎使用該倒排索引得到結(jié)果集,該結(jié)果集包含對應第一或輸入語言的輸入關鍵詞搜索項的文檔并包含第二語言的文檔。
9.一種如權利要求8中所述類型的系統(tǒng),其中該列表是雙向列表,該列表用于將搜索項從第一語言轉(zhuǎn)換成第二語言以及從第二語言轉(zhuǎn)換成第一語言。
10.一種如權利要求8中所述類型的系統(tǒng),其中轉(zhuǎn)換搜索項使用了用于管理多種語言的統(tǒng)一字符編碼系統(tǒng)。
11.一種基于輸入搜索項來搜索文檔數(shù)據(jù)庫的計算機可用介質(zhì)上的計算機程序,該軟件包括用于關鍵詞列表的軟件,對于數(shù)據(jù)庫的多個文檔中的每個文檔,該關鍵詞列表包括至少第一和第二語言的具有相同含義的關鍵詞;用于數(shù)據(jù)庫的多個文檔的倒排索引的軟件,該多個文檔包含該列表中具有相同含義的關鍵詞;以及用于響應第一和第二語言的關鍵詞的搜索引擎的軟件,該搜索引擎使用倒排索引得到結(jié)果集,該結(jié)果集包含對應第一或輸入語言的輸入關鍵詞搜索項的文檔并包含第二語言的文檔。
12.如權利要求11中所述類型的計算機程序,其中該列表是雙向列表,該列表用于將搜索項從第一語言轉(zhuǎn)換成第二語言以及從第二語言轉(zhuǎn)換成第一語言。
13.如權利要求11中所述類型的計算機程序,其中轉(zhuǎn)換搜索項使用了用于管理多種語言的統(tǒng)一字符編碼系統(tǒng)。
全文摘要
使用包括雙向倒排索引工具的搜索引擎減少了搜索時間,可以使用多種語言中的一種語言的關鍵詞訪問該工具,并提供包含所有這些語言的文檔列表。所有支持語言的關鍵詞最好儲存在倒排索引查找表中,該表交叉引用了包含該關鍵詞的這些語言的文檔。當查詢一種語言的關鍵詞時,可以一起訪問具有相同含義的不同語言的該關鍵詞。包含該表的搜索引擎可以識別選定語言、第二語言或者所有支持語言的相關文檔,這可以由用戶決定。關于每個文檔的信息還包括用于對該文檔進行排序的信息,諸如關鍵詞頻率和諸關鍵詞相似性。
文檔編號G06F17/28GK1620661SQ03802417
公開日2005年5月25日 申請日期2003年1月24日 優(yōu)先權日2002年2月1日
發(fā)明者G·T·布朗, Y·N·多加納塔, Y·德里西, T-H·芬, 金文柱, L·科扎科夫, J·利昂-羅德里格 申請人:國際商業(yè)機器公司