首页> 中国专利> 基于指纹特征的文本复制检测系统及方法

基于指纹特征的文本复制检测系统及方法

摘要

本发明公开了基于指纹特征的文本复制检测系统及方法。本发明系统包含:文本预处理模块,对文本进行格式转换,过滤文本中的噪声,将单词归一化,去除英语字母大小写的干扰;单词编码模块,依据单词的原生特点,将预处理后文本的单词进行编码;字典排序模块,以句子为单位,按字典方式进行排序,并去除文本中的标点;散列值映射模块,利用滚动哈希函数进行散列值计算,得到散列值序列;指纹提取模块,基于文本内容选取触发条件,并依据触发条件进行分块;利用哈希函数计算文本块的哈希值,并选取哈希值的特定位置的若干位转换为ASCII码,作为指纹特征;相似度计算模块,用于文本指纹的相似性比对,利用相似度算法计算文本指纹的相似程度。

著录项

  • 公开/公告号CN105912514A

    专利类型发明专利

  • 公开/公告日2016-08-31

    原文格式PDF

  • 申请/专利权人 吴国华;

    申请/专利号CN201610273935.6

  • 发明设计人 吴国华;付二帅;王玉娟;

    申请日2016-04-28

  • 分类号G06F17/22(20060101);

  • 代理机构杭州千克知识产权代理有限公司;

  • 代理人周希良

  • 地址 310018 浙江省杭州市下沙高教园区学林街清雅苑7幢1单元701室

  • 入库时间 2023-06-19 00:22:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-22

    授权

    授权

  • 2016-09-28

    实质审查的生效 IPC(主分类):G06F17/22 申请日:20160428

    实质审查的生效

  • 2016-08-31

    公开

    公开

说明书

技术领域

本发明属于文本复制检测技术领域,具体涉及一种基于指纹特征的文本复制检测系统及方法。

背景技术

文本复制检测技术目前已广泛应用在多种领域,例如,数字化图书馆、信息检索、学术论文、垃圾邮件过滤、恶意代码等,为用户减小信息冗余度,提高信息检索的满意度,防止学术论文、垃圾邮件、恶意代码和网页去重提供了有效的解决方案。但是,随着文本数据量的剧增,传统的文本复制检测技术的检测效率不高。为了提高复制检测效率,一些检测方法引入了指纹技术。

基于指纹特征的文本复制检测技术是一种新颖的文本复制检测方法,该方法借鉴了传统哈希算法的理论,在保证文本信息的前提下,将文本通过一定的规则映射为一组字符或数字序列,也可称为文本指纹,用来表示文本的内容特征。相似的文本将被映射为相近的指纹,计算指纹之间的相似度,达到复制检测的目的,其具有简单、高效等优点。但是,现有基于指纹特征的文本复制检测技术仍存在指纹特征选取效率低的问题。

模糊哈希又称为“基于内容的分块哈希”,是2006年Kornblum等人提出的一种哈希算法。该算法包含两种普通哈希算法:滚动哈希算法,用于选取触发条件对输入数据进行分块;任何一种普通哈希算法,用于计算每块数据的哈希值。模糊哈希算法是基于块来计算输入数据的指纹,属于局部哈希算法,不注重于数据的细节变化。假如对输入数据进行插入、删除、修改操作后,数据的局部会发生变化,而数据的大部分还是保持不变。

模糊哈希算法被提出的初衷是用于计算机取证技术,目的是提高大数据下取证的效率。后来学术界有一些学者将其用于恶意代码及抄袭文本的检测,但是模糊哈希算法在提取指纹特征时,受滑动窗口宽度及两个设定值的影响较大,可能导致输入数据都没有触发分块条件或者频繁触发分块条件,造成指纹特征数量不固定,需要重新调整触发条件,指纹特征提取效率较低。

发明内容

为了克服现有文本复制检测技术中,指纹特征提取效率低的缺陷,本发明提供了一种基于指纹特征的文本复制检测系统及方法,本发明方法根据单词特点构建单词编码模型,并基于文本内容选取触发条件,提取指纹,克服了指纹特征提取效率低的不足,提高了指纹特征提取效率,从而提高文本复制检测用户满意度。

为达到上述目的,本发明通过以下技术方案来实现:

基于指纹特征的文本复制检测系统,含有以下几个模块:文本预处理模块、单词编码模块、字典排序模块、散列值映射模块、指纹提取模块、相似度计算模块,详细介绍如下:

文本预处理模块,用于对文本进行格式转换,过滤待检测文本中的数字、停用词、介词和特殊符号等噪声,将单词归一化,去除英语字母大小写的干扰。

单词编码模块,依据单词的原生特点,按设定的规则:如特定位置单词的字母(例如单词尾字母或单词首字母等)或特定位置单词的字母以及单词长度组合的规则,将预处理后文本的单词进行编码。

字典排序模块,将编码后的文本,以句子为单位,按字典方式进行排序,并去除文本中的标点。

散列值映射模块,将按字典排序后的文本,利用滚动哈希函数进行散列值计算,得到散列值序列。滚动哈希函数可以将长度为k的字符串映射为一个整数x(0≤x≤bk),设asc(c)为字符c的ASCII值,则将文本T[1,...,n]中长度为k的子串T1,T2,...,Tk映射为一个散列值的计算公式如下:

H(T1,T2,...,Tk)=asc(T1)bk-1+asc(T2)bk-2+...+asc(Tk)>

那么H(T2,...,Tk,Tk+1)可表示为:

H(T2,...,Tk,Tk+1)=(H(T1,T2,...,Tk)-asc(T1)bk-1)b+asc(Tk+1)>

指纹提取模块,基于文本内容选取触发条件,并依据触发条件进行分块。利用哈希函数如MD5计算文本块的哈希值,并选取哈希值的特定位置的若干位转换为ASCII码,作为指纹特征。

相似度计算模块,用于文本指纹的相似性比对,利用相似度算法如编辑距离算法等计算文本指纹的相似程度,来衡量文本之间的相似度,判断两文本之间是否存在复制行为,进而判断文本之间是否存在抄袭现象。

编辑距离算法(Levenshein Distance)是一种计算字符串相似度的算法,例如字符串S和T,编辑距离算法的思想是通过计算字符串S,需要最少经过多少步编辑操作变为T,得出的步数即为距离,其中编辑操作主要有插入、删除和替换等。编辑距离的计算公式如下:

editi,j=Max(i,j)Min(i,j)=0Min(editi-1,j+1,editi,j-1+1,editi-1.j-1+fi,j)i,j>0---(3)

fi,j可表示为:

fi,j=0si=tj1sitj,(i=1,2,3,...,m;j=1,2,3,...,n)---(4)

其中editi,j表示两字符串第i和j位置的编辑距离,fi,j判断si,tj是否相同。

通过式(3)可以计算出字符串之间的最小距离即编辑距离,通过计算式(5)可以得出相似度。

Sim(S,T)=1-e(S,T)(l1+l2)---(5)

其中Sim(S,T)表示相似度,e(S,T)表示编辑距离,l1,l2为S,T的长度。

优选的,对于预处理后得到的文本,依据单词的原生特点,对单词进行编码,单词编码的好坏主要受重码率、码长、规则、记忆量等因素的影响,由于这些指标是相互矛盾的,所以重码率最低,码长最短,规则最少,记忆量最少的编码是不存在的。在具体实现中,根据不同的应用场景,选取合适的编码方式。单词编码方式有两种形式:1)由单词特定位置的若干个字母组成;2)由单词特定位置的若干个字母及长度组成。

优选的,在文本散列值序列中,利用混合窗口技术选取触发条件,进行分块。通过哈希函数计算每个文本块的散列值,并选取散列值的若干位将其转换为对应的ASCII码,则文本指纹由所有ASCII码构成。

本发明还公开了一种基于指纹特征的文本复制检测方法,其按如下步骤进行:

S1、对输入文本进行预处理,获取去除噪声干扰的文本。

S2、利用单词编码模块对步骤S1得到的文本,进行编码。

S3、利用字典排序模块对步骤S2所得到的单词编码序列进行排序。

S4、对步骤S3所得到的单词编码序列,通过滚动哈希计算哈希值,得到文本的一组散列值序列H。

S5、定义一个字符数组,用于指纹特征映射。

S6、利用混合窗口技术对步骤S4所得到的散列值序列H进行分块,并通过哈希函数计算文本块的哈希值。

S7、选取步骤S6得到的哈希值的特定位置的若干位,并通过S5定义的字符数组将其映射为某个字符。

S8、重复步骤S6、S7。

S9、采用相似度算法计算文本指纹之间的相似度。

优选的,S1步骤具体如下:

步骤1:对可疑文本进行格式转换;

步骤2:采用正则表达式的方法去除噪声;

步骤3:将英语字母归一化,防止字母大小写的干扰;

步骤4:通过停用词表,过滤掉文本中的停用词。

优选的,S2步骤中,单词编码方式有两种形式:1)由单词特定位置的若干个字母组成;2)由单词特定位置的若干个字母及长度组成。

本发明基于指纹特征的文本复制检测系统及方法,为在海量的文本中快速的进行复制检测提供解决方案。本发明系统及方法的指纹检测原理与传统指纹检测不同,采用单词编码模型对文本单词进行编码,减少了文本内容,并利用混合窗口技术选择触发条件,进行分块,提高了指纹特征提取效率。

本发明在进行文本复制检测时,利用单词编码模块对输入文本进行编码,减少了文本信息;基于文本内容选择触发条件进行分块,加快了指纹特征提取效率。

附图说明

图1为本发明实施例文本复制检测装置的结构示意图。

图2为本发明实施例文本复制检测装置的详细结构示意图。

图3为本发明实施例文本预处理模块的详细示意图。

图4为本发明实施例单词编码模块的详细示意图。

图5为本发明实施例指纹提取模块的详细示意图。

具体实施方式

以下结合附图对本发明优选实施例作进一步说明。

如图1所示,本实施例基于指纹特征的文本复制检测系统,含有以下几个模块:

文本预处理模块,用于对文本进行格式转换,过滤待检测文本中的数字、停用词、介词和特殊符号等噪声,将单词归一化,去除英语字母大小写的干扰。

单词编码模块,依据单词的原生特点,按设定的规则将预处理后文本的单词进行编码。

字典排序模块,将编码后的文本,以句子为单位,按字典方式进行排序,并去除文本中的标点。

散列值映射模块,将按字典排序后的文本,利用滚动哈希函数进行散列值计算,得到散列值序列。

指纹提取模块,基于文本内容选取触发条件,并依据触发条件进行分块。利用哈希函数(如md5)计算文本块的哈希值,并选取哈希值的特定位置的若干位转换为ASCII码,作为指纹特征。

相似度计算模块,用于文本指纹的相似性比对,利用相似度算法计算文本指纹的相似程度,来衡量文本之间的相似度,判断两文本之间是否存在复制行为,进而判断文本之间是否存在抄袭现象。

如图2-5所示,本发明实施例基于指纹特征的文本复制检测方法,按如下步骤:

(1)文本预处理,参照图3,有以下步骤:

步骤1:对可疑文本进行格式转换。

步骤2:采用正则表达式的方法去除数字、特殊符号等噪声。

步骤3:将英语字母归一化,防止字母大小写的干扰。

步骤4:通过停用词表,过滤掉文本中的停用词。

(2)参照图4,对于预处理后得到的文本,依据单词的原生特点,对单词进行编码,单词编码的好坏主要受重码率、码长、规则、记忆量等因素的影响,由于这些指标是相互矛盾的,所以重码率最低,码长最短,规则最少,记忆量最少的编码是不存在的。在具体实现中,根据不同的应用场景,选取合适的编码方式。单词编码方式有两种形式:1)由单词特定位置的若干个字母组成;2)由单词特定位置的若干个字母及长度组成。

(3)按照字典方式排序;

(4)利用滚动哈希函数对单词编码序列进行散列值计算,得到散列值序列H。

(5)参照图5,利用混合窗口技术对散列值序列H进行分块,生成文本指纹,详细步骤如下:

步骤1:从固定窗口Hi={hi,hi+1...hi+Fixed-1}中提取指纹特征,利用滑动窗口在Hi中滑动。

步骤2:滑动窗口每滑动一次,判断该窗口内的最小值是否同上个窗口的最小值相同,如果相同,则该散列值的步长加1。否则,保存上个窗口最小散列值及其步长,并选取该散列值为基准,初始化其步长。

步骤3:重复步骤2,当滑动窗口和固定窗口的右边界重合时,选取步长最长的散列值hi

步骤4:将hi作为触发条件进行分块,则文本块w1的内容为{h1,h2...hi},利用哈希函数计算w1的散列值。

步骤5:将hi+1作为下个固定窗口的左边界。

步骤6:将得到的每个文本块的哈希值进行转换,得到对应的字符。

步骤7:重复步骤1-6,直到文本结束。

步骤8:将步骤6得到的每个字符连接,最终形成一组字符序列,即文本指纹。

(6)利用相似度算法计算文本指纹之间的相似度。文本指纹代表文本的特征,所以利用指纹之间的相似性作为文本之间的相似程度的指标。

综上,本发明实施例提供的文本复制检测方法及装置,与现有的复制检测方法相比,本发明在进行指纹特征提取时,增加了文本单词编码步骤,单词编码是基于单词特点的一种编码形式,可以降低处理文本的内容。在基于单词编码的基础上进行文本散列值计算,可以减少计算次数。本发明通过固定窗口和滑动窗口相混合技术进行文本分块,提取指纹特征,在基于文本内容分块的基础上,可以保证分块粒度稳定,提高了分块效率,有效控制文本块的数量,并且能够保证得到的文本块序列具有同步性,正是由于同步性关系的存在,才可以有效地进行文本指纹提取。

本发明可以有效的克服文本复制检测中,指纹特征提取效率低的缺陷,在保证复制检测准确性的前提下,能够保证适当的分块粒度,提高指纹特征提取效率。

以上所述仅为本发明优选实施例。但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,轻易想到的变换,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号