首页论文检测教程学术文献抄袭检测系统研究进展

学术文献抄袭检测系统研究进展

时间:2014-04-28 编辑整理:早检测网 来源:早检测网

指出近年来,学术抄袭事件时有发生,科研诚信引起全社会的广泛关注。随着信息技术的发展,对于学术抄袭的的检验问题已不再停留在传统的“防止复制”阶段。总结整理目前国内外主要抄袭检验的研究内容和研究方法,重点对基于统计的方法和基于数字指纹的方法进行总结,归纳目前抄袭检验技术应用的主要数学算法和各自特点。通过对国内外研究成果的梳理,指出抄袭检验技术存在的不足及未来发展趋势和应用领域。

近年来,学术抄袭事件频出,国家相关部门也开始高度重视学术抄袭问题。2007 年1 月16 日,中国科协发布《科技工作者科学道德规范( 试行) 》,提到“旗帜鲜明地抵制败坏学术风气的行为。摒弃心浮气躁、急功近利的学风,坚决反对投机取巧、弄虚作假和抄袭剽窃等丑恶行为”。2011 年9 月,中国科协、教育部联合下发《关于开展科学道德和学风建设宣讲教育活动的通知》。为杜绝学术抄袭行为,营造一个良好的学术环境,学术文献抄袭检测成为研究热点。当前的抄袭检测技术主要从两个方面解决此问题: 一是“防止复制( copy prevention) ”; 二是“复制检测( copy detection) ”。“防止复制”不考虑检测问题,包括信息物理隔离法、文件授权保护法[1]、文件封装法[2]等。随着网络的发展,这些方法目前已逐渐失去了优势[3],本文主要讨论“复制检测法”。


复制检测是针对数字文档的检测,主要分为自然语言文本( 如小说、论文) 和形式语言文本( 如数据文件、计算机程序代码)]。鉴于形式化语言文本具有严格的语法结构,易于处理,以至于早期的抄袭检测主要针对形式化语言文本。最早开始研究形式化语言文本抄袭并取得实质进展的是K. J. Ottenstein[5],他于1976 年针对学生计算机程序作业抄袭的问题提出了基于4 组统计量的属性计数法的识别方法。N. Bulut[6]的统计结果证实了该方法的可行性。然而,这些属性都无法体现局部特征,因此对于部分抄袭该方法无法检测,这也是属性计数法的局限性。与之相对,自然语言的抄袭形式多样,往往伴随着语序的调整、同义词的替换、标点符号的更改等。直到1991 年,才出现了自然语言文本抄袭识别软件WordCheck[7],该软件由Richard 采用关键词匹配算法开发,开启了自然语言文本抄袭识别的序幕,本文讨论的学术抄袭检测即属于自然语言抄袭检测。

学术文献抄袭定义

按照N. Heintze[8]和吴育娇等[9]的观点,常见的抄袭现象包括: ①完全抄袭文献; ②经过细微修改的文献; ③经过重新组织结构的文献; ④经过校订的新版本文献; ⑤某文献的扩展版本文献; ⑥包含其他文献中部分内容的文献,部分内容被修改。除此之外,若两篇文献的主题和内容类似,则这两篇文献的关系属于内容相关[10]。在当今学术界,上述现象: ①即雷同文献几乎不会出现,而第④、⑤种情况由于其根本出自于同一作者之手,因此也不是本文关注的重点。而第②、③种情况尽管很容易被识别,但是也有少数抄袭者“顶风作案”[11],邵文利于2003 年发表论文[12],披露了一起硕士生名家作品的抄袭事件,抄袭篇幅达50%。


最常见也最难检测的抄袭是第⑥种情况[11],即一篇文献抄袭另外一篇文献的一部分而未经引用,或针对这一部分修改后再抄袭。修改后抄袭分为两种情况: 一种是字面( literal) 抄袭; 一种是智能( intelligent)抄袭[13]。字面抄袭是指抄袭者在抄袭时并未做隐蔽工作,通常只调整语序,如主动句变被动句,拆分从句,通常不会对词进行替换。而智能抄袭则更加隐蔽,通常作者会有意对原文进行修改,企图蒙蔽读者,常见的方式包括: 替换同义词; 对文章进行总结; 翻译其他语言的文章; 通过自动翻译软件将原文翻译至一目标语言然后再翻译回原语言; 将别人的思想( 包括实验结果、贡献、发现、结论等) 通过自己的语言描述出来等。一个理想的抄袭检测系统应该检测上述所有抄袭现象。值得注意的是,以上列举的几种现象,不仅包括对他人作品的抄袭,同时也包括自我抄袭。C. S.Collberg 等[14]认为由于自我抄袭的隐蔽性,当今学术界自我抄袭的情况似乎远超过对他人的抄袭。

抄袭检测系统

一个抄袭检测系统应能识别人为刻意的抄袭,此外还需对如下因素情况作出合适的判断:忽略空格在匹配自然语言文档时,空格、大小写以及标点符号的不同不应该影响匹配结果。噪声抑制对于非常短的字符串匹配要进行

适当的识别,例如两篇文档中都出现the 并不代表抄袭,抄袭应该是足够长的一段材料,而俗语等常见的语句不应该被认为是抄袭。位置独立对于只是粗略地调整过顺序的抄袭应该能够识别,另外诸如加入一段内容或者删除一段内容都不应该影响剩余部分匹配结果。第一个完整的抄袭检测系统是由斯坦福大学S.Brin 等开发的COPS( copy prevention system) [3]。该系统是首个提出文档注册机制的系统,之后的系统基本都沿用了这个结构[10,15 - 17]。该系统的工作流程如图1所示:由图1 可知,抄袭检测可以被看作是一个以文档为查询的信息检索任务,因此抄袭检测所使用的各类方法与信息检索技术息息相关。

基于特征空间的方法

基于特征空间的方法是信息检索领域最常见的方法之一,通常需要对一篇文献进行分块( chunking) ,使用词袋模型( bag of words) 为文献构造特征空间,然后

运用线性代数的计算方法进行相似度计算。不同于信息检索系统,抄袭检测系统除了使用自然语言的单词或者常见的k-gram 作为词项外,还会使用句子或者定长的字符串作为词项。本章所列举的技术,若无特殊说明,对各类分块方法皆适用。

向量空间模型

向量空间模型( vector space model,VSM) 由C.Salton[18]于1971 年首先提出,他将文献看作以词项权重为分量的特征向量。对于任何一个给定的查询( query) 文本,为其生成特征向量,然后与数据库中的文档特征向量做相似度运算,通过预设的阀值实现抄袭检测。常见的特征向量以词频作为分量,通常使用tf*idf( term frequency * inverse document frequency) 词频权重表示法。

点积( inner product) 点积相似度计算是一个常见的向量空间模型计算方法,该计算方法形式如下:sim( D1,D2) =ΣNi = 1α2i* Fi( D1) * Fi( D2) 公式( 1)上述公式计算D1和D2两个文档的点积相似度,其中αi表示第i 个词项的权重,Fi( D1) 表示D1文档的第i 个词项分量。这种计算方法对于篇幅接近的文档识别能力强,但是对于文档篇幅差别明显的文档则会由于其中一个文档的分量数值过小而失去影响力。

 余弦相似度( cosine similarity) [10] 余弦相似度实质上计算两个向量的夹角,余弦值越大,则夹角越小,即向量越相似,因此可以使用这种方法进行计算,计算方法如下:

可以看出,公式( 2) 在公式( 1) 的基础之上加入了归一化分母,由于分母对分子的分量进行了归一化处理,因此所得的分量不再受文档长度的影响,可以有效实现相似性的检测。国内学者赵俊杰等[19]即基于此方法利用KNN 算法提出了一种基于分类的抄袭检测方法。除了使用词袋模型,学者郭武斌等[20]基于余弦相似度使用了马尔科夫模型进行相似度计算,提高了准确率。

同一度量( identity measures) [21] T. C. Hoad等认为无论是点积还是余弦相似度,都适用于ad hoc检索,而若要应用到全长度文档则需要对计算方法进行改进。他认为相似的文档中同一个单词出现的频率应该接近,并由此提出了同一度量法。作为点积计算的一个改进版本,同一度量引入了同一个词在两个文档D1和D2中出现的频率之差| FD1,t- FD2,t| ,通过将其置于分母达到加大词项权重的目的。该方法表面上提出了一种创新的计算方法,但是与相对频率模型的思想是相通的。由于相对频率模型的出现要早于同一度量,因此在这里不再赘述。

相对频率模型

V. Shivakumar 等[10]在开发SCAM 系统时提出了相对频率模型( relative frequency model,RFM) 。相对频率模型是基于向量空间模型的一种改进模型。对于任意给定的两个文档D1和D2,定义相近集合closeness set c( D1,D2) ,这个集合包含了两个文档中出现频率相近的词项。若词项Wi∈c( D1,D2) ,则需满足下列条件:

其中∈为预设参数,取值范围为∈ = ( 2 + ,∞ ) ,取值越大则宽容度越高,Fi( D1) 表示文档D1中第i个词项的频次。然后定义文档D1为D2的子集的计算方法如下:


该公式实质上是余弦相似度计算的改进版本。但是在对分子进行归一化处理时仅依据D1文档的长度,并且仅计算在类似集合中出现的单词,可以有效地识别一篇文档是另外一篇文档的子集的情况。然后通过如下简单的计算得出文档D1和K2的相似度:

当sim( D1,D2 > 1,则取sim( D1,D2) = 1,由于大于1 表明了一种包含关系,而这大于1 本身就代表高度相关,而为了便于系统计算,则统一取1 以符合相似度从0 到100%的范围。上述的向量空间模型和相对频率模型,实质上是对于给定的待检文档进行朴素K 最近邻搜索,对于一个含有n 个文档的文档集,每篇待检文档都需要扫描全部的文档内容,而在真实的系统中,注册服务器里往往存有千万级别的数据,因此对全部文档进行计算是

不可行的[17],国内学者孙伟等[22]也仅针对小数据对该算法进行了改进验证。

潜在语义分析模型

S. Deerwester 等[23] 提出的潜在语义分析( latentsemantic analysis,LSA) 模型是一种强大的词项- 文档矩阵降维模型。它通过对矩阵进行奇异值分解,可以将矩阵分解成两个正交矩阵与奇异值矩阵的乘积,然

后通过放弃奇异值数量级较小的部分形成一个对原矩阵的最佳估计,这个矩阵的秩远低于原矩阵的秩,从而达到降维的目的。

Z. Ceska[24]基于潜在语义分析提出了SVDPlag 方法。他首先将预处理后的950 篇文档形成一个n* m矩阵A,其中行代表文档,列代表词项权重,词项的权重使用一种改进的TF-IDF 权重。然后对其进行奇异值分解,得A = U ×Σ × VT。其中VT 是一个正交矩阵,为了使数据接近原始矩阵,还必须将奇异值重新带入,即B =Σ × VT。然后得到相似度矩阵:

这个相似度矩阵的任何一个元素( D1,D2) 即为D1和D2的文档相似度。实验证明,该模型在对950 篇文档的实验中F1度量值高于其他的基于向量空间模型的方法,相似度识别能力很强。然而该方法的弊端在于,对于数量级较

大的文档集处理几乎无能为力。奇异值分解作为20世纪90 年代矩阵领域兴起的研究重点,一直未在信息检索领域大有作为的一个重要原因在于奇异值分解对于计算机的要求相当高,并且一直未能出现一种可以分布式计算的方法造成该模型只能停留在理论上。前谷歌科学家吴军在《数学之美》[25]一书中透露谷歌已经实现了奇异值分解基于Map-Reduce 的分布式计算,然而这项技术并未公开。而从Z. Ceska[24]在对文档集预处理时使用文档频率大量去除词项也可以看出数量级对于计算的影响之大。随着海量数据处理的发展,希望在不久的将来潜在语义分析能真正应用于海量文档的处理。

KD-Tree K 最近邻模型

除了对词袋模型进行统计,R. A. Finkel[26]还提出了一种基于文档文体学特征的计算模型。他提出可以将文献的文体特征作为统计量进行计算,例如单词平均音节数、被动语态的出现频率、从句的数量、常见词( the、and 和but 等) 的数量。国内学者金博等[27]也提出了一种基于篇章结构的模型,将篇章标题的结构作为特征向量,每一个统计量作为文档特征向量的一个维度分量,对于一个文档F 定义它的文档特征向量为P( F) ,则文档D1和D2的多维相似度表示为m( D1,D2) = distance( P( D1) ,P( D2) ) 。然后使用KD-Tree 数据结构保存全部文档特征向量,则查找其中任何一个文档的相似文档就变为查找该文档向量的K 个最近邻。使用KD-Tree 这种数据结构,是因为它有如下特点: 首先,作为一种二叉查找树,由于在初始构造时已经有了大量注册文档,因此最终可以形成一个平衡树,并且此树可以不断地增加新的节点; 其次,KD-Tree 可以方地进行存储; 再次,使用该树增加一个向量的时间复杂度为O( k logn) ,而查找一个向量的最近邻的时间复杂度亦为O( k logn) ,这样就大大提高了匹配效率。

基于数字指纹的方法

一个文档的数字指纹是指文档的关键内容的整形数字( integer) 表示的一个集合,每一个整形数字称为一个特征( minutia) 。一般地,先从文本中选取子字符串,然后将该子字符串通过一个hash 函数映射到一个整形表示,这个整形数字表示叫做指纹。然后将这些生成的指纹存入索引以供对比查询[21]。当一个查询文档( query) 需要与索引中的文档指纹做对比时,先按照同样的方式为此查询文档生成指纹,然后将该指纹中的每一个特征分别与索引库中的指纹进行比对。特征找到匹配的量占特征数量的比值即为相似文档的相似度估计。在设计数字指纹的过程中,一般需要考虑以下4个方面[21]: ①指纹生成算法,即映射子字符串到整形的hash 函数。②指纹颗粒度,即从文档中提取的子字符串的大小。③指纹分辨率,即每个文档指纹所含的特征的数量。④子字符串选取策略,即从文档中选取子字符串的策略。

指纹生成算法

将字符串转化为整形数字表示( 特征值) 的函数对于数字指纹有很大的影响。为了保证指纹生成的速度和精确度,一个指纹生成函数需要满足以下几个要求: 首先,生成的指纹必须是可再生成的,对于同样的一个子字符串,所生成的特征值必须完全相同[28]; 其次,特征值的分布要尽可能地接近均匀分布[8]。对于任何数字指纹生成函数,不同子字符串生成相同特征值的情况( 散列碰撞Hash Collision) 理论上无法避免,而均匀分布的特征值可以将散列碰撞的发生概率降至最低; 最后函数的速度也非常重要,当创建初始索引或是查询文档集时,需要生成大量的特征值。


M. Rabin[29]于1981 年提出了一种可行的字符串指纹生成算法用于字符串匹配和文件验证,算法如下:选取一个较小的素数k( k( 17, 19…31, 61) ) ,然后从有限域GF( 2k ) 中2k - 2k个不可约多项式中随机选取一个不可约多项式p( t) ∈Z2[t],该多项式的次数显然为k,该多项式可以表示为p( t) = tk + b1 tk - 1 + … + bk。对于长度为n 的字符串,使用x1,x2…xn表示每个字符的整形表示( ASCII) ,则这个字符串可以表示为多项式g( t) = x1 tn - 1 + x2 tn - 2 +… + xn。令gi( t) = x1 ti - 1 +… +xi,1≤i≤n,则有gi + 1 = gi* t + xi + 1,1≤i≤n - 1。然后定义余部珔g( t) 为多项式g( t) 模p 的余部Res( g,p) ,这个余部可以表示为c1 kk - 1 +… + ck。则有:

通过上式可以看出,只有第一次计算需要对字符串的每一个文本单元( text symbol) 进行计算,从第二个连续的字符串开始,则只需要进行一次乘法运算和一次加法运算,然后再进行模p( t) 的运算即可,这样每个字符串的计算都是实时的( in real time) 。M. Rabin 指出该算法对于两篇长度分别为m 和n的文档,若k > log2nm∈- 1,可以将散列碰撞所产生的错误发生率控制在一个给定的参数∈下,即:

上述算法的一个缺点是随机选取一个不可约多项式需要大量的运算,一个较好的解决办法是将所有低次的不可约多项式做成表,然后随机地从表中抽取即可。随后R. M. Karp 和Rabin[30]简化了这套算法,而第一个将该数字指纹算法应用于大型文档集的是U.Manber[28],他独立发现了M. Rabin 的算法并将其用于相似文档的检测。其做法如下: 令t1,t2…tn表示字符串中的连续字节,则前50 个字字符串的指纹为:

而当需要计算F2时,只需要添加最后一项的系数并删除第一项即可:

由于每次运算都需要计算( Ti·p49 ) mod M,因此可以提前将256 个值的结果进行计算并制作成表,以大大提高计算效率。

指纹颗粒度

指纹颗粒度,即从文档中提取的子字符串的大小。此变量对于指纹的精确度有着很大影响[31]。精细的指纹颗粒度可以减少伪匹配的数量,而粗糙的指纹颗粒度会对细小的修改过于敏感[8]。例如我们使用100个字作为颗粒度时,则对于100 个字的任意改动都会影响指纹的产生,而事实上当100 个字中仅有少量改动时我们依然希望能够将其识别为一种抄袭。反之,当使用1 或2 个字作为颗粒度时,我们会发现大量的匹配,而这其中的大多数往往只是常见的词,对于抄袭无明显的指示作用。U. Manber[28]在开发sif 系统时使用了50 个字节的颗粒度。S. Brin[3]没有使用固定的颗粒度,而是以一个句子为单位。N. Shivakumar[32]的实验验证了使用句子作为颗粒度可以取得最好的效果,而N. Heintze[8]则使用30 - 45 个字符作为颗粒度。T.C. Hoad 等[21]的实验结果表明,上述的颗粒度都能保证较低的最高伪匹配( highest false match) ,但是在差别(separation) 指标这一项,上述颗粒度的效果都不太理想,最终T. C. Hoad 提出了以3 或5 个单词作为颗粒度。

指纹分辨率

指纹分辨率,即每个文档指纹所含的特征的数量。理论上,指纹分辨率越大,对于抄袭识别的可提供的信息就越多,而结果也越准确。但受限于文档集的大小以及硬件机能,指纹分辨率往往不能设置过大,否则会给系统造成很大的压力。常见的分辨率包括定量分辨率和定比例分辨率[8]: 定量分辨率是指每个文档都含有特定量的指纹,而这个量不受文档长度的影响,定量分辨率可提高系统的可扩展性,缺点是对于大型文档不能很好地表示其特征; 定比例分辨率是指按照文档长度的不同选择保存相应数量的指纹,虽然这有助于提高特征表示的完整性,但是对于一篇数十万词的文档,按照1∶ 100 的比例也需要保存几千个指纹,对存储和比对计算都提出了更高的要求。A. Chowdhury等[16]在I-Match 系统中使用了一种创新的指纹分辨率,即一篇文档只生成一个指纹。I-Match 首先依据逆文档频率( inverse document frequency) 将文档中最常用的词和最不常用的词全部剔除然后将剩余的词按照unicode 编码顺序排列,然后使用SHA1 算法生成一个指纹。此技术的优势在于可以快速地识别两篇几乎类似的抄袭,但是对于包含关系则几乎起不到作用。此技术可被应用于抄袭检测的预处理,协助划定抄袭文档的范围,减少比对次数。A. Chowdhury 的实验表明利用I-Match 的指纹技术可比其他指纹技术节省4 /5的时间。

子字符串选取策略

选取全部数字指纹该策略最为简单,并且匹配效果也最好,能够保证识别出所有的抄袭[8]。该策略在存储空间上对每篇文档要求至少l - α + 1* | hashcode | 个字节,而每两篇长度分别为m 和n 的文档进行对比的时间复杂度是O( mn) ,从存储空间占用和计算时间上看,该方法并不能很好地应用到生产环境,但是对于系统性能的评估,该方法还是较好的选择。每隔i 个取一个数字指纹该策略明显比选取全部数字指纹策略要占用更少的存储空间,并且由于指纹数量的减少,两个文档进行对比时所耗费的时间也更少。但是该策略在一个文档出现如下情况时缺乏鲁棒性,包括打乱文档的内部顺序、在文档中插入内容或删除文档中的一段内容。事实上,只要文档中插入一个字符就会造成所有的k-gram 发生一个字节的位移,导致所生成的数字指纹与插入前所生成的数字指纹完全不同。

锚文本( anchor) 定位数字指纹该策略由U.Manber[28]提出,使用特定的文本对原文进行划分并生成指纹。该策略的优势在于不受文档重排序、插入或者删除的影响,但是该策略会严重依赖锚文本的选择,应尽量选取那些常见但又不至于过于常见的锚文本。优秀的锚文本选择策略会使所选取的字符串分布较为平均,而失败的锚文本选择策略则会直接导致系统的失效。由于该策略对于锚文本的选择依赖性很强,因此对于某一个文档库合适的锚文本对另外一个文档库则不见得合适,例如法律领域的文档库中的锚文本一般无法应用于情报学领域的文档库中。在确定了字符串选取策略后,可应用R. A. Finkel[26]提出的选取策略,具体策略参见哈希断点数字指纹。

哈希断点数字指纹该策略由U. Manber[28]提出,将锚文本变为特定的数字。该策略的不足之处在于,当一个常见的字符串模p 为0 时,则会造成选取的字符串非常短,若所选择的p 恰巧不能使任何字符串模p 为0,则会造成将全文作为一个字符串进行指纹生成。此外国内学者刘韵毅[33]也提出了相似的指纹选取策略。在确定了如何分割文档后,R. A. Finkel[26]提出了两种选择策略,这两种策略都基于保留适当长度的数字指纹,过短的数字指纹匹配并不代表抄袭,而长数字指纹匹配虽然很有可能意味着抄袭,但很少有抄袭者在不改原文的情况下大段抄袭,因此应该去掉那些较长的和较短的数字指纹而仅保留长度适中的数字指纹。首先令n 为分割后生成数字指纹的数量,m 为数字指纹长度的中位数,s 为数字指纹长度的标准差,b 为常数,L 为任意数字指纹的长度,则可使用如下两种选取策略: 开方法,即保留|槡n | 个长度L 最接近m的数字指纹; 方差法,所保留的数字指纹需满足| L - m|≤bs,b 设为0. 1,然后逐渐增大,直至选择|槡n| 个。

选取n 个最小数字指纹该策略由N.Heintze[8]提出。首先对文档的所有子字符串生成数字指纹,然后对同一个文档的全部指纹进行升序排列,并选取最小的n 个数字指纹。这个策略的优势在于,一个文档所需要选取的指纹数是确定的,因此系统可以不必受限制于短小的文档,对于大型文档系统也可以进行注册,系统的可扩展性增强。但是也正是由于这个原因,导致该策略对于大型文档只能识别出相似,无法识别出抄袭,需要进一步识别

Winnowing 选取算法该算法由S. Schleimer等[15]提出,国内学者邹杜等[35]也对此算法做了深入研究。首先定义两个参数t、k,假如一个子字符串匹配至少t 长度,则判定为一个抄袭,假如一个子字符串匹配

的长度小于k,则忽略。对一个文档的全部k-gram 生成hash 序列h1…hn,然后令滑窗大小w = t - k + 1。对于hash 序列中的一个位置i 满足1≤i≤n - w + 1 定义了一个hash 滑窗hi…hi + w-1。每个滑窗中至少取一个hash 值作为文档的指纹,在选取时选择滑窗中最小的hash 值,若出现两个相同的最小hash 值,则选择最右边的一个。该算法最大的优势在于,最大限度地减小了各数字指纹之间的距离,因此可以实现数字指纹在文档中的均匀分布。

基于语义词典的中文抄袭识别

目前的抄袭检测主要针对文本的改写、组的抄袭检测,即所谓的外部抄袭检测( extrinsicplagiarism detection) ,与之相对应的是近几年的研究热点集中在内在抄袭检测( intrinsic plagiarismdetection) [13]。内在抄袭检测与作者验证( authorshipverification) 等使用类似的技术,均是对文档的作品风格特征进行统计分析,例如判定各个段落的词汇丰富度、文体复杂度等,E. Stamatatos[45]和B. Stein 等[46]对当前内在抄袭检测的研究现状做了全面细致的分析总结。而随着抄袭的越来越隐蔽,抄袭者对于思想的抄袭等越来越多,内在抄袭检测将发挥其作用。笔者认为,内在抄袭检测也将是未来的研究重点。合、调整顺序等的识别,而基于语义词典的中文识别发展缓慢,将是今后的发展重点。普林斯顿大学于1995 年推出了第一个英语词关系词典WordNet[36],为研究者做语义级别的研究提供了基本工具。E. Agirre[37]于同一年利用WordNet 提出了一种语义消歧方法,选择所有开放性词类,并取5 个单词的窗口大小( window size) ,以周围4 个单词作为上下文,对中间第3 个词进行消歧处理,为基于语义的识别提供了消歧的基础。随后J.J. Jiang[38]于1997 年提出了一种基于WordNet 单词距离和单词节点信息量的混合相似度计算法,使语义消歧能力得到了提高。国内学者王瑞琴[39]、田久乐[40]等也基于同义词词典做了相关的消歧研究。而目前尚未出现成熟的中文词关系词典,东北大学的张俐等[41]于2003 年提出了一种中文WordNet 制作方法,该方法通过翻译实现了一种从英文版到中文版的映射,但准确性不高,不足以应付实际生产环境。笔者认为,在今后一段时间,随着各类中文关系词典的建设,基于类似词典的抄袭识别研究将是研究重点。

基于数字指纹的大规模中文抄袭检测

由于数字指纹的匹配主要依靠排序算法,而由排序算法( quicksort) 的时间复杂度O( nLgn) 可知指纹数量的多少对计算效率的影响很大。N. Shivakumar[31]对150GB 的文档使用数字指纹方法进行复制检验,针对上述问题,提出了一种基于概率统计的高效识别方法。该方法需要分别对全文和子字符串生成指纹,首先通过扫描全文指纹剔除完全相同的文档,然后对剩余文档的子字符串指纹使用CoarseCount 算法进行扫描识别。对于识别出粗糙结果,通过二次扫描剔除伪匹配。对于不同的指纹选取策略,该方法能提高22% -33%的效率,这得利于排序阶段排序量的减少。而随着Hadoop 等Map-Reduce 平台的出现,在Partitioning阶段自动完成了上述所需的排序,大大提高了运算效率。

然而,上述基于数字指纹的大规模抄袭检测,仅仅停留在完全抄袭的检测上,对于修改后的抄袭,传统的数字指纹几乎无法识别。而Charikar[43] 提出的Rounding Algorithm 为细微修改后的数字指纹抄袭检测奠定了理论基础。Google 公司的G. S. Manku等基于Rounding Algorithm 提出了一种大规模识别英文雷同网页的数字指纹,该方法已经被成功应用于Google搜索引擎。而在中文方面,目前缺乏类似的研究,笔者认为,基于数字指纹的大规模中文抄袭检测也将是今后的研究重点。

内在抄袭检测

上述传统的抄袭检测技术均是基于文档注册机制的抄袭检测,即所谓的外部抄袭检测( extrinsicplagiarism detection) ,与之相对应的是近几年的研究热点集中在内在抄袭检测(intrinsic plagiarismdetection) [13]。内在抄袭检测与作者验证( authorshipverification) 等使用类似的技术,均是对文档的作品风格特征进行统计分析,例如判定各个段落的词汇丰富度、文体复杂度等,E.Stamatatos[45]和B. Stein 等[46]对当前内在抄袭检测的研究现状做了全面细致的分析总结。而随着抄袭的越来越隐蔽,抄袭者对于思想的抄袭等越来越多,内在抄袭检测将发挥其作用。笔者认为,内在抄袭检测也将是未来的研究重点。本文总结了当前学术抄袭检测的现状,对于基于向量空间的算法和基于指纹识别的算法进行了细致的分析。通过分析可以看出,向量空间模型、相对频率模型、潜在语义分析模型、KD-Tree 模型等信息检索领域常见的算法模型都已被应用到了抄袭检测中。而与之相比,各种基于数字指纹的算法的引入也大大提高了计算效率。通过分析可以看出,抄袭检测自出现以来已经吸引了越来越多的科研者关注,得到了长足的发展。总的来说,在当前的学术环境下,学术抄袭检测依然是必不可少的,这就要求抄袭检测必须不断提高检测的能力。当前的抄袭检测基本是基于文本字面的,并未达到语义级别的抄袭检测。而现如今,在学术界却存在着大量思想抄袭而未被发现的情况,这主要是由于学者没有充足的时间去长期追踪自己的观点,而出版商也没有非常好的方法去识别这类抄袭。因此,对于语义级别的抄袭检测将是今后研究的重点。除此之外,文章的结构化特征提取与利用、内在抄袭检测研究也将为抄袭检测提供更加丰富的参考。


在线咨询
在线留言
系统列表
返回顶部