PageRank演算法改進

2021-10-09 18:01:25 字數 3500 閱讀 6760

pagerank 演算法是 google 搜尋引擎進行網頁排名的一種演算法,那麼它如何對映到其他領域?

比如,我們如何在文獻排名中應用pagerank演算法呢?

對文獻的質量進行排序是對文獻價值進行評估的一種重要手段,目的是為了方便人員在檢索時查閱。

統計文獻的被引次數是一種非常直觀的統計方式,在此基礎之上,我們引入了 pagerank演算法:該演算法基於網頁之間的鏈結關係評估網頁的價值,由於網際網路與文獻引用網路之間存在著較大的相似性,所以基於文獻之間的引用網路使用 pagerank 演算法可以更合理的對於文獻的價值評估。

該演算法基於一種投票關係:a 文對 b 文進行了引用是因為 a 文認為 b 文質量較高,即通過引用的方式給b文投票,之後再通過投票關係對文獻進行排名。

根據pagerank的原理,在文獻排名的過程中,pagerank 演算法同樣遵循以下兩個基本假設:

數量假設。如果一篇文獻 a 被其他文獻引用,說明其他文獻認為文獻 a 比較重要,也就是其他文獻將自己的 pagerank 值貢獻給 a。表明 a 是一篇有質量的文獻,所以文獻 a 的 pagerank 值會比較高。

質量假設。如果一篇高 pagerank 值的文獻引用了一篇其他的文獻,則被引用的文獻的 pagerank 值也因此而提高。

演算法的公式形式不變,如下所示,但是其中各個量的含義會發生變化。

其中 p

代表某個待評價的學術文獻,

d是阻尼係數。

ctotal

是文獻總量。

n 表示

n 篇引用了

p 的文獻,

xi 表示第

i個引用了

p的文獻,

c(xi)

表示 xi

這篇文獻總的參考文獻數目。

看下面的例子,假如這是迭代過程中的乙個片段,pr值的分配傳遞過程如下圖所示:

偽**如下:

針對傳統 pagerank 演算法迭代過程複雜、時效性不強、執行速度慢等缺點,可以進行了優化迭代過程、增加時間因子影響函式、並行化三點改進。

我們將改進的演算法稱為ntmp 演算法——在優化迭代過程時,通過對於被引文獻的特徵進行統計,按照權威度的方式進行 ntmp 值分配。根據文獻被引半衰期這一特徵,使用時間因子影響函式更好的對文獻價值進行評價。最後將改進後的演算法進行了基於mapreduce 計算框架的並行化處理,最終構成 ntmp 演算法。

ntmp 演算法進行文獻評價時有如下三點假設:

1)數量假設

2)質量假設

3)影響力衰減假設:一篇文章的影響力不是一成不變的,其影響力會根據時間的推移進行適當衰減。如果不對文獻的影響力在時間上進行約束,就會造成在文獻排名時,影響力較大的總是那些發表時間久遠、被引次數多的文獻,新發表的文獻不能被很好的評價,這就導致了新發表的文獻在排名時一直處於比較靠後的位置,不能受到很好的重視。所以僅考慮文獻之間的引用關係而忽略時間因素在文獻排名過程中的不利影響是不夠的。尤其研究者們應該重視那些新發表的文獻,這些文獻代表著當前研究趨勢、研究熱點。

這裡引入了文獻半衰期的概念。

半衰期是指放射性元素的原子核有半數發生衰變時所需要的時間。

這裡給出的定義如下:在 n 年(某一年時間內)被引用的文獻中,較新的一半是在最近 x 內發表的。這個 x 就是文獻被引半衰期。例如某一年,整個資料集中共發表文獻 176922 篇,其中累積引用計算機學科文獻 289421 頻次,再根據定義求得文獻被引半衰期為 6.78 年。

根據定義:

其中,w

是所求的被引半衰期,

u 是累積百分比小於且最接近

50%的年數,

x 為統計年至

u 年的被引累積百分比,

y 為統計年至

u+1

年的被引累計百分比。

有了這個半衰期的定義,我們建立乙個時間影響因子函式:

其中,hl(t)為文獻價值剩餘百分比,ctotal

代表的是該資料集中初始時刻

(t=0 時)

所有文獻的數量,

t 是衰變時間,

t 為計算機學科文獻被引半衰期。時間因子影響函式

hl(t)

的含義是在計算機學科中,某一篇文獻從發表

(t=0 時)

開始,經過

t 時間後,文獻的剩餘價值變為原來的

hl(t)倍。

在進行 pr 值的傳遞時,傳統演算法會將每篇文獻的 pr 值平均分給該文獻所引用的其他文獻。

ntmp演算法的改進:將ntmp 值向著那些重要的文獻流動,提公升分配效率和收斂速度。

bc_sum是文獻集合r(x)中所有文獻 pj 的被引次數之和。

w(x,p)是計算集合r(x)某一篇文獻 p 被引次數的所佔比重,可以理解為文獻 p 在分配 x 的 ntmp 值時所佔權重。

ntmp 演算法的輸入是基礎文獻資訊,包括文獻發表時間,文獻引用關係等,輸出是各待評價樣本的 ntmp 值,可以根據 ntmp 值對待評價樣本進行排名。

根據上述改進方法,ntmp 演算法的公式為:

其中 xi 引用了文獻 p 的施引文獻,ntmp(xi)表示上一次迭代結束後 x 的 ntmp值,函式 w(xi,p)是之前提出的 ntmp 值分配方式,函式 hl(t)是時間因子影響函式,d 是阻尼係數一般取 0.85,ctotal 是資料集中的文獻總量。

reduce階段:將 map 階段所傳出的每一篇 xi 為 p所貢獻的 ntmp 值相加,再乘以阻尼 d,之後加上調整項即為文獻 p 的 ntmp 值

具體過程如下:

map階段:

reduce階段:

本文參考**《基於hadoop的學術文獻排名及作者影響力評價演算法》崔景洋

PageRank演算法初探

pagerank演算法由segey brin和larry page在1998年發表在www7。該演算法的高效能和易使用等特點,和其他的搜尋系統相比質量更高。因此,谷 歌成為世界上最常用的搜尋引擎有很大一部分是基於此。他們借鑑了當時學術界評判 重要性的通用方法,根據 的引用次數。將這種思路對映到網頁的...

PageRank 演算法隨記

遞迴的意思是 假如現在要求c,指向c的入鏈只有b,那麼得先求b的重要度,b重要度的大小取決於指向b的入鏈以及這些入鏈的重要度。隨機 的解釋 從i這個頁面開始,它可能有di種選擇,而且他做每一種選擇的時候,選擇的概率是相同的,即他決定到下乙個頁面是乙個隨機的選擇 應該跳到那個頁面 我們把上面圖中的矩陣...

PageRank演算法核心

讀者盆友,中午好,這裡分享下pagerank演算法的核心思想。本部落格 示例均來自 演算法 algorithmes forth edition 美 robert sedgewick kevin wayne 著 謝路雲譯 s.brin 和l.page 發明的pagerank演算法,裡面非常重要的思想是...