Overview of Fingerprinting Methods for Local Text Reuse Detection

Overview of Fingerprinting Methods for Local Text Reuse Detection

摘要

在简要介绍了主要的文本重用检测方法之后,我们从信息检索的角度介绍了指纹算法的一般原理。 调查了三类指纹方法(overlap, non-overlap, and randomized)。 描述了特定的算法,例如k-gram, winnowing, hailstorm, DCT and hash-breaking。 这些算法的性能和特点基于文献数据进行了总结。

关键字:信息检索,文本重用,抄袭检测,指纹识别

1 引言

几乎重复的文档检测算法假定了文档之间的传递关系。也就是说,假设文档A是文档B的近副本,而文档B是文档C的近副本,则文档A是文档C的近副本。图1显示了在以下情况下如何违反此假设,图中的Δ是一个指示符函数,如果两个文档具有文本重用关系,则计算结果为1。
在这里插入图片描述
已提出了多种技术来进行文本重用检测,特别是抄袭检测。这些技术大多数都属于以下三种方法之一:

  1. 子字符串匹配:在这种方法中,诸如Greedy String Tiling(GST)[5]和局部对齐[6]之类的技术用于识别成对的字符串中的最大匹配,然后将其用作指示器。 这些字符串表示为后缀树,基于图的指标用于评估文本重用的数量。 但是,这些方法在时间和存储方面的计算复杂度很高。 例如,标准贪婪字符串平铺方法的最坏情况复杂度是 O ( n 3 ) O(n^3) On3[5]。 另一方面,给定两个字符串A和B的局部对齐算法的复杂度为 O ( ( ∣ A ∣ + ∣ B ∣ ) 3 ) O((| A | + | B |)^3) O(A+B)3[6]。

Greedy String Tiling(GST)算法

GST(Greedy String Tiling)算法是一种贪婪串匹配算法,这一算法对两个字符串进行贪婪式搜索以找出最大公有子串,它需要对要计算的两个字符串进行多次搜索,每次找出当前字符串中未“标注”部分的最长公共子串,并把找出的最长公共子串“标注”为已使用,避免最大匹配重复使用。
    “abcdefghijklmuvwxyz”与
    “ijkabclmdefghpq”为例解释GST的搜索过程:

   (1)假如我们设最小匹配长度为2。第一次搜寻过程,先找到abc,此时最大匹配长度是3,之后找到defgh,因此它的长度大于3,所以此时最大匹配长度5,之后找到ijk,由于其长度小于5,放弃,最后是lm,其长度同样小于当前最大匹配长度5,放弃。
   (2)将(1)中找到的最大匹配子串”标注为已使用“,重复(1)的过程,不过不再对”已标注子串“搜索,直到(1)中找到的最大匹配子串的长度为设置的最小匹配长度。
  1. 关键字相似度:
    收集和权衡文档中与主题相关的单词,并使用它们来评估文档之间的相似性。
  • 假定文档是局部相关的。如果相似度超过某个阈值,则将候选文档分成较小的部分,然后递归比较它们。
  • 另一种类似的方法是使用基于文档之间单词相对频率的相似性度量[1]。 两个相同的段落相对于彼此具有相同的词频; 插入,删除和编辑会降低这种相对频率得分的值。
    这两种方法,目的是检测文档之间的复制[7]。
  1. 指纹分析:指纹分析是局部文本重用检测中最流行的方法[8]。将文档分为k-gram,然后将其转换为代表文档指纹的数字形式。两个文档共享一个或多个指纹表示匹配,并因此表明这些文档之间有重复使用的文本[1]。不是在文档的所有单词相对频率得分方面进行比较,而是仅使用代表文档的一组选定的指纹来搜索具有匹配指纹的文档之间的本地文本重用实例。

2 指纹分析法概览

用k-gram 将文档划分为一组长度为k的连续字符/字符串,然后,对每个k-gram进行哈希处理,然后选择这些哈希的子集作为文档的指纹。文档的此类指纹用于本地文本重用检测,并且必须提供尽可能多的文档内容信息。

A 指纹生成

在创建准确而有效的指纹技术过程中需要考虑四个方面[9]:
(1)子串选择。从原始文档中,根据某些选择策略提取子字符串(块)。这样的策略可以考虑位置,基于频率或结构的信息。
(2)子串号。子字符串号控制指纹解决方案。指纹质量,计算成本和空间要求之间存在明显的权衡,必须谨慎权衡。指纹中编码的文档信息越多,可以更可靠地检测到两个指纹的可能重叠。
(3)子串大小。定义指纹的粒度。细粒度更容易受到错误匹配的影响,而粗粒度则指纹对变化变得非常敏感。
(4)子串编码。子字符串转换建立了一个哈希运算,除唯一性和均匀性外,效率是一个重要问题。在大多数指纹技术中,通常使用流行的MD5或Karp-Rabin哈希算法。

B 指纹方法

与文档B共享的文档A中的文本量表示为共享指纹数与文档A指纹数之比。B中包含的A(表示为C(A,B))为 定义如下[8]:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值