CN106844309A - 基于签名压缩机制的近似重复文本检测方法及装置 - Google Patents

基于签名压缩机制的近似重复文本检测方法及装置 Download PDF

Info

Publication number
CN106844309A
CN106844309A CN201710045445.5A CN201710045445A CN106844309A CN 106844309 A CN106844309 A CN 106844309A CN 201710045445 A CN201710045445 A CN 201710045445A CN 106844309 A CN106844309 A CN 106844309A
Authority
CN
China
Prior art keywords
document
signature
sig
detected
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710045445.5A
Other languages
English (en)
Inventor
张熙
姚运涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201710045445.5A priority Critical patent/CN106844309A/zh
Publication of CN106844309A publication Critical patent/CN106844309A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种基于签名压缩机制的近似重复文本检测方法及装置,包括:确定当前检测文档x和y;获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。提高了近似重复文档的检测速度。

Description

基于签名压缩机制的近似重复文本检测方法及装置
技术领域
本发明涉及近似重复文档检测技术领域,特别是涉及一种基于签名压缩机制的近似重复文本检测方法及装置。
背景技术
随着大数据时代大量信息的增长,近似重复文档检测方法应用越来越多,但也面临诸多挑战。通常,大数据要求大量化、快速化、多样化、价值化,相应的,要求近似重复文档检测具有可量测性、效率性、健壮性和有效性。尽管在近似重复文档检测领域已经有大量研究,但在满足上述所有要求时仍有难度。
现有技术中,常用的近似重复文档检测方法为:使用标准化压缩距离(NormalizedCompression Distance,NCD)算法,计算出2篇待检测文档的NCD值,当NCD值小于预设阈值时,确定2篇待检测文档为近似重复文档。
具体地,先利用现有的压缩算法分别压缩两个待检测文档x和文档y,将文档压缩后的大小分别记作C(x)、C(y),并将文档x和文档y首尾相连后,压缩首尾相连后的文档x和文档y,将压缩后的大小记作C(xy);根据标准化压缩距离计算公式计算文档x和文档y的NCD值,若计算出来的NCD值小于预设阈值,则确定文档x和文档y为近似重复文档。
然而,由于压缩每一个文档和每一对相关文档是非常耗时的,需要O(n2)的时间复杂度,其中,n是文档数量,可以看出,当文档很多时,近似重复文档的检测速度非常慢。
发明内容
本发明实施例的目的在于提供一种基于签名压缩机制的近似重复文本检测方法及装置,以提高近似重复文档的检测速度。具体技术方案如下:
一种基于签名压缩机制的近似重复文本检测方法,包括:
确定当前检测文档x和y;
获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;
根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。
如上所述的方法,其中,所述确定当前检测文档x和y的步骤,包括:
获取多个待检测文档;
根据签名提取规则,分别提取所述每个待检测文档的签名;
压缩所述每个待检测文档的签名,得到所述每个待检测文档的签名压缩长度;
从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y;
所述获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y))的步骤,包括:从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
所述方法,还包括:
返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至每个待检测文档都与其他待检测文档完成比较。
如上所述的方法,其中,所述根据签名提取规则,分别提取所述每个待检测文档的签名之前,所述方法还包括:
使用正则表达式,去除所述每个待检测文档中的超文本标记语言HTML框架元素。
如上所述的方法,其中,所述根据签名提取规则,分别提取所述每个待检测文档的签名,包括:
使用标点符号作为定位点,在每个所述待检测文档中提取位于每个所述定位点前后的字或单词作为每个所述待检测文档的签名。
如上所述的方法,其中,所述从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y))的步骤之后,还包括:
判断所述签名压缩长度C(sig(x))和C(sig(y))是否满足第一剪枝规则;
若满足,返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第一剪枝规则;
若不满足,执行所述将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值的步骤;
其中,所述第一剪枝规则为:其中,τ为预设近似度阈值。
如上所述的方法,其中,在判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第一剪枝规则之后,还包括:
判断所述每个待检测文档的签名压缩长度中,是否存在同时小于C(sig(x))和C(sig(y))的签名压缩长度C(sig(z));
若存在,判断所述签名压缩长度C(sig(x))、C(sig(y))和C(sig(z))是否满足第二剪枝规则;
若满足,返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第二剪枝规则;
若不满足,执行所述将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值的步骤;
其中,所述第二剪枝规则为:|NCD(x,z)-NCD(y,z)|≥τ,τ为所述预设近似度阈值,NCD(x,z)为所述待检测文档x和y的标准化压缩距离值,NCD(y,z)为所述待检测文档y和z的标准化压缩距离值。
如上所述的方法,其中,所述基于签名的标准化压缩距离的计算公式为:
所述根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果,包括:
若SigNCD(x,y)≤τ,则比较结果为所述当前检测文档x和y是近似重复文档;其中,τ为预设近似度阈值。
一种基于签名压缩机制的近似重复文本检测装置,包括:
确定模块,用于确定当前检测文档x和y;
获取模块,用于获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
计算模块,用于将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;
比较模块,用于根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。
如上所述的装置,其中,所述确定模块具体用于:获取多个待检测文档;根据签名提取规则,分别提取所述每个待检测文档的签名;压缩所述每个待检测文档的签名,得到所述每个待检测文档的签名压缩长度;从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y;
所述获取模块具体用于:从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
所述装置还包括触发模块,用于触发所述确定模块,直至所述确定模块确定每个待检测文档都与其他待检测文档完成比较。
如上所述的装置,其中,所述确定模块具体用于:使用标点符号作为定位点,在每个所述待检测文档中提取位于每个所述定位点前后的字或单词作为每个所述待检测文档的签名。
本发明实施例提供的基于签名压缩机制的近似重复文本检测方法及装置,确定当前检测文档x和y;获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。可见,本发明实施例通过提取文档的签名,并对文档签名进行压缩,利用标准化压缩距离公式计算出基于签名的标准化压缩距离值,与现有技术对文档本身进行压缩相比,减少了大量的数据计算量,解决了NCD不能处理大规模文档的问题,提高了近似重复文档的检测速度。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于签名压缩机制的近似重复文本检测方法的一种流程图;
图2为本发明实施例提供的基于签名压缩机制的近似重复文本检测方法的另一种流程的示意图;
图3为本发明实施例提供的基于签名压缩机制的近似重复文本检测装置的一种结构示意图;
图4为本发明实施例提供的基于签名压缩机制的近似重复文本检测装置的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的基于签名压缩机制的近似重复文本检测方法的一种流程图。如图1所示,本实施例提供的方法可以包括:
步骤101、确定当前检测文档x和y。
本步骤中,在确定当前检测文档x和y时,首先获取多个待检测文档;再根据签名提取规则,分别提取所述每个待检测文档的签名;压缩所述每个待检测文档的签名,得到所述每个待检测文档的签名压缩长度;从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y。
具体的,在压缩所述每个待检测文档的签名时,可以使用现有的压缩算法,例如,snappy算法,lg4算法,sip算法等,本实施例对此不作具体限定。
需要说明的是,由于很多待检测文档都是HTML结构,这种HTML结构的文档除了包含文字,通常会***图像、广告甚至是无关材料,这会导致待检测文档的语义被分割。实际应用中,在本步骤之前,可以使用正则表达式,去除所述每个待检测文档中的HTML框架元素,例如可以利用空格取代<script>…</script>,<style>…</style>,<a>…</a>,<iframe>…</iframe>等HTML框架元素。
签名提取是本实施例中最基础的步骤,在本实施例中,使用标点符号作为定位点,在每个所述待检测文档中提取位于每个所述定位点前后的字或单词作为每个所述待检测文档的签名。
需要说明的是,由于标点符号在每个待检测文档中出现的可能性大,且出现次数高、散布平均,因此在本实施例中,以标点符号作为所述定位点,但在实际应用中,所述定位点的选择也可以选择常见的词或字,本实施例对此不作具体限定。
步骤102、获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y))。
本步骤具体是从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y))。
虽然在之前的步骤中提取了每个待检测文档的签名,已经大幅降低了计算的复杂度,但大量的待检测文档中仍会存在近似度较低的文档,这些近似度较低的文档没必要进行近似重复比较,因此,在本实施例中,进一步设置了剪枝规则来过滤这些非必要的比较。
具体的,在获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y))之后,判断所述签名压缩长度C(sig(x))和C(sig(y))是否满足第一剪枝规则,若满足,返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第一剪枝规则;若不满足,执行所述将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值的步骤;其中,所述第一剪枝规则为:其中,τ为预设近似度阈值。
进一步的,在判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第一剪枝规则之后,判断所述每个待检测文档的签名压缩长度中,是否存在同时小于C(sig(x))和C(sig(y))的签名压缩长度C(sig(z));若存在,判断所述签名压缩长度C(sig(x))、C(sig(y))和C(sig(z))是否满足第二剪枝规则;若满足,返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第二剪枝规则;若不满足,执行所述将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值的步骤;其中,所述第二剪枝规则为:|NCD(x,z)-NCD(y,z)|≥τ,τ为所述预设近似度阈值,NCD(x,z)为所述待检测文档x和y的标准化压缩距离值,NCD(y,z)为所述待检测文档y和z的标准化压缩距离值。
步骤103、将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值。
步骤104、根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。
所述基于签名的标准化压缩距离的计算公式为:
若SigNCD(x,y)≤τ,则比较结果为所述当前检测文档x和y是近似重复文档;其中,τ为预设近似度阈值。例如,若所述预设近似度阈值为τ=0.7,当计算得到的SigNCD(x,y)≤τ时,确定所述待检测文档x和待检测文档y是近似重复文档。
在得到所述当前检测文档x和y是否为近似重复文档的比较结果之后,返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至每个待检测文档都与其他待检测文档完成比较。
如图2所示,在实际应用中,初始的待检测文档可以表示为一个初始文档集合{d1,d2,...,dn},首先对初始文档集合进行预处理,即,去除文档中的HTML框架元素,得到文档集合{d11,d12,...,d1n},提取预处理后的文档集合的签名,得到待检测文档的签名集合{d21,d22,...,d2n},压缩签名集合d2i(1≤i≤n)中的签名,得到压缩后的签名压缩长度集合{d31,d32,...,d3n},根据签名压缩长度进行升序排序,得到升序排序的签名压缩长度集合{d34,d37,...,d3i,...},通过剪枝规则得到与d34可能近似重复的文档子集{d34,d37,...,d3i},利用标准化压缩距离公式,计算得到基于签名的标准化压缩距离值并进行判断是否近似重复。
下面以两个文档为例,对本实施例提出的基于签名压缩机制的近似重复文本检测方法的应用过程进行说明。
待检测文档x的内容为:<p>梯度下降的精华,在于下面这个式子:</p><p><imgsrc="http://images.cnitblog.com/blog/189953/201309/17164202-252c0b77deb04fe8ad867438a04d2f2c.GIF"alt=""/></p><p>这个式子是什么意思呢?是将系数减去导数(导数前的系数先暂时不用理会),为什么是减去导数?我们看一个二维的例子。</p><p>假设有一个曲线如图所示:</p><p><imgsrc="http://images.cnitblog.com/blog/189953/201309/17164627-a936bceeceb4499e9b4d3f14258999d9.GIF"alt=""/></p><p>假设我们处在红色的点上,那么得到的导数是个负值。此时,我在当前位置(x轴)的基础上减去一个负值,就相当于加上了一个正值,那么就朝导数为0的位置移动了一些。</p><p>如果当前所处的位置是在最低点的右边,那么就是减去一个正值(导数为正),相当于往左移动了一些距离,也是朝着导数为0的位置移动了一些。</p><p>这就是梯度下降最本质的思想。</p>
待检测文档y的内容为:<p>梯度下降的精华就在于下面这个式子:</p><p><imgsrc="http://images.cnitblog.com/blog/189953/201309/17164202-252c0b77deb04fe8ad867438a04d2f2c.GIF"alt=""/></p><p>这个式子是什么意思呢?是将系数减去导数(导数前的系数先暂时不用理会),为什么是减去导数?我们看一个二维的例子。</p><p>假设有一个曲线如图所示:</p><p><imgsrc="http://images.cnitblog.com/blog/189953/201309/17164627-a936bceeceb4499e9b4d3f14258999d9.GIF"alt=""/></p><p>假设我们处在红色的点上,那么得到的导数是个负值。此时,我在当前位置(x轴)的基础上减去一个负值,就相当于加上了一个正值,那么就朝导数为0的位置移动了一些。</p><p>如果当前所处的位置是在最低点的右边,那么就是减去一个正值(导数为正),相当于往左移动了一些距离,也是朝着导数为0的位置移动了一些。</p><p>这就是梯度下降最本质的思想。</p>
步骤一:对上述两个文档进行预处理,即,使用正则表达式,去除所述当前检测文档x和y中的HTML框架元素,预处理后的文档x和y分别为:
预处理后的当前检测文档x:梯度下降的精华,在于下面这个式子:这个式子是什么意思呢?是将系数减去导数(导数前的系数先暂时不用理会),为什么是减去导数?我们看一个二维的例子。假设有一个曲线如图所示:假设我们处在红色的点上,那么得到的导数是个负值。此时,我在当前位置(x轴)的基础上减去一个负值,就相当于加上了一个正值,那么就朝导数为0的位置移动了一些。如果当前所处的位置是在最低点的右边,那么就是减去一个正值(导数为正),相当于往左移动了一些距离,也是朝着导数为0的位置移动了一些。这就是梯度下降最本质的思想。
预处理后的当前检测文档y:梯度下降的精华就在于下面这个式子:这个式子是什么意思呢?是将系数减去导数(导数前的系数先暂时不用理会),为什么是减去导数?我们看一个二维的例子。假设有一个曲线如图所示:假设我们处在红色的点上,那么得到的导数是个负值。此时,我在当前位置(x轴)的基础上减去一个负值,就相当于加上了一个正值,那么就朝导数为0的位置移动了一些。如果当前所处的位置是在最低点的右边,那么就是减去一个正值(导数为正),相当于往左移动了一些距离,也是朝着导数为0的位置移动了一些。这就是梯度下降最本质的思想。
步骤二:以逗号为所述定位点,分别提取当前检测文档x的签名sig(x)和当前检测文档y的签名sig(y)。
签名sig(x)为:华在)为上那时我值就值那边那)相离也
签名sig(y)为:)为上那时我值就值那边那)相离也
步骤三:使用压缩算法Snappy,压缩所提取的签名sig(x)和sig(y),得到签名压缩长度C(sig(x))和C(sig(y))。
签名压缩长度C(sig(x))=56,签名压缩长度C(sig(y))=50。
步骤四:如果上述签名压缩长度C(sig(x))和C(sig(y))不满足第一剪枝规则和第二剪枝规则,利用压缩算法计算得到所述签名sig(x)和sig(y)联合后的签名压缩长度C(sig(x)sig(y))=60。
步骤五:将所述签名压缩长度C(sig(x))、C(sig(y))和C(sig(x)sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值:
假设所述预设近似度阈值τ大于0.179,则得到的所述当前检测文档x和y的比较结果为:当前检测文档x和y是近似重复文档。
本实施例提供的方法,通过确定当前检测文档x和y;获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。与现有技术对文档本身进行压缩相比,减少了大量的数据计算量,解决了NCD不能处理大规模文档的问题,提高了近似重复文档的检测速度。
图3为本发明实施例提供的基于签名压缩机制的近似重复文本检测装置的一种结构示意图。如图3所示,本实施例提供的装置可以包括:确定模块21、获取模块22、计算模块23和比较模块24。
确定模块21,用于确定当前检测文档x和y;
获取模块22,用于获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
计算模块23,用于将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;
比较模块24,用于根据基于签名的标准化压缩距离值,确定所述待检测文档x和待检测文档y是否为近似重复文档。
所述确定模块21具体用于:获取多个待检测文档;根据签名提取规则,分别提取所述每个待检测文档的签名;压缩所述每个待检测文档的签名,得到所述每个待检测文档的签名压缩长度;从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y;相应的,所述获取模块22具体用于从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));如图4所示,所述装置还可以包括第一触发模块31,用于触发所述确定模块21,直至所述确定模块21确定每个待检测文档都与其他待检测文档完成比较。
所述确定模块21具体可以用于:使用正则表达式,去除所述每个待检测文档中的HTML框架元素;使用标点符号作为定位点,在每个所述待检测文档中提取位于每个所述定位点前后的字或单词作为每个所述待检测文档的签名。
所述确定模块21具体用于:使用标点符号作为定位点,在所述待检测文档x中提取位于每个所述定位点前后的字或单词作为所述待检测文档x的签名sig(x),并在所述待检测文档y中提取位于所述定位点前后的字或单词作为所述待检测文档y的签名sig(y)。
如图4所示,所述装置还可以包括判断模块32和第二触发模块33,所述判断模块32用于判断所述签名压缩长度C(sig(x))和C(sig(y))是否满足第一剪枝规则;所述第二触发模块33用于若判断模块32的判断结果为满足,触发所述确定模块21,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第一剪枝规则;若判断模块32的判断结果为不满足,触发所述计算模块23;其中,所述第一剪枝规则为:其中,τ为预设近似度阈值。
所述判断模块32还用于判断所述每个待检测文档的签名压缩长度中,是否存在同时小于C(sig(x))和C(sig(y))的签名压缩长度C(sig(z));若存在,判断所述签名压缩长度C(sig(x))、C(sig(y))和C(sig(z))是否满足第二剪枝规则;所述第二触发模块33还用于若所述判断模块32的判断结果为满足,触发所述确定模块21,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第二剪枝规则;若所述判断模块32的判断结果为不满足,则触发所述计算模块23;其中,所述第二剪枝规则为:|NCD(x,z)-NCD(y,z)|≥τ,τ为所述预设近似度阈值,NCD(x,z)为所述待检测文档x和y的标准化压缩距离值,NCD(y,z)为所述待检测文档y和z的标准化压缩距离值。
具体的,所述基于签名的标准化压缩距离的计算公式为:
所述比较模块24具体用于若SigNCD(x,y)≤τ,则比较结果为所述当前检测文档x和y是近似重复文档;其中,τ为预设近似度阈值。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种基于签名压缩机制的近似重复文本检测方法,其特征在于,包括:
确定当前检测文档x和y;
获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;
根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。
2.根据权利要求1所述的方法,其特征在于,所述确定当前检测文档x和y的步骤,包括:
获取多个待检测文档;
根据签名提取规则,分别提取所述每个待检测文档的签名;
压缩所述每个待检测文档的签名,得到所述每个待检测文档的签名压缩长度;
从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y;
所述获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y))的步骤,包括:从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
所述方法,还包括:
返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至每个待检测文档都与其他待检测文档完成比较。
3.根据权利要求2所述的方法,其特征在于,所述根据签名提取规则,分别提取所述每个待检测文档的签名之前,所述方法还包括:
使用正则表达式,去除所述每个待检测文档中的超文本标记语言HTML框架元素。
4.根据权利要求2所述的方法,其特征在于,所述根据签名提取规则,分别提取所述每个待检测文档的签名,包括:
使用标点符号作为定位点,在每个所述待检测文档中提取位于每个所述定位点前后的字或单词作为每个所述待检测文档的签名。
5.根据权利要求2所述的方法,其特征在于,所述从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y))的步骤之后,还包括:
判断所述签名压缩长度C(sig(x))和C(sig(y))是否满足第一剪枝规则;
若满足,返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第一剪枝规则;
若不满足,执行所述将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值的步骤;
其中,所述第一剪枝规则为:其中,τ为预设近似度阈值。
6.根据权利要求5所述的方法,其特征在于,在判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第一剪枝规则之后,还包括:
判断所述每个待检测文档的签名压缩长度中,是否存在同时小于C(sig(x))和C(sig(y))的签名压缩长度C(sig(z));
若存在,判断所述签名压缩长度C(sig(x))、C(sig(y))和C(sig(z))是否满足第二剪枝规则;
若满足,返回所述从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y的步骤,直至判断所述签名压缩长度C(sig(x))和C(sig(y))不满足所述第二剪枝规则;
若不满足,执行所述将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值的步骤;
其中,所述第二剪枝规则为:|NCD(x,z)-NCD(y,z)|≥τ,τ为所述预设近似度阈值,NCD(x,z)为所述待检测文档x和y的标准化压缩距离值,NCD(y,z)为所述待检测文档y和z的标准化压缩距离值。
7.根据权利要求1所述的方法,其特征在于,所述基于签名的标准化压缩距离的计算公式为:
S i g N C D ( x , y ) = N C D ( s i g ( x ) , s i g ( y ) ) = C ( s i g ( x ) s i g ( y ) ) - m i n { C ( s i g ( x ) ) , C ( s i g ( y ) ) } max { C ( s i g ( x ) ) , C ( s i g ( y ) ) } ;
所述根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果,包括:
若SigNCD(x,y)≤τ,则比较结果为所述当前检测文档x和y是近似重复文档;其中,τ为预设近似度阈值。
8.一种基于签名压缩机制的近似重复文本检测装置,其特征在于,包括:
确定模块,用于确定当前检测文档x和y;
获取模块,用于获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
计算模块,用于将所述签名压缩长度C(sig(x))和C(sig(y))代入标准化压缩距离公式,计算出基于签名的标准化压缩距离值;
比较模块,用于根据基于签名的标准化压缩距离值,得到所述当前检测文档x和y是否为近似重复文档的比较结果。
9.根据权利要求8所述的装置,其特征在于,所述确定模块具体用于:获取多个待检测文档;根据签名提取规则,分别提取所述每个待检测文档的签名;压缩所述每个待检测文档的签名,得到所述每个待检测文档的签名压缩长度;从所述每个待检测文档中,选择2个未比较的待检测文档确定为当前检测文档x和y;
所述获取模块具体用于:从所述每个待检测文档的签名压缩长度中,获得所述当前检测文档x和y的签名压缩长度:C(sig(x))和C(sig(y));
所述装置还包括触发模块,用于触发所述确定模块,直至所述确定模块确定每个待检测文档都与其他待检测文档完成比较。
10.根据权利要求8所述的装置,其特征在于,所述确定模块具体用于:使用标点符号作为定位点,在每个所述待检测文档中提取位于每个所述定位点前后的字或单词作为每个所述待检测文档的签名。
CN201710045445.5A 2017-01-22 2017-01-22 基于签名压缩机制的近似重复文本检测方法及装置 Pending CN106844309A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710045445.5A CN106844309A (zh) 2017-01-22 2017-01-22 基于签名压缩机制的近似重复文本检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710045445.5A CN106844309A (zh) 2017-01-22 2017-01-22 基于签名压缩机制的近似重复文本检测方法及装置

Publications (1)

Publication Number Publication Date
CN106844309A true CN106844309A (zh) 2017-06-13

Family

ID=59119172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710045445.5A Pending CN106844309A (zh) 2017-01-22 2017-01-22 基于签名压缩机制的近似重复文本检测方法及装置

Country Status (1)

Country Link
CN (1) CN106844309A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046423A1 (en) * 2006-08-01 2008-02-21 Lucent Technologies Inc. Method and system for multi-character multi-pattern pattern matching
CN102629261A (zh) * 2012-03-01 2012-08-08 南京邮电大学 由钓鱼网页查找目标网页的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046423A1 (en) * 2006-08-01 2008-02-21 Lucent Technologies Inc. Method and system for multi-character multi-pattern pattern matching
CN102629261A (zh) * 2012-03-01 2012-08-08 南京邮电大学 由钓鱼网页查找目标网页的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XI ZHANG ET AL.: "Effective and Fast Near Duplicate Detection via Signature-Based Compression Metrics", 《MATHEMATICAL PROBLEMS IN ENGINEERING》 *

Similar Documents

Publication Publication Date Title
CN103678702B (zh) 视频去重方法及装置
CN105718506B (zh) 一种科技项目查重对比的方法
CN106294396A (zh) 关键词扩展方法和关键词扩展***
CN100462976C (zh) 错误超链接检测设备及其方法
CN105279252A (zh) 挖掘相关词的方法、搜索方法、搜索***
CN106815207B (zh) 用于法律裁判文书的信息处理方法及装置
CN110738039B (zh) 一种案件辅助信息的提示方法、装置、存储介质和服务器
CN111797239B (zh) 应用程序的分类方法、装置及终端设备
CN106776567B (zh) 一种互联网大数据分析提取方法及***
CN103617157A (zh) 基于语义的文本相似度计算方法
CN103617280A (zh) 一种中文事件信息挖掘方法和***
CN103678287B (zh) 一种关键词翻译统一的方法
CN106021383A (zh) 网页相似度计算方法及装置
CN108846117A (zh) 商业快讯的去重筛选方法及装置
CN106127265A (zh) 一种基于激活力模型的图片中文本识别纠错方法
CN110321466A (zh) 一种基于语义分析的证券资讯查重方法及***
CN103218432A (zh) 一种基于命名实体识别的新闻搜索结果相似度计算方法
CN110020026A (zh) 项目申报数据的查重***及方法
CN104636325A (zh) 一种基于极大似然估计确定文档相似度的方法
CN104050299A (zh) 一种论文查重的方法
CN107844493A (zh) 一种文件关联方法及***
CN104133870A (zh) 一种网页相似度计算方法及装置
CN107085568A (zh) 一种文本相似度判别方法及装置
CN103365879A (zh) 一种用于获取页面相似度的方法与设备
US20150286628A1 (en) Information extraction system, information extraction method, and information extraction program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170613