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优化

    商城类站点流量只是一个最基本的,但是需要获得转化还有更加重要的方面综合考量,下面就列出商城站点需要注意的几个方面。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2101
    • 商城SEO优化
  • SEO付费方式比较靠谱

    seo付费模式

    按天?按月?还是按年?来看看哪款SEO付费方式更适合你!不论是按天收费还是按年、按月收费,其实都是我们SEO优化服务的一种计费模式。正所谓存在即合理,两者间其实都是互有优劣的。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1791
    • seo付费模式
  • SEO行业面临的困境

    SEO行业的困境

    SEO行业面临的困境,客户对于SEO不正确的理解和期望值过高​、美好的SEO前景、Seo竞争如火如荼该放弃还是坚持 、从事seo每一个阶段都要有不同的方略 。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1730
    • SEO行业的困境
  • 原创内容收录排名一定好吗?

    原创内容收录

    可以说现在已经已经进入了内容为王的时代,站点想要流量就必须生产优质内容,逐渐的大家都在进行原创或者为原创,但是很多站点并没有多大的效果,甚至有的站点收录都非常困难。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1052
    • 原创内容收录
  • 网站响应速度如何提升

    网站速度提升

    网站响应速度如何提升,移动网站越来越受到重视.网页的加载速度也是用户体验中就重要的一环。百度推出的闪电算法更是要求移动端的网页必须在2秒内完全加载,这也成了整个行业的标准。同时网站的加载速度也将直接影响搜索引擎中的排名。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2151
    • 网站速度提升
  • 网页打开速度很慢,对SEO有何影响

    网页打开速度,SEO影响因素

    网站打开速度是很多站点在优化的时候比较容易忽视的问题,然后网站打开速度慢不仅对于SEO优化会有很大的影响,对于网站的流量转化也会造成直接巨大的影响。今天来探讨下网站打开速度对于SEO有什么影响,又如何去提升网站的速度呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1395
    • 网页打开速度
    • SEO影响因素
  • 权重域名对SEO的影响大吗?

    权重域名,老域名建站

    一直有一种说法建站要用权重高的域名,可以对站点的SEO优化起到很好的促进作用,那么事实是真的如此吗?今天就来探究下。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1035
    • 权重域名
    • 老域名建站
  • 权重是什么意思

    权重是什么意思

    很多人对于网站权重的意思存在着一定的误解,其实搜索引擎官网并不存在所谓的权重,这里的权重其实指的是第三方工具比如站长工具、爱站等平台给到的一个等级划分,对于网站权重还是需要理性的看待,没有必要过分的追逐。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1336
    • 权重是什么意思
  • 301跳转与SEO优化的那些事

    301跳转,重定向,SEO优化

    ​在网站改版的时候经常会用到301跳转,301重定向是将当前链接永久指向一个新的网址。当网站改版的时候,网站的链接发生变化之后,而原链接都是有排名的,所以就需要做重定向避免流量的损失。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 651
    • 301跳转
    • 重定向
    • SEO优化
  • 百度SEO抓取友好性之链接发现

    百度SEO,链接提交

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

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 721
    • 百度SEO
    • 链接提交
  • 索引量和收录量的区别

    关系区别,收录量,索引量

    索引量和收录量的很容易混淆认清两者的关系对于网站优化十分的有帮助,分析索引量和收录量的数据可以及时的发现网站的问题。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2533
    • 关系区别
    • 收录量
    • 索引量
  • 移动端适配的几种实现方式

    移动端适配

    移动端适配的几种实现方式,rem布局、flex布局、百分比布局、字体适配、vm布局。纯CSS的相对单位vw,vh,它们相对的是终端视口,视口(移动端你就可以当成屏幕就好啦)的宽为100vw,高为100vh。使用起来很简单

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 14440
    • 移动端适配
  • 如何交换友链及其注意事项

    友情链接交换

    在SEO优化中友情链接的交换,不能单纯只看交换网站的权重,网站的内容质量,以及内容的相关性,网站是否符合规定,等等等因素都是需要注意的。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1634
    • 友情链接交换
  • 速查站点违规低质页面

    低质页面,百度搜索

    23年8月底,百度搜索资源平台发布了百度搜索违规低质页面问题说明,将加强对于违规和低质页面的清理,速度看看你的站点在此之列吗。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 975
    • 低质页面
    • 百度搜索
  • 网站怎么赚钱

    网站怎么赚钱

    对于企业站点,主要目的就是通过业务模式来转化,那么对于个人站点不存在所谓的业务需求那么又要如何去赚钱呢?对于个人站点的赚钱主要可以通过流量、广告、站点出售等获取。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 781
    • 网站怎么赚钱
  • 网站目录提交网址,对SEO还有作用吗?

    网站目录,外链,SEO优化

    网站目录是站点外链优化途径之一,那么如今提交网站目录对于SEO优化效果大吗?网站目录作为外链的一种形式,它的效果遵从外链相关的规则和算法。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1107
    • 网站目录
    • 外链
    • SEO优化
  • SEO优化一定需要做原创内容吗?

    SEO必须原创吗

    随着时代进步SEO优化可以说是越来越难,现在发展方向是内容为王,支持原创内容。那么对于我们网站优化的时候是不是就只有一条路一定要去更新原创内容呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1731
    • SEO必须原创吗
  • 百度天网算法,用户隐私保护

    百度天网算法,用户隐私保护

    百度天网算法打击恶意盗取网民的QQ号、手机号进行营销推广的行为。打击这种严重侵犯用户隐私的行为的站点。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1500
    • 百度天网算法
    • 用户隐私保护