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优化效果不佳呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 971
    • 服务器多个网站
  • TF-IDF算法、关键词的形成条件

    成为关键词的条件

    说到SEO优化,那么第一次反应就是关键词的排名。很多人对于关键词的认知就是我在TDK中突出的词,或者把一个词在文章中突出重复,提升这个词的密度就可以让搜索引擎认为这个词是这个页面的关键词,然后一个词是否能成为关键词,并不是简单的重复就可以实现的,更多的是参考TF-IDF算法值来确定一个词是否成为关键词。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2463
    • 成为关键词的条件
  • 百度SEO抓取友好性之链接发现

    百度SEO,链接提交

    ​当网站有了内容,要实现内容的收录,就需要先实现内容被搜索引擎抓取,而要实现抓取就可以让搜索引擎发现链接。对于常见搜索引擎,发现链接的方式主要有两种方式,一种是抓取获取,一种是站点的提交。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 862
    • 百度SEO
    • 链接提交
  • 做seo需要具备哪些条件

    seo优化条件

    并不是所有网站所有行业适合做网站优化,哪些网站适合做SEO优化呢?需要哪些条件呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1122
    • seo优化条件
  • 如何引用外部链接又不导出权重

    外链,权重

    大家知道有哪几种方式防止外链导出权重,外链防止权重的方法主要有nofollow和js方法实现,那你知道这两种方法的区别吗?哪种更好呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1281
    • 外链
    • 权重
  • 移动端SEO优化应该怎么做呢?

    移动SEO优化

    移动端SEO优化应该怎么做呢?移动时代已经到来,并没有给人们太多思考时间,而越来越多的用户通过手机进行社交、查看新闻、移动办公及浏览网页等,随着移动营销被推上风口浪尖,众多企业开始转向移动SEO,纷纷试水移动搜索引擎优化。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2042
    • 移动SEO优化
  • 别让面面俱到毁了你的SEO

    网站目录,SEO

    现在很多的站点都有一个现象,一种非常不利于SEO优化的现象,但却是很多站点设计的时候必踩的雷区。超级多的网站目录,看似非常合理的设计,实则利大于弊。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 501
    • 网站目录
    • SEO
  • 网站site和索引量差距过大

    site与索引量

    对于seo的日常会比较关注site出来的结果数量和站长后台的索引量,但是很多情况下我们会遇到site数量和索引量的差距比较大,出现这种情况大家的小心脏不免心慌慌,那么为什么站长平台的索引量和site展现不一致呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2555
    • site与索引量
  • 用户体验之页面加载速度与网络质量

    用户体验,页面加载速度

    如何提升页面的加载速度,一直以来忽略了很重要的一点,之前的优化基本上都是从站点的角度的出发,提升程序性能,增加配置,压缩资源等。网页加载速度不止是取决于服务器的响应速度,还与客户端有关。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1662
    • 用户体验
    • 页面加载速度
  • 网站SEO优化之关键词稀缺性

    SEO优化,关键词,稀缺性

    如果你的站点不管怎么优化,很大可能就是关键词选择有误,正确的关键词是SEO优化成功的关键。​SEO优化的目的是流量的获取,而网站的流量则是各个关键词流量的总和,同时流量的质量类中则则是由关键所决定,因此网站优化原则正确的关键词对于站点的优化效果以及转化效果至关重要。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 779
    • SEO优化
    • 关键词
    • 稀缺性
  • 如何正确理解SEO关键词

    SEO关键词

    关键词作为SEO优化的核心点,作为一个合格的SEOER对于关键词有一个正确的认识是非常的重要的,对于关键词的认知有多深,决定了在SEO优化这条路上可以走多远。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1008
    • SEO关键词
  • 如何做好网站中期优化工作?

    网站中期优化

    如何做好网站中期优化工作?当我们的网站排在前20名时,这个时间也是网站的关键优化时期,就像孩子已经达到了同一个发展阶段。您能否排在第一位,看看您想要如何工作?首先,让我们把它分成三点。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1412
    • 网站中期优化
  • 怎么样增加外链不会被惩罚

    怎么样增加外链

    怎么样增加外链不会被惩罚,如何规避绿萝算法,安全的增加外链。很简单,做到接近自然生成外链,要有一定的域名广泛性,更重要的外包代发尽量避免,设计到黄赌毒,那就惨绝人员,排名从此与你无缘

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1648
    • 怎么样增加外链
  • 学习seo网站优化难吗

    seo网站优化难吗

    对于SEO优化这个岗位可以说任何一个学科都不涉及,因此SEO优化基本都是零基础入门的,那么SEO优化学习难吗?如何才能够学好SEO优化呢?也许你是参加了培训机构,也许你是自学SEO优化。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1308
    • seo网站优化难吗
  • 百度SEO优化中常见的算法违规有哪些

    seo算法,百度seo

    在不了解算法的情况下进行SEO优化就变得没有了意义,今天以百度搜索引擎为例,在百度SEO优化中常见的算法违规有哪些呢?在不了解算法的情况下进行SEO优化就变得没有了意义,今天以百度搜索引擎为例,在百度SEO优化中常见的算法违规有哪些呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1050
    • seo算法
    • 百度seo
  • 低权重站点适合做友链吗?

    低权重站点,友情链接

    低权重站点适合做友链吗?友情链接交换是一些站点的常规SEO优化事项,友链交换是提升站点权重的重要手段之一,尤其是对于新站可以实现权重的导入,以及增加蜘蛛的爬取量。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1548
    • 低权重站点
    • 友情链接
  • 现在发布外链还有用吗

    优质外链

    外链优化对于SEO来说是一个在数据不过的话题,曾经外链对于排名的效果是非常好的,如今却是收效胜微。那么现在是不是外链没有作用了吗?显然不是这样今天讲一下现在发布外链对于SEO还有用吗?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1461
    • 优质外链
  • 别让网站打开速度毁了SEO优化

    网站速度

    在当今的数字时代,网站的打开速度不仅关乎用户体验,更是影响搜索引擎优化(SEO)效果的关键因素。潘某人SEO带你探讨网页加载速度对SEO的影响,并提如何提高你网站的速度。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 412
    • 网站速度