焉 凱,聶韶華
(1.萊蕪職業(yè)技術(shù)學(xué)院 信息工程系,山東 濟(jì)南 271100;2.臨沂大學(xué) 教育學(xué)院,山東 臨沂 276000)
網(wǎng)頁挖掘技術(shù),就是采用數(shù)據(jù)挖掘技術(shù)來發(fā)現(xiàn)網(wǎng)頁中的蘊(yùn)含模式(包括文檔、服務(wù)等).包括網(wǎng)頁內(nèi)容、網(wǎng)頁結(jié)構(gòu)和網(wǎng)頁使用方法[1].
近年來基于社會網(wǎng)絡(luò)的研究受到很多專家學(xué)者的重視,相關(guān)的研究也層出不窮.搜索引擎模仿了社會網(wǎng)絡(luò)研究的算法技術(shù),搜索引擎在商業(yè)上取得的龐大收益,意味著社會網(wǎng)絡(luò)研究技術(shù)在網(wǎng)頁挖掘中的巨大潛力.經(jīng)進(jìn)一步研究發(fā)現(xiàn),當(dāng)前的搜索引擎在處理用戶查詢之時,也存在一個比較嚴(yán)重的問題,即便搜索引擎能分析出用戶的真是想法,它們?nèi)匀粫祷匾恍┡c查詢無關(guān)的網(wǎng)頁信息[2].究其原因,一方面是搜索引擎自身的缺陷,確實(shí)找不到相關(guān)信息;另一方面就是網(wǎng)頁作弊,它在一定程度上影響了用戶的搜索意圖.
網(wǎng)頁作弊是指采用一些欺騙搜索引擎的的方法(如改變網(wǎng)頁內(nèi)容或者網(wǎng)頁之間的結(jié)構(gòu)等),而不是通過提高網(wǎng)頁的信息含量的方式,來取得相對靠前的網(wǎng)頁排名,增加網(wǎng)頁的點(diǎn)擊率.
為研究方便先界定2個相關(guān)概念.網(wǎng)頁重要性:相對整個互聯(lián)網(wǎng)而言,某個網(wǎng)頁的受歡迎程度(與查詢無關(guān)).網(wǎng)頁相關(guān)性:網(wǎng)頁與某個查詢的相關(guān)程度.
基于網(wǎng)頁內(nèi)容的作弊,也稱為基于文本的作弊,是通過修改網(wǎng)頁上的文本信息(包括背景色或者圖像等)來增加網(wǎng)頁相關(guān)性.此種作弊主要利用搜索引擎中文本相似性度量算法TFIDF的局限性來達(dá)到作弊的目的.TFIDF算法中的TF是指某個詞在文本中呈現(xiàn)的頻率.例如,“和平”在5 000個單詞的文章中出現(xiàn)了 300次,那么 TF(“和平”)=300/5 000=0.06 . IDF 是倒排文檔頻率,例如在 1 000篇文章中,單詞“和平”出現(xiàn)在其中200篇文章里.那么,IDF(“和平”)=1 000/200=5.因此,相對查詢Q,網(wǎng)頁P(yáng)的TFIDF值的計算方法為:

上式中t代表查詢Q和網(wǎng)頁P(yáng)共同出現(xiàn)的那個單詞.根據(jù)這個公式,作弊者(Spammer)有2種方式來提高網(wǎng)頁的訪問率.一是讓網(wǎng)頁包含各種單詞,從而對任何查詢,這個網(wǎng)頁的TFIDF值都不為零;二是針對特定的查詢,重復(fù)某些關(guān)鍵字,提高網(wǎng)頁的TFIDF值[3].
基于鏈接的網(wǎng)頁作弊是人為制造網(wǎng)頁之間的關(guān)聯(lián)性,以此來彰顯網(wǎng)頁的重要性.目前很多搜索引擎就是運(yùn)用分析網(wǎng)頁之間的關(guān)聯(lián)性,來判定網(wǎng)頁的重要性.基于鏈接的網(wǎng)頁作弊手段,常見的有兩種:(1)提高出度(out-degree),以增加Hub值.例如,把雅虎中一些網(wǎng)站的鏈接復(fù)制到當(dāng)前網(wǎng)頁中.(2)增加網(wǎng)頁的入度(in-degree),以提高PageRank值或者Authority值.例如,制作一個蜜罐(honey pot)網(wǎng)站,吸引用戶.其典型算法有PageRank算法、HITS算法兩種[4].
基于隱藏技術(shù)的網(wǎng)頁作弊手段是把用戶的關(guān)注點(diǎn)和搜索引擎的關(guān)注點(diǎn)區(qū)分開來,分別給兩者提供不同的信息.例如,作弊網(wǎng)頁提供給搜索引擎很多的關(guān)鍵字以使作弊網(wǎng)頁能獲得檢索.當(dāng)用戶瀏覽網(wǎng)頁的時候,作弊網(wǎng)頁能巧妙地屏蔽這些關(guān)鍵字提供給用戶與查詢無關(guān)的廣告信息.
基于內(nèi)容的網(wǎng)頁作弊檢測技術(shù),主要是通過比較正常網(wǎng)頁和作弊網(wǎng)頁在某些統(tǒng)計值上的差異,再運(yùn)用這些不同值來檢測網(wǎng)頁是否存在作弊.
利用MSN搜索引擎抓取網(wǎng)頁,使用了決策樹、規(guī)則分類、神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等方法來區(qū)分作弊網(wǎng)頁和正常網(wǎng)頁,發(fā)現(xiàn)基于決策樹的C4.5算法效果最好,網(wǎng)頁作弊的召回率(Recall)和準(zhǔn)確率(Precision)都在80%以上[5].接著融入了Bagging和Boosting算法來提高C4.5算法的效果,其中Boosting算法能夠使得作弊網(wǎng)頁的召回率(Recall)和準(zhǔn)確率(Precision)提高到90%左右.而C4.5、SVM、Bagging和Boosting算法在開源軟件Weka中都有,雖然思路明確,流程清晰,但用于檢測作弊網(wǎng)頁的文本特征不多,且沒有考慮網(wǎng)頁之間存在的這種關(guān)系.
借助兩個自然語言處理工具——Corleone和General Inquirer來計算網(wǎng)頁的特征.使用的數(shù)據(jù)集是“Webspam-UK2006”和“Webspam-UK2007”,這兩個數(shù)據(jù)集中大部分網(wǎng)頁都是HTML格式,他們只標(biāo)注了網(wǎng)站(Host)是否是作弊的,而沒有具體到某個網(wǎng)頁是否是作弊的.因此,利用廣度優(yōu)先數(shù)據(jù)搜索策略,分別從這兩個數(shù)據(jù)集中的每個網(wǎng)站(Host)提取400個頁面,然后以人工方式把各個網(wǎng)頁標(biāo)記為3類:作弊網(wǎng)頁、正常網(wǎng)頁和無法確定類標(biāo)簽(borderline).總共計算了208個語言屬性特征,按照網(wǎng)頁中標(biāo)識符(token)的個數(shù),抽取3類網(wǎng)頁做實(shí)驗(yàn):(1)在5萬標(biāo)識符以下的網(wǎng)頁;(2)15萬~20萬標(biāo)識符的網(wǎng)頁;(3)400萬 ~5 000 萬標(biāo)識符的網(wǎng)頁[6].
實(shí)驗(yàn)發(fā)現(xiàn)某些語言屬性對于區(qū)分作弊網(wǎng)頁和非作弊網(wǎng)頁還是很有幫助的.筆者提出兩種用于評價區(qū)分(作弊網(wǎng)頁和正常網(wǎng)頁)能力好壞的指標(biāo).
(1)絕對值差異:對于屬性h,定義代表屬性h的取值范圍,為作弊網(wǎng)頁在屬性h取值為i時表現(xiàn)出來的統(tǒng)計特征.相應(yīng)地,代表正常網(wǎng)頁在屬性h取值為i時表現(xiàn)出來的統(tǒng)計特征.于是屬性h區(qū)分作弊網(wǎng)頁和正常網(wǎng)頁的能力定義為:

語言特征分析雖然做了很多基礎(chǔ)性的工作,卻沒有進(jìn)一步討論如何有效地利用這些統(tǒng)計值來檢測作弊網(wǎng)頁.筆者認(rèn)為,可采用常規(guī)統(tǒng)計分析的分類方法來區(qū)分作弊網(wǎng)頁和正常網(wǎng)頁.綜合采用常規(guī)統(tǒng)計分析和語言特征分析給出的統(tǒng)計指標(biāo),能夠更準(zhǔn)確地檢測出作弊網(wǎng)頁.
基于網(wǎng)頁鏈接的作弊行為,目標(biāo)比較單一.一般都是通過增加網(wǎng)頁的入度來獲得較高的優(yōu)先率.而且相關(guān)的研究也都集中在網(wǎng)頁排名算法上面,試圖提出一些改進(jìn)措施,以減少基于鏈接的網(wǎng)頁作弊不良行為[7].筆者主要探討3種典型的基于網(wǎng)頁排名的算法改進(jìn).
假設(shè)作弊網(wǎng)頁的信息含量很低,正常網(wǎng)頁通常不會引用作弊網(wǎng)頁,于是如果剛開始挑選一批信譽(yù)良好的網(wǎng)頁,沿著它們的超鏈接出發(fā),尋找其它網(wǎng)頁,由此找到的網(wǎng)頁也就會是用戶需要的網(wǎng)頁.一種理想的情況是,如果知道某個網(wǎng)頁是正常網(wǎng)頁,那么它的信任指數(shù)T(p)就設(shè)置為1;否則就設(shè)置為0.然而有時候事情并不是那么絕對,在運(yùn)用算法來判別某個網(wǎng)頁是不是作弊網(wǎng)頁時,通過設(shè)置一個閾值δ,如果某個網(wǎng)頁的信任指數(shù)T(p)^δ,那么就可以認(rèn)為這個網(wǎng)頁是可信任的. PageRank算法的公式可以簡寫為:

其中r為N×1的矩陣,代表每個頁面的網(wǎng)頁排名,T為各節(jié)點(diǎn)出度的轉(zhuǎn)移概率矩陣的轉(zhuǎn)置,為每個項(xiàng)都是1的N×N矩陣,為調(diào)整因子(decay factor),一般取為0.85.而TrustRank 的形式為:

其中d為N×1的矩陣,代表每個網(wǎng)頁的信任指數(shù).
TrustRank算法的關(guān)鍵流程是:(1)選取種子:即選取一些信譽(yù)良好的網(wǎng)頁,計算各個網(wǎng)頁的信任指數(shù);(2)結(jié)合各個網(wǎng)頁的信任值,來計算各個網(wǎng)頁的排名(即TrustRank值).
實(shí)驗(yàn)證明,TrustRank比PageRank更能識別那些信譽(yù)良好的網(wǎng)頁.所以在TrustRank算法中,關(guān)鍵是挑選種子集合,如果種子集合的分布不夠廣泛或不具有代表性,那么這種算法會漏掉很大一部分正常的網(wǎng)頁,這也是TrustRank算法常遭人指責(zé)的地方[8-9].
TrustRank會對大規(guī)模的網(wǎng)頁社區(qū)有所偏重,因此把TrustRank算法中的種子集合按照不同的話題(topic),劃分成多個種子集合,按照話題類別分別計算各個網(wǎng)頁在不同話題下的信任指數(shù),最后再給各個話題賦以不同的權(quán)重,獲得每個網(wǎng)頁綜合的信任指數(shù).實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),TrustRank算法能克服PageRank算法的不足,取得較好的效果.
類似BadRank算法與TrustRank算法很相近,只是把TrustRank算法中的信任(Trust)指數(shù)改為危害(Bad)指數(shù),即把公式(4)的d矩陣替換了一下.直觀理解就是,如果某個網(wǎng)頁是作弊網(wǎng)頁,那么它會關(guān)聯(lián)到其它的作弊網(wǎng)頁,形成一個作弊網(wǎng)頁群(spam farm).只要能夠找出作弊網(wǎng)站群,不對它們建立索引或者把它們的網(wǎng)頁排名值降低,就可以減少由它們帶來的危害.
總體流程:(1)選取種子集合:即獲取初始作弊網(wǎng)頁集合;(2)擴(kuò)充危害指數(shù):把種子集合中的危害指數(shù)擴(kuò)充到其它網(wǎng)頁;(3)把危害指數(shù)整合到PageRank或者HITS排名中,獲得各個網(wǎng)頁的最終排名.筆者重點(diǎn)介紹流程(1)和(2).(1)選取種子集合.文獻(xiàn)中認(rèn)為作弊網(wǎng)站群內(nèi)的網(wǎng)頁之間會形成很稠密的相互引用關(guān)系,也就是某個作弊網(wǎng)頁P(yáng)指向的網(wǎng)頁集合Do和指向作弊網(wǎng)頁P(yáng)的網(wǎng)頁集合Di會包含很多相同的網(wǎng)頁.于是,如果某個網(wǎng)頁的Do和Di含有3個及3個以上相同的網(wǎng)頁,則把網(wǎng)頁P(yáng)認(rèn)為是作弊網(wǎng)頁,否則暫時認(rèn)為P是正常網(wǎng)頁.(2)擴(kuò)充危害指數(shù).如果某個網(wǎng)頁P(yáng)指向的網(wǎng)頁中有很大一部分是作弊網(wǎng)頁,那么網(wǎng)頁P(yáng)是作弊網(wǎng)頁的幾率也不小.于是,類似BadRank算法設(shè)置一個閾值T=3,如果某個網(wǎng)頁P(yáng)指向的網(wǎng)頁中有3個已經(jīng)被認(rèn)定為作弊網(wǎng)頁,那么網(wǎng)頁P(yáng)也是作弊網(wǎng)頁.
實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),類似BadRank算法中的方法確實(shí)能夠有助于發(fā)現(xiàn)作弊網(wǎng)頁.但也可能會把一些正常網(wǎng)頁當(dāng)成是作弊網(wǎng)頁.例如,政府網(wǎng)站之間會存在較多的相互引用,根據(jù)類似BadRank算法,很可能就把政府的某些網(wǎng)頁當(dāng)成是作弊網(wǎng)頁了[10].
Truncated PageRank算法的假設(shè)是:通常沒有正常網(wǎng)頁會指向作弊網(wǎng)頁,作弊網(wǎng)頁主要是通過與作弊網(wǎng)頁群(spam farm)內(nèi)的其它網(wǎng)頁形成強(qiáng)聯(lián)通關(guān)系獲得較高的PageRank.于是,Truncated PageRank算法提出若臨近網(wǎng)頁之間的引用關(guān)系不對網(wǎng)頁的排名產(chǎn)生效益,就可極大地消除作弊網(wǎng)頁群的影響.
Truncated PageRank算法先定義了網(wǎng)頁之間引用的距離.例如,網(wǎng)頁A指向了網(wǎng)頁B,網(wǎng)頁B指向了網(wǎng)頁C,那么A和B都算作是網(wǎng)頁C的支持者(supporter),并且B到C的距離為1,A到C的距離為連接這兩個網(wǎng)站的最短距離,若A只能經(jīng)過B網(wǎng)頁到達(dá)C,那么A到C的距離就為2.
若想讓距離在T之內(nèi)的網(wǎng)頁間引用產(chǎn)生的效果盡可能地小,那么就不記錄PageRank算法在前T次迭代形成的Rank值,而把第T+1次及其以后各步計算得到的Rank增益值添加到各個頁面的Rank值中.在迭代過程中,每執(zhí)行一步,Rank增益值就乘以一個調(diào)整因子α(α值小于1).此時Truncated PageRank算法有不足之處.例如:存在3個網(wǎng)頁A、B、C,它們兩兩之間相互引用,并且不連接其它任何網(wǎng)頁,那么它們最終的Rank值與T毫無關(guān)系.相比PageRank算法,Truncated PageRank算法有一定的優(yōu)越性[11].
基于用戶行為的網(wǎng)頁作弊檢測技術(shù),就是通過比較用戶在瀏覽正常網(wǎng)頁和作弊網(wǎng)頁時的行為特征,發(fā)現(xiàn)差異,從而提取一些規(guī)則用于檢測作弊網(wǎng)頁.這種作弊檢測技術(shù)跳出了基于內(nèi)容或者基于鏈接的檢測分析框架,能夠檢測出各種類型的網(wǎng)頁作弊手段(包括基于內(nèi)容、鏈接和隱藏技術(shù)),是一種新穎的方法[12].用戶是瀏覽網(wǎng)頁的發(fā)起者,同時又是接收者,用戶會根據(jù)自己的需要打開合適的網(wǎng)頁.因此,可以通過用戶行為表露出來的對網(wǎng)頁的評價,來判斷某個網(wǎng)頁是否存在作弊(見圖1~圖4).其中,圖1~圖4的縱軸代表百分比,對應(yīng)的藍(lán)色條形圖代表正常網(wǎng)頁的百分比,紅色條形圖代表作弊網(wǎng)頁的條形圖;橫軸隨各圖表達(dá)的含義略有不同.
用戶訪問網(wǎng)頁一般有以下幾種方式:朋友或者信譽(yù)度比較好的廣告告知某個網(wǎng)站,瀏覽器的標(biāo)簽或歷史記錄,當(dāng)前網(wǎng)頁內(nèi)用戶感興趣的鏈接,或者搜索引擎.如果是作弊網(wǎng)頁,那么用戶一般也只有通過搜索引擎去訪問.因此定義某個網(wǎng)頁P(yáng)基于搜索引擎的訪問率SEOV(Search Engine Oriented Visiting Rate)為:搜索引擎訪問網(wǎng)頁P(yáng)的次數(shù)/頁面P被訪問的次數(shù).可以想象,如果某個網(wǎng)頁是作弊網(wǎng)頁,那么它的SEOV也越大,見圖1.
某個網(wǎng)頁P(yáng)作為源網(wǎng)頁SP(Source Page)的概率,定義為通過網(wǎng)頁P(yáng)訪問其它網(wǎng)頁的次數(shù)/網(wǎng)頁P(yáng)出現(xiàn)在網(wǎng)頁訪問rizhi日志中的次數(shù).一般情況下,用戶一旦發(fā)現(xiàn)某網(wǎng)頁是作弊網(wǎng)頁,那么恨不得馬上關(guān)閉網(wǎng)頁,也就不會再去點(diǎn)擊作弊網(wǎng)頁中的超鏈接,見圖2.
如果某網(wǎng)站是作弊網(wǎng)站,那么用戶一般不會在這個網(wǎng)站內(nèi)部訪問太多的網(wǎng)頁.所以,定義網(wǎng)站s的短期導(dǎo)航率SN(Short-time Navigation rate)為:在網(wǎng)站s內(nèi)訪問了少于N個網(wǎng)頁的會話次數(shù)/訪問網(wǎng)站s的會話次數(shù).容易理解,如果SN越大,網(wǎng)站s是作弊網(wǎng)站的可能性也就越大,見圖3.

圖1 搜索引擎訪問率

圖2 源網(wǎng)頁概率

圖3 短期導(dǎo)航率

圖4 ROC曲線
選取以上3個指標(biāo)(SEOV,SP和SN),采用樸素貝葉斯分類方法,構(gòu)造ROC曲線.發(fā)現(xiàn)如果綜合這3個指標(biāo),得到的AUC的值為79.26%,也就是說可以以79.26%的概率使得正常網(wǎng)頁獲得比作弊網(wǎng)頁更好的排名[13],見圖4(其中深藍(lán)線代表了3個指標(biāo),灰線代表SP,粉紅線代表SEOV,紅線代表SN).
總之,從用戶行為角度研究作弊網(wǎng)頁的方法值得重視.由于分析的指標(biāo)很少(只有3個),這也預(yù)示著今后還有不少相關(guān)工作.
目前,存在各種類型的網(wǎng)頁作弊手段,同時,也有相應(yīng)的反作弊手段.有從網(wǎng)頁內(nèi)容著手分析的、有從網(wǎng)頁鏈接著手分析的,也有從用戶行為著手分析的.然而這些都只是從技術(shù)方面來抵御網(wǎng)頁作弊.網(wǎng)頁作弊行為能帶來潛在的商業(yè)價值,并且互聯(lián)網(wǎng)市場沒有一個統(tǒng)一的監(jiān)管體系,各個商家各自為政,若能采取相應(yīng)的懲罰措施,削減網(wǎng)頁作弊的商業(yè)價值,那么應(yīng)該可以鏟除不少的作弊網(wǎng)頁.