两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于交互式搜索查詢細化的系統(tǒng)和方法

文檔序號:6484959閱讀:251來源:國知局
專利名稱:用于交互式搜索查詢細化的系統(tǒng)和方法
技術領域
本申請要求2003年3月21日遞交的題為“Systems and Methods ForInteractive Search Query Refinement”的美國專利申請序列號60/456,905(代理案卷號10130-044-888)的優(yōu)先權,因此作為參考并入其全部內(nèi)容。本發(fā)明涉及搜索引擎的領域,所述搜索引擎例如用于定位數(shù)據(jù)庫中的文檔或存儲在被耦合到因特網(wǎng)或內(nèi)聯(lián)網(wǎng)中的服務器上的文檔,更具體而言,本發(fā)明涉及用于協(xié)助搜索引擎用戶細化其搜索查詢以定位用戶感興趣的文檔的系統(tǒng)和方法。
背景技術
長期以來,開發(fā)如下的搜索表達被視為對于文本搜索引擎用戶的一項困難的認知任務所述搜索表達既傳達用戶的信息需求,還與該需求在目標文檔的詞匯表中的表達方式相匹配。大多數(shù)搜索引擎用戶以只含有一個或兩個單詞的查詢來開始他們對于文檔的搜索,然后當他們在搜索引擎首先產(chǎn)生的大約十個結果中沒有找到他們想要的一個或多個文檔時他們會很失望。雖然通過改進結果的排列方式,可以提高(至少對于某些搜索)用戶滿意度,但是非常廣泛的搜索查詢無法滿足很多不同搜索引擎用戶更加具體的信息需求。一種幫助用戶細化查詢表達的方法是提供項(term)建議,正如圖書管理員在與信息搜索者的面對面交談中所做的那樣。但是,由于系統(tǒng)必須從與一條查詢概念上相關的上百個項中“猜出”哪些項最可能與執(zhí)行搜索的用戶相關,因此自動這樣做是非常不同的。用于選擇相關項的常用方法包括咨詢預先記錄的查詢的在線辭典或數(shù)據(jù)庫(它可以被搜索以找到包含當前查詢中的一個或多個單詞的先前查詢)。這種方法的弱點在于不能保證如此生成的相關項實際上反映了在文檔本身的文集中使用的主題或詞匯表。因此,嘗試從查詢的實際結果中動態(tài)收集相關項的替代性方法已得到更多關注。
某些使用被設置用于生成細化建議的搜索結果的現(xiàn)有方法包括項相關性反饋(例如SIGIR’97年報第6到15頁中Velez等人所著的“Fast andEffective Query Refinement”)、超索引(RIAO’97年報第500到509頁中Bruza和Dennis所著的“Query Reformulation on the IntemetEmpirical Dataand the Hyperindex Search Engine”)、意譯(SIGIR’99年報第153到159頁中Anick和Tipirneni所著的“The Paraphrase Search AssistantTerminological Feedback for Iterative Information Seeking”)和聚集(SIGIR’98年報第46到54頁中Zamir和Etzioni所著的“Web DocumentClusteringA Feasibility Demonstration”)。大多數(shù)相關性反饋方法是為部分匹配搜索引擎所設計的,并且通常包括通過添加多個加權項來擴大查詢表達,所述多個加權項是從被用戶明確標注為相關或不相關的檢索文檔的子集的計算中導出的。超索引在由搜索引擎返回的片斷上運行語法分析程序,以提取出包含查詢項的名詞短語。意譯從結果集合文檔中提取出名詞短語,并基于詞匯擴散選擇用于顯示的反饋項。聚集方法嘗試聚集結果集合片斷,并從出現(xiàn)在各個集群內(nèi)的項中導出代表性查詢項。雖然這些方法中的很多都很實用,但是它們有些不適合于非常大的網(wǎng)絡搜索引擎,其原因在于運行時間性能或生成的反饋項的相關性。本領域中依然存在對用于協(xié)助用戶識別相關項以改進搜索的有效方法的需求。
為了更好理解現(xiàn)有技術的局限,更進一步回顧SIGIR’97年報第6到15頁中Velez等人所著的“Fast and Effective Query Refinement”。Velez等人提供了用于查詢細化的系統(tǒng)和方法,其中來自自動建議的項被添加到初始查詢,以便細化初始查詢。在Velez等人中,作者依賴于普通的查詢細化程序DM。如Velez等人所提出的,DM具有以下步驟令C=文檔文集q=用戶查詢r=將考慮的匹配文檔的數(shù)目Wfcn(s)=算法專用權重項集合S則,1.計算匹配查詢q的文檔的集合D(q)∈C2.選擇頂端r個匹配文檔的子集Dr(q)3.從文檔Dr(q)中計算項的集合T(q),使得T(q)={t|∃d∈Dr(q):t∈d},]]>其中d是文檔,t是項4.計算來自T(q)的n個具有最高權重Wfcn(s)的項的子集S5.將S提供給用戶以作為項建議的集合如Velez等人所述,該方法并不令人滿意,因為該技術要花費很長的運行時間。換句話說,在文檔數(shù)據(jù)庫(文集)很大的情況下,為了使用DM計算項建議的集合S,將花費無法令人滿意的時間量。
Velez等人試圖通過預先計算由DM動態(tài)執(zhí)行的巨大工作量來提高DM的速度。在預先計算階段,Velez等人生成如下數(shù)據(jù)結構該數(shù)據(jù)結構將文集中的每單個詞項t映射到DM算法對于該單個項查詢t而將建議的各個項集合m。然后,在運行時,從用戶接收到任意查詢。該查詢通常包括項的集合。響應于該查詢,Velez等人收集對應于查詢中的每個項的各個項集合m,并將這些集合合并到單個集合中,并隨后將其返回到用戶以作為對經(jīng)改進搜索的建議。例如考慮用戶輸入查詢“space shuttle”的情況。在此情況下,Velez等人可以獲得已經(jīng)預先計算出的用于單詞“space”的項集合m以及已經(jīng)預先計算出的用于單詞“shuttle”的項集合m,并將它們合并在一起,以導出用于查詢“space shuttle”的建議項的集合。
雖然該方法通過預先離線計算項關系的子集而提高了運行時間性能,但是Velez等人的方法存在缺陷。首先,存在上下文問題。Velez等人的方法依賴于如下假設無論給定項t是單獨出現(xiàn),還是作為多項查詢的一部分出現(xiàn),與該項t相關的項集合m都是相同的。但是該假設并不總是真實的。出現(xiàn)在多項短語中的項在某些情況下表示與單獨出現(xiàn)的項完全不同的意思。由于Velez等人所依賴的該假設,該方法在某些情況下可能導致不適當?shù)乃阉黜椊ㄗh,或者可能丟失在整個查詢的上下文中更為相關的其他建議。其次,當文集(文檔數(shù)據(jù)庫)變化時,Velez等人的方法需要重新計算分別與文集中的項t相關聯(lián)的項集合m,這是因為每個項集合m依賴于文集中的多個文件的內(nèi)容,所述多個文件可能包括最近添加到文集中的文件。
Xu和Croft在SIGIR’97第4-11頁中描述了另一種方法,其中與給定概念相關的項集合在接收到可以包括若干概念(搜索項)的搜索查詢前被預先計算。與Velez等人一樣,Xu和Croft的方法所依賴的靜態(tài)交叉文檔數(shù)據(jù)結構的構造以及統(tǒng)計需要在文集隨時間改變時廣泛重新計算與概念相關的項。因此,對于大型動態(tài)文檔數(shù)據(jù)庫,Xu和Croft的計算需求并不令人滿意。
鑒于以上背景,希望協(xié)助用戶將他們的搜索查詢細化成被更窄限定的查詢,以便產(chǎn)生他們更想要的搜索結果。

發(fā)明內(nèi)容
本發(fā)明提供了用于細化搜索查詢的改進方法,其中所述搜索查詢被設計用于從文檔索引中獲取文檔。本發(fā)明是有利的,因為它沒有依賴于每次更新文集時必須重新計算的交叉文檔數(shù)據(jù)結構或全局統(tǒng)計。此外,本發(fā)明在查詢時(運行時)需要相當少的I/O資源,這是因為與已知方法相比,在運行時為產(chǎn)生包括了短語、單個詞項和專用語(包括查詢項的短語)的混合物的相關建議的短列表而需獲取的結果更少。在本發(fā)明中,文檔索引中的每個文檔在查詢前的某一時刻被處理,例如在文檔索引生成期間。在此處理中,文檔索引中的每個文檔被檢查,以判斷該文檔是否包括適合于包括在用于該文檔的經(jīng)分級候選項的集合中的任何項。當文檔包括這樣的項時,用于該文檔的文檔索引條目被配置以包括與該文檔相關聯(lián)的項的集合。該項的集合被稱為經(jīng)分級候選項集合。
當接收到查詢時,文檔的初始組從文檔索引中被獲取。文檔的初始組根據(jù)對于該查詢的相關性而被分級。文檔的“初始組”可以是被識別為可能與該查詢相關的文檔的全部集合的子集。在一個實施例中,在初始組中的文檔數(shù)目是被識別為可能與該查詢相關的所有文檔與通常在20和200之間的一個參數(shù)值(例如50)之中的小者。然后,對出現(xiàn)在與經(jīng)分級文檔的初始組中的一個文檔相關聯(lián)的任意經(jīng)分級候選項集合中的每個候選項應用加權功能。響應于查詢,級別高的候選項與經(jīng)分級文檔的初始組一道被呈現(xiàn)出來。對呈現(xiàn)的候選項之一進行的用戶選擇致使該項被添加到原始的搜索查詢中。
本發(fā)明的一個方面提供了一種用于細化接收到的查詢的方法,接收到的查詢被處理,以便生成對應于接收到的查詢的經(jīng)分級文檔的初始組。在經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔都分別與其相應的經(jīng)分級候選項的集合相關聯(lián)。多個相應的候選項的集合中的每個候選項被嵌入到經(jīng)分級文檔的初始組中的文檔中。每個候選項可以是一個單詞或一個短語。此外,在優(yōu)選實施例中,在處理接收到的查詢之前的某一時刻構建多個相應的候選項集合。該方法繼續(xù)選擇處于多個相應的經(jīng)分級候選項的集合的一個或多個集合中的候選項的子集。選擇功能被用于選擇該候選項的子集。然后,響應于接收到的查詢,經(jīng)分級文檔的初始組以及候選項的子集被呈現(xiàn)出來。在某些實施例中,使用經(jīng)修訂的查詢來重復上述處理、選擇和呈現(xiàn)步驟,所述經(jīng)修訂的查詢包括原始接收到的查詢和來自候選項子集的候選項。
在某些實施例中,與一個文檔相關聯(lián)的候選項的集合是通過將文檔中的項與候選項主列表相比較來構建的。當該項在候選項主列表中時,該項被添加到與該文檔相關聯(lián)的候選項集合中以作為一個候選項。在某些實施例中,候選項的主列表包括多于10,000,000個候選項。該比較被重復,直到文檔中的最大數(shù)目項已被考慮,或閾值數(shù)目唯一項已被考慮為止。然后,將加權和/或選擇功能應用到候選項的集合,以產(chǎn)生經(jīng)分級候選項的集合。通常,該加權和/或選擇功能對候選項分級,然后應用截斷(cutoff),該截斷只保留了高級別的項。在某些實施例中,針對特定語言(例如英語、西班牙語、法語、德語、葡萄牙語、意大利語、俄語、中文或日語)來優(yōu)化候選項的主列表。在某些實施例中,經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔具有已優(yōu)化了候選項主列表的同一語言。
在某些實施例中,文檔索引中的每個文檔在查詢處理之前的某一時刻(例如在最初文檔標引期間)被分類。在某些實施例中,存在兩種可能的類別,第一家庭友好類和第二非家庭友好類。文檔類別的指定被包括在文檔索引中。
在某些實施例中,經(jīng)分級候選項集合中的如下單個詞候選項被丟棄該單個詞候選項實際上是該經(jīng)分級候選項集合中的一個更復雜項的子集(子串)。此外,相信該更復雜項具有出現(xiàn)在與經(jīng)分級候選項的集合相關聯(lián)的文檔的全部或上部中的該簡單項的實例數(shù)目。該丟棄和相信步驟被重復,直到不再有作為經(jīng)分級候選項的集合中的更復雜候選項的子集的單個詞候選項為止。此外,可以將同樣過程應用到作為更復雜項的子集的多個詞候選項。
在某些實施例中,經(jīng)分級候選項的集合中的作為該集合中的第二項的正確拼寫變體(orthographic variant)或屈折變體(inflectional variant)的候選項被丟棄。此外,相信第二項具有出現(xiàn)在與經(jīng)分級候選項的集合相關聯(lián)的文檔的全部或上部中的該正確拼寫變體或屈折變體項的實例數(shù)目。該丟棄和相信步驟被重復,直到不再有作為經(jīng)分級候選項的集合中的另一項的正確拼寫變體或屈折變體的項為止。在某些實例中,第二項在候選集合中被重寫為包括(例如多個)正確拼寫變體或屈折變體的組合項,其中在相關文檔的全部或上部中出現(xiàn)最多次的變體首先出現(xiàn)在組合項中。在某些實施例中,當組合項被選擇用于包括到被呈現(xiàn)的候選項的子集中時,只有組合項的第一部分被呈現(xiàn)給用戶。
本發(fā)明的某些實施例提供了各種選擇功能,它們被用于響應于查詢而選擇將被呈現(xiàn)的候選項的子集。在某些實施例中,該選擇功能利用在與經(jīng)分級文檔的初始組中的頂級文檔相關聯(lián)的候選項集合中找到的信息。該信息包括兩種形式的分級。首先,文檔被分級。其次,與經(jīng)分級文檔的初始組中的文檔相關聯(lián)的每個經(jīng)分級候選項集合中的每個候選項被分級。
在一個實施例中,選擇功能包括(i)對與經(jīng)分級文檔的初始組中的頂級文檔相關聯(lián)的每個各自的經(jīng)分級候選項集合中的每個候選項應用加權功能。如這里所使用的,在經(jīng)分級文檔的初始組中的每個頂級文檔是具有如下級別的文檔,所述級別在數(shù)字上低于某個閾值級別(例如50,就是說,頂級文檔是針對該查詢返回的經(jīng)分級文檔的初始組中的前50個文檔)。例如,考慮經(jīng)分級文檔的初始組包括100個文檔而閾值級別等于50的情況。然后,前50個文檔將被看作頂級文檔。接收到最高權重的這些候選項被包括到與查詢結果一道呈現(xiàn)的候選項的子集中。在某些實施例中,由加權功能應用到候選項的權重是根據(jù)與該候選項所出現(xiàn)的頂級文檔相關聯(lián)的候選項集合的數(shù)目來確定,或根據(jù)該候選項在每個這樣的經(jīng)分級候選項集合中的平均位置來確定,或根據(jù)接收到的查詢中的項是否在候選項中來確定,或根據(jù)該候選項中的字符數(shù)目來確定,或根據(jù)包括候選項的相關集合中的項的頂級文檔的平均級別位置來確定。在某些實施例中,被加權功能應用到一個候選項的權重是根據(jù)TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion的任意組合或任意加權子集來確定的,其中TermCount是既(i)包括該候選項,又(ii)分別與一個頂級文檔相關聯(lián)的經(jīng)分級候選項的集合的數(shù)目,TermPosition是該候選項在既(i)包括該候選項,又(ii)分別與一個頂級文檔相關聯(lián)的經(jīng)分級候選項的那些集合中的位置的函數(shù)(例如平均),ResultPosition是與包括該候選項的經(jīng)分級候選項的集合相關聯(lián)的那些頂級文檔的級別的函數(shù)(例如平均),TermLength是該候選項中的字符數(shù)目(候選項的復雜性),以及QueryInclusion是指示接收到的查詢中的項是否在該候選項中的值。
在某些實施例中,被加權功能應用到一個候選項的權重是根據(jù)以下公式來確定的TermCount+TermPosition+ResultPosition+TermLength+QueryInclusion。
在某些實施例中,TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion中的每一個被獨立加權。在某些實施例中,被加權功能應用到候選項的權重是根據(jù)以下公式來確定的(TermCount*w1)+(TermPosition*(w2+(RefinementDepth*w2′)))+(ResultPosition*w3)+
(TermLength*(w4+(RefinementDepth*w4′)))+(QueryInclusion*(w5+(RefinementDepth*w5′)))其中w1、w2、w3、w4、w5、w2′、w4′和w5′是獨立的權重,并且RefinementDepth是對接收到的查詢已執(zhí)行的處理的次數(shù)。
在某些實施例中,選擇功能包括對于經(jīng)分級文檔的初始組中的每個文檔,確定該文檔的類別。然后,當文檔集合中的閾值百分比的文檔屬于第一類別(例如家庭友好類)時,屬于作為第二類別(例如非家庭友好類)的成員的文檔的所有經(jīng)分級候選項的集合都不被用于構成候選項的子集。
本發(fā)明的另一方面提供了與計算機系統(tǒng)協(xié)同使用的計算機程序產(chǎn)品。該計算機程序產(chǎn)品包含計算機可讀存儲介質(zhì)和嵌入在其中的計算機程序機構。所述計算機程序機構包括查詢細化建議引擎,其用于細化接收到的查詢。該引擎包括用于處理接收到的查詢,以便生成對應于接收到的查詢的經(jīng)分級文檔的初始組的指令。在經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔都分別與其各自的經(jīng)分級候選項的集合相關聯(lián),以使其各自的經(jīng)分級候選項的集合中的每個候選項被嵌入到所述文檔中。每個各自的經(jīng)分級候選項的集合都是在處理接收到的查詢之前的某一時刻被識別出的。該引擎還包括用于根據(jù)選擇功能,選擇處于各自的候選項集合中的一個或多個集合中的候選項子集的指令。此外,該引擎包括用于響應于接收到的查詢,呈現(xiàn)經(jīng)分級文檔的初始組以及所述候選項的子集的指令。
本發(fā)明的另一方面提供了一種包含多個統(tǒng)一資源定位符(URL)的文檔索引數(shù)據(jù)結構。每個URL分別指定一個文檔。在由多個URL分別指定的全部或部分文檔中的每個文檔與其各自的經(jīng)分級候選項的集合相關聯(lián)。在各自的經(jīng)分級候選項的集合中的每個候選項包括被嵌入到與所述經(jīng)分級候選項的集合相關聯(lián)的文檔中的候選項。此外,這些候選項通過加權功能被分級。在某些實施例中,通過以下步驟來創(chuàng)建各自的經(jīng)分級候選項的集合(A)將與各自的經(jīng)分級候選項的集合相關聯(lián)的文檔中的項與候選項的主列表相比較,其中,當所述項在候選項的主列表中時,所述項被添加到所述各自的經(jīng)分級候選項的集合中,以作為一個候選項;
(B)重復所述比較,直到所述文檔中的最大數(shù)目項已被考慮為止;(C)根據(jù)加權功能對候選項分級,從而構成經(jīng)分級的候選項。


在下文中,通過結合附圖參考本發(fā)明優(yōu)選實施例的詳細描述,將更清晰地理解本發(fā)明的上述特征和優(yōu)點以及其他的特征和優(yōu)點。
圖1示出了向搜索引擎提交查詢的客戶端計算機。
圖2示出了根據(jù)本發(fā)明實施例產(chǎn)生的搜索結果頁,其包括查詢細化建議。
圖3是搜索引擎服務器的框圖。
圖4是搜索引擎索引的框圖。
圖5是文檔標引方法的流程圖。
圖6是用于處理由用戶提交的查詢的過程的流程圖。
其中在附圖中相同標號指代對應的部分。
具體實施例方式
在典型實施例中,本發(fā)明以有效的方式生成查詢細化建議的一個小集合(10到20個)(候選項的子集),這個查詢細化建議的小集合可能與用戶的查詢高度相關,并反映出目標文檔的詞匯表。
如圖1所示,搜索查詢被客戶端計算機100提交到搜索引擎服務器110。在接收到搜索查詢之后,搜索引擎服務器110在文檔索引120中識別與該搜索查詢相關的文檔。此外,搜索引擎服務器110例如按照文檔與該搜索查詢的相關程度或其他排列因素來排列相關文檔。然后,對該有序文檔集合的描述(搜索結果)被返回到客戶端計算機100,以作為有序文檔的集合。在本發(fā)明中,附加信息以候選項子集(搜索細化建議)的形式與有序文檔的初始集合一道被返回到客戶端計算機。
在轉到關于服務器110如何生成候選項的子集之前,首先提供如圖2所示的由搜索引擎服務器110的實施例返回的搜索結果和搜索細化建議的屏幕截圖,以便更好理解本發(fā)明的優(yōu)點。在圖2中,用戶提供初始查詢(接收到的查詢)132。當按下查找按鈕134時,查詢132被從客戶端計算機100發(fā)送到搜索引擎服務器110。在接收到查詢132之后,搜索引擎服務器110處理接收到的查詢132,并以有序文檔的初始集合以及候選項子集的形式將搜索結果和搜索細化建議發(fā)回客戶端計算機100。候選項子集被顯示在界面180的面板140上。具體而言,候選項子集中的每個項136與標簽138一道被顯示在區(qū)域140中。同時,搜索結果的列表項(有序文檔的初始列表中被排列在頂端的文檔)被顯示在面板142中。本發(fā)明的系統(tǒng)和方法針對能夠細化、改變或改進初始查詢132的項136的識別。當用戶按下標簽138時,對應于標簽138的項136被添加到初始查詢132中,并以新查詢重復整個過程。當用戶按下另一標簽139時,對應于標簽138的項136替代初始查詢132,并且搜索引擎服務器處理作為新查詢的項136。在未示出的實施例中,對應于每個項136的一個或多個附加標簽可以被添加到面板140。在一個示例中,存在用于向例外列表(exceptionlist)添加相應項136的標簽。例如,當初始查詢是“A”而用戶按下用于項“B”的排除標簽時,新查詢變?yōu)椤癆”而不是“B”。除了顯示在面板140中的項子集之外,有序文檔的初始集合也被顯示在面板140上。為了節(jié)省計算機100和服務器110之間的帶寬,在典型實施例中,有序文檔的初始集合通常只包括有序文檔的初始集合中的每個文檔的索引,以使用戶可以確定初始有序文檔中的每個文檔的本質(zhì)。這樣的索引在這里仍舊被稱為有序文檔的初始集合。
本發(fā)明的系統(tǒng)和方法的概況已被公開。從該概況可知,本發(fā)明的很多優(yōu)點和特征是顯而易見的。本發(fā)明的新型算法向用戶自動提供可以用于改進初始查詢的建議項136的列表。例如,在圖2中,初始查詢132是“space shuttle”。響應于該初始查詢,本發(fā)明的實施例提供了包括項136(例如“Challenger Disaster”)的候選項子集。將項“ChallengerDisaster”添加到初始查詢或用項“Challenger Disaster”替代初始查詢的做法為用戶提供了很可能更接近地匹配用戶興趣的查詢。通過使用新的候選項子集,用戶可以在無需分析有序文檔的初始集合中的文檔(或其索引)的情況下建立改進的查詢。因此,使用本發(fā)明,不再需要確定初始查詢?yōu)楹萎a(chǎn)生與用戶的信息需求不直接相關的太多(或太少)結果。
現(xiàn)在,已經(jīng)給出了本發(fā)明的概況和本發(fā)明的優(yōu)點,下面將公開本發(fā)明的系統(tǒng)和方法的更詳細描述。為此,圖3示出了根據(jù)本發(fā)明一個實施例的搜索引擎服務器110。在優(yōu)選實施例中,使用一個或多個計算機系統(tǒng)300(如圖3所示)來實現(xiàn)搜索引擎服務器110。本領域技術人員將意識到,為處理大量查詢而設計的搜索引擎可以使用比圖3所示計算機系統(tǒng)更復雜的計算機體系結構。例如,前端服務器集合可以被用于接收查詢,并將查詢分發(fā)到實際處理查詢的后端服務器的集合中。在這樣的系統(tǒng)中,如圖3所示的系統(tǒng)300將是后端服務器之一。
計算機系統(tǒng)300通常具有用戶接口304(包括顯示器306和鍵盤308)、一個或多個處理單元(CPU)302、網(wǎng)絡或其他通信接口310、存儲器314和一個或多個用于互連這些組件的總線312。存儲器314可以包括高速隨機訪問存儲器,還可以包括非易失性存儲器,例如一個或多個磁盤存儲設備(未示出)。存儲器314可以包括距離中央處理單元302很遠的大容量存儲設備。存儲器314優(yōu)選地存儲●操作系統(tǒng)316,其包括用于處理各種基本系統(tǒng)服務和執(zhí)行硬件相關任務的程序;●網(wǎng)絡通信模塊318,其用于經(jīng)由一個或多個通信網(wǎng)絡將系統(tǒng)300連接到各種客戶端計算機100(圖1)和可能的其他服務器或計算機,所述通信網(wǎng)絡例如是因特網(wǎng)、其他廣域網(wǎng)、局域網(wǎng)(例如可以將客戶端計算機100連接到計算機300的本地無線網(wǎng)絡)、城域網(wǎng)等等;●查詢處理器320,用于接收來自客戶端計算機100的查詢;●搜索引擎332,用于搜索文檔索引352,以找到與查詢相關的文檔,并用于形成與查詢相關的有序文檔的初始集合;以及●查詢細化建議引擎324,用于實現(xiàn)本發(fā)明的多個方面。
查詢細化建議引擎324可以包括可執(zhí)行的程序、子模塊、表和其他數(shù)據(jù)結構。在一個實施例中,細化建議引擎324包括●選擇功能326,用于識別候選項的子集,以使其與有序文檔的初始集合一道顯示出來;以及●結果格式化模塊328,用于格式化候選項的子集和有序文檔的初始集合以用于顯示。
本發(fā)明的方法在由查詢處理器320接收到查詢132之前以文檔標引器344的行為開始。文檔標引器344使用網(wǎng)上搜掠和標引技術來建立文檔索引352。但是,除了該傳統(tǒng)功能之外,文檔標引器344還包括進一步處理文檔索引352中的文檔的新型程序模塊。例如,文檔標引器344包括“候選項集合構建器”346。在優(yōu)選實施例中,構建器346檢查文檔索引352中的每個文檔。在其他實施例中,只有滿足預定標準的文檔(例如包含具有預定語言集合中的一種語言的文本的文檔)被構建器346檢查。
對于每個被檢查的文檔,構建器346判斷該文檔是否包括嵌入在該文檔中的任意候選項。存在很多不同的構建器346可以實現(xiàn)該任務的方法,并且所有這些方法都被包括在本發(fā)明的范圍內(nèi)。在一個實施例中,通過使來自該文檔的項與候選項的主列表342相匹配來實現(xiàn)該任務。候選項的主列表342包括所有可能的候選項。在某些實施例中,列表342是具有有效候選項列表的Unix型文本文件。列表342的代表性格式是每行一個候選項,列表342中的每個候選項是唯一的、經(jīng)UTF-8編碼的,并且去除了所有逗號、tab、行末尾和@符號。在某些實施例中,主列表被限定為名詞和名詞短語(這些種類的項最可能有益于被用作查詢項),其中明確去除了具有有限的查詢細化值的任意名詞短語。
在典型的實施例中,只有文檔索引352中的每個文檔的第一部分被檢查以找到候選項。例如,在某些情況下,構建器346只檢查文檔索引352中的每個文檔的前100,000個字節(jié)。在某些實施例中,構建器346檢查文檔索引352中的一個文檔,直到該文檔中的最大數(shù)目的項(例如100、1000、5000等)已被考慮為止。在某些實施例中,當文檔中的閾值數(shù)目的唯一項已被發(fā)現(xiàn)出現(xiàn)在主列表342中(例如1000個項)時,終止對該文檔中的候選項的搜索。
本發(fā)明的某些實施例提供多于一個候選項的主列表342。每個主列表342被優(yōu)化以用于不同的語言。例如,第一列表342被優(yōu)化以用于英語,而第二列表342被優(yōu)化以用于西班牙語。從而,英語列表342將包括在英語文檔中找到的信息項,而西班牙語列表342將包括在西班牙語文檔中找到的信息項。類似地,本發(fā)明的某些實施例包括被優(yōu)化以用于法語、德語、葡萄牙語、意大利語、俄語、中文或日語的列表。在本發(fā)明的某些實施例中,列表342被優(yōu)化以用于其他類型的類別。例如,在某些實施例中,列表342被優(yōu)化以包括科學項、時尚項、工程項或旅行項。但是,在優(yōu)選實施例中,每個主列表342包括盡可能多的信息項。實際上,主列表342可以包括多于10,000,000個項,并通常包括遠遠多于1,000,000個項。這些項中的每一個可以是一個詞或一個短語。為了清楚,一個代表性短語是“Challenger Disaster”。
用于確定文檔中使用的主要語言的方法是本領域公知的。因此,在本發(fā)明的某些實施例中,構建器346使用這樣的方法(i)確定正被檢查的文檔的語言,然后(ii)使用被優(yōu)化以用于與該文檔相同語言的主列表342。
在位于主列表342中的一個或多個候選項被嵌入在索引352中的一個文檔的頂部部分(例如前100K字節(jié))中的情況下,由構建器346檢查該文檔的最終結果是這些項的標識。當這些項被構建器346識別出時,它們以有序形式被添加到與該文檔相關聯(lián)的數(shù)據(jù)結構中。該數(shù)據(jù)結構被稱為候選項集合。在索引352已被構建器346檢查之后,索引352中的每個已在其頂部部分嵌入了候選項的文檔將分別與包括這些項的候選項集合相關聯(lián)。因此,例如,如果在索引352中存在兩個包括候選項的文檔(即A和B),則第一候選項集合將與文檔A相關聯(lián),而第二候選項集合將與文檔B相關聯(lián)。第一候選項集合將包括嵌入在文檔A的頂部部分的每個候選項,而第二有序候選項集合將包括嵌入在文檔B的頂部部分的每個候選項。實際上,每個候選項集合都在內(nèi)部被排列以構成其各自的候選項的有序集合,如下面將更詳細公開的。
圖4示出了構建器346對文檔索引352中的文檔402的檢查如何導致對文檔索引352的修改。在構建器346檢查索引352中的文檔之前,索引352中的每個文檔402包括文檔402的統(tǒng)一資源位置(URL)406以及一組特征值408。特征值408包括與該文檔相關聯(lián)的元數(shù)據(jù),并包括用于在排列被識別為可能與查詢相關的文檔時協(xié)助搜索引擎的值。特征值可以包括對文檔的文件格式的指示、文檔的長度、到該文檔的已知進入鏈接(來自其他文檔)的數(shù)目、文檔的題目(例如在該文檔被選為響應于一個查詢時用于顯示的題目)等等。在文檔402已被構建器346檢查(圖3)之后,候選項集合410與該文檔402相關聯(lián)。
在本發(fā)明的某些實施例中,以如下方式實現(xiàn)用于使文檔中的一個項與列表342中的一個候選項相匹配的方法確保該項與列表342中可能最復雜的候選項相匹配。例如,考慮項“AB”被嵌入在索引352中的一個文檔中的情況,其中A和B都是單詞。此外,假設列表342包括“A”、“B”和“AB”。這時,文檔中的項“AB”將于列表342中的“AB”相匹配,而不是與“A”或“B”相匹配。存在多種可能實現(xiàn)這種匹配的方法,并且所有這些匹配方案都在本發(fā)明的范圍內(nèi)。一種這樣的匹配方法是使用具有以下邏輯的“貪婪的從左到右算法”對于文檔中的每個具有“ABCD…”形式的句子,被如下檢查A是列表342中的一個候選項的前綴?○是“AB”是列表342中的一個候選項的前綴?■是“ABC”是列表342中的一個候選項的前綴?●是->繼續(xù)以相同方式穿過該句子●否將“AB”添加到與該文檔相關聯(lián)的那個候選項集合410中,并移動到C以考慮“CDEF…”■否將“A”添加到與該文檔相關聯(lián)的那個候選項集合410中,并移動到B以考慮“BCDE…”○否移動到B并開始考慮“BCDE…”這樣的算法確保列表342中的最復雜的項與文檔中的一個項相匹配,其中“句子”是文檔中的某個任意量,例如一行或文檔中的兩個短語邊界之間或其他斷點之間的部分,而“ABCD…”是項中的沒個單詞。在相關的方法中,當候選項集合410中的第一候選項是該候選項集合中的第二候選項的子集時,構建器346丟棄該第一候選項。
在本發(fā)明的某些實施例中,有序項集合410中的每個候選項在與該集合410相關聯(lián)的文檔的全部或頂部部分(例如前100K字節(jié))中出現(xiàn)的次數(shù)被跟蹤。例如,如果集合410中的候選項“A”在與集合410相關聯(lián)的文檔的頂部部分出現(xiàn)12次,則記錄項“A”在文檔中出現(xiàn)12次的指示,并將該指示用于為了確定哪些候選項將保留在有序候選項的最終集合中而設計的加權方案中。
在某些實施例中,每當一個項出現(xiàn)在相關文檔的前閾值數(shù)目個單詞中的情況下,該項出現(xiàn)在該文檔中的次數(shù)的指示被向上加權(upweight)。例如,考慮第一閾值的值是15個單詞的情況。此外,在該示例性情況下,候選項“A”恰好出現(xiàn)兩次。短語“A”的第一次出現(xiàn)是在15個單詞界限之前,而“A”的第二次出現(xiàn)是在15個單詞界限之后。在用于該示例性情況的加權方案中,出現(xiàn)在前15個單詞中的單詞接收兩倍的權重。從而,在與文檔相關聯(lián)的候選項集合402中,候選項“A”將與如下指示一道被列出,所述指示表明該項在文檔頂部部分出現(xiàn)(2*1+1)次,即3次。本領域技術人員將意識到,更復雜形式的第一閾值是可能的。例如,應用于候選項計數(shù)的加權可以是該候選項在文檔中的位置的函數(shù)。例如,該函數(shù)可以是一個線性函數(shù)(或非線性函數(shù),或分段的線性函數(shù)),該函數(shù)的最大值位于文檔的始端,而最小值位于該文檔的末端。可替換地,可以以筐(basket)的形式應用加權,其中在文檔開始處(第一筐)存在大權重,在文檔的第二部分(第二筐)存在較低權重,在文檔的第三部分(第三筐)存在更低權重,以此類推。
在如下的實施例中其中(i)候選項出現(xiàn)在相關文檔中的次數(shù)的指示,以及(ii)當有序候選項集合410中的第一候選項是該有序候選項集合中的第二候選項的子集時,構建器346丟棄該第一候選項,在這樣的實施例中,相信第二候選項具有由構建器346在文檔中識別出第一候選項的次數(shù)。
除了構建器346之外,標引器344還包括冗余過濾器348。過濾器348被設計用于去除可能出現(xiàn)在候選項集合中的正確拼寫變體或屈折變體。項的正確拼寫變體是對于項的可替換的正確拼寫。項的屈折變體具有項的可替換后綴或重音形式。在某些實施例中,正確拼寫變體和/或屈折變體被存儲在變體列表360(圖3)中。然后,冗余過濾器348的工作是確保不會有候選項集合410中的一對候選項出現(xiàn)在變體列表360中。當候選項集合410中的一對候選項處于變體列表360中時,過濾器348將該對中的一個項從集合410中丟棄。在某些實施例中,該對中的第一項將被從集合410中有效地丟棄,而該對中的第二項將被保留。但是,在某些實施例中,第二項將被修改,以使其與被丟棄的第一項相結合。例如,如果項A和B是屈折變體或正確拼寫變體,則其中一個項(例如A)將被丟棄,而另一項(B)被保留。此外,項B將被重寫為A,B。該特征是有利的,因為它保留了關于可以被本發(fā)明的更高層模塊(例如查詢細化建議引擎324)使用的下層文檔的有用信息。通常,在被這樣合并的正確拼寫變體或屈折變體候選項出現(xiàn)的情況下,引擎324將只提供第一(未被丟棄的)項。例如,在重寫項A,B的情況下,只有項“A”被包括在呈現(xiàn)于面板140上的候選項的子集中。通常,出現(xiàn)在列表360中的一對項中被丟棄的項是在相關文檔中出現(xiàn)頻率較低的那個項。在某些實施例中,其區(qū)別僅在于出現(xiàn)或不出現(xiàn)某些噪聲單詞(例如a、the、who、what、where等等)的候選項以與包括了正確拼寫變體或屈折變體的候選項被折疊在一起的方式相同的方式被折疊。同樣,在某些實施例中,在給定的候選項集合中的兩個項之間的差異僅在于出現(xiàn)或不出現(xiàn)標點符號的情況下,這兩個項以與包括了正確拼寫變體或屈折變體的候選項被折疊在一起的方式相同的方式被折疊。在某些實施例中,在候選項集合中的每個短語都被轉換成相同的字母(例如小寫字母)。該規(guī)則的一個例外在于,具有6個或更少大寫字母字符的單個單詞這樣的項不被轉換為小寫字母,因為,這樣的項可能是一個縮寫詞。
在如下的實施例中其中(i)候選項出現(xiàn)在相關文檔中的次數(shù)的指示,以及(ii)過濾器348由于候選項集合中的第一候選項是該集合中的第二候選項的正確拼寫變體或屈折變體而丟棄第一候選項,在這樣的實施例中,相信第二候選項具有由構建器346在文檔中識別出第一候選項的次數(shù)。換句話說,當兩個候選項之間的差異僅在于其中一個候選項包括如下單詞時,丟棄其中一個候選項,其中所述單詞是另一候選項中的相應單詞的屈折變體或正確拼寫變體。這種情況的一個示例出現(xiàn)在候選項為“towtruck”和“tow trucks”的情況下。在該示例中,這兩個候選項之間的差異僅在于第一項中的“truck”的寫法和第二項中的“trucks”的寫法。
關于文檔標引器344的很多細節(jié)已被公開。在此階段有必要參考圖5的流程圖,該圖公開了標引器344的某些實施例所采取的步驟。在其其他標引任務(例如對由網(wǎng)絡爬尋器找到的文檔中的單詞的傳統(tǒng)標引)中的全部或部分之后,標引器344將控制傳遞到構建器346,構建器346選擇已被標引的文檔(圖5,步驟502)。
在步驟504中,將文檔中的項與候選項的主列表342相比較。如果該項在主列表342中(506的是),則將該項添加到與該文檔相關聯(lián)的候選項集合402中(510)。注意,步驟504可以更復雜的匹配方案,例如如上所述的“貪婪的從左到右算法”在某些實施例中,被比較的文檔是網(wǎng)頁。因此,必須執(zhí)行某些關于哪些單詞構成適合于與主列表342相比較的有效單詞的判斷。在一種方法中,實際上是網(wǎng)頁的文檔被解析以找到用于短語提取的文本。在一個實施例中,使用所有“可視”文本再加上元頁描述來執(zhí)行步驟504中的短語匹配,并且這樣的短語不包括HTML代碼、java腳本等等。為了得到有效短語,網(wǎng)頁中的“短語邊界”(例如表的標簽)被保留,以使從文檔中提取中的用于與列表342相比較的表達不會跨越短語邊界。在本發(fā)明的某些實施例中使用的短語邊界的其他示例包括,但不局限于,諸如“.”、“?”、空行等的標點符號。
在本發(fā)明的某些實施例中,主列表342是從若干不同的源收集來的項的很大集合。因此,在步驟504中,可以執(zhí)行另外的過濾以確保只有提供信息的候選項被選擇用于包括在候選項集合中。在某些實施例中,與主列表342中的項相比較的文檔中的項在比較之前被處理。例如,在某些實施例中,在與列表342相比較之前去除項中的標點符號。在某些實施例中,在與列表342相比較之前用空格代替標點符號字符。在某些實施例中,噪聲項的列表354被存儲在存儲器314中。代表性的噪聲項包括,但不局限于,諸如“a”、“the”、“who”、“what”和“where”之類的單詞。因此,在噪聲項的列表354被存儲在存儲器314的實施例中,比較步驟504將首先判斷將與主列表342相比較的項是否處于噪聲項列表354中。如果是,則忽略該項,并且不與列表342相比較。在某些實施例中,只有那些至少包含某個最小閾值數(shù)目個字符的項才在步驟504中被比較。例如,在某些實施例中,只有那些至少包含4個字符的項在步驟504中被比較。
無論判斷506的結果如何,都執(zhí)行判斷508,該判斷關于構建器346是否應該使文檔中的任意其他項與主列表342相比較。很多可以被用于確定判斷508的結果的不同條件已被公開(例如項截斷的最大數(shù)目、唯一的項截斷的最大數(shù)目、已經(jīng)存在于集合410中的候選項的最大數(shù)目等等)。
在圖5的流程圖中隨后是多個可選步驟。在可選步驟512中,冗余項在與文檔相關聯(lián)的候選項集合中被折疊。在可選步驟514中,索引352中的文檔被分類(例如分類為第一和第二類)。
存在多種可以影響分類步驟514的不同方法,所有這些方法都被包括在本發(fā)明的范圍內(nèi)。例如,在某些實施例中,每個文檔402被分類為第一或第二類。在優(yōu)選實施例中,第一類是家庭友好類,而第二類是非家庭友好類。當文檔402包括色情、攻擊性或暴力語言時,它將被分到第二類。否則,它將被分到第一類。在某些實施例中,分類器模塊350(圖3)被用于執(zhí)行這樣的分類。通常,分類器模塊350通過判斷文檔是否想要包括色情、攻擊性或暴力內(nèi)容而起作用。如果是這樣,文檔則被指定為非家庭友好的。該指定被存儲在特征值408(圖4)中,該特征值408與關聯(lián)于被分類集合410的文檔相對應。
在該階段,在候選項的集合中通常有大量候選項。例如,在有1000個候選項能夠被添加到候選項的集合中的實施例中,候選項的集合在該階段包括1000個項。無論每個候選項集合中的候選項的數(shù)目有多少,他們都尚未被分級。因此,在步驟516中,候選項被分級,然后經(jīng)分級的候選項中的N個最高的候選項被允許保留在候選集合中,而所有其他候選項都被刪除,以便在分級的集合中只保留N(例如20)個最有代表性的項(516)。因此,步驟516的最終效果是從候選項的集合中產(chǎn)生經(jīng)分級的候選項的集合。此外,在步驟516中,只有項級的項(例如頂部的20個)被允許保留在經(jīng)分級的候選項的集合中。
分級功能所使用的標準和參數(shù)可以包括下列參數(shù)中的一個或多個每個項在文檔中出現(xiàn)的次數(shù)、該項是否出現(xiàn)在文檔中預定的前一部分、該項在文檔中的第一位置,以及該項中的字符數(shù)目?;谶@些參數(shù),為每個候選項分配一個級別,然后只有具有最高級別的N個項被保留在經(jīng)分級的候選項的集合中。其他項被從集合中刪除。當處理速度極其重要時,限定與每個文檔相關聯(lián)的候選項的數(shù)目有助于防止文檔索引過分增大,并且減少了查詢時需要考慮的項的數(shù)量。用于一個文檔的經(jīng)分級候選項的集合可以通過在文檔的索引條目(參見410,圖4)中存儲代表候選項的一組字符串(可選地被壓縮)或索引而與該文檔相關聯(lián),其中每個索引值指向候選項342的主列表中的項。相關值可以與關聯(lián)于文檔的每個候選項(或者指向候選項的指針)一道被存儲在用于文檔的文檔索引352的條目中,例如在分級過程中使用的項得分和/或該項在文檔中的第一位置。但是,在優(yōu)選實施例中,這些附加值不被存儲在文檔索引352中。
使經(jīng)分級的候選項的集合410與文檔索引352中的文檔相關聯(lián)的過程已被描述?,F(xiàn)在將關注轉到圖6,該圖描述了根據(jù)本發(fā)明的一個實施例,這樣的集合410被用于構建用于呈現(xiàn)的候選項的子集的方式。在步驟602中,查詢處理器320接收到查詢。在步驟604中,該查詢被處理,從而從文檔索引352獲取經(jīng)分級文檔的初始組。將會意識到,在某些實施例中,經(jīng)分級文檔的初始組可以只包含文檔的索引,而無需包含文檔本身。但是,該索引將包括用于文檔的初始集合中的每個文檔的統(tǒng)一資源定位符(URL)。因此,每個文檔可以從因特網(wǎng)(或某種其他形式的網(wǎng)絡)獲取,如果隨后被用戶所請求的話。在某些實施例中,文檔的初始集合作為搜索結果340被存儲在服務器300(圖3)的存儲器314中。再次參考圖6,使用搜索結果340來創(chuàng)建(606)被建議的查詢細化的列表(候選項的子集)。
創(chuàng)建建議查詢細化列表(候選項的子集)的方法將依賴于該查詢是否是家庭友好搜索。在可選步驟608中,對于搜索結果340(經(jīng)分級文檔的初始組)中的每個頂級文檔(例如前50個文檔),確定該文檔的類別。當搜索結果340中閾值百分比的頂級文檔屬于第一類(家庭友好類)時,與一個頂級文檔相關聯(lián)的不屬于第一類的候選項的所有集合410都不被用于圖6中的任何后續(xù)步驟。在某些實施例中,除家庭友好類之外的類別在標引(圖5)期間被用于分類文檔。在這樣的實施例中,這些類別可以在步驟608中被用于判斷經(jīng)分級的候選項的哪些集合將被用于構建候選項的子集。在示例性實施例中,只有M個頂級文檔(例如來自搜索結果340的10個頂級文檔)的類別被用于執(zhí)行步驟608中的判斷。例如,如果10個頂級文檔中的至少8個被分類為家庭友好的,則來自非家庭友好文檔的候選項被排除在被用于構建建議查詢細化的列表的經(jīng)分級候選項的集合之外。
在步驟610中,選擇處于與搜索結果340中的文檔相關聯(lián)的經(jīng)分級候選項的各個集合中的一個或多個集合中的候選項的一個子集。在一個實施例中,該選擇功能包括對與經(jīng)分級文檔(搜索結果340)的初始組中的頂級文檔相關聯(lián)的經(jīng)分級候選項410的每個集合中的每個候選項應用加權功能。經(jīng)分級文檔的初始組中的每個頂級文檔都具有一個級別,該級別在數(shù)字上小于閾值級別。在某些實施例中,頂級文檔是T個頂級文檔,其中T是一個預定數(shù)字,例如50(并且優(yōu)選地,在5到200的范圍內(nèi),最優(yōu)選地,在20到100的范圍內(nèi))。在步驟610中只考慮頂級文檔,以便使相關的項被收集到將呈現(xiàn)給用戶的候選項的子集中的機會最大化。在各種實施例中,只考慮頂級的5、10、15、20、50或100個文檔。接收到最高權重的這些候選項被包括在候選項的子集中。在某些實施例中,候選項的子集中的項數(shù)被限制為小于25的數(shù)字。
在某些實施例中,當在搜索結果340的初始組中存在少于截斷數(shù)目的文檔時,不建立候選項的子集并且沒有候選項的子集被呈現(xiàn)給用戶。例如,在一個實施例中,如果在搜索結果340的初始組中存在少于35個文檔,則不建立候選項的子集。
本發(fā)明提供了多種不同的加權功能,用于評價與搜索結果340中的頂級文檔相關聯(lián)的每個集合410中的候選項。這些不同的加權功能被用于引擎322(圖3)的選擇功能342的各種實施例。
在某些實施例中,被功能324(加權功能)應用到一個候選項的權重是根據(jù)既(i)包括該候選項,又(ii)分別與一個頂級文檔相關聯(lián)的經(jīng)分級候選項的集合數(shù)目來確定的。例如,考慮存在50個頂級文檔并且候選項“Space Shuttle”出現(xiàn)在分別與一個頂級文檔相關聯(lián)的經(jīng)分級候選項的三個集合中的情況。在此情況下,將權重3應用于該候選項“SpaceShuttle”。
在某些實施例中,由選擇功能326應用到一個候選項的權重是根據(jù)既(i)包括該候選項,又(ii)分別與一個頂級文檔相關聯(lián)的那些經(jīng)分級候選項的集合中的該候選項的函數(shù)(例如平均)來確定的。某些實施例既考慮包括該項的集合,也考慮不包括該項的集合。不包括該項的集合被分配一個用于平均的數(shù)字值,該數(shù)字值指示該集合中不包括該項。這種加權因子利用了如下事實經(jīng)分級候選項的每個集合實際上都是經(jīng)分級的順序列表。因此,如果候選項“Space Shuttle”出現(xiàn)在分別關聯(lián)于一個頂級文檔的多個候選項集合中的經(jīng)分級列表的頂部,則它將在此加權方案中接收到相對較高的權重。相反,如果項“Space Shuttle”處于其出現(xiàn)的每個經(jīng)分級候選項的集合中的最后一些項中,則它將在此加權方案中接收到相對較低的權重。
在某些實施例中,由功能324應用到一個候選項的權重是根據(jù)接收到的查詢中的一項是否處于候選項中來確定的。例如,如果查詢項是“Shuttle”而候選項是“Space Shuttle”,則該候選項被賦予一個滿(full)權重,否則該候選項不被賦予權重。
在某些實施例中,由功能324(加權功能)應用到一個候選項的權重是根據(jù)候選項中的字符數(shù)目來確定的。例如,候選項“Space Shuttle”將接收到比候選項“Dogs”更多的權重。
在某些實施例中,由功能324應用到一個候選項的權重是根據(jù)與包括了該候選項的經(jīng)分級候選項的集合相關聯(lián)的那些頂級文檔的級別的函數(shù)(例如平均)來確定的。這種加權方案采用了已由搜索引擎322應用到搜索結果的初始集合的級別。在這種加權方案中,來自集合410的與較高級別文檔相關聯(lián)的候選項被賦予比與較低級別文檔相關聯(lián)的候選項更高的優(yōu)先權。例如,考慮候選項“Space Shuttle”出現(xiàn)在與經(jīng)分級文檔的初始組中的頂級文檔中的文檔2、4和6相關聯(lián)的經(jīng)分級候選項的各個集合中的情況。因此,在此加權方案中,該項“Space Shuttle”將接收到值4的函數(shù)的權重。現(xiàn)在,假設該項“Space Shuttle”出現(xiàn)在與經(jīng)分級文檔的初始組中的頂級文檔中的文檔10、20和30相關聯(lián)的經(jīng)分級候選項的各個集合中。因此,在此加權方案中,該項“Space Shuttle”將接收到值20的函數(shù)的權重。在此加權方案下,值4將產(chǎn)生比利用值20所產(chǎn)生的權重更好的權重(將對該候選項向上加權)。在某些實施例中,此加權功能會考慮不包括該候選項的集合。它們被分配一個用于平均的數(shù)字值。
在某些實施例中,首先出現(xiàn)的單詞作為候選項的文檔的級別被用于加權功能。
被選擇功能326的各種實施例所使用的特定加權因子已被概括,以便介紹這些因子。但是,在優(yōu)選實施例中,若干這種因子被組合,以便產(chǎn)生所需結果。下面是選擇功能326的某些優(yōu)選實施例。
在某些實施例中,由功能324應用到一個候選項的權重是根據(jù)TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion的任意組合(或任意加權組合)來確定的,其中TermCount是既(i)包括該候選項,又(ii)分別與一個頂級文檔相關聯(lián)的經(jīng)分級候選項的集合數(shù)目,TermPosition是該候選項在既(i)包括該候選項,又(ii)分別與一個頂級文檔相關聯(lián)的經(jīng)分級候選項的那些集合中的位置的函數(shù)(例如平均),ResultPosition是與包括該候選項的經(jīng)分級候選項集合相關聯(lián)的那些頂級文檔的級別的函數(shù)(例如平均),TermLength是該候選項重的字符數(shù)目(候選項的復雜性),以及QueryInclusion是指示接收到的查詢中的項是否處于候選項中的值。
如這里所使用的,應用QueryInclusion(例如當QueryInclusion是非零值,例如1時)意味著,當接收到的查詢中的一項處于該候選項中時,該候選項被向上加權。此外,不應用QueryInclusion(例如當QueryInclusion被設置為等于0時)意味著,當接收到的查詢中的項未處于該候選項中時,該候選項不被向上加權。在某些實施例中,不認為噪聲項(例如a、the、who、what、where等等)屬于候選項。因此,如果查詢包括噪聲單詞“for”而候選項也包括單詞“for”,則不信任該候選項,并且QueryInclusion不被向上加權。
在某些實施例中,由功能324應用到一個候選項的權重根據(jù)以下公式來確定TermCount+TermPosition+ResultPosition+TermLength+QueryInclusion。其中權重、TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion如上所定義。在某些實施例中,TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion中的每一個被獨立加權。
在某些實施例中,由功能324應用到一個候選項的權重根據(jù)以下公式來確定(TermCount*w1)+(TermPosition*(w2+(RefinementDepth*w2′)))+(ResultPosition*w3)+(TermLength*(w4+(RefinementDepth*w4′)))+(QueryInclusion*(w5+(RefinementDepth*w5′)))其中w1、w2、w3、w4、w5、w2′、w4′和w5′是獨立的權重。此外,RefinementDepth是對接收到的查詢執(zhí)行的處理的次數(shù)。換句話說,RefinementDepth是可選步驟614的執(zhí)行操作已重復步驟602到步驟612的次數(shù),在所述步驟614中,用戶將來自候選項的子集的一項添加到初始搜索查詢。在一個實施例中,w1=100w2=15w2′=15
w3=1w4=1w4′=0w5=100,并且w5′=50。
在本發(fā)明的某些實施例中,選擇功能610將刪除經(jīng)分級候選項的集合中的某些候選項。例如,在某些實施例中,經(jīng)分級候選項的集合中的僅有某個前綴或后綴不同的候選項被折疊在一起。例如,在某些實施例中,前綴的列表和后綴的列表被存儲在存儲器314中。如果兩個候選項之間的差異僅在于其中一個候選項包括了一個單詞,該單詞相對于另一候選項中的相應單詞的差別在于單詞始端的前綴或單詞末端的后綴,則這兩個候選項可以被折疊在一起。在某些實施例中,存在三類前綴(以及三種相似類別的后綴)。如果候選項包括一個屬于第一類的前綴,則丟棄該單詞。如果候選項包括一個屬于第二類的前綴,則刪除該前綴。如果候選項包括一個屬于第三類的前綴,則執(zhí)行評估。在此評估中,與一個頂級文檔相關聯(lián)的每個經(jīng)分級候選項的集合都被搜索,以找到不包括該前綴的相同項的實例。如果沒有找到這樣的實例,則不剝?nèi)ピ撉熬Y。如果找到這樣的實例,則剝?nèi)ピ撉熬Y。這種類型的前綴(和后綴)處理在很所情況下都非常有用。例如,考慮候選項是“the cars”的情況。通常,前綴“the”被看作應該被剝?nèi)サ那熬Y。但是,該候選項有可能指的是著名的音樂組合,該音樂組合通常被稱作“the cars”。因此,繼而發(fā)生一次搜索,以判斷在與頂級文檔相關聯(lián)的經(jīng)分級候選項的其他集合中的任意集合中是否找到不帶有前綴“the”的項“cars”。如果未出現(xiàn)這樣的實例,則該前綴不被剝?nèi)?。在此實例中,注意,這里所使用的前綴可以是在前的詞綴(例如un-、non-等等),或者是在前的單詞或短語(例如the、of、to go等等)。
在步驟612中,候選項的子集被呈現(xiàn)給用戶。在步驟614中,用戶可選地選擇候選項的子集中的一項136(圖2),并且以經(jīng)修訂的查詢來重復處理(步驟604)、選擇(步驟606)和呈現(xiàn)(步驟612),其中所述經(jīng)修訂的查詢包括初始(接收到的)查詢和從顯示在面板140(圖2)上的候選項的子集中選出的候選項136。如上所述,在某些實施例中,用戶可以選擇一項136以將其添加到之前提交的查詢中,以用于取代之前提交的查詢,或與之前提交的查詢一起被用作排除項。
這里引用的所有參考都通過參考而并入了其全部內(nèi)容以在某種程度上用于所有目的,就好像每個單獨的公開或專利或專利申請都被具體地和單獨地指示為通過參考而并入了其全部內(nèi)容以用于所有目的。
本發(fā)明可以被實現(xiàn)為包含嵌入在計算機可讀存儲介質(zhì)中的計算機程序機制的計算機程序產(chǎn)品。例如,該計算機程序產(chǎn)品可以包含圖3所示的程序模塊。這些程序模塊可以被存儲在CD-ROM、磁盤存儲產(chǎn)品,或任意其他的計算機可讀數(shù)據(jù)或程序存儲產(chǎn)品上。計算機程序產(chǎn)品中的軟件模塊還可以經(jīng)由因特網(wǎng)或以其他方式通過在載波上傳輸計算機數(shù)據(jù)信號(其中嵌入了軟件模塊)而被電子地分布。
對本領域技術人員顯而易見,在不脫離本發(fā)明的精神和范圍的情況下,可以對本發(fā)明進行各種修改和變化。這里描述的具體實施例僅僅是以示例方式被提供的。這些實施例被選擇和描述,以便最好地說明本發(fā)明的原理及其實際應用,從而使本領域技術人員能夠針對所想到的特定用途來最好地修改本發(fā)明和各種實施例。本發(fā)明僅僅由所附權利要求書的項目以及權利要求書所授權的等同物的全部范圍來限定。
權利要求
1.一種用于細化接收到的查詢的方法,包括處理所述接收到的查詢,以便生成對應于接收到的查詢的經(jīng)分級文檔的初始組,其中在所述經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔都分別與各自的預先計算出的經(jīng)分級候選項的集合相關聯(lián),以使所述各自的經(jīng)分級候選項的集合中的每個候選項被嵌入到所述文檔中;根據(jù)選擇功能,選擇處于所述各自的經(jīng)分級候選項的集合中的一個或多個集合中的候選項的子集;以及響應于接收到的查詢,呈現(xiàn)經(jīng)分級文檔的初始組以及所述候選項的子集。
2.如權利要求1所述的方法,其中,對于所述經(jīng)分級文檔的初始組中的頂級文檔中的全部或部分,通過以下步驟來識別與所述文檔相關聯(lián)的各自的經(jīng)分級候選項的集合(A)將所述文檔中的項與候選項的主列表相比較,其中,當所述項處于所述候選項的主列表中時,將所述項添加到候選項的集合中;(B)多次重復所述比較;以及(C)對所述候選項的集合中的所述候選項分級,從而構成所述各自的經(jīng)分級候選項的集合。
3.如權利要求2所述的方法,其中,對于所述經(jīng)分級文檔的初始組中的各個頂級文檔中的全部或部分,文檔的類別被包括在與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中,其中所述類別包括第一類別或第二類別。
4.如權利要求2所述的方法,其中,對于所述經(jīng)分級文檔的初始組中的頂級文檔中的全部或部分,所述比較(A)的實例識別出候選項的次數(shù)被所述分級(C)用于對所述經(jīng)分級候選項的集合中的所述候選項進行分級。
5.如權利要求4所述的方法,其中所述分級(C)還使用所述候選項在各自的相關文檔中的第一位置來分級所述候選項。
6.如權利要求4所述的方法,所述識別還包括(C)當?shù)谝缓蜻x項是所述各自的候選項集合中的第二候選項的子集時,丟棄所述第一候選項;(D)相信所述第二候選項具有所述第一候選項在與所述各自的經(jīng)分級候選項的集合相關聯(lián)的所述文檔中被所述比較(A)的實例識別出來的次數(shù);以及(E)重復所述丟棄(C)和所述相信(D),直到不再有作為所述各自的經(jīng)分級候選項的集合中的第二候選項的子集的第一候選項為止。
7.如權利要求4所述的方法,所述識別還包括(C)當?shù)谝缓蜻x項是所述各自的經(jīng)分級候選項集合中的第二候選項的正確拼寫變體或屈折變體時,丟棄所述第一候選項;(D)相信所述第二候選項具有所述第一候選項在與所述各自的經(jīng)分級候選項的集合相關聯(lián)的所述文檔中被所述比較(A)的實例識別出來的次數(shù);以及(E)重復所述丟棄(C)和所述相信(D),直到不再有作為所述各自的經(jīng)分級候選項的集合中的第二候選項的正確拼寫變體或屈折變體的第一候選項為止。
8.如權利要求7所述的方法,其中所述相信所述第二候選項的步驟(D)還包括將所述第二候選項重寫為包括了所述第一候選項和所述第二候選項的組合項,其中由所述比較(A)的實例識別出最多次的所述第一候選項或所述第二候選項中的那一個出現(xiàn)在所述組合項的開始處。
9.如權利要求8所述的方法,其中只有出現(xiàn)在所述組合項的開始處的項被用于所述呈現(xiàn)。
10.如權利要求2所述的方法,其中,對于所述經(jīng)分級文檔的初始組中的頂級文檔中的全部或部分,與該文檔相關聯(lián)的各自的經(jīng)分級候選項的集合對于所述各自的集合中的每個候選項,都包括所述候選項在所述文檔中的第一位置。
11.如權利要求1所述的方法,其中在所述處理所述接收到的查詢的步驟之前的某一時刻識別出每個所述各自的經(jīng)分級候選項的集合。
12.如權利要求2所述的方法,其中所述識別還包括(C)當所述比較(A)已經(jīng)考慮閾值數(shù)目的唯一項時,終止所述比較(A)和終止所述重復(B)。
13.如權利要求2所述的方法,其中針對特定語言,優(yōu)化所述候選項的主列表。
14.如權利要求13所述的方法,其中所述特定語言是英語、西班牙語、法語、德語、葡萄牙語、意大利語、俄語、中文或日語。
15.如權利要求13所述的方法,其中所述經(jīng)分級文檔的初始組中的頂級文檔中的全部或部分具有針對其優(yōu)化了所述候選項的主列表的同一語言。
16.如權利要求2所述的方法,其中所述候選項的主列表中的每一項是單詞或短語。
17.如權利要求2所述的方法,其中所述候選項的主列表包括多于1,000,000個項。
18.如權利要求1所述的方法,該方法還包括使用經(jīng)修訂的查詢來重復所述處理、選擇和呈現(xiàn),其中所述經(jīng)修訂的查詢包括所述接收到的查詢和來自所述候選項的子集的候選項。
19.如權利要求1所述的方法,其中所述選擇功能包括(i)對與所述經(jīng)分級文檔的初始組中的頂級文檔相關聯(lián)的每個各自的經(jīng)分級候選項集合中的每個候選項應用加權功能,其中所述經(jīng)分級文檔的初始組中的每個頂級文檔都具有在數(shù)字上小于閾值級別的級別;以及(ii)對于所述候選項的子集,選擇接收到最高權重的那些候選項。
20.如權利要求19所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)既(i)包括該候選項,又(ii)分別與頂級文檔相關聯(lián)的經(jīng)分級候選項的集合的數(shù)目來確定的。
21.如權利要求19所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)該候選項在既(i)包括該候選項,又(ii)分別與頂級文檔相關聯(lián)的那些經(jīng)分級候選項的集合中的平均位置來確定的。
22.如權利要求19所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)所述接收到的查詢中的項是否在所述候選項中來確定的。
23.如權利要求19所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)所述候選項中的字符數(shù)目來確定的。
24.如權利要求19所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)與包括了該候選項的經(jīng)分級候選項的集合相關聯(lián)的那些頂級文檔的平均級別來確定的。
25.如權利要求19所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion的任意組合來確定的,其中TermCount是既(i)包括該候選項又(ii)分別與頂級文檔相關聯(lián)的經(jīng)分級候選項的集合的數(shù)目,TermPosition是該候選項在既(i)包括該候選項又(ii)分別與頂級文檔相關聯(lián)的那些經(jīng)分級候選項的集合中的級別位置的函數(shù),ResultPosition是與包括該候選項的經(jīng)分級候選項的集合相關聯(lián)的那些頂級文檔的級別的函數(shù),TermLength是該候選項中的字符數(shù)目(候選項的復雜性),以及QueryInclusion是指示接收到的查詢中的項是否處于該候選項中的值。
26.如權利要求25所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)以下公式來確定的TermCount+TermPosition+ResultPosition+TermLength+QueryInclusion。
27.如權利要求26所述的方法,其中TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion中的每一個被獨立加權。
28.如權利要求25所述的方法,該方法還包括使用經(jīng)修訂的查詢來可選地重復所述處理、選擇和呈現(xiàn),其中所述經(jīng)修訂的查詢包括所述接收到的查詢和來自所述候選項的子集的候選項。
29.如權利要求28所述的方法,其中被所述加權功能應用到候選項的權重是根據(jù)以下公式來確定的(TermCount*w1)+(TermPosition*(w2+(RefinementDepth*w2′)))+(ResultPosition*w3)+(TermLength*(w4+(RefinementDepth*w4′)))+(QueryInclusion*(w5+(RefinementDepth*w5′)))其中w1、w2、w3、w4、w5、w2′、w4′和w5′是獨立的權重,并且RefinementDepth是對所述接收到的查詢已執(zhí)行的所述處理的次數(shù)。
30.如權利要求3所述的方法,其中所述選擇功能包括對于與所述經(jīng)分級文檔的初始組中的頂級文檔相關聯(lián)的每個各自的經(jīng)分級候選項的集合,確定所述相關聯(lián)的頂級文檔的所述類別;以及當在所述確定中被評估的所述相關聯(lián)的頂級文檔中有閾值百分比的頂級文檔屬于所述第一類別時,與屬于所述第二類別的文檔相關聯(lián)的所有候選項集合都不被用于形成所述候選項的子集。
31.一種與計算機系統(tǒng)協(xié)作使用的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包含計算機可讀存儲介質(zhì)和嵌入在其中的計算機程序機構,所述計算機程序機構包括查詢細化建議引擎,用于細化接收到的查詢,該引擎包括用于處理所述接收到的查詢,以便生成對應于接收到的查詢的經(jīng)分級文檔的初始組的指令,其中在所述經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔都分別與各自的預先計算出的經(jīng)分級候選項的集合相關聯(lián),以使所述各自的經(jīng)分級候選項的集合中的每個候選項被嵌入到所述文檔中;用于根據(jù)選擇功能,選擇處于所述各自的候選項的集合的一個或多個集合中的候選項子集的指令;以及用于響應于接收到的查詢,呈現(xiàn)經(jīng)分級文檔的初始組以及所述候選項的子集的指令。
32.如權利要求31所述的計算機程序產(chǎn)品,其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,利用以下指令來識別與所述文檔相關聯(lián)的各自的經(jīng)分級候選項的集合(A)用于將所述文檔中的項與候選項的主列表相比較的指令,其中,當所述項在所述候選項的主列表中時,所述項被添加到與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中,以作為候選項;以及(B)用于再次執(zhí)行所述用于比較的指令,直到所述文檔中的最大數(shù)目的項都已被考慮為止的指令。
33.如權利要求32所述的計算機程序產(chǎn)品,其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中的候選項的類別被包括在與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中,其中所述類別包括第一類別或第二類別。
34.如權利要求32所述的計算機程序產(chǎn)品,其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,由所述用于比較的指令(A)的實例識別出候選項的次數(shù)被包括在與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中。
35.如權利要求34所述的計算機程序產(chǎn)品,其中當在所述文檔中的第一閾值數(shù)目個單詞中識別出所述候選項時,由所述用于比較的指令(A)的實例識別出所述候選項的所述次數(shù)被向上加權。
36.如權利要求34所述的計算機程序產(chǎn)品,所述識別還包括(C)用于當?shù)谝缓蜻x項是所述各自的經(jīng)分級候選項集合中的第二候選項的子集時,丟棄所述第一候選項的指令;(D)用于相信所述第二候選項具有所述第一候選項在與所述各自的經(jīng)分級候選項的集合相關聯(lián)的所述文檔中被所述比較(A)的實例識別出來的次數(shù)的指令;以及(E)用于重復所述用于丟棄的指令(C)和所述用于相信的指令(D),直到不再有作為所述各自的經(jīng)分級候選項的集合中的第二候選項子集的第一候選項為止的指令。
37.如權利要求34所述的計算機程序產(chǎn)品,所述識別還包括(C)用于當?shù)谝缓蜻x項是所述各自的經(jīng)分級候選項集合中的第二候選項的正確拼寫變體或屈折變體時,丟棄所述第一候選項的指令;(D)用于相信所述第二候選項具有所述第一候選項在與所述各自的經(jīng)分級候選項的集合相關聯(lián)的所述文檔中被所述比較(A)的實例識別出來的次數(shù)的指令;以及(E)用于重復所述用于丟棄的指令(C)和所述用于相信的指令(D),直到不再有作為所述各自的經(jīng)分級候選項的集合中的第二候選項的正確拼寫變體或屈折變體的第一候選項為止的指令。
38.如權利要求37所述的計算機程序產(chǎn)品,其中所述用于相信所述第二候選項的指令(D)還包括用于將所述第二候選項重寫為包括了所述第一候選項和所述第二候選項的組合項的指令,其中由所述用于比較的指令(A)的實例識別出最多次的所述第一候選項或所述第二候選項中的那一個出現(xiàn)在所述組合項的開始處。
39.如權利要求38所述的計算機程序產(chǎn)品,其中只有出現(xiàn)在所述組合項的開始處的項被所述用于呈現(xiàn)的指令所使用。
40.如權利要求32所述的計算機程序產(chǎn)品,其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,與該文檔相關聯(lián)的各自的經(jīng)分級候選項的集合對于所述各自的集合中的每個候選項,都包括所述候選項在所述文檔中的平均位置。
41.如權利要求40所述的計算機程序產(chǎn)品,其中所述候選項在所述文檔中的平均位置是根據(jù)在所述用于比較的指令(A)的實例期間識別出的候選項的每個實例的平均位置來確定的。
42.如權利要求32所述的計算機程序產(chǎn)品,其中所述識別還包括(C)用于當所述用于比較的指令(A)已經(jīng)考慮了閾值數(shù)目的唯一項時,終止所述用于比較的指令(A)和終止所述用于重復的指令(B)的指令。
43.如權利要求32所述的計算機程序產(chǎn)品,其中針對特定語言,優(yōu)化所述候選項的主列表。
44.如權利要求43所述的計算機程序產(chǎn)品,其中所述經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔具有針對其優(yōu)化了所述候選項的主列表的同一語言。
45.如權利要求32所述的計算機程序產(chǎn)品,其中所述候選項的主列表中的每一項是單詞或短語。
46.如權利要求31所述的計算機程序產(chǎn)品,其中所述查詢細化建議引擎還包括用于使用經(jīng)修訂的查詢來重復所述用于處理的指令、用于選擇的指令和用于呈現(xiàn)的指令的指令,其中所述經(jīng)修訂的查詢包括所述接收到的查詢和來自所述候選項的子集的候選項。
47.如權利要求31所述的計算機程序產(chǎn)品,其中所述選擇功能包括(i)用于對與所述經(jīng)分級文檔的初始組中的頂級文檔相關聯(lián)的每個各自的經(jīng)分級候選項集合中的每個候選項應用加權功能的指令,其中所述經(jīng)分級文檔的初始組中的每個頂級文檔都具有在數(shù)字上小于閾值級別的級別;以及(ii)用于對于所述候選項的子集,選擇接收到最高權重的那些候選項的指令。
48.如權利要求47所述的計算機程序產(chǎn)品,其中被所述加權功能應用到候選項的權重是根據(jù)所述候選項出現(xiàn)在頂級文檔的上部中的次數(shù)來確定的。
49.如權利要求47所述的計算機程序產(chǎn)品,其中被所述加權功能應用到候選項的權重是根據(jù)所述候選項在其所出現(xiàn)的頂級文檔中的位置來確定的。
50.如權利要求47所述的計算機程序產(chǎn)品,其中被所述加權功能應用到候選項的權重是根據(jù)所述接收到的查詢中的項是否在所述候選項中來確定的。
51.如權利要求47所述的計算機程序產(chǎn)品,其中被所述加權功能應用到候選項的權重是根據(jù)所述候選項中的字符數(shù)目來確定的。
52.如權利要求47所述的計算機程序產(chǎn)品,其中被所述加權功能應用到候選項的權重是根據(jù)包括了所述候選項的所述經(jīng)分級文檔的初始組中的文檔的位置來確定的。
53.如權利要求47所述的計算機程序產(chǎn)品,其中被所述加權功能應用到候選項的權重是根據(jù)TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion的任意組合來確定的,其中TermCount是所述候選項出現(xiàn)在每個頂級文檔的上部中的次數(shù),TermPosition是所述候選項在其所出現(xiàn)的每個頂級文檔中的位置的函數(shù),ResultPosition是包括了所述候選項的所述經(jīng)分級文檔的初始組中的頂級文檔的文檔位置的函數(shù),TermLength是所述候選項中的字符數(shù)目,并且當所述接收到的查詢中的項在所述候選項中時,QueryInclusion不為零,當所述接收到的查詢中的項不在所述候選項中時,QueryInclusion為零。
54.如權利要求53所述的計算機程序產(chǎn)品,其中被所述加權功能應用到候選項的權重是根據(jù)以下公式來確定的TermCount+TermPosition+ResultPosition+TermLength+QueryInclusion。
55.如權利要求54所述的計算機程序產(chǎn)品,其中TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion中的每一個被獨立加權。
56.如權利要求33所述的計算機程序產(chǎn)品,其中所述選擇功能包括用于對于與所述經(jīng)分級文檔的初始組中的頂級文檔相關聯(lián)的每個各自的經(jīng)分級候選項的集合,確定所述各自的經(jīng)分級候選項的集合的所述類別的指令;并且當在所述確定中被評估的所述候選項的集合中的閾值百分比的集合屬于所述第一類別時,屬于所述第二類別的所有候選項的集合都不被用于形成所述候選項的子集。
57.一種用于細化接收到的查詢的計算機系統(tǒng),該計算機系統(tǒng)包括中央處理單元;耦合到所述中央處理單元的存儲器,該存儲器存儲了包含如下指令的查詢細化建議引擎用于處理所述接收到的查詢,以便生成對應于接收到的查詢的經(jīng)分級文檔的初始組的指令,其中在所述經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔都分別與各自的預先計算出的經(jīng)分級候選項的集合相關聯(lián),以使所述各自的經(jīng)分級候選項的集合中的每個候選項被嵌入到所述文檔中;用于根據(jù)選擇功能,選擇處于所述各自的經(jīng)分級候選項的集合中的一個或多個集合中的候選項子集的指令;以及用于響應于接收到的查詢,呈現(xiàn)經(jīng)分級文檔的初始組以及所述候選項的子集的指令。
58.如權利要求57所述的計算機系統(tǒng),其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,利用以下指令來識別與所述文檔相關聯(lián)的各自的經(jīng)分級候選項的集合(A)用于將所述文檔中的項與候選項的主列表相比較的指令,其中,當所述項在所述候選項的主列表中時,所述項被添加到與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中,以作為候選項;以及(B)用于再次執(zhí)行所述用于比較的指令,直到所述文檔中的最大數(shù)目的項都已被考慮為止的指令。
59.如權利要求58所述的計算機系統(tǒng),其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,與所述文檔相關聯(lián)的各自的經(jīng)分級候選項的集合中的候選項的類別被包括在與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中,其中所述類別包括第一類別或第二類別。
60.如權利要求58所述的計算機系統(tǒng),其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,由所述用于比較的指令(A)的實例識別出候選項的次數(shù)被包括在與所述文檔相關聯(lián)的所述各自的經(jīng)分級候選項的集合中。
61.如權利要求60所述的計算機系統(tǒng),所述識別還包括(C)用于當?shù)谝缓蜻x項是所述各自的經(jīng)分級候選項集合中的第二候選項的子集時,丟棄所述第一候選項的指令;(D)用于相信所述第二候選項具有所述第一候選項在與所述各自的經(jīng)分級候選項的集合相關聯(lián)的所述文檔中被所述比較(A)的實例識別出來的次數(shù)的指令;以及(E)用于重復所述用于丟棄的指令(C)和所述用于相信的指令(D),直到不再有作為所述各自的經(jīng)分級候選項的集合中的第二候選項子集的第一候選項為止的指令。
62.如權利要求60所述的計算機系統(tǒng),所述識別還包括(C)用于當?shù)谝缓蜻x項是所述各自的經(jīng)分級候選項集合中的第二候選項的正確拼寫變體或屈折變體時,丟棄所述第一候選項的指令;(D)用于相信所述第二候選項具有所述第一候選項在與所述各自的經(jīng)分級候選項的集合相關聯(lián)的所述文檔中被所述比較(A)的實例識別出來的次數(shù)的指令;以及(E)用于重復所述用于丟棄的指令(C)和所述用于相信的指令(D),直到不再有作為所述各自的經(jīng)分級候選項的集合中的第二候選項的正確拼寫變體或屈折變體的第一候選項為止的指令。
63.如權利要求58所述的計算機系統(tǒng),其中,對于所述經(jīng)分級文檔的初始組中的全部或部分頂級文檔,與該文檔相關聯(lián)的各自的經(jīng)分級候選項的集合對于所述各自的集合中的每個候選項,都包括所述候選項在所述文檔中的平均位置。
64.如權利要求58所述的計算機系統(tǒng),其中所述識別還包括(C)用于當所述用于比較的指令(A)已經(jīng)考慮了閾值數(shù)目的唯一項時,終止所述用于比較的指令(A)和終止所述用于重復的指令(B)的指令。
65.如權利要求57所述的計算機系統(tǒng),其中所述查詢細化建議引擎還包括用于使用經(jīng)修訂的查詢來重復所述用于處理的指令、用于選擇的指令和用于呈現(xiàn)的指令的指令,其中所述經(jīng)修訂的查詢包括所述接收到的查詢和來自所述候選項的子集的候選項。
66.如權利要求61所述的計算機系統(tǒng),其中所述選擇功能包括(i)用于對與所述經(jīng)分級文檔的初始組中的頂級文檔相關聯(lián)的每個各自的經(jīng)分級候選項集合中的每個候選項應用加權功能的指令,其中所述經(jīng)分級文檔的初始組中的每個頂級文檔都具有在數(shù)字上小于閾值級別的級別;以及(ii)用于對于所述候選項的子集,選擇接收到最高權重的那些候選項的指令。
67.如權利要求66所述的計算機系統(tǒng),其中被所述加權功能應用到候選項的權重是根據(jù)TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion的任意組合來確定的,其中TermCount是所述候選項出現(xiàn)在每個頂級文檔的上部中的次數(shù),TermPosition是所述候選項在其所出現(xiàn)的每個頂級文檔中的位置的函數(shù),ResultPosition是包括了所述候選項的所述經(jīng)分級文檔的初始組中的頂級文檔的文檔位置的函數(shù),TermLength是所述候選項中的字符數(shù)目,并且當所述接收到的查詢中的項在所述候選項中時,應用QueryInclusion,當所述接收到的查詢中的項不在所述候選項中時,不應用QueryInclusion。
68.如權利要求67所述的計算機系統(tǒng),其中被所述加權功能應用到候選項的權重是根據(jù)以下公式來確定的TermCount+TermPosition+ResultPosition+TermLength+QueryInclusion。
69.如權利要求68所述的計算機系統(tǒng),其中TermCount、TermPosition、ResultPosition、TermLength和QueryInclusion中的每一個被獨立加權。
70.如權利要求59所述的計算機系統(tǒng),其中所述選擇功能包括用于對于與所述經(jīng)分級文檔的初始組中的文檔相關聯(lián)的每個各自的經(jīng)分級候選項的集合,確定所述各自的經(jīng)分級候選項的集合的所述類別的指令;并且當在所述確定中被評估的所述候選項的集合中的閾值百分比的集合屬于所述第一類別時,屬于所述第二類別的所有候選項的集合都不被用于形成所述候選項的子集。
71.一種包含多個統(tǒng)一資源定位符的文檔索引數(shù)據(jù)結構,其中每個統(tǒng)一資源定位符分別指定各自的文檔;其中在由所述多個統(tǒng)一資源定位符分別指定的全部或部分文檔中的每個文檔與各自的經(jīng)分級候選項的集合相關聯(lián),其中在各自的經(jīng)分級候選項的集合中的每個候選項包括被嵌入到與所述經(jīng)分級候選項的集合相關聯(lián)的文檔中的候選項。
72.如權利要求71所述的數(shù)據(jù)結構,其中通過以下步驟來創(chuàng)建各自的經(jīng)分級候選項的集合(A)將與所述各自的經(jīng)分級候選項的集合相關聯(lián)的文檔中的項與候選項的主列表相比較,其中,當所述項在所述候選項的主列表中時,所述項被添加到所述各自的經(jīng)分級候選項的集合中,以作為候選項;以及(B)重復所述比較,直到所述文檔中的最大數(shù)目個項已被考慮為止。
73.如權利要求72所述的數(shù)據(jù)結構,其中每個所述各自的經(jīng)分級候選項的集合包括第一類別或第二類別,其中根據(jù)在所述各自的經(jīng)分級候選項的集合中的一個或多個候選項的身份來確定所述各自的經(jīng)分級候選項的集合是包括所述第一類別,還是包括所述第二類別。
74.如權利要求32所述的計算機程序產(chǎn)品,其中在所述處理所述接收到的查詢的步驟之前的某一時刻識別出每個所述各自的經(jīng)分級候選項的集合。
75.如權利要求57所述的計算機系統(tǒng),其中在所述處理所述接收到的查詢的步驟之前的某一時刻識別出每個所述各自的經(jīng)分級候選項的集合。
全文摘要
接收到的查詢被處理,以便生成對應于接收到的查詢的經(jīng)分級文檔的初始組。在經(jīng)分級文檔的初始組中的全部或部分文檔中的每個文檔都分別與各自的經(jīng)分級候選項的集合相關聯(lián),以使各自的經(jīng)分級候選項的集合中的每個候選項都被嵌入到文檔內(nèi)。每個各自的經(jīng)分級候選項的集合都在處理接收到的查詢之前的某一時刻被識別出。根據(jù)選擇功能,在一個或多個各自的候選項集合中的候選項的子集被選擇。響應于接收到的查詢,經(jīng)分級文檔的初始組和候選項的子集被呈現(xiàn)。
文檔編號G06F7/00GK1795432SQ200480014027
公開日2006年6月28日 申請日期2004年3月22日 優(yōu)先權日2003年3月21日
發(fā)明者彼得·G.·安尼克, 阿拉斯塔爾·果爾蕾, 約翰·約瑟夫·瑟蕾爾 申請人:奧弗圖爾服務公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
广南县| 彭泽县| 武山县| 吴忠市| 封丘县| 广灵县| 西丰县| 柞水县| 耒阳市| 达孜县| 合作市| 浮梁县| 巴里| 洱源县| 正阳县| 喜德县| 兴安盟| 贡嘎县| 全州县| 云梦县| 穆棱市| 瑞安市| 澄江县| 芜湖县| 南开区| 胶州市| 和平区| 高陵县| 靖江市| 东乡族自治县| 马鞍山市| 怀化市| 丽水市| 盈江县| 保定市| 连平县| 焉耆| 荆州市| 芜湖市| 武清区| 华容县|