搜索引擎对⽹页去重技术算法-⽤来解析伪原创与⽹页相似度⾸先,搜索引擎对所索引的所有⽹页进⾏页⾯净化和内部消重。
任何⼀家搜索引擎在尚未进⾏复制⽹页判断这⼀操作之前都定然会有个⽹页净化和内部消重的过程。搜索引擎⾸先要清除噪⾳内容,对⽹页内部的⼴告、版权信息、共同的页眉页脚部分等进⾏净化,然后提取出该页⾯的主题以及和主题相关的内容,⽤以排名⼯作,噪⾳内容是不计⼊排名权重之中的。
消重也差不多是这个意思,搜索引擎对其所收集的⽹页集⾥⾯主题相同或极端相似的,⽐如同⼀模板之中多次出现的共同代码,将其作为冗余内容,进⾏消除。
我们可以这样理解,最理想的状态之下,⼀篇原创⽂章,搜索引擎仅将标题和内容计⼊排名之中,其他全部都消除。
DocView模型就是⼀个⾃动分类和消重的模型,当然,不是⾮常准确。⼤家可以简单了解⼀下,DocView模型包括⽹页表识、⽹页类型、内容类别、标题、关键词、摘要、正⽂、相关链接等要素,它通过提取DocView模型要素的⽅法应⽤在⽹页⾃动分类和⽹页消重之中。
通过了解以上内容,我们就能⼤致明⽩,同⼀篇⽂章,为什么放到两个完全不同模板的站点之上,搜索引擎仍然能够正确识别出这是⼀个复制页⾯的原因了吧。
其次,搜索引擎对净化的页⾯进⾏重复内容的判断。
那么搜索引擎具体是如何判断复制页⾯的呢?以下内容是北⼤天⽹搜索引擎的去重算法,⼤部分来⾃对《搜索引擎——原理、技术与系统》相关知识的整理,⼤家可以⾃⾏参考相关⽂档。
现有⽅法⼤致可以分为以下三类:
1、利⽤内容计算相似
2、结合内容和链接关系计算相似
3、结合内容,链接关系以及url⽂字进⾏相似计算
现有绝⼤部分⽅法还是利⽤⽂本内容进⾏相似识别,其它两种利⽤链接关系以及URL⽂字的⽅法还不是很成熟,⽽且从效果看引⼊其它特征收效并不明显,所以从实际出发还是选择利⽤内容进⾏相似计算的算法。
搜索引擎判断复制⽹页⼀般都基于这么⼀个思想:为每个⽹页计算出⼀组信息指纹(信息指纹,英⽂是Fingerprint,就是把⽹页⾥⾯正⽂信息,提取⼀定的信息,可以是关键字、词、句⼦或者段落及其在⽹页⾥⾯的权重等,对它进⾏加密,如MD5加密,从⽽形成的⼀个字符串。信息指纹如同⼈的指纹,只要
内容不相同,信息指纹就不⼀样。搜索引擎在对爬取的⽹页建⽴索引的时候需要对重复内容的⽹页进⾏识别和消重,这就要⽤到信息指纹),若两个⽹页有⼀定数量相同的信息指纹,则认为这两个⽹页的内容重叠性很⾼,也就是说两个⽹页是内容复制的。注意⼀点,算法提取的信息不是针对整张⽹页,⽽是把⽹站⾥⾯共同的部分如导航条、logo、版权等这些⽹页的噪⾳信息过滤掉后剩下的⽂本。
很多搜索引擎判断内容复制的⽅法都不太⼀样,主要是以下两点的不同:
1、计算信息指纹的算法;
2、判断信息指纹的相似程度的参数。
部分算法简介:
1、分段签名算法
这种算法是按照⼀定的规则把⽹页切成N段,对每⼀段进⾏签名,形成每⼀段的信息指纹。如果这N个信息指纹⾥⾯有M个相同时(m是系统定义的阙值),则认为两者是复制⽹页。这种算法对于⼩规模的判断复制⽹页是很好的⼀种算法,但是对于像Google这样海量的搜索引擎来说,算法的复杂度相当⾼。
2、基于关键词的复制⽹页算法
像Google这类搜索引擎,他在抓取⽹页的时候都会记下⽹页中出现的关键词(中⽂分词技术)以及每个关键词的权重(关键词密度)以及提取meta descrīption或者每个⽹页的512个字节的有效⽂字。
假设我们约定Pi表⽰第i个⽹页;该⽹页权重最⾼的N个关键词构成集合Ti={t1,t2,…tn},其对应的权重为Wi={w1,w2,…wi},摘要信息⽤Des(Pi)表⽰,前n个关键词拼成的字符串⽤Con(Ti)表⽰,对这n个关键词排序后形成的字符串⽤Sort(Ti)表⽰。
以上信息指纹都⽤MD5函数进⾏加密。
基于关键词的复制⽹页算法有以下5种:
1、MD5(Des(Pi))=MD5(Des(Pj)),就是说摘要信息完全⼀样,i和j两个⽹页就认为是复制⽹页;
2、MD5(Con(Ti))=MD5(Con(Tj)),两个⽹页前n个关键词及其权重的排序⼀样,就认为是复制⽹页;
3、MD5(Sort(Ti))=MD5(Sort(Tj)),两个⽹页前n个关键词⼀样,权重可以不⼀样,也认为是复制⽹页。
4、MD5(Con(Ti))=MD5(Con(Tj))并且Wi-Wj的平⽅除以Wi和Wj的平⽅之和⼩于某个阙值a,则认为两者是复制⽹页。
5、MD5(Sort(Ti))=MD5(Sort(Tj))并且Wi-Wj的平⽅除以Wi和Wj的平⽅之和⼩于某个阙值a,则认为两者是复制⽹页。
关于第4和第5的那个阙值a,主要是因为前⼀个判断条件下,还是会有很多⽹页被误伤,搜索引擎开发根据权重的分布⽐例进⾏调节,防⽌误伤。
以上5种算法运⾏的时候,算法的效果取决于N,就是关键词数⽬的选取。选的数量越多,判断就会越精确,但是计算速度也会越慢。所以必须考虑⼀个计算速度和去重准确率的平衡,根据试验结果,10个左右关键词最为恰当。
当然,以上算法只是给⼀个思路⽽已,并⾮搜索引擎判断复制⽹页的全部算法。只要在SEO的过程中注意原创和“伪原创”,⼤可不必太在乎这个算法。
⽹页去重技术之i-match算法
⽹页去重是⽹页预处理技术的⼀种,⽽⽹页预处理技术是搜索引擎⼯作的⼀个重要环节,这个环节处理的好不好直接影响到搜索引擎的终端客户的⽤户体验问题,也是判断⼀个搜索引擎好坏的重要标志。
当前⽹页去重的⽅法可分为三类:
1 基于内容(content-based)的去重,⽹页之间的重复度可以通过⽹页的内容来⽐较。
2 基于链接信息(anchor-based)的去重,链接信息,是指出现或邻近于指向⽹页的链接附近的⽂字。链接信息窗⼝通常包含⼀个⼈⼯创建的⽬标⽂档的摘要。这个摘要包含了很明显的⼈⼯总结信息和⼈⼯分类信息。
3 基于链接 (link-based)的去重,是通过⽹页的⼊链来⽐较⽹页是否重复。
根据内容重复的⼤⼩可以⼤致分为以下四类:主要从内容和格式来区分
1.full-layout duplicate 意为内容和格式完全相同。这种最悲剧了,完全就是ctrl+c,ctrl+v。
2.partial-layout duplicates 意为⽂档部分重要内容格式相同。
3.partial-content duplicates 意为⽂档部分重要内容格式不同,但内容相同。
4.full-content duplicates 意为内容完全相同,但格式不同
i-match算法历史和介绍说明
I-Match算法是Abdur chowdhury et al.在2002提出的,这种算法是对去重算法的复杂度降到O(d*logd),I-Match算法有⼀个基本的假设说“在⽂档集中⾼频词和低频词不太会影响⽂章语义”意思是在⽂挡中,特别⾼频的词和特别低频的词⽆法反应这⼀个⽂挡的真实内容。
通俗点讲我们在⽐较两件事物的相似性时,往往都会拿能均衡的反应这事物本质的东西来⽐较,就像⽐赛时,要去除⼀个最⾼分和最低分,然后再变算总分⼀样。I-Match算法是给予特征取样,特征提取是基于长期收集的统计资料。特征是以关键词作为⽹页的特征项,清华⼤学使⽤的提取关键词的⽅法是在⽂章中逗号,句号的前后各取1 个汉字,作为字符串。哈⼯⼤使⽤的⽅法是在⽂章中各个句号的前后各取2 个汉字。
虽然提取关键词的⽅法不同,但是都是以标点作为⽂中的提取标记,这种⽅法效率较⾼,然后统计每个关键词在所有⽹页中出现的次数,与出现该关键词的⽹页数,并进⼀步根据每个关键词的IDF(Inverse Document Frequency)值判断其取舍,关键词x的IDF值tx的计算为tx=log(N/n),其中N是收集的⽹页总数,n是其中含有关键词x的⽹页数。去掉IDF值较⼩的词,从⽽获得了更好的⽂档表⽰。
经过过滤的关键词按降序排列构成⽂档的“指纹”(fingerprint),指纹相同的⽂档被视为近似⽂档。
i-match算法框架:
1. 获取⽂档(或者是主体内容)
2. 将⽂档分解成token流,移除格式化的标签
3. 使⽤term的阈值(idf),保留有意义的tokens
4. 插⼊tokens到升序排列的排序树中
5. 计算tokens的SHA1
6. 将元组(doc_id,SHA hash) 插⼊到某⼀词典中,如果词典有冲突,这两个⽂档相似。
i-match算法缺陷:
1 如果⽂档内容较少可能所有⽂档都是相似⽂档
2 精度不是很⾼
3 处理数据⽐较⼤因为他是需要特征取样的需要硬盘空间⼤
搜索引擎消重算法之scma算法
关于消重主要是针对搜索引擎在抓取或者索引或者排序的过程中对内容相似或者重复的⽹页进⾏过滤和删除的操作,当然这⾥⾯⽐较复杂这篇主要说下搜索引擎是如何利⽤SCMA算法进⾏消除重复页⾯的。
SCAM(Stanford Copy Analysis Mechanism)是由斯坦福⼤学Narayanan Shivakumar等⼈提出,⽤于检测复制⽂件和剽窃⽂件的⼀种算法。SCAM的⽅法受到了信息检索技术的启⽰,提取的特征是基于单词在
⽂件中出现的频率。
SCMA算法⼤致是这样的⾸先是计算出每篇⽂档中各个单词的词频,然后将⽂档⽤词频向量的⽅法表⽰出来,计算每个词频向量之间的距离,在⼀定的范围之内就判断为相似的⽂档。
具体来讲就是,SCAM⾸先统计⽂件中各单词出现的频率,然后按照信息检索中常⽤的倒排索引存储法(Inverted Index Storage),存储⽂件与其
词频信息。
最后,SCAM算法在特征⽐较阶段,参照了向量空间模型VSM(Vector Space Model),提出了相关频率模型RFM(Relative Frequency Model),⽤以度量⽂件的相似性。其中VSM是采⽤余弦公式来度量两个⽂件的相似性;⽽RFM是对余弦公式进⾏了改动,如公式(1)所⽰。
公式(1)sim(R,S)=max{subset(R,S), subset(S,R)
(其中wi∈c(R,S)满) 其中,sim(R,Q)代表两个⽂件的相似性,N表⽰单词总数,ai表⽰单词i的权值,Fi(R)表⽰单词i在⽂件R中出现的次数,wi表⽰单词i。
SCAM算法特征提取步骤是采⽤的基于单词出现的频率,也就是说特征提取的粒度是单词级别,其空间复杂度是O(mn),时间复杂度是O(mn)2,其中,m表⽰单词总数,n表⽰⽹页数⽬。
搜索引擎消重算法之SCMA算法
关于消重主要是针对搜索引擎在抓取或者索引或者排序的过程中对内容相似或者重复的⽹页进⾏过滤和删除的操作,当然这⾥⾯⽐较复杂这篇主要说下搜索引擎是如何利⽤SCMA算法进⾏消除重复页⾯的。
字符串函数去重SCAM(Stanford Copy Analysis Mechanism)是由斯坦福⼤学Narayanan Shivakumar等⼈提出,⽤于检测复制⽂件和剽窃⽂件的⼀种算法。SCAM的⽅法受到了信息检索技术的启⽰,提取的特征是基于单词在⽂件中出现的频率。
SCMA算法⼤致是这样的⾸先是计算出每篇⽂档中各个单词的词频,然后将⽂档⽤词频向量的⽅法表⽰出来,计算每个词频向量之间的距离,在⼀定的范围之内就判断为相似的⽂档。
具体来讲就是,SCAM⾸先统计⽂件中各单词出现的频率,然后按照信息检索中常⽤的倒排索引存储法(Inverted Index Storage),存储⽂件与其词频信息。
最后,SCAM算法在特征⽐较阶段,参照了向量空间模型VSM(Vector Space Model),提出了相关频率模型RFM(Relative Frequency Model),⽤以度量⽂件的相似性。其中VSM是采⽤余弦公式来度量两个⽂件的相似性;⽽RFM是对余弦公式进⾏了改动,如公式(1)所⽰。
公式(1)sim(R,S)=max{subset(R,S), subset(S,R)
(其中wi∈c(R,S)满) 其中,sim(R,Q)代表两个⽂件的相似性,N表⽰单词总数,ai表⽰单词i的权值,Fi(R)表⽰单词i在⽂件R中出现的次数,wi表⽰单词i。
SCAM算法特征提取步骤是采⽤的基于单词出现的频率,也就是说特征提取的粒度是单词级别,其空间复杂度是O(mn),时间复杂度是O(mn)2,其中,m表⽰单词总数,n表⽰⽹页数⽬。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论