zoukankan      html  css  js  c++  java
  • 一个基于特征向量的近似网页去重算法——term用SVM人工提取训练,基于term的特征向量,倒排索引查询相似文档,同时利用cos计算相似度

    摘    在搜索引擎的检索结果页面中,用户经常会得到内容相似的重复页面,它们中大多是由于网站之间转载造成的。为提高检索效率和用户满意度,提出一种基于特征向量的大规模中文近似网页检测算法DDW(Detect near-Duplicate WebPages )。试验证明,比起其他网页去重算法(I-Match),DDW具有很好的抵抗噪声的能力及近似线性的时间和空间复杂度,在大规模实验中获得良好测试结果。

    关键词  网页去重算法   特征向量   近似网页   支持向量机

    第一部分介绍现有去重算法;第二部分论述DDW算法设计;第三部分介绍我们的试验结果和对结果的分析;第四部分是结论。

    现有近似网页检测算法介绍

    我们大致可以把文本复制检测算法分为两类:基于语法的方法(基于Shingle的方法)和基于语义的方法(基于Term的方法)。

    1.1  基于Shingle的方法

    Shingle是指文档中一组临近的有序词。基于shingle的算法要求从文档中选取一系列shingle,然后把shingle映射到Hash表中,一个shingle对应一个Hash值,最后统计Hash表中相同的shingle数目或者比率,作为判断文本相似度依据。参考文献[5-10]都是常用的基于single的算法。为实现大规模文档的检测,各研究者采用了不同的采样策略,用于减少参加比较的shingle的数量。

    Heintze[8]选取Hash值最小的N个shingle, 并去除频繁出现的shingles。Bharat[6]选取Hash值为25倍数的shingle,每篇文档最多选取400个shingle。Broder[7]将多个single联合起来组成一个supershingle并通过比较supershingle的Hash值计算文档的相似度。尽管supershingle 算法计算量更小,但Broder发现它不适用于短小文档的检测。Fetterly[13]把连续出现的5个词视为一个shingle,每篇文档采样 84个shingle,然后将这些shingle组合为6个supershingle; 具有2个相同supershingles的文档被视为内容相似的文档。吴平博等[9]利用标点符号多数出现在网页文本中的特点,以句号两边各五个汉字作为single来唯一地标识网页。

    对于各种基于shingle的算法,Ye[10]就其参数选择进行了系统研究。

    1.2  基于Term的方法

    基于Term的方法[11-14]采用单个词条作为计算的基本单元。通过计算文档特征向量的余弦值来获得文档的相似度,而不考虑词条出现的位置和顺序。由于采用了许多特征提取(尤其是特征向量的选择)技术,使得基于Term的方法比基于Shingle的算法更为复杂。

    Chowdhury 的I-Match[11]算法通过计算逆文本频率指数(IDF :inverse document frequency)来确定选择哪些词作为特征向量。IDF = log (N/n),其中N 为文档集中文档的数目,n 为包含该关键词的文档的数目。I-Match算法正是基于“在文档集中频繁出现的词并不会增加文档的语义信息”[13]的推断,去掉IDF值较小的词,从而获得了更好的文档表示。经过过滤的关键词按降序排列构成文档的“指纹”(fingerprint),指纹相同的文档被视为近似文档。最坏情况下(所有文档都是近似文档),I-Match算法的时间复杂度为O(nlogn)。

    基于特征向量的去重算法设计

    本文提出的基于特征向量的大规模中文网页去重算法,采用类似I-Match的关键词向量提取方法,但同时采用关键词的位置和权重信息构建特征向量来进行文档表示。不计算特征向量的hash值而是利用分类信息和检索系统来进行文档相似度计算和排重。具体设计方案如下:

    2.1  网页的文本提取

    网页中包含的广告信息、链接到其他网页的导航信息等,都会对该网页内容检索产生干扰。因此,在对网页的内容建立索引之前,我们需要对其中的有效正文信息进行了提取。采用的是我们另一项课题的研究成果[15]:

    1)根据网页的视觉信息将文章分块,并人工标注各个内容块是否为有效信息块。

    2)提取内容块的空间位置、视觉特征、语言信息及结构特征。

    3)提取文章标题,使用潜语义分析方法计算内容块与文章标题的潜在语义相关度。

    4)将以上信息构成内容块的特征向量。

    5)使用人工标注的内容块做六折交叉法,训练SVM(Support Vector Machine)分类器。

    6)使用训练好的SVM分类器判断新的内容块是否为有效信息块;提取有效信息块中的文本作为有效的正文信息。

    2.2  文本的表示

    迄今为止,文本的表示主要还是采用向量空间模型(VSM)。在该模型中,文档空间被看作是由一组正交向量张成的向量空间。若该空间的维数为n,则每个文档d可被表示为一个特征向量Vd=(ω1,ω2,…,ω1,…,ωn),其中ωi表示特征向量中第i个特征项的权重。

    特征项的选取即文本特征的提取过程。目前常用的特征选择策略有:文档频数(Document Frequency)、信息增益(Information Gain)和互信息(Mutual In formation)等特征选择方法。

    从中文信息处理角度来看,比较好的方式是利用意义较大的多字词来表示文档的内容,将文本分词后,将这些词的权重作为向量的分量来表示文本。但由于中文分词的词典规模一般在5万到25万词条之间[16]。也就是说中文的特征空间维数比英文高很多。在相同规模训练语料条件下,更高的维数必然导致更多的低频词出现。在这样的情况下使用IG和MI进行特征抽取,由于它们对低频词的倚重,必定将会有更多的低频词作为特征使用。从而导致了特征向量抽取的不准确。文献[17]的试验结果表明在中文特征向量问题上它们的表现远远不及TFIDF。

    因此,我们在系统中采用了一种使用比较普遍的TF-IDF公式来计算各个分量的权重!

    2.3  索引构建

    为了对特征向量进行快速访问,必须对特征项建立索引机制。倒排索引具有实现相对简单、查询速度快、容易支持同义词查询等优点。本文对特征项建立倒排索引文件。在我们的系统中有文章类别信息的支持,可以针对不同类别建立特征项索引,以提高检索效率。

    2.4  特征向量检索

    由于网页噪声的影响,重复网页的文本特征向量有时不完全相同,精确匹配会导致匹配失败。但由于特征向量是最能代表一篇文章的一组词,因此只用检索排在前边的n维特征向量并计算其相似度,即可基本确定两篇文章是否是近似文档。在得出匹配检索后,采用余弦公式(3)进行相似度计算。

    若sim(d1,d2)>阈值可以推断d1,d2是近似网页。

    3  实验结果及对比分析

    结论

    转自:http://www.cnindex.fudan.edu.cn/zgsy/2009n1/caoyujuan.htm

  • 相关阅读:
    hdu1238 Substrings
    CCF试题:高速公路(Targin)
    hdu 1269 迷宫城堡(Targin算法)
    hdu 1253 胜利大逃亡
    NYOJ 55 懒省事的小明
    HDU 1024 Max Sum Plus Plus
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1257 最少拦截系统
    HDU 1069 Monkey and Banana
    HDU 1104 Remainder
  • 原文地址:https://www.cnblogs.com/bonelee/p/6420488.html
Copyright © 2011-2022 走看看