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