2012-1-3 藍藍設計的小編
轉載藍藍設計( m.ssll180.com )是一家專注而深入的設計機構 ,為期望卓越的國內外企業提供有效的 BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里 。
我們向搜索引擎提交一個查詢,搜索引擎會從先到后列出大量的結果,這些結果排序的標準是什么呢?這個看似簡單的問題,卻是信息檢索專家們研究的核心難題之一。
為了說明這個問題,我們來研究一個比搜索引擎更加古老的話題:求醫。比如,如果我牙疼,應該去看怎樣的醫生呢?假設我只有三種選擇:
A醫生,既治眼病,又治胃病;
B醫生,既治牙病,又治胃病,還治眼病;
C醫生,專治牙病。
A醫生肯定不在考慮之列。B醫生和C醫生之間,貌視更應該選擇C醫生,因為他更專注,更適合我的病情。假如再加一個條件:B醫生經驗豐富,有二十年從醫 經歷,醫術高明,而C醫生只有五年從醫經驗,這個問題就不那么容易判斷了,是優先選擇更加專注的C醫生,還是優先選擇醫術更加高明的B醫生,的確成了一個 需要仔細權衡的問題。
至少,我們得到了一個結論,擇醫需要考慮兩個條件:醫生的專長與病情的適配程度;醫生的醫術。大家肯定覺得這個 結論理所當然,而且可以很自然地聯想到,搜索引擎排序不也是這樣嗎,既要考慮網頁內容與用戶查詢的匹配程度,又要考慮網頁本身的質量。但是,怎么把這兩種 因素結合起來,得到一個,而不是兩個或多個排序標準呢?假如我們把這兩種因素表示成數值,最終的排序依據是把這兩個數值加起來,還是乘起來,或是按決策樹 的辦法把它們組織起來?如果是加起來,是簡單相加,還是帶權重加呢?
我們可以根據直覺和經驗,通過試錯的辦法,把這兩個因素結合起 來。但更好的辦法是我們能找到一個明確的依據,最好能跟數學這樣堅實的學科聯系起來。說起來,依據樸素的經驗,人類在古代就能建造出高樓;但要建造出高達 數百米的 摩天大廈,如果沒有建筑力學、材料力學這樣堅實的學科作為后盾,則是非常非常困難的。同理,依據樸素的經驗構建的搜索引擎算法,用來處理上萬的網頁集合應 該是沒問題的;但要檢索上億的網頁,則需要更為牢固的理論基礎。
求醫,病人會優先選擇診斷準確、治療效果好的醫生;對于搜索引擎來說,一般按網頁滿足用戶需求的概率從大到小排序。如果用q表示用戶給出了一個特定的查詢,用d表示一個特定的網頁滿足了用戶的需求,那么排序的依據可以用一個條件概率來表示:
P(d|q)
這個簡單的條件概率,將搜索引擎排序算法與概率論這門堅實的學科聯系了起來,這就像在大海中航行的船只裝備了指南針一樣。利用貝葉斯公式,這個條件概率可以表示為:
可以清楚地看到,搜索引擎的排序標準,是由三個部分組成的:查詢本身的屬性P(q);網頁本身的屬性P(d);兩者的匹配關系P(q|d)。對于同一次查詢來說,所有網頁對應的P(q)都是一樣的,因此排序時可以不考慮,即
公 式左邊,是已知用戶的查詢,求網頁滿足該用戶需求的概率。搜索引擎為了提高響應用戶查詢的性能,需要事先對所有待查詢的網頁做預處理。預處理時,只知道網 頁,不知道用戶查詢,因此需要倒過來計算,即分析每個網頁能滿足哪些需求,該網頁分了多大比例來滿足該需求,即得到公式右邊的第一項P(q|d),這相當 于上文介紹的醫生的專門程度。比如,一個網頁專門介紹牙病,另一個網頁既介紹牙病又介紹胃病,那么對于“牙疼”這個查詢來說,前一個網頁的P(q|d)值 就會更高一些。
公式右邊的第二項P(d),是一個網頁滿足用戶需求的概率,它反映了網頁本身的好壞,與查詢無關。假如要向一個陌生人 推薦網頁(我們并不知道他需要什么),那么P(d)就相當于某個特定的網頁被推薦的概率。在傳統的信息檢索模型中,這一個量不太被重視,如傳統的向量空間 模型、BM25模型,都試圖只根據查詢與文檔的匹配關系來得到排序的權重。而實際上,這個與查詢無關的量是非常重要的。假如我們用網頁被訪問的頻次來估計 它滿足用戶需求的概率,可以看出對于兩個不同的網頁,這個量有著極其巨大的差異:有的網頁每天只被訪問一兩次,而有的網頁每天被訪問成千上萬次。能夠提供 如此巨大差異的量,竟長期被傳統的搜索引擎忽略,直到Google發明了pagerank并讓它參與到排序中。Pagerank是對P(d)值的一個不錯 的估計,這個因素的加入使搜索引擎的效果立即上升到了一個新的臺階。
這個公式同樣回答了上文提出的問題,網頁與查詢的匹配程度,和網 頁本身的好壞,這兩個因素應該怎樣結合起來參與排序。這個公式以不可辯駁的理由告訴我們,如果網頁與查詢的匹配程度用P(q|d)來表示,網頁本身的好壞 用P(d)來表示,那么應該按它們的乘積來進行排序。在現代商業搜索引擎中,需要考慮更多更細節的排序因素,這些因素可能有成百上千個,要把它們融合起來 是更加復雜和困難的問題。