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

用于搜索引擎檢索的原子(atom)的選擇的制作方法

文檔序號:6365998閱讀:204來源:國知局
專利名稱:用于搜索引擎檢索的原子(atom)的選擇的制作方法
用于搜索引擎檢索的原子(ATOM)的選擇
背景技術(shù)
互聯(lián)網(wǎng)上可得到的信息和內(nèi)容的數(shù)量持續(xù)快速地增長。考慮到信息的巨大數(shù)量,搜索引擎已經(jīng)被開發(fā)以便于搜索電子文件。特別地,用戶可以通過輸入包含用戶可能感興趣的一個或多個詞語(term)的搜索查詢來搜索信息和文件。在接收到來自用戶的搜索查詢之后,搜索引擎基于搜索查詢識別相關(guān)的文件和/或網(wǎng)頁。因為其實用性,網(wǎng)絡(luò)搜索(即,針對用戶發(fā)布的搜索查詢找到相關(guān)網(wǎng)頁和文件的過程)已經(jīng)可論證地成為當今互聯(lián)網(wǎng)上最流行的業(yè)務(wù)。搜索引擎通過爬取(crawl)文件以及在搜索索引中標引(index)與文件相關(guān)的信息來操作。當接收到搜索查詢時,搜索引擎使用搜索索引以 識別與搜索查詢相關(guān)的文件。以這種方式使用搜索索引允許針對查詢快速地檢索信息。沒有搜索索引,搜索引擎將需要搜索文件集以尋找相關(guān)結(jié)果,這將占用無法接受的時間量。由于互聯(lián)網(wǎng)持續(xù)增長,可以被爬取并在搜索索引中標引的可搜索的文件數(shù)量已經(jīng)變得非常大。結(jié)果,對于搜索引擎而言,標引關(guān)于所有網(wǎng)絡(luò)文件的信息是不可行的。例如,將需要過分大的硬件存儲量。另外,從非常大的索引中檢索結(jié)果所需要的處理時間將是不可接受的。雖然如此,搜索引擎力爭標引可行的盡量多的文件以提供搜索結(jié)果給任意查詢,同時是成本有效的(cost-effective)并且能夠在終端用戶可接受的時間量之內(nèi)提供相關(guān)結(jié)果。

發(fā)明內(nèi)容
提供該發(fā)明內(nèi)容以按照簡化的形式介紹概念的選擇,其在下面的具體實施方式
中被進一步描述。該發(fā)明內(nèi)容不意圖識別所請求保護的主題的關(guān)鍵特征或者必需特征,也不意圖被用于幫助確定所請求保護的主題的范圍。本發(fā)明的實施方式涉及用已經(jīng)從多個文件中識別出的原子來填充(population)一個或多個搜索索引。原子可以是一元模型(unigrams)、n元模型(n-grams)或者n元組(n-tuples)。原子/文件對的列表被生成,這樣原子能夠例如基于文件標識被識別為來自于特定文件。對于每個原子/文件對,計算一個信息度量,其表示原子與特定文件相關(guān)程度的近似度。許多因素被用于計算信息度量,諸如原子出現(xiàn)在文件中的頻度、文件中包括原子的詞語的接近度、詞語的相關(guān)程度、通過檢查查詢?nèi)罩究纯丛~語是否已經(jīng)被鏈接在一起等等。在一些實例中,機器學(xué)習(xí)工具被使用以計算信息度量。信息度量符合或超過特定閾值的原子/文件對被標引在搜索索引中,而那些不符合的被丟棄并因此不被標引。附圖簡沭
在下面參考附圖詳細描述本發(fā)明,其中
圖I是適于在本發(fā)明的實施方式的實現(xiàn)中使用的示例性計算環(huán)境的框 圖2是圖示了根據(jù)本發(fā)明實施方式的智能漏斗狀物(smart funnel)的圖,其用于減少文件候選以取得分級的文件集合;
圖3是可以使用本發(fā)明實施方式的示例性系統(tǒng)的框圖;圖4是示出根據(jù)本發(fā)明實施方式的方法流程圖,該方法用于分階段的處理以返回響應(yīng)于搜索查詢的搜索結(jié)果;
圖5是示出根據(jù)本發(fā)明實施方式的方法流程圖,該方法用于在預(yù)先計算/標引階段期間生成搜索索引;
圖6是示出根據(jù)本發(fā)明實施方式的方法流程圖,該方法用于在匹配階段期間識別初始的匹配文件集合;
圖7是示出根據(jù)本發(fā)明實施方式的方法流程圖,該方法用于在刪減(prune)階段期間從初始的匹配文件集合中刪減文件;
圖8示出可以使用本發(fā)明實施方式的示例性系統(tǒng);
圖9A,9B和9C分別圖示了根據(jù)本發(fā)明實施方式的、在一元模型搜索索引、n元模型搜索索引和n元組搜索索引中條目的例子;


圖10是示出根據(jù)本發(fā)明實施方式的方法流程圖,該方法用于使用在多個文件中識別出的原子填充一個或多個搜索索引;
圖11是示出根據(jù)本發(fā)明實施方式的方法流程圖,該方法用于使用在多個文件中識別出的原子填充一個或多個搜索索引;和
圖12是示出根據(jù)本發(fā)明實施方式的方法流程圖,該方法用于使用在多個文件中識別出的原子填充一個或多個搜索索引。
具體實施例方式本發(fā)明的主題在此處被具體性地描述以符合法定的要求。然而,該描述本身不意圖限制該專利的范圍。相反,發(fā)明者已經(jīng)考慮到所請求保護的主題還可能以其它方式實現(xiàn),在與其它現(xiàn)有或?qū)淼募夹g(shù)相結(jié)合的情況下,包括與該文件中描述的步驟類似的不同步驟或步驟組合。此外,雖然詞語“步驟”和/或“框”可在此處使用以指示所使用的方法的不同要素,但是該詞語不應(yīng)被解釋為暗示了在此處公開的多個步驟之中或之間的任何特定順序,除非以及除了各個步驟的順序被明確地描述。本發(fā)明的實施方式提供了一種標引和搜索處理,其允許大量文件以成本有效的方式被標引并檢索,并符合嚴格的等待時間約束。根據(jù)本發(fā)明的實施方式,利用在多個階段中估計并刪減文件候選的處理。概念上,該處理看起來像是漏斗狀物(funnel),由于在整個階段上分析變得更加復(fù)雜,因此文件候選被估計并刪減。隨著該處理在整個階段上持續(xù),更昂貴的計算被應(yīng)用并且候選文件的數(shù)量可以被減少多個數(shù)量級。在每個階段應(yīng)用不同的策略以允許用快速和有效的方式從大量文件中返回搜索結(jié)果。另外,在每個階段使用的策略可以被設(shè)計以補充在其它階段使用的策略,從而使該處理更加有效。本發(fā)明的實施方式使用的搜索索引標引來自文件的較高次序的基元(primitive)或“原子”,這與簡單地標引單個詞語相反。如此處使用的,“原子”可指查詢或者文件的多種單元。這些單元可以包括例如詞語、n元模型、n元組、k鄰近n元組等。詞語向下映射為單個符號或字,如由所使用的特定分詞器(tokenizer )技術(shù)限定。在一個實施方式中,詞語是單個字符。在另一個實施方式中,詞語是單個字或者字的組合。n元模型是可從文件提取出來的“n”個連續(xù)或者幾乎連續(xù)的詞語序列。如果n元模型對應(yīng)于一串連續(xù)的詞語,則可以說它是“緊的”,如果其按照出現(xiàn)在文件中的順序包含詞語,但該詞語不是必須連續(xù)的,則是“松的”。松的n元模型通常地被用于表示區(qū)別在于無足輕重的詞的一類等同的短語(例如“如果下雨我將被淋濕”和“如果下雨則我將被淋濕”)。如此處使用的n元組是在文件中共現(xiàn)(順序無關(guān))的“n”個詞語的集合。進一步地,如此處使用的,k鄰近n元組指的是在文件中“k”個詞語的窗口中共現(xiàn)的“n”個詞語的集合。因此,原子通常被定義為以上所有的普遍化概括。本發(fā)明實施方式的實現(xiàn)可以使用不同種類的原子,但是如此處使用的,原子一般性地描述上述種類的每一個。當建立搜索索弓I時,每個文件被分析以識別文件中的原子并為每個原子生成預(yù)先計算的分數(shù)或等級,其表示原子的重要性或者與文件上下文的相關(guān)性。搜索索引存儲關(guān)于為文件/原子對生成的預(yù)先計算的分數(shù)的信息,其在漏斗處理期間被使用。圖2圖示了根據(jù)本發(fā)明的一個實施方式的漏斗處理的多個階段。在圖2中示出的處理的階段在接收到搜索查詢之后被執(zhí)行,并包括LO匹配階段202,LI臨時分級階段204,和L2最終分級階段206。如圖2中表示的,隨著該處理進行,候選文件的數(shù)量被減少。當接收到搜索查詢時,搜索查詢被分析以識別原子。該原子在LO匹配階段202期 間被使用以查詢搜索索引和識別包含來自搜索查詢的原子的初始匹配文件集合。如在圖2中所示出的,這可以將候選文件的數(shù)量從在搜索索引中標引的全部文件減少到匹配來自搜索查詢的原子的那些文件。在LI臨時分級階段204,使用簡化計分函數(shù)為從LO匹配階段202中保留下來的候選文件計算初步分數(shù)。該簡化計分函數(shù)尤其對在搜索索引中存儲的為文件/原子對預(yù)先計算的分數(shù)進行運算。在一些實施方式中,簡化計分函數(shù)可以用作將最終被用于分級文件的最終分級算法的近似。然而,簡化計分函數(shù)提供了比最終分級算法更廉價的運算,這允許大量候選文件被快速處理?;诔醪降姆謹?shù),候選文件被刪減。例如,只有具有最高初步分數(shù)的頂部N個文件可以被保留。在L2最終分級階段206,使用最終分級算法估計從LI臨時分級階段204保留下來的候選文件。相比于在LI臨時分級階段204期間使用的簡化計分函數(shù),最終分級算法是具有大量分級特征的較昂貴的運算。然而,最終分級算法被應(yīng)用于數(shù)量少得多的候選文件。最終分級算法提供了分級的文件集合,響應(yīng)于原來的搜索查詢,基于該分級的文件集合提供搜索結(jié)果。 從而,在一個方面,本發(fā)明的實施方式針對存儲有計算機可使用的指令的一個或多個計算機存儲介質(zhì),當由計算設(shè)備使用時,該指令使得計算設(shè)備執(zhí)行方法。該方法包括接收搜索查詢并改寫(reformulating)該搜索查詢以識別一個或多個原子。該方法還包括基于一個或多個原子從搜索索引識別初始的文件集合。該方法進一步包括針對一個或多個原子和初始的文件集合,使用簡化計分函數(shù)和存儲在搜索索引中為文件/原子對預(yù)先計算的分數(shù),為初始的文件集合中的每個文件計算初步分數(shù)。該方法還包括基于初步分數(shù)從初始的文件集合中選擇刪減的文件集合。該方法進一步包括使用完整分級算法為刪減的文件集合中的每個文件計算分級分數(shù)以提供分級的文件集合。該方法還進一步包括基于分級的文件集合提供搜索結(jié)果以呈現(xiàn)給終端用戶。在本發(fā)明的另一個實施方式中,其方面是針對包括至少一個處理器和一個或多個計算機存儲介質(zhì)的計算機化系統(tǒng)。該系統(tǒng)包括查詢改寫組件,其分析接收到的搜索查詢以基于在接收到的搜索查詢中包含的詞語識別一個或多個原子并生成改寫的查詢。該系統(tǒng)還包括文件匹配組件,其使用改寫的查詢來查詢搜索索引以識別初始的匹配文件集合。該系統(tǒng)還包括文件刪減組件,其使用簡化計分函數(shù)為初始的匹配文件集合的每個文件計算初步分數(shù),并基于該初步分數(shù)識別刪減的文件集合。該系統(tǒng)還進一步包括最終文件分級組件,其使用完整分級算法為刪減的文件集合中的每個文件計算分級分數(shù)。本發(fā)明的進一步的實施方式針對一種使用分級處理提供響應(yīng)于搜索查詢的搜索結(jié)果的方法。該方法包括接收搜索查詢并從搜索查詢識別一個或多個原子。該方法還包括識別包括一個或多個原子的初始的文件集合,使用簡化計分函數(shù)為初始的文件集合中的每個文件計算初步分數(shù),并基于該初步分數(shù)選擇文件的子集以便進一步處理。該方法進一步包括使用最終分級算法為文件的子集中的每個文件計算分級分數(shù)。該方法還進一步包括基于該分級分數(shù)提供搜索結(jié)果的集合。除了上面描述的實施方式,還在此處描述了用于從文件識別相關(guān)原子并標引原子/文件對的方法。例如,原子(其可以被分類為一元模型、n元模型或n元組)從文件中被識別或提取。為每個原子/文件對計算信息度量。該信息度量的計算能夠基于許多因素,甚至能夠由機器學(xué)習(xí)工具完成,該機器學(xué)習(xí)工具能夠?qū)W習(xí)如何計算信息度量。閾值被使用以 基于信息度量丟棄在解析查詢中被認為不是像其它原子/文件對一樣相關(guān)或有用的那些原子/文件對。被認為是最相關(guān)的那些在搜索索引中被標引以供將來接收到搜索查詢時使用。根據(jù)本發(fā)明的第一方面,提供了一種方法以使用在多個文件中識別出的原子填充一個或多個搜索索引。該方法包括識別在搜索索引中將被標引的文件集合,對于文件集合中的每個文件,識別多個原子,該多個原子包括一個或多個一元模型、一個或多個n元模型和一個或多個n元組。另外,該方法包括基于所識別的文件集合和多個原子,生成原子/文件對的列表,并計算每個原子/文件對的信息度量,其中該信息度量表示與特定文件相關(guān)的原子的分級。附加地,該方法包括基于每個原子/文件對的信息度量,選擇與原子被標識的特定文件最相關(guān)的原子/文件對的子集。該方法進一步包括使用該特定文件的原子/文件對的子集填充搜索索引。根據(jù)本發(fā)明的第二方面,提供了存儲計算機可使用指令的一個或多個計算機存儲介質(zhì),當由計算設(shè)備使用時,其使得計算設(shè)備執(zhí)行一種使用在多個文件中標識出的原子填充一個或多個搜索索引的方法。該方法包括從將被標引的多個文件的第一文件識別多個原子,按照一元模型、n元模型或n元組中的一個或多個來分類多個原子中的每一個,并計算與第一文件相關(guān)的多個原子的每個的信息度量。進一步地,該方法包括確定多個原子的每個的信息度量是否符合預(yù)定的閾值。符合預(yù)定閾值的原子是與第一文件最相關(guān)的那些。該方法還包括丟棄不符合預(yù)定閾值的原子,并將與第一文件相關(guān)的符合預(yù)定閾值的原子并入到一個或多個搜索索引中。根據(jù)本發(fā)明的第三方面,提供了存儲計算機可使用指令的一個或多個計算機存儲介質(zhì),當由計算設(shè)備使用時,其使得計算設(shè)備執(zhí)行一種使用在多個文件中識別出的原子填充一個或多個搜索索引的方法。該方法包括從文件中提取多個原子,該多個原子包括一個或多個一元模型、一個或多個n元模型和一個或多個n元組,并對于多個原子的每一個,計算表示與文件相關(guān)的特定原子的分級的信息度量。該信息度量的計算基于以下的一個或多個原子在文件中的頻度、在文件中原子的兩個或更多詞語的接近度、原子的兩個或更多詞語的相關(guān)性,或者如檢查查詢?nèi)罩舅C明的,原子的兩個或多個詞語是否先前已經(jīng)被聯(lián)系在一起。該方法進一步包括確定信息度量閾值。其信息度量符合或超過信息度量閾值的原子/文件對被標引。另外,該方法包括基于信息度量丟棄一部分原子/文件對。相應(yīng)于所丟棄的原子/文件對的信息度量低于信息度量閾值。通過標引其信息度量符合或超過信息度量閾值的原子/文件對而填充一個或多個搜索索引,其中一元模型、n元模型和n元組被分別標引。一個或多個搜索索引被訪問以識別查詢中原子的相關(guān)文件。已經(jīng)描述了本發(fā)明的實施方式的概述,在下面描述可實現(xiàn)本發(fā)明實施方式的一種示例性操作環(huán)境,以便提供本發(fā)明的多個方面的一般性場景。特別地,初始地參照圖1,示出了用于實現(xiàn)本發(fā)明的實施方式的示例性操作環(huán)境,通常被稱為計算設(shè)備100。但是計算設(shè)備100只是合適的計算環(huán)境的一個例子,并不意圖暗示關(guān)于發(fā)明的使用或功能的范圍的任何限制。計算設(shè)備100也不應(yīng)當被解釋為具有與所圖示的組件的任何一個或其組合有關(guān)的任何依賴或需要。本發(fā)明可以在計算機代碼或機器可使用指令的通常場景中描述,所述代碼或指令包括諸如程序模塊的計算機可執(zhí)行指令,由計算機或諸如個人數(shù)字助理或其它手持設(shè)備等的其它機器執(zhí)行。通常地,包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等的程序模塊指的是執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的代碼。本發(fā)明可以被實現(xiàn)在多種系統(tǒng)配置中,包括手持設(shè)備、消費電子設(shè)備、通用計算機、更專業(yè)的計算設(shè)備等。本發(fā)明還可以實現(xiàn)在分布式計算環(huán)境中,其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備執(zhí)行。參照圖1,計算設(shè)備100包括總線110,其直接或間接地耦合以下設(shè)備存儲器112、一個或多個處理器114、一個或多個呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、輸入/輸出組件120以及圖示性的電源122??偩€110表示可以是一種或多種總線(諸如地址總線、數(shù)據(jù)總線或其組合)。雖然為了清楚用線示出了圖I中的多個塊,但是實際上,描繪多個組件不是那么清楚,并且隱喻性地,該線更準確地是灰暗和模糊的。例如,可以將諸如顯示設(shè)備的呈現(xiàn)組件看做是I/O組件。另外,處理器具有存儲器。發(fā)明者認識到這是技術(shù)本身具有的,并且重申圖I的圖解僅是能夠與本發(fā)明的一個或多個實施方式相關(guān)地使用的示例性計算設(shè)備的圖示。在如“工作站”、“服務(wù)器”、“膝上型電腦”、“手持設(shè)備”等這些種類之間沒有區(qū)別,因為所有都被預(yù)期在圖I的范圍內(nèi)并被稱為“計算設(shè)備”。計算設(shè)備100典型地包括多種計算機可讀介質(zhì)。計算機可讀介質(zhì)能夠是可由計算設(shè)備100訪問的任意可用的介質(zhì),并且包括易失和非易失介質(zhì)、可移除和非可移除介質(zhì)。通過示例而非限制,計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于存儲信息(諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))的任意方法和技術(shù)實施的易失和非易失、可移除和非可移除介質(zhì)。計算機存儲介質(zhì)包括但不限于RAM、ROM、EEPR0M、閃存或其它存儲技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲裝置、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備,或者能夠被用于存儲所期望的信息并能夠由計算設(shè)備100訪問的任意其它介質(zhì)。通信介質(zhì)典型地包括計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或調(diào)制數(shù)據(jù)信號(諸如載波或其它傳輸機制)中的其它數(shù)據(jù),并且包括任意信息傳遞介質(zhì)。詞語“調(diào)制的數(shù)據(jù)信號”指的是按照在信號中編碼信息的方式來設(shè)置或改變其一個或多個特 性的信號。通過示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線介質(zhì),和諸如超聲、RF、紅外和其它無線介質(zhì)的無線介質(zhì)。以上任意的組合也應(yīng)當被包括在計算機可讀介質(zhì)的范圍中。存儲器112包括易失和/或非易失存儲器形式的計算機存儲介質(zhì)。存儲器可以是可移除的、非可移除的或者其組合。示例性硬件設(shè)備包括固態(tài)存儲器、硬盤驅(qū)動、光盤驅(qū)動等。計算設(shè)備100包括一個或多個處理器,其從諸如存儲器112或I/O組件120的多種實體讀取數(shù)據(jù)。(多個)呈現(xiàn)組件116呈現(xiàn)數(shù)據(jù)指示給用戶或其它設(shè)備。示例性呈現(xiàn)組件包括顯示設(shè)備、揚聲器、打印組件、振動組件等。I/O端口 118允許計算設(shè)備100邏輯地耦合至包括I/O組件120的其它設(shè)備,其中一些可以是內(nèi)置的。圖示的組件包括麥克風(fēng)、操縱桿、游戲手柄、衛(wèi)星蝶形天線、掃描儀、打印機、無線設(shè)備等。

現(xiàn)在參考圖3,提供了圖示可以使用本發(fā)明的實施方式的示例性系統(tǒng)300的框圖。應(yīng)當理解在此處描述的這種和其它布置僅是作為例子而提出。除了或代替所示出的那些,能夠使用其它布置和元件(例如機器、接口、功能、次序、和功能組合等),一些元件可以被完全忽略。進一步地,此處描述的許多元件是功能實體,其可以被實現(xiàn)為分離的或分布式組件或者與其它組件結(jié)合,并處于任何合適的組合和位置。此處描述的由一個或多個實體執(zhí)行的多種功能可以由硬件、固件和/或軟件實現(xiàn)。例如,多種功能可以通過處理器執(zhí)行在存儲器中存儲的指令而實現(xiàn)。在未示出的其它組件中,系統(tǒng)300可以包括用戶設(shè)備302、內(nèi)容服務(wù)器304和搜索引擎服務(wù)器306。圖3中示出的每個組件可以是任意類型的計算設(shè)備,例如,諸如參照圖I描述的計算設(shè)備100。組件可以經(jīng)由網(wǎng)絡(luò)308彼此通信,其可以包括但不限于一個或多個局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這種聯(lián)網(wǎng)環(huán)境在辦公室中、企業(yè)范圍的計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)是普遍的。應(yīng)當理解任意數(shù)量的用戶設(shè)備、內(nèi)容服務(wù)器和搜索引擎服務(wù)器可以在本發(fā)明范圍內(nèi)的系統(tǒng)300中被使用。每個可以包括單個設(shè)備或者在分布式環(huán)境中協(xié)作的多個設(shè)備。例如,搜索引擎服務(wù)器306可以包括布置在分布式環(huán)境中的多個設(shè)備,其共同地提供此處描述的搜索引擎服務(wù)器306的功能。附加地,未示出的其它組件也可以被包括在系統(tǒng)300中。搜索引擎服務(wù)器306通常地操作以接收來自諸如用戶設(shè)備302的用戶設(shè)備的搜索查詢,以提供響應(yīng)于搜索查詢的搜索結(jié)果。搜索引擎服務(wù)器306尤其包括索引組件310、用戶接口組件312、查詢改寫組件314、文件匹配組件316、文件刪減組件318和最終文件分級組件320。 索引組件310操作以標弓I關(guān)于由諸如內(nèi)容服務(wù)器304的內(nèi)容服務(wù)器維護的文件的數(shù)據(jù)。例如,爬取組件(未示出)可以被使用以爬取內(nèi)容服務(wù)器和訪問由內(nèi)容服務(wù)器維護的文件有關(guān)的信息。從而索引組件310標引在搜索索引322中與爬取到的文件有關(guān)的數(shù)據(jù)。在實施方式中,索引組件310標引在文件中發(fā)現(xiàn)的原子和其中發(fā)現(xiàn)每個原子的文件的打分信息,其指示原子在文件的上下文中的重要性。可以使用任意數(shù)量的算法以計算在文件中發(fā)現(xiàn)的原子的分數(shù)。僅通過示例的方式,該分數(shù)可以基于本領(lǐng)域已知的詞頻逆向文件頻率(TF/IDF)函數(shù)。例如,BM25F分級(ranking)函數(shù)可以被使用。為文件/原子對生成的分數(shù)作為預(yù)先計算的分數(shù)被存儲在搜索索引322中。在實施方式中,索引組件310分析每個文件以識別詞語、n元模型、n元組并確定這些原子中哪些應(yīng)當針對該文件被標引。在處理將被標引的文件期間,關(guān)于查詢分布、詞語分布和/或?qū)⒃诼┒诽幚砥陂g使用的簡化計分函數(shù)的統(tǒng)計可以被使用以統(tǒng)計地選擇最好的原子集合以表示該文件。這些選擇的原子利用預(yù)先計算的分數(shù)被標引在搜索索引322中,其允許在漏斗處理的早期有效地刪減文件。雖然不是必需的,但是在本發(fā)明的一些實施方式中,搜索索引322可以包括反向索弓I (按原子的順序)和正向索弓I (按文件的順序)。反向索引可以包括多個標記列表(posting list),每個標記列表指向一個原子和列出的包括該原子的文件,帶有每個文件/原子對的預(yù)先計算的分數(shù)。如將在下面更詳細描述的,反向索引和正向索引可以在漏斗處理的不同階段被使用。用戶接口組件312提供至諸如用戶設(shè)備302的用戶設(shè)備的接口,其允許用戶提交搜索查詢至搜索引擎服務(wù)器306并從搜索引擎服務(wù)器306接收搜索結(jié)果。用戶設(shè)備302可以是由用戶使用以提交搜索查詢和接收搜索結(jié)果的任意類型的計算設(shè)備。僅通過示例而非限制,用戶設(shè)備302可以是桌面計算機、膝上型計算機、平板電腦、移動設(shè)備或其它類型的計算設(shè)備。用戶設(shè)備302可以包括一種應(yīng)用,其允許用戶輸入搜索查詢并提交該搜索查詢 至搜索引擎服務(wù)器306以取得搜索結(jié)果。例如,用戶設(shè)備302可以包括網(wǎng)頁瀏覽器,其包括搜索輸入框或允許用戶訪問搜索頁面以提交搜索查詢。用于提交搜索查詢至搜索引擎的其它機制也預(yù)期在本發(fā)明實施方式的范圍中。當經(jīng)由用戶接口組件312接收到搜索查詢時,查詢改寫組件314操作以改寫該查詢。查詢從其自由文本形式被改寫為便于基于在搜索索引322中如何標引數(shù)據(jù)而查詢搜索索引322的格式。在實施方式中,搜索查詢的詞語被分析以識別可以被用于查詢搜索索引322的原子??梢允褂门c用于在搜索索引322中標引文件時在文件中識別原子類似的技術(shù)來識別該原子。例如,可以基于詞語的統(tǒng)計和查詢分布信息來識別原子。查詢改寫組件314可以提供原子連接詞(conjunction)集合和這些原子的級聯(lián)變量(cascading variant)。文件匹配組件316使用該改寫后的查詢以查詢搜索索引322并識別匹配的文件集合。例如,改寫的查詢可以包括兩個或更多原子,文件匹配組件316可以取得這些原子的標記列表的交集,以提供初始的匹配文件集合。文件刪減組件318通過從初始的匹配文件集合中刪減文件而操作。這可以包括使用存儲在搜索索引322中的文件/原子對的預(yù)先計算的分數(shù)來計算來自初始的匹配文件集合的每個文件的初步分數(shù)。該初步分數(shù)可以基于簡化計分函數(shù),其為了性能和檢索(recall)而調(diào)整。在一些實施方式中,被用于生成初步分數(shù)的簡化計分函數(shù)是基于完整分級算法而建立,該完整分級算法隨后被用于提供最終的分級文件集合。這樣,簡化計分函數(shù)用作最終分級算法的近似。例如,諸如在US專利申請?zhí)?尚未分配)(代理檔案號MFCP. 157122),名稱為 “DECOMPOSABLE RANKING FOR EFFICIENT PRECOMPUTING” 中描述的方法可以被使用以建立簡化計分函數(shù)。在一些實施方式中,簡化計分函數(shù)包含來自最終分級算法的分級特征的子集。多個不同的方法可以被文件刪減組件318使用以刪減該初始的文件集合。在一些實施方式中,文件刪減組件318可以保留初始的文件集合中的預(yù)定匹配的數(shù)量,而移除其它文件不再考慮(即頂部N個匹配)。例如,文件刪減組件318可以保留具有最高初步分數(shù)的一千個文件。文件刪減組件318保留的匹配的數(shù)量可以基于用于生成初步分數(shù)的簡化計分函數(shù)的保真置信度。該保真置信度表示簡化計分函數(shù)提供與將由完整分級算法提供的文件集合相匹配的文件集合的能力。例如,可從簡化計分函數(shù)取得平均1200個文件以得到將由最終分級算法提供的頂部1000個文件。在其它實施方式中,代替保留預(yù)定數(shù)量的文件,文件刪減組件318可以保留具有在特定閾值之上的初步分數(shù)的文件。在一些實施方式中,文件匹配組件316和文件刪減組件318可以被緊密耦合,這樣文件匹配和刪減被合并在單個處理中以便多次重復(fù)。例如,初步分數(shù)可以被計算,因為匹配文件被識別并用于移除將很可能被完整分級算法丟棄的文件。在一些實施方式中,使用分層的標記列表的搜索索引(諸如在美國專利申請?zhí)?尚未分配)(代理案號 MFCP. 157121),名稱為“TIERING OF POSTING LISTS IN SEARCH ENGINEINDEX”中所描述的)可以被使用以便于這種匹配/刪減處理。每個標記列表將與給定的原子相關(guān)聯(lián)并且將包括基于預(yù)先計算的分數(shù)(該分數(shù)被分配給文件,表示給定原子對于每個文件的上下文的相關(guān)性)而排序的層。在每個層中,標記(posting)可以按文件內(nèi)部地排序。使用這種搜索索引,文件匹配組件314將使用第一層(具有最高的預(yù)先計算的分數(shù))取得初始的文件集合并使用簡化計分函數(shù)刪減初始的文件集合。如果提供了足夠數(shù)量的文件,匹 配/刪減處理可以結(jié)束??商鎿Q地,如果沒有提供足夠數(shù)量的文件,匹配和刪減可以在較低水平層重復(fù)地執(zhí)行,直到保留了足夠數(shù)量的文件。由文件匹配組件316和文件刪減組件318提供的匹配和刪減處理所保留的文件集合由最終文件分級組件320估計以提供最終的分級文件集合。最終文件分級組件320使用完整分級算法,該算法可以對原始的搜索查詢和由匹配和刪減處理保留的文件集合操作。完整分級算法使用比刪減處理期間用的簡化計分函數(shù)所使用的更多的分級特征和更多的來自文件的數(shù)據(jù)。這樣,完整分級算法是更昂貴的運算,其需要更多處理并占用較長的時間來計算。然而,因為候選文件的集合已經(jīng)被刪減,完整分級算法在較小的文件集合上執(zhí)行。最終文件分級組件320提供最終的分級文件集合,其被指示給用戶接口組件312。用戶接口組件312然后將包括最終的分級文件集合的至少一部分的搜索結(jié)果傳遞給用戶設(shè)備302。例如,用戶接口組件312可以基于最終的分級文件集合生成或以其它方式提供列出搜索結(jié)果的搜索引擎結(jié)果頁面(SERP)。接下來轉(zhuǎn)向圖4,提供了示出根據(jù)本發(fā)明實施方式的、用于使用分階段的處理以返回搜索查詢的搜索結(jié)果的整個方法400的流程圖。分階段的處理開始于預(yù)先計算/標引階段,如在框402處所示。這個階段是離線階段,即,其與任何接收到的搜索查詢相分離地執(zhí)行。在預(yù)先計算/標引階段402中,文件被爬取,并且關(guān)于該文件的數(shù)據(jù)被標引在搜索索引中。根據(jù)一個實施方式在預(yù)先計算/標引階段402期間標引文件數(shù)據(jù)的處理在下面參照圖5被進一步詳細討論。在預(yù)先計算/標引階段402之后,在圖4中示出的階段包括在線階段,在該階段中接收搜索查詢并響應(yīng)地返回搜索結(jié)果。在線階段的第一階段是匹配階段,如在框404處所示的。在匹配階段404期間,搜索查詢被接收到并被改寫,該改寫的查詢被用于從搜索索引中識別匹配文件。根據(jù)一個實施方式在匹配階段404期間用于識別匹配文件的處理在下面參照圖6被進一步詳細討論。在匹配之后的下一階段是刪減階段,如在框406處示出的。刪減階段406從匹配階段404取得初始的文件集合,并使用簡化計分函數(shù)為每個文件確定初步分數(shù)?;谠摮醪椒謹?shù),從初始的文件集合中刪減文件。根據(jù)一個實施方式從初始的匹配文件集合中刪減文件的處理在下面參照圖7被進一步詳細討論。在一些實施方式中,匹配階段404和刪減階段406可以交替進行。特別地,當匹配文件被識別時可以執(zhí)行刪減以較早地丟棄其中初步分數(shù)指示文件將很可能被最終分級算法丟棄的候選不再進一步的考慮。在匹配階段404和刪減階段406之后保留的候選文件集合在最終分級階段期間被進一步估計,如框408處示出。在最終分級階段408期間,使用完整分級算法以確定所保留的文件的最終分數(shù)。在一些實施方式中,完整分級算法可以在原始的搜索查詢和保留的每個文件的數(shù)據(jù)上執(zhí)行。完整分級算法可以使用多個不同分級特征以確定最終的分級文件集合。響應(yīng)于搜索查詢,基于最終的分級文件集合提供搜索結(jié)果,如在框410處所示。現(xiàn)在轉(zhuǎn)向圖5,提供了圖示根據(jù)本發(fā)明實施方式的、用于預(yù)先計算文件/原子對的分數(shù)并標引數(shù)據(jù)的方法500的流程圖。初始地,如在框502處所示,訪問一個文件。例如, 爬取器可以被使用以爬取文件并取得文件數(shù)據(jù)。在框504處,該文件被處理。該文件被處理以識別文件中包含的原子。如上面提到的,該處理包括分析文件的文本以識別詞語、n元模型和n元組,并確定對于該文件這些原子中的哪些應(yīng)當被標引。關(guān)于查詢分布、詞語分布的統(tǒng)計和/或?qū)⒃诼┒诽幚砥陂g使用的簡化計分函數(shù)可以被用于統(tǒng)計地選擇最好的原子集合以表示該文件。如在框506處所示,對于文件中識別出的每個原子生成一個分數(shù)。該分數(shù)表示在文件的上下文中該原子的重要性??梢允褂萌魏螖?shù)量的算法以計算在文件中發(fā)現(xiàn)的原子的分數(shù)。僅通過示例,分數(shù)可以基于本領(lǐng)域已知的詞頻逆向文件頻率(TF/IDF)函數(shù)。例如,可以使用BM25F分級函數(shù)。如在框508處所示,在搜索索引中標引數(shù)據(jù)。這可以包括存儲關(guān)于在文件中發(fā)現(xiàn)的原子的信息和每個文件/原子對的分數(shù)。這些分數(shù)包括預(yù)先計算的分數(shù),其可以在漏斗處理期間被使用。在一些實施方式中,為每個原子創(chuàng)建標記列表。每個標記列表可以包括包含該原子的文件列表以及預(yù)先計算的每個文件/原子對的分數(shù)的指示。接下來參照圖6,提供了示出根據(jù)本發(fā)明實施方式的、用于在匹配階段期間取得初始的匹配文件集合的方法600的流程圖。如在框602處所示,初始地接收到搜索查詢。該搜索查詢可以包含由使用用戶設(shè)備的用戶輸入的一個或多個搜索詞語。如在框604處所示,該接收到的搜索查詢被改寫。特別地,搜索查詢的詞語被分析以識別可以被用于查詢搜索索引的一個或多個原子。該分析可以類似于在標引文件數(shù)據(jù)時用于識別文件中原子的分析。例如,詞語和搜索查詢的統(tǒng)計可以被用于識別搜索查詢中的原子。該改寫后的查詢可以包括原子的連接詞集合以及它們的級聯(lián)變量(cascadingvariant)。如在框606處所示,該改寫后的查詢被用于根據(jù)搜索索引識別匹配文件的集合。特別地,根據(jù)原始查詢識別出的原子被用于查詢搜索索引并識別匹配文件。如上面所指示的,搜索索引可以包括在標引的文件中識別的各種原子的標記列表。相應(yīng)于由改寫后的查詢識別出的原子的標記列表可以被識別出并被用于識別匹配文件。例如,根據(jù)改寫后的查詢的多個原子的標記列表的交集可以提供初始的匹配文件集合。轉(zhuǎn)向圖7,提供了圖示根據(jù)本發(fā)明實施方式的、用于在刪減階段期間從初始的匹配文件集合中刪減文件的方法700的流程圖。如在框702處所示,使用存儲在搜索索引中的預(yù)先計算的分數(shù)為每個文件計算初步分數(shù)。這可以包括取得文件的每個原子的預(yù)先計算的分數(shù),并在簡化計分函數(shù)中使用該預(yù)先計算的分數(shù)以生成文件的初步分數(shù)。該簡化計分函數(shù)可以按這樣一種方式建立其提供由完整分級算法提供的最終分數(shù)的估計。例如,該簡化計分函數(shù)可以包括由完整分級算法使用的特征的子集。在一些實施方式中,使用諸如美國專利申請?zhí)?尚未分配)(代理案號MFCP. 157122),名稱為“DECOMPOSABLE RANKING FOREFFICIENT PRECOMPUTING”所描述的處理來定義簡化計分函數(shù)。如在框704處所示,基于初步分數(shù)從初始的匹配文件集合中刪減文件。在一些實施方式中,頂部N個文件被保留,即,具有最高初步分數(shù)的N個文件被保留以進一步處理。保留的文件的數(shù)量可以基于被用來計算初步分數(shù)的簡化計分函數(shù)的保真度。該簡化計分函數(shù)的保真度表示簡化計分函數(shù)提供類似于由最終分級算法提供的那些分級的文件集合的能力。如果已知在包括簡化計分函數(shù)中的誤差的最終分級算法和簡化計分函數(shù)之間的關(guān)聯(lián)性,該知識可以被用于確定從刪減階段中保留的文件的數(shù)量。例如,如果期望提供1000個搜索結(jié)果并且已知在所有查詢上平均地來自簡化計分函數(shù)的頂部1200個文件將包括來自最終分級算法的頂部1000個文件,則頂部1200個文件將從刪減階段中被保留。 在本發(fā)明的一些實施方式中,漏斗處理可以使用包括反向索引和正向索引的搜索索引。該反向索引按照原子排序。這將便于在漏斗處理的匹配和刪減階段期間快速地取得數(shù)據(jù)。特別地,當接收到搜索查詢并從搜索查詢中識別出原子時,在相應(yīng)于從搜索查詢中識別出的原子的反向索引中的標記列表可以被快速地訪問并用于識別匹配文件,以及取得由簡化計分函數(shù)使用的預(yù)先計算的分數(shù)。正向索引按照文件排序。這將便于漏斗處理的最終分級階段。特別地,刪減的文件集合將作為匹配和刪減階段的結(jié)果被提供。該刪減的文件集合將是相對小的。這樣,正向索引存儲文件數(shù)據(jù),該文件數(shù)據(jù)是針對刪減的文件集合中的文件取得的并由最終分級算法使用以提供最終的分級文件集合。在一些實施方式中,正向索引可以按照美國專利申請?zhí)?尚未分配)(代理案號MFCP. 157165),名稱為“EFFICIENTFORWARD RANKING IN A SEARCH ENGINE”中所描述的那樣被構(gòu)造。附加地,在一些實施方式中,混合分布模型可以被用于反向和正向索引,諸如在美國專利申請?zhí)?尚未分配)(代理案號 MFCP. 157166),名稱為 “HYBRID DISTRIBUTION MODEL FOR SEARCH ENGINE INDEXES”(其全部內(nèi)容通過引用被結(jié)合于此)中所描述的那樣?,F(xiàn)在轉(zhuǎn)向圖8,圖示了可以使用本發(fā)明實施方式的示例性系統(tǒng)。盡管本發(fā)明的一些實施方式(如此處討論的)是針對在多個階段中估計并刪減文件候選的漏斗處理,但其它實施方式是針對識別文件中最有用和最相關(guān)的原子并在與特定文件相關(guān)的搜索索引中標引那些原子。原子可以采取多種形式,包括詞語或一元模型、n元模型或n元組。此處盡管只有單個詞語被通常地標引,如將在下面討論的,一些類型的原子具有多個詞語,這樣,詞語的組合可以被共同地標引。如此處使用的,按照由所使用的分詞器技術(shù)所定義的,一元模型映射到單個符號或字(word)。這樣,一元模型可以是文件中發(fā)現(xiàn)的單字。n元模型是從文件中提取到的“n”個連續(xù)或幾乎連續(xù)的詞語序列。n元模型可以是緊的或者松的。如果它相應(yīng)于一連串連續(xù)的詞語,則n元模型被稱為是緊的。松的n元模型按照詞語出現(xiàn)在文件中的順序包含它們,但是詞語不是必須連續(xù)的。松的n元模型通常被用于表示由無足輕重的字(word)加以區(qū)分的一類等同的短語(例如“如果下雨我將被淋濕”相比于“如果下雨則我將被淋濕”)。例如二元模型是具有“n”等于2的兩個字。類似地,三元模型是具有“n”等于3的三個字。n元組,如此處使用的,是在文件中共現(xiàn)的“n”個詞語的集合,其順序是獨立的。在文件中識別的原子被標引到一個或多個搜索索引中。在一個實施方式中,對于一元模型、n元模型和n元組有各自的索引。回到圖8,應(yīng)當理解此處描述的這種和其它布置僅是作為例子被提出。其它布置和元素(例如機器、接口、功能、次序和功能組合等)能夠除示出的那些之外被使用或代替示出的那些來使用,并且一些元素可以被完全忽略。進一步地,此處描述的許多元素是功能實體,其可以實現(xiàn)為分立的或分布式的組件或者與其它組件相結(jié)合,并且處于任何合適的組合和位置。此處描述的由一個或多個實體執(zhí)行的多種功能可以由硬件、固件和/或軟件執(zhí)行。例如,多種功能可以由執(zhí)行存儲器中存儲的指令的處理器執(zhí)行。在未示出的其它組件之中,系統(tǒng)800可以包括用戶設(shè)備802、索引服務(wù)器804、搜索索引生成器808和搜索索引818。圖8中示出的每個組件可以是任意類型的計算設(shè)備,例如,諸如參照圖I描述的計算設(shè)備100。組件可以經(jīng)由網(wǎng)絡(luò)806彼此通信,網(wǎng)絡(luò)806可以包括但不限于一個或多個局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這種聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)域 計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)中是常見情形。應(yīng)當理解在本發(fā)明的范圍內(nèi),任何數(shù)量的用戶設(shè)備、索引服務(wù)器、搜索索引生成器和搜索索引可以在系統(tǒng)800內(nèi)被使用。每個可以包括單個設(shè)備或者在分布式環(huán)境中協(xié)作的多個設(shè)備。例如,索引服務(wù)器804可以包括布置在分布式環(huán)境中的多個設(shè)備,其共同地提供此處描述的索引服務(wù)器804的功能。同樣地,如此處描述的,可以有多個搜索索引。這些可以被存儲在搜索索引818中或者可以被存儲在分離的位置。附加地,未示出的其它組件也可以被包括在系統(tǒng)800中。索引服務(wù)器804 —般地操作以從諸如用戶設(shè)備802的用戶設(shè)備接收搜索查詢,并通過搜索一個或多個搜索索引提供響應(yīng)于該搜索查詢的搜索結(jié)果。搜索索引生成器808尤其包括原子識別組件810、信息度量計算組件812、原子刪減組件814和搜索索引組件816。通常地,搜索索引生成器808負責(zé)生成或使用被確定對于將來的查詢是最有用或最相關(guān)的原子/文件對填充現(xiàn)有搜索索引。原子識別組件810通常負責(zé)檢查文件并從文件中提取獨立的詞語。附加地,原子識別組件810識別是n元模型和n元組的那些原子。例如,原子識別組件810通過確定各個詞語相對于彼此的位置可能能夠識別n元模型。如所提及的,包括n元組的詞語是位置獨立的,因此可以位于文件中任何位置。圖9A,9B和9C的描述在下面進一步解釋n元模型和n元組。信息度量計算組件812計算信息度量。文件中識別的原子可以基于信息度量被選擇為與特定文件最相關(guān)或最有用的。通常,信息度量是原子相對于特定文件(其中原子從該特定文件中被識別或解析出)的分級。信息度量估計在解析一般的查詢中原子的有用性。在一個實施方式中,信息度量計算組件812利用一種算法計算每個原子/文件對的信息度量。多種因素可以與該算法相結(jié)合地被使用以計算信息度量。僅為了示例的目的,這些因素可以包括信息分數(shù)、文件中原子的頻率、如果原子是n元模型或n元組的字的分離、原子中的詞語單獨出現(xiàn)的次數(shù)以及詞語一起出現(xiàn)的次數(shù)、以及原子或包括該原子的詞語在查詢?nèi)罩局惺欠癯霈F(xiàn)。該最后一個因素證明原子的詞語以某種方式關(guān)聯(lián),以及該詞語先前已經(jīng)被搜索過。至于詞語在文件中出現(xiàn)的次數(shù),如果原子中每個字出現(xiàn)多次,但是在距離上不是彼此接近的,這可能意味著這些字僅是碰巧位于同一個文件中而沒有更深的含義。如果比起偶然情況下所預(yù)料的距離,這些字彼此更加接近地出現(xiàn),則變得更具有意義。
原子刪減組件814負責(zé)刪減針對每個文件的原子/文件對的數(shù)量,這樣對于特定文件不太可能是相關(guān)或重要的那些原子不會被標引,由此不會占用過多存儲空間。對于具有400個不同的字并因此在搜索索引中有400個條目的文件,如果在這個文件中二元模型也被識別出,則對于這個單個的文件將有80000對字。如果三元模型和n元組也被標引出,則這個數(shù)量會增長得更大。不但原子/文件對的數(shù)量愈加巨大,而且每個詞語的位置也可被存儲在搜索索引中,這與原子/文件對自身一樣占用存儲空間。如所提及的,基于許多因素,其中一些在上面被列出,算法計算信息度量,其稍后被用于確定特定原子/文件對是否將被標引。這種確定是基于閾值。該閾值在一個實施方式中是通過檢查先前的運行而設(shè)置,諸如從前一天,還根據(jù)初始的測試。有許多種計算閾值的方式,上述方式僅是為了示例的目的而提供。閾值因此通常是預(yù)定的值。這樣,基于閾值,原子刪減組件814檢查每個原子/文件對的信息度量并作出關(guān)于每個對應(yīng)當被標引或丟棄的決定。一旦原子刪減組件814已經(jīng)刪減了原子/文件對的數(shù)量,如上面所描述的,搜索索引組件816可以生成搜索索引或者增加條目至現(xiàn)有的搜索索引。在一個例 子中,搜索索引可以在上面描述的處理期間被生成,在搜索索引中的那些條目可以被并入已有的搜索索弓丨,諸如主索引。在一個實施方式中搜索索引818存儲多個搜索索引。同樣地,如在前提及的,對于各種類型的原子可以有單獨的搜索索引,包括一元模型索引、n元模型索引、n元組索引。一元模型索引是從給定詞語至文件識別/分級記錄的列表的映射。在一個實施方式中,刪減處理不被應(yīng)用于一元模型,由于一元模型的數(shù)量通常是可管理的,因此可以不需要被刪減,或者至少不需要如n元模型和n元組刪減那么多。n元模型索引包括通過滑動窗算法對于給定的“n”在文件中識別的n元模型。例如,對于詞語流tlt2t3t4t5,此處n=2,則n元模型原子包括(tlt2)、(t2t3)、(t3t4)和(t4t5)。因此,從n=2的五個字的一串中,有四個原子產(chǎn)生。這些原子以(docID,分級)記錄被標引并存儲,此處該“分級”是文件中兩個連續(xù)詞語的分級的近似。在一些實施方式中,分級或信息度量不被存儲在索引中,而是代替地僅被用于確定哪些原子被標引和哪些被丟棄。n元組索引類似于此處描述的n元模型索引,除了存在指數(shù)級多的n元組從文件中被識別出,由于n元組的詞語的位置可以被認為是不相關(guān)的。這樣,n元組通常比n元模型和一元模型被刪減的更多。進一步地,在一些情況中,n元模型和n元組可以被復(fù)制,因此該副本在刪減處理期間被丟棄。一旦被識別并標引,在一個實施方式中,原子(一元模型、n元模型、n元組)使用優(yōu)先級哈希索引被存儲在詞典中,諸如在美國專利申請?zhí)?2/980582 (代理案號MFCP. 157119),名稱為“PRIORITY HASH INDEX”(其全部內(nèi)容通過引用被結(jié)合于此)所描述的。圖9A、9B和9C根據(jù)本發(fā)明實施方式分別圖示了一元模型搜索索引、n元模型搜索索引和n元組搜索索引中條目的例子。圖9A、9B和9C的實施方式使用“Holistic Approachin Southern Sweden”的采樣詞語串。圖9A圖示了從該詞語串中識別的一元模型900。如所示,有5個識別的一元模型,每個由單個詞語組成。圖9B圖示了從該采樣詞語串中識別的n元模型910。由于n元模型是彼此接近或相鄰的,識別出7個n元模型,這是比識別出的一元模型更高的數(shù)量。圖9C圖示了從該采樣詞語串中識別的n元組920。如所示,比起一元模型或n元模型,非常多的n元組被識別出,由于n元組可以是成對或以其它方式匹配在一起,即使在文件中它們不是彼此相鄰或接近。從由5個詞語組成的采樣詞語串識別出13個n元組。圖9A、9B和9C被示出以圖示n元組的數(shù)量通常如何遠大于一元模型或n元模型的數(shù)量。參照圖10,根據(jù)本發(fā)明的實施方式的方法1000的流程圖被示出,方法1000用于使用在多個文件中識別出的原子填充一個或多個搜索索引。初始地,在步驟1010識別將在搜索索引中被標引的文件集合。文件被一般地標引,這樣當接收到搜索查詢時,通過訪問搜索索引,最相關(guān)的文件能夠容易地為用戶找到。在步驟1012,在每個文件中識別出原子。如所提及的,原子可以是一元模型、n元模型 或n元組的一個或多個。一元模型通常是單個符號或詞語,而當“n”大于一時,n元模型是多個詞語或符號,其在文件中彼此相鄰或接近地設(shè)置。例如,n元模型可以是從特定文件中提取出來的連續(xù)或幾乎連續(xù)的詞語序列,此處“n”是連續(xù)或幾乎連續(xù)的詞語的數(shù)量。N元組是共現(xiàn)在相同的文件中、但不是必須彼此相鄰或接近地位于文件中的多個詞語或符號。在一個例子中,包含n元組的這些詞語可以完全不是彼此接近的,諸如在文件的不同部分。此外,n元組是次序無關(guān)的。在步驟1014,生成原子/文件對的列表。原子/文件對是在文件中識別的原子和對應(yīng)于從中識別該原子的文件的文件標識。在步驟1016針對每個原子/文件對計算信息度量。信息度量表示與特定文件相關(guān)的原子的分級,諸如在解析搜索查詢中原子相對于文件有多么相關(guān)。在一個實施方式中,機器學(xué)習(xí)工具被用于為每個原子計算信息度量,除此以外還選擇最相關(guān)的原子/文件對,其是基于信息度量和其它因素被確定為與從中識別出原子的文件最相關(guān)。信息度量的計算可以使用利用多種因素的算法。僅為了示例的目的,這些因素可以包括在任意語料庫中的字的信息分數(shù)、文件中包含原子的一個或多個字的頻率、字的間隔、一個或多個字獨立地出現(xiàn)多少次和它們共同出現(xiàn)多少次、以及原子是否出現(xiàn)在查詢?nèi)罩局幸约耙允裁搭l率出現(xiàn)。存在其它因素可以被使用并預(yù)期處于本發(fā)明的范圍內(nèi)。在步驟1018處選擇原子/文件對的子集作為與特定文件最相關(guān)的。在步驟1018處的這種選擇是基于為原子/文件對計算的信息度量。通常地,閾值被確定,這樣在閾值之上的那些信息度量被認為是相關(guān)的,在之下的那些不被認為是相關(guān)的或者至少不是那么相關(guān)。在一個實施方式中,選擇原子/文件對的子集包括使用刪減算法以刪減或限制原子/文件對的數(shù)量至較小的數(shù)量,這樣比其它更相關(guān)的原子/文件對較不相關(guān)的原子/文件對被丟棄,并因此不被標引。在步驟1020,使用特定文件的原子/文件對的子集填充搜索索弓I。如所提及的,所有原子/文件對可以被初始地標引在分離的索引中,然后只有作為最相關(guān)的被選擇的那些被填充或標引到主搜索索引中。附加地,如所提及的,可以存在多于一個的搜索索引,因此在一個實施方式中,一元模型被標引在一元模型索引中,n元模型被標引在n元模型索引中,n元組被標引在n元組索引中。在一個實施方式中,接收到搜索查詢。搜索查詢可以被改寫為一元模型、n元模型、n元組或其組合中的至少一個。原子已經(jīng)被標引在其中的搜索索引被訪問以確定對于改寫后的搜索查詢最相關(guān)的文件。圖11是流程圖,其示出根據(jù)本發(fā)明的實施方式的方法1100,用于使用在多個文件中識別出的原子填充一個或多個搜索索引。初始地在步驟1110,原子從第一文件中被識別出。這些原子中的每一個在步驟1112被分類為一元模型、n元模型、n元組或其組合。在步驟1114,為識別的原子的每個計算信息度量。如所提及的,信息度量表示原子/文檔對的分級,因為其在解析一般的查詢中是有用的。在計算信息度量中使用的因素包括但不限于在第一文件中原子的頻率、第一文件中原子的兩個或多個詞語的位置的接近度、原子的詞語的關(guān)聯(lián)性、以及如通過檢查查詢?nèi)罩舅C明的原子的詞語是否先前已經(jīng)被鏈接在一起。在步驟1116,確定每個原子的信息度量是否符合預(yù)定的閾值。符合閾值的原子是被認為或知道關(guān)于第一文件是最相關(guān)的那些。在一個實施方式中,閾值可以是任意的,或者在另一實施方式中可以純粹基于諸如多少原子被標引的數(shù)量。在又另一個實施方式中,閾值是基于在前的嘗試,該嘗試關(guān)于被發(fā)現(xiàn)與特定文件相關(guān)的原子而執(zhí)行。在步驟1118,不符合預(yù)定閾值的原子被丟棄。符合閾值的原子被并入至一個或多個搜索索引中,在步驟1120示出。在一個實施方式中,該一個或多個搜索索引包括一元模型索引、n元模型索引和n元組索引。在一個實施方式中,如先前提及的,在被標引的文件中識別的全部一元模型可以被并入搜索索引中并因此不被刪減。附加地,在一個實施方式中相同的處理對于n元組是合適的??商鎿Q地,n元模型可以被刪減至特定程度但不像n元組那么多。這樣,比n元模型和一元模型更大百分比的n元組可被丟棄。另外,一些n元組也可被識別為n元模型,因此在刪減處理期間副本可以被丟棄。圖11的另一個實施方式包含來自第二文件的原子的標識。這些原子的每個被分類為一元模型、n元模型、n元組或其組合。對于與第二文件相關(guān)的每個原子計算信息度量。一些原子可以與從第一文件中識別出來的那些相同或類似,但是基于從中識別出原子的不同文件,可以具有不同的信息度量。從而確定針對每個原子的信息度量是否符合預(yù)定的閾值。符合的那些被認為關(guān)于第二文件是最相關(guān)的。不符合閾值的那些被丟棄。符合閾值的那些原子被并入至搜索索引中。圖12是流程圖,其示出根據(jù)本發(fā)明的實施方式的方法1200,該方法用于使用在多個文件中識別出的原子填充一個或多個搜索索引。在步驟1210處,原子從文件中被提取出。原子可以被分類為一元模型、n元模型或n元組。對于每個原子,在步驟1212處計算信息度量。信息度量表示關(guān)于文件的特定原子的分級。此外,信息度量的計算可以基于例如在文件中原子的頻率、文件中原子的詞語的接近度、原子的詞語的相關(guān)性、以及如通過檢查查詢?nèi)罩舅C明的原子的詞語是否已經(jīng)先前被鏈接在一起。其它因素也可以被使用并預(yù)期處于本發(fā)明的范圍內(nèi)。在步驟1214,確定信息度量閾值,這樣信息度量符合或超過信息度量閾值的那些原子/文件對被標引。在步驟1216,基于信息度量,一部分原子/文件對被丟棄,諸如如果該信息度量不符合閾值。在步驟1218使用信息度量符合或超過信息度量閾值的原子/文件對填充一個或多個搜索索引。在一個實施方式中,一元模型、n元模型和n元組分別被標弓I。在步驟1220,搜索索引被訪問以識別與接收到的搜索查詢中的原子相關(guān)的文件。如能夠被理解的,本發(fā)明的實施方式提供針對每個原子/文件對的信息度量的計算,并使用信息度量以確定哪些原子/文件對被標引和哪些被丟棄。本發(fā)明已經(jīng)關(guān)于特定實施方式被描述,其在所有方面都意圖是示意性而非限制性。可替換的實施方式對于本發(fā)明所屬領(lǐng)域的技術(shù)人員將變得明顯,而不脫離其范圍。從前述內(nèi)容,將看到該發(fā)明很好地適于達到上面提出的所有目的和目標(與對于系統(tǒng)和方法是明顯的和固有的其它優(yōu)勢一起)。將理解特定特征和子組合是實用的并且可以被使用,無需參考其它特征和子組合。這都由權(quán)利要求的范圍來預(yù)期并包括在其中。權(quán)利要求
1.一種用于使用在多個文件中識別的原子填充ー個或多個搜索索引的方法,該方法包括 識別(1010)將在搜索索引中被標引的文件的集合; 對于文件集合的每個文件,識別(1012)多個原子,該多個原子包含ー個或多個一元模型,ー個或多個η元模型,和ー個或多個η元組; 基于所識別的文件集合和該多個原子,生成(1014)原子/文件對的列表; 為每個原子/文件對計算(1016)信息度量,其中該信息度量表示與特定文件相關(guān)的原子的分級; 基于每個原子/文件對的信息度量,選擇(1018)與從中識別出原子的特定文件最相關(guān)的原子/文件對的子集;以及 使用針對特定文件的原子/文件對的子集填充(1020)捜索索引。
2.權(quán)利要求I的方法,其中搜索索引包括一個或多個搜索索引,其中一個或多個搜索索引包括一元模型索引、η元模型索引和η元組索引。
3.權(quán)利要求I的方法,其中選擇與特定文件最相關(guān)的原子/文件對的子集進ー步包括利用刪減算法將原子/文件對的數(shù)量刪減至較小的數(shù)量,這樣比起其它原子/文件對較不相關(guān)的原子/文件對不被標引。
4.權(quán)利要求I的方法,其中機器學(xué)習(xí)工具被用來針對原子/文件對計算信息度量并選擇與從中識別出原子的特定文件最相關(guān)的原子/文件對的子集。
5.權(quán)利要求I的方法,進ー步包括 接收搜索查詢; 將該搜索查詢改寫為ー個或多個一元模型、ー個或多個η元模型或者ー個或多個η元組中的至少一個;以及 使用該改寫的搜索查詢,訪問搜索索引以確定對于搜索查詢最相關(guān)的文件。
6.ー種使用在多個文件中識別出的原子填充ー個或多個搜索索引的方法(1100),該方法包括 從將被標引的多個文件的第一文件中識別(1110)多個原子; 將多個原子的每個原子分類(1112)為一元模型、η元模型或η元組的ー個或多個; 針對多個原子的每個原子計算(1114)與第一文件相關(guān)的信息度量; 確定(1116)多個原子的每個原子的信息度量是否符合預(yù)定的閾值,其中符合預(yù)定閾值的原子是對于第一文件最相關(guān)的那些; 丟棄(1118)不符合預(yù)定閾值的原子; 將對于第一文件符合預(yù)定閾值的原子并入(1120)至一個或多個搜索索引中。
7.權(quán)利要求6的方法,其中在第一文件中識別的第一原子的信息度量表示第一原子的分級,其關(guān)于對于第一文件在解析具有第一原子的搜索查詢中該第一原子多么有用。
8.權(quán)利要求6的方法,其中對于多個原子的每個原子的信息度量的計算是基于以下內(nèi)容的ー個或多個在第一文件中原子的頻率、在第一文件中的原子的兩個或多個詞語的接近度、原子的兩個或多個詞語的相關(guān)性、或者如通過檢查查詢?nèi)罩舅C明的原子的兩個或多個詞語是否先前已經(jīng)被鏈接在一起。
9.權(quán)利要求9的方法,進ー步包括從第二文件中識別多個原子; 將多個原子的每個原子分類為一元模型、η元模型或η元組中的ー個或多個; 針對多個原子的每個原子計算關(guān)于第二文件的信息度量; 確定多個原子的每個原子的信息度量是否符合預(yù)定閾值,其中符合預(yù)定閾值的原子是對于第二文件最相關(guān)的那些; 丟棄不符合預(yù)定閾值的原子;以及 將對于第二文件符合預(yù)定閾值的原子并入至一個或多個搜索索引中。
10.一種用于使用在多個文件中識別的原子填充ー個或多個搜索索引的方法(1200),該方法包括 從文件中提取(1210)多個原子,該多個原子包括ー個或多個一元模型、ー個或多個η元模型以及ー個或多個η元組; 對于多個原子的每個原子,計算(1212)表示與文件相關(guān)的特定原子的分級的信息度量,其中信息度量的計算是基于以下內(nèi)容的ー個或多個在文件中原子的頻率、在文件中的原子的兩個或多個詞語的接近度、原子的兩個或多個詞語的相關(guān)性、或者如通過檢查查詢?nèi)罩舅C明的原子的兩個或多個詞語是否先前已經(jīng)被鏈接在一起; 確定(1214)信息度量閾值,其中信息度量符合或超過該信息度量閾值的原子/文件對被標引; 基于信息度量丟棄(1216)—部分原子/文件對,其中相應(yīng)于被丟棄的原子/文件對的信息度量低于該信息度量閾值; 通過標引信息度量符合或超過該信息度量閾值的原子/文件對,填充(1218)所述ー個或多個搜索索引,其中一元模型、η元模型和η元組被分別標引;以及 訪問(1220)所述ー個或多個搜索索引以識別查詢中針對原子的相關(guān)文件。
11.一個或多個計算機存儲介質(zhì),其存儲有計算機可使用的指令,當由計算設(shè)備使用時,其使得計算設(shè)備執(zhí)行如權(quán)利要求I 一 10中任ー項的方法。
全文摘要
提供了一種使用在文件中識別的原子來填充搜索索引的方法。識別將被標引的文件,對于每個文件,識別原子并將其分類為一元模型、n元模型和n元組。生成原子/文件對的列表,這樣對于每個對能夠計算信息度量。信息度量表示與特定文件相關(guān)的原子的分級。基于該信息度量,一些原子/文件對被丟棄,其它的被標引。
文檔編號G06F17/30GK102682073SQ20121006093
公開日2012年9月19日 申請日期2012年3月9日 優(yōu)先權(quán)日2011年3月10日
發(fā)明者J.G.班尼特, K.M.里斯維克, K.卡亞納拉曼, M.霍普克羅夫特, T.基林比 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
子长县| 茌平县| 江阴市| 左权县| 大厂| 木兰县| 嘉义市| 上思县| 贵港市| 舞阳县| 泾源县| 遂昌县| 台北市| 黔江区| 新乡市| 泾源县| 樟树市| 米易县| 丰顺县| 陵川县| 温宿县| 定日县| 鄢陵县| 宁远县| 内江市| 河池市| 通山县| 隆安县| 新化县| 嘉祥县| 宝坻区| 罗平县| 淮阳县| 兴仁县| 顺义区| 大渡口区| 沛县| 乳源| 陇南市| 通州市| 阳城县|