方育柯, 傅 彥, 周俊臨, 夏 虎
(電子科技大學計算機科學與工程學院 四川成都610054)
基于主題網絡爬蟲的不良網頁的發(fā)現與識別
方育柯, 傅 彥, 周俊臨, 夏 虎
(電子科技大學計算機科學與工程學院 四川成都610054)
針對互聯(lián)網中出現的大量不良內容,分析出其主要特征,首次提出將不良網頁的文本特征與搜索引擎中網絡爬蟲相結合的技術來主動尋找互聯(lián)網中的不良網頁及不良網站,并將結果分級別反饋到用戶層以便對不良網頁和網站進行處理,以達到凈化網絡環(huán)境的目的.實驗結果表明,所提出的算法能夠有效檢測不良網頁,并且能夠很好地應對不良網站的反關鍵字過濾策略.
主題網絡爬蟲;不良網頁;文本特征
互聯(lián)網在造福經濟社會的同時,也帶來了新的問題,如涉及色情、欺詐、暴力等不良有害信息在網絡上的傳播、擴散,對此國家先后出臺了一系列法律法規(guī)和政策措施[1],以推動互聯(lián)網健康有序發(fā)展.然而在進行社會道德和法律管理互聯(lián)網的同時還需要技術層面來做支撐,為了凈化互聯(lián)網內容,就需要在大量Web網頁中發(fā)現不良網頁和不良網站.目前互聯(lián)網上對不良網頁的處理方法主要有以下3種:①強制在大規(guī)模的pc客戶端上安裝過濾軟件;②依靠網民的舉報;③網站管理人員的審核發(fā)現.以上3種方法需耗費大量的人力和財力,而且很難快速有效地消除互聯(lián)網中大量存在的不良網頁.為了有效解決這個問題,本文首次提出結合搜索引擎中的網絡爬蟲和文本內容識別技術來檢測互聯(lián)網中的不良網頁.結果表明,所提出的算法能有效檢測不良網頁,同時能夠應對不良網站反關鍵字過濾策略.
不良網頁就是指涉及色情、暴力、反動言論等不良有害信息的網頁.互聯(lián)網中的非法文本的特征可以粗略地從其具有的內容結構和用詞形式兩方面來描述.其中,非法文本內容結構特征主要表現為以下2個方面[2]:
1)非法文本中有些內容與合法文本內容一致,在某些文本中還占相當大比例.如有關反動內容的文章,只有少數包含反動內容.
2)使用暗語或寓意表達隱含的意思.由于非法文本的特殊身份,文中的詞常常以非正常形式出現,以逃避基于關鍵詞的屏蔽.對非法文本用詞的特征初步歸納如下:①用標點符號將一個多字詞分割開,這個詞往往是文中的關鍵詞;②在一個詞中用拼音或者同音字代替其中的某些漢字;③用符號、圖標或空格代替一個詞,用眾所周知事件暗示其代表意思.由上述特征可以看到,非法文本中包含大量合法內容,使非法內容與合法內容相似性增大,影響對文本內容的理解;在用詞上,非法文本中用各種非正常形式表示一個詞,從而影響了對文本中詞的正確切分.
從互聯(lián)網上爬下的網頁中提取有效的文本內容,因為不良網頁除了一些關鍵詞本身外,還有很大一部分是為了逃避監(jiān)管而在形式上有所改變的關鍵字變種.
1.2.1 特殊符號間隔敏感詞的處理 漢語的書面用法通常是以逗號、句號等符號斷句,文本分詞也是以斷句符號標志進行分詞處理的.識別文本的合法性首先從文中是否使用諸如“^”、“&”、“[]”等特殊符號間隔敏感詞,直接識別很困難,最簡單的方法是建立正則表達式并利用循環(huán)語句查找所有字串間的特殊符號并刪除,使得敏感信息恢復自然的組合狀態(tài).當然文中的這些特殊符號很可能是其他用途,比如計算某商品總價=單價*數量,像這樣的情況將特殊符號刪除是不會影響文本性質的,然而可能會影響正確分詞的效果,比如將關鍵詞分成單個漢字的情況.這種情況可以利用詞庫對已分詞后的單個漢字進行左右相鄰字間的詞匹配,從而較準確地反應文中出現該詞的概率及特征值.
1.2.2 同音字或拼音替換的關鍵詞處理 一些非法不良文本中常常出現的敏感詞中,經常會使用一些同音字或者拼音替代,這使得文本處理或者文本分詞更加困難,因為現有的分詞都是基于精確匹配的分詞,如果不對其特殊處理,最終將不能提取任何有效的敏感詞特征.針對此種情況,本系統(tǒng)設計了2個映射表來解決這個問題:拼音漢字映射表(表1),這是個多對一的映射;另一個是敏感詞拼音映射表(表2).通過這2個映射表就可以間接地實現敏感詞到其多種同音字替代詞的映射,顯然是一對多的映射.
表1 拼音漢字映射表Tab.1 Phonetic transcrip tions of Chinese characters
表2 敏感詞拼音映射表Tab.2 Phonetic transcrip tionsof sensitive Chinese characters
Sn=(Wn1,Wn2,Wn3,…,Wnk),nk表示字符串Sn中所包含的漢字的個數.因此在具備上述映射庫的情況下,系統(tǒng)使用敏感詞集的首字觸發(fā)機制來設計敏感詞識別算法.
輸入:一段文本S=(s1,s2,s3,…,si…sk,…,sn),這里假定S已經使用拼音漢字對照表替換過;
輸出:識別出的敏感詞.
1)對S中當前處理的拼音si,如果si出現在敏感詞集的首字拼音中,則轉到3).
2)指示符向后移一位,如果S處理完畢則轉5),否則轉1).
3)在si所對應的映射庫進行類正向最大匹配,如果匹配到的拼音對應的詞(si…sk),就說明(si…sk)為敏感詞并記錄該詞.
4)指示符向后移k-i+1個字的拼音,轉1).
5)識別結束,返回識別出的敏感詞.
1.2.3 敏感字拆分成偏旁部首的處理 識別不良信息的第3種情況就是要查詢文中是否有偏旁部首及非單字出現的情況,此種情況還需要借助字典進行匹配和識別.因為漢字都是由一些簡單的偏旁部首構成的,并且這些偏旁部首的總數也比較少,因此可以考慮將偏旁部首和相對應的漢字做一個映射表.同時由于文本自身的輸入特征,即絕大部分的敏感字能夠拆分的都是左右或者左中右拆分,因此只需對左中右結構的偏旁部首及其相應的漢字進行映射即可.
輸入:一段未知的漢字串S=(s1,s2,s3,…,si…sk,…,sn),P暫存當前遇到的偏旁部首集,初始P為空;
輸出:識別出的敏感詞.
1)對當前處理的漢字si,判斷能否找到si對應的偏旁部首,如果不存在相應的偏旁部首,則認為si是普通漢字,清空P,轉3);否則記錄si對應的偏旁部首到P中去.
2)如果P不為空,假定P={p1,p2,p3,…,pi…pj,…,pn},假定T暫存當前處理的偏旁部首,初始為T ={p1,p2},
a.如果T中的偏旁部首pi…pj能夠構成漢字w,則獲得這個w,轉b;
b.如果P中還有未處理的部首,將指示符后移2個位置,設置T=pj+1pj+2,轉a;
c.如果P中還有未處理的部首,指示符向后移1個位置,將pj+1添加到T中去,轉a;
d.算法結束,清空P并返回識別出的詞.
3)如果S中還有未處理的漢字,指示符向后移一位,轉1).
4)算法結束,返回識別出的詞.
通過對不良網頁提取特征詞以后,得到網頁中的敏感詞以及相應的詞頻,然后依據敏感詞庫中詞的相應權值來計算這個網頁是不良網頁的概率.其中敏感詞的權重使用基于互信息的特征選擇算法[3]生成,并且用戶可以添加指定自定義的敏感詞.
假設網頁P經過上面處理以后得到的特征詞FW=(w1,n1;w2,n2;…;wN,nN),wi在敏感詞庫中相應的權值為vi,則網頁P是不良網頁的概率為
其中,.以上描述的只是對已經下載下來的不良網頁的識別方法,但是系統(tǒng)的目的是識別互聯(lián)網上所有的不良網頁,這就用到了搜索引擎中的網絡爬蟲技術.
搜索不良網頁的主要任務是盡可能多地探測不良網頁及其相關網頁,盡可能少地下載無關網頁,提高網絡資源的覆蓋度,因此主要解決有效資源發(fā)現和不良網頁識別兩個問題.
基于鏈接結構評價的搜索策略,是通過對Web頁面之間相互引用關系的分析來確定鏈接的重要性,進而決定鏈接訪問順序的方法.通常認為有較多入鏈或出鏈的頁面具有較高的價值,PageRank算法[4-5]是最具有代表性的算法,本文也采用PageRank技術.
PageRank算法中,頁面的價值通常用頁面的PageRank值表示,若設頁面p的PageRank值為PR(p),則PR(p)采用如下迭代公式計算:
其中,T為計算中的頁面總量,γ<1是阻尼常數因子,in(p)為所有指向p的頁面的集合,out(c)為頁面c出鏈的集合.基于PageRank算法的網絡爬蟲在搜索過程中,通過計算每個已訪問頁面的PageRank值來確定頁面的價值,并優(yōu)先選擇PageRank值大的頁面中的鏈接進行訪問.
雖然基于鏈接結構評價的搜索考慮了鏈接的結構和頁面之間的引用關系,但忽略了頁面與主題內容的相關性,在某些情況下,會出現搜索偏離主題的問題[6].另外,搜索過程中需要重復計算PageRank值,計算復雜度隨頁面和鏈接數量的增長呈指數級增長.
針對上面使用超鏈結構來進行搜索所出現的問題,加上不良網頁在整個互聯(lián)網里所占比例小的特點,如果單純使用超鏈結構的搜索算法往往事倍功半,因此需要依據不良信息的特征來給網絡爬蟲制定一些啟發(fā)式規(guī)則,以便給出網絡爬蟲在資源搜索時的指導策略,以提高資源搜索的準確性和有效性.
通過對多個超鏈接的研究發(fā)現,互相鏈接的網頁之間內容相關的鏈接僅僅占全部鏈接的7成以上,因此一般的鏈接并不意味著網頁間存在內容上的相關性.為了找到主題相關頁面,需要從各個方面捕捉有用信息,將其融入網絡爬蟲的搜索策略中.本系統(tǒng)中考慮以下幾種Web信息[6-7],它們對于某個URL所指向頁面的主題相關性的判斷提供了重要的幫助,示例如圖1.
URL信息:就網頁制作者來說,他們一般比較習慣于在自己制作的頁面所對應的URL旁邊加入與該頁面主題有關的一些信息來反映頁面的主題.圖1中的title信息“http://www.epochtimes.com/gb/8/3/21/n2053083.htm”,由于“www.epochtimes.com”是一個典型的反動網站,因此可以判定后面緊跟的就是一些不良網頁的鏈接.
圖1 不良網頁內容源文件示例Fig.1 Examp le of source file in harmful Webpage
錨文本信息:超鏈接中的錨文本,即標記文本對該鏈接所指向的頁面也起到了概括描述的作用,這種概括在一定程度上可能會比該頁面的作者所做的概括(頁面的標題)更為客觀、準確.比如圖1例子中的“又見血腥鎮(zhèn)壓西藏告急”信息,所代表的頁面主題就很可能是不良網頁.
父親頁面信息:如果頁面u中包含頁面v的鏈接,那么頁面u叫做頁面v的父親頁面.一般情況下,若父親頁面的內容是不良文本的話,那么父親頁面所包含的鏈接也是不良文本的可能性也較高.
兄弟頁面信息:兄弟頁面是指位于同一父親頁面的鏈接所指向的頁面.同樣根據前文的討論,對于鏈接到某一主題頁面的那些頁面,它所包含的其他鏈接也趨向于鏈接到該主題.即若某個頁面有較多的關于某個主題的兄弟頁面,那么該頁面很可能是與該主題有關的.
參照上面4個信息制定啟發(fā)式規(guī)則,即在獲取鏈接的4個信息以后,綜合分析上面的幾個信息來優(yōu)先考慮與主題內容相關的網頁鏈接,從而進一步提高了不良網頁檢測的速度.
基于主題網絡爬蟲的互聯(lián)網不良網頁檢測分為3個階段:①系統(tǒng)初始化階段.主要是設置系統(tǒng)運行的初始參數,如網絡爬蟲所使用的最大線程數量、初始種子網站、網絡爬蟲一個網站內部鏈接爬下的最大深度大小、系統(tǒng)所使用的各種詞庫的路徑、爬下網頁內容分析時所使用的各種參數等.②網絡爬蟲獲取網頁階段.在鏈接隊列按照PageRank值和所屬網頁是不良網頁的概率值進行優(yōu)先級重排以后,網絡爬蟲使用多線程來從優(yōu)先隊列中取出網頁鏈接,獲取網頁.③網頁分析階段.針對爬蟲爬下來的網頁分析的過程,然后按照前面的算法來計算該網頁是不良網頁的概率,并依據該值來判斷該網頁是否為不良網頁.如果是不良網頁,則保留該網頁,登記這個不良網頁.最后將上面得出的概率值累加到所屬的網站上面去,以便能夠識別不良網站.
為了對本文設計的算法作出準確客觀的評價,構造如下訓練集:人工標注40個網站的400個網頁,每個網站包含10個網頁,共400個網頁(即400個URL信息).其中10個網站不含不良信息,20個網站包含部分不良網頁,剩余10個網站全部為不良網頁.
表3 不同特征詞數量的實驗結果Tab.3 Experimental resultsof different feature wo rds
從系統(tǒng)的運行結果可以看出,特征詞數量選擇從500到3 000的過程中,準確率逐漸上升,誤報率也在上升,這基本上與實際情況相一致,因為選擇的特征詞太多,一些不太明顯區(qū)分正常信息和不良信息的詞語會對分類器產生干擾,影響分類效果.之所以探測不良網站的準確率沒有不良網頁高,并且網站的誤報率比網頁誤報率也高,是因為準確率計算方式的影響,在不良網站的準確率計算中,健康網站和不良網站的比率為1∶3,而網頁的比率為1∶1.總體來看,本文所提出的基于主題網絡爬蟲的不良網頁的識別還是比較令人滿意的.另外,用戶可以在準確率和誤報率之間進行折衷,以達到滿意的效果.
本文在分析了當前互聯(lián)網上關于不良網頁的發(fā)現技術及缺陷的基礎上,提出了一種從互聯(lián)網上檢測和識別不良網頁的算法和適用于不良網頁發(fā)現的網絡爬蟲的爬行策略,并實現了一個原型系統(tǒng).實驗結果表明,本文提出的方法能夠切實有效地對不良網頁和網站進行發(fā)現,同時能夠應對不良網站反關鍵字過濾策略.下一步的研究工作是提高網絡爬蟲的爬行效率和不良網頁識別的準確度和識別效率,同時融合圖像識別技術來增加對色情網站的發(fā)現和識別.
[1] 姜帆,張霽雪.我國政府對互聯(lián)網的管制[J].財經界:下半月,2006(12):75-81.
[2] 張永奎,李東艷.互聯(lián)網中非法文本特征分析及其屬性預選取新方法[J].計算機應用,2004,24(4):114-115.
[3] 陳平,劉曉霞,李亞軍.文本分類中改進型互信息特征選擇的研究[J].微電子學與計算機,2008,25(6):194-196.
[4] Page L,Brin S.The PageRank citation ranking:bringing o rder to the Web[EB/OL].[2009-11-01].http://www.db. stanfo rd.edu/~backup/PageRanksub.ps.
[5] A rasu A,Novak J,Tomkins A,et al.PageRank computation and the structure of the Web:experiments and algorithm s [EB/OL].[2010-03-01].http://citeseerx.ist.psu.edu/view doc/summary?doi=?doi=10.1.1.18.5264.
[6] Ester M,Gross M,Kriegel H P.Focused Web craw ling:a generic framework fo r specifying the use interest and for adaptive craw ling strategies[EB/OL].[2010-01-11].http://www.dbs.info rmatik.uni-muenchen.de/~ester/papers/ VLDB2001.submitted.pdf.
[7] A rasu A,Cho J,Garcia-Molina H,et al.Searching the Web[J].ACM Transactions on Internet Technology,2002,1(1): 1-42.
Unhealthy Webpage Detection Based on Topic-focused Web Crawler
FANG Yu-ke, FU Yan, ZHOU Jun-lin, X IA Hu
(School of Com puter Science and Engineering,University of Electronic Science and Technology,Chengdu 610054,China)
Internet ismaking massive amountsof harmful information,and it is very important to remove as much harmful information as possible to purify the internet.After the analysis of a large amount of harm ful info rmation on the internet,the key text featuresof harm ful contents are p resented.The novel app roach is to find harm ful Webpage and site by embedding the harm ful text features into the Web spider of the search engine,and generatemulti-level results to the users so that they can deal w ith the harmful Webpage and site to purify the internet environment. The experiments show that the p roposed algorithm is capable to detect unhealthy Webpage effectively,and cope w ith the strategy of anti-keywords filtering from the unhealthy Website.
topic-focused Web craw ler;unhealthy Webpage;text feature
TP 391;TP 181
A
1671-6841(2010)02-0026-05
2009-12-01
國家自然科學基金資助項目,編號60973120,60903073;國家863計劃項目,編號2007AA 01Z440;四川省科技攻關項目,編號2008GZ0009.
方育柯(1984-),男,博士研究生,主要從事Web文本挖掘、數據流挖掘及異常檢測研究,E-mail:fangyuke@uestc.edu.cn.