搜索引擎原理之:网页去重算法

优采云 发布时间: 2022-07-19 10:17

  搜索引擎原理之:网页去重算法

  去重算法总结:

  一、基础:

  1、去重算法原理:抽取网页特征、计算相似度、消重;

  图片来如网络

  2、4大算法:Shinglin算法、I-Match算法、SimHash算法、SpotSig算法;

  3、网页去重好处:节省存储空间、提升计算效率;

  二、4大算法介绍:

  --------------------------

  SimHash算法: ----核心算法

  图片来如网络

  特征抽取:第1步,文档分词,清洗停止词;提取n个特征关键词

  第2步,给每个特征关键词,加权重,形成特征对(关键词,权重)。注:权重可以是IDF(逆文本频率)权值,也可以是词频+位置。

  第3步,对关键词及权重,进行hash降维01组成的6位(一般是64位或128位)签名,形成hash值。(如:101110)

  第4步,然后向量加权,对于每一个6位的签名的每一位,如果是1,hash和权重正相乘,如果为0,则hash和权重负相乘,至此就能得到每个特征值的向量。

  第5步,合并所有的特征向量相加,得到一个最终的向量,然后降维,对于最终的向量的每一位如果大于0则为1,否则为0,这样就能得到最终的simhash的指纹签名

  第6步,降维得指纹信息,如:110001

  

  注:3-6步,SEO可一带而过;

  计算相似度:用海明距离,与所属分组内文档的指纹,进行相似计算。

  如:文档A和文档B

  A指纹 = 110001;

  B指纹 = 101010;

  计算A和B的海明距离,如果小于等于3,即是近似重复文档。

  优 点:效率高,目前最优秀的去重算法,Google采集此算法。

  --------------------------

  Shingling算法:

  特征抽取:第1步,将文档按顺序的,划分为含X个字的单词片段,相似于叠瓦片。

  如:文档“新浪发布财报微博用户破亿”,将其划为4个字的单词片段(瓦片):“新浪发布”、“浪发布财”、“发布财报”.....,依次类推,一直到文档结束。

  第2步,每个单词片段(瓦片),对应的哈希值为一个Shingle,将文档所有Shingle,作为特征集合。

  计算相似度:计算2个特征集合中,其中重叠部份比例。

  特 点:效率低,并不实用。

  --------------------------

  I-Match算法:

  特征抽取:第1步,计算全局特征词典(可能是某类行业的特征词典),即:根据语料进行统计,对语料库所有单词,按单词的IDF(逆文本频率)值由高到低进行排序。删除IDF得分过高,及得分过低的单词。保留中间部份单词,作为特征词典。(很大可能按行业,或按某类来做语料库)

  第2步,将文档分词,用全部分词,与全局特征词典对比,将全局特征词典没有的词,过滤掉。

  第3步,以文档中剩下的词为特征,对其进行哈希计算,得到唯一哈希数值,以此为网页信息指纹。

  

  计算相似度:将网页指纹信息,与所属分类的文档集合,进行对比,两者相同,为近似重复网页。

  优 点:效率高

  缺 点:1、对文档单词顺序不敏感,比如:2个文档包含相同单词,但单词顺序,或段落变换,被认定为重复内容。

  2、短文本容易误判,比如:2个不同的短文档,经过特征词典过滤后,只保留很少单词为特征,容易重复误判,此问题在短文本中非常严重。

  3、对增删单词敏感,比如:在文档A中,增加某单词,形成文档B,经过全局特征词典过滤后。如果增加的单词,在特征词典中,那么文档B比文档A多一个新增加的单词,2文档指纹不同;如果增加的单词,不在特征词典中,那么文档A和文档B指纹相同;

  --------------------------

  SpotSig算法: ---主要用于新闻内容

  特征抽取:选文档中X个停止词,作为锚点。从锚点开始,向后顺序扫描,取固定X个单词,以此为固定特征部份。取出所有的特征集合.

  如:文档“你知道吗新浪发布的财报说他们用户破亿”,取“你、吗、的、说”停止词为锚点。取锚点后面2个字为特征:“你:知:道”、“吗:新:浪”、“的:财:报”、“说:用:户”(没有作为锚点的停止词过滤掉).....,依次类推,一直到文档结束。

  计算相似度:加快计算方法 1,文档分组,2,倒排索引,

  特 点:1、2个文档长度相差太大,相似度低;2、根据特征集合的大小对文档集合进行分组;

  三、核心点:

  1、文档*敏*感*词*的对比,计算相似度;

  2、对文档聚类、分组,仅对同类文档计算相似度;

  3、网页消重原则:

  a、版权角度考虑,保留原创,过滤转载或复制网页;

  b、网页寿命角度考虑,保留大型网站网页,过滤网站质量不高的网页;

  c、容易实现的角度,首先保留被爬虫抓取的网页,丢弃相同的或相似网页;

  d、简单实用方法,保留先被爬虫抓取的网页,很大程度保证优先保留原创网页;(广泛使用)

  4、任何页面,都不可能仅存留1个页面;

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线