1. WEB超鏈分析演算法的WEB超鏈分析演算法
搜索引擎Google最初是斯坦福大學的博士研究生Sergey Brin和Lawrence Page實現的一個原型系統[2],現在已經發展成為WWW上最好的搜索引擎之一。Google的體系結構類似於傳統的搜索引擎,它與傳統的搜索引擎最大的不同處在於對網頁進行了基於權威值的排序處理,使最重要的網頁出現在結果的最前面。Google通過PageRank元演算法計算出網頁的PageRank值,從而決定網頁在結果集中的出現位置,PageRank值越高的網頁,在結果中出現的位置越前。
2.1.1PageRank演算法
PageRank演算法基於下面2個前提:
前提1:一個網頁被多次引用,則它可能是很重要的;一個網頁雖然沒有被多次引用,但是被重要的網頁引用,則它也可能是很重要的;一個網頁的重要性被平均的傳遞到它所引用的網頁。這種重要的網頁稱為權威(Authoritive)網頁。
前提2:假定用戶一開始隨機的訪問網頁集合中的一個網頁,以後跟隨網頁的向外鏈接向前瀏覽網頁,不回退瀏覽,瀏覽下一個網頁的概率就是被瀏覽網頁的PageRank值。
簡單PageRank演算法描述如下:u是一個網頁,是u指向的網頁集合,是指向u的網頁集合,是u指向外的鏈接數,顯然=| | ,c是一個用於規范化的因子(Google通常取0.85),(這種表示法也適用於以後介紹的演算法)則u的Rank值計算如下:
這就是演算法的形式化描述,也可以用矩陣來描述此演算法,設A為一個方陣,行和列對應網頁集的網頁。如果網頁i有指向網頁j的一個鏈接,則,否則=0。設V是對應網頁集的一個向量,有V=cAV,V為A的特徵根為c的特徵向量。實際上,只需要求出最大特徵根的特徵向量,就是網頁集對應的最終PageRank值,這可以用迭代方法計算。
如果有2個相互指向的網頁a,b,他們不指向其它任何網頁,另外有某個網頁c,指向a,b中的某一個,比如a,那麼在迭代計算中,a,b的rank值不分布出去而不斷的累計。如下圖:
為了解決這個問題,Sergey Brin和Lawrence Page改進了演算法,引入了衰退因子E(u),E(U)是對應網頁集的某一向量,對應rank的初始值,演算法改進如下:
其中,=1,對應的矩陣形式為V』=c(AV』+E)。
另外還有一些特殊的鏈接,指向的網頁沒有向外的鏈接。PageRank計算時,把這種鏈接首先除去,等計算完以後再加入,這對原來計算出的網頁的rank值影響是很小的。
Pagerank演算法除了對搜索結果進行排序外,還可以應用到其它方面,如估算網路流量,向後鏈接的預測器,為用戶導航等[2]。
2.1.2演算法的一些問題
Google是結合文本的方法來實現PageRank演算法的[2],所以只返回包含查詢項的網頁,然後根據網頁的rank值對搜索到的結果進行排序,把rank值最高的網頁放置到最前面,但是如果最重要的網頁不在結果網頁集中,PageRank演算法就無能為力了,比如在 Google中查詢search engines,像Google,Yahoo,Altivisa等都是很重要的,但是Google返回的結果中這些網頁並沒有出現。 同樣的查詢例子也可以說明另外一個問題,Google,Yahoo是WWW上最受歡迎的網頁,如果出現在查詢項car的結果集中,一定會有很多網頁指向它們,就會得到較高的rank值, 事實上他們與car不太相關。
在PageRank演算法的基礎上,其它的研究者提出了改進的PageRank演算法。華盛頓大學計算機科學與工程系的Matthew Richardson和Pedro Dominggos提出了結合鏈接和內容信息的PageRank演算法,去除了PageRank演算法需要的前提2,增加考慮了用戶從一個網頁直接跳轉到非直接相鄰的但是內容相關的另外一個網頁的情況[3]。斯坦大學計算機科學系Taher Haveliwala提出了主題敏感(Topic-sensitive)PageRank演算法[4]。斯坦福大學計算機科學系Arvind Arasu等經過試驗表明,PageRank演算法計算效率還可以得到很大的提高[22]。 PageRank演算法中對於向外鏈接的權值貢獻是平均的,也就是不考慮不同鏈接的重要性。而WEB的鏈接具有以下特徵:
1.有些鏈接具有注釋性,也有些鏈接是起導航或廣告作用。有注釋性的鏈接才用於權威判斷。
2.基於商業或競爭因素考慮,很少有WEB網頁指向其競爭領域的權威網頁。
3.權威網頁很少具有顯式的描述,比如Google主頁不會明確給出WEB搜索引擎之類的描述信息。
可見平均的分布權值不符合鏈接的實際情況[17]。J. Kleinberg[5]提出的HITS演算法中引入了另外一種網頁,稱為Hub網頁,Hub網頁是提供指向權威網頁鏈接集合的WEB網頁,它本身可能並不重要,或者說沒有幾個網頁指向它,但是Hub網頁確提供了指向就某個主題而言最為重要的站點的鏈接集合,比一個課程主頁上的推薦參考文獻列表。一般來說,好的Hub網頁指向許多好的權威網頁;好的權威網頁是有許多好的Hub網頁指向的WEB網頁。這種Hub與Authoritive網頁之間的相互加強關系,可用於權威網頁的發現和WEB結構和資源的自動發現,這就是Hub/Authority方法的基本思想。
2.2.1HITS演算法
HITS(Hyperlink-Inced Topic Search)演算法是利用Hub/Authority方法的搜索方法,演算法如下:將查詢q提交給傳統的基於關鍵字匹配的搜索引擎.搜索引擎返回很多網頁,從中取前n個網頁作為根集(root set),用S表示。S滿足如下3個條件:
1.S中網頁數量相對較小
2.S中網頁大多數是與查詢q相關的網頁
3.S中網頁包含較多的權威網頁。
通過向S中加入被S引用的網頁和引用S的網頁將S擴展成一個更大的集合T.
以T中的Hub網頁為頂點集Vl,以權威網頁為頂點集V2,Vl中的網頁到V2中的網頁的超鏈接為邊集E,形成一個二分有向圖SG=(V1,V2,E)。對V1中的任一個頂點v,用h(v)表示網頁v的Hub值,對V2中的頂點u,用a(u)表示網頁的Authority值。開始時h(v)=a(u)=1,對u執行I操作修改它的a(u),對v執行O操作修改它的h(v),然後規范化a(u),h(v),如此不斷的重復計算下面的操作I,O,直到a(u),h(v)收斂。(證明此演算法收斂可見)
I 操作: (1) O操作: (2)
每次迭代後需要對a(u),h(v)進行規范化處理:
式(1)反映了若一個網頁由很多好的Hub指向,則其權威值會相應增加(即權威值增加為所有指向它的網頁的現有Hub值之和)。式(2)反映了若一個網頁指向許多好的權威頁,則Hub值也會相應增加(即Hub值增加為該網頁鏈接的所有網頁的權威值之和)。
和PageRank演算法一樣,可以用矩陣形式來描述演算法,這里省略不寫。
HITS演算法輸出一組具有較大Hub值的網頁和具有較大權威值的網頁。
2.2.2HITS的問題
HITS演算法有以下幾個問題:
1.實際應用中,由S生成T的時間開銷是很昂貴的,需要下載和分析S中每個網頁包含的所有鏈接,並且排除重復的鏈接。一般T比S大很多,由T生成有向圖也很耗時。需要分別計算網頁的A/H值,計算量比PageRank演算法大。
2.有些時候,一主機A上的很多文檔可能指向另外一台主機B上的某個文檔,這就增加了A上文檔的Hub值和B上文檔的Authority,相反的情況也如此。HITS是假定某一文檔的權威值是由不同的單個組織或者個人決定的,上述情況影響了A和B上文檔的Hub和Authority值[7]。
3.網頁中一些無關的鏈接影響A,H值的計算。在製作網頁的時候,有些開發工具會自動的在網頁上加入一些鏈接,這些鏈接大多是與查詢主題無關的。同一個站點內的鏈接目的是為用戶提供導航幫助,也與查詢主題不甚無關,還有一些商業廣告,贊助商和用於友情交換的鏈接,也會降低HITS演算法的精度[8]。
4.HITS演算法只計算主特徵向量,也就是只能發現T集合中的主社區(Community),忽略了其它重要的社區[12]。事實上,其它社區可能也非常重要。
5.HITS演算法最大的弱點是處理不好主題漂移問題(topic drift)[7,8],也就是緊密鏈接TKC(Tightly-Knit Community Effect)現象[8]。如果在集合T中有少數與查詢主題無關的網頁,但是他們是緊密鏈接的,HITS演算法的結果可能就是這些網頁,因為HITS只能發現主社區,從而偏離了原來的查詢主題。下面討論的SALSA演算法中解決了TKC問題。
6.用HITS進行窄主題查詢時,可能產生主題泛化問題[5,9],即擴展以後引入了比原來主題更重要的新的主題,新的主題可能與原始查詢無關。泛化的原因是因為網頁中包含不同主題的向外鏈接,而且新主題的鏈接具有更加的重要性。
2.2.3HITS的變種
HITS演算法遇到的問題,大多是因為HITS是純粹的基於鏈接分析的演算法,沒有考慮文本內容,繼J. Kleinberg提出HITS演算法以後,很多研究者對HITS進行了改進,提出了許多HITS的變種演算法,主要有:
2.2.3.1Monika R. Henzinger和Krishna Bharat對HITS的改進
對於上述提到的HITS遇到的第2個問題,Monika R. Henzinger和Krishna Bharat在[7]中進行了改進。假定主機A上有k個網頁指向主機B上的某個文檔d,則A上的k個文檔對B的Authority貢獻值總共為1,每個文檔貢獻1/k,而不是HITS中的每個文檔貢獻1,總共貢獻k。類似的,對於Hub值,假定主機A上某個文檔t指向主機B上的m個文檔,則B上m個文檔對t的Hub值總共貢獻1,每個文檔貢獻1/m。I,O操作改為如下
I 操作:
O操作:
調整後的演算法有效的解決了問題2,稱之為imp演算法。
在這基礎上,Monika R. Henzinger和Krishna Bharat還引入了傳統信息檢索的內容分析技術來解決4和5,實際上也同時解決了問題3。具體方法如下,提取根集S中的每個文檔的前1000個詞語,串連起來作為查詢主題Q,文檔Dj和主題Q的相似度按如下公式計算:
,,=項i在查詢Q中的出現次數,
=項i在文檔Dj中的出現次數,IDFi是WWW上包含項i的文檔數目的估計值。
在S擴展到T後,計算每個文檔的主題相似度,根據不同的閾值(threshold)進行刷選,可以選擇所有文檔相似度的中值,根集文檔相似度的中值,最大文檔相似度的分數,如1/10,作為閾值。根據不同閾值進行處理,刪除不滿足條件的文檔,再運行imp演算法計算文檔的A/H值,這些演算法分別稱為med,startmed,maxby10。
在此改進的演算法中,計算文檔的相似度時間開銷會很大。
2.2.3.2ARC演算法
IBM Almaden研究中心的Clever工程組提出了ARC(Automatic Resource Compilation)演算法,對原始的HITS做了改進,賦予網頁集對應的連結矩陣初值時結合了鏈接的錨(anchor)文本,適應了不同的鏈接具有不同的權值的情況。
ARC演算法與HITS的不同主要有以下3點:
1.由根集S擴展為T時,HITS只擴展與根集中網頁鏈接路徑長度為1的網頁,也就是只擴展直接與S相鄰的網頁,而ARC中把擴展的鏈接長度增加到2,擴展後的網頁集稱為增集(Augment Set)。
2.HITS演算法中,每個鏈接對應的矩陣值設為1,實際上每個鏈接的重要性是不同的,ARC演算法考慮了鏈接周圍的文本來確定鏈接的重要性。考慮鏈接p->q,p中有若干鏈接標記,文本1<a href=」q」>錨文本</a>文本2,設查詢項t在文本1,錨文本,文本2,出現的次數為n(t),則w(p,q)=1+n(t)。文本1和文本2的長度經過試驗設為50位元組[10]。構造矩陣W,如果有網頁i->j ,Wi,j=w(i,j),否則Wi,j=0,H值設為1,Z為W的轉置矩陣,迭代執行下面3個的操作:
(1)A=WH (2)H=ZA (3)規范化A,H
3.ARC演算法的目標是找到前15個最重要的網頁,只需要A/H的前15個值相對大小保持穩定即可,不需要A/H整個收斂,這樣2中迭代次數很小就能滿足,[10]中指出迭代5次就可以,所以ARC演算法有很高的計算效率,開銷主要是在擴展根集上。
2.2.3.3Hub平均( Hub-Averaging-Kleinberg)演算法
Allan Borodin等在[11]指出了一種現象,設有M+1個Hub網頁,M+1個權威網頁,前M個Hub指向第一個權威網頁,第M+1個Hub網頁指向了所有M+1個權威網頁。顯然根據HITS演算法,第一個權威網頁最重要,有最高的Authority值,這是我們希望的。但是,根據HITS,第M+1個Hub網頁有最高的Hub值,事實上,第M+1個Hub網頁既指向了權威值很高的第一個權威網頁,同時也指向了其它權威值不高的網頁,它的Hub值不應該比前M個網頁的Hub值高。因此,Allan Borodin修改了HITS的O操作:
O操作: ,n是(v,u)的個數
調整以後,僅指向權威值高的網頁的Hub值比既指向權威值高又指向權威值低的網頁的Hub值高,此演算法稱為Hub平均(Hub-Averaging-Kleinberg)演算法。
2.2.3.4閾值(Threshhold—Kleinberg)演算法
Allan Borodin等在[11]中同時提出了3種閾值控制的演算法,分別是Hub閾值演算法,Authority閾值演算法,以及結合2者的全閾值演算法。
計算網頁p的Authority時候,不考慮指向它的所有網頁Hub值對它的貢獻,只考慮Hub值超過平均值的網頁的貢獻,這就是Hub閾值方法。
Authority閾值演算法和Hub閾值方法類似,不考慮所有p指向的網頁的Authority對p的Hub值貢獻,只計算前K個權威網頁對它Hub值的貢獻,這是基於演算法的目標是查找最重要的K個權威網頁的前提。
同時使用Authority閾值演算法和Hub閾值方法的演算法,就是全閾值演算法 PageRank演算法是基於用戶隨機的向前瀏覽網頁的直覺知識,HITS演算法考慮的是Authoritive網頁和Hub網頁之間的加強關系。實際應用中,用戶大多數情況下是向前瀏覽網頁,但是很多時候也會回退瀏覽網頁。基於上述直覺知識,R. Lempel和S. Moran提出了SALSA(Stochastic Approach for Link-Structure Analysis)演算法[8],考慮了用戶回退瀏覽網頁的情況,保留了PageRank的隨機漫遊和HITS中把網頁分為Authoritive和Hub的思想,取消了Authoritive和Hub之間的相互加強關系。
具體演算法如下:
1.和HITS演算法的第一步一樣,得到根集並且擴展為網頁集合T,並除去孤立節點。
2.從集合T構造無向圖G』=(Vh,Va,E)
Vh = { sh | s∈C and out-degree(s) > 0 } ( G』的Hub邊).
Va = { sa | s∈C and in-degree(s) > 0 } (G』的Authority邊).
E= { (sh , ra) |s->r in T}
這就定義了2條鏈,Authority鏈和Hub鏈。
3.定義2條馬爾可夫鏈的變化矩陣,也是隨機矩陣,分別是Hub矩陣H,Authority矩陣A。
4.求出矩陣H,A的主特徵向量,就是對應的馬爾可夫鏈的靜態分布。
5.A中值大的對應的網頁就是所要找的重要網頁。
SALSA演算法沒有HITS中相互加強的迭代過程,計算量遠小於HITS。SALSA演算法只考慮直接相鄰的網頁對自身A/H的影響,而HITS是計算整個網頁集合T對自身AH的影響。
實際應用中,SALSA在擴展根集時忽略了很多無關的鏈接,比如
1.同一站點內的鏈接,因為這些鏈接大多隻起導航作用。
2.CGI 腳本鏈接。
3.廣告和贊助商鏈接。
試驗結果表明,對於單主題查詢java,SALSA有比HITS更精確的結果,對於多主題查詢abortion,HITS的結果集中於主題的某個方面,而SALSA演算法的結果覆蓋了多個方面,也就是說,對於TKC現象,SALSA演算法比HITS演算法有更高的健壯性。
2.3.1BFS(Backword Forward Step)演算法
SALSA演算法計算網頁的Authority值時,只考慮網頁在直接相鄰網頁集中的受歡迎程度,忽略其它網頁對它的影響。HITS演算法考慮的是整個圖的結構,特別的,經過n步以後,網頁i的Authority的權重是,為離開網頁i的的路徑的數目,也就是說網頁j<>i,對i的權值貢獻等於從i到j的路徑的數量。如果從i到j包含有一個迴路,那麼j對i的貢獻將會呈指數級增加,這並不是演算法所希望的,因為迴路可能不是與查詢相關的。
因此,Allan Borodin等[11]提出了BFS(Backward Forward Step)演算法,既是SALSA的擴展情況,也是HITS的限制情況。基本思想是,SALSA只考慮直接相鄰網頁的影響,BFS擴展到考慮路徑長度為n的相鄰網頁的影響。在BFS中,被指定表示能通過路徑到達i的結點的集合,這樣j對i的貢獻依賴就與j到i的距離。BFS採用指數級降低權值的方式,結點i的權值計算公式如下:
=|B(i)|+ |BF(i)| +|BFB(i)|+……+||
演算法從結點i開始,第一步向後訪問,然後繼續向前或者向後訪問鄰居,每一步遇到新的結點加入權值計算,結點只有在第一次被訪問時加入進去計算。 D.Cohn and H.Chang提出了計算Hub和Authority的統計演算法PHITS(Probabilistic analogue of the HITS)[12]。他們提出了一個概率模型,在這個模型裡面一個潛在的因子或者主題z影響了文檔d到文檔c的一個鏈接,他們進一步假定,給定因子z,文檔c的條件分布P(c|z)存在,並且給定文檔d,因子z的條件分布P(z|d)也存在。
P(d) P(z|d) P(c|z) ,其中
根據這些條件分布,提出了一個可能性函數(likelihood function)L,
,M是對應的連結矩陣
然後,PHITS演算法使用Dempster等提出的EM演算法[20]分配未知的條件概率使得L最大化,也就是最好的解釋了網頁之間的鏈接關系。演算法要求因子z的數目事先給定。Allan Borodin指出,PHITS中使用的EM演算法可能會收斂於局部的最大化,而不是真正的全局最大化[11]。D. Cohn和T. Hofmann還提出了結合文檔內容和超鏈接的概率模型[13]。 Allan Borodin等提出了完全的貝葉斯統計方法來確定Hub和Authoritive網頁[11]。假定有M個Hub網頁和N個Authority網頁,可以是相同的集合。每個Hub網頁有一個未知的實數參數,表示擁有超鏈的一般趨勢,一個未知的非負參數,表示擁有指向Authority網頁的鏈接的趨勢。每個Authoritive網頁j,有一個未知的非負參數,表示j的Authority的級別。
統計模型如下,Hub網頁i到Authority網頁j的鏈接的先驗概率如下給定:
P(i,j)=Exp(+)/(1+Exp(+))
Hub網頁i到Authority網頁j沒有鏈接時,P(i,j)=1/(1+Exp(+))
從以上公式可以看出,如果很大(表示Hub網頁i有很高的趨勢指向任何一個網頁),或者和都很大(表示i是個高質量Hub,j是個高質量的Authority網頁),那麼i->j的鏈接的概率就比較大。
為了符合貝葉斯統計模型的規范,要給2M+N個未知參數(,,)指定先驗分布,這些分布應該是一般化的,不提供信息的,不依賴於被觀察數據的,對結果只能產生很小影響的。Allan Borodin等在中指定滿足正太分布N(μ,),均值μ=0,標准方差δ=10,指定和滿足Exp(1)分布,即x>=0,P(>=x)=P(>=x)=Exp(-x)。
接下來就是標準的貝葉斯方法處理和HITS中求矩陣特徵根的運算。
2.5.1簡化的貝葉斯演算法
Allan Borodin同時提出了簡化的上述貝葉斯演算法,完全除去了參數,也就不再需要正太分布的參數μ,δ了。計算公式變為:P(i,j)=/(1+),Hub網頁到Authority網頁j沒有鏈接時,P(i,j)=1/(1+)。
Allan Borodin 指出簡化的貝葉斯產生的效果與SALSA演算法的結果非常類似。 上面的所有演算法,都是從查詢項或者主題出發,經過演算法處理,得到結果網頁。多倫多大學計算機系Alberto Mendelzon, Davood Rafiei提出了一種反向的演算法,輸入為某個網頁的URL地址,輸出為一組主題,網頁在這些主題上有聲望(repution)[16]。比如輸入,www.gamelan.com,可能的輸出結果是「java」,具體的系統可以訪問htpp://www.cs.toronto.e/db/topic。
給定一個網頁p,計算在主題t上的聲望,首先定義2個參數,滲透率和聚焦率,簡單起見,網頁p包含主題項t,就認為p在主題t上。
是指向p而且包含t的網頁數目,是指向p的網頁數目,是包含t的網頁數目。結合非條件概率,引入,,是WEB上網頁的數目。P在t上的聲望計算如下:
指定是既指向p有包含t的概率,即,顯然有
我們可以從搜索引擎(如Altavista)的結果得到,, ,WEB上網頁的總數估計值某些組織會經常公布,在計算中是個常量不影響RM的排序,RM最後如此計算:
給定網頁p和主題t,RM可以如上計算,但是多數的情況的只給定網頁p,需要提取主題後計算。演算法的目標是找到一組t,使得RM(p,t)有較大的值。TOPIC系統中是抽取指向p的網頁中的錨文本的單詞作為主題(上面已經討論過錨文本能很好描述目標網頁,精度很高),避免了下載所有指向p的網頁,而且RM(p,t)的計算很簡單,演算法的效率較高。主題抽取時,還忽略了用於導航、重復的鏈接的文本,同時也過濾了停止字(stop word),如「a」,「the」,「for」,「in」等。
Reputation演算法也是基於隨機漫遊模型的(random walk),可以說是PageRank和SALSA演算法的結合體。
3.鏈接演算法的分類及其評價
鏈接分析演算法可以用來提高搜索引擎的查詢效果,可以發現WWW上的重要的社區,可以分析某個網站的拓撲結構,聲望,分類等,可以用來實現文檔的自動分類等。歸根結底,能夠幫助用戶在WWW海量的信息裡面准確找到需要的信息。這是一個正在迅速發展的研究領域。
上面我們從歷史的角度總結了鏈接分析演算法的發展歷程,較為詳細的介紹了演算法的基本思想和具體實現,對演算法的存在的問題也做了討論。這些演算法有的處於研究階段,有的已經在具體的系統實現了。這些演算法大體可以分為3類,基於隨機漫遊模型的,比如PageRank,Repution演算法,基於Hub和Authority相互加強模型的,如HITS及其變種,基於概率模型的,如SALSA,PHITS,基於貝葉斯模型的,如貝葉斯演算法及其簡化版本。所有的演算法在實際應用中都結合傳統的內容分析技術進行了優化。一些實際的系統實現了某些演算法,並且獲得了很好的效果,Google實現了PageRank演算法,IBM Almaden Research Center 的Clever Project實現了ARC演算法,多倫多大學計算機系實現了一個原型系統TOPIC,來計算指定網頁有聲望的主題。
AT&T香農實驗室的Brian Amento在指出,用權威性來評價網頁的質量和人類專家評價的結果是一致的,並且各種鏈接分析演算法的結果在大多數的情況下差別很小[15]。但是,Allan Borodin也指出沒有一種演算法是完美的,在某些查詢下,結果可能很好,在另外的查詢下,結果可能很差[11]。所以應該根據不同查詢的情況,選擇不同的合適的演算法。
基於鏈接分析的演算法,提供了一種衡量網頁質量的客觀方法,獨立於語言,獨立於內容,不需人工干預就能自動發現WEB上重要的資源,挖掘出WEB上重要的社區,自動實現文檔分類。但是也有一些共同的問題影響著演算法的精度。
1.根集的質量。根集質量應該是很高的,否則,擴展後的網頁集會增加很多無關的網頁,產生主題漂移,主題泛化等一系列的問題,計算量也增加很多。演算法再好,也無法在低質量網頁集找出很多高質量的網頁。
2.噪音鏈接。WEB上不是每個鏈接都包含了有用的信息,比如廣告,站點導航,贊助商,用於友情交換的鏈接,對於鏈接分析不僅沒有幫助,而且還影響結果。如何有效的去除這些無關鏈接,也是演算法的一個關鍵點。
3.錨文本的利用。錨文本有很高的精度,對鏈接和目標網頁的描述比較精確。上述演算法在具體的實現中利用了錨文本來優化演算法。如何准確充分的利用錨文本,對演算法的精度影響很大。
4.查詢的分類。每種演算法都有自身的適用情況,對於不同的查詢,應該採用不同的演算法,以求獲得最好的結果。因此,對於查詢的分類也顯得非常重要。
結束語:當然,這些問題帶有很大的主觀性,比如,質量不能精確的定義,鏈接是否包含重要的信息也沒有有效的方法能准確的判定,分析錨文本又涉及到語義問題,查詢的分類也沒有明確界限。如果演算法要取得更好的效果,在這幾個方面需要繼續做深入的研究,相信在不久的將來會有更多的有趣和有用的成果出現。
2. pagerrank演算法有何應用
.017 基於中心性和PageRank的網頁綜合評分方法 (1.西南交通大學信息科學與技術學院,四川成都610031;2.成都市公安局科技處,四川成都610017;3.西南財經大學經濟信息工程學院,四川成都610074) 摘要:為准確、高效地對網頁進行評分,提出了一種基於中心性(結點度、居間度和緊密度)和PageRank演算法 的網頁評分方法CentralRank.它採用PageRank演算法計算網頁分數,藉助中心性度量的方法計算頁面在Web社會 網路中的重要性.為了驗證CentralRank的性能優勢,設計了一個網頁抓取器,可利用該抓取器自動、准確地下載 網頁信息.該網頁抓取器集成了網路信息採集、頁面內容分析和頁面消重3項技術.基於大量真實數據的實驗結 果表明:CentralRank在保證網頁評分時間性能的前提下,比單純基於中心性的網頁評分演算法和PageRank演算法更 准確、有效,預測准確性分別提高約14.2%和7.5%. 關鍵詞:社會網路分析;Web社會網路;中心性;PageRank演算法;網頁評分 中圖分類號:TP311.13 文獻標志碼:A Hybrid Page Scoring Algorithm Based PageRankqtAO Shaojiel,PENG Jin92,H Tianruil,LI Iton91,12 Taiyon93,WANG Cha01 (1.School InformationScience Technology,SouthwestJiaotong University,Cheng 610031,China; 2.Department Technology,ChengMunicipal Public Security Bureau,Cheng 610017,China; 3.School EconomicInformation Engineering,soutllwtem University Economics,Cheng610074, China) Abst豫ct:In order scor
3. 網路爬蟲採用的是哪種演算法策略
在爬蟲系統中,待抓取URL隊列是很重要的一部分。待抓取URL隊列中的URL以什麼樣的順序排列也是一個很重要的問題,因為這涉及到先抓取那個頁面,後抓取哪個頁面。而決定這些URL排列順序的方法,叫做抓取策略。下面重點介紹幾種常見的抓取策略:
1.深度優先遍歷策略
深度優先遍歷策略是指網路爬蟲會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之後再轉入下一個起始頁,繼續跟蹤鏈接。我們以下面的圖為例: 遍歷的路徑:A-F-G E-H-I B C D 2.寬度優先遍歷策略 寬度優先遍歷策略的基本思路是,將新下載網頁中發現的鏈接直接插入待抓取URL隊列的末尾。也就是指網路爬蟲會先抓取起始網頁中鏈接的所有網頁,然後再選擇其中的一個鏈接網頁,繼續抓取在此網頁中鏈接的所有網頁。還是以上面的圖為例: 遍歷路徑:A-B-C-D-E-F G H I 3.反向鏈接數策略 反向鏈接數是指一個網頁被其他網頁鏈接指向的數量。反向鏈接數表示的是一個網頁的內容受到其他人的推薦的程度。因此,很多時候搜索引擎的抓取系統會使用這個指標來評價網頁的重要程度,從而決定不同網頁的抓取先後順序。 在真實的網路環境中,由於廣告鏈接、作弊鏈接的存在,反向鏈接數不能完全等他我那個也的重要程度。因此,搜索引擎往往考慮一些可靠的反向鏈接數。 4.Partial PageRank策略 Partial PageRank演算法借鑒了PageRank演算法的思想:對於已經下載的網頁,連同待抓取URL隊列中的URL,形成網頁集合,計算每個頁面的PageRank值,計算完之後,將待抓取URL隊列中的URL按照PageRank值的大小排列,並按照該順序抓取頁面。 如果每次抓取一個頁面,就重新計算PageRank值,一種折中方案是:每抓取K個頁面後,重新計算一次PageRank值。但是這種情況還會有一個問題:對於已經下載下來的頁面中分析出的鏈接,也就是我們之前提到的未知網頁那一部分,暫時是沒有PageRank值的。為了解決這個問題,會給這些頁面一個臨時的PageRank值:將這個網頁所有入鏈傳遞進來的PageRank值進行匯總,這樣就形成了該未知頁面的PageRank值,從而參與排序。下面舉例說明: 5.OPIC策略策略 該演算法實際上也是對頁面進行一個重要性打分。在演算法開始前,給所有頁面一個相同的初始現金(cash)。當下載了某個頁面P之後,將P的現金分攤給所有從P中分析出的鏈接,並且將P的現金清空。對於待抓取URL隊列中的所有頁面按照現金數進行排序。 6.大站優先策略 對於待抓取URL隊列中的所有網頁,根據所屬的網站進行分類。對於待下載頁面數多的網站,優先下載。這個策略也因此叫做大站優先策略。
4. HITS、TrustRunk、PageRunk、HillTop演算法啥意思對SEO有什麼指導意義
HITS演算法是由康奈爾大學( Cornell University ) 的Jon Kleinberg 博士於1997 年首先提出的,為IBM 公司阿爾馬登研究中心( IBM Almaden Research Center) 的名為「CLEVER」的研究項目中的一部分。
TrustRank演算法最初來自於2004年斯坦福大學和雅虎的一項聯合研究,用來檢測垃圾網站,並且於2006年申請專利。TrustRank演算法發明人還發表了一份專門的PDF文件,說明TrustRank演算法的應用。感興趣的讀者可以在下面這個網址下載PDF文件:
TrustRank演算法並不是由Google提出的,不過由於Google所佔市場份額最大,而且TrustRank在Google排名中也是一個非常重要的因素,所以有些人誤以為TrustRank是Google提出的。更讓人糊塗的是,Google曾經把TrustRank申請為商標,但是TrustRank商標中的TrustRank指的是Google檢測含有惡意代碼網站的方法,而不是指排名演算法中的信任指數。
基於這個假設,如果能挑選出可以百分百信任的網站,這些網站的TrustRank評為最高,這些trustrank最高的網站所連接的網站信任指數稍微降低,但也會很高。與此類似,第二層別信任的網站鏈接出去的第三層網站,信任度繼續下降。由於種種原因,好的網站也不可避免的會接到一些垃圾網站,不過離第一層網站點擊距離越近,所傳遞的信任指數就越高,第一級網站點擊距離越遠,信任指數將依次下降。這樣trustrank演算法,就能給所有網站計算出相應的信任指數,離第一層網站越遠,成為垃圾網真的可能性就越大。
PageRank,即網頁排名,是Google用來標識網頁的等級或重要性的一種演算法。
最早的搜索引擎採用的是 分類目錄 的方法,即通過人工對網頁進行分類並整理出高質量的網站。
隨著網頁數目的急劇增大,這種方法顯然無法實施。於是,搜索引擎進入了 文本檢索 的時代,即通過計算用戶的查詢語句與網頁內容的相關程度來返回搜索結果。比如通過向量空間模型將輸入的檢索詞和文件轉換成向量,通過計算兩個向量的夾角偏差程度(一般採用餘弦距離)來衡量相關性。這種方法雖然能處理大量網頁,但是效果卻並不是很好,比如存在一些作弊行為:某些網頁重復倒騰某些關鍵詞從而使自己的搜索排名靠前。
於是,谷歌的兩位創始人,當時還是美國斯坦福大學研究生的佩奇 (Larry Page) 和布林 (Sergey Brin) 開始了對網頁排序問題的研究。他們受學術界對學術論文重要性的評估方法(論文引用次數)的啟發,提出了PageRank演算法。
PageRank的核心思想其實十分簡單,概括如下:
如果一個網頁被很多其它網頁鏈接到,說明這個網頁很重要,它的PageRank值也會相應較高;
如果一個PageRank值很高的網頁鏈接到另外某個網頁,那麼那個網頁的PageRank值也會相應地提高。
HillTop,是一項搜索引擎結果排序的專利,是Google的一個工程師Bharat在2001年獲得的專利。Google的排序規則經常在變化,但變化最大的一次也就是基於HillTop演算法進行了優化。
5. 有誰知道搜索引擎的原理及內部的演算法
在浩如煙海的Internet上,特別是其上的Web(World Wide Web萬維網)上,不會搜索,就不會上網。網蟲朋友們,你了解搜索引擎嗎?它們是怎麼工作的?你都使用哪些搜索引擎?今天我就和大家聊聊搜索引擎的話題。
一、搜索引擎的分類
獲得網站網頁資料,能夠建立資料庫並提供查詢的系統,我們都可以把它叫做搜索引擎。按照工作原理的不同,可以把它們分為兩個基本類別:全文搜索引擎(FullText Search Engine)和分類目錄Directory)。
全文搜索引擎的資料庫是依靠一個叫「網路機器人(Spider)」或叫「網路蜘蛛(crawlers)」的軟體,通過網路上的各種鏈接自動獲取大量網頁信息內容,並按以定的規則分析整理形成的。Google、網路都是比較典型的全文搜索引擎系統。
分類目錄則是通過人工的方式收集整理網站資料形成資料庫的,比如雅虎中國以及國內的搜狐、新浪、網易分類目錄。另外,在網上的一些導航站點,也可以歸屬為原始的分類目錄,比如「網址之家」。
全文搜索引擎和分類目錄在使用上各有長短。全文搜索引擎因為依靠軟體進行,所以資料庫的容量非常龐大,但是,它的查詢結果往往不夠准確;分類目錄依靠人工收集和整理網站,能夠提供更為准確的查詢結果,但收集的內容卻非常有限。為了取長補短,現在的很多搜索引擎,都同時提供這兩類查詢,一般對全文搜索引擎的查詢稱為搜索「所有網站」或「全部網站」,比如Google的全文搜索(http://www.google.com/intl/zh-CN/);把對分類目錄的查詢稱為搜索「分類目錄」或搜索「分類網站」,比如新浪搜索和雅虎中國搜索(http://cn.search.yahoo.com/dirsrch/)。
在網上,對這兩類搜索引擎進行整合,還產生了其它的搜索服務,在這里,我們權且也把它們稱作搜索引擎,主要有這兩類:
⒈元搜索引擎(META Search Engine)。這類搜索引擎一般都沒有自己網路機器人及資料庫,它們的搜索結果是通過調用、控制和優化其它多個獨立搜索引擎的搜索結果並以統一的格式在同一界面集中顯示。元搜索引擎雖沒有「網路機器人」或「網路蜘蛛」,也無獨立的索引資料庫,但在檢索請求提交、檢索介面代理和檢索結果顯示等方面,均有自己研發的特色元搜索技術。比如「metaFisher元搜索引擎」
(http://www.hsfz.net/fish/),它就調用和整合了Google、Yahoo、AlltheWeb、網路和OpenFind等多家搜索引擎的數據。
⒉集成搜索引擎(All-in-One Search Page)。集成搜索引擎是通過網路技術,在一個網頁上鏈接很多個獨立搜索引擎,查詢時,點選或指定搜索引擎,一次輸入,多個搜索引擎同時查詢,搜索結果由各搜索引擎分別以不同頁面顯示,比如「網際瑞士軍刀」(http://free.okey.net/%7Efree/search1.htm)。
二、搜索引擎的工作原理
全文搜索引擎的「網路機器人」或「網路蜘蛛」是一種網路上的軟體,它遍歷Web空間,能夠掃描一定IP地址范圍內的網站,並沿著網路上的鏈接從一個網頁到另一個網頁,從一個網站到另一個網站採集網頁資料。它為保證採集的資料最新,還會回訪已抓取過的網頁。網路機器人或網路蜘蛛採集的網頁,還要有其它程序進行分析,根據一定的相關度演算法進行大量的計算建立網頁索引,才能添加到索引資料庫中。我們平時看到的全文搜索引擎,實際上只是一個搜索引擎系統的檢索界面,當你輸入關鍵詞進行查詢時,搜索引擎會從龐大的資料庫中找到符合該關鍵詞的所有相關網頁的索引,並按一定的排名規則呈現給我們。不同的搜索引擎,網頁索引資料庫不同,排名規則也不盡相同,所以,當我們以同一關鍵詞用不同的搜索引擎查詢時,搜索結果也就不盡相同。
和全文搜索引擎一樣,分類目錄的整個工作過程也同樣分為收集信息、分析信息和查詢信息三部分,只不過分類目錄的收集、分析信息兩部分主要依靠人工完成。分類目錄一般都有專門的編輯人員,負責收集網站的信息。隨著收錄站點的增多,現在一般都是由站點管理者遞交自己的網站信息給分類目錄,然後由分類目錄的編輯人員審核遞交的網站,以決定是否收錄該站點。如果該站點審核通過,分類目錄的編輯人員還需要分析該站點的內容,並將該站點放在相應的類別和目錄中。所有這些收錄的站點同樣被存放在一個「索引資料庫」中。用戶在查詢信息時,可以選擇按照關鍵詞搜索,也可按分類目錄逐層查找。如以關鍵詞搜索,返回的結果跟全文搜索引擎一樣,也是根據信息關聯程度排列網站。需要注意的是,分類目錄的關鍵詞查詢只能在網站的名稱、網址、簡介等內容中進行,它的查詢結果也只是被收錄網站首頁的URL地址,而不是具體的頁面。分類目錄就像一個電話號碼薄一樣,按照各個網站的性質,把其網址分門別類排在一起,大類下面套著小類,一直到各個網站的詳細地址,一般還會提供各個網站的內容簡介,用戶不使用關鍵詞也可進行查詢,只要找到相關目錄,就完全可以找到相關的網站(注意:是相關的網站,而不是這個網站上某個網頁的內容,某一目錄中網站的排名一般是按照標題字母的先後順序或者收錄的時間順序決定的)。
搜索引擎並不真正搜索互聯網,它搜索的實際上是預先整理好的網頁索引資料庫。
真正意義上的搜索引擎,通常指的是收集了網際網路上幾千萬到幾十億個網頁並對網頁中的每一個詞(即關鍵詞)進行索引,建立索引資料庫的全文搜索引擎。當用戶查找某個關鍵詞的時候,所有在頁面內容中包含了該關鍵詞的網頁都將作為搜索結果被搜出來。在經過復雜的演算法進行排序後,這些結果將按照與搜索關鍵詞的相關度高低,依次排列。
現在的搜索引擎已普遍使用超鏈分析技術,除了分析索引網頁本身的內容,還分析索引所有指向該網頁的鏈接的URL、AnchorText、甚至鏈接周圍的文字。所以,有時候,即使某個網頁A中並沒有某個詞比如「惡魔撒旦」,但如果有別的網頁B用鏈接「惡魔撒旦」指向這個網頁A,那麼用戶搜索「惡魔撒旦」時也能找到網頁A。而且,如果有越多網頁(C、D、E、F……)用名為「惡魔撒旦」的鏈接指向這個網頁A,或者給出這個鏈接的源網頁(B、C、D、E、F……)越優秀,那麼網頁A在用戶搜索「惡魔撒旦」時也會被認為更相關,排序也會越靠前。
搜索引擎的原理,可以看做三步:從互聯網上抓取網頁→建立索引資料庫→在索引資料庫中搜索排序。
從互聯網上抓取網頁
利用能夠從互聯網上自動收集網頁的Spider系統程序,自動訪問互聯網,並沿著任何網頁中的所有URL爬到其它網頁,重復這過程,並把爬過的所有網頁收集回來。
建立索引資料庫
由分析索引系統程序對收集回來的網頁進行分析,提取相關網頁信息(包括網頁所在URL、編碼類型、頁面內容包含的關鍵詞、關鍵詞位置、生成時間、大小、與其它網頁的鏈接關系等),根據一定的相關度演算法進行大量復雜計算,得到每一個網頁針對頁面內容中及超鏈中每一個關鍵詞的相關度(或重要性),然後用這些相關信息建立網頁索引資料庫。
在索引資料庫中搜索排序
當用戶輸入關鍵詞搜索後,由搜索系統程序從網頁索引資料庫中找到符合該關鍵詞的所有相關網頁。因為所有相關網頁針對該關鍵詞的相關度早已算好,所以只需按照現成的相關度數值排序,相關度越高,排名越靠前。
最後,由頁面生成系統將搜索結果的鏈接地址和頁面內容摘要等內容組織起來返回給用戶。
搜索引擎的Spider一般要定期重新訪問所有網頁(各搜索引擎的周期不同,可能是幾天、幾周或幾月,也可能對不同重要性的網頁有不同的更新頻率),更新網頁索引資料庫,以反映出網頁內容的更新情況,增加新的網頁信息,去除死鏈接,並根據網頁內容和鏈接關系的變化重新排序。這樣,網頁的具體內容和變化情況就會反映到用戶查詢的結果中。
互聯網雖然只有一個,但各搜索引擎的能力和偏好不同,所以抓取的網頁各不相同,排序演算法也各不相同。大型搜索引擎的資料庫儲存了互聯網上幾億至幾十億的網頁索引,數據量達到幾千G甚至幾萬G。但即使最大的搜索引擎建立超過二十億網頁的索引資料庫,也只能佔到互聯網上普通網頁的不到30%,不同搜索引擎之間的網頁數據重疊率一般在70%以下。我們使用不同搜索引擎的重要原因,就是因為它們能分別搜索到不同的內容。而互聯網上有更大量的內容,是搜索引擎無法抓取索引的,也是我們無法用搜索引擎搜索到的。
你心裡應該有這個概念:搜索引擎只能搜到它網頁索引資料庫里儲存的內容。你也應該有這個概念:如果搜索引擎的網頁索引資料庫里應該有而你沒有搜出來,那是你的能力問題,學習搜索技巧可以大幅度提高你的搜索能力。
6. 關於java新聞網站的演算法
(一)演算法倫理的研究
1.演算法內涵界定。演算法源於數學,但現代演算法又遠遠不止於傳統數學的計算范疇。演算法多被理解為是計算機用於解決問題的程序或步驟,是現代人工智慧系統的運行支柱。《計算主義:一種新的世界觀》(李建會等,2012)中將演算法定義為能行的方法,在外界的常識性理解中所謂演算法就是能感受到的一套運算規則,這個規則的特點在於運算時間的有限性、計算步驟的有窮性、輸入結果的確切性,它是機械步驟或能行可算計程序。該定義點明了演算法應具備的兩個基本屬性—或侍李—有限性與有窮性。《用計算的觀點看世界》(酈全民,2016)則從信息傳播的角度解讀演算法,認為演算法實質上是信息處理方法。
2.演算法倫理研究
倫理關乎道德價值真理及其判斷。存在於自然界、社會中的人,其行為應遵循一定的倫理道德規范。倫理的效應要導向善。倫理道德關注對個體存在的尊重、個體的自由、公平正義以及組織團體的延續與發展等問題。在一定程度上可以說,當今的人類社會已經不能脫離智能演算法系統而運行了。
演算法無時無處不在對世界產生影響,因而演算法也會必然的觸碰到倫理道德。和鴻鵬(2017)已指出,演算法系統在人類社會生活中的廣泛應用,會陷入諸多如人類面臨且無法迴避的倫理兩難選擇困境之中。而當演算法與倫理發生關聯時,學界一般認為會引出職業倫理和技術倫理兩種倫理問題。
職業倫理主要與演算法系統的開發者有關,指開發者是帶有個性價值觀、倫理道德觀去研發演算法系統的行為體,因而演算法系統一開始便會摻雜著設計人主觀性的倫理道德觀。設計者出於何種目的開發某演算法系統、面對不同問題設計者持有的倫理道德態度,這些衫遲都會在演算法系統的運行中得到體現。
技術倫理是演算法系統在一定意義上可稱之為一種科學技術,這種技術自身及其運作結果都會負載著倫理價值。其實在一些情況下,職業倫理與技術倫理之間並沒有很明確的界別,關於這一點,劉則淵跟王國豫已做過論述。
本文將主要從技術倫理的角度對演算法關涉倫理這一問題嘗試做深入研究。
(二)網路新聞傳播的演算法倫理研究
演算法與技術的融合不斷英語於網路新聞傳播領域中,從數據新聞到機器寫作,從演算法推送到輿情到分析,國內新聞傳媒領域的機器新聞和相關研究逐漸發展,金兼斌在《機器新聞寫作:一場正在發生的革命》(2014),作者較早的將眼光聚焦於基於演算法的新聞內容生產和編輯。認為在自動化新聞生產大發展的前提下,諸如新聞生產或分發中勞動密集型的基礎性工作與環節都將被技術取代。張超、鍾新在《從比特到人工智慧:數字新聞生產的演算法轉向》(2017)認為演算法正在從比特形式走向人工智慧階段,這種轉向使得數字新聞與傳統新聞的邊界進一步明晰,促使數字新聞生產也產生了變革。胡萬鵬在《智能演算法推薦的倫理風險及防範策略》中總結了從演算法推送方面:針對新聞的價值觀所受到的負面影響;以及新聞的公共性、客觀性和真實性受到的削弱進行分析;從受眾方面:將具體對信息繭房現象以及受眾的知情權和被遺忘權展開探討;從社會影響方面,則針對社會群體、社會公共領域和社會文化所受到的消極影響展開論述。
根據以上文獻的梳理可以看出,國內目前對網路新聞傳播的演算法倫理研究主要集中在新聞業態演算法倫理失范的相關問題,因為與其他失范問題相比,這是比較容易發現的。但目前關於網路新聞傳播的演算法倫理的國內研究還存在不足:國內算談棚法倫理和網路新聞傳播演算法倫理的研究還是在起步階段,比較成熟的系統性研究還未出現;關於演算法開發人員和平台的責任機制的研究都比較薄弱,總上所述,演算法推送新聞的倫理問題研究是有必要繼續加強的。
2.新聞推薦演算法的興起、發展與原理
2.1新聞推薦演算法的興起
隨著計算機技術的信息處理的維度越來越高,信息處理的能力不斷提升,演算法技術可以從大數據中篩選出用戶最關心最感興趣的信息,改變了原有的新聞信息傳播方式,重塑了新的媒介生態和傳播格局。
但反過來看,在人人都能生產信息的背景下,信息的生產、傳播和反饋的速度都是呈幾何倍數增長,用戶面對的信息越來越多。由於設備的局限性和信息海量,用戶無法集中注意力看自己感興趣的內容,也無法及時抓取對自己有用的信息,於是出現了「注意力經濟」。美國經濟學家邁克爾·戈德海伯(1997)認為,當今社會是一個信息極大豐富甚至泛濫的社會,而互聯網的出現,加快了這一進程,信息非但不是稀缺資源,相反是過剩的。相對於過剩的信息,只有一種資源是稀缺的,那就是人們的注意力。換句話說,信息不能夠一味追求量,還要有價值,價值就在於用戶對信息的注意力,誰獲得了用戶的注意力就可以有市場的發展空間,通過「販賣」用戶的注意力能夠使新媒體聚合平台獲得利潤,維持發展。再加上現在生活節奏越來越快,人們對信息獲取的量和效率要求提高,不想把時間浪費在自己不感興趣的信息,從而用戶獲取信息的「個性化」特徵變得明顯起來。
基於此背景下,演算法推送新聞的傳播機制應運而生,用戶不需要特意搜索自己需要的信息,而是海量的信息會自行「找到」用戶,為用戶節省搜索時間之餘,又能做到真正為用戶提供有用的信息。
2.2新聞推薦演算法的發展現狀
演算法推薦是依據用戶數據為用戶推薦特定領域的信息,根據受眾使用反饋不斷修正並完善推薦方案。目前主要有兩類新聞機構使用演算法推送,其一是新型的互聯網新聞聚合類平台,國內主要是以今日頭條和一點資訊等演算法類平台為代表,在我國新聞客戶端市場上擁有極高的佔有率。張一鳴創建今日頭條是依靠大數據和演算法為用戶推薦信息,提供連接人與信息的服務,演算法會以關鍵詞等元素判斷用戶的興趣愛好,從全網抓取內容實現個性化推薦。國外則是以Facebook、Instagram等平台為代表,這些APP都是通過演算法挖掘用戶的數據,以用戶個性化需求為導向對用戶進行新聞推送。另一種則是專業新聞生產的傳統媒體,為積極應對新聞市場的競爭和提高技術水平而轉型到新聞全媒體平台,如國內的「人民日報」等,國外利用演算法推送向用戶推送新聞的傳統媒體則有美國的美聯社、華盛頓郵報和英國的BBC等,他們利用演算法監督受眾的數量還有閱讀行為,使他們的新聞報道能夠更加受受眾的喜歡,增加用戶的粘性。
2.2新聞推薦演算法的原理
2.2.1新聞推薦演算法的基本要素
演算法推送有三個基本要素,分別是用戶、內容和演算法。用戶是演算法推送系統的服務對象,對用戶的理解和認知越是透徹,內容分法的准確性和有效性就越准確。內容是演算法推送系統的基本生產資料,對多種形式內通的分析、組織、儲存和分發都需要科學的手段與方法。演算法是演算法推送技術上的支持,也是最核心的。系統中大量用戶與海量的信息是無法自行匹配的,需要推送演算法把用戶和內容連接起來,在用戶和內容之間發揮橋梁作用,高效把合適的內容推薦給合適的用戶。
2.2.2新聞推薦演算法的基本原理
演算法推送的出現需要具備兩個條件:足夠的信息源和精確的演算法框架。其中,演算法的內容生產源與信息分發最終效果密切相關:是否有足夠多的信息可供抓取與信息是否有足夠的品質令用戶滿意都將對信息的傳播效果產生影響。與此同時,分發環節也在向前追溯,改變著整個傳播的生態。目前,國內新聞傳播領域所使用的演算法推送主要有三大類——協同過濾推送、基於內容推送和關聯規則推送。
協同過濾推送分為基於用戶的協同過濾和基於模型的協同過濾。前者主要考慮的是用戶和用戶之間的相似度,只要找出相似用戶喜歡的新聞文章類別,並預測目標用戶對該文章的喜歡程度,就可以將其他文章推薦給用戶;後者和前者是類似的,區別在此時轉向找到文章和文章之間的相似度,只有找到了目標用戶對某類文章的喜愛程度,那麼我們就可以對相似度高的類似文章進行預測,將喜愛程度相當的相似文章推薦給用戶。因此,前者利用用戶歷史數據在整個用戶資料庫中尋找相似的推送文章進行推薦,後者通過用戶歷史數據構造預測模型,再通過模型進行預測並推送。
基於內容的推送即根據用戶歷史進行文本信息特徵抽取、過濾,生成模型,向用戶推薦與歷史項目內容相似的信息。它的優點之一就是解決了協同過濾中數據稀少時無法准確判斷分發的問題。但如果長期只根據用戶歷史數據推薦信息,會造成過度個性化,容易形成「信息繭房」。
關聯規則推送就是基於用戶歷史數據挖掘用戶數據背後的關聯,以分析用戶的潛在需求,向用戶推薦其可能感興趣的信息。基於該演算法的信息推薦流程主要分為兩個步驟,第一步是根據當前用戶閱讀過的感興趣的內容,通過規則推導出用戶還沒有閱讀過的可能感興趣的內容;第二是根據規則的重要程度,對內容排序並展現給用戶。關聯規則推送的效果依賴規則的數量和質量,但隨著規則數量的增多,對系統的要求也會提高。
2.2.3演算法推送的實現流程
在信息過載的時代,同一個新聞選題有很多同質化的報道,因此分發前需要對新聞內容進行消重,消重後的新聞內容便等待推送,此時的推送有三個類別:啟動推送、擴大推送和限制推送。
3.「今日頭條」新聞推薦演算法分析
「今日頭條」是國內一款資訊類的媒體聚合平台,每天有超過1.2億人使用。從「你關心的,才是頭條!」到如今的「信息創造價值!」,產品slogan的變化也意味著今日頭條正逐漸擺脫以往單一、粗暴的流量思維,而開始注重人與信息的連接,在促進信息高效、精準傳播的同時注重正確的價值引導。
在2018年初,「今日頭條」的資深演算法架構師曹歡歡博士在一場分享交流會上公開了其演算法運行原理。在他的敘述中,非常詳細地介紹了「今日頭條」的演算法推薦系統概述以及演算法推薦系統的操作原理。
3.1.1-1曹歡歡博士的今日頭條演算法建模
上圖用數學形式化的方法去描述「今日頭條」的演算法推送,實際上就是一個能夠得出用戶對內容滿意程度的函數:即y為用戶對內容的滿意度,Xi,Xc,Xu分別是今日頭條公開的演算法推送的三個維度:Xi是用戶,包括用戶的性別、年齡、職業和興趣標簽,還有其他演算法模型刻畫的隱形用戶偏好等;Xc是環境,這也是移動互聯網時代新聞推送的特點,由於用戶隨時隨地在不停移動,移動終端也在移動,用戶在不同的工作場合、旅行等場景信息推送偏好也會不同;Xu是內容,今日頭條本身就是信息聚合類平台,平台上涵蓋各種不同形式的內容。本章將以該函數為基礎,逐一分析今日頭條的推薦演算法。
3.1推薦維度之一:內容分析
內容分析原指第二次世界大戰期間,傳播學家拉斯韋爾等研究學家組織了「戰士通訊研究」的工作,以德國公開出版的戰時報紙為分析研究對象,弄清報紙內容本質性的事實和趨勢,揭示隱含的隱性情報內容,獲取了許多軍情機密情報並且對事態發展作出情報預測。在「今日頭條」中,內容分析則是對文章、視頻內容提取關鍵要素,通過對文本、視頻標題關鍵字進行語義識別,給內容進行分類。「今日頭條」的推送系統是典型的層次化文本分類演算法,來幫助每篇新聞找到合適的分類,比如:第一大分類是政治、科技、財經、娛樂、體育等,體育類可以下分籃球、足球、網球等,足球又可以下分中國足球和國際足球,中國足球最後下分為甲、中超、國家隊等。這一步是對文章進行對這個工作主要目的是對文章進行分類,方便以後對客戶推薦。
想要內容分析實現效果,則需要海量的內容信息給演算法系統提供有效的篩選和分類。「今日頭條」既然是依賴於演算法推送新聞,那它背後的資料庫必然是強大的,「網頁蜘蛛」和「頭條號」就是支撐今日頭條平台消息來源的重要渠道,其消息來源極其豐富,何時何地有何新鮮事,都能高效率抓取信息。
第一個消息來源的渠道是「網頁蜘蛛」,「網頁蜘蛛」又叫網頁爬蟲,頭條使用的就是搜索引擎爬蟲叫「Bytespider」。它能按照一定的規則,自動爬行抓取互聯網的信息或腳本,就像蜘蛛通過蛛網進行捕食,當發現新的信息資源,蜘蛛會立刻出動抓取信息內容並將其收入自己的資料庫中。和微信的垂直搜索不同,Bytespider是能夠抓取全網內容的全新搜索引擎,因此「今日頭條」的搜索引擎功能很全面,搜索的資源很廣,資源包容性極高。
Bytespider信息抓取的基本流程如下:首先是網頁抓取。Bytespider順著網頁中的超鏈接,從這個網站爬到另一個網站,通過超鏈接分析連續訪問抓取更多網頁。被抓取的網頁被稱之為網頁快照。由於互聯網中超鏈接的應用很普遍,理論上,從一定范圍的網頁出發,就能搜集到絕大多數的網頁。第二步是處理網頁。搜索引擎抓到網頁後,還要做大量的預處理工作,才能提供檢索服務。其中,最重要的就是提取關鍵詞,建立索引庫和索引。其他還包括消除重復網頁、判斷網頁類型、分析超鏈接、計算網頁的重要度、豐富度等。第三步提供檢索服務。用戶輸入關鍵詞進行檢索,搜索引擎從索引資料庫中找到匹配該關鍵詞的網頁,為了用戶便於判斷,除了網頁標題和URL外,還會提供一段來自網頁的摘要以及其他信息。
3.2推薦維度之二:用戶分析
用戶分析通過提取用戶的有效數據,如用戶經常瀏覽的文字類型、經常搜索的關鍵字、注冊時登記信息的內容等,演算法系統可以將每個用戶的瀏覽記錄、瀏覽時間、留言、評論和轉發等行為進行關鍵字提取,最終形成用戶畫像,以便之後對用戶進行文章和視頻的精準推送。舉個例子,給喜歡閱讀「體育」的用戶標上「體育」標簽;給喜歡「娛樂」的用戶標上「娛樂」的標簽,這一步的作用是給用戶的興趣進行建模,包括用戶對文章和視頻的全局熱度、分類熱度,主題熱度,以及關鍵詞熱度等。熱度信息在大的推薦系統能夠解決新聞冷啟動問題,幫助新聞實現推送。
用戶分析還具有協同特徵,它可以在部分程度上幫助解決所謂演算法越推越窄的問題。協同特徵也就是「聯想式」的推送方法,並非只考慮用戶已有歷史,而是通過用戶行為分析不同用戶間相似性,比如點擊相似、興趣分類相似、主題相似、興趣詞相似,甚至向量相似,從而擴展模型的探索能力。根據用戶之間計算數據的相似程度,把用戶細化分類成為不同的目標群體,再向目標群體集中的推送其感興趣的新聞內容
內容分析和用戶分析是相輔相成的,如果沒有分析的文本標簽,無法得到用戶興趣標簽,沒有用戶的興趣標簽就無法給用戶定位實現精準推送。
3.3推薦維度之三:環境分析
環境分析就是根據文章的時效性和接近性推送給相應的用戶,比如獲取用戶當前所在位置是否在旅遊區,這個可以通過獲取用戶的實時位置來實現。還會不斷與用戶之前經常出現的所在地進行對比等方式確認當前狀態,分析出用戶是在常住地區還是在旅行。這時若系統檢測到用戶正在泰山及周邊遊玩,則可能會相應推送泰山的相關文章、周邊的交通新聞和天氣信息等等。
通過上面三個推薦維度可以作為數據基礎,分析當前用戶處於什麼環境,結合用戶畫像以及文章的內容分類來推薦,盡量做到推送的內容都是用戶所感興趣的。演算法系統還會通過內容分類、分析抽取,把文本相似度高的文章,包括新聞主題、內容相似的文章進行消重,解決推送重復的問題,進一步對目標用戶進行精確且不重復的內容推薦。最後過濾質量低俗色情的內容,以免造成平台會有負面傾向。
3.4「今日頭條」新聞推薦演算法的價值取向
3.4.1「用戶為上」
「今日頭條」的演算法推送是站在用戶的立場上的,以滿足用戶個性化和推送的精準性,「今日頭條」也重新衡量了新聞價值標准:以用戶為上,用戶對新聞內容和閱讀方式的滿意度便是平台推送新聞的價值宗旨。傳統媒體時代,只有報紙和電視,有什麼受眾就得看什麼,而如今「今日頭條」根據用戶興趣去進行推送。演算法推送平台用戶范圍廣,很多用戶熱衷關注負面,也有許多用戶都有窺視欲和好奇心,喜歡無聊八卦和無聊新聞,而且在好奇心作用下用戶都有從眾心理。這使得生產者過度去迎合受眾,只要是用戶喜歡看就可以發表在「今日頭條」上。
3.4.2「演算法主導」
「今日頭條」更注重技術分發,生產者是用戶,受眾者也是用戶,這樣一來內容監管和分發就很困難。演算法推送機制根據用戶愛好進行推送,這樣生產的內容快、也無疑會加速內容配送效率。在演算法推送模型中,用戶點擊頻率、閱讀時間、點贊評論以及轉發在演算法時代都是可以進行量化的目標。在這樣情況下生產的內容,想要獲得較大點擊率和推送率,需要標題才能吸引用戶,因為用戶在平台一眼能看到的就是標題和配圖。標題和配圖決定用戶是否會打開你的內容,這導致許多內容生產者在編輯新聞標題時陷入標題黨的怪圈,還有導致低俗內容的呈現,以製造沖突製造懸念貼標簽等方式引用戶點擊,意圖把自己的文章做成爆文。對於海量的信息內容,即使今日頭條數據和智能推薦做的再好,目前來說也難以抵擋海量的垃圾信息。
4.演算法推送新聞引發的倫理問題
在如今網路時代的傳播思維中,「用戶為上」、「演算法主導」的新聞價值取向已經在演算法聚合類平台成為了普遍,演算法推送技術作為吸引用戶的手段,搭建起一個充滿誘導的媒介環境,以此增加用戶對平台的粘性。演算法推送技術在獲取信息、傳播速度等方面與以往相比有著跨時代的進步,但與此同時,由於演算法推送技術的加入,衍生出新的倫理問題,並且日漸復雜化。
4.1演算法推送引發的倫理問題
4.1.1演算法推送過於機械化,沒有思考能力
單向的演算法推薦對用戶來說經常會帶來內容雜亂無章、信息量過大、信息價值低等問題。從邏輯講,演算法只是從關鍵字的檢索匹配來完成統計推薦,但對新聞報道或文學作品具有藝術性、專業性的內容來說,是不能保證推送的質量的。演算法方面,目前主要基於匹配檢索與統計,大部分都是個人關注的信息類型和標簽,難以達到較好的推送效果。一千個人眼裡有一千個哈姆雷特,但是計算機只有隻有一個。演算法技術過於注重機械化的統計,只根據關鍵詞來推薦用戶,對我們中國具有博大精深的中國文字文化底蘊,推薦演算法是遠遠不夠的。整個新聞客戶端顯得像是一個菜市場,沒有態度、沒有風格,閱讀感受單一化,呈現了碎片化的特點。新聞不只是讓用戶能夠了解身邊發生的新鮮事,還有宣傳正面思想和傳播正能量的作用,新聞應該還要給人們帶來新的思考。讓機器做出正確判斷很簡單,但是讓機器綜合心理學、社會學、乃至某細分領域內的規則做出判斷還要正確地引導受眾則很難,正如現在演算法技術還不能完成一篇富有人文性、文學性和批判性的深度報道,它止步在了碎片式的、表層的傳播范疇。
4.1.2容易引起「信息繭房」效應
「信息繭房」這一概念是凱斯.桑斯坦在《信息烏托邦》一書中提出的。意指受眾在過度的信息自我選擇之中,這樣會降低接觸外界其他信息的可能,從而將自己的生活桎梏於蠶繭一般的「蠶房」中的現象。人們的信息領域會習慣性被自己的興趣引導,信息窄化帶來了受眾對信息接收的單一性,這種單一性的可能會使受眾陷入循環,加重受眾信息同質化。
4.1.3演算法推送的「偽中立性」
客觀和全面是新聞倫理的基本要求,新聞從業者必須從可好信息源來獲取真實的信息,以客觀的態度反應現實。我們慣常認為,互聯網技術服務商是技術中立者,不需要承擔約束大眾媒體的社會責任,然而當信息把關人又新聞編輯轉變為演算法工程師,傳統的媒介倫理似乎已經失效。演算法具有商業傾向性,「中立性」是演算法平台用以逃避媒體責任的理由,給大眾媒介造成傳播亂象,如此一來更像是一場演算法平台「肆意妄為又不想負責」的詭辯。
演算法平台的信息源是經過選擇和過濾的,「頭條號」的內容占「今日頭條」整個信息系統的絕大部分,然而在「人人都可以做新聞人」的時代,頭條號平台是一個開放的網路媒介環境,存在大量的偏見和錯誤的認知。無論是「今日頭條」平台設立的演算法規則,還是其他爬蟲的抓取的關鍵詞,演算法系統的信息源很多是具有目的性的、有偏見和非客觀的信息,所以信息源不能直接作用於用戶。因此,篩選演算法系統的信息源與傳統的人工編輯相比較,范圍極廣且很難把關,若演算法被惡意利用,那麼使整個傳播系統將會被輕易控制。
4.1.4演算法推送里的「議程設置」
原議程設置功能揭示的重要內涵是:「受眾對新聞的看法雖然被大眾媒體議程設置功能所主導,但其更深刻的是議程設置給大眾媒體新聞帶來放大與延伸,從而使受眾對新聞選擇做出能動性修正,讓受眾在滿足需求和媒介依賴中逐漸培養出的潛在認同感」。
推送演算法技術在互聯網平台的運用,使原來傳統媒體主導的議程設置過程發生了變化,伴隨著傳播權的轉移、公眾參與度的提高和信息量劇增等原因導致議程設置功逐漸能減弱。過往傳統新聞的內容是由編輯有選擇地進行報道後再呈現在受眾面前的,而個性化新聞推送是用戶自己來選擇看哪一方面的內容,而這一環節中,天然的技術賦權將傳播權從傳統媒體下放至平台的用戶,使得受眾和社會的連接無需依賴傳統媒介,新聞媒體作為把關人的作用和議程設置功能都在減弱。
4.2演算法新聞治理缺陷下的演算法權利異化
演算法作為人工智慧的基石之一,是「一種有限、確定、有效並適合用計算機程序來實現的解決問題的方法,是計算機科學的基礎」。近年來,伴隨人工智慧深度學習演算法取得的重大突破和大數據時代的到來,人工智慧的應用場景不斷拓展,人工智慧時代正逐漸從想像成為現實。藉助於海量的大數據和具備強大計算能力的硬體設備,擁有深度學習演算法的人工智慧機器可以通過自主學習和強化訓練來不斷提升自身的能力,解決很多人類難以有效應對的治理難題。伴隨人工能演算法在國家和社會治理中重要性的日漸凸顯,國家和社會對於演算法的依賴也逐漸加深,一種新型的權力形態——演算法權力也隨之出現。
可以把演算法權利分為四種:數據主權、演算法設計權、研發的資本權和演算法控制權。由於前三種權利都是單向的、演算法開發者賦予演算法的權利,是屬於演算法開發者的,與演算法分發平台呈現的效果沒有直接的影響,所以本文將著重論述演算法控制權。
演算法控制權是雙向的,用戶是演算法技術數據行為的提供者,同時又是被演算法技術控制的受害者。例如我們看到「今日頭條」會通過推送演算法來監管用戶的發布和瀏覽行為,同時平台會通過演算法決策系統來實現內容的發布去引導用戶。演算法控制權當然是一種天然技術賦予的權利,但演算法控制權是在用戶提供數據行為的情況下才得以實現的,因此演算法控制權既存在內容生產權,同時有要尊重和保護演算法相對人的義務。
正因為如此,演算法技術被認為是一種雙刃劍,一方面演算法能夠做出精準的行為預測,可以為管理者提供非常好的循環干預機制;對於公共行為主體來說,可以通過對大數據的應用來解決社會治理問題,對於私人主體來說可以藉助數據來提供個性化和定製化的服務;另一方面,演算法技術存在著諸如利益和風險不對稱等問題,而且由於演算法技術發展的超前性,新科技的創造者具備不對稱的信息和技術優勢,能夠按照自身利益的需求來塑造在平台上的演算法推送邏輯和社會系統,這帶來了監管的不確定性。人們要通過集體行為去承擔社會責任,通過這樣的方式規制演算法權利,可以讓我們能夠對演算法分發系統的意義和價值得到更深刻的思考。