SimHash算法,关键词堆砌打击

Simhash算法又被SEO站长们成为关键词匹配算法,当用户搜索一个关键词的时候,会出现相关的网站进行展现,但是前些年有个别站长发现关键词密度越高排名越好,这是搜索引擎前期的漏洞,Simhash算法(也成分词匹配算法)对关键词堆砌起到了决定性的打击,尤其是新站一旦有关键词堆砌的嫌疑,将会在好几个月内无法获得排名。

说到文本相似性计算,大家首先想到的应该是使用向量空间模型VSM(Vector Space Model)。使用VSM计算相似度,先对文本进行分词,然后建立文本向量,把相似度的计算转换成某种特征向量距离的计算,比如余弦角、欧式距离、Jaccard相似系数等。这种方法存在很大一个问题:需要对文本两两进行相似度比较,无法扩展到海量文本的处理。想想像Google这种全网搜索引擎,收录了上百亿的网页,爬虫每天爬取的网页数都是百万千万级别的。为了防止重复收录网页,爬虫需要对网页进行判重处理。如果采用VSM方法,计算量是相当可观的。

这里介绍的SimHash算法很好的解决了VSM方法的缺陷,该方法最初由Google提出,用于网页去重。在介绍SimHash前,先大概说下传统的Hash算法。我们知道,衡量一个Hash算法好坏的一个指标是随机性。也被称作简单一致散列假设:每个关键字都等可能地散列到m个槽位中的任何一个中去,并与其他的关键字已被散列到哪一个槽位中无关。说白了,就是让散列的分布尽量均匀,哪怕内容发生很小的变化,hash值也会发生很大的变化。因此,根据传统的hash值无法得知被散列内容的相似程度。

simhash可以计算文本间的相似度,我们可以通过simhash算法计算出文档的simhash值,通过比较各个文本的simhash值之间的汉明距离的大小来判断其相似度,汉明距离越小,则相似度越大。一般大文本去重,大小<=3的即可判断为重复。



simhash算法分为5个步骤:1、分词、2、hash、3、加权、4、合并、5、降维


1、分词:

选择适合自己的分词库进行分词即可。

如“欢迎来到随迹”->(分词后)“欢迎”、“来到”、“随迹”


2、hash:

对每个词计算其hash值,hash值为二进制数01组成的n-bit签名。

设“欢迎“(100101)、“来到”(101011)、“随迹”(101011)


SimHash算法


3、加权:

对于给定的文本,权值即为分词后对应词出现的数量。给所有特征向量进行加权,即W = Hash * weight;这里我们假设三个词权值分别为4、5、9;

根据计算规则遇到1则hash值和权值正相乘,遇到0则hash值和权值负相乘

例如给“欢迎”的hash值“100101”加权得 到:W(欢迎) = 1001014 = 4 -4 -4 4 -4 4,给“来到”的hash值“101011”加权得到:W(来到)=1010115 = 5 -5 5 -5 5 5,剩下的按此规则计算


4、合并

将上述各个特征向量的加权结果累加,变成只有一个序列串。拿前两个特征向量举例,例如“欢迎”的“4 -4 -4 4 -4 4”和“来到”的“5 -5 5 -5 5 5”进行累加,得到“4+5 -4+-5 -4+5 4+-5 -4+5 4+5”,得到“9 -9 1 -1 1”。


5、降维

对于n-bit签名的累加结果,如果大于0则置1,否则置0,从而得到该语句的simhash值,最后我们便可以根据不同语句simhash的海 明距离来判断它们的相似度。例如把上面计算出来的“9 -9 1 -1 1 9”降维(某位大于0记为1,小于0记为0),得到的01串为:“1 0 1 0 1 1”,从而形成它们的simhash签名。


申明:本站内容仅代表个人观点,仅供学习参考;未经授权任何个人或组织单位不得复制、转载、摘编以及其它形式的应用!

本站文章可能使用到互联网上的资料,若对您造成困扰,请联系 kk19@foxmail.com除理

本文地址:https://www.chateach.com/seo/seosuanfa/407

相关文章

  • SEO优化之网站速度优化

    SEO优化,网站速度

    网站加载速度优化是非常有必要的,不仅仅是对于SEO优化,对于用户的访问转化起到了决定性的作用,看来看看有哪些因素会影响网站速度吧!

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 983
    • SEO优化
    • 网站速度
  • 谷歌的算法与百度的算法到底有什么不同?

    百度与谷歌的区别

    谷歌的算法与百度的算法到底有什么不同?网页排序算法其实只是一个统称,并不对应一个唯一的具体算法,而是一个混杂了多种算法的排序逻辑,本质上是一个排序系统。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2829
    • 百度与谷歌的区别
  • 想要做好网站seo优化内容,需要知道这几点

    seo优化,网站内容

    近年来网站seo优化越来越难做了,那是凡事都有双面性,网站seo优化越来越难,那么逐渐的会更多站点及优化人员逐渐的放弃被淘汰,这也正是大家机遇。如今很多人在唱衰seo,从相关的统计数据可以看到搜索引擎的用户量和搜索量依然强劲庞大,虽然说新媒体平台近几年的发展态势迅猛,但是需要知道此类流量性质和搜索引擎还是有很大区别的。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 929
    • seo优化
    • 网站内容
  • ETag对于SEO优化的作用

    ETag,SEO优化

    ETag,全称Entity Tag,中文名为实体标签,是HTTP协议的一部分。它是Web服务器和浏览器用于确认缓存组件有效性的一种机制。合理正确的使用ETag对于seo优化可以起到非常大的帮助,今天就和潘某人SEO一起来了解下ETag是何为以及对SEO优化起到了何种作用。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 602
    • ETag
    • SEO优化
  • 一个简单的操作让你的网站安全立马上一个级别

    网站安全,防火墙

    对于SEO来说,网站安全是极为重要,因为网站被黑导致内容被串改成黑产,被搜索引擎降权K站的比比皆是,今天潘某人SEO教大家一个简单的操作就可以把网站的安全提升一个级别。快速检查下自己站点是否正确设置了,虽然不是万无一失,但还是非常有用的。平时还是应该定期排查,及时打补丁,免得追悔莫及!

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 5309
    • 网站安全
    • 防火墙
  • 如何增加关键词密度

    关键词密度

    关键词密度需要控制得当,关键词密度不同行业也是不同的不可人云亦云,还得自己通过不断试验测试分析,同时关键词铺排要自然分散,增加关键词密度不是堆砌关键词。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1985
    • 关键词密度
  • 搜索引擎的基础原理知识

    搜索引擎原理

    搜索引擎的基础知识,从抓取、过滤筛选、建立索引及输出结果,这几个步骤的工作原理。对于SEO优化来说如果连搜索引擎的基本工作原理都不清楚,这样是一件非常糟糕的事情。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1459
    • 搜索引擎原理
  • SEO中domain的是什么

    domain,什么是domain

    SEO中domain的是什么,domain可以一定程度上反映外链数,但是能作为外链数量的判断标准。如何提升domain数。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2122
    • domain
    • 什么是domain
  • 什么是闭站保护?如何申请与解除?

    闭站保护,网站索引

    闭站保护是用于保护网站因为某些原因需要关停一段时间,来保护网站在搜索引擎中的索引数据,从而不会因为这段时间无法访问造成过大的影响。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1388
    • 闭站保护
    • 网站索引
  • 如何屏蔽某些页面的抓取,但是让页面中链接正常抓取

    meta标签屏蔽页面抓取

    如何屏蔽某些页面的抓取,但是让页面中链接正常抓取,对于这种情况,使用meta标签来进行屏蔽页面的抓取,可以变得更加的有效。相比常用的robots文件屏蔽,或者nofollow标签屏蔽的实用性更加的广。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 3486
    • meta标签屏蔽页面抓取
  • 抓取角度分析百度不收录原因

    百度收录,蜘蛛抓取

    网站不收录的原因有很多,今天从蜘蛛抓取角度分析下造成不收录的原因有哪些,我们以百度搜索引擎为例来进行分析。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1758
    • 百度收录
    • 蜘蛛抓取
  • SEO优化全流程解析:从零开始,打造高效搜索引擎友好网站

    搜索引擎

    网站SEO(搜索引擎优化)已成为企业获取流量、提升品牌知名度的关键策略之一。然而,对于许多初学者而言,如何系统地进行SEO优化仍是一个复杂的问题。今天,潘某人SEO就来详细探讨一下SEO优化的基础流程,帮助您从无到有建立一个高效的搜索引擎友好网站。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 703
    • 搜索引擎
  • SEO优化未来发展方向

    SEO优化发展

    SEO优化未来发展方向?如何才能立于不败之地?对于做SEO优化来说,尤其是对于刚入行的优化者来说,会担忧这个行业的发展。入SEO这个行业有没有前途。必然SEO优化是一项充满着挑战变数的工作....

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2212
    • SEO优化发展
  • 如何充分利用抓取频次

    如何充分利用抓取频次

    现在,我们已经想知道了,爬行很重要,是不是花费更多的时间来管理抓取频次?您应该(或不应该)做很多事情来让搜索蜘蛛更多地消耗更多的网站页面,以下是最大化抓取频次功能的操作列方法:如何充分利用抓取频次?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2868
    • 如何充分利用抓取频次
  • 搜索引擎的工作原理

    搜索引擎工作原理,收录原理

    讲述搜索引擎的工作原理,以及SEO优化中如何提高收录效率的方法。提高网站内容的质量原创度,稀缺性,和搜索引擎建立良好的信任关系。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1740
    • 搜索引擎工作原理
    • 收录原理
  • 百度搜索治理生态违规行为报告解读,seo作弊行为打击

    百度搜索生态,seo作弊打击

    2021年百度搜索治理生态违规行为报告解读,seo优化的发展趋势及对于那些违规优化手段的处理。百度搜索在不断加强seo作弊行为、加强了低质量站点,恶意采集行为的识别、以及一些对于损害用户体验行为的处理。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1128
    • 百度搜索生态
    • seo作弊打击
  • 网站推广SEO还是SEM该如何选

    SEM,SEO

    在互联网营销中,网站推广是每个企业绕不开的话题。而提到推广方式,很多人第一时间想到的就是 SEO(搜索引擎优化) 和 SEM(搜索引擎竞价推广)。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 500
    • SEM
    • SEO
  • 如何才能让移动端获得更好的排名

    移动端排名优化

    移动端获得更好的排名?同PC端的需求一样,收录问题解决后面临的就是排序问题了。在介绍排序原则之前先简休介绍一下移动搜索结果的构成,移动搜索主要有如下几类结果构成:移动页面、转码页面、PC页面。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1981
    • 移动端排名优化