專利名稱:在排序搜索結(jié)果時引入錨文本用的系統(tǒng)和方法
相關(guān)申請交叉參照本發(fā)明與序列號為10/804,326、發(fā)明名稱為“文本文檔搜索中的域加權(quán)(FieldWeighting in Text Document Searching)”、于2004年3月18日提交的專利申請有關(guān)。相關(guān)申請被轉(zhuǎn)讓給本專利申請的受讓人,通過參考包括在此。
背景技術(shù):
在文本文檔搜索中,用戶一般在搜索引擎中輸入查詢。搜索引擎對照一個編有索引的文檔的數(shù)據(jù)庫評價此查詢,并返回最滿足該查詢的文檔的有序列表。一個得分由搜索引擎按照運算法則生成,它是表示文檔有多么滿足查詢的測度。常用的評分算法依賴于將查詢分裂成搜索詞、并使用關(guān)于被搜索的文本文檔正文中個搜索詞出現(xiàn)次數(shù)的統(tǒng)計信息。根據(jù)它們所對應(yīng)的得分,文檔按照等級順序被排序,這樣用戶能夠在搜索結(jié)果列表的最前面看到最匹配的搜索結(jié)果。
許多這樣的評分算法假設(shè)每個文檔都是一個單一的、無差別的文本串。搜索詞的查詢被應(yīng)用于文本串(或者更精確地說,被應(yīng)用于產(chǎn)生自表示每個文檔的無差別文本串的統(tǒng)計中)。然而,文檔通常具有一些內(nèi)部結(jié)構(gòu)(例如包含標(biāo)題的域、段標(biāo)題、元數(shù)據(jù)域等),所以將這些文檔簡化為無差別文本串喪失了所有由這樣的結(jié)構(gòu)信息提供的搜索好處。
一些現(xiàn)有的方法嘗試通過為各個文檔域創(chuàng)建統(tǒng)計表和為各個域產(chǎn)生得分的方法,將文檔的內(nèi)部結(jié)構(gòu)納入搜索之中。單個文檔的得分隨后被作為該文檔的域得分的加權(quán)和來計算。一些現(xiàn)有的方法嘗試包含文檔的內(nèi)部結(jié)構(gòu),但并不曾嘗試把包含在其他文檔中的有關(guān)該文檔的文本考慮在內(nèi)。
發(fā)明內(nèi)容
本發(fā)明涉及使用引入了錨文本分量的評分函數(shù)來排序搜索結(jié)果的系統(tǒng)和方法。錨文本由一個指向另一個文檔的URL(統(tǒng)一資源定位符)和一個伴隨的原文描述組成。該文本直接與目標(biāo)文檔相關(guān),并且被用于本發(fā)明中以提供一個目標(biāo)文檔的相關(guān)性的測度。例如,文檔A含有一些指向文檔B的錨文本。如果該錨文本中包含一個文檔B中沒有的單詞,在沒有本發(fā)明所提供的附加功能性的情況下,包含這個單詞的查詢將不返回此被鏈接的文檔。只有文檔A被返回,但文檔B不被返回。由于文檔A中的描述是用來說明被鏈接文檔B的,該文本非??赡苁窃摫绘溄游臋n的概要/描述。通過在目標(biāo)文檔的排序中引入錨文本,本發(fā)明糾正了這個不足。
在本發(fā)明的一個方面中,網(wǎng)絡(luò)首先“被爬行”以創(chuàng)建一個與網(wǎng)絡(luò)鏈接和頁面相關(guān)聯(lián)的屬性表。“爬行”是指自動地將幾個文檔(或任何類似的離散信息單元)收集到一個被稱為索引的數(shù)據(jù)庫中。通過追蹤某些文檔中的文檔參考鏈接并且隨即處理每一個被發(fā)現(xiàn)的文檔的方法,爬行遍歷了網(wǎng)絡(luò)上的多個文檔。通過辨識文檔中的關(guān)鍵詞和普通文本的方法來處理文檔以創(chuàng)建索引。本發(fā)明的索引包括一個獨立的錨文本索引分區(qū)。本發(fā)明編了索引的文本并不只限于伴隨著URL的錨文本。錨文本也能夠包括參照任何其他對象的文本。例如人、種類、目錄等也可以被索引。
在本發(fā)明的另一個方面中,一旦錨文本被編入索引且與適當(dāng)?shù)哪繕?biāo)文檔相關(guān)聯(lián),該錨文本還被用于推進(jìn)文檔排序。在內(nèi)容和錨文本中都存在的詞的詞頻率被相加,這樣一個詞在文檔中的總的出現(xiàn)次數(shù)增加了。目標(biāo)文檔的長度也因來自于指向特定目標(biāo)文檔的源文檔的錨文本而加長了。這兩個都是被用于確定文檔的相關(guān)性測度的評分函數(shù)的因子。
圖1說明了一種可用在本發(fā)明的一個實施例中的示例性計算設(shè)備。
圖2是根據(jù)本發(fā)明使用索引鍵進(jìn)行范圍搜索的一個示例性系統(tǒng)的功能框圖。
圖3是根據(jù)本發(fā)明的一個示例性索引結(jié)構(gòu)的功能框圖。
圖4是根據(jù)本發(fā)明的一個示例性網(wǎng)絡(luò)圖。
圖5是根據(jù)本發(fā)明用于處理錨文本以將錨文本包含在文檔排序中的一個示例性進(jìn)程的邏輯流程圖。
圖6是根據(jù)本發(fā)明用于將錨文本引入對搜索結(jié)果的排序的一個示例性進(jìn)程的邏輯流程圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作更充分的描述,附圖形成說明的一部分并且以圖示的方式顯示了用于實踐本發(fā)明的具體示例性實施例。然而,本發(fā)明可能以許多不同的形式實施,因此不應(yīng)解釋為局限于這里所陳述的具體實施方案;相反,提供這些實施方案是為了使本公開詳盡又完整、并且向本技術(shù)領(lǐng)域技術(shù)人員完全傳遞本發(fā)明的范圍。其中,本發(fā)明可體現(xiàn)為方法或裝置。因此,本發(fā)明可采用完全硬件的實施方式、完全軟件的實施方式或軟件和硬件相結(jié)合的實施方式。因此,以下的詳細(xì)說明不應(yīng)從限制意義上來理解。
說明性操作環(huán)境參照圖1,用于實現(xiàn)本發(fā)明的一個示例性系統(tǒng)包括一個計算設(shè)備,諸如計算設(shè)備100。計算設(shè)備100可配置成客戶機(jī)、服務(wù)器、可移動設(shè)備或其他計算設(shè)備。在一個非?;镜呐渲弥?,計算設(shè)備100一般包括至少一個處理單元102和系統(tǒng)存儲器104。取決于計算設(shè)備的精確配置和類型,系統(tǒng)存儲器104可以是易失性的(如RAM)、非易失性的(如ROM、閃存等)或是兩者的某種組合。系統(tǒng)存儲器104通常包括一個操作系統(tǒng)105、一個或多個應(yīng)用程序106,且可包括程序數(shù)據(jù)107。在一個實施方案中,應(yīng)用程序106包含一個用于實現(xiàn)本發(fā)明功能性的搜索排序應(yīng)用程序120。這一基本配置在圖1中由虛線108中的那些組件表示。
計算設(shè)備100可具有附加的特征或功能性。例如,計算設(shè)備100也可包括附加數(shù)據(jù)存儲設(shè)備(可移動的和/或不可移動的),諸如磁盤、光盤或磁帶。這種附加存儲器在圖1中由可移動存儲器109和不可移動存儲器110表示。計算機(jī)存儲介質(zhì)可包括易失性的和非易失性的、可移動的和不可移動的介質(zhì),這些存儲介質(zhì)以用于信息存儲的任何方法或技術(shù)實現(xiàn),所述信息包括計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。系統(tǒng)存儲器104、可移動存儲器109和不可移動存儲器110都是計算機(jī)存儲介質(zhì)的例子。計算機(jī)存儲介質(zhì)包括但不限于RAM、ROM、EPROM、閃存或其它存儲器技術(shù),CD_ROM、數(shù)字通用盤(DVD)或其它光存儲器,磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備,或任何其他能夠用于存儲期望信息和能夠被計算設(shè)備100訪問的介質(zhì)。任何此類的計算機(jī)存儲介質(zhì)都可以是設(shè)備100的一部分。計算設(shè)備100也可以有輸入設(shè)備112,諸如鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等。輸出設(shè)備114如顯示器、揚聲器、打印機(jī)等也可被包含在其中。
計算設(shè)備100還包含使該設(shè)備可同其他計算設(shè)備118通信的通信連接116,比如通過網(wǎng)絡(luò)進(jìn)行通訊。通信連接116是通信介質(zhì)的實例之一。通信介質(zhì)通??梢杂捎嬎銠C(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)以諸如載波或其他傳輸機(jī)制的調(diào)制數(shù)據(jù)信號的形式來體現(xiàn),且包含一切信息傳遞介質(zhì)。術(shù)語“調(diào)制數(shù)據(jù)信號”是指具它的一個或多個特征以在信號中將信息進(jìn)行編碼的方式加以改變或設(shè)定的信號。作為例子,而非限制,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)和直接連接,和無線介質(zhì)如聲波、射頻、紅外或其他無線介質(zhì)。這里使用的術(shù)語“計算機(jī)可讀介質(zhì)”既包括存儲介質(zhì)又包括通信介質(zhì)。
將錨文本引入搜索排序中的說明性實施方案本發(fā)明的具體實施方案涉及搜索引擎的排序函數(shù)。搜索引擎的質(zhì)量通常由根據(jù)排序函數(shù)所分配的等級得到的文檔相關(guān)性來確定。錨文本定義為在HTML(<Ahref=http//example>Example Web</A>)錨標(biāo)簽中的文本。通常,錨文本包含簡短而高質(zhì)量的目標(biāo)URL(統(tǒng)一資源定位符)的描述,而且排序函數(shù)將指向給定文檔的錨標(biāo)簽的內(nèi)容引入到該文檔的排序函數(shù)中去是有益的。
圖2所示是用于根據(jù)本發(fā)明使用索引鍵進(jìn)行范圍搜索的一個示例性系統(tǒng)的功能框圖。系統(tǒng)200包括索引210、管道(pipeline)220、文檔接口230、客戶接口240、錨文本插件250、索引插件260和錨文本表270。
索引210的結(jié)構(gòu)包括獨立的索引分區(qū),這些獨立的索引分區(qū)包括一個主分區(qū)和另一個針對錨文本的分區(qū)。索引210結(jié)構(gòu)的更詳細(xì)的描述在下文圖3的討論中提供。這些索引的記錄被用來為客戶查詢提供結(jié)果。在一個實施方案中,索引210對應(yīng)于多個為索引記錄共同提供存儲的數(shù)據(jù)庫。
管道220是一個用于為索引而獲取文檔或文檔記錄的收集機(jī)制的說明性表示。在把對應(yīng)于有關(guān)數(shù)據(jù)的記錄輸入到索引210中之前,管道220允許使用各種插件(如錨文本插件250)進(jìn)行數(shù)據(jù)過濾。
文檔接口230提供協(xié)議、網(wǎng)絡(luò)接入點和數(shù)據(jù)庫訪問點,用于跨越多個數(shù)據(jù)庫和網(wǎng)絡(luò)站點檢索文檔。例如,文檔接口230可提供對因特網(wǎng)的訪問,同時也提供對本地服務(wù)器的數(shù)據(jù)庫的訪問和對當(dāng)前計算設(shè)備上的數(shù)據(jù)庫的訪問。其他實施方案可使用不同的協(xié)議訪問其他文檔站點而不背離本發(fā)明的本質(zhì)和范圍。
客戶接口240由提供客戶的訪問來形成并發(fā)起一次搜索。該搜索可根據(jù)關(guān)鍵詞和/或范圍鍵來定義。一個用于處理搜索查詢的示例性方法在下文圖7的討論中做更詳細(xì)的描述。
錨文本插件250是若干收集器管道插件中的一個。錨文本插件250辨識錨文本及其包含在文檔中的相關(guān)屬性。當(dāng)由文檔接口230提供的文檔被爬行時,錨屬性由錨文本插檔250收集。在一個實施方案中,錨文本插件250的功能性實際上被包括在一個屬性插件中而不是作為一個獨立的插件提供。該屬性插件辨識文檔所有的域及包括錨屬性在內(nèi)的這些域的相關(guān)聯(lián)屬性。在一個實施方案中,由于錨文本和目標(biāo)文檔相關(guān)聯(lián),因此將目標(biāo)文檔和錨文本相關(guān)聯(lián)的動作被推遲直到此次爬行完成為止。例如,當(dāng)文檔A被索引并且文檔A具有指向文檔B的錨文本時,該錨文本被應(yīng)用于文檔B。但是由于文檔A此刻正在被索引,該過程被推遲。同樣,可能有多個錨要被應(yīng)用于文檔B、要求先發(fā)現(xiàn)它們才能對文檔B進(jìn)行正確的索引。把對目標(biāo)文檔的索引一直延遲到爬行完成為止能更好地確保索引結(jié)果的正確性。
索引插件260是另一個連接到管道220的插件。索引插件提供用于生成、劃分和更新索引210的機(jī)制。在一個實施方案中,索引插件260先提供臨時緩存關(guān)鍵詞和生成自被爬行文檔的錨文本鍵的詞列表,然后再沖洗轉(zhuǎn)存這些結(jié)果到索引210。用包含在詞列表中的爬行結(jié)果填充索引210的記錄。
錨文本表270包含由錨文本插件250收集的錨屬性。對于文檔中的錨文本,錨文本表270包括一條該錨文本的記錄,該錨文本記錄包括與錨文本相關(guān)聯(lián)的屬性。例如,錨文本表270中的一條記錄可在獨立的字段中包括一個辨識該鏈接的目標(biāo)文檔的目標(biāo)ID、一個辨識當(dāng)前文檔的源ID、錨文本本身和該鏈接。在其它實施方案中,在錨文本表270中可包括與兩個文檔之間的鏈接有關(guān)的其他字段。在一個實施方案中,從爬行收集的錨和鏈接屬性被用來生成網(wǎng)絡(luò)的表示,其中節(jié)點對應(yīng)于文檔,分支對應(yīng)于鏈接(見圖4)。該網(wǎng)絡(luò)圖可隨即被加載到內(nèi)存中并被用來為被錨文本所涉及的目標(biāo)文檔解析目標(biāo)ID。
盡管如圖所示系統(tǒng)200中功能塊之間有的是單向通信有的是雙向通信,但是這些通信類型中的任何一種都可變?yōu)榱硪环N通信類型而不會背離本發(fā)明的性質(zhì)和范圍(例如,所有的通信都可以有一個應(yīng)答消息要求雙向的而不是單向的通信)。
圖3所示是根據(jù)本發(fā)明的一個示例性索引結(jié)構(gòu)的功能框圖。索引300包栝主索引300和錨文本索引320。
主索引310包括對應(yīng)于關(guān)鍵詞以及對應(yīng)于文檔的爬行而被返回的其他索引鍵的記錄。主索引310也包括涉及文檔其他屬性的其他索引分區(qū)。對應(yīng)于錨文本的記錄被轉(zhuǎn)移(diverted)并輸入到錨文本索引320中錨文本索引320包含對應(yīng)于包含在網(wǎng)絡(luò)上的文檔中的錨文本的目標(biāo)文檔的記錄。這些目標(biāo)文檔被組織成一個反向索引,其中目標(biāo)文檔ID按與包含在與目標(biāo)文檔相關(guān)聯(lián)的錨文本或者URL中的字詞的關(guān)聯(lián)列出。在爬行完成后,錨文本索引320生成自錨文本表。為了評價詞的每個目標(biāo)文檔并且在錨文本索引320中輸入目標(biāo)文檔,對應(yīng)于每個目標(biāo)文檔的錨文本被鏈接在一起。包含一個針對錨文本的單獨的索引分區(qū)使在將錨文本作為一個因子引入文檔的評分函數(shù)之前可基于錨文本進(jìn)行相關(guān)性計算。在下文圖6的討論中更完整地描述了將錨文本引入評分函數(shù)以便將文檔排序。
圖4所示是根據(jù)本發(fā)明的一個示例性的網(wǎng)絡(luò)圖。網(wǎng)絡(luò)圖由節(jié)點(如410)和邊即鏈接(如420)組成。節(jié)點(如410)表示頁面和網(wǎng)絡(luò)上的可以作為搜索查詢的結(jié)果而被返回的其他資源。通過使用列在這些頁面上的導(dǎo)航鏈接,各鏈接(如420)將這些頁面中的每一個連接起來??梢詾槊恳豁撁嫠鸭唤M能被用來確定與一個特定頁面的錨文本相關(guān)的屬性的鏈接信息。
在一個實施方案中,節(jié)點430是包含一個對應(yīng)于節(jié)點440的目標(biāo)文檔的錨標(biāo)簽的當(dāng)前文檔。例如,該錨標(biāo)簽可對應(yīng)于HTML(<A href=http//example>SampleWeb</A>)的錨標(biāo)簽。當(dāng)前文檔的ID也是已知的,通常被包含在該文檔的HTML中。為了填充錨文本表(見圖2),還需要解析這個與錨文本相關(guān)聯(lián)的目標(biāo)文檔ID。網(wǎng)絡(luò)圖400通過提供一個可以走查(walk)來解析未知屬性的網(wǎng)絡(luò)表示而有助于解析目標(biāo)文檔ID。
圖5所示是根據(jù)本發(fā)明的一個用于處理錨文本以將錨文本包含在文檔排序之中的示例性進(jìn)程的邏輯流程圖。進(jìn)程500在塊502處開始,其中提供對文檔主體的訪問。處理在塊504繼續(xù)。
在塊504處,文檔的主體被爬行以確定存在的文檔及與這些文檔相關(guān)聯(lián)的屬性(如文件類型)。每個文檔的標(biāo)識符或ID以及它們相關(guān)聯(lián)的屬性隨后作為爬行的結(jié)果被送出。處理在塊506繼續(xù)。
在塊506處,與涉及錨文本的文檔相關(guān)的屬性由錨文本插件獲取。錨文本屬性可包括一個源文檔的標(biāo)識符、和目標(biāo)文檔標(biāo)識符、錨文本本身及該鏈接的URL。一旦這些錨屬性被收集以后,處理就移到塊508。
在塊508處,生成錨文本表。錨文本表包括與錨文本的每個實例相關(guān)聯(lián)的錨文本屬性。錨文本每個實例的屬性作為記錄存儲在該表中。一旦該表被創(chuàng)建,處理就在塊510繼續(xù)。
在塊510處,生成一個包括主索引和錨文本索引的索引。在一個實施方案中,在建立錨文本表以后,生成該索引。錨文本表包括一個與錨文本鍵相關(guān)聯(lián)的文檔的反向列表。錨文本鍵對應(yīng)于錨文本,因為它們是被包含在錨文本中或錨標(biāo)簽的目標(biāo)文檔的URL中的關(guān)鍵詞。因此,反向列表的文檔是錨文本鍵的目標(biāo)文檔。一旦該索引被實例化,處理就在塊512繼續(xù)。
在塊512處,主索引和錨文本索引與錨文本表一起被參考以將基于錨文本的相關(guān)性值引入評分函數(shù)中。評分函數(shù)確定一個文檔的相對得分。諸文檔于是可根據(jù)它們的得分被排序。關(guān)于將錨文本引入對文檔的排序之中的更詳細(xì)的描述在下文圖6的討論中給出。一旦錨文本被引入排序,處理前進(jìn)到塊514,此處進(jìn)程500結(jié)束。
在進(jìn)程500完成后,通過各種與搜索引擎?zhèn)鬏敽惋@示結(jié)果相關(guān)聯(lián)的操作,排序后的文檔可被返回給用戶。對應(yīng)于較高精度結(jié)果的文檔可隨后由用戶隨意地選擇察看。
圖6所示是根據(jù)本發(fā)明的一個用于將錨文本引入對搜索結(jié)果的排序之中的示例性進(jìn)程的邏輯流程框圖。當(dāng)圖5的進(jìn)程500進(jìn)入塊512且一個查詢已由客戶作出時,進(jìn)程600在塊602處開始。處理在判定塊604繼續(xù)。
在判定塊604處,要確定針對正被查詢的詞而言,正在為其計算當(dāng)前得分的文檔是否包含在錨文本索引中。如果該文檔并未列于錨文本索引中,處理程移到塊608。然而,如果該文檔列于錨文本索引中,則處理在塊606繼續(xù)。
在塊606處,一個用于確定文檔的相關(guān)性得分的評分函數(shù)被調(diào)整以引入對錨文本的考量和加權(quán)。在一個實施方案中,評分函數(shù)對應(yīng)于字段加權(quán)的評分函數(shù),這種字段加權(quán)的評分函數(shù)在2004年3月18日提交的序列號為10/804,326、發(fā)明名稱為“Field weighting in Text Document Searching(文本文檔搜索中的字段加權(quán))”的專利申請中有描述,通過引用包括在此。如10/804,326號專利申請所提供的,下面是一個字段加權(quán)評分函數(shù)的表達(dá)式Σwtf(k1+1)k1((1-b)+bwdlavwdl)+wtf×log(Nn)···(1)]]>其中,各項定義如下wtf是加權(quán)詞頻率或者是某給定詞的詞頻率之和乘以所有屬性上的權(quán)重;wdl是加權(quán)文檔的長度;avwdl是平均加權(quán)文檔長度;N是網(wǎng)絡(luò)上文檔的數(shù)量;n是包含給定查詢項的文檔的數(shù)目,是對所有檢索項取的和;kl和b是常數(shù)。這些項和以上的等式被詳細(xì)描述于10/804,326號專利申請中。
作為基本的解釋,加權(quán)詞頻率(wtf)對應(yīng)于在文檔中的不同字段上加權(quán)之后的詞頻率。加權(quán)文檔長度除以平均加權(quán)文檔長度提供了一個當(dāng)前文檔的長度有多接近于平均文檔長度的測度,是評分函數(shù)中的歸一化項。網(wǎng)絡(luò)中文檔數(shù)(N)除以包含給定查詢項的文檔的數(shù)目(n)的對數(shù)提供了一個文檔頻率的測度。這些量可從內(nèi)容索引中發(fā)現(xiàn)和檢索到。
在一個實施方案中,通過把一個對應(yīng)于在錨文本中的詞頻率的附加加權(quán)詞頻率(wtfAnchor)包含進(jìn)來的方法,評分函數(shù)被調(diào)整以引入錨文本,從而使新的評分函數(shù)變?yōu)?amp;Sigma;(wtf+wtfAnchor)(k1+1)k1((1-b)+bwdlavwdl)+(wtf+wtfAnchor)×log(Nn)···(2)]]>相應(yīng)地,用錨文本中的詞頻率更新了評分函數(shù)的詞頻率分量。然而,評分函數(shù)的其他項不受影響。只要分別地參考主索引和錨文本索引,查詢就能夠獲取評分函數(shù)(2)的詞頻率。
在另一個實施方案中,通過調(diào)整評分函數(shù)以在將加權(quán)詞頻率加到一起之前將長度歸一化項應(yīng)用于文檔的每個字段的加權(quán)詞頻率中的方法,調(diào)整文檔長度歸一化項以說明(account for)錨文本。為了將錨文本引入文檔長度歸一化項中,一個新的項(B)被定義為B=((1-b)+bwdlavwdl)···(3)]]>于是可以根據(jù)這個新的項將等式(1)重組而產(chǎn)生下面的表達(dá)式Σ(wtfB)(k1+1)k1+(wtfB)×log(Nn)···(4)]]>與錨文本相關(guān)聯(lián)的加權(quán)詞頻率(wtfAnchor)可以和一個新的BAnchor項一起被加到等式中去,其中BAnchor項對應(yīng)于與錨文本相關(guān)聯(lián)的長度歸一化,由此等式(4)變?yōu)?amp;Sigma;(wtfB+wtfAnchorBAnchor)(k1+1)k1+(wtfB+wtfAnchorBAnchor)×log(Nn)···(5)]]>因此,在一個實施方案中,通過從錨文本字段中取BAnchor的wdlAnchor和avwdlAnchor分量,BAnchor與B不同。在另一個實施方案中,通過同樣為錨文本字段選擇一個不同的bAnchor的方法,調(diào)整長度歸一化項的強(qiáng)度。一旦評分函數(shù)被調(diào)整以說明錨文本,處理就移到塊608。
在塊608處,用計算當(dāng)前文檔的得分用的變量將評分函數(shù)填充。如前所述,只要分別地參考主索引和錨文本索引,查詢能夠獲取用于填充評分函數(shù)的詞頻率。
在塊610處,評分函數(shù)被執(zhí)行,文檔的相關(guān)性得分即計算出來。一旦相關(guān)性得分計算出來,就被存入存儲器中并與該特定文檔相關(guān)聯(lián)。處理于是移到塊612。
在塊612處,確定是否所有文檔的相關(guān)性得分都已根據(jù)評分函數(shù)(2)計算出來了。得分可以如所示的那樣串行計算也可以并行計算。如果不是所有的得分都被計算了,那么進(jìn)程返回塊604啟動對下一個文檔得分的計算。然而,如果所有的得分都被計算過了,處理就在塊614繼續(xù)。
在塊614處,查詢的搜索結(jié)果根據(jù)其相關(guān)得分進(jìn)行排序。得分現(xiàn)在考慮了每個文檔的錨文本。因此,文檔的排序已經(jīng)被改進(jìn),所以在錨文本中引用的文檔反映出該引用。一旦搜索結(jié)果被排序以后,處理就進(jìn)行到塊614,此處進(jìn)程600返回到圖5中的進(jìn)程500的塊514。
上面的說明書、舉例和數(shù)據(jù)提供了一個完整的關(guān)于本發(fā)明各部分的加工和使用的描述。由于可以做出很多本發(fā)明的具體實施方案而不會背離本發(fā)明的本質(zhì)和范圍,所以本發(fā)明歸于所附權(quán)利要求書。
權(quán)利要求
1.一種用于對搜索結(jié)果排序的計算機(jī)實現(xiàn)的方法,它包括記錄來自網(wǎng)絡(luò)的錨文本屬性,其中所述錨文本屬性對應(yīng)于網(wǎng)絡(luò)上的源文檔和目標(biāo)文檔;生成一個將每個目標(biāo)文檔同一個包含在錨文本中的詞相關(guān)聯(lián)的錨文本索引,其中所述錨文本索引獨立于一內(nèi)容索引;訪問所述錨文本索引以確定與所述索引中一個特定目標(biāo)文檔的錨文本相關(guān)聯(lián)的量;以及使用所述錨文本量調(diào)整一用于對文檔排序以產(chǎn)生搜索結(jié)果的評分函數(shù)。
2.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其特征在于,記錄錨文本屬性還包括用已記錄的文檔和鏈接信息生成一網(wǎng)絡(luò)表示。
3.如權(quán)利要求2所述的計算機(jī)實現(xiàn)的方法,其特征在于,還包括使用所述網(wǎng)絡(luò)表示用錨文本屬性填充一個表。
4.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其特征在于,所述錨文本屬性包括源標(biāo)識符、目標(biāo)標(biāo)識符、錨文本和鏈接標(biāo)識符中的至少一個。
5.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其特征在于,還包括根據(jù)評分函數(shù)(score)對文檔排序,該評分函數(shù)(score)的確定至少根據(jù)加權(quán)錨文本詞頻率(wtfAnchor)和錨文本長度歸一化分量(BAnchor)。
6.如權(quán)利要求5所述的計算機(jī)實現(xiàn)的方法,其特征在于,所述錨文本長度歸一化分量(BAnchor)對應(yīng)于一個錨文本加權(quán)文檔長度(wdl)、一個平均加權(quán)文檔長度(avwdl)。
7.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其特征在于,還包括根據(jù)一評分函數(shù)(score)對文檔排序,該評分函數(shù)(score)的確定至少根據(jù)加權(quán)詞頻率(wtf)、加權(quán)錨文本詞頻率(wtfAnchor)、長度歸一化分量、錨文本長度歸一化分量(BAnchor)、平均加權(quán)文檔長度(avwdl)、網(wǎng)絡(luò)上的文檔的數(shù)目(N),包含查詢詞的文檔的數(shù)目(n)和常數(shù)(k1)。
8.如權(quán)利要求7所述的計算機(jī)實現(xiàn)的方法,其特征在于,所述評分函數(shù)(score)由下式給出score=Σ(wtfB+wtfAnchorBAnchor)(k1+1)k1+(wtfB+wtfAnchorBAnchor)×log(Nn)]]>
9.如權(quán)利要求8所述的計算機(jī)實現(xiàn)的方法,其特征在于,BAnchor因從錨文本索引中取的分量BAnchor以及從內(nèi)容索引取分量B而不同于B。
10.如權(quán)利要求8所述的計算機(jī)實現(xiàn)的方法,其特征在于,所述由BAnchor提供的長度歸一化的強(qiáng)度通過選擇一個與BAnchor相關(guān)聯(lián)的不同的常數(shù)值來調(diào)整。
11.一種用于對搜索結(jié)果排序的系統(tǒng),它包括一包含在計算設(shè)備上的搜索引擎,所述搜索引擎被配置成執(zhí)行計算機(jī)可執(zhí)行指令,所述計算機(jī)可執(zhí)行指令包括爬行一網(wǎng)絡(luò)以發(fā)現(xiàn)網(wǎng)絡(luò)上的文檔;記錄來自網(wǎng)絡(luò)的錨文本屬性,其中所述錨文本屬性對應(yīng)于網(wǎng)絡(luò)上的一源文檔和一目標(biāo)文檔;生成一將每個目標(biāo)文檔與一包含所述在錨文本中的詞相關(guān)聯(lián)的錨文本索引,其中所述錨文本索引獨立于一內(nèi)容索引;訪問所述錨文本索引以確定與索引中一個特定目標(biāo)文檔的錨文本相關(guān)聯(lián)的量;以及使用所述錨文本量調(diào)整一用于對文檔排序以產(chǎn)生搜索結(jié)果的的評分函數(shù)。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,記錄錨文本屬性還包括用已記錄的文檔和鏈接信息生成一網(wǎng)絡(luò)表示。
13.如權(quán)利要求12所述的系統(tǒng),其特征在于,還包括使用所述網(wǎng)絡(luò)表示用所述錨文本屬性填充一個表。
14.如權(quán)利要求11所述的系統(tǒng),其特征在于,還包括根據(jù)一評分函數(shù)(score)對文檔排序,該評分函數(shù)(score)的確定至少根據(jù)加權(quán)錨文本詞頻率(wtfAnchor)和錨文本長度歸一化分量(BAnchor)。
15.如權(quán)利要求11所述的系統(tǒng),其特征在于,還包括根據(jù)一評分函數(shù)(score)對文檔排序,該評分函數(shù)的確定至少根據(jù)加權(quán)詞頻率(wtf)、加權(quán)錨文本詞頻率(wtfAnchor)、長度歸一化分量、錨文本長度歸一化分量(BAnchor)、平均加權(quán)文檔長度(avwdl)、網(wǎng)絡(luò)上的文檔的數(shù)目(N)、包含查詢詞的文檔的數(shù)目(n)和常數(shù)(k1)。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述評分函數(shù)(score)由下式給出score=Σ(wtfB+wtfAnchorBAnchor)(k1+1)k1+(wtfB+wtfAnchorBAnchor)×log(Nn).]]>
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,BAnchor因從錨文本索引中取分量BAnchor以及從內(nèi)容索引取分量B而不同于B。
18.如權(quán)利要求16所述的系統(tǒng),其特征在于,由BAnchor提供的長度歸一化的強(qiáng)度通過選擇一個與BAnchor相關(guān)聯(lián)的不同的常數(shù)值來調(diào)整。
19.一種計算機(jī)可讀介質(zhì),其包含有用于對搜索結(jié)果排序的計算機(jī)可執(zhí)行指令,所述指令包括為網(wǎng)絡(luò)上的文檔存儲文檔和鏈接信息;用已記錄文檔和鏈接信息生成一網(wǎng)絡(luò)表示;記錄來自所述網(wǎng)絡(luò)表示的錨文本屬性,其中所述錨文本屬性被用來填充一個包括對一個源文檔和與所述錨文本相關(guān)聯(lián)的目標(biāo)文檔的引用的表;生成一個將每個目標(biāo)文檔與一個包含在錨文本中的詞相關(guān)聯(lián)的錨文本索引,其中所述錨文本索引獨立于一內(nèi)容索引;訪問所述錨文本索引以確定與所述索引中一個特定目標(biāo)文檔的錨文本相關(guān)聯(lián)的量;以及使用所述錨文本量調(diào)整一用來對文檔排序來產(chǎn)生搜索結(jié)果的評分函數(shù)。
20.如權(quán)利要求19所述的計算機(jī)可讀介質(zhì),其特征在于,所述錨文本屬性包括源標(biāo)識符、目標(biāo)標(biāo)識符、錨文本和鏈接標(biāo)識符中的至少一個。
21.如權(quán)利要求19所述的計算機(jī)可讀介質(zhì),其特征在于,還包括根據(jù)一評分函數(shù)(score)對文檔排序,該評分函數(shù)(score)的確定至少根據(jù)加權(quán)錨文本詞頻率(wtfAnchor)和錨文本長度歸一化分量(BAnchor)。
22.如權(quán)利要求21所述的計算機(jī)可讀介質(zhì),其特征在于,所述錨文本長度歸一化分量(BAnchor)對應(yīng)于錨文本加權(quán)文檔長度(wdl)、平均加權(quán)文檔長度(avwdl)。
23.如權(quán)利要求19所述的計算機(jī)可讀介質(zhì),其特征在于,還包括含根據(jù)一評分函數(shù)(score)對文檔排序,該評分函數(shù)(score)的確定據(jù)至少根據(jù)加權(quán)詞頻率(wtf)、加權(quán)錨文本詞頻率(wtfAnchor)、長度歸一化分量、錨文本長度歸一化分量(BAnchor)、平均加權(quán)文檔長度(avwdl)、網(wǎng)絡(luò)上的文檔的數(shù)目(N)、包含查詢詞的文檔的數(shù)目(n)和常數(shù)(k1)。
24.如權(quán)利要求23所述的計算機(jī)可讀介質(zhì),其特征在于,所述評分函數(shù)(score)由下式給出score=Σ(wtfB+wtfAnchorBAnchor)(k1+1)k1+(wtfB+wtfAnchorBAnchor)×log(Nn).]]>
25.如權(quán)利要求24所述的計算機(jī)可讀介質(zhì),其特征在于,BAnchor因從錨文本索引中取分量BAnchor和從內(nèi)容索引取分量B而不同于B。
26.如權(quán)利要求24所述的計算機(jī)可讀介質(zhì),其特征在于,由BAnchor提供的長度歸一化的強(qiáng)度通過選擇一個與BAnchor相關(guān)聯(lián)的不同的常數(shù)值來調(diào)整。
全文摘要
根據(jù)一個將錨文本作為一搜索項引入的評分函數(shù),對網(wǎng)絡(luò)上的一個搜索查詢的搜索結(jié)果進(jìn)行排序。該評分函數(shù)被調(diào)整,以使在目標(biāo)文檔的排序中,錨文本的目標(biāo)文檔將反映錨文本中的搜索項的使用。最初,在網(wǎng)絡(luò)的爬行過程中,與錨文本相關(guān)聯(lián)的屬性被收集起來。生成一個單獨的索引,該索引包括一個文檔反向列表和錨文本中的搜索詞。該索引隨后響應(yīng)于一個查詢而被參考以便計算文檔的得分。這個得分隨后被用來排序文檔并產(chǎn)生查詢結(jié)果。
文檔編號G06F17/30GK1755678SQ20051008821
公開日2006年4月5日 申請日期2005年7月25日 優(yōu)先權(quán)日2004年9月30日
發(fā)明者D·梅耶宗, H·扎拉古扎, M·J·泰勒, S·E·羅波特森 申請人:微軟公司