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