專利名稱:信息檢索系統中基于短語的搜索的制作方法
技術領域:
本發明涉及一種用于對諸如互聯網(Internet)的大規模語料庫中的文獻編制索引、搜索與分類的信息檢索系統。
背景技術:
信息檢索系統通常稱作搜索引擎,如今它們是一種用于在諸如互聯網的大規模、多樣化并不斷增長的語料庫中尋找信息的基本工具。一般來說,搜索引擎創建索引以使文獻(或“頁”)與各文獻中存在的個別字相關。響應一含有多個查詢項的查詢來檢索文獻,此通常是基于在文獻中存在一定數量的查詢項而實現的。根據諸如查詢項出現的頻率、主域、鏈接分析等其它統計度量來對檢索到的文獻分等級。然后,通常按分等級后的次序將檢索到的文獻呈現給用戶,而不進行任何其他分組或強制分級。在某些狀況下,僅呈現文獻文本的選定部分以便使用戶能夠粗略了解所述文獻的內容。
查詢項的直接“布爾(Boolean)”匹配具有多個熟知的限制,并且尤其無法識別那些不具有查詢項但具有相關字的文獻。舉例來說,在典型的布爾系統中,搜索“Australian Shepherds(澳大利亞牧羊犬)”時將不會返回不具有確切查詢項的關于其它herding dogs(牧羊犬)(例如,Border Collies(博得牧羊犬))的文獻。反而,所述系統通常可能同時檢索到關于Australia(澳大利亞)(并且與dogs(狗)無關)的文獻與關于“shepherds(牧羊犬)”的文獻,并且將這些文獻排在較高等級。
這里的問題是傳統的系統是根據個別項而不是概念來編制文獻索引。概念通常以短語表示,如“Australian Shepherd(澳大利亞牧羊犬)”、“Presidentof the United States(美國總統)”或者“Sundance Film Festival(圣丹斯電影節)”等。某些現有系統最多是就預定且非常有限的“已知”短語集合來編制文獻索引,這些“已知”短語一般是由人工操作員選擇的。因為察覺到識別由(比如)三個、四個或五個或更多個字組成的所有可能的短語需要計算與存儲器,所以一般會避免對短語編制索引。舉例來說,如果假定任意五個字可構成一個短語并且一個大的語料庫將具有至少200,000個唯一項,那么將存在約3.2*1026個可能短語,此明顯超出任何現有系統能夠存儲于存儲器中的量或者其可另外編程操縱的量。另一個問題是短語不斷輸入并會超出其在詞典中的用法,此比發明新的個別字頻繁得多。新短語總是從諸如技術、藝術、世界事件與法律等來源中產生。其它短語將隨時間降低使用。
某些現有信息檢索系統試圖通過使用個別字同時出現的模式來提供概念檢索。在這些系統中,搜索一個字,例如“President(總統)”,將同時檢索到具有頻繁地與“President(總統)”一起出現的其它字(如“White(白色)”及“House(房子)”)的文獻。盡管這種方法可能產生具有在個別字水平上概念性地相關的文獻的搜索結果,但其一般無法俘獲在同時出現的短語之間存在的主題關系。
因此,需要一種信息檢索系統與方法,其能夠全面地識別大規模語料庫中的短語、根據短語編制文獻索引、根據其短語搜索文獻并將文獻分等級、并提供關于所述文獻的另外的群集與說明性信息。
發明內容
本發明涉及一種信息檢索系統與方法,其使用短語來對文獻庫中的文獻編制索引、進行搜索、分等級及說明。所述系統適合于識別那些在文獻庫中具有足夠頻繁及/或獨特用法的短語以指示其為“有效”或“好”短語。以此方式,可識別多字短語,例如由四個、五個或更多項組成的短語。這就避免了必須識別由給定數量的字的所有可能序列所產生的每個可能的短語并對其編制索引的問題。
該系統還適合于根據短語預測文獻中存在其它短語的能力來識別彼此相關的短語。更具體地說,利用使兩個短語的實際同時出現率與這兩個短語的預期同時出現率相關的預測度量。一種此類預測度量是信息增益,即實際同時出現率與預期同時出現率的比率。在預測度量超過一預定閾值時,兩個短語相關。在那種狀況下,第二短語相對于第一短語具有顯著的信息增益。語義上,相關短語將是那些共同用來討論或描述一給定主題或概念的短語,如“President of the United States(美國總統)”與“White House(白宮)”。對于一給定短語,相關短語可根據其相關性或有效性基于其各自的預測度量來定序。
信息檢索系統通過有效或好短語來對文獻庫中的文獻編制索引。對于每一個短語,一個記入列表識別那些含有所述短語的文獻。此外,對于一給定短語,使用第二列表、向量或其它結構來存儲指示在含有所述給定短語的每一文獻中還存在給定短語的哪些相關短語的數據。以此方式,所述系統不僅能夠響應搜索查詢而輕易地識別出哪些文獻含有哪些短語,而且能夠識別出哪些文獻還含有與查詢短語相關、并且因此更可能特定地關于查詢短語所表示的主題或概念的短語。
使用短語與相關短語還創建并使用了相關短語的群集,其在語義上代表短語的有意義的分組。從在群集中的所有短語之間具有非常高的預測度量的相關短語來識別群集。群集可用來組織搜索結果,包括選擇搜索結果中包括哪些文獻及其次序,以及從搜索結果去除文獻。
信息檢索系統還適合于在響應查詢而搜索文獻時使用短語。處理查詢以便識別在查詢中存在的任何短語,從而檢索查詢短語的相伴記入列表與相關短語信息。此外,在有些情況下,用戶可以在搜索查詢中輸入不完整的短語,如“President of the(......總統)”。可以識別象這樣的不完整短語并且用擴展短語來代替,如“President of the United States(美國總統)”。這有助于確保實際執行用戶最有可能的搜索。
系統也可使用相關短語信息來識別或選擇搜索結果中包括哪些文獻。對于一給定短語與一給定文獻,相關短語信息指出在所述給定文獻中存在所述給定短語的哪些相關短語。因此,對于一含有兩個查詢短語的查詢來說,先處理第一查詢短語的記入列表以識別含有第一查詢短語的文獻,接著處理相關短語信息以識別這些文獻中哪些文獻還含有第二查詢短語。接著,將后面這些文獻包括在搜索結果中。這就不需要系統接著單獨處理第二查詢短語的記入列表,由此提供更快的搜索時間。當然,此方法也可以擴展到查詢中有任意數量的短語,從而能夠顯著節約計算與時間。
系統還可適合于使用短語與相關短語信息來對一組搜索結果中的文獻分等級。一給定短語的相關短語信息較佳以諸如位向量的格式存儲,其表示每一相關短語相對于所述給定短語的有效性。舉例來說,一個相關短語位向量對于給定短語的每一個相關短語均具有一個位,這些位根據相關短語的預測度量(例如,信息增益)來定序。相關短語位向量的最有效的位與具有最高預測度量的相關短語相關,并且最低有效位與具有最低預測度量的相關短語相關。以此方式,對于一給定文獻與一給定短語,相關短語信息可用來對文獻計分。位向量本身(作為一個值)的值可用作文獻分數,以此方式,含有查詢短語的高級相關短語的文獻比具有低級相關短語的文獻更可能在主題上與查詢相關。位向量值也可用作更復雜的計分函數中的一個分量,并且還可以加權。接著,可以根據文獻分數來對文獻分等級。
短語信息也可以用在信息檢索系統中以使用戶的搜索個性化。將用戶模擬為一個從(例如)所述用戶曾經訪問過(例如,在屏幕上看、打印、存儲等等)的文獻所獲得的短語集合。更特定地說,給定用戶訪問過的文獻,則在用戶模型或概況中就會包括在此文獻中存在的相關短語。在隨后的搜索期間,使用用戶模型中的短語來過濾搜索查詢的短語并對檢索到的文獻的文獻分數加權。
短語信息也可以用在信息檢索系統中以創建(例如)包括在一組搜索結果中的文獻的文獻說明。給定一搜索查詢,所述系統識別出查詢中存在的短語以及其相關短語與其擴展短語。對于一給定文獻,所述文獻的每一個句子都具有一個在句子中存在多少個查詢短語、相關短語與擴展短語的計數。可以通過這些計數(個別或組合)來對文獻句子分等級,并且選擇一定數量的最高等級的句子(例如,五個句子)來形成文獻說明。當搜索結果中包括所述文獻時,可以接著向用戶呈現文獻說明,使得相對于查詢用戶能夠更好地了解所述文獻。
進一步改進這種產生文獻說明的方法,以使系統能夠提供反映用戶興趣所在的個性化說明。如上所述,用戶模型存儲了識別用戶感興趣的相關短語的信息。此用戶模型與一列與查詢短語相關的短語相交,以識別這兩組共有的短語。然后,根據相關短語信息來對所述共有集合定序。接著,使用所得相關短語集合來根據每一文獻中存在的這些相關短語的實例數來對文獻的句子分等級。選擇具有最高數量的共有相關短語的多個句子作為個性化文獻說明。
當對文獻庫編制索引(爬行)或當處理搜索查詢時,信息檢索系統也可以使用短語信息來識別并去除重復文獻。對于一給定文獻,所述文獻的每一個句子都具有一個在句子中存在多少個相關短語的計數。可以通過此計數來對文獻句子分等級,并且選擇多個最高等級的句子(例如,五個句子)來形成文獻說明。然后,將與文獻相關的此說明存儲(例如)為所述句子的字符串或散列。在編制索引期間,以相同方式處理新爬行的文獻以產生文獻說明。新的文獻說明可與先前的文獻說明匹配(例如,散列),并且如果發現匹配,那么這個新的文獻就是一個重復文獻。類似地,在準備搜索查詢的結果期間,可以處理搜索結果集合中的文獻以去除重復文獻。
本發明的系統與軟件架構、計算機程序產品及計算機實施的方法與計算機產生的用戶界面與呈現具有其它實施例。
上文僅僅是基于短語的信息檢索系統與方法的一些特征。信息檢索領域的技術人員將了解,短語信息普遍性的靈活性使其能夠在文獻分析與處理的編制索引、文獻注釋、搜索、分等級與其它領域中廣泛使用與應用。
圖1是本發明的一個實施例的軟件架構的方塊圖。
圖2說明一種用于識別文獻中的短語的方法。
圖3說明一具有短語窗口與二級窗口的文獻。
圖4說明一種用于識別相關短語的方法。
圖5說明一種對相關短語的文獻編制索引的方法。
圖6說明一種基于短語檢索文獻的方法。
圖7說明用于顯示搜索結果的顯示系統的操作。
圖8a及圖8b說明引用文獻與被引用文獻之間的關系。
這些圖式僅僅是為了說明的目的而描繪本發明的一較佳實施例。從以下討論,所屬技術領域的技術人員將容易地了解,在不偏離本文所述的本發明的原理下,可采用本文所述的結構與方法的替代實施例。
具體實施例方式
I.系統概述現在參看圖1,其展示了根據本發明的一個實施例的搜索系統100的一實施例的軟件架構。在此實施例中,系統包括一索引系統100、一搜索系統120、一顯示系統130與一前端服務器140。
索引系統110負責識別文獻中的短語并根據其短語通過訪問不同網站190與其它文獻庫來對文獻編制索引。前端服務器140從用戶端170的用戶接收查詢,并且向搜索系統120提供那些查詢。搜索系統120負責搜索與搜索查詢相關的文獻(搜索結果),包括識別搜索查詢中的任何短語,接著使用出現的短語對搜索結果中的文獻分等級以影響等級次序。搜索系統120向顯示系統130提供搜索結果。顯示系統130負責修正搜索結果(包括除去接近重復的文獻和產生文獻的主題說明),并將修正后的搜索結果返回給前端服務器140,即將結果提供給用戶端170。系統100進一步包括一用于存儲關于文獻的索引信息的索引150與一用于存儲短語與相關統計信息的短語數據存儲160。
就本申請案而言,“文獻”應理解為可以由搜索引擎編制索引并檢索的任何類型的媒體,包括網頁文獻、圖像、多媒體文件、文本文獻、PDF或其它圖像格式的文件等等。一個文獻可以具有一或多個頁、分區、段或其他適合其內容與類型的組成部分。同等地,文獻可以稱為“頁”,其常用來指互聯網上的文獻。使用通用術語“文獻”并不意味對本發明的范疇進行任何限制。搜索系統100可對大的文獻語料庫進行操作,如互聯網與萬維網,但其同樣可用于更有限的集合中,如用于圖書館或私營企業的文獻庫。在任一情形下應了解,文獻一般分布在許多不同的計算機系統與站點中。于是,不喪失一般性,不管格式或位置(例如,哪個網站或數據庫),將文獻統稱為語料庫或文獻庫。每個文獻都具有一個唯一識別所述文獻的相伴識別符;所述識別符較佳為URL,但也可以使用其它類型的識別符(例如,文獻號)。在本揭示中,假定使用URL來識別文獻。
II.索引系統在一實施例中,索引系統110提供三個主要功能性操作1)識別短語與相關短語,2)關于短語對文獻編制索引,及3)產生并維持基于短語的分類。所屬技術領域的技術人員將了解,在傳統索引功能的支持下,索引系統110還將執行其它功能,因此本文不再進一步說明這些其它操作。索引系統110對短語數據的索引150與數據儲存庫160進行操作。下文進一步說明這些數據儲存庫。
1.短語識別索引系統110的短語識別操作識別文獻庫中的“好”與“壞”短語,這些短語有助于對文獻編制索引并搜索。一方面,好短語是那些往往出現在文獻庫中超過某一百分比的文獻中的短語,且/或表示為在所述文獻中具有不同的外觀,如由置標標簽或其它形態、格式或語法標記來定界。好短語的另一方面是其能夠預測其它好短語,而不僅僅是出現在詞典中的字序列。舉例來說,短語“President of the United States(美國總統)”是一個預測諸如“George Bush(喬治·布什)”與“Bill Clinton(比爾·克林頓)”等其它短語的短語。然而,諸如“fell down the stairs”或“top of the morning”、“out of theblue”的其它短語不具預測性,這是因為象這些的成語與習語往往與許多其它不同且無關的短語一起出現。因此,短語識別階段確定哪些短語是好短語而哪些是壞短語(即,缺乏預測能力)。
現在參看圖2,短語識別過程具有以下功能性階段200收集可能且好的短語,以及所述短語的頻率與同時出現的統計值;202基于頻率統計值將可能短語分為好短語或壞短語;204基于從同時出現的統計值獲得的預測性度量來精簡好短語列表。
現在將進一步詳細地說明這些階段的每個階段。
第一階段200是這樣一個過程,通過該過程,索引系統110爬行(crawl)文獻庫中的一組文獻,隨時間形成所述文獻庫的多個重復分區。每遍處理一個分區。每遍爬行的文獻數可能變化,較佳為每個分區約1,000,000個文獻。較佳僅處理每個分區中先前未爬行的文獻,直到處理完所有文獻,或滿足某一其它終止準則。實際上,由于新文獻不斷地添加到文獻庫中,所以爬行不斷繼續。索引系統110對爬行后的每個文獻采取下列步驟。
以n的短語窗口長度遍歷所述文獻的各字,其中n是期望的最大短語長度。窗口的長度一般為至少2項,較佳為4或5項(字)。短語較佳包括短語窗口中的所有字,包括那些否則會被表征為結束字的字,如“a”、“the”等等。短語窗口可以由行尾、段落返回、置標標簽或其他內容或格式變化的標志來終止。
圖3說明遍歷期間文獻300的一部分,其展示短語窗口302從字“stock”開始并向右擴展5個字。窗口302中的第一個字是候選短語i,并且序列i+1、i+2、i+3、i+4與i+5中的每個短語同樣為候選短語。因此,在此實例中,候選短語為“stock”、“stock dogs”、“stock dogs for”、“stock dogs forthe”、“stock dogs for the Basque”與“stock dogs for the Basque shepherds”。
在每個短語窗口302中,依次檢查每個候選短語以確定其是否已經存在于好短語列表208或可能短語列表206中。如果候選短語未出現在好短語列表208或可能短語列表206中,那就確定所述候選短語為“壞”短語并將其跳過。
如果候選短語出現在好短語列表208中,如款目gj,那就更新短語gj的索引150款目以包括所述文獻(例如,其URL或其它文獻識別符),以指示此候選短語gj出現在當前文獻中。短語gj的索引150中的款目(或項)稱作短語gj的記入列表。記入列表包括其中出現短語的一列文獻d(通過其文獻識別符,例如文獻號或者URL)。
此外,如下文進一步解釋,更新同時出現矩陣212。在最初的第一遍中,好的與壞的列表都將為空,因此往往會將大多數短語添加到可能短語列表206中。
如果候選短語沒有出現在好短語列表208中,那就將其添加到可能短語列表206中,除非其中已經存在所述候短語。可能短語列表206上的每個款目p都具有三個相伴計數P(p)存在可能短語的文獻數;S(p)可能短語的所有實例數;及M(p)可能短語的引起注意的實例數。在可能短語與文獻中的相鄰內容的不同之處在于語法或格式標記,例如黑體或下劃線或為超鏈接或引號中的錨文本時,可能短語的實例“引起注意”。這些(與其它)區別外觀由各種HTML置標語言標簽與語法標記來指示。當一個短語被放在好短語列表208中時,所述短語的這些統計值仍被保留。
除了各列表外,還保留好短語的同時出現矩陣212(G)。矩陣G具有mxm維,其中m是好短語的數量。矩陣中的每個款目G(j,k)代表一對好短語(gj,gk)。同時出現矩陣212在邏輯上(但在物理上不一定)保留每對好短語(gi,gk)關于二級窗口304的三個獨立計數,所述窗口304的中心位于當前字i,并且擴展+/-h個字。在一實施例中,例如如圖3所述,二級窗口304有30個字。因此,同時出現矩陣212保留R(j,k)原始的同時出現計數,即短語gj與短語gk一起出現在二級窗口304中的次數;D(j,k)分離的引起注意的計數,即短語gj或短語gk作為特異文本出現在二級窗口中的次數;及C(j,k)連接的引起注意的計數,即短語gj與短語gk同時作為特異文本出現在二級窗口中的次數。使用連接的引起注意的計數尤其有利于避免短語(例如,版權通知)頻繁出現在側邊欄、頁腳或頁眉中并因此實際上無法預測其它文本的情形。
參看圖3的實例,假定“stock dogs”以及短語“Australian Shepherd”與“Australian Shepard Club of America”都位于好短語列表208上。后兩個短語出現在二級窗口304內當前短語“stock dogs”周圍。然而,短語“Australian Shepherd Club of America”作為網站的超鏈接(由下劃線指示)的錨文本出現。因此,所述對{“stock dogs”,“Australian Shepherd”}的原始同時出現計數遞增,并且{“stock dogs”,“Australian Shepherd Club ofAmerica”}的原始同時出現計數和分離的引起注意的計數都遞增,這是因為后者是作為特異文本出現的。
對分區中的每個文獻重復以序列窗口302與二級窗口304遍歷每個文獻的過程。
在遍歷完分區中的文獻后,編制索引操作的下一階段就是從可能短語列表206更新202好短語列表208。如果可能短語列表206上的一個可能短語p的出現頻率與出現所述短語的文獻數指示其足夠用作語義上有意義的短語,那就將所述短語移到好短語列表208中。
在一實施例中,其測試如下。從可能短語列表206取一個可能短語p并且將其放在好短語列表208中,前提條件是a)P(p)>10并且S(p)>20(含有p的文獻數大于10,并且短語p的出現次數大于20);或者b)M(p)>5(短語p的引起注意的實例數大于5)。
這些閾值與分區中的文獻數成比例;例如,如果一個分區中爬行2,000,000個文獻,那閾值大約加倍。當然,所屬技術領域的技術人員將了解,這些閾值的具體值或測試其的邏輯可隨需要而變化。
如果短語p沒有資格進入好短語列表208,則檢查其成為壞短語的資格。短語p是一個壞短語的條件是a)含有短語的文獻數P(p)<2;并且b)短語的引起注意的實例數M(p)=0。
這些條件指示所述短語既不頻繁,也不能用來指示有效內容,同樣地,這些閾值可與分區中的文獻數成比例。
應注意,如上所述,除了多字短語外,好短語列表208自然將包括個別字作為短語。這是因為短語窗口302中的每個第一字總是一個候選短語,并且適當的實例計數將累積。因此,索引系統110可以自動地對個別字(即,具有單個字的短語)與多字短語編制索引。好短語列表208也將比基于m個短語的所有可能組合的理論最大值短很多。在典型實施例中,好短語列表208將包括約6.5×105個短語。由于系統只需要明了可能短語和好短語,所以不需要存儲壞短語列表。
通過最后一遍檢查文獻庫,由于大語料庫中短語使用的預期分布,所以可能短語的列表將相對較短。因此,如果在第10遍(例如,10,000,000個文獻),一個短語第一次出現,那么其在那次中是極不可能成為一個好短語的。其可能是剛開始使用的新短語,因此在隨后爬行中變得越來越常見。在那種狀況下,其相應計數將增大,并且可能最終滿足成為一個好短語的閾值。
編制索引操作的第三階段是使用從同時出現矩陣212獲得的預測性度量來精簡204好短語列表208。不經過精減,好短語列表208很可能包括許多盡管合理地出現在字典中但本身無法充分預測其它短語的存在或本身是更長短語的子序列的短語。除去這些較弱的好短語后更可能有力地獲得好短語。為了識別好短語,使用一預測性度量,其表示給定一短語的存在,在文獻中出現另一短語的可能性增加。在一實施例中,此完成如下。
如上所述,同時出現矩陣212是存儲與好短語相關聯的數據的mxm矩陣。矩陣中的每行j代表好短語gi,并且每列k代表好短語gk。對于每個好短語gj,計算期望值E(gj)。期望值E是庫中預期含有gj的文獻的百分比。例如,其計算為含有gj的文獻數與庫中已爬行的文獻總數T的比率P(j)/T。
如上所述,當gj每次出現在文獻中時,即更新含有gj的文獻數。每次gj的計數增加時或在此第三階段期間,可更新E(gj)的值。
接著,對于每個其它好短語gk(例如,矩陣的各列),確定gj是否預測了gk。gj的預測性度量的確定如下i)計算期望值E(gk)。如果gj與gK是無關短語,則其預期同時出現率E(j,k)為E(gj)*E(gk);ii)計算gj與gk的實際同時出現率A(j,k)。即將原始同時出現計數R(j,k)除以文獻總數T;iii)據說當實際同時出現率A(j,k)超過預期同時出現率E(j,k)一臨界量時,gj預測gk。
在一實施例中,預測性度量為信息增益。因此,當在短語gj面前另一短語gk的信息增益I超過一閾值時,短語gj預測短語gk。在一實施例中,此計算如下I(j,k)=A(j,k)/E(j,k)。
并且當滿足下列條件時,好短語gj預測好短語gkI(j,k)>信息增益閾值。
在一實施例中,信息增益閾值為1.5,但較佳在1.1與1.7之間。將閾值升高到超過1.0是為了減少兩個原本無關的短語同時出現超過隨機預測的可能性。
如上所述,相對于給定行j,對矩陣G的每列k重復信息增益的計算。在一行完成后,如果好短語gk中無一短語的信息增益超過信息增益閾值,那這就意味著短語gj無法預測任何其它好短語。在那種狀況下,從好短語列表208除去gj,其基本上就變為壞短語。注意,不除去短語gj的列j,因為這個短語本身可由其它好短語來預測。
當評估完同時出現矩陣212中的所有行后,結束這個步驟。
該階段的最后一個步驟是精簡好短語列表208以除去不完整短語。一個不完整短語是一個僅預測其擴展短語并且從所述短語的最左側(即,短語的開始處)開始的短語。短語p的“擴展短語”是一個以短語p開始的超序列。舉例來說,短語“President of”預測“President of the United States”、“Presidentof Mexico”、“President of AT&T”等等。由于所有后面這些短語都是以“President of”開始并且是其超序列,所以他們都是“President of”的擴展短語。
因此,保留在好短語列表208上的每個短語gj都將基于前述信息增益閾值來預測一定量的其它短語。現在,對于每個短語gj,索引系統110執行其與其所預測的每個短語gk的字符串匹配。字符串匹配測試每個預測短語gk是否是短語gj的擴展短語。如果所有預測短語gk都是短語gj的擴展短語,那么gj就不完整,將其從好短語列表208中除去并添加到不完整短語列表216中。因此,如果存在至少一個不是gj的擴展短語的短語gk,那gj就是完整的,并且會保留在好短語列表208中。于是舉例來說,當“President of theUnited”所預測的唯一其它短語是“President of the United States”并且這個預測短語是所述短語的擴展短語時,“President of the United”就是一個不完整短語。
不完整短語列表216本身在實際搜索過程中非常有用。當接收到搜索查詢時,可將其與不完整列表216比較。如果所述查詢(或其一部分)與所述列表中的一個款目匹配,那搜索系統120就可以查找這個不完整短語的最可能的擴展短語(給定不完整短語,具有最高信息增益的擴展短語),并且向用戶建議此短語或對擴展短語自動搜索。例如,如果搜索查詢是“Presidentof the United”,那搜索系統120可以自動向用戶建議“President of the UnitedStates”作為搜索查詢。
在完成編制索引過程的最后一個階段后,好短語列表208將含有在語料庫中發現的大量好短語。這些好短語中的每一個短語都將預測至少一個不是其擴展短語的其它短語。即,每一個好短語都以足夠的頻率使用,并且獨立代表語料庫中所表示的有意義的概念或思想。與使用預定或人工選擇的短語的現有系統不同,好短語列表反映了語料庫中正在實際使用的短語。此外,由于新文獻添加到文獻庫中使得周期性地重復上述爬行與編制索引過程,所以索引系統110在新短語進入詞典時自動檢測所述新短語。
2.識別相關短語與相關短語的群集參看圖4,相關短語識別過程包括以下功能性操作400識別具有高信息增益值的相關短語;402識別相關短語的群集;404存儲群集位向量與群集號。
現在詳細描述這些操作中的每一個操作。
首先回想,同時出現矩陣212含有好短語gj,其中每一個短語都預測至少一個具有大于信息增益閾值的信息增益的其它好短語gk。然后,為了識別400相關短語,對于每一對好短語(gj,gk),將信息增益與相關短語閾值(例如,100)進行比較。即,當I(gj,gk)>100時,gj與gk是相關短語。
使用此高閾值來識別很好地超過統計期望率的好短語的同時出現。在統計上,其意指短語gj與gk同時出現率超過預期同時出現率的100倍。舉例來說,給定文獻中的短語“Monica Lewinsky”,如果短語“Bill Clinton”在相同文獻中更可能出現率是其100倍,則短語“Bill Clinton”可能出現在任意隨機選擇的文獻中。因為出現率是100∶1,所以另一種表述方式是預測精確度為99.999%。
因此,將小于相關短語閾值的任何款目(gj,gk)調零,以指示短語gj,gk不相關。現在,同時出現矩陣212中任何剩余款目都指示所有相關短語。
接著,通過信息增益值I(gj,gk)來對同時出現矩陣212的各行gj中的列gk排序,使得首先列出具有最高信息增益的相關短語gk。因此,此排序為一給定短語gj識別出按照信息增益哪些其它短語最可能相關。
下一步驟是確定402哪些相關短語一起形成相關短語群集。群集是相關短語的集合,其中每個短語相對于至少一個其它短語而具有高信息增益。在一實施例中,群集的識別如下。
在矩陣的每行gj中,將存在一或多個與短語gj相關的其它短語。這個集合就是相關短語集合Rj,其中R={gkgl…gm}。
對于Rj中的每個相關短語m,索引系統110確定R中的各其它相關短語是否也與gj相關。因此,如果I(gk,gl)也非零,那gj、gk與gl是群集的一部分。對R中的每一對(gl,gm)重復此群集測試。
舉例來說,假定好短語“Bill Clinton”與短語“President”、“MonicaLewinsky”相關,這是因為每一個這些短語相對于“Bill Clinton”的信息增益都超過相關短語閾值。另外,假定短語“Monica Lewinsky”與短語“pursedesigner”相關。這些短語于是形成集合R。為確定群集,索引系統110通過確定這些短語的相應信息增益來評估每個短語相對于其它短語的信息增益。因此,索引系統110確定R中的所有對短語的信息增益I(“President”,“Monica Lewinsky”)、I(“President”,“purse designer”)等等。在此實例中,“Bill Clinton”、“President”與“Monica Lewinsky”形成一群集,“BillClinton”與“President”形成第二群集,并且“Monica Lewinsky”與“pursedesigner”形成第三群集,并且“Monica Lewinsky”、“Bill Clinton”與“pursedesigner”形成第四群集。這是因為盡管“Bill Clinton”沒有足夠的信息增益來預測“purse designer”,但“Monica Lewinsky”仍預測這兩個短語。
為記錄404群集信息,向每一個群集指派一個唯一的群集號(群集ID)。然后,結合每一個好短語gj一起記錄此信息。
在一實施例中,群集號是由群集位向量來確定,群集位向量還指示短語之間的正交關系。群集位向量是長度為n的位的序列,其中n是好短語列表208中的好短語的數量。對于一給定好短語gj,位位置對應于gj的排序后的相關短語R。如果R中的相關短語gk與短語gj在同一個群集中,則設定一個位。更一般來說,這意味著如果在gj與gk之間的任一方向上存在信息增益,則設定群集位向量中的相應位。
于是,群集號就是所得位串的值。此實施例具有這樣一個特性,即具有多向或單向信息增益的相關短語出現在相同群集中。
如下是使用上述短語的群集位向量的一個實例
于是概述之,在此過程后,將為每一個好短語gj識別一組相關短語R,其按照信息增益I(gj,gk)從高到低的次序排列。此外,對于每一個好短語gj,都將有一個群集位向量,其值是一個用于識別短語gj所屬的主要群集的群集號,且其正交值(對于每個位位置為1或0)指示R中的相關短語中哪個短語與gj處于共同群集中。因此,在上述實例中,“Bill Clinton”、“President”與“Monica Lewinsky”處于基于短語“Bill Clinton”的行中的位的值的群集14中。
為存儲此信息,可使用兩種基本表示法。第一,如上所述,可將信息存儲在同時出現矩陣212中,其中款目G[行j,列k]=(I(j,k),群集號,群集位向量)。
或者,可避免矩陣表示法,而將所有信息存儲在好短語列表208中,其中每行代表一個好短語gj;短語行j=列表[短語gk,(I(j,k),群集號,群集位向量)]。
此方法提供了一種有用的群集組織法。首先,此方法不是一個嚴格并且通常任意界定的主題與概念的分級,而是認可相關短語所示的主題形成一個復雜的關系表,其中某些短語與許多其它短語相關,并且某些短語的范圍更有限,并且其中各關系可能是相互的(每個短語預測其它短語)或單向的(一個短語預測其它短語,但反之則不可)。結果是可將群集表征成對每個好短語來說是“局部”的,于是某些群集將由于具有一或多個共同的相關短語而重疊。
于是對于一個給定的好短語gj,相關短語按照信息增益的定序提供了一種用來命名短語群集的分類法群集名是群集中具有最高信息增益的相關短語的名稱。
上述方法提供了一種用于識別出現在文獻庫中的有效短語的非常有力的方式以及這些相關短語在實際實施中一起用在自然“群集”中的方式。因此,對相關短語的此數據驅動群集避免了許多系統中常見的相關術語與概念的任何人工導向的“編輯”選擇所固有的偏差。
3.以短語與相關短語對文獻編制索引給定包括關于相關短語與群集的信息的好短語列表208,索引系統110的下一個功能性操作是關于好短語與群集來對文獻庫中的文獻編制索引,并將更新后的信息存儲在索引150中。圖5說明此過程,其中包括編制文獻索引的下列功能性階段500將文獻記入在文獻中所發現的好短語的記入列表中;502更新相關短語與二級相關短語的實例計數與相關短語位向量;504以相關短語信息來注釋文獻;506根據記入列表大小來對索引款目重新定序。
現在將更詳細地描述這些階段。
如上所述,遍歷或爬行一文獻集合;此可以是相同或不同的文獻集合。對于一給定文獻d,以上述方式從位置i開始,以長度為n的序列窗口302逐字遍歷500文獻。
在一給定短語窗口302中,從位置i開始識別窗口中的所有好短語。每個好短語都表示為gi。因此,g1是第一個好短語,g2是第二個好短語,依此類推。
對于每個好短語gi(實例g1“President”與g4“President of ATT”),將文獻識別符(例如,URL)記入到索引150中的好短語gi的記入列表中。此更新識別出,在此特定文獻中出現好短語gi。
在一實施例中,短語gj的記入列表采用以下邏輯形式短語gj列表(文獻d,[列表相關短語計數][相關短語信息])。
對于每個短語gj,都有一個出現所述短語的文獻d列表。對于每個文獻,都有一個同樣出現在文獻d中的短語gj的相關短語R的出現次數的計數列表。
在一實施例中,相關短語信息是一個相關短語位向量。此位向量可表征為一個“雙位”向量,這是因為對于每個相關短語gk,都有兩個位位置gk-1與gk-2。第一位位置存儲一指示在文獻d中是否存在相關短語gk的標號(即,文獻d中的gk的計數大于0)。第二位位置存儲一指示在文獻d中是否也存在短語gk的相關短語gl的標號。短語gj的相關短語gk的相關短語gl在本文中稱作“gj的二級相關短語”。所述計數與位位置對應于R中短語的規范次序(按照遞減的信息增益的次序排列)。此排序次序產生這樣一個效果,即使得gj最高度預測的相關短語gk與相關短語位向量的最有效位相關,而gj最少預測的相關短語gl與最低有效位相關。
比較有用的是注意到對于一給定短語g,就所有含有g的文獻而言,相關短語位向量的長度以及相關短語與所述向量的個別位之間的締合都相同。此實施例具有以下特性,即使系統容易地比較含有g的任何(或所有)文獻的相關短語位向量,以觀察哪些文獻具有給定的相關短語。這有利于促進搜索過程響應搜索查詢來識別文獻。因此,給定文獻將出現在許多不同短語的記入列表中,并且在每個此類記入列表中,所述文獻的相關短語向量將專用于擁有所述記入列表的短語。這方面保持了相關短語位向量相對于個別短語與文獻的局部性。
因此,下一階段502包括遍歷文獻中的當前索引位置的二級窗口304(如前所述,+/-K項(例如30項)的二級窗口),例如從i-K到i+K。對于出現在二級窗口304中的gi的每個相關短語gk,索引系統110相對于相關短語計數中的文獻d來使gk的計數遞增。如果gi稍后出現在文獻中并且在稍后的二級窗口中再次發現相關短語,則再次遞增計數。
如上所述,基于計數來設定相關短語位映射中的相應第一位gk-1,如果gk的計數>0,則將位設置為1,或如果所述計數等于0,則將其設置為0。
接著,在索引150中查找相關短語gk,在gk的記入列表中識別文獻d的款目,然后檢查gk的任何相關短語的二級相關短語計數(或位),從而設定第二位gk-2。如果設定了任何這些二級相關短語計數/位,則此指示在文獻d中還存在gj的二級相關短語。
當以此方式完全處理完文獻d時,索引系統110將已經識別出i)文獻d中的每個好短語gj;ii)為每個好短語gj識別出在文獻d中存在其哪些相關短語gk;iii)為存在于文獻d中的每個相關短語gk識別出在文獻d中還存在其哪些相關短語gl(gj的二級相關短語)。
a)確定文獻主題通過短語對文獻編制索引并使用群集信息提供了索引系統110的另一個優點,即能夠基于相關短語信息來確定文獻的主題。
假定對于一給定短語gj與一給定文獻d,記入列表款目如下gj文獻d相關短語計數={3,4,3,0,0,2,1,1,0}相關短語位向量={11 11 10 00 00 10 10 10 01}其中,相關短語位向量展示為雙位對。
從相關短語位向量,我們可以確定文獻d的一級與二級主題。一級主題由位對(1,1)指示,而二級主題由位對(1,0)指示。相關短語位對(1,1)指示文獻d中同時存在所述位對的相關短語gk以及二級相關短語gl。此可以解釋為意味在撰寫所述文獻d時文獻的作者一起使用了若干相關短語gj、gk與gl。位對(1,0)指示同時存在gj與gk,但不存在gk的任何其他二級相關短語,因此這是一個不那么有效的主題。
b)改善分等級的文獻注釋索引系統110的另一方面是能夠在編制索引過程中用使得隨后搜索期間的分等級改善的信息注釋504每個文獻d。注釋過程506如下。
文獻庫中的給定文獻d可以具有一定數量的對其它文獻的外鏈接。每個外鏈接(超鏈接)都包括錨文本與目標文獻的文獻識別符。為了解釋,將正在處理的當前文獻d稱作URL0,并且將文獻d上的外鏈接的目標文獻稱作URL1。為了稍候用于對搜索結果中的文獻分等級,對于指向某些其它URLi的URL0中的每個鏈接,索引系統110創建所述鏈接相對于URL0的錨短語的外鏈接分數與所述錨短語相對于URLi的內鏈接分數。即,文獻庫中的每個鏈接都有一對分數,即一個外鏈接分數與一個內鏈接分數。這些分數的計算如下。
在給定文獻URL0上,索引系統110識別對另一文獻URL1的每個外鏈接,其中錨文本A是在好短語列表208中的一個短語。圖8a示意性地說明此關系,其中文獻URL0中的錨文本“A”用于超鏈接800中。
在短語A的記入列表中,將URL0作為短語A的外鏈接記入,并且將URL1作為短語A的內鏈接記入。對于URL0,如上所述來完成相關短語位向量,以識別URL0中存在的A的相關短語與二級相關短語。將此相關短語位向量用作從URL0到含有錨短語A的URL1的鏈接的外鏈接分數。
接著,如下確定內鏈接分數。對于對含有錨短語A的URL1的每個內鏈接,索引系統110掃描URL1,并且確定在URL1的主體中是否出現短語A。如果短語A不僅指向URL1(通過URL0上的外鏈接),而且出現在URL1本身的內容中,那此就表明URL1可稱作與短語A所代表的概念內部相關。圖8b說明了此狀況,其中短語A出現在URL0(作為錨文本)與URL1的主體中。在此狀況下,將URL1的短語A的相關短語位向量用作從URL0到含有短語A的URL1的鏈接的內鏈接分數。
如果錨短語A沒有出現在URL1的主體中(如圖8a),則就采取不同的步驟來確定內鏈接分數。在此狀況下,索引系統110創建用于短語A的URL1的相關短語位向量(就好像在URL1中存在短語A),其指示短語A的哪些相關短語出現在URL1中。接著,將此相關短語位向量用作從URL0到URL1的鏈接的內鏈接分數。
舉例來說,假定在URL0與URL1中最初存在以下短語
(在上述與以下表中,未展示二級相關短語)。URL0行是來自錨文本A的鏈接的外鏈接分數,并且URL1行是所述鏈接的內鏈接分數。這里,URL0含有目標為URL1的錨短語“Australian Shepard”。在“Australian Shepard”的五個相關短語中,僅一個“Aussie”出現在URL0中。于是直觀地,URL0與Australian Shepards僅弱相關。通過比較,URL1不僅具有存在于文獻主體中的短語“Australian Shepherd”,而且還具有多個相關短語“blue merle”、“red merle”與“tricolor”。因此,由于錨短語“Australian Shepard”出現在URL0與URL1中,所以URL0的外鏈接分數與URL1的內鏈接分數是上述相應行。
上述第二種狀況是指URL1中沒有出現錨短語A的情形。在那種狀況下,索引系統110掃描URL1并確定在URL1中存在相關短語“Aussie”、“bluemerle”、“red merle”、“tricolor”與“agility training”中的哪些短語,并因此產生一個相關短語位向量,例如
這里,此表明URL1不含有錨短語“Australian Shepard”,但含有相關短語“blue merle”、“red merle”與“tricolor”。
此方法有利于完全防止對網頁(一類文獻)進行某些類型的歪曲搜索結果的操縱。通過人工創建大量具有指向所要頁的給定錨文本的頁可以“轟擊”使用有賴于指向給定文獻的鏈接數的分等級算法來對所述文獻分等級的搜索引擎。因此,當輸入使用錨文本的搜索查詢時,通常會返回所要頁,即使實際上此頁與錨文本幾乎或完全沒有關系。將相關位向量從目標文獻URL1輸入到文獻URL0的短語A的相關短語位向量中消除了搜索系統對指向URL1以作為有效性的指示的URL0中或URL1中的短語A與錨文本短語之間的關系的依賴性。
基于索引150中的每個短語在語料庫中的出現頻率,亦為各短語賦予一個短語號。短語越常見,其在索引中接收的短語號就越低。接著,索引系統110根據每個記入列表中的短語號所列出的文獻數來對索引150中的所有記入列表降序排序506,使得首先列出最頻繁出現的短語。于是,可以使用短語號來查找特定短語。
III.搜索系統搜索系統120用于接收查詢并搜索與所述查詢相關的文獻,并且在搜索結果集合中提供這些文獻的列表(以及這些文獻的鏈接)。圖6說明搜索系統120的主要功能性操作600識別查詢中的短語;602檢索與查詢短語相關的文獻;604根據短語對搜索結果中的文獻分等級。
這些階段中的每一階段的細節如下。
1.識別查詢及展開查詢中的短語搜索系統120的第一階段600是識別查詢中存在的任何短語以便有效地搜索其索引。在這部分中使用下列術語q所輸入的并由搜索系統120接收的查詢;Qp所述查詢中存在的短語;
QrQp的相關短語;QeQp的擴展短語;QQp和Qr的并集。
從用戶端190接收查詢q,所述查詢q具有至多某一最大數量的字符或字。
搜索系統120使用大小為N(例如5)的短語窗口來遍歷所述查詢q的各項。所述短語窗口先從所述查詢的第一項開始,然后向右擴展N項。然后,這個窗口向右移動M-N次,其中M是所述查詢的項數。
在每個窗口位置,窗口中都將存在N項(或更少項)。這些項構成一個可能的查詢短語。在好短語列表208中查找可能短語,判斷它是不是一個好短語。如果好短語列表208中有這個可能短語,那么給短語返回一個短語號;現在,這個可能短語就是一個候選短語。
在測試完每個窗口中的所有可能短語以判斷它們是否是好的候選短語后,搜索系統120將為查詢中的對應短語賦予一組短語號。接著,將這些短語號排序(降序)。
從作為第一候選短語的最高短語號開始,搜索系統120判斷在排序后的列表中的固定數字距離內是否有另一個候選短語,即短語號之間的差值在(例如)20,000的臨界量內。如果有,那么選擇查詢中最左邊的短語作為有效的查詢短語Qp。從候選短語列表中除去這個查詢短語及其所有子短語,并且將所述列表重新排序并重復上述過程。這個過程的結果是一組有效查詢短語Qp。
例如,假定搜索查詢是“Hillary Rodham Clinton Bill on the Senate Floor(參議院議員希拉里·羅德翰·克林頓·比爾)”。搜索系統120會識別下列候選短語“Hillary Rodham Clinton Bill on”、“Hillary Rodham Clinton Bill”及“HillaryRodham Clinton”。刪除前兩個,而保持最后一個作為有效查詢短語。接著,搜索系統120會識別“參議院議員比爾(Bill on the Senate Floor)”和子短語“Billon the Senate”、“Bill on the”、“Bill on”、“Bill”,并且會選擇“Bill”作為有效查詢短語Qp。最后,搜索系統120會分解“on the Senate Floor”,并識別“SenateFloor”作為有效查詢短語。
然后,搜索系統120調整有效短語Qp的首字母大寫。在分解查詢時,搜索系統120識別每個有效短語中的潛在首字母大寫。此可以通過利用已知的首字母大寫表(例如,“united states”的首字母大寫為“United States”)或利用以語法為基礎的首字母大寫算法來完成。此產生適當首字母大寫的查詢短語集合。
接著,當該集合中同時存在短語及其子短語時,搜索系統120會第二遍檢查首字母大寫的短語,并且只選擇那些短語的最左邊字母將其變成大寫。例如,對“president of the united states”的搜索的大寫將為“President of the UnitedStates”。
在下一階段,搜索系統120識別602那些與查詢短語Q相關的文獻。搜索系統120接著檢索查詢短語Q的記入列表,并且使這些列表相交以判斷哪些文獻出現在查詢短語的所有(或一些)記入列表上。如果查詢中的短語Q中有一組擴展短語Qe(下文中將進一步解釋),那么搜索系統120首先形成所述擴展短語的記入列表的并集,然后使其與這些記入列表相交。如上所述,搜索系統120通過在不完整短語列表216中查找每個查詢短語Q來識別擴展短語。
相交的結果是一組與查詢相關的文獻。通過短語和相關短語編制文獻索引,識別查詢中的短語Q,然后將查詢展開到包括擴展短語,從而產生一組比傳統的基于布爾的搜索系統更與查詢相關的文獻的選集,在傳統的基于布爾的搜索系統中,只選擇那些含有所述查詢項的文獻。
在一實施例中,搜索系統120可以使用一優化機制來響應查詢識別文獻而不一定使查詢短語Q的所有記入列表相交。由于索引150的結構,所以對于每一個短語gj,其相關短語gk均知曉,并且在gk的相關短語位向量中識別。因此,此信息可用于簡化其中兩個或兩個以上查詢短語是彼此相關的短語或具有共同的相關短語的相交過程。在那些情況下,相關短語位向量可直接存取然后用于接著檢索相應文獻。下文更全面地描述此方法。
給定任意兩個查詢短語Q1和Q2,會有三種可能的相關情形1)Q2是Q1的相關短語;2)Q2不是Q1的相關短語,且其各自的相關短語Qr1和Qr2不相交(即,沒有共同的相關短語);及3)Q2不是Q1的相關短語,但其各自的相關短語Qr1和Qr2相交。
對于每一對查詢短語,搜索系統120通過查找查詢短語Qp的相關短語位向量來確定適當的情形。
搜索系統120繼續為查詢短語Q1檢索包括那些含有Q1的文獻的記入列表,并為這些文獻中的每個文獻檢索相關短語位向量。Q1的相關短語位向量將指示短語Q2(若有,則還包括剩余查詢短語中的每個短語)是否是Q1的相關短語且是否存在于該文獻中。
如果第一種情況適用于Q2,那么搜索系統120掃描Q1記入列表中的每個文獻的相關短語位向量,以便判斷其中是否設有Q2的位。如果Q1記入列表中的文獻d沒有設這個位,那么就意味Q2沒有出現在那個文獻中。因此,可以立即將這個文獻排除在考慮之外。然后,可以對剩余文獻計分。這還意味著搜索系統120無需處理Q2的記入列表來查看它還存在于哪些文獻中,從而節省了計算時間。
如果第二種情況適用于Q2,那么這兩個短語彼此無關。例如,查詢“cheapbolt action rifle(便宜的手動槍栓步槍)”有兩個短語“cheap”和“bolt action rifle”。這些短語無一相關,另外,這些短語中的每個短語的相關短語都不重疊;即“cheap”的相關短語有“low cost”、“inexpensive”、“discount”、“bargainbasement”和“lousy”,而“bolt action rifle”的相關短語有“gun”、“22 caliber”、“magazine fed”和“Armalite AR30M”,因此這些列表不相交。在此情況下,搜索系統120使Q1和Q2的記入列表正則(regular)相交以便獲得文獻用于計分。
如果第三種情況適用,那么兩個短語Q1和Q2雖然不相關,但它們具有至少一個共同的相關短語。例如,短語“bolt action rifle”和“22”都會有“gun”作為相關短語。在此情況下,搜索系統120檢索這兩個短語Q1和Q2的記入列表并且使這些列表相交以產生含有這兩個短語的文獻列表。
然后,搜索系統120可以快速地對所得文獻中的每個文獻計分。首先,搜索系統120確定每個文獻的分數調整值。分數調整值是由在一文獻的相關短語位向量中對應于查詢短語Q1和Q2的位置的位所形成的掩碼。例如,假定Q1和Q2對應于文獻d的相關短語位向量中的第三和第六個雙位位置,并且第三個位置的位值是(1,1)且第六個位置的位值是(1,0),那么分數調整值就是位掩碼“00 00 11 00 00 10”。然后,使用分數調整值來屏蔽文獻的相關短語位向量,接著將修正后的短語位向量載入分等級函數(如下所述)以便用于計算所述文獻的體分數。
2.分等級a)基于所含短語對文獻分等級搜索系統120提供分等級階段604,在此階段,使用每個文獻的相關短語位向量中的短語信息和查詢短語的群集位向量來對搜索結果中的文獻分等級。此方法是根據文獻中所含有的短語或非正式的“體命中數”來分等級。
如上所述,對于任一給定的短語gj,gj的記入列表中的每個文獻d都有一個用于識別在文獻d中存在哪些相關短語gk和哪些二級相關短語gi的相伴相關短語位向量。一給定文獻中存在的相關短語和二級相關短語越多,在給定短語的文獻相關短語位向量中就將設置越多的位。設置的位越多,相關短語位向量的數值就越大。
因此,在一個實施例中,搜索系統120根據文獻的相關短語位向量的值來對搜索結果中的文獻排序。含有與查詢短語Q最相關的短語的文獻將具有最高值的相關短語位向量,并且這些文獻將是搜索結果中的最高等級的文獻。
此方法之所以較理想是因為在語義上,這些文獻在主題上與查詢短語最相關。注意,此方法可以提供高度相關的文獻,盡管這些文獻不含高頻率的輸入查詢項q,這是因為相關短語信息不僅用于識別相關文獻,而且接著對這些文獻分等級。具有低頻率的輸入查詢項的文獻仍可具有查詢項的大量相關短語,因此其可比具有高頻率的輸入查詢項和短語但無相關短語的文獻更相關。
在第二實施例中,搜索系統120根據結果集合中每個文獻所含有的查詢短語Q的相關短語來對每個文獻計分。此通過如下方式完成。
給定每個查詢短語Q,將存在某一數量N的與所述查詢短語相關的短語Qr,其可在短語識別過程中識別。如上所述,根據相關查詢短語Qr來自查詢短語Q的信息增益來對相關查詢短語Qr定序。然后,對這些相關短語指派點數,先為第一相關短語Qr1(即,具有來自Q的最高信息增益的相關短語Qr)指派N個點,然后為下一個相關短語Qr2指派N-1個點,然后為Q3指派N-2個點,依此類推,因此將最后一個相關短語QrN指派為1個點。
然后,確定存在查詢短語Q的哪些相關短語Qr,并且為所述文獻賦予指派給每個此等相關短語Qr的點數,從而對搜索結果中的每個文獻計分。接著將所述文獻按照從高到低的分數排序。
作為另一改進,搜索系統120可以從結果集合中精選文獻。在某些情況下,文獻可能關于許多不同的主題;尤其對于較長文獻而言更是如此。在許多情況下,相比于與許多不同主題相關的文獻,用戶更喜歡那些與查詢中所表示的單個主題密切相關的文獻。
為了精選后一種文獻,搜索系統120使用查詢短語的群集位向量中的群集信息,并且除去其中具有多于臨界數量的群集的任何文獻。例如,搜索系統120可除去任何含有多于兩個群集的文獻。此群集閾值可預先確定,或由用戶設定為一個搜索參數。
b)基于錨短語對文獻分等級除了基于查詢短語Q的體命中數來對搜索結果中的文獻分等級外,在一個實施例中,搜索系統120還基于以對其他文獻的錨出現的查詢短語Q和相關查詢短語Qr來對文獻分等級。在一個實施例中,搜索系統120計算每個文獻的分數,所述分數是兩個分數(即,體命中分數和錨命中分數)的函數(例如,線性組合)。
例如,一給定文獻的文獻分數的計算可如下分數=.30*(體命中分數)+.70*(錨命中分數)。
.30和.70的權值可根據需要調整。以如上所述的方式給定查詢短語Qp,則一文獻的體命中分數就是所述文獻的最高值的相關短語位向量的數值。或者,搜索系統120可以通過如下方式直接獲得所述值查找索引150中的每個查詢短語Q,從查詢短語Q的記入列表訪問文獻,然后存取相關短語位向量。
文獻d的錨命中分數是查詢短語Q的相關短語位向量的函數,其中Q是一引用文獻d的文獻中的錨項。當索引系統110為文獻庫中的文獻編制索引時,其為每個短語保存文獻列表,其中所述短語是一外鏈接中的錨文本,同時為每個文獻保存來自其他文獻的內鏈接(和相關聯的錨文本)。一個文獻的內鏈接是從其他文獻(引用文獻)到給定文獻的引用(例如,超鏈接)。
然后為了確定給定文獻d的錨命中分數,搜索系統120用錨短語Q在以索引列出的引用文獻R集合(i=1-引用文獻數)上迭代,然后對下列乘積求和Ri.Q.相關短語位向量*D.Q.相關短語位向量。
這里的乘積值是表示錨短語Q與文獻D主題相關的程度的分數。這里將此分數稱為“入站分數向量”。這個乘積有效地通過引用文獻R中的錨短語的相關位向量來對當前文獻D的相關位向量加權。如果引用文獻R本身與查詢短語Q相關(且因此具有較高值的相關短語位向量),那么此會增加當前文獻D分數的有效性。然后,組合體命中分數和錨命中分數以便如上所述產生文獻分數。
接著,為每個引用文獻R,獲得每個錨短語Q的相關短語位向量。這是對錨短語Q與文獻R主題相關程度的度量。這里將該值稱為“出站分數向量”。
然后從索引150,提取所有(引用文獻,被引用文獻)對的錨短語Q。然后通過這些對的相關聯的(出站分數向量,入站分數向量)值來對這些對排序。根據實施的不同,這些分量中的任一分量都可作為主排序關鍵字,而另一個分量可為次排序關鍵字。然后,將排序后的結果呈現給用戶。根據出站分數分量對文獻排序會使那些具有許多個與查詢相關的短語作為錨命中的文獻的等級最高,從而將這些文獻表示為“專家”文獻。根據入站文獻分數排序會使那些因為錨項而經常被引用的文獻的等級最高。
3.基于短語的搜索個性化搜索系統120的另一個方面是根據用戶特定興趣的模型來自定義搜索結果的分等級或使其個性化606。以此方式,那些更可能與用戶的興趣相關的文獻會排在搜索結果中的較高等級。搜索結果的個性化如下。
作為預備,比較有用的是就查詢和文獻(這兩項可用短語表示)定義用戶興趣(例如,用于模型)。對于一個輸入搜索查詢,一個查詢是由查詢短語Q、Qr的相關短語和查詢短語Qp的擴展短語Qe表示。因此,這組術語和短語表示查詢的含義。接著,用與頁相關聯的短語來表示文獻的含義。如上所述,給定查詢和文獻,從所述文獻索引所指的所有短語的體分數(相關位向量)確定所述文獻的相關短語。最后,可以按照代表這些元素中的每一元素的短語將用戶表示成一組查詢與一組文獻的并集。可以從用戶在先前的搜索結果中選擇的文獻,或者通常通過瀏覽語料庫(例如,訪問互聯網上的文獻),使用監控用戶動作及目的地的用戶端工具,來確定所述集合中所包括的代表用戶的特定文獻。
建構和使用用戶模型以進行個性化分等級的過程如下。
首先,為一給定用戶,保存所訪問過的最后K個查詢和P個文獻的列表,其中K和P較佳各為約250。這些列表可以保存在用戶帳號數據庫中,其中用戶是通過注冊或通過瀏覽器cookies來辨識。對于一給定用戶,這些列表在用戶第一次提供查詢時將是空的。
接著,從用戶接收查詢q。以如上所述的方式檢索q的相關短語Qr以及擴展短語。此形成查詢模型。
在第一遍中(例如,若沒有存儲用戶的任何查詢信息),搜索系統120運作后只是返回搜索結果中與用戶查詢相關的文獻,而不另外自定義分等級。
用戶端瀏覽器工具監控用戶通過(例如)點擊搜索結果中的文獻鏈接訪問了搜索結果中的哪些文獻。用于作為選擇哪些短語的基礎的這些被訪問文獻將成為用戶模型的一部分。對于每個此類被訪問文獻,搜索系統120檢索所述文獻的文獻模型,其為與所述文獻相關的一列短語。將每個與所述被訪問文獻相關的短語添加到用戶模型中。
接著,給定與一被訪問文獻相關的短語,可從每個短語的群集位向量確定與這些短語相關聯的群集。對于每個群集,通過在含有群集號或如上所述的群集位向量表示的相關短語列表中查找短語來確定作為所述群集的組員的每個短語。然后,將這個群集號添加到用戶模型中。此外,對于每個此類群集,保存一個計數器,并在每次將那個群集中的短語添加到用戶模型中時,使計數器遞增。如下所述,這些技術可用作權。因此,從用戶通過存取而表示出興趣的文獻上所存在的群集中所包括的短語建立了用戶模型。
同樣的通用方法可更精確地聚焦在俘獲用戶表明比僅僅訪問文獻更高等級的短語信息(對此,用戶可能只是在需要是判斷文獻相關)。例如,將短語收集到用戶模型中可能限于那些用戶打印、保存、存儲為喜愛或鏈接、電郵給另一用戶、或在瀏覽器窗口中打開一段延長時間(例如,10分鐘)的文獻。這些及其他動作都表明對文獻的更高等級的興趣。
當從用戶接收到另一查詢時,檢索相關查詢短語Qr。使這些相關查詢短語Qr與用戶模型中所列的短語相交,以便確定所述查詢與用戶模型中同時存在哪些短語。初始化所述查詢的相關短語Qr的掩碼位向量。如上所述,這個位向量是一個雙位向量。對于同時存在于用戶模型中的所述查詢的每個相關短語Qr,將此相關短語的兩個位設定在掩碼位向量中。因此,掩碼位向量代表同時存在于查詢與用戶模型中的相關短語。
然后,使用掩碼位向量來通過使當前搜索結果集合中的每個文獻的相關短語位向量與所述掩碼位向量進行與操作(ANDing)來屏蔽所述相關短語位向量。此達到通過掩碼位向量調整體分數和錨命中分數的效果。然后,如前所述計算文獻的體分數和錨分數并將其呈現給用戶。此方法主要需要文獻具有包括在用戶模型中的查詢短語以便排到較高等級。
作為一個不會強加前述嚴格約束的替代實施例,掩碼位向量可以排成數組,以便每個位都可用來對用戶模型中的相關短語的群集計數加權。因此,每個群集計數都被乘以0或1,從而有效地使計數為0或保持原計數。接著,就像使用權那樣使用這些計數本身來乘正在計分的每個文獻的相關短語。此方法的好處是仍允許適當地計分哪些沒有查詢短語作為相關短語的文獻。
最后,可將用戶模型限于當前對話,其中對話是搜索中有效時期的時間間隔,在此對話后,轉儲用戶模型。或者,一給定用戶的用戶模型可持續一段時間,然后使其權值下降或過期。
IV.結果顯示顯示系統130從搜索系統120接收經過計分和排序的搜索結果,并且執行其他組織、注釋和群集操作,然后將結果呈現給用戶。這些操作有利于用戶理解搜索結果的內容,去除重復結果,并且提供對搜索結果的更有代表性的取樣。圖7說明顯示系統120的以下主要功能性操作700根據主題群集文獻;702產生文獻說明;704去除重復文獻。
這些操作中的每個操作都與輸入搜索結果701和輸出修正后的搜索結果703一起采用。如圖7所示,這些操作的次序是獨立的,且可根據一給定實施例的需要而改變,因此,可以流水線的方式而不是如圖所示并行輸送這些輸入。
1.顯示的動態分類產生對于一給定查詢,通常會返回幾百個、甚至可能幾千個滿足所述查詢的文獻。在許多情況下,某些文獻雖然彼此內容不同,但其足夠相關以形成一群有意義的相關文獻,基本上就是一個群集。然而,大多數用戶不會看搜索結果中前30或40個以外的文獻。因此,如果前(例如)100個文獻來自三個群集,但接下來的100個文獻代表另外的4個群集,那么在不經進一步的調整下,用戶通常不會看后面這些文獻,但事實上這些文獻可能與用戶查詢十分相關,因為它們代表了各種與查詢相關的不同主題。因此,這里需要為用戶提供來自每個群集的樣本文獻,從而向用戶展現來自搜索結果的不同文獻的更寬的選集。顯示系統130如下進行。
如同系統100的其他方面,顯示系統130利用搜索結果中每個文獻d的相關短語位向量。更詳細地說,對于每個查詢短語Q,且對于Q的記入列表中的每個文獻d,相關短語位向量指示文獻中存在哪些相關短語Qr。然后在搜索結果中的文獻集合上,對于每個相關短語Qr,通過合計對應于Qr的位位置的位值來確定表示多少文獻含有相關短語Qr的計數。當對搜索結果求和及排序時,將指示最頻繁出現的相關短語Qr,其中的每個相關短語Qr都將是一文獻群集。最頻繁出現的相關短語是第一群集,取其相關短語Qr作為其名稱,對于最高的三到五個群集依此類推。因此,識別了每個最高的群集,取短語Qr作為群集的名稱或標題。
現在,可以各種方式將來個每個群集的文獻呈現給用戶。在一應用中,可顯示固定數量的來自每個群集的文獻,例如每個文獻中計分在前10的文獻。在另一應用中,可顯示成比例數量的來自每個群集的文獻。因此,如果搜索結果中有100個文獻,其中50個來自群集1,30個來自群集2,10個來自群集3,7個來自群集4,且3個來自群集5,并且希望只顯示20個文獻,那么文獻的選擇如下10個文獻來自群集1,7個文獻來自群集2,2個文獻來自群集3,且1個文獻來自群集4。然后,在適當的群集名稱作為標題下分組后,將各文獻展示給用戶。
例如,假定搜索查詢為“blue merle agility training(藍色默爾敏捷訓練)”,對此搜索系統120接收到100個文獻。搜索系統120將已經識別“blue merle”和“agility training”作為查詢短語。這些查詢短語的相關短語為
“blue merle”“Australian Sphepherd”、“red merle”、“tricolor”、“aussie”;“agility training”“weave poles”、“teeter”、“tunnel”、“obstacle”、“border collie”。
顯示系統130然后為每個查詢短語的每個上述相關短語確定表示含有所述短語的文獻數的計數。例如,假定短語“weave poles”出現在100個文獻中的75個文獻中,“teeter”出現在60個文獻中,“red merle”出現在50個文獻中。那么,第一群集稱為“weave poles”,且存在選定數量的來自該群集的文獻;第二群集稱為“teeter”,且同樣存在選定數量;依此類推。對于一固定顯示,可選擇10個來自每個群集的文獻。按比例顯示將使用相對于總文獻數成比例數量的來自每個群集的文獻。
2.基于主題的文獻說明顯示系統130的第二個功能是創建702文獻說明,所述文獻說明可插入每個文獻的搜索結果顯示中。這些說明以每個文獻中所存在的相關短語為基礎,因此有助于用戶以在內容上與查詢相關的方式了解所述文獻是關于什么內容。文獻說明可以是一般性的,也可以是對用戶個性化的。
a)一般主題文獻說明如上所述,給定一查詢,搜索系統120先確定查詢短語的相關查詢短語Qr以及擴展短語,然后為查詢識別相關文獻。顯示系統130訪問搜索結果中的每個文獻并執行下列操作。
首先,顯示系統130通過查詢短語Q、相關查詢短語Qr和擴展短語Qp的實例數來對文獻句子分等級,進而為文獻的每個句子保存這三個方面的計數。
然后,通過這些計數來對句子排序,其中第一排序關鍵字是查詢短語Q的計數,第二排序關鍵字是相關查詢短語Qr的計數,且最后一個排序關鍵字是擴展短語Qp的計數。
最后,將排序后的前N(例如5)個句子用作文獻說明。可將這組句子格式化,并將其包括在修正后的搜索結果703中的文獻顯示中。對搜索結果中的一定數量的文獻重復此過程,并且可以在每次用戶請求下一頁結果時按要求進行。
b)個性化的基于主題的文獻說明在提供搜索結果的個性化的實施例中,可同樣使文獻說明個性化以便反映用戶模型中所表示的用戶興趣。顯示系統130如下進行。
首先,如上所述,顯示系統通過使查詢相關短語Qr與用戶模型(其列出了出現在由用戶訪問過的文獻中的短語)相交來確定與用戶相關的相關短語。
然后,顯示系統130根據位向量本身的值來對這組用戶相關短語Ur穩定的排序,將排序后的列表預先掛到查詢相關短語Qr的列表上,并除去任何重復短語。穩定排序保留了同樣等級的短語的現有次序。此產生與查詢或用戶相關的相關短語集合,稱為集合Qu。
現在,以類似于上述一般文獻說明方法的方式,顯示系統130使用此有序短語列表作為對搜索結果中的每個文獻中的句子分等級的基礎。因此,對于一給定文獻,顯示系統130通過每個用戶相關短語和查詢相關短語Qu的實例數來對文獻中的句子分等級,并且根據查詢計數來對分等級后的句子排序,最后基于每個此類短語的擴展短語數排序。而在以前,排序關鍵字的次序是查詢短語Q、相關查詢短語Qr和擴展短語Qp,但這里的排序關鍵字的次序是從高到低等級的用戶相關短語Qr。
再次地,對搜索結果中的文獻重復此過程(按要求或預先)。于是對于每個此類文獻,所得文獻說明包括來自所述文獻的N個最高等級的句子。此處,這些句子將是具有最高用戶相關短語Ur數量的句子,因此代表文獻中表示與用戶最相關的概念和主題的關鍵句(至少根據用戶模型中所俘獲的信息)。
3.重復文獻檢測和去除在諸如互聯網的大語料庫中,其中在許多不同位置存在同一文獻的多個實例或一文獻的多個部分是十分常見的。例如,由一新聞局(例如,美聯社(Associated Press))產生的一篇給定的新聞文章可能被復制在一打或一打以上的網站或各報紙上。響應搜索查詢而包括所有這些重復文獻只會使用戶負擔多余的信息,而不是有用地響應查詢。因此,顯示系統130提供另一個用于識別那些可能彼此重復或接近重復的文獻而只在搜索結果中包括這些文獻中的一個文獻的能力704。因此,用戶接收到更多樣化且更強大的結果集合,而不必浪費時間來看那些彼此重復的文獻。顯示系統130所提供的功能性如下。
顯示系統130處理搜索結果集合701中的每個文獻。對于每個文獻d,顯示系統130首先確定與所述文獻相關聯的相關短語R的列表。對于這些相關短語中的每個短語,顯示系統130根據這些短語中的每個短語的出現頻率來對文獻中的句子分等級,然后選擇N個(例如,5到10個)最高等級的句子。然后將這組句子與所述文獻結合存儲。這樣做的一個方法是連接這些選定的句子,然后利用散列表來存儲文獻識別符。
接著,顯示系統130將每個文獻d的選定句子和搜索結果701中的其他文獻的選定句子進行比較,如果這些選定句子匹配(在允許誤差內),那么就認為所述文獻重復,并將其中一個文獻從搜索結果中去除。例如,顯示系統130可以將連接后的句子弄散列,如果散列表中已經具有所述散列值的款目,那這就表明當前文獻與不久前散列的文獻重復。然后,顯示系統130可以用所述文獻中的一個文獻的文獻ID來更新此表。較佳地,顯示系統130保持那個具有文獻有效性的較高頁等級或其他查詢無關度量的文獻。此外,顯示系統130可以修正索引150以除去重復文獻,使得它不會出現在將來的任何查詢的搜索結果中。
索引系統110可直接應用相同的重復文獻去除方法。當爬行一文獻時,執行上述文獻說明方法以獲得選定句子,然后將這些句子弄散列。如果散列表已填滿,那再次地,新爬行的文獻被視為是前一文獻的重復文獻。同樣地,索引系統110可以接著包括那個具有較高頁等級或其他查詢無關度量的文獻。
上文就一個可能的實施例特別詳細地描述了本發明。所屬技術領域的技術人員將明白,可在其他實施例中實施本發明。首先,各組件的特定命名、術語的首字母大寫、屬性、數據結構或任何其他編程或結構方面都不是強制或重要的,實現本發明的機制或其特征可以具有不同的名稱、格式或協議。另外,所述系統可以如上所述通過硬件和軟件的組合或完全在硬件元件中來實現。而且,本文所描述的各系統組件之間的特定功能性劃分僅僅是示范性的而不是強制性的;由單個系統組件執行的功能可以改為由多個組件執行,由多個組件執行的功能可以改為由單個組件執行。
上述說明的一部分就信息操作的算法和符號表示介紹了本發明的特征。這些算法說明和表示是數據處理領域的技術人員所用的方法,因此最有效地將其工作內容轉給了所屬技術領域的其他技術人員。雖然在功能或邏輯上描述了這些操作,但應了解這些操作是由計算機程序實現的。此外,還證實有時可方便地將這些操作排列稱為模塊或其他功能名稱,而不會喪失一般性。
除非另外特定指出,否則由上述討論顯而易見,在整篇說明中,利用“處理”或“計算(computing/calculating”或“確定”或“顯示”等術語的論述是指計算機系統或類似電子計算裝置的動作和過程,其操縱和轉換計算機系統的存儲器或寄存器或其他此類信息存儲、傳輸或顯示裝置內表示為物理(電子)量的數據。
本發明的某些方面包括本文所述的算法形式的過程步驟和指令。應注意,本發明的過程步驟和指令可體現在軟件、固件或硬件中,當體現在軟件中時,可將其下載以駐存在由實時網絡操作系統使用的不同平臺上并從這些平臺操作。
本發明還涉及一種用于執行本文所述的操作的設備。這種設備可以根據所需的目的特定地建造,或者其可包括一通用計算機,該計算機可以由一個存儲在一可由所述計算機訪問的計算機可讀媒體上的計算機程序選擇性地啟動或重新配置。此類計算機程序可以存儲在計算機可讀存儲媒體中,例如(但不限于)任何類型的磁盤(包括軟盤)、光盤、CD-OM、磁光盤、只讀存儲器(ROM)、隨機存取存儲器(RAM)、EPROM、EEPROM、磁卡或光卡、特殊應用集成電路(ASIC),或任何類型的適合存儲電子指令的媒體,且各自耦接至計算機系統總線。此外,本說明書中提到的計算機可以包括單個處理器,或者可以是采用多個處理器設計以便增加計算能力的架構。
本文提出的算法和操作固有地與任何特定的計算機或其他設備無關。各種通用系統也可以與根據本文的教示的程序一起使用,或者可證實可以便利地建造更特殊的設備來設備來執行所需方法步驟。所屬技術領域的技術人員將明白各種這些系統所需的結構以及等效變化。此外,并沒有參照任何特定的編程語言來描述本發明。可知,可以使用各種編程語言來實現本文所述的本發明的教示,而且提到任何特定語言是為了揭示本發明的實現及最佳模式。
本發明很適合眾多拓撲學上的各種各樣的計算機網絡系統。在此領域,大網絡的配置和管理包括存儲裝置和計算機,其在通信上耦合至諸如互聯網的網絡上的不同計算機和存儲裝置。
最后應注意,本說明書中所用的語言主要是為了可讀性和指導性的目的而選擇的,也可以不選擇這種語言來描繪或限定發明主題。因此,本發明的揭示內容只是想說明而不是限制本發明的范疇,本發明的范疇如權利要求書所述。
權利要求
1.一種用于響應一查詢而選擇一文獻庫中的文獻的方法,所述方法包括接收一查詢;識別所述查詢中的復數個短語,其中至少一個短語是一個多字短語;識別所述識別短語中的至少一個短語的一個擴展短語;及從所述文獻庫中選擇含有至少一個來自一集合的短語的文獻,所述集合包括所述查詢中的短語與所述擴展短語。
2.如權利要求1所述的方法,其中所述選擇文獻的步驟包括組合一識別短語的一記入列表與所述識別短語的所述擴展短語的一記入列表以形成一個組合記入列表;及選擇出現在所述組合記入列表與所述其它識別短語的所述記入列表中的文獻。
3.一種用于響應一查詢而選擇一文獻庫中的文獻的方法,所述方法包括接收一查詢;識別所述查詢中的一個不完整短語;用一個擴展短語來替換所述不完整短語;及從所述文獻庫中選擇含有所述擴展短語的文獻。
4.如權利要求3所述的方法,其中所述識別一不完整短語與替換所述不完整短語的步驟包括識別所述短語中的一個候選短語;將所述候選短語與一不完整短語列表中的一個不完整短語相匹配;及用一個與所述不完整短語相關聯的擴展短語來替換所述候選短語。
5.如權利要求3所述的方法,其中一不完整短語的一擴展短語包含以所述不完整短語開始的所述不完整短語的一超序列。
6.一種用于響應一查詢而選擇一文獻庫中的文獻的方法,所述方法包括接收一包括一第一短語與一第二短語的查詢;檢索含有所述第一短語的文獻的一記入列表;為所述記入列表中的每個文獻存取一指示在所述文獻中存在的所述第一短語的相關短語的列表;響應指示在一文獻中存在所述第二短語的相關短語列表,選擇所述文獻將其包括在所述查詢的一結果中,而不檢索含有所述第二短語的文獻的一記入列表。
7.如權利要求6所述的方法,其進一步包括響應指示在一文獻中不存在所述第二短語的相關短語列表,將所述文獻排除在所述查詢的所述結果之外,而不檢索含有所述第二短語的文獻的一記入列表。
8.如權利要求6所述的方法,其進一步包括響應指示所述第二短語不是所述第一短語的一相關短語的相關短語列表,使所述第一短語的文獻的所述記入列表與所述第二短語的文獻的一記入列表相交以選擇同時含有所述第一短語與所述第二短語的文獻。
9.如權利要求6所述的方法,其進一步包括將一第一短語關于一文獻的相關短語列表存儲在一位向量中,其中所述位向量中的一位是為存在于所述文獻中的所述第一短語的每個相關短語而設定,并且所述向量中的一位為不存在所述文獻中的所述第一短語的每個相關短語復位,其中所述位向量具有一數值;及通過根據為存在于一選定文獻中的所述第一短語的相關短語而設定的所述位來確定所述位向量的一調整值而對所述文獻計分。
10.一種用于響應一查詢而對包括在一搜索結果中的文獻分等級的方法,所述查詢包含至少一個查詢短語,所述方法包括為所述搜索結果中的每個文獻,存取一查詢短語的一相關短語位向量,其中所述位向量中的每個位都指示所述查詢短語的一相關短語的存在與否;及通過所述搜索結果中的所述文獻的相關短語位向量的值來對所述搜索結果排序,以使得具有最高值的相關短語位向量的文獻在所述搜索結果中的等級最高。
11.如權利要求10所述的方法,其中所述相關短語位向量中的每個位都與所述查詢短語的一相關短語相關聯;且對所述位定序,以使得所述位向量的一個最高有效位與一個相對于所述查詢短語具有一最大信息增益的相關短語相關聯,并且一最低有效位與一相對于所述查詢短語具有最小信息增益的相關短語相關聯。
12.一種用于響應一查詢而對包括在一搜索結果中的文獻分等級的方法,所述查詢包含至少一查詢短語,所述方法包括為所述搜索結果中的每個文獻存取所述查詢的一短語的一相關短語位向量,其中所述位向量中的每個位都指示所述查詢短語的一相關短語的存在與否;對于指示所述查詢短語的一相關短語存在的每個位,將與所述位相關聯的預定點數添加到所述文獻的分數中;及通過所述搜索結果中的所述文獻的文獻分數來對所述文獻排序。
13.如權利要求12所述的方法,其中所述相關短語位向量中的每個位都與所述查詢短語的一相關短語相關聯;對所述位定序,以使得所述位向量的一最高有效位與一相對于所述查詢短語具有一最大信息增益的相關短語相關聯,并且一最低有效位與一相對于所述查詢短語具有最低有效信息增益的相關短語相關聯;且與每個位相關聯的所述預定點數量的范圍是從與所述最高有效位相關聯的一最大點數到與一最低有效位相關聯的一最低點數。
14.一種用于提供一信息檢索系統的方法,所述方法包括自動識別在一包含復數個文獻的文獻庫中的有效短語,其中所述有效短語含有多字短語;根據所述文獻中所包含的有效短語來對所述文獻編制索引;接收一搜索查詢;識別所述查詢中所含有的短語;根據所述所識別的短語來選擇文獻;及根據所述所識別的短語來對所述所選文獻分等級。
全文摘要
本發明涉及一種信息檢索系統,其使用短語來編制索引、檢索、組織并描述文獻。識別預測文獻中存在其它短語的短語。根據文獻中所包括的短語來對文獻編制索引。同時識別相關短語與擴展短語。識別并使用查詢中的短語來檢索文獻并對文獻分等級。同時使用短語來群集搜索結果中的文獻、創建文獻說明并從搜索結果與索引中去除重復文獻。
文檔編號G06F17/30GK1728141SQ20051008537
公開日2006年2月1日 申請日期2005年7月26日 優先權日2004年7月26日
發明者安娜·林恩·帕特森 申請人:咕果公司