專利名稱:確定層分配的質(zhì)量的制作方法
確定層分配的質(zhì)量背景搜索引擎使用戶能夠通過(guò)因特網(wǎng)快速訪問(wèn)信息。具體而言,用戶可以向搜索引 擎提交查詢并細(xì)察該搜索引擎所返回的排名結(jié)果。例如,用戶可以向搜索引擎提供查詢 “Spider (蜘蛛)”,并且被提供了與各種蛛形綱動(dòng)物相關(guān)的網(wǎng)頁(yè)、與汽車相關(guān)的網(wǎng)頁(yè)、與電 影相關(guān)的網(wǎng)頁(yè)、與web爬行器相關(guān)的網(wǎng)頁(yè)、以及其他網(wǎng)頁(yè)。搜索引擎可被用來(lái)向查詢的發(fā)起 者返回圖像、學(xué)術(shù)論文、視頻、以及其他信息。搜索引擎的操作可包括采用web爬行器來(lái)定位和存儲(chǔ)可在萬(wàn)維網(wǎng)上獲得的大量 信息(例如,網(wǎng)頁(yè))。例如,與其相關(guān)的網(wǎng)頁(yè)或信息可以存儲(chǔ)在搜索引擎索引中,該索引在接 收到查詢時(shí)使用(結(jié)合一個(gè)或多個(gè)搜索算法)。常規(guī)上,搜索引擎索引存儲(chǔ)在若干層中,其中不同的層提供不同級(jí)別的性能。搜索 引擎索引的分層與在計(jì)算機(jī)體系結(jié)構(gòu)中使用的存儲(chǔ)器分層結(jié)構(gòu)類似索引的總體存儲(chǔ)容量 在不同的級(jí)別之間劃分,這些級(jí)別在大小、速度、等待時(shí)間、以及成本方面各異。索引的較高 層通常具有較高速度但具有較小容量和較高成本。因此,仔細(xì)地索引網(wǎng)頁(yè)以最大化搜索引 擎的效率是合乎需要的。一種已經(jīng)使用的用于將網(wǎng)頁(yè)分層的方式是根據(jù)網(wǎng)頁(yè)的由某一度量(如該網(wǎng)頁(yè)的 靜態(tài)排名)確定的相對(duì)重要性來(lái)選擇在其中放置該網(wǎng)頁(yè)的索引的一層。具體而言,到一網(wǎng) 頁(yè)的鏈接的數(shù)量可被用來(lái)選擇在其中定位該網(wǎng)頁(yè)的索引的一層。然而,頁(yè)面的相對(duì)重要性 不一定指示該頁(yè)面是否被經(jīng)常訪問(wèn),并且因而對(duì)于在搜索引擎索引中索引網(wǎng)頁(yè)而言不是最 優(yōu)的。然而,評(píng)估層分配是困難的問(wèn)題,因?yàn)椴磺宄男┒攘坎蹲降搅司W(wǎng)頁(yè)到這些層的特定 分配的質(zhì)量。概述以下是在本文詳細(xì)描述的主題的簡(jiǎn)要概述。本概述不旨在權(quán)利要求的范圍。本文描述了關(guān)于將數(shù)字項(xiàng)(如網(wǎng)頁(yè))分層的各種技術(shù)??梢员O(jiān)視用戶與搜索引 擎、數(shù)據(jù)庫(kù)管理系統(tǒng)等的交互并且可以收集與這樣的用戶交互相關(guān)的數(shù)據(jù)。例如,可以監(jiān)視 并保留用戶提交的查詢、響應(yīng)于這些查詢提供的搜索結(jié)果(例如,數(shù)字項(xiàng))、以及用戶相對(duì) 于這些搜索結(jié)果的動(dòng)作。在一特定示例中,可以使用瀏覽器上的工具欄來(lái)收集用戶歷史數(shù) 據(jù)。至少部分地基于該用戶歷史數(shù)據(jù),可以生成可搜索數(shù)字項(xiàng)的層分配的質(zhì)量的指示,其中 層分配指示可搜索數(shù)字項(xiàng)被分配給若干層中的哪一層。層的質(zhì)量的指示可以是符合定義的 層分配質(zhì)量度量的值,該度量在本文詳細(xì)描述。在一示例中,質(zhì)量的指示可以通過(guò)查明若干參數(shù)來(lái)確定。例如,層分配的質(zhì)量的指 示可以至少部分地基于被分配給觀察到的查詢的權(quán)重。在一示例中,這些權(quán)重可以指示這 些查詢的相對(duì)重要性,并可至少部分地基于發(fā)起這些查詢的頻率。在另一示例中,對(duì)于特定 查詢和所確定的系統(tǒng)負(fù)載(例如,在接收到該查詢時(shí)系統(tǒng)有多忙碌),層分配的質(zhì)量的指示 可以至少部分地基于數(shù)字項(xiàng)的檢索將在指定層結(jié)束的概率。可為多個(gè)層確定該概率。在又 一示例中,層分配的質(zhì)量的指示可以至少部分地基于當(dāng)檢索在特定層中結(jié)束時(shí)獲得的搜索 結(jié)果質(zhì)量的量度??梢越Y(jié)合確定分層質(zhì)量的量度來(lái)使用歸一化貼現(xiàn)累計(jì)收益(NDCG)、平均精確度、Q-測(cè)量或用于測(cè)量信息檢索損失或搜索結(jié)果質(zhì)量的其他合適機(jī)制。另外,可以至少部分地基于層分配的質(zhì)量的指示和/或用戶歷史數(shù)據(jù)來(lái)生成經(jīng)改 進(jìn)的層分配。例如,層分配的質(zhì)量的指示可以符合定義的層分配質(zhì)量度量,并且可以相對(duì)于 該度量來(lái)最優(yōu)化或基本上最優(yōu)化經(jīng)改進(jìn)的層分配。此外,可以至少部分地基于經(jīng)改進(jìn)的層 分配來(lái)更新分層策略。分層策略是用來(lái)的將數(shù)字項(xiàng)分配給各層的策略,并且可以考慮與數(shù) 字項(xiàng)相對(duì)應(yīng)的各種特征,如數(shù)字項(xiàng)被用戶訪問(wèn)的次數(shù)、數(shù)字項(xiàng)的大小等。例如,分層策略可 以通過(guò)使用機(jī)器學(xué)習(xí)技術(shù)來(lái)更新。在閱讀并理解了附圖和描述后,可以明白本申請(qǐng)的其他方面。附圖簡(jiǎn)述
圖1是便于確定層分配的質(zhì)量的指示的示例系統(tǒng)的功能框圖。圖2是生成層分配的質(zhì)量的指示的示例組件的功能框圖。圖3是便于生成經(jīng)改進(jìn)的層分配的示例系統(tǒng)的功能框圖。圖4是便于生成經(jīng)改進(jìn)的層分配的示例系統(tǒng)的功能框圖。圖5是示出用于生成層分配的質(zhì)量的指示的示例方法的流程圖。圖6是示出用于生成層分配的質(zhì)量的指示的示例方法的流程圖。圖7是示出用于輸出相對(duì)于層分配質(zhì)量度量來(lái)最優(yōu)化或基本上最優(yōu)化的層分配 的示例方法的流程圖。圖8是示出用于更新分層策略的示例方法的流程圖。圖9是示例計(jì)算系統(tǒng)。詳細(xì)描述現(xiàn)在將參考附圖來(lái)描述與確定層分配的質(zhì)量、生成經(jīng)改進(jìn)的層分配、以及自動(dòng)地 更新分層策略有關(guān)的各種技術(shù),全部附圖中相同的附圖標(biāo)記表示相同的元素。另外,本文出 于解釋的目的示出并描述了各示例系統(tǒng)的若干功能框圖;然而可以理解,被描述為由特定 系統(tǒng)組件執(zhí)行的功能可以由多個(gè)組件來(lái)執(zhí)行。類似地,例如,單個(gè)組件可被配置成執(zhí)行被描 述為由多個(gè)組件執(zhí)行的功能。參考圖1,示出了便于輸出關(guān)于分層存儲(chǔ)系統(tǒng)(未示出)的層分配的質(zhì)量的指示 的示例系統(tǒng)100。按照一示例,分層存儲(chǔ)系統(tǒng)可以是具有多個(gè)層的搜索引擎索引,其中第一 (最高)層成本較高并且具有相對(duì)少量的存儲(chǔ)空間,但從第一層檢索的數(shù)字項(xiàng)的檢索時(shí)間 小于從其他層(較低層)檢索的數(shù)字項(xiàng)的檢索時(shí)間。第二層較不昂貴并且比第一層具有更 多存儲(chǔ)空間,但在與同第一層相對(duì)應(yīng)的檢索時(shí)間相比時(shí)檢索時(shí)間較大。在另一示例中,分層 存儲(chǔ)系統(tǒng)可包括結(jié)合數(shù)據(jù)庫(kù)管理系統(tǒng)使用的各層存儲(chǔ)。例如,數(shù)據(jù)庫(kù)管理系統(tǒng)中使用的服 務(wù)器可具有硬盤驅(qū)動(dòng)器、隨機(jī)存取存儲(chǔ)器、以及高速隨機(jī)存取存儲(chǔ)器,它們可以各自作為一 層。系統(tǒng)100包括包含用戶歷史數(shù)據(jù)104的數(shù)據(jù)存儲(chǔ)102。用戶歷史數(shù)據(jù)104可包括 例如用戶發(fā)起的查詢、響應(yīng)于這些查詢提供給用戶的搜索結(jié)果、用戶響應(yīng)于被提供了各搜 索結(jié)果而選擇的一搜索結(jié)果、和/或其他合適的信息。在一示例中,用戶歷史數(shù)據(jù)104可以 通過(guò)監(jiān)視用戶相對(duì)于搜索引擎的交互來(lái)累積。例如,工具欄插件可以安裝在瀏覽器中,并且 輸入到瀏覽器的查詢以及響應(yīng)于這些查詢返回的搜索結(jié)果、用戶對(duì)特定搜索結(jié)果的選擇、 以及用戶在提交查詢后查看的一系列頁(yè)面都可以由該工具欄插件來(lái)收集。
接收器組件106接收用戶歷史數(shù)據(jù)104的子集。質(zhì)量指示器組件108與接收器組 件106通信并且從接收器子集106接收用戶歷史數(shù)據(jù)104的子集。質(zhì)量指示器組件108可 以生成層分配的質(zhì)量的指示110,其中該層分配指示數(shù)字項(xiàng)要被分配給分層存儲(chǔ)系統(tǒng)中的 哪一層。例如,質(zhì)量的指示可符合層分配質(zhì)量度量,該度量在以下詳細(xì)描述。另外,以下更 詳細(xì)地描述質(zhì)量指示器組件108的操作?,F(xiàn)在參考圖2,示出了質(zhì)量指示器組件108的示例。質(zhì)量指示器組件108包括權(quán)重 確定器組件202、負(fù)載確定器組件204、層確定器組件206、以及效用確定器組件208。權(quán)重 確定器組件202確定被分配給每一查詢的權(quán)重,質(zhì)量指示器組件108使用該權(quán)重來(lái)生成與 分層存儲(chǔ)系統(tǒng)相對(duì)應(yīng)的層分配的質(zhì)量的指示。在一示例中,權(quán)重確定器組件202所確定的 權(quán)重可以至少部分地基于發(fā)起該查詢的頻率(例如,從查詢?nèi)罩静槊鞯?。負(fù)載確定器組件204確定在搜索組件(例如,搜索引擎、數(shù)據(jù)庫(kù)系統(tǒng)……)執(zhí)行特 定查詢時(shí)觀察到的系統(tǒng)負(fù)載。系統(tǒng)負(fù)載可以至少部分地基于在處理特定查詢時(shí)搜索組件所 處理的查詢的數(shù)量、在執(zhí)行特定查詢時(shí)檢索搜索結(jié)果所專用的處理周期的數(shù)量、或搜索組 件一般有多“忙碌”。層確定器組件206可以確定特定層是在負(fù)載確定器組件204所確定的系統(tǒng)負(fù)載下 針對(duì)(關(guān)于特定查詢的)數(shù)字項(xiàng)來(lái)搜索的最后一層的概率。一般而言,在查詢被輸入搜索 組件(例如,搜索引擎)時(shí),首先在與較低層相比通常較小但具有較快訪問(wèn)和檢索時(shí)間的較 高層執(zhí)行檢索。取決于在較高層獲得的結(jié)果的數(shù)量和質(zhì)量以及當(dāng)前系統(tǒng)負(fù)載,可以在較低 層執(zhí)行或不執(zhí)行檢索。因此,如上所述,層確定器組件206可以確定特定層是針對(duì)(關(guān)于特 定查詢并在所確定的系統(tǒng)負(fù)載下)數(shù)字項(xiàng)來(lái)搜索的最后一層的概率??蔀榉謱哟鎯?chǔ)系統(tǒng)中 的每一層確定該概率。效用確定器組件208確定當(dāng)檢索在特定層結(jié)束時(shí)搜索結(jié)果質(zhì)量(相對(duì)于特定查 詢)的指示,其中搜索結(jié)果質(zhì)量的指示可以使用任何合適的度量來(lái)計(jì)算。在一示例中,可以 使用歸一化貼現(xiàn)累計(jì)收益(NDCG)來(lái)確定搜索結(jié)果質(zhì)量的指示。在另一示例中,可以使用平 均精確度(MAP)來(lái)確定搜索結(jié)果質(zhì)量的指示。在又一示例中,可以使用Q-測(cè)量來(lái)確定搜索 結(jié)果質(zhì)量的指示。因此,可以理解,效用確定器組件208可以利用任何合適的機(jī)制/度量來(lái) 確定當(dāng)檢索在特定層結(jié)束時(shí)相對(duì)于特定查詢的搜索結(jié)果質(zhì)量的指示。權(quán)重確定器組件202所確定的權(quán)重、負(fù)載確定器組件204所確定的系統(tǒng)負(fù)載、層確 定器組件所確定的概率、以及效用確定器組件208所確定的搜索結(jié)果質(zhì)量的指示可由質(zhì)量 指示器組件108用來(lái)確定層分配的質(zhì)量的指示。根據(jù)一示例,以下算法可被用來(lái)定義層分配質(zhì)量的度量,并且可由質(zhì)量指示器組 件108用來(lái)確定層分配的質(zhì)量的指示 其中D= ((I1,... ,d|D|}是要存儲(chǔ)在具有對(duì)應(yīng)的容量IT1I,...,Tk的k層T1,..., Tk中的所有數(shù)字項(xiàng)(Cli)的集合;Wdi)是數(shù)字項(xiàng)集合D中的每一項(xiàng)的層分配,其中Wdi)可 具有值丨,...,!^!" ) = It(Cli), ...,WdiM是層分配的總體集合;TQ (T(D),L)是針對(duì)當(dāng) 前系統(tǒng)負(fù)載L的層分配質(zhì)量的量度;Q是所有可能查詢的集合;w(q)是查詢q的權(quán)重(例如,相對(duì)重要性);P(t|q,T(D),L)是在當(dāng)前系統(tǒng)負(fù)載L下第t層是檢索期間訪問(wèn)的最低層 的概率;以及效用(t,q,T(D))是當(dāng)檢索在第t層結(jié)束時(shí)獲得的搜索結(jié)果質(zhì)量的量度。算法 (1)因而計(jì)算跨給定層分配的所有可能查詢跨每一層中的結(jié)束檢索的概率分布的總體層分 配質(zhì)量的期望。然而,可以理解,所有可能查詢的數(shù)量是無(wú)限的。因此,觀察到的查詢的集合Q' 可由質(zhì)量指示器組件108用作所有可能查詢的分布的近似。在一示例中,這些觀察到的查 詢Q'可以從包括多個(gè)觀察到的查詢(例如,用戶歷史數(shù)據(jù)104)的數(shù)據(jù)儲(chǔ)存庫(kù)中隨機(jī)選擇, 其中選擇任何查詢q e Q'的概率可以作為選擇搜索組件(例如,搜索引擎、數(shù)據(jù)庫(kù)管理系 統(tǒng)……)接收到的隨機(jī)查詢的可能性來(lái)計(jì)算。在另一示例中,可以選擇觀察到的查詢的集合 Q'以使得它們表示所有可能的查詢。例如,可以選擇查詢Q'以使得具有特定長(zhǎng)度(以單 詞、字符等來(lái)測(cè)量的)的查詢的數(shù)量不超過(guò)閾值。另外,可以選擇針對(duì)不同主題的查詢。在 又一示例中,可以基于與這些查詢相關(guān)聯(lián)的用戶數(shù)據(jù)的量來(lái)選擇查詢Q'。例如,查詢Q' 可被限于具有與其相關(guān)聯(lián)的相繼用戶數(shù)據(jù)的查詢,如用戶點(diǎn)擊響應(yīng)于這些查詢提供的一個(gè) 或多個(gè)搜索結(jié)果和/或廣告??梢岳斫?,構(gòu)想了用于選擇觀察到的查詢的子集的任何合適 的方式,并且這些方式旨在落入所附權(quán)利要求書(shū)的范圍內(nèi)。對(duì)于Q'中的每一所選查詢q,質(zhì)量指示器組件108可以構(gòu)造包括只有M項(xiàng)的相關(guān) 結(jié)果集R(q) = {(!“,...,(!_},其中這些項(xiàng)可部分地從最相關(guān)到最不相關(guān)來(lái)排序。在一示 例中,結(jié)果集可包括用戶在向搜索組件提交查詢后頻繁選擇/訪問(wèn)的數(shù)字項(xiàng),其中選擇/訪 問(wèn)的頻率可以與用戶查看這些數(shù)字項(xiàng)所花費(fèi)的時(shí)間相組合;和/或可包括搜索組件跨分層 存儲(chǔ)系統(tǒng)的所有層返回的作為查詢的相關(guān)結(jié)果的數(shù)字項(xiàng)。使用查詢Q'和對(duì)應(yīng)的結(jié)果集,以下算法可被用來(lái)定義層分配質(zhì)量的度量,并且可 由質(zhì)量指示器組件108用來(lái)確定層分配的質(zhì)量的指示 其中TQ(T(D),L,Q')是相對(duì)于查詢集合Q'在當(dāng)前系統(tǒng)負(fù)載L下層分配質(zhì)量的 量度;并且效用(t,R(q),T(D))是當(dāng)檢索在第t層結(jié)束時(shí)獲得的搜索結(jié)果質(zhì)量的量度。如上所述,質(zhì)量指示器組件108可以確定層分配的質(zhì)量的指示。更具體地,權(quán)重確 定器組件202可以確定查詢集合Q'中的每一查詢的權(quán)重(W)。負(fù)載確定器組件204可以 確定查詢集合Q'中的每一查詢所造成的系統(tǒng)負(fù)載L。層確定器組件206可以確定P(t|q, T(D),L),并且效用確定器組件208可以確定效用(t,R(q),T(D))。在一示例中,效用確定 器組件208可以使用歸一化貼現(xiàn)累計(jì)收益(NDCG)來(lái)確定效用(t,R(q),T(D))。效用確定 器組件208可以采用其他機(jī)制來(lái)測(cè)量效用;各示例包括平均精確度(MAP)以及Q-測(cè)量。這 些示例不旨在是限制性的,因?yàn)榭梢圆捎貌?gòu)想了用于測(cè)量效用的其他機(jī)制。在一特定示例中,效用確定器組件208可以利用以下算法來(lái)確定當(dāng)檢索在第t層 結(jié)束時(shí)的搜索結(jié)果質(zhì)量的測(cè)量,其中該算法是NDCG的修改 其中N是歸一化因子,Rt (q)是存儲(chǔ)在1到t層的R(q)中的數(shù)字項(xiàng)的排序子集,相 關(guān)性(d)是數(shù)字項(xiàng)d的相關(guān)性分?jǐn)?shù),并且是排名(d)是該數(shù)字項(xiàng)在Rt(q)中的排名位置。注 意,在更多相關(guān)數(shù)字項(xiàng)處于較低(較深)層中的情況下,排名(d)依賴于t ;在檢索不超過(guò)t 層的情況下,這些未被檢索。如上所述,使用NDCG的修改僅是在給定當(dāng)前層分配的情況下 特定查詢的搜索結(jié)果質(zhì)量的一個(gè)可能量度,并且可以利用其他量度,如接收到的相關(guān)結(jié)果 的比例等。如可從上文理解的,用戶歷史數(shù)據(jù)104 (圖1)可被用來(lái)構(gòu)造可被用來(lái)評(píng)估層分配 的查詢集合Q'和對(duì)應(yīng)的結(jié)果集R(q)。假設(shè)當(dāng)前層分配是T(D),則P(t|q,T(D),L)可以針 對(duì)特定系統(tǒng)來(lái)實(shí)例化以反映在分層存儲(chǔ)系統(tǒng)中用來(lái)在觀察到的負(fù)載L下將查詢轉(zhuǎn)發(fā)到第t 層的分層策略。隨后,給定替換層分配(例如,T1 (D)和T2(D)),可以通過(guò)計(jì)算TQ來(lái)選擇優(yōu) 選分配。另外,質(zhì)量指示器組件108可以使用TQ在變化的負(fù)載下(并且因而調(diào)查在不同的 負(fù)載下層分配的質(zhì)量)以及對(duì)于用于將查詢轉(zhuǎn)發(fā)到不同層的分層策略的不同實(shí)例,來(lái)調(diào)查 搜索結(jié)果的預(yù)期質(zhì)量如以下詳細(xì)描述的?,F(xiàn)在參考圖3,示出了便于自動(dòng)地更新相對(duì)于分層存儲(chǔ)系統(tǒng)的層分配的示例系統(tǒng) 300。系統(tǒng)300包括可包含多個(gè)層的分層存儲(chǔ)系統(tǒng)302,其中這些層中的每一層都可被用來(lái) 存儲(chǔ)一個(gè)或多個(gè)數(shù)字項(xiàng),如網(wǎng)頁(yè)、圖像、文檔等。搜索組件304至少部分地基于接收到的查 詢來(lái)執(zhí)行對(duì)存儲(chǔ)在分層存儲(chǔ)系統(tǒng)302中的數(shù)字項(xiàng)的搜索。例如,搜索組件304可以是被配 置成響應(yīng)于接收到查詢而搜索通過(guò)分層搜索索引的搜索引擎。在另一示例中,搜索組件204 可以是用于響應(yīng)于接收到查詢而搜索存儲(chǔ)的各層(例如,存儲(chǔ)器、硬盤驅(qū)動(dòng)器……)的數(shù)據(jù) 管理系統(tǒng)的一部分。在又一示例中,搜索組件304可以是用于搜索計(jì)算機(jī)上的項(xiàng)的桌面搜 索模塊。還構(gòu)想了其他搜索組件。數(shù)據(jù)存儲(chǔ)102保留可從搜索組件304接收到的用戶歷史數(shù)據(jù)104。例如,提供給搜 索組件304的查詢、被提供了搜索結(jié)果后的用戶動(dòng)作、以及響應(yīng)于該查詢而提供給用戶的 搜索結(jié)果集合都可以存儲(chǔ)在用戶歷史數(shù)據(jù)104中。接收器組件106接收用戶歷史數(shù)據(jù)104 的子集。如上所述,質(zhì)量指示器組件108可以生成層分配的質(zhì)量的指示110。在一示例中, 在由質(zhì)量指示器組件108生成指示110后,指示110可被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中。更新組件306可以接收指示110并至少部分地基于指示110輸出經(jīng)改進(jìn)的層分配 308。例如,更新組件306可以接收其他可能的層分配和對(duì)應(yīng)的質(zhì)量指示,并選擇與最高質(zhì) 量指示相對(duì)應(yīng)的層分配。例如,更新組件306可以使用試探法來(lái)確定最優(yōu)或基本上最優(yōu)的 層分配(相對(duì)于對(duì)應(yīng)的層分配質(zhì)量度量)。在另一示例中,如以下更詳細(xì)地描述的,更新組 件306可以利用機(jī)器學(xué)習(xí)技術(shù)來(lái)輸出經(jīng)改進(jìn)的層分配308。隨后可至少部分地基于經(jīng)改進(jìn) 的分層分配308來(lái)將數(shù)字項(xiàng)310分配給分層存儲(chǔ)系統(tǒng)302。有了關(guān)于更新組件306的更多細(xì)節(jié),初始層分配的質(zhì)量的指示110可以提供用于 開(kāi)發(fā)用于標(biāo)識(shí)數(shù)字項(xiàng)的經(jīng)改進(jìn)的層分配的算法/技術(shù)的基礎(chǔ)。給定可能的層分配的空間T ={τω (D),...,T(N) (D)},標(biāo)識(shí)如由等式(2)輸出的具有最優(yōu)或基本上最優(yōu)的層質(zhì)量指示的 層分配Τ* (D)可以如下定義(4)T *{D) = SXg max TQ(T^ (D), L, Q')
T'(D)eT可能的層分配T的集合可被定義為由一些變量(如靜態(tài)排名方案的參數(shù))參數(shù)化
8的替換分配或分配組的集合。隨后更新組件306可以使用機(jī)器學(xué)習(xí)技術(shù)來(lái)搜索替換分配的 集合以將這樣的分配之一標(biāo)識(shí)為最優(yōu)或基本上最優(yōu)。例如,更新組件306可以使用神經(jīng)網(wǎng) 絡(luò)、回歸樹(shù)、貝葉斯網(wǎng)絡(luò)、或任何其他機(jī)器學(xué)習(xí)技術(shù)來(lái)確定最優(yōu)化或基本上最優(yōu)化指示110 的分層分配。此外,更新組件306可以確定被用來(lái)至少部分地基于經(jīng)改進(jìn)的層分配308和/或 用戶歷史數(shù)據(jù)104的子集將數(shù)字項(xiàng)310分配給分層存儲(chǔ)系統(tǒng)302中的特定層的分層策略 312。分層策略可被用來(lái)確定在存儲(chǔ)數(shù)字項(xiàng)時(shí)要使用分層存儲(chǔ)系統(tǒng)302的哪些層。例如,分 層策略312可以考慮可響應(yīng)于一個(gè)或多個(gè)查詢來(lái)返回的可搜索數(shù)字項(xiàng)的各個(gè)特征。這些 特征可包括從鏈結(jié)構(gòu)導(dǎo)出的靜態(tài)排名(例如,數(shù)字項(xiàng)的頁(yè)面排名)、包括該數(shù)字項(xiàng)的域的排 名、數(shù)字項(xiàng)在搜索引擎結(jié)果之間的流行性、數(shù)字項(xiàng)中單詞的數(shù)量、數(shù)字項(xiàng)中圖像的色譜,等 等。這些特征中的每一個(gè)可由更新組件306來(lái)參數(shù)化。換言之,可以向這些特征分配權(quán)重, 分層策略312使用這些權(quán)重來(lái)將對(duì)應(yīng)的數(shù)字項(xiàng)分配給分層存儲(chǔ)系統(tǒng)302中的一層。更新組 件306可以使用機(jī)器學(xué)習(xí)技術(shù)來(lái)學(xué)習(xí)要被分配給這些特征的權(quán)重,并且分層策略可以被用 來(lái)將數(shù)字項(xiàng)分配給分層存儲(chǔ)系統(tǒng)302的各層?,F(xiàn)在參考圖4,示出了便于基于多個(gè)可能的層分配來(lái)更新層分配的示例系統(tǒng)400。 系統(tǒng)400包括可以生成層分配的質(zhì)量的指示的質(zhì)量指示器組件108。更具體地,質(zhì)量指示器 組件108可以至少部分地基于用戶歷史數(shù)據(jù)104生成第一層分配402到第N層分配404的 質(zhì)量的指示。更新組件306可以接收質(zhì)量的指示(其可以是與定義的層分配質(zhì)量度量相對(duì) 應(yīng)的值)并且將若干不同的層分配以如下方式組合所得的經(jīng)改進(jìn)的層分配406與任何單 獨(dú)的層分配相比具有更高的質(zhì)量(由質(zhì)量指示器組件108確定)。更新組件306可以至少 部分地基于與層分配402-404和/或用戶歷史數(shù)據(jù)104的子集相對(duì)應(yīng)的質(zhì)量的指示來(lái)組合 不同的層分配。更具體地,組合層分配可以是算法(4)的特定實(shí)例,其中可能的分配的集合T可以 是各單獨(dú)的層分配的可能組合的集合。可能組合的集合可以由一些變量(如靜態(tài)排名方案 的參數(shù))來(lái)參數(shù)化。更新組件306可以使用機(jī)器學(xué)習(xí)技術(shù)來(lái)確定相對(duì)于定義的層分配質(zhì)量 度量最優(yōu)或基本上最優(yōu)的各單獨(dú)的層分配的組合。另外,如上所述,更新組件306可以至少 部分地基于經(jīng)改進(jìn)的層分配406生成或更新被用來(lái)將數(shù)字項(xiàng)分配給分層存儲(chǔ)系統(tǒng)的各層 的分層策略312?,F(xiàn)在參考圖5-8,示出并描述了各示例方法。盡管各方法被描述為順序地執(zhí)行的一 系列動(dòng)作,但可以理解,這些方法不受該順序的次序的限制。例如,一些動(dòng)作能以與本文描 述的不同的次序發(fā)生。另外,動(dòng)作可以與另一動(dòng)作同時(shí)發(fā)生。此外,在一些情況下,實(shí)現(xiàn)本 文描述的方法并不需要所有動(dòng)作。此外,本文描述的動(dòng)作可以是可由一個(gè)或多個(gè)處理器實(shí)現(xiàn)的和/或存儲(chǔ)在一個(gè)或 多個(gè)計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令。計(jì)算機(jī)可執(zhí)行指令可包括例程、子例程、程 序、執(zhí)行的線程等。另外,搜索引擎和/或數(shù)據(jù)庫(kù)管理系統(tǒng)中的層分配可以至少部分地基于 本文描述的方法來(lái)確定。另外,這些方法的動(dòng)作的結(jié)果可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,顯示 在顯示設(shè)備上,等等。具體參考圖5,示出了用于確定層分配的質(zhì)量的指示的示例方法500。方法500在 502開(kāi)始,并在504接收用戶歷史數(shù)據(jù)。例如,用戶歷史數(shù)據(jù)可包括由用戶發(fā)起的查詢、響應(yīng)于查詢而提供給用戶的搜索結(jié)果、用戶對(duì)搜索結(jié)果的選擇、以及在發(fā)起查詢后用戶所查看 的一系列頁(yè)面。用戶歷史數(shù)據(jù)還可包括標(biāo)記數(shù)據(jù),其中搜索結(jié)果對(duì)查詢的相關(guān)性由用戶明 確定義。在506,至少部分地基于用戶歷史數(shù)據(jù)的子集來(lái)生成層分配的質(zhì)量的指示。方法 500在508完成?,F(xiàn)在轉(zhuǎn)向圖6,示出了便于確定相對(duì)于分層存儲(chǔ)系統(tǒng)的層分配的質(zhì)量的指示的方 法600。方法600在602開(kāi)始,并且在604確定分配給查詢的權(quán)重。例如,該權(quán)重可取決于 發(fā)起該查詢的頻率。在另一示例中,一個(gè)或多個(gè)用戶可以明確地向查詢分配權(quán)重以指示該 查詢的相對(duì)重要性。在606,確定該查詢的系統(tǒng)負(fù)載背景。如上所述,系統(tǒng)負(fù)載可以與由諸如搜索引擎 或數(shù)據(jù)庫(kù)管理系統(tǒng)的搜索組件在處理該查詢時(shí)正在處理的查詢的數(shù)量相關(guān)。在608,確定特定層是當(dāng)搜索引擎在該系統(tǒng)負(fù)載下時(shí)所訪問(wèn)的最低層的概率。例 如,可為用來(lái)存儲(chǔ)可搜索數(shù)字項(xiàng)的每一層確定這一概率。在610,確定層分配的質(zhì)量的指示,其中使用層分配來(lái)在分層存儲(chǔ)系統(tǒng)中存儲(chǔ)與查 詢相對(duì)應(yīng)的數(shù)字項(xiàng)。質(zhì)量的指示是至少部分地基于權(quán)重、系統(tǒng)負(fù)載、以及所確定的概率來(lái)確 定的。在一示例中,可以將所確定的質(zhì)量的指示至少臨時(shí)地存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中。方 法600在612結(jié)束?,F(xiàn)在參考圖7,示出了用于確定最優(yōu)或基本上最優(yōu)的層分配(例如,針對(duì)定義的層 分配質(zhì)量度量來(lái)最優(yōu)化或基本上最優(yōu)化)的方法700。方法700在702開(kāi)始,并且在704接 收多個(gè)不同的層分配。在706,接收用戶歷史數(shù)據(jù)。如上所述,用戶歷史數(shù)據(jù)可包括查詢、響 應(yīng)于查詢而提供的搜索結(jié)果、和/或用戶對(duì)響應(yīng)于查詢而提供的搜索結(jié)果的選擇。在708,為多個(gè)不同的層分配的子集來(lái)確定質(zhì)量的指示。在710,組合層分配以使 得所得組合與任何單獨(dú)的層分配相比具有更高的質(zhì)量指示。方法700在712結(jié)束?,F(xiàn)在參考圖8,示出了便于更新分層策略的方法800。在一示例中,使用分層策略 來(lái)將數(shù)字項(xiàng)分配給搜索引擎索引的各層的搜索引擎可以使用方法800的動(dòng)作來(lái)更新分層 策略。方法800在802開(kāi)始,并在804接收用戶歷史數(shù)據(jù)。在806,確定層分配的質(zhì)量的指 示。在808,至少部分地基于用戶歷史數(shù)據(jù)和/或在806確定的質(zhì)量的指示來(lái)確定經(jīng)改進(jìn)的 層分配。在810,至少部分地基于用戶歷史數(shù)據(jù)和經(jīng)改進(jìn)的層分配來(lái)更新分層策略。例如, 經(jīng)改進(jìn)的層分配可以考慮與用戶歷史數(shù)據(jù)相關(guān)的數(shù)字項(xiàng),并且分層策略可以用來(lái)將在經(jīng)改 進(jìn)的層分配中未考慮的數(shù)字項(xiàng)分配給特定層。方法800在812結(jié)束。現(xiàn)在參考圖9,示出了可以根據(jù)本文公開(kāi)的系統(tǒng)和方法使用的示例計(jì)算設(shè)備900 的高級(jí)圖示。例如,計(jì)算設(shè)備900可以用于搜索引擎系統(tǒng)中。在另一示例中,計(jì)算設(shè)備900 可以用于數(shù)據(jù)庫(kù)管理系統(tǒng)中。計(jì)算設(shè)備900可以是服務(wù)器,或可以在諸如個(gè)人計(jì)算機(jī)、個(gè)人 數(shù)字助理等常規(guī)上被認(rèn)為客戶機(jī)設(shè)備的設(shè)備中使用。計(jì)算設(shè)備900包括執(zhí)行存儲(chǔ)在存儲(chǔ)器 904中的指令的至少一個(gè)處理器902。這些指令可以是例如用于實(shí)現(xiàn)被描述為由上述一個(gè) 或多個(gè)組件執(zhí)行的功能的指令或用于實(shí)現(xiàn)上述方法中的一個(gè)或多個(gè)的指令。處理器902可 以通過(guò)系統(tǒng)總線906訪問(wèn)存儲(chǔ)器。除存儲(chǔ)可執(zhí)行指令之外,存儲(chǔ)器904還可以存儲(chǔ)數(shù)字項(xiàng)、 層分配的至少一部分、一個(gè)或多個(gè)層分配的質(zhì)量的指示等。計(jì)算設(shè)備900另外包括可由處理器902通過(guò)系統(tǒng)總線906訪問(wèn)的數(shù)據(jù)存儲(chǔ)908。數(shù)據(jù)存儲(chǔ)908可包括可執(zhí)行指令、一個(gè)或多個(gè)層分配、層分配的質(zhì)量的指示、用戶歷史數(shù)據(jù)、 標(biāo)記數(shù)據(jù)等。計(jì)算設(shè)備900還包括允許外部設(shè)備與計(jì)算設(shè)備900進(jìn)行通信的輸入接口 910。 例如,輸入接口 910可被用來(lái)通過(guò)網(wǎng)絡(luò)接收來(lái)自用戶的查詢。計(jì)算設(shè)備900還包括將計(jì)算 設(shè)備900與一個(gè)或多個(gè)外部設(shè)備進(jìn)行接口的輸出接口 912。例如,計(jì)算設(shè)備900可以通過(guò)輸 出接口 912顯示搜索結(jié)果。另外,盡管被示為單個(gè)系統(tǒng),但可以理解,計(jì)算設(shè)備900可以是分布式系統(tǒng)環(huán)境。 因此,例如,若干設(shè)備可以通過(guò)網(wǎng)絡(luò)連接進(jìn)行通信并且可共同執(zhí)行被描述為由計(jì)算設(shè)備900 執(zhí)行的任務(wù)。如此處所使用的,術(shù)語(yǔ)“組件”和“系統(tǒng)”旨在涵蓋硬件、軟件、或硬件和軟件的組 合。因此,例如,系統(tǒng)或組件可以是進(jìn)程、在處理器上執(zhí)行的進(jìn)程、或處理器。另外,組件或 系統(tǒng)可以位于單個(gè)設(shè)備上或分布在若干設(shè)備之間。注意,出于解釋目的提供了若干示例。這些示例不應(yīng)被解釋為限制所附權(quán)利要求 書(shū)。另外,可以認(rèn)識(shí)到,本文提供的示例可被改變而仍然落入權(quán)利要求的范圍內(nèi)。
1權(quán)利要求
一種方法,包括接收用戶歷史數(shù)據(jù);以及生成用來(lái)將可搜索數(shù)字項(xiàng)存儲(chǔ)在分層存儲(chǔ)系統(tǒng)中的層分配的質(zhì)量的指示,其中所述指示至少部分地基于所述用戶歷史數(shù)據(jù)的子集。
2.如權(quán)利要求1所述的方法,其特征在于,所述用戶歷史數(shù)據(jù)包括 提供給搜索引擎的查詢;所述搜索引擎相對(duì)于所述查詢返回的結(jié)果; 所述搜索結(jié)果中的被一個(gè)或多個(gè)用戶選擇的數(shù)字項(xiàng);以及 在用戶提交所述查詢后被所述用戶訪問(wèn)的一系列數(shù)字項(xiàng)。
3.如權(quán)利要求1所述的方法,其特征在于,所述用戶歷史數(shù)據(jù)包括 輸入到數(shù)據(jù)庫(kù)管理系統(tǒng)的查詢;響應(yīng)于所述查詢返回的結(jié)果;以及 在用戶提交所述查詢后被該用戶訪問(wèn)的一系列項(xiàng)。
4.如權(quán)利要求1所述的方法,其特征在于,所述分層存儲(chǔ)系統(tǒng)是搜索引擎索引。
5.如權(quán)利要求1所述的方法,其特征在于,還包括至少部分地基于所述用戶歷史數(shù)據(jù) 來(lái)生成經(jīng)改進(jìn)的層分配。
6.如權(quán)利要求5所述的方法,其特征在于,生成所述經(jīng)改進(jìn)的層分配包括相對(duì)于層分 配質(zhì)量度量來(lái)最優(yōu)化或基本上最優(yōu)化所述經(jīng)改進(jìn)的層分配。
7.如權(quán)利要求5所述的方法,其特征在于,還包括至少部分地基于所述經(jīng)改進(jìn)的層分 配來(lái)更新用來(lái)將數(shù)字項(xiàng)分配給所述分層存儲(chǔ)系統(tǒng)的各層的分層策略。
8.如權(quán)利要求7所述的方法,其特征在于,還包括使用機(jī)器學(xué)習(xí)技術(shù)來(lái)參數(shù)化所述分 層策略。
9.如權(quán)利要求1所述的方法,其特征在于,生成所述指示包括 確定被分配給查詢的權(quán)重,其中所述權(quán)重指示發(fā)起所述查詢的頻率; 為所述查詢確定系統(tǒng)負(fù)載背景;以及確定特定層是當(dāng)用來(lái)執(zhí)行所述查詢的搜索引擎處于所述系統(tǒng)負(fù)載下時(shí)使用所述查詢 進(jìn)行搜索時(shí)所訪問(wèn)的最低層的概率。
10.如權(quán)利要求1所述的方法,其特征在于,生成所述指示包括使用以下算法 TQ(T(DXLiQ1)=JjWiq) Σ 印 Ι%Π^,幻x效用(口⑷,其中 TQ(T⑶,L,qeQ' =1->Α乂、Q')是所述層分配的質(zhì)量的量度,T表示k個(gè)可用層的集合,D是存儲(chǔ)在所述k個(gè)層中的數(shù) 字項(xiàng)的集合,L是在處理查詢集合Q'中的查詢q期間觀察到的系統(tǒng)負(fù)載,w是分配給所述 查詢q的權(quán)重,P (t I q, T (D),L)是在所述系統(tǒng)負(fù)載L下所述k個(gè)層的第t層是檢索期間訪 問(wèn)的最低層的概率,效用(t,R(q),T(D))所述查詢q的質(zhì)量量度,并且R(q)是與所述查詢 q相對(duì)應(yīng)的數(shù)字項(xiàng)的結(jié)果集。
11.一種系統(tǒng),包括接收器組件(106),所述接收器組件接收用戶歷史數(shù)據(jù)(104);以及 質(zhì)量指示器組件(108),所述質(zhì)量指示器組件確定用來(lái)存儲(chǔ)可通過(guò)查詢檢索的數(shù)字項(xiàng) 的層分配的質(zhì)量的指示,其中所述質(zhì)量指示器組件(108)至少部分地基于用戶歷史數(shù)據(jù)(104)的子集生成所述指示并且所述層分配指示數(shù)字項(xiàng)要被存儲(chǔ)在分層存儲(chǔ)系統(tǒng)中的哪里。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述指示是搜索引擎索引的層分配的質(zhì) 量的指示。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于,還包括更新組件,所述更新組件至少部分 地基于所述用戶歷史數(shù)據(jù)來(lái)生成經(jīng)改進(jìn)的層分配。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述更新組件組合多個(gè)層分配以生成所 述經(jīng)改進(jìn)的層分配。
15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述更新組件至少部分地基于所述經(jīng)改 進(jìn)的層分配來(lái)更新用來(lái)將數(shù)字項(xiàng)分配給所述分層存儲(chǔ)系統(tǒng)的各層的分層策略。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述更新組件使用機(jī)器學(xué)習(xí)技術(shù)來(lái)更新 所述分層策略。
17.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述更新組件相對(duì)于層質(zhì)量度量來(lái)最優(yōu) 化或基本上最優(yōu)化層分配以生成所述經(jīng)改進(jìn)的層分配。
18.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述質(zhì)量指示器組件包括權(quán)重確定器組件,所述權(quán)重確定器組件確定分配給一個(gè)或多個(gè)查詢的權(quán)重,其中所述 權(quán)重指示發(fā)起所述一個(gè)或多個(gè)查詢的頻率;負(fù)載確定器組件,所述負(fù)載確定器組件確定搜索引擎上的系統(tǒng)負(fù)載;以及層確定器組件,所述層確定器組件確定特定層是當(dāng)所述搜索引擎處于所述系統(tǒng)負(fù)載下 時(shí)使用所述一個(gè)或多個(gè)查詢時(shí)在所述分層存儲(chǔ)系統(tǒng)中所訪問(wèn)的最低層的概率。
19.如權(quán)利要求11所述的系統(tǒng),其特征在于,還包括效用確定器組件,所述效用確定器 組件確定當(dāng)搜索檢索在特定層結(jié)束時(shí)搜索質(zhì)量的測(cè)量。
20.一種使用當(dāng)前分層策略來(lái)將數(shù)字項(xiàng)分配給搜索引擎索引的各層的搜索引擎,所述 當(dāng)前分層策略通過(guò)多個(gè)動(dòng)作創(chuàng)建,所述動(dòng)作包括接收用戶歷史數(shù)據(jù);輸出層分配的質(zhì)量的指示;至少部分地基于接收到的用戶歷史數(shù)據(jù)和所述層分配的質(zhì)量的指示來(lái)確定經(jīng)改進(jìn)的 層分配;以及更新用來(lái)將數(shù)字項(xiàng)分配給所述搜索引擎索引的各層的分層策略以創(chuàng)建所述當(dāng)前分層 策略,其中所述更新至少部分地基于所述經(jīng)改進(jìn)的層分配。
全文摘要
本文描述了一種方法,包括接收用戶歷史數(shù)據(jù)和生成用于將可搜索數(shù)字項(xiàng)存儲(chǔ)在分層存儲(chǔ)系統(tǒng)中的層分配的質(zhì)量的指示,其中該指示至少部分地基于用戶歷史數(shù)據(jù)的子集。本文還描述了一種系統(tǒng),包括接收用戶歷史數(shù)據(jù)的接收器組件。該系統(tǒng)還包括確定用來(lái)存儲(chǔ)可通過(guò)查詢檢索的數(shù)字項(xiàng)的層分配的質(zhì)量的指示的質(zhì)量指示器組件,其中該質(zhì)量指示器組件至少部分地基于用戶歷史數(shù)據(jù)的子集生成該指示并且該層分配指示數(shù)字項(xiàng)要被存儲(chǔ)在分層存儲(chǔ)系統(tǒng)中的哪里。
文檔編號(hào)G06F17/00GK101911061SQ200880123231
公開(kāi)日2010年12月8日 申請(qǐng)日期2008年11月10日 優(yōu)先權(quán)日2007年12月27日
發(fā)明者M·A·芒森, M·比連科 申請(qǐng)人:微軟公司