搜索引擎页面去重算法分析之I-Match算法

  互联网中存在了大量的重复页面,据统计表明近似重复页面的数量占据网站总数量的29%,而完全重复页面占据了22%。这些重复的页面对搜索引擎来说占据了很多的资源,因此搜索引擎对页面的去重也是搜索引擎中很重要的一个算法。因此今天就跟大家分析下搜索引擎页面去重算法-I-Match算法。

  对于I-Match算法来说主要是根据大规模的文本集合进行统计,对于文本中出现的所有单词,按照单词的IDF(逆文本词频因子)来进行由高到低的排序,除去得分最高和得分最低的单词,保留剩下的单词最为特征词典。这一步骤主要是删除文本中无关的关键词,保留重要关键词。下面是I-Match流程示意图:

  

  I-Match流程示意图

  获得全局特征词典之后,对需要去重的页面,扫描下就能获得该页面上出现的所有单词,对于这些单词根据特征词典过滤:保留在特征词典上出现的单词,用来表达文档的主要内容,删除没有在特征词典中出现的内容。提取出对应的特征词之后在利用哈希函数对特征词汇进行哈希计算,获得的数值就是该文档的文本指纹。

  所有文档都统计完之后如果想查看两篇文档是否重复只需要查看文档的文本指纹是否近似,如果近似则表示两篇文档重复。这样的比对方式很直观而且效率也很高,去重效果比较明显。

  我们seo在做文章伪原创的时候经常会把文章的词语和段落调换位置,以此想欺骗搜索引擎认为这是一篇原创的文章,但是I-Match对文档之间的单词顺序并不敏感。如果两篇文章中包含的单词一样仅仅是调换了单词的位置,那么I-Match算法还是将两篇文章认为是重复文章。

  但是这个算法还是有很多问题存在。1,容易出现误判。尤其是面对短文本的时候,短文本本身单词比较少,经过特征词典过滤之后只保留很少的特证词,这样容易把两篇原本不重复的文档误认为重复,这个对短文档来说情况比较严重。2.稳定性不好,对文档修改敏感。假如对文档A做出一点小修改后生成文档B,那么这个算法很可能判断出两篇文档为不重复文档。例如:我们在文档A中加入一个单词H,生成文档B。I-Match算法在进行计算的时候,两篇文章仅仅相差一个单词H,如果单词H不再特征词典中那么两篇文章的特证词相同即判定为重复文档,但是会出现这种情况,单词H出现在特征词典中,那么文本B比文档A多出一个特征,该算法很可能就会判定两篇文档不重复。这就是I-Match最大的一个问题。

  基于I-Match出现的这种问题,有人对该算法进行了改进。原算法对文档的改变非常敏感,主要是因为对单一特征词典的过度依赖,改进后的I-Match就是减少对特征词典的依赖性。可以采用多个特征词典,只要每个特征词典大体相近就可以忽略细小的差别。

  改变后的I-Match算法主要是:类似I-Match原始算法,形成一个特征词典,为了和其他词典相区别可以成为主特征词典;然后根据主特征词典衍生出若干小的辅助特征词典。为了保证特征词典的主体相同,可以从主特征词典中随机删除若干词典项然后生成一个新的特征词典,这个特征词典就叫做辅助特征词典,重复若干次数后就可以获得若干辅助特征词典。当两篇文档进行对比的时候可以对主特征词典和辅助特征词典一起比对,只要保证每个特征词典的大体内容相同,忽略细小差异就能判定文档是否重复。下图是I-Match改进后的示意图:

  

  I-Match算法改进

  上图演示中有两个辅助特征词典,主特征词典抛弃了特征5和特征6形成辅助特征词典1,主特征词典抛弃了特征2和特征3形成了辅助特征词典2。并且根据三个特征词典分别形成了文本指纹。如果两篇文档有两个指纹信息相同那么即可判定两篇文档重复。

  改进后的I-Match算法大大提高了文档去重的成功率,增加了算法的稳定性。

  对SEO启发:传统的伪原创文章,对一篇文章进行简单的修改,首尾做一些小的变动,然后把中间段落调整顺序,这个对搜索引擎来说都是没有意义的,还是可以判断出两篇文章是否重复。因为我们对于文章的建设还是要原创,或者对原文章进行比较大的改动,使两篇文章的特征词典发生改变。

  词语解释:

  IDF 逆文档词频因子:衡量一个词普遍重要度的衡量因子,某一特定词语的IDF,可用总文件数目除以含有该词语文档数目,将得到的商取对数得到。

  

  表示文档总数 n表示含有词条k的文档数量。

  本文由 http://www.youzu.com 供稿,转载请保留链接谢谢!

时间: 2024-10-07 15:57:38

搜索引擎页面去重算法分析之I-Match算法的相关文章

搜索引擎网页去重算法解析

seo优化培训:搜索引擎网页去重算法解析 以下转载一篇搜索引擎网页去重算法的内容发出来让大家对百度的算法进行学习一下: 相关统计数据表明:互联网上近似重复的网页的数量占网页总数量的比例高达29%,完全相同的网页大约占网页总数量的22%.研究表明,在一个大型的信息采集系统中,30%的网页是和另外70%的网页完全重复或近似重复的. 即:互联网的网页中相当高的比例的网页内容是近似相同或完全相同的! 搜索爬虫抓取会产生网页重复的类型: 1.多个URL地址指向同一网页以及镜像站点 如:www.sina.c

搜索引擎页面设计你怎么看

搜索引擎这个产品在中国互联网的浪潮中起到了不可替代的作用,无论是google,百度,yahoo,还是后来的soso,搜狗等等.随着搜索对信息索取的渠道越来越重要,搜索的页面设计也越来越值得关注.毕竟用户的上网的操作能力与互联网素质在不断的提高,各方面的普及也增加产品设计人员压力,不断的瘦身,增加专业服务强度. 前几天在知乎上了问了关于百度,google页面设计简洁是基于什么角度考虑的问题.基本上答案关于历史因素和哲学因素的之外,大家的回答基本上和我预先的想法一样. 我当时所想到就是搜索引擎页面设

根据搜索引擎网页去重原理来做seo

根据搜索引擎网页去重原理来做seo 01.网页为何要去重? 对于搜索引擎来说,希望呈现给用户的是新颖且吸引人的内容,是高质量的文章,而不是大量的"换汤不换药"的套话;我们在做SEO优化,要进行内容编辑时,难免会参考其他同类的文章,而这篇文章或许被多人采集过,这就导致了网络上的相关信息大量的重复. 如果一个网站存在大量的恶劣采集内容,不仅会影响用户体验,还会造成搜索引擎直接屏蔽该网站.之后网站上的内容,蜘蛛再难抓取了. 搜索引擎优化培训 02.搜索引擎工作原理 搜索引擎是指根据一定的策略

影响百度搜索引擎优化的最新两大核心算法

中介交易 SEO诊断 淘宝客 云主机 技术大厅 众所周知,百度在今年发布了网页质量白皮书,白皮书对于seoer而言犹如一盏明灯,指引着我们网站优化的方向,3721.html">2014年是百度算法变化最为频繁的一年,很多seoer都觉得网站优化力不从心的感觉愈来愈烈,其实任何一个行业都会由萌芽到发展到鼎盛,seo也不例外,百度不断完善自身的算法只能说是搜索引擎也在不断完善自己的搜索算法,不断改进自己的用户体验,作为seoer我们应该在当下如何有效的优化网站呢?好,咱们闲话短续进入正题,今天

搜索引擎页面分析中的 javascript 处理

javascript|搜索引擎|页面 在制作搜索引擎的时候.或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,而页面内容,相当一部分写入到了这些js脚本的命令中,而导致正常的DOM分析失败,无法提取所需的信息. 当然,如果这个页面模板确定,针对这个页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板.可是对于general的网页搜索的话,这就不大现实了.正巧前两天和朋友讨论到这个问题,有些想法.在这里,提供两个思路,供大家参考. 1.做一

搜索引擎对于原创处理细节以及在算法所占比重实验

  白帽SEO,无非就是一个长期观察.针对实验.提练方法的过程,并没有什么深不可测的理论.这篇文章就是有关不同搜索引擎针对原创内容的处理细节以及在其算法所占比重的小实验.可以让你了解到如何观察搜索引擎以及如何有针对性进行网站实验. 谈到原创内容,对于网站优化的重要性不用多讲,在任何一篇有关SEO的文章都会提到,并都会强调原创内容对于网站优化的重要性.但是很少有文章详细的描述不同搜索引擎对于原创内容的态度有什么不同.据我观察,其实不同搜索引擎对于原创内容的处理细节是完全不同,在其算法中所占比重也大

搜索引擎常用的三种网站排序算法

搜索引擎如何对互联网上那么多的网站进行合适的排名?想必做站长的都想知道这一点,这是通过一套非常繁琐复杂的算法计算出来的,具体的算法想必没有几个人知道,但是最常用的三种算法还是需要大家去了解一下的. 1.词频位置加权排序算法:顾名思义是说从整个网站上的文字的位置上与出现的次数进行排序,先来说一下位置,不同的网站关键词在内容里出现与在标题里面出现时差别非常大的,搜索引擎认为标题能表现出一个网站是干什么的,如果标题里面出现了关键词要远比文章里面出现关键词重要的多的多.这就是现在大家都知道一个网站的标题

互联网搜索引擎页面价值在哪里

搜索引擎每天处理着数以亿计的查询请求,每个查询请求都代表了一个用户对于某种资源的特定需求.多数时候,通过查询返回的网页结果,这些需求被满足了,我们可以认为结果中的某些页面对特定用户的特定需求产生了价值.那么对于搜索引擎而言,页面的价值是指什么,我们为什么要研究页面价值,技术上怎样判断页面的价值呢?本文将逐一回答这些问题. 一. 什么页面价值. 前面我们说了,某个页面满足了某一用户的特定需求,就体现了这个页面对用户的价值.那么对搜索引擎而言,价值体现在哪些方面呢?一个简单的推论,所有可能会对用户产

求让页面自动生成关键字跟描述算法的思路

问题描述 我想让页面根据页面本身拥有的内容,自动生成Keywords和Description,算法可以自己写,但是不知道怎么去写.求大侠们给我说下如何去实现的思路 解决方案 解决方案二:自动生成Keywords和Description也得有个生成条件吧?生成哪些.?你得给关键字定一个约束.用这个条件来生成.解决方案三:自动生成会很烂的,看看QQ日志生成的关键字有多烂