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优化工作中,对于图片的优化与调整一直都是工作的重点内容之一。因为图片作为网站内容展示最为直观与形象的表现,是很多文字内容无法完全表达的重要补充。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2072
    • 网站图片优化
  • 你的站点url中含有#号吗,别被坑惨了!

    #号,url链接

    如果一个在进行SEO优化的站点,url中却有#号,那么这就是一个悲伤的故事了,看完这篇文章你应该会跺脚!如果一条url链接中包含#符号,那么这条url就是一个 Fragment URL。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1426
    • #号
    • url链接
  • 做seo常用的4个标签

    SEO常用标签

    在做seo的时候,经常会碰到网站页面的标签的使用问题,这些标签你不得不好好对待。因为这些标签可以帮助日后的网站优化,并且很有利于提高网站权重。那么下面就和你说下做seo常用的4个标签:

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1688
    • SEO常用标签
  • 收录数量和权重关系

    收录数量和权重关系

    收录数量和权重有什么关系呢,收录的数量越多是不是权重就越高,站点就有更大的流量呢?相信收录量是很多站点奋斗的目标,想方设法的去快速的增加大量的收录,但是最终并没有很好的效果,这是为什么呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1210
    • 收录数量和权重关系
  • 关键词难易度评估方法

    关键词难度评估

    选好关键词是SEO优化的关键因素,关键词的质量可以决定搜索量、排名、以及转化等。关键词是网站和搜索引擎和用户三者衔接的桥梁。关键词的选择充满了奥秘,简单的讲我们需要考虑这个关键词的搜索量毕竟没有流量的关键词排名再高也没用,其次关键词的排名对于自己站点的难易程度,以及最关键的流量以及转化的平衡点的把握。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 928
    • 关键词难度评估
  • 文章长度多少百度才收录

    文章长度收录

    很多人会有一个疑虑页面字数控制在多少可以更好的被搜索引擎收录呢?对于这个问题我们的分析是收录的核心关键点是什么,待你明白那么也就不会取纠结于这个字数问题,因此字数于收录与否没有直接的关系。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1007
    • 文章长度收录
  • 聚合标签对seo优化的作用

    seo聚合标签

    聚合标签这个词大家可能比较陌生,即使是SEO们也有很多人是没有听说过,聚合标签我们也可以认为是tag标签,那么这类聚合标签对于SEO优化的作用大不大呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1879
    • seo聚合标签
  • 网站SEO反链优化,如何建立高质量的反链呢?

    SEO反链优化

    网站SEO反链优化,如何建立高质量的反链呢?网站的反链数即是从够从别的网站导入到本网站的链接数量。那么,反链数越多,就说明能从别的网站进入自己网站的渠道越多,这是网站优化实现排名效果的重要思路之一。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1749
    • SEO反链优化
  • 百度搜索算法大全,站长速度查阅收藏

    百度搜索算法

    百度搜索算法大全,百度算法主要从:页面内容质量、用户需求满足、用户体验友好、搜索公正及用户安全,今天给大家梳理下这四块内容下涉及到的算法。作为seo优化从业者必须掌握的搜索引擎的算法,梳理一下百度搜索引擎常见的算法。飓风算法、劲风算法、细雨算法、蓝天算法、冰桶算法、惊雷算法、清风算法

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1969
    • 百度搜索算法
  • 如何鉴别真假蜘蛛,代码自动化

    蜘蛛鉴别,假爬虫屏蔽

    如何使用代码自动化的识别蜘蛛的真实性,防止被假蜘蛛抓取网站内容。分享一个通过代码自动化鉴别屏蔽加搜索引擎爬虫的思路。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1494
    • 蜘蛛鉴别
    • 假爬虫屏蔽
  • 百度原创星火计划是什么

    星火计划

    百度原创星火计划(又称伪原创的算法)是在,百度搜索团队首次表示,正在设计一套较完善的原创识别算法,并提出了互联网生态的项目课题,是为了解决原创内容的搜索排名问题。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1692
    • 星火计划
  • SEO内部链接的重要性

    seo内链

    很多站点会关注外链的优化而忽略了内链的优化,但是对于目前的环境来说外链的效果有效,优质外链获得的成本是比较高的,过多的垃圾外链是弊大于利。相比之下内链的的优化空间是非常大的,而且基本不受限制,做好站点的内链优化对于seo优化的意义是非常大的。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 947
    • seo内链
  • 如何做网站SEO诊断?

    SEO诊断,网站优化

    从网站的展现、点击率、关键词相关度,可以更加快速简单有效的诊断出网站的SEO优化效果。网站诊断可以从很多方面出发,可以从页面的规范程度,站点的内容,网站的代码等等各个方面都是决定网站最终优化效果的因素。今天不讲那么多细节性的,就从网站展现排名来诊断网站的优化效果。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 898
    • SEO诊断
    • 网站优化
  • 智能小程序对seo效果那么好,为什么做的人还是很少

    智能小程序,seo优化

    站点开通智能小程序可以有机会获得站点logo权限、快速收录等权限,对于seo优化有着非常好的帮助。即使如此智能小程序的普及并不高,大家知道这是为什么吗?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 716
    • 智能小程序
    • seo优化
  • SEO优化如何快速提升网站关键词排名

    SEO优化,关键词排名

    对于seo优化最关注的莫过于如何快速的提升网站关键词的排名,但是在实际优化中结果却不符合预期,长时间的优化不断的尝试也没有明显的效果。要快速的获得关键词的排名,笔者认为最关键词的还是需要找对方法,才是一切的关键,否则再多的努力也是徒劳。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 693
    • SEO优化
    • 关键词排名
  • SEO优化内容的发展趋势

    SEO优化

    2022-07-14百度搜索资源平台发布了打击盗版网文站点公告,从中其实可以对seo未来的发展趋势有了大概的预测。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 575
    • SEO优化
  • Site域名查询的不显示备案信息

    网站备案,site命令,收录量

    Site命令站长们应该非常的熟悉,只要在对应的搜索引擎输入”site:域名”就可以查询到站点的收录数量。同时顶部的小卡片中会显示站点的备案号和备案主体,但是有的时候会遇到有些站点就只有资格收录数量,没有任何的备案信息。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1340
    • 网站备案
    • site命令
    • 收录量
  • seo标题写法及其重要性

    seo标题写法,重要性

    标题对于SEO优化起着一个什么样的作用呢,这是一个值得思考的问题。很多人认为一个好的标题对于排名有着很好的作用,但是个人不这么认为,标题的作用没有我们想象的那么重要!

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1546
    • seo标题写法
    • 重要性