PageRank 笔记
PageRank
要說到 PageRank 算法的來源,這個(gè)要從搜索引擎的發(fā)展講起。最早的搜索引擎采用的是分類目錄的方法,即通過人工進(jìn)行網(wǎng)頁分類并整理出高質(zhì)量的網(wǎng)站。那時(shí) Yahoo 和國內(nèi)的 hao123 就是使用這種方法。
后來網(wǎng)頁越來越多,人工分類已經(jīng)不現(xiàn)實(shí)了。搜索引擎進(jìn)入了文本檢索的時(shí)代,即計(jì)算用戶查詢關(guān)鍵詞與網(wǎng)頁內(nèi)容的相關(guān)程度來返回搜索結(jié)果。這種方法突破了數(shù)量的限制,但是搜索結(jié)果不是很好。因?yàn)榭傆心承┚W(wǎng)頁來回地倒騰某些關(guān)鍵詞使自己的搜索排名靠前。
于是我們的主角登場了。谷歌的兩位創(chuàng)始人,當(dāng)時(shí)還是美國斯坦福大學(xué)研究生的佩奇和布林開始了對網(wǎng)頁排序問題的研究。他們借鑒了學(xué)術(shù)界評判學(xué)術(shù)論文重要性的通用方法,那就是看論文的引用次數(shù)。由此想到網(wǎng)頁的重要性也可以根據(jù)這種方法來評價(jià)。于是 PageRank 的核心思想就誕生了。
- 如果一個(gè)網(wǎng)頁被很多其他網(wǎng)頁鏈接到的話,說明這個(gè)網(wǎng)頁比較重要,也就是 PageRank 值會(huì)相對較高。
- 如果一個(gè) PageRank 值很高的網(wǎng)頁鏈接到一個(gè)其他的網(wǎng)頁,那么鏈接到的網(wǎng)頁的 PageRank 值也會(huì)相應(yīng)地提高。
PageRank 算法計(jì)算每一個(gè)網(wǎng)頁的 PageRank 值,然后根據(jù)這個(gè)值的大小對網(wǎng)頁的重要性進(jìn)行排序。它的思想是模擬一個(gè)悠閑的上網(wǎng)者,上網(wǎng)者首先隨機(jī)選擇一個(gè)網(wǎng)頁打開,然后在這個(gè)網(wǎng)頁上呆了幾分鐘,跳轉(zhuǎn)到該網(wǎng)頁所指向的鏈接,這樣無所事事、漫無目的地在網(wǎng)頁上跳來跳去,PageRank 就是估計(jì)這個(gè)悠閑的上網(wǎng)者分布在各個(gè)網(wǎng)頁上的概率。
PageRank 背后的兩個(gè)基本假設(shè):
- 數(shù)量假設(shè):更重要的網(wǎng)頁可能被更多的網(wǎng)頁鏈接到。
- 質(zhì)量假設(shè):有更高的 PageRank 的網(wǎng)頁將會(huì)傳遞更高的權(quán)重。
PageRank 模型
我們可以將 Web 作如下抽象:
- 將每個(gè)網(wǎng)頁抽象成一個(gè)節(jié)點(diǎn);
- 如果一個(gè)頁面 A 有鏈接直接鏈向 B,則存在一條有向邊從 A 到 B。
因此,整個(gè) Web 被抽象為一張有向圖。
此時(shí),我們需要用一種合適的數(shù)據(jù)結(jié)構(gòu)來表示頁面以及頁面間的連接關(guān)系。假設(shè)當(dāng)一個(gè)用戶停留在某頁面時(shí),跳轉(zhuǎn)到它所鏈接的所有頁面的概率是相同的。例如,上圖中 A 頁面鏈向 B、C、D,所以用戶從 A 頁面跳轉(zhuǎn)到 B、C、D 的概率各為 1/3。設(shè)一共有 N 個(gè)網(wǎng)頁,則可以組織這樣一個(gè) N 維矩陣:其中 i 行 j 列的值表示用戶從頁面 j 跳轉(zhuǎn)到頁面 i 的概率。這樣的一個(gè)矩陣叫做轉(zhuǎn)移矩陣(Transition Matrix)。
M=[A→AB→AC→AD→AA→BB→BC→BD→BA→CB→CC→CD→CA→DB→DC→DD→D]M=[01201213001213120013010]M = \begin{bmatrix} A \rightarrow A && B \rightarrow A && C \rightarrow A && D \rightarrow A \\ A \rightarrow B && B \rightarrow B && C \rightarrow B && D \rightarrow B \\ A \rightarrow C && B \rightarrow C && C \rightarrow C && D \rightarrow C \\ A \rightarrow D && B \rightarrow D && C \rightarrow D && D \rightarrow D \\ \end{bmatrix} \quad M = \begin{bmatrix} 0 && \frac{1}{2} && 0 && \frac{1}{2} \\ \frac{1}{3} && 0 && 0 && \frac{1}{2} \\ \frac{1}{3} && \frac{1}{2} && 0 && 0 \\ \frac{1}{3} && 0 && 1 && 0 \\ \end{bmatrix} M=?????A→AA→BA→CA→D??B→AB→BB→CB→D??C→AC→BC→CC→D??D→AD→BD→CD→D??????M=?????031?31?31???21?021?0??0001??21?21?00??????
觀察轉(zhuǎn)移矩陣可以發(fā)現(xiàn):
- 矩陣的每一列代表一個(gè)具體網(wǎng)頁的出鏈,簡單地說就是當(dāng)前網(wǎng)頁向其他網(wǎng)頁的鏈接;
- 矩陣的每一行代表一個(gè)具體網(wǎng)頁的入鏈,簡單地說就是其他網(wǎng)頁向當(dāng)前網(wǎng)頁的鏈接。
PageRank 初始化
PageRank 值的物理意義是一個(gè)網(wǎng)頁被訪問的概率,初始時(shí)用戶訪問每個(gè)頁面的概率均等,假設(shè)一共有 N 個(gè)網(wǎng)頁,每個(gè)網(wǎng)頁的初始 PR 值 = 1 / N。我們可以將這些網(wǎng)頁的初始 PR 值保存到一個(gè)向量中。
繼續(xù)沿用先前的圖,初始 PR 值向量 P0=(PRA,PRB,PRC,PRD)T=(14,14,14,14)TP_0 = (PR_A, PR_B, PR_C, PR_D)^T = (\frac{1}{4}, \frac{1}{4}, \frac{1}{4}, \frac{1}{4})^TP0?=(PRA?,PRB?,PRC?,PRD?)T=(41?,41?,41?,41?)T
PageRank 計(jì)算
繼續(xù)使用先前的例子,由 A、B、C、D 四個(gè)頁面組成的 Web。
對于頁面 A 來說,有 B、D 頁面鏈向它,那么 A 的 PR 值(PageRank 值)將是 B、D 頁面 PR 值之和。
PR(A)=PR(B)+PR(D)PR(A) = PR(B) + PR(D) PR(A)=PR(B)+PR(D)
由于頁面 B 也有鏈接到頁面 C,一個(gè)頁面不能投票 2 次,所以 B 給每個(gè)頁面半票。同樣的,D 投出的票也只有 1/2 算到了 A 的 PageRank 上。
PR(A)=PR(B)2+PR(D)2PR(A) = \frac{PR(B)}{2} + \frac{PR(D)}{2} PR(A)=2PR(B)?+2PR(D)?
換句話說,根據(jù)鏈出總數(shù)平分一個(gè)頁面的 PR 值,令 L(X) 表示 X 頁面的鏈出總數(shù),那么 A 的 PageRank 值計(jì)算公式可寫成如下統(tǒng)一形式。
PR(A)=PR(B)L(B)+PR(D)L(D)PR(A) = \frac{PR(B)}{L(B)} + \frac{PR(D)}{L(D)} PR(A)=L(B)PR(B)?+L(D)PR(D)?
我們再把上面的公式簡化一下,將其推廣到更大的范圍。
PRi=∑j∈BiPRjLjPR_i = \sum_{j \in B_i}\frac{PR_j}{L_j} PRi?=j∈Bi?∑?Lj?PRj??
其中 PRiPR_iPRi? 表示網(wǎng)頁 i 的 pagerank 值,PRjPR_jPRj? 表示網(wǎng)頁 j 的 pagerank 值,LjL_jLj? 表示網(wǎng)頁 j 鏈出的鏈接數(shù),BiB_iBi? 表示鏈接到網(wǎng)頁 i 的網(wǎng)頁集合。
這樣,我們就可以計(jì)算任意一個(gè)網(wǎng)頁的 pagerank 值。那么要怎么計(jì)算呢?觀察 PR(A) 的計(jì)算公式我們可以發(fā)現(xiàn),PR(A) 實(shí)際上等于轉(zhuǎn)移矩陣 M 的第一行乘上初始 PR 值。我們回想一下轉(zhuǎn)移矩陣的性質(zhì),每一行表示其他網(wǎng)頁鏈接到當(dāng)前網(wǎng)頁的概率,這一行的概率指相加實(shí)際上就是我們上述推導(dǎo)的公式。所以,如果要同時(shí)計(jì)算 Web 上的所有頁面,我們可以直接計(jì)算轉(zhuǎn)移矩陣 M 每一行的概率值累加和。
[1565643]\begin{bmatrix} 1 && \frac{5}{6} && \frac{5}{6} && \frac{4}{3} \end{bmatrix} [1??65???65???34??]
由于我們計(jì)算的是概率值,且初始每個(gè)頁面的概率都相等,因此我們可求出在經(jīng)過上述出鏈和入鏈后,各個(gè)頁面的停留概率。
P1=M?P0=[01201213001213120013010]?[14141414]=[1452452413]P_1 = M \cdot P_0 = \begin{bmatrix} 0 && \frac{1}{2} && 0 && \frac{1}{2} \\ \frac{1}{3} && 0 && 0 && \frac{1}{2} \\ \frac{1}{3} && \frac{1}{2} && 0 && 0 \\ \frac{1}{3} && 0 && 1 && 0 \\ \end{bmatrix} \cdot \begin{bmatrix} \frac{1}{4} \\ \frac{1}{4} \\ \frac{1}{4} \\ \frac{1}{4} \\ \end{bmatrix} = \begin{bmatrix} \frac{1}{4} \\ \frac{5}{24} \\ \frac{5}{24} \\ \frac{1}{3} \\ \end{bmatrix} P1?=M?P0?=?????031?31?31???21?021?0??0001??21?21?00????????????41?41?41?41???????=?????41?245?245?31???????
終止點(diǎn)問題
先前所舉的例子是一個(gè)理想狀態(tài):假設(shè)所有網(wǎng)頁組成的有向圖是強(qiáng)連通的,即從一個(gè)網(wǎng)頁可以到達(dá)任意網(wǎng)頁。但實(shí)際的網(wǎng)絡(luò)鏈接環(huán)境沒有這么理想,有一些網(wǎng)頁不指向任何網(wǎng)頁,或不存在指向自己的鏈接。
【終止點(diǎn)】:一個(gè)沒有任何出鏈的網(wǎng)頁,例如上圖的 C 點(diǎn)。上網(wǎng)者瀏覽到 C 網(wǎng)頁將終止于該網(wǎng)頁,而無法繼續(xù)瀏覽其他網(wǎng)頁。
根據(jù)上圖我們可以寫出轉(zhuǎn)移矩陣 M:
M=[01200130012130012131200]M = \begin{bmatrix} 0 & \frac{1}{2} & 0 & 0 \\ \frac{1}{3} & 0 & 0 & \frac{1}{2} \\ \frac{1}{3} & 0 & 0 & \frac{1}{2} \\ \frac{1}{3} & \frac{1}{2} & 0 & 0 \\ \end{bmatrix} M=?????031?31?31??21?0021??0000?021?21?0??????
然后根據(jù)公式 Pn=M?Pn?1=Mn?P0P_n = M \cdot P_{n-1} = M^n \cdot P_0Pn?=M?Pn?1?=Mn?P0? 迭代計(jì)算出 PR 值向量。
P0=[1/41/41/41/4]P1=M?P0=[3/245/245/245/24]P2=M?P1=[5/487/487/487/48]?Pn=M?Pn?1=[0000]P_0 = \begin{bmatrix} 1/4 \\ 1/4 \\ 1/4 \\ 1/4 \\ \end{bmatrix} \quad P_1 = M \cdot P_0 = \begin{bmatrix} 3/24 \\ 5/24 \\ 5/24 \\ 5/24 \\ \end{bmatrix} P_2 = M \cdot P_1 = \begin{bmatrix} 5/48 \\ 7/48 \\ 7/48 \\ 7/48 \\ \end{bmatrix} \quad \cdots \quad P_n = M \cdot P_{n-1} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 0 \\ \end{bmatrix} P0?=?????1/41/41/41/4??????P1?=M?P0?=?????3/245/245/245/24??????P2?=M?P1?=?????5/487/487/487/48???????Pn?=M?Pn?1?=?????0000??????
可以看到,經(jīng)過多次跳轉(zhuǎn)之后,所有網(wǎng)頁的 PR 值都是 0,這樣的計(jì)算結(jié)果是無意義的。為什么會(huì)這樣?因?yàn)檗D(zhuǎn)移矩陣 M 的第 3 列全為 0,這是導(dǎo)致迭代結(jié)果最終歸零的“罪魁禍?zhǔn)住薄?/p>
【解決方案】:當(dāng)訪問到終止點(diǎn) C 而“走投無路”時(shí),以等概率隨機(jī)跳轉(zhuǎn)到下一個(gè)網(wǎng)頁,從而開啟一次新的訪問。
- 改造終止點(diǎn) C,使它能夠等概率地游走到網(wǎng)絡(luò)中的所有頁面,即添加從 C 到包括它本身的所有頁面的鏈接。
- 在上例中就是將轉(zhuǎn)移矩陣 M 的第三列的每一項(xiàng)改為 1/4。這樣改造后,每一個(gè)節(jié)點(diǎn)都有出鏈,相應(yīng)的 M 的每一列的列累加和都為 1。
陷阱問題
陷阱指的是只有指向自身鏈接的網(wǎng)頁,見下圖 C。
上網(wǎng)者瀏覽到 C 網(wǎng)頁將陷入無休止的循環(huán)之中,根據(jù)上圖我們可以寫出轉(zhuǎn)移矩陣 M:
M=[01200130012130112131200]M = \begin{bmatrix} 0 & \frac{1}{2} & 0 & 0 \\ \frac{1}{3} & 0 & 0 & \frac{1}{2} \\ \frac{1}{3} & 0 & 1 & \frac{1}{2} \\ \frac{1}{3} & \frac{1}{2} & 0 & 0 \\ \end{bmatrix} M=?????031?31?31??21?0021??0010?021?21?0??????
根據(jù)公式 Pn=M?Pn?1=Mn?P0P_n = M \cdot P_{n-1} = M^n \cdot P_0Pn?=M?Pn?1?=Mn?P0?,迭代計(jì)算出 PR 值向量。
[1/41/41/41/4][3/245/2411/245/24][5/487/4829/487/48]?[0010]\begin{bmatrix} 1/4 \\ 1/4 \\ 1/4 \\ 1/4 \\ \end{bmatrix} \quad \begin{bmatrix} 3/24 \\ 5/24 \\ 11/24 \\ 5/24 \\ \end{bmatrix} \quad \begin{bmatrix} 5/48 \\ 7/48 \\ 29/48 \\ 7/48 \\ \end{bmatrix} \quad \cdots \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \\ \end{bmatrix} ?????1/41/41/41/4???????????3/245/2411/245/24???????????5/487/4829/487/48????????????0010??????
可以看到經(jīng)過多次跳轉(zhuǎn),跳轉(zhuǎn)到陷阱頁面的概率值為 1,而跳轉(zhuǎn)到其他正常網(wǎng)頁的概率值為 0,這樣的計(jì)算結(jié)果也是無意義的。
除了自己只鏈接自己這一種形式的陷阱,還存在一種多個(gè)頁面相互鏈接的陷阱。
上圖中 5、6、7 三個(gè)頁面構(gòu)成一個(gè)閉環(huán),它們緊密鏈接成環(huán)而沒有外出的鏈接,最終也會(huì)導(dǎo)致上網(wǎng)者“深陷于此”。同樣的,經(jīng)過多次跳轉(zhuǎn),陷阱網(wǎng)頁的概率值之和為 1,而其他正常網(wǎng)頁的概率值為 0。
當(dāng)用戶遇到終止點(diǎn)或者陷阱的話,他不會(huì)不知所措,也不會(huì)無休止地自己打轉(zhuǎn),他會(huì)通過瀏覽器的地址欄輸入新的地址,以逃離這個(gè)網(wǎng)頁。也就是說,用戶以一個(gè)網(wǎng)頁跳轉(zhuǎn)至另一個(gè)網(wǎng)頁的過程中,會(huì)以一定概率不點(diǎn)擊當(dāng)前網(wǎng)頁的鏈接,而是在地址欄中輸入一個(gè)新的地址。
【解決方案】:隨機(jī)瀏覽模型。
隨機(jī)瀏覽模型
假定一個(gè)上網(wǎng)者從一個(gè)隨機(jī)的網(wǎng)頁開始瀏覽,此時(shí)有兩種選擇:
- 通過點(diǎn)擊當(dāng)前頁面的其他鏈接開始下一次瀏覽;
- 通過在瀏覽器的地址欄輸入新的地址以開啟一個(gè)新的網(wǎng)頁。
其中,上網(wǎng)者通過點(diǎn)擊鏈接開啟新頁面的概率為 d(d 也稱阻尼系數(shù),通常取 0.85)。此時(shí),我們的 PageRank 模型變?yōu)?#xff1a;在每一個(gè)頁面,用戶都有 d 的概率通過點(diǎn)擊鏈接進(jìn)入下一個(gè)頁面;此外,還有 1 - d 的概率隨機(jī)跳轉(zhuǎn),此時(shí)跳轉(zhuǎn)到其他頁面的概率為 1 / N(當(dāng)前頁面的其他鏈接數(shù))。
【隨機(jī)瀏覽模型公式】:
PRi=d∑j∈BiPRjLj+1?dNPR_i = d\sum_{j\in B_i}\frac{PR_j}{L_j} + \frac{1 - d}{N} PRi?=dj∈Bi?∑?Lj?PRj??+N1?d?
【概率轉(zhuǎn)移公式】:
Pn=dM?Pn?1+(1?d)P0Pn=APn?1A=dM+(1?d)eeT/NP_n = dM \cdot P_{n-1} + (1-d)P_0 \\ P_n = AP_{n-1} \quad A = dM + (1-d)ee^T/N Pn?=dM?Pn?1?+(1?d)P0?Pn?=APn?1?A=dM+(1?d)eeT/N
如何通過隨機(jī)瀏覽模型解決陷阱問題呢?仍然以先前的實(shí)例為例。
先使用概率轉(zhuǎn)移公式計(jì)算跳轉(zhuǎn)到每個(gè)頁面的概率值。
P0=[1/41/41/41/4]P1=0.85?[01/2001/3001/21/3011/21/31/200][1/41/41/41/4]+0.15?[1/41/41/41/4]P_0 = \begin{bmatrix} 1/4 \\ 1/4 \\ 1/4 \\ 1/4 \\ \end{bmatrix} \quad P_1 = 0.85 * \begin{bmatrix} 0 & 1/2 & 0 & 0 \\ 1/3 & 0 & 0 & 1/2 \\ 1/3 & 0 & 1 & 1/2 \\ 1/3 & 1/2 & 0 & 0 \\ \end{bmatrix} \qquad \begin{bmatrix} 1/4 \\ 1/4 \\ 1/4 \\ 1/4 \\ \end{bmatrix} + 0.15 * \begin{bmatrix} 1/4 \\ 1/4 \\ 1/4 \\ 1/4 \\ \end{bmatrix} P0?=?????1/41/41/41/4??????P1?=0.85??????01/31/31/3?1/2001/2?0010?01/21/20???????????1/41/41/41/4??????+0.15??????1/41/41/41/4??????
由于存在一定的概率跳出循環(huán),因此可以避免陷阱問題。
隨機(jī)瀏覽模型的收斂性
PageRank 模型的前提:假設(shè)用戶選擇瀏覽的下一個(gè)網(wǎng)頁與過去瀏覽過哪些網(wǎng)頁無關(guān),而僅依賴于當(dāng)前所在的頁面,則該過程可以認(rèn)為是一個(gè)有限狀態(tài)、離散時(shí)間的隨機(jī)過程。
這種“將來”的情況與“過去”無關(guān),而只與“當(dāng)前”狀態(tài)有關(guān)的性質(zhì)稱為馬爾可夫性。具有馬爾可夫性的隨機(jī)過程稱為馬爾可夫過程。時(shí)間和狀態(tài)都是離散的馬爾可夫過程稱為馬爾可夫鏈—— P0,P1,P2,?,PnP_0, P_1, P_2, \cdots, P_nP0?,P1?,P2?,?,Pn? 是一個(gè)馬爾可夫鏈。
對于馬爾可夫鏈 Pn=APn?1P_n = AP_{n-1}Pn?=APn?1?,當(dāng)概率轉(zhuǎn)移矩陣 A 滿足以下 3 個(gè)條件時(shí),PnP_nPn? 最終收斂,保持在一個(gè)穩(wěn)定值附近。
- A 為隨機(jī)矩陣:即所有 A[i][j] >= 0,且 A 的所有列向量的元素和為 1;
- A 是不可約的:A 是不可約的當(dāng)且僅當(dāng) A 所對應(yīng)的圖是強(qiáng)連通的。
- A 是非周期的:對某個(gè)不等于 1 的自然數(shù) K,如果 Ak=EA^k = EAk=E,則稱 A 為周期矩陣,K 是矩陣 A 的周期。而 A 的每個(gè)元素都是正數(shù),所以無論 A 與自身相乘多少次所得到的矩陣,其元素都不可能出現(xiàn) 0,自然也不可能為 E,所以 A 是非周期的。
Link Spam 與反作弊
首先介紹兩個(gè)新的概念——鏈接農(nóng)場和黃金鏈。
- 鏈接農(nóng)場:是指由互聯(lián)網(wǎng)中的一部分網(wǎng)頁組成,這些網(wǎng)頁非常密集地互相連接在一起。通過創(chuàng)建一個(gè)堆砌大量鏈接而沒有實(shí)質(zhì)內(nèi)容的網(wǎng)頁,這些鏈接彼此互鏈,或指向特定網(wǎng)站,以提高某個(gè)或者某些特定網(wǎng)頁的 PageRank 值。
- 黃金鏈:指一些高權(quán)重的網(wǎng)站出售首頁的鏈接給作弊網(wǎng)站,以提高作弊網(wǎng)站的 PageRank 值。
鏈接作弊者眼中的 Web 組成結(jié)構(gòu):
- 不可達(dá)網(wǎng)頁:作弊者無法影響的網(wǎng)頁。Web 中的大部分網(wǎng)頁都屬于這一類。
- 可達(dá)網(wǎng)頁:雖然不受作弊者控制,但作弊者可以影響它們。
- 自有網(wǎng)頁:作弊者擁有并完全控制的網(wǎng)頁。
假設(shè)目標(biāo)網(wǎng)頁 T 的總 PageRank 值為 y,則 y 由三部分組成:
- 可達(dá)網(wǎng)頁的貢獻(xiàn),設(shè)為 x;
- Web 中所有網(wǎng)頁平均分到的貢獻(xiàn):(1 - β)/n,這部分值很小,可以忽略。
- 自有網(wǎng)頁的貢獻(xiàn):設(shè)有 m 個(gè)自有網(wǎng)頁,每個(gè)自有網(wǎng)頁的 PageRank 值為 βy/m+(1?β)/n\beta y/m + (1-\beta)/nβy/m+(1?β)/n。
綜上所述
y=x+βm(βym+(1?β)n)=x+β2y+β(1?β)mny = x + \beta m(\frac{\beta y}{m} + \frac{(1-\beta)}{n}) = x + \beta^2 y + \frac{\beta(1-\beta)m}{n} y=x+βm(mβy?+n(1?β)?)=x+β2y+nβ(1?β)m?
解得
y=x1?β2+βm(1+β)ny = \frac{x}{1-\beta^2} + \frac{\beta m}{(1+\beta)n} y=1?β2x?+(1+β)nβm?
(注:之前上述公式的后一項(xiàng)分母寫成了 (1?β)n(1-\beta)n(1?β)n,經(jīng) ershitianxia 同學(xué)的指正,已修改為(1+β)n(1+\beta)n(1+β)n,對先前閱讀過該篇文章而造成誤解的讀者表示歉意,也很感謝 ershitianxia 同學(xué)的評論,說明我寫的文章還是能夠讓讀者讀下去的。)
如果選擇 β = 0.85,那么 1/(1?β2)=3.6,β/(1+β)=0.461 / (1-β^2) = 3.6, \beta/(1+\beta) = 0.461/(1?β2)=3.6,β/(1+β)=0.46。也就是說,上述結(jié)構(gòu)能夠把可達(dá)網(wǎng)頁的 PageRank 貢獻(xiàn)放大到 3.6 倍,并且還可以獲得自有網(wǎng)頁數(shù)目和總網(wǎng)頁數(shù)目比值(m/n)的 46%。
那么要如何針對這一種作弊行為呢?搜索引擎可以修改 PageRank 算法的定義來自動(dòng)降低鏈接作弊網(wǎng)頁的重要度。
【TrustRank】:如果一個(gè)網(wǎng)頁的 PageRank 值遠(yuǎn)高于可信網(wǎng)頁的值,則很可能這個(gè)網(wǎng)頁被 Spam 了。
- 設(shè)一個(gè)頁面的 PageRank 值為 P,TrustRank(可信網(wǎng)頁的 PageRank 值) 為 T,則定義網(wǎng)頁的垃圾質(zhì)量(Spam Mass)為:(P - T) / P。
- Spam Mass 越大,說明此頁面被 Spam 的可能性越大。那么我們就可以通過降低該網(wǎng)頁的 PageRank 值來避免作弊行為。
PageRank 算法缺點(diǎn)
- 主題漂移問題:PageRank 算法僅利用網(wǎng)絡(luò)的鏈接結(jié)構(gòu),無法判斷網(wǎng)頁內(nèi)容上的相似性;且算法根據(jù)向外鏈接平均分配權(quán)值使得主題不相關(guān)的網(wǎng)頁獲得與主題相關(guān)的網(wǎng)頁同樣的重視度,出現(xiàn)主題漂移。
- 沒有過濾廣告鏈接和功能鏈接:例如常見的“分享到微博”,這些鏈接通常沒有什么實(shí)際價(jià)值,前者鏈接到廣告頁面,后者常常鏈接到某個(gè)社交網(wǎng)站首頁。
- 對新網(wǎng)頁不友好:一個(gè)新網(wǎng)頁的入鏈相對較少,即便它的內(nèi)容質(zhì)量很高,但要成為一個(gè)高 PR 值的頁面仍需要很長時(shí)間的推廣。
其他:搜索引擎的發(fā)展趨勢
社會(huì)化搜索
隨著Facebook的流行,社交網(wǎng)絡(luò)平臺(tái)和應(yīng)用占據(jù)了互聯(lián)網(wǎng)的主流,社交網(wǎng)絡(luò)平臺(tái)強(qiáng)調(diào)用戶之間的聯(lián)系和交互,這對傳統(tǒng)的搜索技術(shù)提出了新的挑戰(zhàn)。
傳統(tǒng)搜索技術(shù)強(qiáng)調(diào)搜索結(jié)果和用戶需求的相關(guān)性,社會(huì)化搜索除了相關(guān)性外,還額外增加了一個(gè)維社交網(wǎng)絡(luò)內(nèi)其他用戶發(fā)布的信息、點(diǎn)評或驗(yàn)證過的信息則更容易信賴,這是與用戶度,即搜索結(jié)果的可信賴性。對某個(gè)搜索結(jié)果,傳統(tǒng)的結(jié)果可能成千上萬,但如果處于用戶的心里密切相關(guān)的。社會(huì)化搜索為用戶提供更準(zhǔn)確、更值得信任的搜索結(jié)果。
實(shí)時(shí)搜索
隨著微博的個(gè)人媒體平臺(tái)興起,對搜索引擎的實(shí)時(shí)性要求日益增高,我想這也是搜索時(shí)引擎未來的一個(gè)發(fā)展方向。
實(shí)時(shí)搜索最突出的特點(diǎn)是時(shí)效性強(qiáng),越來越多的突發(fā)事件首次發(fā)布在微博上,實(shí)時(shí)搜索核心強(qiáng)調(diào)的就是“快”,用戶發(fā)布的信息第一時(shí)間能被搜索引擎搜索到。
不過在國內(nèi),實(shí)時(shí)搜索由于各方面的原因無法普及使用,比如 Google 的實(shí)時(shí)搜索是被重置的,百度也沒有明顯的實(shí)時(shí)搜索入口。
多媒體搜索
目前搜索引擎的查詢還是基于文字的,即使是圖片和視頻搜索也是基于文本方式。那么未來的多媒體搜索技術(shù)則會(huì)彌補(bǔ)查詢這一缺失。多媒體形式除了文字,主要包括圖片、音頻、視頻。
多媒體搜索比純文本搜索要復(fù)雜許多,一般多媒體搜索包含 4 個(gè)主要步驟:多媒體特征提取、多媒體數(shù)據(jù)流分割、多媒體數(shù)據(jù)分類和多媒體數(shù)據(jù)搜索引擎。
思維導(dǎo)圖
總結(jié)
以上是生活随笔為你收集整理的PageRank 笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql启动显示系统错误1067_启动
- 下一篇: pac配置