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

相关文章

  • ETag对于SEO优化的作用

    ETag,SEO优化

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

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 377
    • ETag
    • SEO优化
  • SEO优化核心之关键词筛选

    ·关键词筛选,SEO优化核心

    ·对于SEO优化关键词的筛选作为核心,应该是大家都认同的。如果能够真的掌握关键词筛选的真谛,那么成为一个高手也不是不可能。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1018
    • ·关键词筛选
    • SEO优化核心
  • SEO网站优化如何进行内容建设

    SEO网站内容建设

    网站优化建设内容,不在于原创还是伪原创,抓住用户的需求,提供最优价值的内容才是根本。保持稀缺性,是网站排名优化的核心手段!

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1673
    • SEO网站内容建设
  • 大多数站长搞错了SEO的核心

    SEO的核心,seo优化

    大家觉得SEO优化的核心重点是什么呢?关键词排名展现,如果您是这么认为的那请看完这篇文章,你会有不同的感悟。SEO的核心并不是在于关键词的排名,关键的排名只是途径。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 678
    • SEO的核心
    • seo优化
  • 网站标题关键词结构布局

    网站标题布局

    网站标题关键词结构布局,对于网站结构比较复杂的网站,那么为了使得网站结构有一定的条理性,那么这么网站的标题就需要一定的布局。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1436
    • 网站标题布局
  • 网站优化中如何做好图片的优化

    网站优化,图片优化,alt标签

    网站优化中图片优化你做对了吗,很多站点忽视了页面图片的优化,这会让你损失点不少流量,如果你还没有意识到,容潘某人SEO为你细细道来。

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

    meta标签屏蔽页面抓取

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

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 3276
    • meta标签屏蔽页面抓取
  • 百度落地页规范之广告体验

    落地页,广告,百度

    近期百度发布了搜索违规落地页的体验问题说明,主要从pc端移动适配、页面排版布局、交互功能规范,这三方面进行了说明。各个站长还是速度的自查站点是否有违规的行为,又一波考验到来了。广告投放的关键点是什么,需要注意哪些方面呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1014
    • 落地页
    • 广告
    • 百度
  • 地方行业网站该如何做好SEO

    地域行业seo

    地方行业网站该如何做好SEO?善于应用带地方名称关键词的密度分布,打造强悍的地方性长尾词群。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1771
    • 地域行业seo
  • 如何鉴别一个人SEO的能力水平

    SEO的能力

    大家是通过什么方式鉴别一个人的seo能力呢?相信大多数人的方法就是看项目经验,比如面试的时候大多数情况就是看应聘者有没有成功的案例,但其实这种方式的是非常不科学的。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 967
    • SEO的能力
  • 移动端网站应该如何优化?

    移动端SEO

    现在互联网的发展越来越倾向移动端,但是还是的分行业,但是大多数的行业都是移动端流量更大,因此对于SEO来说,也要与时俱进的及时的进入移动端SEO优化。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1655
    • 移动端SEO
  • 令人崩溃的网页表单输入体验

    输入体验

    站长们必看的一篇文章,网站表单的输入体验真的非常的重要!今天遇到一个让我非常恼火的问题,相信大家一定也遇到过,当你再网页的表单中填写了很多内容,突然不小心关闭了页面或者点到了链接页面跳转导致编写的内容全部丢失,如何优化表单输入体验。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 542
    • 输入体验
  • 如何修改浏览器User-Agent

    User-Agent

    演示如何修改User-Agent,通过修改HTTP请求头,我们可以实现浏览不同设备下的网站的展示内容。如何通过修改浏览器User-Agent去访问网页,学会修改浏览器user-agent之后,就可以访问站点的爬虫页。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2216
    • User-Agent
  • SEO诊断思路:从展现到点击,轻松判断你的网站优化效果!

    SEO诊断,网站优化

    在竞争激烈的互联网时代,网站SEO优化早已成为每个站长和运营者必须掌握的核心技能。然而,很多人做了大量的内容优化、关键词布局,却始终看不到排名提升、流量增长。问题出在哪?你真的会“诊断”网站的SEO效果吗?今天,潘某人SEO从展现与排名出发,教你如何快速判断网站的SEO优化效果。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 242
    • SEO诊断
    • 网站优化
  • 百度自然搜索排序规则

    排序规则,百度自然搜索

    搜索引擎排名规则应该是广大站点探究的话题,只有对各大搜索引擎的排名规则有所了解,才能更有针对性的做优化,最短时间获得最好的效果。那么那些因素是决定排名的主要的因素,分享下个人的理解。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1031
    • 排序规则
    • 百度自然搜索
  • 薪水陷阱:警惕短期收入如何扼杀你的职业成长

    职业规划

    今天我们不讲SEO,来讲讲职业规划,也许可以拯救一部分人的未来。不管大家从事什么职业,在求职的时候最关心的必然是薪水,还有一部分人会关注自身的职业发展。但是大多数情况下很多人会为了薪水妥协牺牲自身的职业发展。很多时候我们因为各种原因陷入了薪水陷阱,逐步的断送了自己的未来。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 4978
    • 职业规划
  • IP地址段表达方式

    IP地址,IP区间段,ip表达式

    ip/8/16/24,IP大家在熟悉不过了,但是大家真的了解IP吗?如何表示一段区间的IP端呢?在网站优化的时候IP的屏蔽是经常需要做的一件事,如果需要屏蔽的IP都在一个段区间内,你还在一个个屏蔽吗,有没有一种快速屏蔽一段IP的方法吗。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 3030
    • IP地址
    • IP区间段
    • ip表达式
  • 为什么大多数站点SEO以失败告终

    SEO失败原因,核心因素

    做SEO优化的站点很多,从事SEO行业的人也不少;但是成功的站点没几个,SEO高手没几个。那么到底是什么原因导致了大多数站点的SEO优化没有效果,都以失败告终了呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1211
    • SEO失败原因
    • 核心因素