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常用的4个标签

    SEO常用标签

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

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1758
    • SEO常用标签
  • 如何建站才更利于SEO

    seo建站

    网站是内容的载体,网站建设的是否合理对于后期seo优化存在着深远的影响,对于大多数站点基本都会采用cms建站系统,但这样其实还是有一定问题。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1045
    • seo建站
  • 网站被人刷点击有影响吗

    刷点击影响排名

    网站被人刷点击有影响吗?通过低质量高跳出率的去刷取竞争对手的网站,使它被搜索引擎认定为作弊行为来打击竞争对手的网站。那么通过这种恶意的刷对方的网站真的会可以是他降权吗?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2374
    • 刷点击影响排名
  • 网站不收录的原因及如何处理应对

    收录

    网站不收录问题不管是新站还是老站都会面临的问题,那么当网站遇到收录问题的时候应该如何应对,如何找到问题所在呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 736
    • 收录
  • CDN防止网站被黑攻击

    CDN,网站被黑

    CDN的可以有效的隐藏网站的真实的IP地址,用户访问到的是离自己最近的CDN服务器;不仅仅加快了全球各地用户的访问速度体验,同时因为IP的隐藏,加大了攻击者访问到真实地址的难度,另一方学会如何设置好服务器的安全组,也可以有效防止网站被黑。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1052
    • CDN
    • 网站被黑
  • 网站URL设计你做对了吗?收下这份攻略!

    URL设计,网站优化

    网站URL设计你真的会吗?合理的url设计不仅仅是对于用户体验和运营效果重要,对于seo优化也起到了非常重要的影响,在见过了各种的网站url设计模式,潘某人SEO结合自身多年SEO优化经验,给大家总结下,本人认为比较好的网站url设计的方案。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 977
    • URL设计
    • 网站优化
  • 下载站注意,清风算法4.0来了

    清风算法4.0,SEO算法,下载站

    如果你的站点是下载站,那么请一定进来看下百度清风算法4.0版本,2021-09-02百度搜索资源平台发布公告对清风算法进行升级,进入了4.0版本。本次清风算法升级加大了针对不符合规范的低质下载站,将限制其在百度搜索结果中的展现。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1509
    • 清风算法4.0
    • SEO算法
    • 下载站
  • alternate和Canonical标签防止重复收录分散权重

    alternate标签,Canonical标签,重复收录

    alternate和Canonical标签有什么作用,我们可以正确使用这两个标签,解决重复页面,以及移动端和PC端页面的对应关系的适配,可以更好防止出现重复页面的收录,有效的解决权重分散问题。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 4187
    • alternate标签
    • Canonical标签
    • 重复收录
  • 如何利用行业关键词提高曝光量

    关键词曝光

    同样的SEO优化方案对于不同行业的效果是不一样的,我们如何利用行业关键词去提升网站的曝光是一项重要的技巧。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1926
    • 关键词曝光
  • 网站排名优化贵在长期稳定坚持

    网站排名优化思路

    如果一个网站想要稳定的流量,那么不是靠一朝一夕可以迅速做到的,因此网站排名优化的重点在于长期稳定坚持的输出高质量的内容的,一个量变到质变的过程。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1478
    • 网站排名优化思路
  • 是什么在拉低阻碍站点的权重

    影响网站权重的因素

    分析下传统企业建站的站点有哪些问题是影响网站权重提升的因素。如果一个网站的结构上先天不足,那么对于后期优化真的是阻碍重重很折磨人......

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2152
    • 影响网站权重的因素
  • 老域名建站对seo真的有好处吗?

    域名,建站

    在SEO的世界里,一个普遍的观点是使用老域名建站可以带来更好的搜索排名效果。然而,事实真的如此吗?今天与潘某人SEO一起深入探讨一下老域名建站在SEO中的真正影响,并揭开一些常见的误区。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 192
    • 域名
    • 建站
  • 网站被K了怎么办?流量暴跌、排名下降如何自救?

    流量,排名,降权

    网站被K的症状有哪些?多久能恢复?又该如何操作自救?在SEO的世界里,每天都像在过山车上——你永远不知道第二天等你的是惊喜还是惊吓。一夜之间,流量归零、关键词排名全掉、收录彻底消失……这就是“网站被K”的真实写照。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 293
    • 流量
    • 排名
    • 降权
  • 如何最大化挖掘关键词

    挖掘关键词

    关键词挖掘一定程度上决定了SEO优化的成与败,在网站的内容和搜索引擎之间衔接的桥梁就是关键词,关键词是用户需求解决的起点,对于搜索引擎通过关键词来匹配最优质的内容的。不考虑其他因素,站点的关键词覆盖面更全,流量覆盖更完整。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 820
    • 挖掘关键词
  • SEO为什么没办法快速见效?

    seo优化

    SEO为什么没办法快速见效?如何正确的看待seo优化?

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

    网站中期优化

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

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1306
    • 网站中期优化
  • 面包屑导航在seo优化中的作用

    面包屑导航

    在这个信息爆炸的时代,网站想要在众多竞争对手中脱颖而出并非易事。尤其是在2025年的今天,搜索引擎优化(SEO)已经成为了每个站长和内容创作者不可或缺的技能之一。今天潘某人SEO就和大家一起探讨下一个常常被忽视却极具潜力的SEO优化利器——面包屑导航。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 282
    • 面包屑导航
  • 如何鉴别真假蜘蛛,代码自动化

    蜘蛛鉴别,假爬虫屏蔽

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

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1569
    • 蜘蛛鉴别
    • 假爬虫屏蔽