/*版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 .*/

搜索引擎web spam类型及防治策略(version 0.9)

中科院软件所 张俊林

url:http://sonata.iscas.ac.cn/zhjl

2005年7月

搜索引擎的目的是发现和用户查询”相关”而且”重要”的页面.一般来说网页是否和用户查询相关是根据内容判断的,而重要性是根据链接分析得到的.web spam通常从内容作弊,链接作弊,信息隐藏三个方面来进行. 往页面加入大量关键词,以对用户不可见的颜色设置字体.这样用户使用不可见的字符串搜索就可能搜索到无关的作弊网页.这种方式主要是基于内容的;分析Pagerank等搜索引擎使用的链接分析技术,构造很多其它网页,并在网页指向作弊网页,这样作弊网页的入度大量增加,导致链接分析失效,排名增高.这种方式主要是基于链接的.

Web spam对于搜索引擎有很大的危害:一方面降低搜索引擎的结果有效性.大量不相关页面占据重要排名位置.另外一个方面, 增加搜索引擎的无效索引,.这样对于每个查询都会耗费不必要的时间来处理这些垃圾索引.

Web spam 和email spam类似,对于某个网页是否真正的spam网页的判断多少是有主观因素的,这也是造成难以防治该类问题的一个核心难点.而目前大多数anti-spam技术都基于以下两个假设:假设一: 非作弊网站一般不会有指向作弊网站的链接(这个假设是有漏洞的,比如honey pot作弊方式,但是大多数情况下是成立的).假设二. 作弊网站往往会增加指向非作弊网站的链接.

本文下面的内容讲述目前常用的一些作弊方法以及比较常见的防治策略.首先需要定义几个概念:

概念一.目标网页----就是作弊者采取一系列措施希望该网页能够在搜索引擎排名中得到比其应该得到的排名高的网页.

概念二:辅助排名网页---作弊者为了提高某个或者某些网页的排名,需要引入大量的其它网页,这些网页的目的是帮助提高目标网页的排名.

一. 搜索引擎spam方法

(1) 内容作弊.目前搜索引擎对于内容相关的判断基本上是基于信息检索领域的TF*IDF模式.TF指的是一个单词在文章中出现的频度,IDF指的是有多少个不同的文章中出现过该词汇.一般来说TF越大,分值越高.IDF越小分值越高,也就是说越少的文章出现过这个词汇,那么IDF分值越高.本质上IDF是衡量词汇权重的一个经典方法.对于作弊者来说IDF基本上是不可控制的,但是TF却是可以操控的.比如通过大量复制作弊词汇并隐藏其可见性可以提高TF值,从而增加搜索引擎排名.另外,搜索引擎对于内容权重的衡量还考虑词汇出现位置,通常考虑的词汇位置包括:文本正文,文本标题,meta tag,URL链接文字以及URL文字.一般文本标题,URL链接文字以及URL文字的权重会比较高.所以作弊者通过在文章标题或者URL链接文字增加作弊词汇来提高排名.这里的URL链接文字不是目标页面包含的链接的文字,而是指向目标页面的链接上的文字.因为一般认为指向目标页面的链接文字是一个摘要性的描述,其准确性比较高,所以权重设定比较大.URL文字指的是在URL中加入作弊词汇比如:www.buy-computer-cheaper.com/not-expensive.htm.内容作弊一般采取以下方式:内容大量重复,提高TF值;在页面加入大量与主题无关的作弊词汇,这样搜索者输入任何作弊词汇都有可能搜索到作弊页面.在有效信息中隐藏作弊词汇,比如将一篇新闻报道文章句子中插入作弊词汇,这种情况比较难以发现.内容拼接,从不同的信息来源摘取不同的句子拼凑成正文,这样只要查询出现句子包含单词就会检索到这篇文章.

(2) Honey pot:作弊网页作者发布有价值信息比如介绍某项技术的技术文章,但是在发布的信息里面隐含指向作弊页面的隐藏链接,这样通过网页本身内容的价值来诱导其它网站增加指向该页面的链接从而间接增加作弊页面的排名(比如本文标题附近的联接http://sonata.iscas.ac.cn/zhjl  以及此处的链接引用,呵呵).比如往blog站点,BBS站点,留言簿或者wiki等可以任意发言的站点增加评论.在发表的评论里面增加指向目标页面的链接,这样会间接增加目标页面的pagerank排名.根据发表评论类型可以分为以下两种:一种是直接发广告性质的与主题无关评论,这个我们经常在BBS或者留言版上看到.一种是评论与主题相关,但是在评论中隐藏无法看到的链接信息.这种情况一般比较难以发现.

(3) 组织spam farm.作弊者建立若干网站,通过精心构建网页之间的链接关系来通过大量辅助页面提高目标页面的排名.

(4) CLOAKING.一般搜索引擎的页面抓取器会定期抓取站点页面,同时会首先访问robot.txt协定文件.作弊者通过在robots.txt做手脚或者记住主要搜索引擎页面抓取器的IP地址来识别搜索引擎,识别之后诱导搜索引擎索引的内容和网站本身的内容不同.

(5) 购买过期域名.过期域名存在大量指向这个域名的链接信息.作弊者通过购买过期域名来获得这些链接信息来提高排名.

(6) 将作弊网页提交到雅虎等目录站点.熟练的作弊者可以通过欺骗目录编辑,使得作弊网页被目录站点收录,一般目录站点的排名很高,所以这样可以有效提高目标页面的排名.

(7) 在目标页面中增加指向重要或者著名网站的链接.这样有可能欺骗搜索引擎目标页面是高质量的索引页面.

(8) 多个域名DNS解析到同一IP地址.因为搜索引擎针对同一域名内链接做过调整,所以作弊者申请多个不同域名但是映射到同一IP.这样来欺骗搜索引擎是不同站点的链接.

(9) 通过页面自动重定向来隐藏作弊页面.

(10) 隐藏文字或者链接.通过设定文字或者链接的颜色为背景色来使得这些作弊文字或者链接对于读者不可见.

(11) 交换链接.作弊者合作交换链接来增加排名.

对于spam farm来说,作弊者通过以下方式可以达到最优作弊:

(1) 单个作弊者能够产生最高pagerank值的link spam方法:一个目标网页(希望排名提升),K个辅助排名网页,K个网页都有且只有一个链接指向目标网页,同样地目标网页也有每个辅助排名网页的一个链接.可以证明这种模式是目标网页通过作弊获得的最大PAGERANK值.同时这个结构也保证只要有一个页面被索引则整个spam farm都能够被索引.只有这样,辅助排名网页采能起作用..对于这种方式可以通过发现这种link farm模式特点的方法来识别可能的作弊网页.

(2) 两个作弊者协作作弊.多个作弊者通过互相链接增加排名.最简单的情况是两个拥有spam farm的作弊者合作,考虑以下几种作弊方式:

a.两人的所有辅助排名网页都同时增加指向对方的目标网页链接.此时两个作弊者的目标网页的pagerank值相等, 假设没有建立联系前各自的值为p和q.作弊后其值等于(p+q)/2 .显然与未交换链接时候相比,原先分值高的比较吃亏,会将一部分分值转移到对方.

b.两人的目标网页互相指向.此时情况与a相同,不过两者建立链接数目减少.减少作弊者人工维护精力.

c.两人的目标网页互相指向,但是将每人目标网页所有指向辅助排名网页的链接去处.此时两者的pagerank分值都有所增加.

(3)对于多个作弊者的有效合作作弊方式: a. 多个目标网页链接形成环形. b.多个目标网页链接形成全链接. 此时对于每个作弊者来说pagerank值都得到提高,都比未合作前的最高值高.

二. anti-spam方法

(1) 人工方式

精度高,但是人工耗费太大,所以不现实.

(2) 半人工方式

半人工方式应该是目前使用比较多的方法,专业的搜索引擎技术公司里面往往会有一批所谓的anti-spam专家来对这些技术进行研究.目前比较通用的一个半人工防治策略如下:

1. 从所有站点随机选择若干站点.比如随机选择2000个站点.(也可以有其它类似的优化策略,比如选择知名度高的网站或者YAHOO等收录的网站作为优良网站的基点)

2. 从2000个站点里面人工判断哪些是优良的网站

3. 链接分析.基本假设是优良网站指向的网站也是优良的.此时可以采取不同的策略,比如优良网站经过K个链接所指向的都认为是优良的.也可以引入衰减因素,离初始优良网站越远的网站其优良性越小.

4. 对遍历过的网站优良性能做评价.此评价作为判断是否作弊网页的依据.

(3) 自动方式

减少人工耗费,是anti-spam研究的目标和方向,但是目前技术对于有些作弊方式很难达到完全自动识别.目前技术主要还是半人工的方式 . 可以自动实现的方式包括:

1. 基于内容的,比如针对标题作弊,如果发现正文内容出现标题文字比例失调,比例太高或者没有出现过,则认为可能是作弊网页.

2. 对于页面内容难以形成主题的页面也很有可能是作弊页面.

3. 针对链接作弊,如果发现可能的spam farm结构或者不正常的大量网站内部相互链接,则判定可能是作弊网站

4. .对于机器自动生成的作弊页面进行特征分析和自动发现.比如机器生成的链接往往很长,包含很多数字和连接符号等.

5. 大量不同域名映射到同一IP地址很有可能是作弊网站.

6 .发现网页的入度,根据分布规律,极少数的网页有非常大量的联入,所以这些大量联入页面如果不是知名网站则很可能是作弊网站.

Web anti-spam领域还是一个比较新的研究领域,经济利益不断驱动人们通过种种”优化”策略来提高网页的排名.所以web spam和anti spam是一个不断学习不断斗争的过程.对此有兴趣的朋友可以和我联系(junlin01 AT iscas dot cn )共同学习共同提高这个方面的技术知识.

搜索引擎web spam类型及防治策略(version 0.9)相关推荐

  1. [转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点

    参考链接: 使用super访问Java祖父母的成员 Stephen WaltherSuperExpert.com 适用于: Microsoft ASP.NET 2.0 (Beta 2) Microso ...

  2. Web项目实战 | 购物系统v2.0 | 开发记录(五)使用base64编码实现头像修改 | 用户个人信息修改 | JQuery动态提示

    文章目录 以往记录 一.运行环境 二.实现头像修改 三.用户个人信息修改 四.Bug & DeBug 以往记录 Web项目实战 | 购物系统v2.0 | 开发记录(一)需求分析 | 技术选型 ...

  3. Web项目实战 | 购物系统v2.0 | 开发记录(九)Controller层返回数据的封装 | 商品批量操作 | 五表联立实现商品搜索

    --若发现文章内容有误,敬请指正,望不吝赐教,感谢! 文章目录 以往记录 运行环境 一.设计Bean用于Controller层返回数据 二.商品批量操作 2.1 批量操作的前端设计 2.2 批量操作的 ...

  4. 成功解决Future Warning: The sklearn.neighbors.dist_metrics module is deprecated in version 0.22 and wil

    成功解决Future Warning: The sklearn.neighbors.dist_metrics module is deprecated in version 0.22 and wil ...

  5. 成功解决This module was deprecated in version 0.18 in favor of the model_selection module into which all

    成功解决This module was deprecated in version 0.18 in favor of the model_selection module into which all ...

  6. 成功解决sklearn\grid_search.py:42: DeprecationWarning: This module was deprecated in version 0.18 in fav

    成功解决sklearn\grid_search.py:42: DeprecationWarning: This module was deprecated in version 0.18 in fav ...

  7. 成功解决sklearn\cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 i

    成功解决sklearn\cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 i ...

  8. Invalid config event received: {version=0, server

    Invalid config event received: {version=0, server 本文没有提供解决办法,这个错误不影响使用,可以忽略 使用 zookeeper 作为 SpringCl ...

  9. NuGet Error:Unable to find version ‘0.3.3.0‘ of package ‘glog.overlay-x64_v120_Release_dynamic‘.

    问题: 使用VS2013生成caffe解决方案时,报错NuGet Error:Unable to find version '0.3.3.0' of package 'glog.overlay-x64 ...

最新文章

  1. # 30 天精通 RxJS (01):认识 RxJS
  2. SparkStreaming和Storm的区别
  3. android gridview行分割线,Android中控件GridView实现设置行列分割线的方法示例
  4. Metal Framework基础使用教程
  5. 1053: [HAOI2007]反素数ant
  6. 关于Python中的classmethod
  7. 演说之禅:演说中的 1-7-7法则
  8. 中国武术和泰拳的对抗史
  9. 【Redis数据结构 List 类型】List 类型生产中的应用 消息队列、排行榜、老干妈的朋友圈、监控程序的实现
  10. 【路径规划】基于狼群算法之三维路径规划matlab源码
  11. [Zinnia][Windows]手写输入法的一些研究
  12. 网络性能分析仪-RFC2544测试
  13. Java抓包分析一(基于jnetpcap进行抓包)——抓包环境搭建,获取网卡
  14. 力扣539题 最小时间差
  15. java:熊怪吃核桃
  16. 呸 渣男!八股文不让看,非得让看并发编程全彩图册,这下又进厂了
  17. java 庖丁解牛中文分词_庖丁解牛中文分词包
  18. newinstance()和new有什么区别?
  19. 树莓派是网盘?nextcloud在树莓派上的应用
  20. 计算机(Computer)基础

热门文章

  1. Linux项目自动化构建工具 make/Makefile
  2. 冷静对待你遇到的所有Java内存异常
  3. 赠送 12 本 《C++ 服务器开发精髓》
  4. 实战:如何对磁盘和网络IO进行评估、监控、定位和优化?
  5. 必备快速定位排查问题命令
  6. 什么是真正的架构设计?
  7. ​SoundCloud的web播放库Maestro演进之路
  8. Hadoop之资源调度器与任务推测执行
  9. 仅需少量视频观看记录,就可以精准推断你的习惯
  10. 腾讯敏捷研发协作平台TAPD荣获CCF科学技术奖