張榮磊++宋洋++田愛奎++譚浩
摘要:該論文利用社會網絡分析法,對Web上特定主題的權威網頁進行了挖掘。實驗通過Google搜索引擎選取一定數量的待驗證權威網頁,并利用網絡爬蟲爬取一定數量的URL,構造了特定主題的網絡結構,然后利用中心性分析以及凝聚子群分析挖掘出該特定網絡的權威網頁,通過與待驗證權威網頁進行比較,驗證了實驗方法的正確性,最后,對實驗方法的后續(xù)改進進行了探討。
關鍵詞:社會網絡分析;權威網頁;URL;網絡爬蟲;中心性分析
中圖分類號: G350 文獻標識碼: A 文章編號:1009-3044(2016)20-0069-03
萬維網的出現(xiàn)以及快速發(fā)展使得網絡上的網頁數量呈現(xiàn)爆炸式的增長,截止2014年底,僅中國的網頁數量就已達到1899億個,年增長26.6%[1]。如何快速、有效的從數以千億級的網頁中尋找到用戶需要的網頁信息,成為學術界廣泛關注的一個話題?;ヂ?lián)網中的網頁鏈接關系跟現(xiàn)實社會中人與人之間的關系相類似,而社會網絡分析方法又是分析人類群體關系的主要分析方法,如果將社會網絡分析法應用于網頁信息搜索,是否會有同樣的效果?本文通過進行實驗分析,對社會網絡分析法應用于權威網頁挖掘的可行性進行了驗證。
1基于主題的網頁關系構建
由于Google搜索引擎是基于PageRank算法設計實現(xiàn)的,實驗利用Google搜索引擎進行權威網頁的選取。將獲取到的權威網頁作為種子URL,利用設計的網絡爬蟲對種子URL進行給定深度的爬取,獲取實驗需要的原始URL數據集。
1.1 種子URL選取
首先選取任意主題信息,如“Python”,并利用Google搜索引擎對“Python”進行搜索,取排名前50位的網頁,記錄并保存網頁地址作為需要驗證的權威網頁部分URL如表1所示。
1.2 利用網絡爬蟲獲取URL
利用設計的網絡爬蟲對50條種子URL分別進行深度為1的爬取,總共得到約5500條子URL。這5500條原始URL包含大量重復及無效網頁,如廣告網頁、過期網頁,因此還需要對這部分URL進行相應的處理。
去重完畢后還需要對獲取到的URL集進行有效性處理,將URL輸入瀏覽器,查看是否屬于廣告鏈接或者過期網頁。大部分無效URL對實驗的結果不會產生影響,可以忽略無效URL的濾取,但忽略這一步會使后續(xù)分析更復雜,因此要盡可能過濾無效URL。最終種子URL與爬取到的URL共323條。
1.3 構建URL鄰接矩陣
社會網絡分析需要的是矩陣形式的數據,因此,需要將獲取到的URL整理成鄰接矩陣形式。由于URL長度過長,數據錄入不方便,因此實驗中將每一條URL用數字編號代替,如表2所示。
利用Excel 2007或后續(xù)版本進行鄰接矩陣的輸入,將編號1至323分別輸入到第一行與第一列。矩陣中的任一項aij代表第i條URL與第j條URL之間的鏈接關系,為1表示編號為i的URL鏈接了編號為j的URL,反之則代表沒有鏈接關系。在對矩陣進行0、1分析時,由于涉及子ULR的鏈接,因此還需要對子URL進行深度為1的爬取,以確認子URL與其他URL之間的鏈接關系。對角線上的值由于沒有意義不進行處理,最終得到一個323×323的鄰接非對稱矩陣,后續(xù)在進行社會網絡分析時還需要對該非對稱矩陣其進行對稱化處理。
2 實驗分析
社會網絡分析通常利用中心性分析以及凝聚子群分析等多種方法對人類社會群體進行分析。通過中心性分析可以了解到一個群體中每個成員的重要程度,比較常用的中心性指標有:點度中心度與點度中心勢、中間中心度與中間中心勢和接近中心度與接近中心勢。利用中心性分析可以對URL鏈接進行相同的分析,從而明確URL網絡結構圖中每條URL的重要程度,越重要的URL則可以認為它具有更高的權威性。
2.1 中心性分析
1) 點度中心度分析
點度中心度分析就是對網絡結構圖中的成員節(jié)點進行出入度計算。點入度即指向某一節(jié)點的節(jié)點成員數,點出度則為該節(jié)點指向其他節(jié)點的成員數。一個節(jié)點若被網絡中的大多數節(jié)點所指向,那么就可以認為它在網絡中處于重要的位置,具有較高的權威性。
在UCINET[中選擇Network→centrality→Degree...,導入生成的.##h文件,UCINET會自動生成并彈出.txt格式的中心性計算結果。計算結果包含網絡中每個節(jié)點的點入度與點出度,并且是以每個節(jié)點的點出度大小進行的排名,而實驗更加關注的是點入度,因此,需要按照每個URL的點入度大小從新進行排序。部分排序結果如表3所示。
通過對點入度排名進行分析發(fā)現(xiàn),編號為46、95、128、148、150、186、241、242等URL具有較大的點入度值,且它們都屬于原50條種子URL,可以初步斷定這些URL具有一定的權威性。
2) 中間中心度分析
中間中心度用于分析群體成員作為媒介的能力。如果群體中某一個成員具有較高的中間中心度,那么他就可以通過控制與其他成員之間的信息交流來對整個群體產生影響。因此,可以認為具有較高中間中心度的成員也具有一定的權威性。通過對URL網絡結構圖進行分析,那些具有較高中間中心度的URL就可以認為它們比其他URL具有更高的權威性。
在分析中間中心度時,還需要對URL鄰接矩陣進行對稱化處理,通過Transform→Symmetrize...,導入原.##h文件,自動生成對稱化處理的Sym.##h文件。接著利用Network→Centrality→Freeman Betweenness→Node Betweenness,導入生成的Sym.##h文件,UCINET同樣彈出.txt格式的中間中心度計算結果,部分結果如表4所示。
觀察發(fā)現(xiàn),中間中心度值較高的URL,如46號、95號、150號、186號、241號等,與前面點度中心度值較高的URL相吻合,即都屬于50個種子URL。
2.2 凝聚子群分析
中心性分析初步證明了社會網絡分析法在權威網頁挖掘的可行性,若利用凝聚分析同樣可以得到相同的結果,那么就可以認為社會網絡分析法在權威網頁挖挖掘的正確性。凝聚子群分析也有多種分析方法,如:成分分析,n-派系和n-宗派分析,k-叢分析等。此實驗只選取建立在點度基礎上的k-叢分析進行驗證。
在UCINET中選擇Network→Subgroups→K-Plex...,導入Sym.##h文件,設置相應的k值、n值即可。k值、n值需要用戶自己多次嘗試才能最終得到合適的子群。經過多次帶入k值、n值,最終k取2,n取5,得到46個子群,部分分析結果如表5所示。
觀察完整的表5叢分析結果,編號為46、49、150、164、241等URL在絕大多數子群中出現(xiàn),說明它們在網絡中具有重要作用,而這些URL同樣出現(xiàn)在中心性分析結果中,即都屬于50個種子URL。
至此可得出結論,利用社會網絡分析得到的網頁符合權威網頁的特征,該方法正確性得以驗證。
3 結語
實驗首先利用較為成熟的Google搜索引擎搜索給定主題的URL,并利用網絡爬蟲爬取一定數量的URL集,隨后利用社會網絡分析法對收集到的URL集進行了分析,最后得出:利用中心性分析以及凝聚子群分析得到的網頁符合權威網頁的特征,從而證實了實驗的有效性。
但該實驗方法也存在一定的不足:
1) 實驗數據的整理工作需要手動進行,需要耗費大量精力。后續(xù)研究需要找到快速處理URL的方法。
2) 實驗用到的網絡爬蟲功能較為簡單,在使用網絡爬蟲時會爬取到大量與給定主題無關的網頁,這也是造成數據整理困難的主要原因。后續(xù)工作將增加網絡爬蟲的功能,使其能夠爬取給定主題的網頁。
3) URL爬取量也較少,導致URL網絡結構稀疏,影響實驗的可信度。下一步在改進網絡爬蟲功能的同時,還需要增加網絡爬蟲爬取的深度,使實驗可信度更高。
參考文獻:
[1] 中國互聯(lián)網絡發(fā)展狀況統(tǒng)計報告[R].中國互聯(lián)網絡信息中心,2013.
[2] 王芳.基于主題的Deep Web搜索引擎研究與探索[D]. 長安大學,2008.
[3] Kleinberg, J. Authoritative sources in a hyperlinked environment[J]. Journal of the ACM, 1999,46(5):604-632.
[4] Brin S, P. Lawrence. The anatomy of a large-scale hypertextual web search engine[J]. Computer Networks, 1998, 30(1-7):107-117.