專利名稱:信息檢索的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及從數(shù)據(jù)庫和服務(wù)器檢索信息。
背景技術(shù):
當今,網(wǎng)絡(luò)(Web)搜索引擎是推動信息經(jīng)濟的互聯(lián)網(wǎng)基礎(chǔ)結(jié)構(gòu)的關(guān)鍵組成部分。人們相信每天大約60萬億字節(jié)的新內(nèi)容被增加到萬維網(wǎng)(World-Wide Web)上。令人遺憾地,當提到搜索引擎在適當時候傳送正確結(jié)果的能力時,它們的性能令大部分搜索者沮喪和失望。這其中一個重要的原因在于形成網(wǎng)絡(luò)搜索引擎核心的信息檢索技術(shù)不是非常適合于網(wǎng)絡(luò)搜索的現(xiàn)實情況。這可能是因為這些技術(shù)中有許多最初是為了專家用戶在有限的文檔集合上進行專業(yè)化搜索任務(wù)而開發(fā)的。結(jié)果,這些缺點導(dǎo)致了下列互相關(guān)聯(lián)的問題-覆蓋范圍問題網(wǎng)絡(luò)的持續(xù)增長意味著沒有一個搜索引擎有希望提供完全的覆蓋范圍。
-索引問題網(wǎng)絡(luò)文檔的異構(gòu)特性和任何可靠的質(zhì)量控制的缺乏使得索引極其困難。
-排名問題基于用查詢項的加權(quán)疊加的排名結(jié)果已經(jīng)被證明在網(wǎng)絡(luò)搜索中是不能令人滿意的。
-查詢問題不充分地形成的、模糊的查詢的優(yōu)勢意味著大部分的搜索首先是缺乏規(guī)范的。
近年來已經(jīng)看到了網(wǎng)絡(luò)搜索上的一些關(guān)鍵的發(fā)展,其中有許多專門利用了網(wǎng)絡(luò)的獨特特性、以及網(wǎng)絡(luò)用戶搜索信息的特定方法。例如,研究人員認識到在元搜索引擎中組合許多獨立搜索引擎的結(jié)果以獲得提高的覆蓋范圍和準確度的優(yōu)勢。最近,有關(guān)網(wǎng)絡(luò)拓撲(獨立頁面的連接性)的信息已經(jīng)被并入搜索引擎,以作為一種對權(quán)威頁面進行識別和排名的方法。其它發(fā)展已經(jīng)著眼于聚類(clustering)技術(shù)如何能夠用于將結(jié)果的平面列表組織成更結(jié)構(gòu)化的主題聚類集合。雖然這沒有解決查詢問題,但是它至少幫助搜索引擎將模糊查詢的不同含義分離到主題相關(guān)的結(jié)果的集合中。
在它們設(shè)法改進文檔被表示、檢索和排名的方式的意義上,這些發(fā)展全都趨向于采用傳統(tǒng)的信息檢索觀點,同時關(guān)注于獨立的搜索會話層級上。
本發(fā)明致力于降低信息檢索所需要的迭代的數(shù)目。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了一種元搜索引擎,其用于接收用戶的搜索查詢,向搜索引擎提交相應(yīng)的查詢,并且接收它們的響應(yīng),以及用于后處理(post-processing)搜索引擎響應(yīng)以提供排名的用戶響應(yīng)列表,其中該元搜索引擎根據(jù)表示用戶查詢以及響應(yīng)選擇之間的對應(yīng)的歷史的歷史數(shù)據(jù)對引擎響應(yīng)進行排名。
在一個實施例中,該對應(yīng)被存儲為矩陣,該具有對于查詢-選擇對的歷史命中數(shù)目。
在另一個實施例中,存在多個矩陣,并且元搜索引擎動態(tài)地選擇一個矩陣。
在又一個實施例中,元搜索引擎根據(jù)用戶被分派的團體來動態(tài)地選擇一個矩陣。
在一個實施例中,根據(jù)查詢的源來確定該團體。
在另一個實施例中,查詢發(fā)起的網(wǎng)站被用于識別團體。
在又一個實施例中,用戶的登錄過程被用于確定命中矩陣。
在一個實施例中,引擎使用多個命中矩陣,并且首先呈現(xiàn)由于主矩陣的使用而產(chǎn)生的結(jié)果。
在另一個實施例中,該結(jié)果和有關(guān)與矩陣相關(guān)聯(lián)的團體的信息一起被呈現(xiàn)。
在又一個實施例中,該結(jié)果被呈現(xiàn)在基于使用的聚類中。
在一個實施例中,該引擎使用多個矩陣并且它自動地確定哪一個矩陣可能是最相關(guān)的。
在另一個實施例中,該引擎計算從與矩陣選擇的總數(shù)相比對于該查詢的選擇的相對數(shù)目導(dǎo)出的成功分數(shù)。
在又一個實施例中,該元搜索引擎確定用戶查詢的直接匹配的歷史選擇值。
在一個實施例中,該元搜索引擎確定與當前的查詢相關(guān)的多個先前的查詢的歷史選擇值。
在另一個實施例中,根據(jù)關(guān)聯(lián)的查詢與當前的查詢的相似性將加權(quán)應(yīng)用于選擇值。
在又一個實施例中,根據(jù)查詢字重疊的程度來確定相似性。
在一個實施例中,矩陣的一維涉及查詢,并且加權(quán)被應(yīng)用于那一維的每個行或者列。
在另一個實施例中,歷史數(shù)據(jù)對于特定用戶是匿名的,由此確保保密性。
在又一個實施例中,該引擎根據(jù)參數(shù)來修改歷史數(shù)據(jù)。
在一個實施例中,該參數(shù)是時間,越舊的歷史數(shù)據(jù)具有比越新的歷史數(shù)據(jù)更少的相關(guān)性。
在另一個實施例中,該引擎將所確定的相關(guān)性分數(shù)與另一個分數(shù)相組合。
在又一個實施例中,另一個分數(shù)是贊助(sponsored)列表排名。
在一個實施例中,該引擎包括基于案例的推理(case basedreasoning)系統(tǒng),其中每個查詢及其歷史選擇數(shù)據(jù)是一個案例。
在另一個實施例中,每個案例包括一個查詢和k個結(jié)果的對,每個對具有響應(yīng)標識符和相關(guān)性分數(shù)。
在又一個實施例中,每個案例對應(yīng)于命中矩陣的一個查詢維度。
在另一個方面,提供了一種包括用于當在數(shù)字計算機上執(zhí)行時完成如上所述的元搜索引擎的操作的軟件代碼的計算機程序產(chǎn)品。
從以下僅參考附圖以示例給出的本發(fā)明的實施例的說明中,將更清楚地理解本發(fā)明,其中
圖1是示出本發(fā)明的元搜索引擎以及與其連接的組件的圖;圖2是描述一個實施例中的元引擎的操作的流程圖;圖3是示出另一個實施例中的元引擎的操作的流程圖;以及圖4(a)、4(b)、5(a)以及5(b)是舉例說明元引擎性能的曲線圖。
具體實施例方式
參考圖1和2,元搜索引擎1從用戶U接收查詢qT,并且發(fā)送響應(yīng)R。為此,它通過適配器2將查詢qT提交到多至n個搜索引擎Sn。這些底層搜索引擎中的每一個已經(jīng)作為獨立的搜索系統(tǒng)存在。在一個例子中,它們是一般的搜索引擎,或者作為選擇,它們可以是更專業(yè)化的搜索引擎。
每個適配器2將用戶的查詢qT轉(zhuǎn)換為關(guān)聯(lián)的搜索引擎的格式;例如,對于搜索引擎S1,qT被轉(zhuǎn)換成q1。典型地,這可以包括重新格式化用戶查詢,以便它對應(yīng)于所述搜索引擎需要的輸入格式。一旦重新格式化,轉(zhuǎn)換的查詢被輸入到合適的搜索引擎中,該搜索引擎隨后產(chǎn)生它自己的結(jié)果列表Rn。例如,搜索引擎S1產(chǎn)生結(jié)果列表R1。
接下來,通過識別它們的公共要素(頁面標題,頁面URL,代碼片斷文本,等等),適配器2將由底層搜索引擎產(chǎn)生的結(jié)果列表R1-Rn的每一個轉(zhuǎn)換為公共格式。標準XML表示法被用于提供這個公共格式。
一旦由底層搜索引擎產(chǎn)生的結(jié)果列表R1-Rn的每一個已經(jīng)被重新格式化,它們被元引擎1合并以產(chǎn)生一個組合結(jié)果列表R′。每個唯一的結(jié)果根據(jù)它出現(xiàn)在結(jié)果列表排名中有多高并且根據(jù)它出現(xiàn)在多少個結(jié)果列表中被計分。具有比平均排名分數(shù)更好的結(jié)果(在許多的結(jié)果列表中出現(xiàn)很高的那些)在合并的結(jié)果列表中被排名很高。如果某一結(jié)果沒有出現(xiàn)在一些底層搜索引擎的結(jié)果列表中,那么它被用很少的分數(shù)進行懲罰,該分數(shù)被計算為1加上這個搜索引擎的結(jié)果列表的長度。這樣,合并的結(jié)果列表R′包含由底層搜索引擎的組合返回的所有結(jié)果的列表。以這樣的方法對這些結(jié)果進行排名,即優(yōu)先選擇由許多底層搜索引擎一貫地排名為高的結(jié)果。
在這一點上,結(jié)果列表R′相當于由許多已經(jīng)存在的元搜索引擎技術(shù)返回的結(jié)果的類型。然而,本發(fā)明包括附加處理階段,以便提升結(jié)果列表內(nèi)的某些結(jié)果。
元引擎1利用命中矩陣H對響應(yīng)R′進行后處理,該命中矩陣H在一維中具有網(wǎng)頁,而在另一維中具有查詢字符串。命中矩陣的每個單元指示特定頁面先前已經(jīng)被選擇用于特定查詢的次數(shù)。因此,每次響應(yīng)于一些查詢q,結(jié)果列表被呈現(xiàn)給用戶時,并且每次用戶從所述結(jié)果列表選擇一個結(jié)果頁面p時,通過增加在對應(yīng)于q&p的坐標處的計數(shù)器來更新命中矩陣。命中矩陣被實現(xiàn)為可以通過其查詢頁面坐標訪問的存儲設(shè)備。
元引擎1實現(xiàn)了一種網(wǎng)絡(luò)搜索的方法,我們將其稱為協(xié)作搜索(collaborative search),這是因為其中利用了用戶的搜索歷史的方式,所述用戶優(yōu)選地是具有相同意向的用戶的團體。引擎1以元搜索引擎或者結(jié)果后處理器的方式進行操作,組合了如圖1中所示的底層搜索引擎的結(jié)果。
相關(guān)性分數(shù)命中矩陣(H)存儲器存儲是在過去的搜索會話中選擇的結(jié)果的記錄。每次用戶為查詢qi選擇頁面pj時,Hij值增加。由此,Hij可以被看作是pj已經(jīng)被選擇作為查詢qi的結(jié)果的次數(shù)。對應(yīng)于查詢qi的H的行提供了所有已經(jīng)使用這個查詢的搜索會話中對于這個查詢的所有頁面選擇的相對數(shù)目的完全記錄。
除上述的結(jié)果產(chǎn)生處理,其中來自底層搜索引擎的結(jié)果被合并之外,引擎1還產(chǎn)生第二結(jié)果列表R″,這個結(jié)果列表由來自對應(yīng)于具有非零值的當前目標查詢qT的命中矩陣行的所有那些頁面組成。這些結(jié)果頁面先前已經(jīng)由一些用戶選擇用于查詢qT。明顯地,如果qT以前不曾出現(xiàn),那么這個第二結(jié)果列表將是空的。然而,假定它不是空的,根據(jù)在以下的等式1中示出的相關(guān)性度量對結(jié)果進行計分。這個度量相對于已經(jīng)對于qT發(fā)生的頁面選擇的總數(shù)來計算對于查詢qT頁面pj接收的選擇的數(shù)目。例如,對于pj和qT,0.4的相關(guān)性意味著對于qT的結(jié)果列表,已經(jīng)有40%頁面選擇是這個頁面pj。引擎1的主要優(yōu)點在于具有將命中矩陣H開發(fā)為相關(guān)性信息的直接源的能力。命中矩陣條目提供了查詢頁面映射的相關(guān)性度量。從圖2中將理解到,與提交查詢和從底層搜索引擎S1-Sn檢索結(jié)果并行地執(zhí)行相關(guān)性處理。
元引擎1通過分離的并發(fā)處理來并行地查詢所有底層搜索引擎S1-Sn。整個搜索時間由每一個標準搜索引擎S1-S1返回它們的結(jié)果的時間來規(guī)定。本地處理時間與底層搜索引擎返回它們的結(jié)果的時間相比是可忽略的。因此,到搜索引擎已經(jīng)返回它們的結(jié)果時,所有的命中矩陣處理已經(jīng)被執(zhí)行,并且對于I-SPY,唯一未完成的任務(wù)是合并兩組結(jié)果。這個任務(wù)被非常高效地執(zhí)行。
Relevance(pj,qT)=HTjΣ∀jHTj---(1)]]>基于過去的搜索會話,包含在R″中的結(jié)果頁面根據(jù)它們相對的選擇頻率被排名,并且這些結(jié)果優(yōu)先于合并結(jié)果列表R′中的結(jié)果。由此,在搜索處理的最后步驟中,兩個結(jié)果列表R″和R′被合并,以便R″結(jié)果首先出現(xiàn),后面是來自R′的結(jié)果。作為這個合并處理的一部分,在一個結(jié)果被包含在R″和R′兩者中的情況下,它被從R′除去,以便在最終結(jié)果的最終呈現(xiàn)中,這個結(jié)果沒有出現(xiàn)兩次。
協(xié)作搜索引擎1可以被配置成在不同的查詢服務(wù)中使用不同的命中矩陣存儲設(shè)備。在一個實施例中,每一個命中矩陣是用在特定興趣領(lǐng)域內(nèi)操作的用戶團體的查詢和選擇來填充的。引擎1為不同的用戶團體提供對適合于它們的查詢空間和其優(yōu)選頁面的搜索服務(wù)的訪問。例如,駕車網(wǎng)站可以配置用于其用戶的命中矩陣。元引擎1通過簡單形式的接口使這個服務(wù)更容易,并且在這種情況下,為網(wǎng)站提供了對與這個新命中矩陣關(guān)聯(lián)的搜索接口的訪問。通過這個接口,用戶可以定義用于他們自己的用戶團體的搜索服務(wù),并且可以以各種方式向他們的用戶提供這個搜索服務(wù);例如,通過將其并入他們自己網(wǎng)站。結(jié)果,創(chuàng)建了唯一的命中矩陣H,并且該命中矩陣H與這個用戶團體相關(guān)聯(lián)。例如,如果通過特定網(wǎng)站提供新的搜索服務(wù),那么隨著到這個站點的來訪者使用它的搜索服務(wù),他們的查詢和頁面選擇將填充關(guān)聯(lián)的命中矩陣,并且引擎1利用它的排名度量通過為重復(fù)的查詢提升先前優(yōu)選的頁面來幫助消除模糊查詢的歧義。例如,通過已經(jīng)被配置成使用唯一的命中矩陣的駕車網(wǎng)站提交的查詢′美洲虎′很可能導(dǎo)致優(yōu)先考慮與汽車廠商相關(guān)的頁面,而不是與野生動物相關(guān)的站點。先前對這個項的搜索更可能導(dǎo)致選擇這些汽車頁面,因為用戶是從駕車網(wǎng)站進行搜索。
基于相似性的查詢重用(圖3)迄今為止所描述的處理依靠當前查詢和過去的搜索會話之間的準確匹配。換句話說,從給定的命中矩陣產(chǎn)生的結(jié)果列表R″取決于在這個命中矩陣中存在的當前查詢的準確匹配。這取決于查詢重復(fù),即搜索用戶頻繁地使用相同的查詢。在一些搜索方案中,準確的查詢重復(fù)可能是罕見的,這將意味著對于大部分的查詢,引擎1不能貢獻新的和改進的結(jié)果R″。例如,假定當前查詢是“美洲虎照片”。除非這個查詢過去已經(jīng)被提交,并且除非用戶選擇過由這個查詢返回的結(jié)果,否則命中矩陣中不存在條目。例如,查詢″美洲虎圖片″在過去也許已經(jīng)發(fā)生了,但是因為它不是與″美洲虎照片″的準確匹配,所以即使它們可能與新查詢有關(guān)也不會檢索它的命中矩陣條目。為此,在另一個實施例中,元引擎具有更靈活的方法使用命中矩陣存儲結(jié)構(gòu),而不依賴于準確匹配查詢,該方法可以對相似的查詢起到杠桿作用。
在這個實施例中,元引擎執(zhí)行基于案例的推理,其中命中矩陣H的每一行是單獨的案例或者,等價地,由查詢要素(querycomponent)(一組查詢項)加上k個結(jié)果對組成的k+1元組,其中每個結(jié)果對具有頁面id和從命中矩陣計算出的關(guān)聯(lián)的相關(guān)性值(參看等式2)。該案例的問題說明部分(參看等式3)對應(yīng)于查詢項。該案例的解的部分(參看等式4)對應(yīng)于結(jié)果對;也就是,作為過去使用相應(yīng)的查詢的結(jié)果而已經(jīng)累積的頁面選擇組。當然,由目標查詢項來表示目標問題。
ci=(qi,(p1,r1)),...,(pk,rk)) (2)Spec(ci)=qi(3)Sol(ci)=((p1,r1),...,(pk,rk)) (4)如果(pj,rj)∈Sol(ci),Rel(pj,ci)=rj;否則,=0. (5)案例相似性意味著能夠測量查詢-查詢相似性,并且度量是等式6中示出的簡單項重疊度量。在檢索階段,允許引擎1的基于案例的系統(tǒng)根據(jù)過去的搜索案例與目標查詢的相似性來對過去的搜索案例進行排序,以便所有的相似案例或者其子集在結(jié)果排名期間可以被重用。這個重疊僅僅是一種類型的相似性度量,并且引擎1可以替代地實現(xiàn)各種不同的類型。例如,測量查詢相似性的另一個方法是計算那些兩個查詢共有的頁面的命中值之間的相關(guān)性。如果這些命中高度相關(guān),那么相同的頁面以相同的相對比例被選擇,因此引擎1可以將它們看作為相似的。作為選擇,引擎1可以將重疊度量和相關(guān)性度量組合。關(guān)鍵在于有可能代替所示出的相似性度量。
Sim(qT,ci)=|qT∩Spec(ci)||qT∪Spec(ci)|---(6)]]>現(xiàn)在代替檢索給定的查詢qT的命中矩陣條目(通過選擇對應(yīng)于qT的行的條目)的是,引擎1例如通過設(shè)置最小的相似性閾值來識別其查詢要素被認為充分類似于qT的命中矩陣行。如果多個相似的案例(命中矩陣行)可用于目標查詢,那么存在多個搜索歷史(案例解),以通知新的結(jié)果排名。相同的頁面可以在多個案例解中重現(xiàn),每一個具有不同的相關(guān)性值。例如,對于過去的查詢′java語言′,頁面www.sun.com可以具有高相關(guān)性值(讓我們假設(shè)為0.8),但是對于另一個過去的查詢′java′,它可以具有較低的相關(guān)性(讓我們假設(shè)為0.33)。問題是怎樣組合這些相關(guān)性值以對相對于目標查詢′Java發(fā)明人′的這個頁面產(chǎn)生單個相關(guān)性分數(shù)?引擎1計算標準化的加權(quán)相關(guān)性度量,其合并了用于單獨頁面查詢組合的單獨的相關(guān)性分數(shù)。這是利用單獨的相關(guān)性分數(shù)的加權(quán)和獲得的,從而每個分數(shù)都通過其對應(yīng)的查詢與目標查詢的相似性來被加權(quán)。由此,在我們的上述例子中,頁面www.sun.com的相關(guān)性是0.5160.264(也就是,與查詢′java語言′的頁面相關(guān)性0.8乘以這個查詢和目標′java發(fā)明人′之間的查詢相似性0.33)與0.165(0.33*0.5,其中0.5是對于過去的查詢′java′)的和除以查詢相似性的和0.83。等式7相對于頁面pj、目標查詢qT與一組檢索的相似案例c1,...,cn,提供了這個加權(quán)相關(guān)性度量的詳述。Exists(pj,ci)只不過是個標志,當pi是案例ci的解中表示的結(jié)果頁面其中之一時它被設(shè)置為1,而Rel(pj,ci)是在ci中對于pj的相關(guān)性分數(shù)(參看5并如等式5所計算的)。
WRel(pj,qT,c1,...,cn)=Σi=1...nRel(pj,ci)·Sim(qT,ci))Σi=1...nExists(pj,ci)·Sim(qT,ci))---(7)]]>閾值如上所述,在檢索期間,引擎必須選擇一組與當前查詢qT相關(guān)的案例(過去的搜索歷史),這是借助于當前查詢和與這些案例關(guān)聯(lián)的查詢之間的相似性來完成的。該引擎被配置成考慮到了不同級別的可容許查詢相似性。這樣,該引擎可以進行閾值檢索,以便僅僅選擇最佳匹配的案例,而不是所有的具有與目標查詢的非零相似性的案例。將檢索限制到具有0.5以上查詢相似性的案例將防止檢索無關(guān)的查詢。然而這可能阻止了檢索一些具有低查詢相似性的合適案例。例如,0.5相似性閾值將阻止檢索到有關(guān)的′java語言′案例。無論如何,雖然這樣的不真實的查詢匹配將不可避免地發(fā)生,但是希望它們將是罕見的并且被更多的合適的匹配沖淡。這個可配置性的程度使得引擎適應(yīng)不同的檢索環(huán)境成為可能。在查詢重復(fù)很普遍的那些環(huán)境中,高相似性閾值可以是更加優(yōu)選的,以用于將檢索限制在重用那些作為相似檢索的更可靠例子的過去的檢索會話。然而,如果查詢重復(fù)趨向于低,那么可能需要降低相似性閾值,甚至是冒著重用可能不完全相關(guān)的過去的檢索歷史的風(fēng)險。
由此,概括地說,引擎的準確匹配檢索方面已經(jīng)擴展,從而它可以重用類似于當前目標查詢的一定范圍的查詢的過去的搜索歷史。這意味著在每個搜索會話期間,引擎可以從命中矩陣中選擇多個行——每個行對應(yīng)于相似的查詢的搜索歷史——并且可以利用上面定義的加權(quán)相關(guān)性度量來組合在這些多個行中選擇的頁面。因此,對于許多相似的查詢頻繁選擇的頁面被給予優(yōu)先權(quán)。
圖3中示出了用于上述實施例的流程圖。元搜索組成部分如圖2所述,但是很明顯命中矩陣處理現(xiàn)在與多個命中矩陣行相關(guān)。返回給用戶的最終結(jié)果列表的產(chǎn)生如前所述命中矩陣結(jié)果R″與元搜索結(jié)果R′合并,而命中矩陣結(jié)果被給予優(yōu)先權(quán)。相似性和加權(quán)計算并行于搜索引擎S1-Sn的相關(guān)性傳遞(communication)。
值得注意的是,雖然重用相似查詢的過程的首要優(yōu)點允許引擎影響大范圍的搜索會話(在相似查詢比準確重復(fù)更可能發(fā)生的假定之下),但是還存在第二優(yōu)點。特別地,通過重用對應(yīng)于相似的查詢的搜索歷史的過去的選擇,引擎1現(xiàn)在能夠向結(jié)果列表R″中增加頁面,這些頁面可能未出現(xiàn)在由底層搜索引擎對于當前目標查詢而返回的結(jié)果中。這些新頁面對于目標查詢可以是非常相關(guān)的——畢竟根據(jù)定義,它們在過去被選擇用于相似的查詢——但是因為種種理由,它們可能沒有被底層搜索引擎找出。例如,它們可以不包含當前目標查詢中的所有項。結(jié)果是,與由底層搜索引擎單獨地或者組合地產(chǎn)生的任何一個列表中的頁面相比,由元引擎1產(chǎn)生的結(jié)果列表的相關(guān)性可以包含更多的相關(guān)頁面。
評估在包括92個計算機科學(xué)學(xué)生的第一個真實用戶(live-user)實驗期間執(zhí)行評估。實驗被設(shè)計成用于在實地調(diào)查或者問答練習(xí)的環(huán)境中相對于標準元搜索引擎來評估引擎1的益處。為了構(gòu)造搜索任務(wù),我們開發(fā)了一組25個常識AI和計算機科學(xué)問題,每個需要學(xué)生找出特定的事實(時間、地點、人名、系統(tǒng)名等等)。對于這第一個實驗,引擎1具有以下功能性。
學(xué)生被隨機分成兩組。組1包含45個學(xué)生,組2包含剩余的47個學(xué)生。在組1的搜索歷史被用于填充命中矩陣、但是對于他們的搜索結(jié)果沒有出現(xiàn)再排名的意義上,組1用作本發(fā)明的引擎的訓(xùn)練組。這個組還用作判斷第二用戶組的搜索行為的對照物,該第二組用作測試組。整個地,組1的用戶產(chǎn)生1049個單獨的查詢并且選擇組合的總共1046個頁面,而組2的用戶使用1705個查詢并且選擇1624個頁面。
概括地說,來自第一個真實用戶實驗的數(shù)據(jù)提供了以下信息以形成我們當前的評估的基礎(chǔ)由每個用戶提交的查詢;他們從后續(xù)的結(jié)果列表中選擇出來的頁面;這些頁面在結(jié)果列表之內(nèi)的位置;他們找到對特定問題的正確答案的頁面;以及由組1的用戶產(chǎn)生的命中矩陣。根據(jù)該數(shù)據(jù)建立案例基礎(chǔ)(實質(zhì)上是組1命中矩陣),一組測試問題(組2的查詢),以及一組對這些問題的正確解(已知包含對特定問題的正確答案的頁面)。
隨后,我們通過用由基于案例版本的引擎1推薦的新的結(jié)果列表響應(yīng)于組2的查詢來進行第二個實驗,并且我們參考我們已知的正確頁面組來評估這些結(jié)果列表的質(zhì)量,比較該結(jié)果與第一個實驗的引擎1的版本以及元搜索性能結(jié)果。我們評估5個不同的引擎變化量,其中每個在案例檢索期間具有不同的最小相似性閾值(0、0.25、0.5、0.75、1)以限制檢索案例的范圍。
或許搜索引擎準確度的最基本測量涉及其在它的結(jié)果列表中返回單個相關(guān)結(jié)果的能力。然而,我們還考慮更加精細的測量,其關(guān)注相關(guān)結(jié)果的數(shù)量和它們的位置。為了測量每個搜索引擎(CB、I-SPY和Meta(元))的總體準確度,對于1705個測試查詢,我們將由這些搜索引擎返回的完整結(jié)果列表中的每一個(包括5個CB變化量)與和這些查詢關(guān)聯(lián)的已知正確結(jié)果的列表進行比較。我們計算包含至少一個正確結(jié)果的結(jié)果列表的百分比。
結(jié)果呈現(xiàn)在圖4(a)中,作為總體準確度相對于相似性閾值的圖示。每個曲線圖對應(yīng)于單個的搜索引擎。I-SPY和Meta的曲線圖在65%保持平滑;它們不受CB相似性閾值中的變化量的影響。該結(jié)果清楚地示出基于案例的方法的準確性益處在相似性閾值>0處,它在93%的會話中返回一個正確結(jié)果頁面,并且在相似性閾值>0.25,它在92%的會話中返回一個正確結(jié)果頁面。這是CB超過I-SPY和Meta 43%的相對改進。這里的益處源自于這樣的事實,即CB能夠在對于給定查詢返回的結(jié)果列表中包括除了那些由底層搜索引擎發(fā)現(xiàn)的頁面以外的附加頁面。這些附加結(jié)果來自于包含在相似案例之內(nèi)的結(jié)果列表。相反,Meta和I-SPY被有效地限制于那些由底層搜索引擎返回的結(jié)果;I-SPY利用其相關(guān)性度量對Meta結(jié)果進行簡單的重排序。CB的益處證明CB的附加頁面與目標查詢頻繁相關(guān)。
引起注意的是,CB準確度怎樣隨著增加相似性閾值而迅速地降低。從一個純粹CBR觀點中,這初看起來似乎很奇怪。增加相似性閾值將改進正在被檢索的案例的平均相似性,并且我們習(xí)慣于期望這很可能改進從這些案例導(dǎo)出的任一個′解′。然而,在我們的搜索的基于案例的見解中并不是那樣,因為檢索的案例的數(shù)目以及結(jié)果的多樣性很可能是重要的。當我們對于一個典型的查詢,在不同的相似性閾值上對檢索的相似案例的平均數(shù)作圖時(參看圖4(b)),我們可以看到在0.25和0.5閾值之間的案例中存在急劇下降。在0和0.25閾值處,分別是對于一個目標查詢正在檢索15和11個案例,但是對于0.5閾值,這減少到2.5個,然后是超過于此的1.3個案例。在更高閾值處,完全沒有足夠的相似案例來做出對由元搜索提供的結(jié)果列表的有意義的附加貢獻,因此CB所享有的益處是微不足道的。因此,即使低的相似性閾值可能允許不相關(guān)的搜索會話的重用(例如,′發(fā)明人java′將被認為類似于′發(fā)明人以太網(wǎng)′),我們發(fā)現(xiàn)更大數(shù)目和種類的可重用案例的益處無疑勝過由于不恰當?shù)臋z索導(dǎo)致的任一問題,我們的加權(quán)相關(guān)性度量無論如何將趨向于減少所述的不恰當?shù)臋z索。
搜索引擎準確度的標準客觀測試是查準率(precision)和查全率(recall)測試前者計算相關(guān)的返回結(jié)果的百分比,而后者計算返回的相關(guān)結(jié)果的百分比。我們在檢查不同的結(jié)果列表大小(k=5至30)中測量每種技術(shù)的百分比查準率和查全率值。
在圖5(a和b)中,對于四個相似性閾值的每一個,結(jié)果被呈現(xiàn)為查準率和查全率圖示。每個圖示呈現(xiàn)了對于不同的結(jié)果列表大小k,對于CB的5個變化量連同I-SPY和Meta的查準率(或者查全率)曲線圖。像期望的那樣,我們發(fā)現(xiàn)查準率趨向于隨著增加結(jié)果列表大小而下降;典型地,相關(guān)結(jié)果的數(shù)目比k少得多,并且這些相關(guān)結(jié)果的大多數(shù)應(yīng)該都位于結(jié)果列表頂部附近。臨界點是由于基于案例的方法而導(dǎo)致的性能受益重新明確的地方,特別是在低相似性閾值處。
例如,在圖5(a)中,我們看到CB查準率在接近28%(在k=5,對于相似性閾值>0)到11%(在k=30,對于相同的閾值)之間變化。這被與對于I-SPY的17%和3%之間的查準率值,和對于Meta的12%和3%之間的查準率值相比較。這些結(jié)果指示在相似性閾值>0的級別處相對于I-SPY,CB受益于60%和258%之間的查準率改進,對于相似性閾值>0.25,指示出了類似的受益。當相對于Meta進行測量時這些查準率改進甚至更大(在130%和265%之間)。
查全率結(jié)果表明了類似的情況。CB的查全率(在>0和>0.25的相似性閾值處)從大約37%(k=5)增長到稍稍超過91%(k=30)。在相同的結(jié)果列表大小上,I-SPY的查全率僅僅從23%增長到25%,而Meta的查全率從16%增長到25%。顯然,CB方法比I-SPY或者Meta找到更大部分的相關(guān)頁面,并且它獲得對來自于其相似查詢的結(jié)果列表的這些附加相關(guān)頁面的訪問。
我們重新看到CB的受益趨向于隨著相似性閾值增加而減少,并且對于閾值>0.5及更高,僅僅實現(xiàn)了微小的查準率和查全率改進(約為7-12%)。正如在先前的部分中所論述的,這可以由對于0.5和更高的相似性閾值,相似案例的急劇下降來容易地解釋。
附加處理元引擎1使用相關(guān)性作為其用于排名結(jié)果的主度量。在一個實施例中,結(jié)果的值來自于命中矩陣的單個行,而在另一個實施例中,它使用加權(quán)的相關(guān)性度量,其組合一個頁面對于多個相關(guān)的查詢可能具有的單獨的相關(guān)性分數(shù)。
有可能將相關(guān)性與其它的結(jié)果排名頁面度量相組合。例如,如果元引擎被并入搜索引擎,它可以將頁面的相關(guān)性與搜索引擎的計分功能相組合。例如,它可以計算兩個分數(shù)的平均值并且和將分數(shù)乘在一起??傊?,許多組合方法都能被使用。
大多數(shù)商業(yè)搜索引擎基于它們的查詢向用戶呈現(xiàn)兩種類型的結(jié)果常規(guī)結(jié)果(因為和查詢共享相同的項而已經(jīng)被發(fā)現(xiàn)的正常結(jié)果)以及贊助結(jié)果或者付費列表。贊助結(jié)果(或者付費列表)被返回,并不是因為它們必須包含匹配用戶查詢的項,而是因為一些機構(gòu)實質(zhì)上已經(jīng)購買了該查詢項。
此外,許多搜索引擎經(jīng)營查詢競價,以便參與者對查詢項出價,最高的出價者在贊助結(jié)果列表中出現(xiàn)在更高的位置上。XYZ汽車公司可以為查詢″XYZ″的每一次點擊的付一筆金額。這意味著如果用戶搜索″XYZ″,并且他們選擇XYZ汽車公司的贊助鏈接,那么XYZ汽車公司將向搜索引擎機構(gòu)付費$5。另一個相關(guān)的商業(yè)(例如,www.used-cars.com)可能僅為″XYZ″查詢出價更小的金額,因此它們將被放置在贊助列表中向下更低的位置上。
對于特定的查詢,系統(tǒng)的贊助鏈接的相關(guān)性分數(shù)可以同查詢項的出價值相結(jié)合,以向搜索引擎提供增加的收入。為了這樣做,該系統(tǒng)將專用一個單獨的命中矩陣以覆蓋對于指定的查詢的贊助鏈接的選擇。因此,通過將查詢的贊助鏈接所有者出價的值與那個查詢的贊助鏈接的相關(guān)性相結(jié)合,它可以為與該查詢相關(guān)的贊助鏈接計算新的排名分數(shù)。相關(guān)性是對于那個查詢,基于其對此過去的選擇以及相關(guān)的查詢,選擇那個贊助鏈接的可能性的估計。如果該系統(tǒng)通過將這兩個分數(shù)(出價值和相關(guān)性)相乘而將它們組合,那么它將通過″預(yù)期支出(expected payout)″對贊助鏈接進行排序,所述預(yù)期支出是搜索引擎可以期望從該查詢的鏈接中獲得的收入量的估計。
例如,假定XYZ汽車公司為″XYZ″出價$5,而used-cars.com出價$3,并且假定XYZ汽車公司贊助鏈接的相關(guān)性值是0.1(表明在″XYZ″或者相關(guān)查詢被提交的次數(shù)的10%中這個贊助鏈接被選擇)。還假定used-cars.com具有0.2的相關(guān)性。那么對于XYZ汽車公司的總的分數(shù)是0.5(5×0.1),而對于used-cars.com的分數(shù)是0.6(3×0.2)。這暗示used-cars.com應(yīng)當首先出現(xiàn)。即使它具有更低的出價,但它更可能被接受,并且由此為該搜索引擎產(chǎn)生更多的收入。這個方案呈現(xiàn)出有關(guān)各方的一些優(yōu)點1、通過利用預(yù)期支出作為對其贊助列表的排名的功能,搜索引擎產(chǎn)生更多的收入。
2、終端用戶受益,因為他們首先看到更相關(guān)的贊助鏈接,而不是僅為查詢付費更多的公司。
這個對贊助鏈接排名的方法表現(xiàn)出對現(xiàn)有方法的顯著改進。在我們的方法中,我們?yōu)殒溄右呀?jīng)被選擇的每個單獨的查詢維護不同的選擇頻率,以允許我們提供更準確的排名。另外,我們的相關(guān)性度量使得對相關(guān)查詢的、而不只是單獨的查詢的選擇歷史信息進行杠桿作用成為可能。這在網(wǎng)絡(luò)搜索中非常有利,因為許多查詢的修改是可能的,因此如果在過去幾乎沒有出現(xiàn)過準確查詢的例子,則完全依賴于在單獨的查詢級別上的選擇信息的重用很可能被證明是有限的。
我們現(xiàn)在將描述另一個實施例。我們已經(jīng)指出我們的搜索引擎為不同的個人/搜索者團體維護不同的矩陣,以及這些團體怎樣可以成為特設(shè)或者定義明確的團體。例如,在一個團體是由通過特定的網(wǎng)頁提交搜索查詢的所有用戶所組成這一意義上,該團體可以是特設(shè)的,其中所述特定的網(wǎng)頁也就是駕車門戶,這些查詢已經(jīng)被鏈接到用于該門戶的特定的命中矩陣。通過為特定的俱樂部創(chuàng)建特定的搜索引擎以及通過指定的URL提供俱樂部會員訪問,另一個團體可以被更加正式地定義;此外這個俱樂部的搜索被指向特定的命中矩陣。實際上,個人用戶可以利用他們自己的個人命中矩陣,而該個人命中矩陣跟蹤他們個人的搜索行為。關(guān)鍵在于存在許多命中矩陣,每個都專用于不同的用戶組的搜索歷史。在另一個實施例中,用戶提交給一個特定搜索服務(wù)(與一個特定的命中矩陣相關(guān)聯(lián))的查詢可以受益于其它命中矩陣所存儲的信息。在下文中,我們將提供對此的兩個例子。
在第一個例子中,搜索引擎運行一種″元元-搜索″的形式。當用戶提交新查詢q給一個特定搜索服務(wù)和命中矩陣s時,相同的查詢可以被自動地提交給所有的其它的搜索服務(wù)。來自主檢索服務(wù)s的主要結(jié)果被如上所述地呈現(xiàn)給用戶,但是此外來自相關(guān)搜索服務(wù)的結(jié)果還可以作為第二結(jié)果被呈現(xiàn)。例如,考慮我們的用戶通過駕車站點提交查詢″XYZ″。這將使得借助于已經(jīng)從先前通過這個站點進行的搜索學(xué)習(xí)的命中矩陣,來檢索一組可能與汽車有關(guān)的結(jié)果。假設(shè)存在其它的命中矩陣可用,一個用于野生動物站點,一個用于計算機愛好者俱樂部站點。這些命中矩陣很可能也具有先前已經(jīng)選擇用于查詢″XYZ″的結(jié)果——前者與野生動物相關(guān),后者與操作系統(tǒng)相關(guān)——這些第二結(jié)果可以被高亮顯示給駕車站點的用戶,以防萬一他們碰巧正在尋找非駕車的結(jié)果。關(guān)鍵在于可能有其它的已經(jīng)建立了可能與當前搜索相關(guān)的命中矩陣的搜索者團體,而且通過呈現(xiàn)他們的最上層搜索結(jié)果以及有關(guān)該團體的信息,我們也許能進一步地幫助用戶。在我們的發(fā)明中,每個命中矩陣服務(wù)是結(jié)果的基于使用的聚類,其可以提供更實際的結(jié)果聚類的方法。例如,前面的進行聚類的方法在計算上是非常昂貴的,因為搜索結(jié)果在聚類可以被確定之前必須被實時分析(每一個頁面的內(nèi)容必須被與由搜索所檢索到的其它的頁面的內(nèi)容相比較)。我們的命中矩陣用作一種聚類高速緩存,并且可以無需在計算上昂貴的頁面分析而提供聚類效果。
通過考慮用戶可能不知道哪一個搜索服務(wù)被用于他們的搜索的可能,更好地解釋了我們的第二個例子。因此,我們提供了中央搜索引擎,其不必與任何定義明確的用戶團體相關(guān)聯(lián)。當查詢被提交時,這個引擎提交查詢給每個它的命中矩陣,并且來自每個命中矩陣的結(jié)果被返回到用戶,根據(jù)它們在每個命中矩陣內(nèi)的相關(guān)性被排名,并且由合適的命中矩陣標簽來標記;由此結(jié)果被返回于一組聚類中,正如在前一段落中所預(yù)期的那樣。然而此外,引擎可以使用各種度量來識別哪一個命中矩陣可能是對于特定查詢的最好的結(jié)果提供者,并且這樣我們可以根據(jù)滿足查詢的能力對獨立的聚類(以及聚類中的結(jié)果)進行排序。為了這樣做,該系統(tǒng)計算特定查詢qT與給定的命中矩陣H相關(guān)的程度。一種方法是將qT與存儲在H中的每一個查詢進行比較以尋找相關(guān)的查詢;也就是與qT具有的非零相似性的查詢;例如,諸如在等式6中使用的相似性度量可以被使用。對于這些相關(guān)查詢的每一個,我們可以計算成功分數(shù)。對于命中矩陣中的查詢的成功分數(shù)是與該命中矩陣中的命中總數(shù)相比,已經(jīng)包含在它的矩陣條目中的命中(選擇)的相對數(shù);參看等式8。這個度量將為已經(jīng)引起許多頁面選擇的查詢給予很高的成功分數(shù)。
Success(qc,H)=Σ∀iHciΣ∀ijHij---(8)]]>然后qT與H相關(guān)的程度可以作為對于每個由相似度加權(quán)的相似查詢的成功分數(shù)的和而被計算;參看等式9。
Related(qT,H)=Σ∀qc∈HSim(qT,qc)·Success(qc,H)---(9)]]>這樣,如果命中矩陣包含許多相似查詢并且如果這些相似查詢在過去已經(jīng)非常成功(用戶已經(jīng)頻繁地選擇它們的結(jié)果),該命中矩陣將被認為與目標查詢有關(guān)。這允許命中矩陣在搜索之前被動態(tài)地選擇和排名。
由此將理解,本發(fā)明是為更加有效的信息檢索做準備。例如,命中矩陣的每一個單元可以包含不同類型的″相關(guān)性″信息。它可以不必是頁面已經(jīng)被選擇的次數(shù)的簡單計數(shù)。例如,設(shè)想這些命中值將隨時間衰減,從而相對于新的頁面,將不會不公平地優(yōu)選舊的頁面(具有許多命中)。
本發(fā)明不局限于所描述的實施例,而是可以在結(jié)構(gòu)和細節(jié)方面有所變化。例如,本發(fā)明的元搜索引擎可以被并入搜索引擎,在搜索引擎中在內(nèi)部執(zhí)行后處理。術(shù)語″矩陣″將被解釋成表示相關(guān)數(shù)據(jù)是二維或更多維值的任何存儲結(jié)構(gòu)。
權(quán)利要求
1.一種元搜索引擎,用于接收用戶搜索查詢,向搜索引擎提交相應(yīng)的查詢,并且接收它們的響應(yīng),以及用于后處理所述搜索引擎響應(yīng)以提供排名用戶響應(yīng)列表,其中所述元搜索引擎根據(jù)指示用戶查詢和響應(yīng)選擇之間的對應(yīng)的歷史的歷史數(shù)據(jù)對所述引擎響應(yīng)進行排名。
2.如權(quán)利要求1所述的元搜索引擎,其中所述對應(yīng)被存儲為具有查詢-選擇對的歷史命中數(shù)目的矩陣。
3.如權(quán)利要求1或者2所述的元搜索引擎,其中存在多個矩陣,并且所述元搜索引擎動態(tài)地選擇一個矩陣。
4.如權(quán)利要求3所述的元搜索引擎,其中所述元搜索引擎根據(jù)所述用戶被分派的團體來動態(tài)地選擇一個矩陣。
5.如權(quán)利要求4所述的元搜索引擎,其中所述團體是根據(jù)查詢的源而確定的。
6.如權(quán)利要求5所述的元搜索引擎,其中查詢發(fā)起的網(wǎng)站被用于識別團體。
7.如權(quán)利要求5和6所述的元搜索引擎,其中用戶的登錄過程被用于確定命中矩陣。
8.如權(quán)利要求3至7之任一所述的元搜索引擎,其中所述引擎使用多個命中矩陣,并且首先呈現(xiàn)由于主矩陣的使用而產(chǎn)生的結(jié)果。
9.如權(quán)利要求6或者8之任一所述的元搜索引擎,其中所述結(jié)果和關(guān)于與所述矩陣相關(guān)聯(lián)的所述團體的信息一起被呈現(xiàn)。
10.如權(quán)利要求9所述的元搜索引擎,其中所述結(jié)果被呈現(xiàn)在基于使用的聚類中。
11.如權(quán)利要求3至10之任一所述的元搜索引擎,其中所述引擎使用多個矩陣并且它自動地確定哪一個矩陣可能是最相關(guān)的。
12.如權(quán)利要求11所述的元搜索引擎,其中所述引擎計算從與所述矩陣的選擇的總數(shù)相比的對于所述查詢的選擇的相對數(shù)目得到的成功分數(shù)。
13.如任一前述權(quán)利要求所述的元搜索引擎,其中所述元搜索引擎確定對于用戶查詢的直接匹配的歷史選擇值。
14.如權(quán)利要求13所述的元搜索引擎,其中所述元搜索引擎確定對于多個先前的查詢的歷史選擇值,所述先前的查詢與當前的查詢相關(guān)。
15.如權(quán)利要求14所述的元搜索引擎,其中根據(jù)所述關(guān)聯(lián)的查詢與所述當前的查詢的相似性將加權(quán)應(yīng)用于所述選擇值。
16.如權(quán)利要求15所述的元搜索引擎,其中所述相似性是根據(jù)查詢字重疊的程度確定的。
17.如權(quán)利要求14至16之任一所述的元搜索引擎,其中矩陣的一維涉及查詢,并且加權(quán)被應(yīng)用于那一維的每個行或者列。
18.如任一前述權(quán)利要求所述的元搜索引擎,其中所述歷史數(shù)據(jù)對于特定用戶是匿名的,由此確保保密性。
19.如任一前述權(quán)利要求所述的元搜索引擎,其中所述引擎根據(jù)參數(shù)來修改所述歷史數(shù)據(jù)。
20.如權(quán)利要求19所述的元搜索引擎,其中所述參數(shù)是時間,越舊的歷史數(shù)據(jù)具有比越新的歷史數(shù)據(jù)更少的相關(guān)性。
21.如任一前述權(quán)利要求所述的元搜索引擎,其中該引擎將所確定的相關(guān)性分數(shù)與另一個分數(shù)相組合。
22.如權(quán)利要求21所述的元搜索引擎,其中另一個分數(shù)是贊助列表排名。
23.如任一前述權(quán)利要求所述的元搜索引擎,其中所述引擎包括基于案例的推理系統(tǒng),其中每個查詢和它的歷史選擇數(shù)據(jù)是一個案例。
24.如權(quán)利要求23所述的元搜索引擎,其中每個案例包括一個查詢和k個結(jié)果對,每個對具有響應(yīng)標識符和相關(guān)性分數(shù)。
25.如權(quán)利要求24所述的元搜索引擎,其中每個案例對應(yīng)于命中矩陣的查詢維度。
26.一種實質(zhì)上如參考附圖所描述的元搜索引擎。
27.一種實質(zhì)上如參考附圖所描述的元搜索方法。
28.一種計算機程序產(chǎn)品,包括用于在數(shù)字計算機上執(zhí)行時實現(xiàn)權(quán)利要求1至25之任一的元搜索引擎的操作的軟件代碼。
全文摘要
一種元搜索引擎(1),從用戶(U)接收查詢(q
文檔編號G06F17/30GK1856791SQ200480027470
公開日2006年11月1日 申請日期2004年7月23日 優(yōu)先權(quán)日2003年7月23日
發(fā)明者巴里·史密斯, 伊夫琳·巴爾夫 申請人:愛爾蘭都柏林國立大學(xué)-都柏林大學(xué)