李驰+李林
摘要:介绍了常见的垃圾网页作弊方式。并对垃圾网页的识别方式进行了详细分析,包括基于网页内容的垃圾网页识别技术、基于链接结构来识别垃圾网页的TrustRank算法以及目前比较流行的用于垃圾页面识别的机器学习分类法。其中采用TrustRank算法与机器学习分类法来识别垃圾网页具有一定的通用性且具有与作弊方式无关的特性。最后提出了一些基于用户行为模式来识别垃圾网页的新思路。
关键词:搜索引擎;垃圾网页;网页作弊方式;垃圾网页识别
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)26-0020-03
Research on the Technology of the Search Engine to Deal with the Web Spam
LI Chi,LI Lin
(Department of Computer Science and Software Engineering of Jincheng College, Sichuan University,Chengdu 611731, China)
Abstract: Introduces the common cheating mode in the web spam. And the identification methods of web spam are analyzed in detail, including the identification method of web spam based on web content, TrustRank algorithm based on link structure to identify web spam and the more popular machine learning classification method used in web spam identification. The TrustRank algorithm and the machine learning classification method used in web spam identification have a certain commonality and have the character that has nothing to do with cheating mode. Finally put forward some new idea based on user behavior model to identify web spam.
Key words: search engine; web spam; web page cheating mode; web spam identification
通常我们找到一个网站的方式除了少量知名网站可以直接在浏览器地址栏中直接书写URL之外,还有一部分可能是通过导航网址或者收藏夹来访问,剩下的大部分网站实际上是通过搜索引擎找到的。另外,根据2006年所发布的《搜索引擎用户行为报告》[1]可知,大约88%的搜索引擎使用者只会浏览搜索引擎结果页面( SearchEngine ResultsPage,SERP) 的前三页。所以,对于网站的所有者来说,如何让自己的网站被搜索引擎搜到,并且排名前几页,从而带来大量的商机是需要极力力争的事情。原本网页内容质量越好,越受网民欢迎的页面就越应该排在搜索引擎结果页面的前面,但是有些网站则通过一些不道德的方式来手动或自动地制造一些网页,这些网页没有提供给用户任何有效的信息,仅仅是针对搜索引擎进行欺骗,就在搜索结果中获得了较高的排名,这种网页被称为垃圾网页[2]。
垃圾网页的存在对用户、合法网站以及搜索引擎都会带来伤害。对用户来说需要找到其想要的有用资源,但是垃圾网页提供的是乱七八糟的内容,从而造成了严重的干扰,带来了极差的用户体验。对合法网站来说垃圾网页的内容质量比自己的差,而搜索排名反而在自己前面,这是极其不公平的。对搜索引擎来说,一方面垃圾网页带来的极差的用户体验会使其丢失一部分用户,另一方面垃圾网页会给搜索引擎公司造成资源浪费,因为网络爬虫在存储、判断、过滤和处理垃圾网页时会消耗大量的CPU、带宽、内存和磁盘资源[3]。所以,对垃圾网页的研究一直都是搜索引擎所要重点关注的问题。
1 垃圾网页的作弊方式
由于决定搜索引擎搜索排名的主要的两个因素是查询关键词与网页的相关度以及网页本身的重要程度。而前者由网页的内容决定,后者由网页的链接结构决定。所以我们可以将垃圾网页分为基于内容作弊的垃圾网页和基于链接作弊的垃圾网页两类。
1.1 基于内容作弊的垃圾网页
查询关键词与网页相关度主要与查询词词频和查询词对应文档数量的倒数成正比,所以作弊者往往针对这两个因素入手制造垃圾网页。他们往往会挑选一些很热门的词汇以吸引用户的注意力,同时这些词汇对应的资源往往又是正规网站稀缺的,以保证查询词对应文档数量较少,例如“WIN10免费下载”、“速度与激情7免费观看”等,将这些词汇在页面主体、标题和HTML头重复的堆砌,以保证查询词词频较大。这种作弊方式被称为关键词堆砌,不过现在主流的搜索引擎几乎都能识别单一使用这种方式制造的垃圾网页了。
还有一些垃圾网页制作者利用一些自动化工具将搜索引擎搜索返回结果中的摘要信息抓取出来组成垃圾网页的内容,使得其在内容上与关键词有极高的相关度,达到欺骗的目的。不过随着多数搜索引擎禁用了被抓取功能后,这种作弊方式也不多见了。
另外一种作弊方式就是垃圾网页制作者找一页具有正常内容的网页,将要作弊的关键词稀稀拉拉相对均匀的混入夹杂其中,这种方式相对简单的关键词堆砌具有较大的迷惑性,如果网民不仔细阅读或者搜索引擎没有语义识别功能就很难识别出来。
上面几种作弊方式对于骗取广告点击,骗取访问流量比较有用,但是对于一些本身以内容欺诈为目的的垃圾网页还不能完全达到目的,因为网民在被骗进来之后很快就会关闭或者离开网页。于是一种称为伪装型垃圾网页的技术应运而生。它是指垃圾网页的制造者通过技术手段分别为搜索引擎和用户访问的浏览器准备一个网页的两个版本。早期采取的技术包括利用CSS将堆砌的关键词字号缩小、字体颜色透明或者与背景颜色一致等加以隐藏。而现在主要通过内容替换、重定向跳转、 JavaScript脚本等技术进行伪装。
1.2基于链接作弊的垃圾网页
网页在搜索结果中的排名除了依赖于内容外,还取决于其链接结构。考虑链接结构时有一个很重要的PageRank算法,此算法表明如果链向该网页的网页质量越高,链接数量越多则该网页的质量就越高。垃圾页面的制作者希望高质量网站的网页链向他们制作的垃圾网页一般是很困难的,不过很多具有交互性WEB2.0特性的知名博客、论坛及评论留言网站允许用户加入自己的信息。这样的网站如果过滤不严格,就有可能被利用来加入垃圾网页的链接地址,为他人做嫁衣。
垃圾网页制作者利用其能控制的网站,提供高质量的吸引用户关注的正常网页,然后再让这些大量的自己能控制的正常网页指向垃圾网页,从而提高垃圾网页的链接质量,这被称为蜜罐技术。
还有一种叫做链接农场的作弊技术。它是指垃圾网页制作者将制作的大量的垃圾网页进行相互链接,以提高垃圾网页对应的PageRank值,从而提高排名。这种垃圾网页整页充斥着链接,没有任何具体的实质性内容。
2 垃圾网页的识别方式
2.1 基于网页内容的专用识别方式
由于基于网页内容的作弊方式种类繁多,很难找到一种通用的识别方式,所以一般是针对某种作弊方式设计某种专用的识别方法。
针对关键词堆砌和搜索结果摘要抄袭类型垃圾网页,可以考虑其与正常网页在某些内容特征上的不同,例如最为明显的是内容可视比例和内容压缩比例。通常垃圾网页的内容可视比例和内容压缩比例比正常网页都要高很多。除此之外,超链接的比例、标点符号的比例、助词的词频等这些指标也可以作为识别垃圾网页的特征。
针对关键词混入类型的垃圾网页,可以考虑使用语言模型。假设组成网页内容的字符串S={w1, w2, w3,…, wn},在简化的二元语言模型下,页面出现字符串S的概率为:
设定一个域值,当
针对伪装型垃圾网页可以采用多次页面抓取。文献[4]指出对于每个网页分别模拟搜索引擎和浏览器抓取两个副本,比较两者是否有明显差异来识别此类型的垃圾网页。文献[5]介绍了一种采用朴素贝叶斯分类算法对伪装型垃圾网页的识别,取得了较好的效果。
2.2 基于网页链接的通用识别方式
前面介绍的垃圾网页识别技术并不具有通用性,而且非常被动,总是等到出现一种作弊方式后才针对性的采用一种相应的补救措施,有些事后诸葛亮的做法。而下面要介绍的基于链接结构以及稍后介绍的机器学习分类法与作弊方式均无关,具有很强的通用性。
TrustRank算法是一种基于链接结构的用来识别垃圾网页的经典算法[6]。这个算法的假设条件是页面A链接到页面B则意味着页面A推荐页面B的内容,因此页面A的 TrustRank值可以传递分配一部分给页面B。也就是说质量高的网页通常只会被质量更高的网页链接指向。于是可以先构建一定数量的具备较高权威内容或者较多出链接的知名网页作为起点种子网页,然后将它们的TrustRank值按照出链接数量比例传递分配到第二层页面,按照同样的方法将TrustRank值传递分配到第三、四层,以此类推。这样,通常越远离第一层种子网页的TrustRank值越小,越有可能是垃圾网页。于是可以设定一个阈值,当低于这个值时将其判断为垃圾页面。
2.3 基于机器学习的通用识别方式
近年来随着机器学习算法的兴起,很多文献提出将相关算法用到垃圾页面识别并已经取得了很好的效果。由于从本质上来说垃圾页面识别是一个二值分类问题,而机器学习中有很多相应的算法可以被利用。这些算法的共同点通常都是先将网页数据集分为训练集和测试集,然后对网页数据进行预处理,去除数据中的无用信息包括HTML标签、JavaScript脚本代码、大量存在的图片等等,然后对网页内容特征(网页字数、标题字数、热门关键词、网页压缩率等)和链接结构特征(入链数、出链数、入链出链比例、PageRank值等)进行提取作为训练集的输入得出输入输出的映射关系,最后将这种映射关系用测试集进行验证。例如文献[7]采用支持向量机对垃圾网页与正常网页分类。支持向量机是一种非常适合小样本二值分类的算法,它可以使得分开的两类之间的距离最大化。文献[8]采用朴素贝叶斯法与决策树法相结合的算法实现了垃圾网页的分类。文献[9]受生物学启发,利用人工免疫系统的自学习及自适应能力提出了一种基于免疫克隆选择算法来检测利用新作弊技术的垃圾网页。文献[10]将网页的链接特征和内容特征输入多层感知神经网络,利用其灵活的结构和非线性变换等特点能有效地检测垃圾网页。
3垃圾网页识别技术的评价
对垃圾网页识别的技术实现效果好不好需要有评价指标,常见的评价指标通常有准确率、召回率和F1测度这3种。准确率被定义为实际正确被判断为垃圾页面的数量与被判断为垃圾页面总数之比,它反映了一个误判的比例。召回率被定义为实际正确被判断为垃圾页面的数量与实际存在的垃圾页面总数之比,它反映的是否查找全面。而F1测度为准确率和召回率的加权调和平均的一个综合指标[11],它的公式为:F1=2*准确率*召回率/(准确率+召回率)。
4 总结与展望
在对垃圾网页识别过滤的时候需要与一个很类似的技术SEO(Search Engine Otimization)搜索引擎优化相区别。它们两者的相同点就是都是为了提高网站的排名,不同点在于,SEO是通过技术手段将由于搜索引擎技术限制而把本该排在靠前位置的高质量网页排在靠后位置这种错误进行纠正重新排名靠前,而垃圾网页是欺骗搜索引擎将本该排在靠后位置的低质量网页排在了靠前的位置。对两者正确区分之后,才不会因为进行垃圾页面过滤的时候对正常的SEO技术造成误伤。
前面提到的那些主流的垃圾网页识别技术其实都忽略了网民的力量。其实网民的数量这么庞大,如果能充分发挥他们的力量,对其行为进行分析记录往往可以加以利用。近年来有部分文献研究尝试利用用户行为来识别垃圾网页,不过多数集中在被动行为上。被动行为主要是基于用户在访问正常网页与垃圾网页时不自觉的表现出来的访问行为上的差异,例如用户在页面上停留的时间、点击网页上链接的数量、与页面的交互次数等。文献[12]就是通过分析网络日志来对垃圾网页进行识别。
本文受手机骚扰电话拦截启发,目前很多手机APP例如360手机卫士、电话邦、搜狗号码通都提供对用户举报的骚扰电话的提醒和拦截,提出基于用户主动行为的垃圾页面识别思路。搜索引擎可以接受广大网民的举报,当多数用户对同一个网页进行了垃圾标记并满足某种条件之后就对其进行标记或者过滤封杀。当然这只是一个思路,具体实现还需要考虑很多算法细节,例如超过多大的阈值数量为多数用户,为防止用户恶意标注是否要考虑独立IP,标记的可信度有多大,垃圾网页与对应网站的关系、何时只是警告标记何时直接封杀等都需要进一步细化。
参考文献:
[1] CNNIC.搜索引擎用户行为报告[EB/OL][2012-12-03].http://labs.Chinamobile.com/report/23447 ?fdlayenxoaencysxyant.
[2] 贾志洋,李伟伟,张海燕. 基于内容的搜索引擎垃圾网页检测[J]. 计算机应用与软件,2009,11(26):165-167.
[3] 贾志洋,崔博文,王勇刚,等. 搜索引擎垃圾网页技术分析[J]. 情报探索,2011,7:94-96.
[4] CHELLAPILLA K,CHICKERING D M.Improving cloaking detection using search query popularity and monetizability[C]// Proceedings of the 2nd International Workshop on Adversarial Information Retrieval on the Web.Seattle: [s.n.],2006: 17-23.
[5] 王莉丽,朱焱,马永强. 基于朴素贝叶斯的伪装型垃圾网页检测[J]. 计算机应用,2013,33(S1):102-103,106.
[6] 刘奕群,马少平,洪涛,等. 搜索引擎技术基础[M]. 北京清华大学出版社,2010:193-234.
[7] 贾志洋,李伟伟,高炜,等. 基于支持向量机的搜索引擎垃圾网页检测研究[J]. 云南民族大学学报(自然科学版), 2011,20(3):173-176.
[8] 张晓宇,吴向前,张平洋. 农业网站中垃圾网页过滤方法的研究[J]. 网络安全技术与应用,2011,1:55-57.
[9] 杨凡,朱焱,唐寿洪. 基于免疫克隆选择算法的垃圾网页检测[J]. 计算机应用与软件,2015,32(6):20-29.
[10] Goh K L,Singh A K,Lim K H. Multilayer perceptrons neural network based Web spam detection application[C]/ /Signal and Information Processing(ChinaSIP) ,2013 IEEE China Summit & International Conference on.IEEE,2013:636-640.
[11] 李永可,吴悠,张太红,等. 维文垃圾网页多元线性回归识别研究[J]. 新疆大学学报(自然科学版),2012,29(2):218-222.
[12] 岑荣伟,刘奕群,张敏,等. 基于日志挖掘的搜索引擎用户行为分析[J].中文信息学报,2010,24(3):49-54.