文档检测处理方法、装置、存储介质及电子设备与流程

文档序号:29945414发布日期:2022-05-07 15:59阅读:94来源:国知局
文档检测处理方法、装置、存储介质及电子设备与流程

1.本发明涉及数据处理技术领域,具体而言,涉及一种文档检测处理方法、装置、存储介质及电子设备。


背景技术:

2.随着科技的不断发展,各个企业或用户的数据量不断增加,网络的便捷加剧了数据分享,加大了单位、企业涉密数据有意或无意的泄露风险,因此,各企业需要防止秘密文档的泄露,但又不能与网络断开连接导致与外界断绝;在现有技术中,通常采用局部敏感哈希算法和/或文本文件指纹生成算法,求得最小或最大哈希值,采用哈希值代表这一段文本内容的文件指纹,最后根据文件指纹得到文件识别效果。
3.但是,直接根据文件指纹对文件进行识别,无法对外发数据进行实时的处理,并且只能判断全篇、大段摘抄的情况,无法识别从文档中摘抄少量句子的情况,对全篇存在内容重复内容或者词语的场景下容易误判,判断性能较差;更没有办法计算出重合的重合度,得到一个具体的量化结果。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种文档检测处理方法、装置、存储介质及电子设备,以至少解决现有技术中的文档检测处理方法无法识别出少量文档摘抄情况,且无法计算文档重合度的技术问题。
6.根据本发明实施例的一个方面,提供了一种文档检测处理方法,包括:接收客户端发送的文档检测请求,其中,上述文档检测请求中携带有待检测文档或者用于获取待检测文档的相关信息,上述文档检测请求用于请求服务端检测上述待检测文档中文档内容与样本文档的文档内容之间的重合度值;对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;通过上述索引值定位至与上述第二哈希签名对应的样本文档,并通过计算上述第一哈希签名和上述第二哈希签名之间的相似度值,得到上述待检测文档和上述样本文档之间的重合度值。
7.可选的,在接收客户端发送的文档检测请求之前,上述方法还包括:将接收到的上述样本文档的文档内容处理为一个或多个第一单词字符块,其中,每个上述第一单词字符块包括:多个第一单词字符;在随机排列上述第一单词字符块中的多个第一单词字符后,采用预定位数的随机哈希函数分别处理多个上述第一单词字符获取哈希签名列表并更新至最小哈希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的第二哈希签名,其中,n为上述第一单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数;将上述样本文档的文件名称与上述第二哈
希签名对应存储为上述文档指纹库。
8.可选的,将接收到的上述样本文档的文档内容处理为一个或多个第一单词字符块,包括:对上述样本文档的文档内容进行预处理,得到第一文档元素列表;其中,上述预处理包括以下至少之一:分词、去停用词、去单字、恢复原词、恶意字符插入恢复;采用语言处理模型将上述第一文档元素列表划分为多个第一子元素列表;对多个上述第一子元素列表进行字符编码处理得到多个第一单词字符,并按照预定阈值对多个上述第一单词字符进行分组处理,得到多个第一单词字符块。
9.可选的,对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名,包括:将上述待检测文档的文档内容处理为多个第二单词字符块,其中,每个第二单词字符块包括:多个第二单词字符;在随机排列上述第二单词字符块中的多个第二单词字符后,采用预定位数的随机哈希函数分别处理多个上述第二单词字符获取哈希签名列表并更新至最小哈希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的多个第一哈希签名,其中,n为上述第二单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数。
10.可选的,将上述待检测文档的文档内容处理为多个第二单词字符块,包括:对接收到的上述待检测文档的文档内容进行预处理,得到第二文档元素列表;其中,上述预处理包括以下至少之一:分词、去停用词、去单字、恢复原词、恶意字符插入恢复;采用语言处理模型将上述第二文档元素列表划分为多个第二子元素列表;对多个上述第二子元素列表进行字符编码处理得到多个单词字符,并按照预定阈值对多个上述第二单词字符进行分组处理,得到多个第二单词字符块。
11.可选的,通过如下计算公式,计算得到上述待检测文档和上述样本文档之间的重合度值,以及查重度值:
12.上述重合度值s1=n1/(n1+n2)
×
sim;
13.上述查重度值s2=n2/(n1+n2)
×
sim;
14.其中,n1和n2分别为第一单词字符和第二单词字符的个数,上述sim为上述相似度值,上述重合度值用于表征上述待检测文档中重合内容占各个上述样本文档的比例,上述查重度值用于表征上述待检测文档与上述样本文档之间的重合内容占上述待检测文档的比例。
15.可选的,上述方法还包括:初始化一个预定位数的最小哈希签名列表,其中,上述预定位数的值对应一个上述单词字符块中包含有多少个上述最小哈希签名;加载并读取预先确定的文档指纹库,得到上述文件名称与对应的上述最小哈希签名;为上述第二哈希签名设置唯一对应的上述索引值。
16.可选的,上述方法还包括:初始化局部敏感哈希表,并设定上述局部敏感哈希表的搜索阈值t0,t0为大于0且小于1的小数,上述局部敏感哈希表默认用于搜索相似度值大于上述搜索阈值t0的数;将读取的上述第二哈希签名更新至上述局部敏感哈希表中,并将上述局部敏感哈希表存储至内存中备用。
17.根据本发明实施例的另一方面,还提供了一种文档检测处理装置,包括:接收单元,用于接收客户端发送的文档检测请求,其中,上述文档检测请求中携带有待检测文档或者用于获取待检测文档的相关信息,上述文档检测请求用于请求服务端检测上述待检测文
档中文档内容与样本文档的文档内容之间的重合度值;处理单元,用于对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;搜索单元,用于依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;计算单元,用于通过上述索引值定位至与上述第二哈希签名对应的样本文档,并通过计算上述第一哈希签名和上述第二哈希签名之间的相似度值,得到上述待检测文档和上述样本文档之间的重合度值。
18.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有多条指令,上述指令适于由处理器加载并执行任意一项上述的文档检测处理方法。
19.根据本发明实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的文档检测处理方法。
20.在本发明实施例中,通过接收客户端发送的文档检测请求,其中,上述文档检测请求中携带有待检测文档或者用于获取待检测文档的相关信息,上述文档检测请求用于请求服务端检测上述待检测文档中文档内容与样本文档的文档内容之间的重合度值;对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;通过上述索引值定位至与上述第二哈希签名对应的样本文档,并通过计算上述第一哈希签名和上述第二哈希签名之间的相似度值,得到上述待检测文档和上述样本文档之间的重合度值,达到了实时比较对外发送的文档数据与文档指纹库中的数据,并计算相似度值的目的,从而实现了识别多篇小段摘抄的情况,计算数据具体的摘抄部分与涉密文档的重合比例的技术效果,进而解决了现有技术中的文档检测处理方法无法识别出少量文档摘抄情况,且无法计算文档重合度的技术问题。
附图说明
21.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
22.图1是根据本发明实施例的一种文档检测处理方法的流程图;
23.图2是根据本发明实施例的一种可选的文档检测处理系统结构示意图;
24.图3是根据本发明实施例的一种可选的文档外发检测流程示意图;
25.图4是根据本发明实施例的一种可选的文档重复率检测流程示意图;
26.图5是根据本发明实施例的一种可选的文档冗余数据去除流程示意图;
27.图6是根据本发明实施例的一种可选的单词字符块生成流程示意图;
28.图7是根据本发明实施例的一种文档检测处理装置的结构示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是
本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
30.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.首先,为方便理解本发明实施例,下面将对本发明中所涉及的部分术语或名词进行解释说明:
32.文件指纹:是指给一个文件生成一个独特、唯一且不可逆的标识符用于文件识别。
33.实施例1
34.根据本发明实施例,提供了一种文档检测处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
35.图1是根据本发明实施例的一种文档检测处理方法的流程图,如图1所示,该方法包括如下步骤:
36.步骤s102,接收客户端发送的文档检测请求,其中,上述文档检测请求中携带有待检测文档或者用于获取待检测文档的相关信息,上述文档检测请求用于请求服务端检测上述待检测文档中文档内容与样本文档的文档内容之间的重合度值;
37.步骤s104,对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;
38.步骤s106,依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;
39.步骤s108,通过上述索引值定位至与上述第二哈希签名对应的样本文档,并通过计算上述第一哈希签名和上述第二哈希签名之间的相似度值,得到上述待检测文档和上述样本文档之间的重合度值。
40.在本发明实施例中,上述步骤s102至s108中提供的文档检测处理方案的执行主体为文档检测处理系统,即采用上述文档检测处理系统接收用户从客户端发出的文档检测请求,并获取相应的待检测文档;对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;通过上述索引值定位至与上述第二哈希签名对应的样本文档,并通过计算上述第一哈希签名和上述第二哈希签名之间的相似度值,得到上述待检测文档和上述样本文档之间的重合度值。
41.需要说明的是,上述文档检测请求用于请求服务端检测上述待检测文档中文档内
容与样本文档的文档内容之间的重合度值。
42.作为一种可选的实施例,如图2所示的文档检测处理系统结构示意图,上述文档检测处理系统包含以下模块:网络应用程序接口模块、规范框架模块、指纹库构建模块、指纹状态查询模块、指纹对比模块以及其他辅助模块,其中:
43.上述网络应用程序接口模块(web api模块),用于前后端分离实现restful接口,提供高性能的服务,支持异步非阻塞的网络访问。上述规范框架模块(swagger模块),用于展示前后端分离接口(api)的细节。上述指纹库构建模块:这部分主要处理指纹库的训练;上述指纹状态查询模块:可以查询指纹训练进度;上述指纹对比模块:主要包含指纹载入和指纹对比功能。
44.可选的,上述其他辅助模块还包括:日志模块,用于负责日志分块;文字处理模块,用于负责文档的读取、分词、去停用词、滑动窗口(n-grams)切分等;认证模块jwt(json web token)用于认证访问者身份;异常捕获模块,用于维持程序稳定运行并且抛出错误程序。
45.通过上述步骤,可以实现根据数据库中的重要、机密的样本文档的哈希签名,对进行文本处理和哈希处理后得到的待检测文档的哈希签名进行相似度检测,最后基于上述相似度确定待检测文档的重合度,达到了实时比较对外发送的文档数据与文档指纹库中的数据,并计算相似度值的目的,从而实现了识别多篇小段摘抄的情况,计算数据具体的摘抄部分与涉密文档的重合比例的技术效果,进而解决了现有技术中的文档检测处理方法无法识别出少量文档摘抄情况,且无法计算文档重合度的技术问题。
46.作为一种可选的实施例,如图3所示的文档外发检测流程示意图,上述系统可以结合任何一种需要防泄漏功能的客户端,在进行外发数据时进行文档检测。用户可以选择储存机密文件的文件夹训练并生成指纹库,同时下发比对策略;文件指纹比对服务加载指纹索引,当网络数据防泄漏(ndlp)设备收到内网用户发送的外发数据时,将数据发送至文件指纹服务端进行比对,文件指纹服务端在迅速比对之后将结果返回至防泄漏端,上述防泄漏端便可依照比对结果对外发数据进行放行、审核或者阻断的操作。
47.作为一种可选的实施例,如图4所示的文档重复率检测流程示意图,上述系统还可以用于防止文档抄袭,能够快速检测抄袭或者检测重复的文档内容。用户(检测者)首先筛选出预设一些重要文档,若想查询一篇新文档与这些重要文档当中存在多少文档内容重合现象和重合程度,可以采用上述文件指纹服务端提取重要文档的指纹库,并对指纹库进行初始化处理,初始化完成后,发送待检测的文档,文件指纹服务端进行对比处理,得到抄袭、重复率查询结果。上述系统可以方便用户查询待检测文档的抄袭情况,也适合用于与重要文档进行,比较得到待检测文档与重要文档的重复率,进而对文档进行改进。
48.可选的,上述系统也可以搭配前端或者封装成系统应用,用于重复文件的搜索。用户可以指定想要搜索的文件集合,用以计算文件指纹,然后用户可以通过指定目标的搜索目录,搜索系统通过遍历指定目标目录的文本文件,得出上述目标目录下与指纹库相似的文本文件和其相似的百分比,以达到寻找相似文档的目的,同样也可以用于优化储存结构,删除冗余文件等。
49.作为一种可选的实施例,如图5所示的冗余数据去除流程示意图,上述系统还可以搭配冷备份储存数据库使用,能够达到去除冗余数据的效果。首先对备份的冷储存数据进行数据扫描生成指纹数据库,将指纹数据库发送至文件指纹服务端,并向文件指纹服务端
添加新的数据,同时对新的数据进行扫描,如果与备份数据内容中存在重合那么可以对新数据当中不重合的部分进行储存而重合的部分进行映射,达到降低文件冗余程度的目的,提升文件储存的压缩率并减少冗余程度。
50.作为一种可选的实施例,上述系统也可以集成到各种文本(代码)编辑器当中,通过对现有的代码进行扫描生成指纹。当检测到用户新输入的文本或者代码与现有内容存在重复时,便可提醒用户代码或者文档在数据库中存在可复用的内容,可以大大提高文本和代码的编辑效率,降低代码文本的复用率减少冗余。
51.在一种可选的实施例中,在接收客户端发送的文档检测请求之前,上述方法还包括:
52.步骤s202,将接收到的上述样本文档的文档内容处理为一个或多个第一单词字符块,其中,每个上述第一单词字符块包括:多个第一单词字符;
53.步骤s204,在随机排列上述第一单词字符块中的多个第一单词字符后,采用预定位数的随机哈希函数分别处理多个上述第一单词字符获取哈希签名列表并更新至最小哈希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的第二哈希签名,其中,n为上述第一单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数;
54.步骤s206,将上述样本文档的文件名称与上述第二哈希签名对应存储为上述文档指纹库。
55.在本发明实施例中,在接收客户端发送的文档检测请求之前,首先需要构建样本文档的文档指纹库;采用上述系统将接收到的上述样本文档的文档内容处理为一个或多个第一单词字符块,在随机排列上述第一单词字符块中的多个第一单词字符后,采用预定位数的随机哈希函数分别处理多个上述第二单词字符获取哈希签名列表并更新至最小哈希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的第二哈希签名,将上述样本文档的文件名称与上述第二哈希签名对应存储为上述文档指纹库。
56.需要说明的是,每个上述第一单词字符块包括:多个第一单词字符;上述n为上述第一单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数。
57.在一种可选的实施例中,将接收到的上述样本文档的文档内容处理为一个或多个第一单词字符块,包括:
58.步骤s302,对上述样本文档的文档内容进行预处理,得到第一文档元素列表;其中,上述预处理包括以下至少之一:分词、去停用词、去单字、恢复原词、恶意字符插入恢复;
59.步骤s304,采用语言处理模型将上述第一文档元素列表划分为多个第一子元素列表;
60.步骤s306,对多个上述第一子元素列表进行字符编码处理得到多个第一单词字符,并按照预定阈值对多个上述第一单词字符进行分组处理,得到多个第一单词字符块。
61.在本发明实施例中,如图6所示的单词字符块生成流程示意图,上述将样本文档的文档内容处理为一个或多个第一单词字符块,包括:对上述样本文档的文档内容进行预处理,得到第一文档元素列表;采用语言处理模型将上述第一文档元素列表划分为多个第一子元素列表;对多个上述第一子元素列表进行字符编码处理得到多个第一单词字符,并按
照预定阈值对多个上述第一单词字符进行分组处理,得到多个第一单词字符块。
62.需要说明的是,上述预处理包括:分词、去停用词、去单字、恢复原词、恶意字符插入恢复等;可以采用上述预处理步骤中的任意之一,也可以结合多个步骤进行使用,例如,对例句“我的家乡是xx”进行预处理,首先进行分词后得到:我的/家乡/是/xx;去除停用词是删除上述分词之后一些无意义的词,比如说上述“我的”、“是”为停用词,以及一些语气词、代词等都会被删除,上述例句的去停用词结果为:家乡/xx;或者采用现有的任意一种停用词表基于滑动窗口模型对例句:“我的家乡是xx,你的家乡是哪里?”进行滑动窗口为5步长为1的进行滑动处理得到的结果为:“我的家乡是”、“的家乡是x”、“家乡是xx”、“乡是xx,”、“是xx,你”、“xx,你的”、“x,你的家”、“x,你的家”、“,你的家乡”、“你的家乡是”、“的家乡是哪”、“家乡是哪里”、“乡是哪里?”,若步长为2则中间跳两个字进行滑动处理,将上述预处理结果作为第一文档元素列表。
63.可选的,上述恶意字符插入恢复是指对泄密者通过恶意插入特殊字符或者无意义内容的原文进行恢复。
64.作为一种可选的实施例,启动全栈式web网络框架和异步网络库(tornado)的超文本传输协议(http)服务端接收上述文档检测请求,对样本文档文件进行分词去停用词处理,将处理后的文档作为多个基础元素列表;并将基础元素列表采用滑动窗口模型(n-grams模型)划分成(n-k)/s后并向上取整个元素列表,将上述元素列表结合成一个文本进行可变长度字符编码(utf-8编码)作为一个“单词”,即上述第一单词字符;将上述“单词”按照设定阈值分到n组,n=n/t向上取整。
65.需要说明的是,n为大于零的整数,代表单词的个数,k为大于2的整数,代表窗口大小,s为大于0的整数,代表滑动窗口的大小;上述k越小结果越不准确越容易误报,s越大误报率越低,但是发现相同句子的能力越低,在本发明实施例中可以将k设置成15,s设置成1。
66.还需要说明的是,t1为大于零的整数,代表设定每个块最多“单词”的个数。如设定阈值t1=10000一共有24000个单词那n=24000/10000=2.4向上取整后为3,分三块,每块8000个,即三块上述第一单词字符块,每个上述第一单词字符块包括8000个第一单词字符。每块“单词”个数小于等于阈值大小;阈值t1设定的越小,函数的发现能力越强,在本发明实施例中一般设定为t1=1000时较为准确能发现单句的抄袭,t1=10000时适合发现整段的抄袭,t1值越大生成的指纹越小,其大小基本呈现线性关系。
67.作为一种可选的实施例,上述单词块划分完成后,根据随机系数随机排列第一单词字符,获取第一单词字符的哈希签名列表并更新至最小哈希签名列表中,并取更新后的预定位(num)的最小值,此过程重复n遍,n为“单词”块中“单词”的个数,最后得到一个更新完毕的预定位数的第二哈希签名,最后将样本文档的文件名称与上述第二哈希签名对应存储为上述文档指纹库,完成上述文档指纹库的构建。
68.在一种可选的实施例中,对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名,包括:
69.步骤s402,将上述待检测文档的文档内容处理为多个第二单词字符块,其中,每个第二单词字符块包括:多个第二单词字符;
70.步骤s404,在随机排列上述第二单词字符块中的多个第二单词字符后,采用预定位数的随机哈希函数分别处理多个上述第二单词字符获取哈希签名列表并更新至最小哈
希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的多个第一哈希签名,其中,n为上述第二单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数。
71.在本发明实施例中,在接收客户端发送的文档检测请求后,首先需要对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;采用上述系统将上述待检测文档的文档内容处理为多个第二单词字符块,在随机排列上述第二单词字符块中的多个第二单词字符后,按照随机哈希函数将多个上述第二单词字符的哈希值更新至最小哈希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的多个第一哈希签名。
72.需要说明的是,每个第二单词字符块包括:多个第二单词字符,n为上述第二单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数。。
73.在一种可选的实施例中,将上述待检测文档的文档内容处理为多个第二单词字符块,包括:
74.步骤s502,对接收到的上述待检测文档的文档内容进行预处理,得到第二文档元素列表;其中,上述预处理包括以下至少之一:分词、去停用词、去单词、恢复原词;
75.步骤s504,采用语言处理模型将上述第二文档元素列表划分为多个第二子元素列表;
76.步骤s506,对多个上述第二子元素列表进行字符编码处理得到多个单词字符,并按照预定阈值对多个上述第二单词字符进行分组处理,得到多个第二单词字符块。
77.在本发明实施例中,上述将上述待检测文档的文档内容处理为多个第二单词字符块,包括:对上述待检测文档的文档内容进行预处理,得到第二文档元素列表;采用语言处理模型将上述第二文档元素列表划分为多个第二子元素列表;对多个上述第二子元素列表进行字符编码处理得到多个第二单词字符,并按照预定阈值对多个上述第二单词字符进行分组处理,得到多个第二单词字符块。
78.需要说明的是,上述将上述待检测文档的文档内容处理为多个第二单词字符块步骤与样本文档处理步骤相同,在此不做赘述。
79.作为一种可选的实施例,依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;通过索引值便可定位到此重合部分是与哪(几)篇文档有重合内容(对比一次可得到多篇重合结果);得到文档后将便计算其哈希签名与重合文档哈希签名的相似度值,再通过公式转换并且求和便可得到一(多)个重合度值和一个查重度值。
80.在一种可选的实施例中,通过如下计算公式,计算得到上述待检测文档和上述样本文档之间的重合度值,以及查重度值:
81.上述重合度值s1=n1/(n1+n2)
×
sim;
82.上述查重度值s2=n2/(n1+n2)
×
sim;
83.其中,n1和n2分别为上述第一单词字符和上述第二单词字符的个数,上述sim为相似度值,上述重合度值用于表征上述待检测文档中重合内容占各个上述样本文档的比例,上述查重度值用于表征上述待检测文档与上述样本文档之间的重合内容占上述待检测文档的比例。
84.作为一种可选的实施例,当存在多个样本文件时,对其查重度值应该进行加权求和公式如下:
85.查重度值的加权求和值其中,n为样本文件的个数。
86.在一种可选的实施例中,上述方法还包括:
87.步骤s602,初始化一个预定位数的最小哈希签名列表,其中,上述预定位数的值对应一个上述单词字符块中包含有多少个上述最小哈希签名;
88.步骤s604,加载并读取预先确定的文档指纹库,得到上述文件名称与对应的上述最小哈希签名;
89.步骤s606,为上述第二哈希签名设置唯一对应的上述索引值。
90.作为一种可选的实施例,初始化一个预定位(num)的最小哈希签名列表(minhash),num为大于0的整数,代表使用随机哈希函数的个数。上述预定位数的值对应一个上述单词字符块中包含有多少个上述最小哈希签名。根据随机系数随机排列这些单词块里的单词,采用预定位数的随机哈希函数分别处理多个上述第二单词字符获取哈希签名列表并更新至最小哈希签名列表中,并取更新后的最小哈希签名列表中预定位的最小值,此过程重复n遍,n为“单词”块中“单词”的个数;最后得到一个更新完毕的预定位哈希签名;对全部文档进行以上操作,将文件名和对应的最小哈希签名一起存储至文档指纹库中。
91.作为一种可选的实施例,加载并读取预先确定的文档指纹库,得到上述文件名称与对应的上述最小哈希签名,并为上述第二哈希签名设置唯一对应的上述索引值。
92.在一种可选的实施例中,上述方法还包括:
93.步骤s702,初始化局部敏感哈希表,并设定上述局部敏感哈希表的搜索阈值t0,t0为大于0且小于1的小数,上述局部敏感哈希表默认用于搜索相似度值大于上述搜索阈值t0的数;
94.步骤s704,将读取的上述第二哈希签名更新至上述局部敏感哈希表中,并将上述局部敏感哈希表存储至内存中备用。
95.作为一种可选的实施例,文件指纹快速比对的前置步骤应为加载指纹库,首先初始化局部敏感哈希表,设定阈值t0,t0为大于0小于1的小数,此哈希表默认搜索相似度高于此阈值的数,将读取的第二哈希签名更新进入局部敏感哈希表当中,将此哈希表存入内存中备用,完成指纹库的初始化。
96.需要说明的是,若想要达到最大的搜索范围,可以将t0设定为无限接近于0的小数。
97.可选的,在本技术实施例中,对文本的操作有很多方面,不限于本文涉及的分词、去停用词等操作,也可以是个性话的,例如:只取特殊词性的词,或者对于其他语言文字来说可能还存在词性恢复、单数复数恢复、时态恢复、语序恢复等处理,都可以认为是文本预处理的一个过程。
98.可选的,在本技术实施例中,选择多个词语合并作为minhash的一个更新元素,但实际使用当中可以根据使用的实际情况对此元素进行调整,将适合的内容(如单个单词)当作元素更新或者哈希签名。
99.可选的,在本技术实施例中,使用的是最小哈希,但其只是一种选择和定位的哈希
值的方法,同样的这种方法可以自己定义,比如取最大哈希,或者指定特定的哈希函数都包含在其中。
100.可选的,在本技术实施例中,文件指纹的是restful服务接口的形式提供的,其他方式提供指纹生成和测试的服务也属于本方法的一部分。
101.可选的,在本技术实施例中,结合了局部敏感哈希算法minhash和文件指纹生成方法winnowing的内核精神,在融合的情况下又对其做了创新和补充。在本技术实施例中,改进点在于改进了winnowing的选择元素的方法创新性的结合了独特的分词方法将粒度设置为分词后多个词合体的粒度,充分考虑到了文本的前后关系,解决了winnowing中元素重复导致的不准确的问题,经过分词后的滑动窗口给予了其更高的置信度,弥补了winnowing误报的问题。同时巧妙得结合了minhashlsh局部敏感哈希的特点,对比较数据进行了降维,减小了时间复杂度加快了计算的速度。与此也提供了一种相似度比较的方法。同时根据算法特点提供了重合度转换的函数,保证了显示重合度的准确性,达到了实时比较对外发送的文档数据与文档指纹库中的数据,并计算相似度值的目的,从而实现了识别多篇小段摘抄的情况,计算数据具体的摘抄部分与涉密文档的重合比例的技术效果,进而解决了现有技术中的文档检测处理方法无法识别出少量文档摘抄情况,且无法计算文档重合度的技术问题。
102.实施例2
103.根据本发明实施例,还提供了一种用于实施上述文档检测处理方法的装置实施例,图7是根据本发明实施例的一种文档检测处理装置的结构示意图,如图7所示,上述文档检测处理装置,包括:接收单元70、处理单元72、搜索单元74和计算单元76,其中:
104.接收单元70,用于接收客户端发送的文档检测请求,其中,上述文档检测请求中携带有待检测文档或者用于获取待检测文档的相关信息,上述文档检测请求用于请求服务端检测上述待检测文档中文档内容与样本文档的文档内容之间的重合度值;
105.处理单元72,用于对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;
106.搜索单元74,用于依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;
107.计算单元76,用于通过上述索引值定位至与上述第二哈希签名对应的样本文档,并通过计算上述第一哈希签名和上述第二哈希签名之间的相似度值,得到上述待检测文档和上述样本文档之间的重合度值。
108.需要说明的是,上述各个单元是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
109.此处需要说明的是,上述接收单元70、处理单元72、搜索单元74和计算单元76对应于实施例1中的步骤s102至步骤s108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
110.需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
111.上述的文档检测处理装置还可以包括处理器和存储器,上述接收单元70、处理单元72、搜索单元74和计算单元76等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
112.处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
113.根据本技术实施例,还提供了一种计算机可读存储介质的实施例。可选地,在本实施例中,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述任意一种文档检测处理方法。
114.可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述计算机可读存储介质包括存储的程序。
115.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:接收客户端发送的文档检测请求,其中,上述文档检测请求中携带有待检测文档或者用于获取待检测文档的相关信息,上述文档检测请求用于请求服务端检测上述待检测文档中文档内容与样本文档的文档内容之间的重合度值;对读取到的上述待检测文档中的文档内容进行文本处理和哈希表生成处理,得到第一哈希签名;依据上述第一哈希签名对预存的文档指纹库中的最小哈希签名列表进行搜索,得到与上述第一哈希签名存在重合元素的第二哈希签名的索引值;通过上述索引值定位至与上述第二哈希签名对应的样本文档,并通过计算上述第一哈希签名和上述第二哈希签名之间的相似度值,得到上述待检测文档和上述样本文档之间的重合度值。
116.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:将接收到的上述样本文档的文档内容处理为一个或多个第一单词字符块,其中,每个上述第一单词字符块包括:多个第一单词字符;在随机排列上述第一单词字符块中的多个第一单词字符后,采用预定位数的随机哈希函数分别处理多个上述第一单词字符获取哈希签名列表并更新至最小哈希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的第二哈希签名,其中,n为上述第一单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数;将上述样本文档的文件名称与上述第二哈希签名对应存储为上述文档指纹库。
117.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:对上述样本文档的文档内容进行预处理,得到第一文档元素列表;其中,上述预处理包括以下至少之一:分词、去停用词、去单字、恢复原词、恶意字符插入恢复;采用语言处理模型将上述第一文档元素列表划分为多个第一子元素列表;对多个上述第一子元素列表进行字符编码处理得到多个第一单词字符,并按照预定阈值对多个上述第一单词字符进行分组处理,得到多个第一单词字符块。
118.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:将上述待检测文档的文档内容处理为多个第二单词字符块,其中,每个第二单词字符块包括:多个第二单词字符;在随机排列上述第二单词字符块中的多个第二单词字符后,按照随机哈希
函数将多个上述第二单词字符的哈希值更新至最小哈希签名列表中,得到更新后最小哈希签名列表中预定位数的最小值,重复n遍直至得到更新后的预定位数的多个第一哈希签名,其中,n为上述第二单词字符的个数,上述预定位数为大于0的整数,代表使用随机哈希函数的个数。
119.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:对接收到的上述待检测文档的文档内容进行预处理,得到第二文档元素列表;其中,上述预处理包括以下至少之一:分词、去停用词、去单词、恢复原词;采用语言处理模型将上述第二文档元素列表划分为多个第二子元素列表;对多个上述第二子元素列表进行字符编码处理得到多个单词字符,并按照预定阈值对多个上述第二单词字符进行分组处理,得到多个第二单词字符块。
120.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:通过如下计算公式,计算得到上述待检测文档和上述样本文档之间的重合度值,以及查重度值:
121.上述重合度值s1=n1/(n1+n2)
×
sim;
122.上述查重度值s2=n2/(n1+n2)
×
sim;
123.其中,n1和n2分别为上述第一单词字符和上述第二单词字符的个数,上述sim为相似度值,上述重合度值用于表征上述待检测文档中重合内容占各个上述样本文档的比例,上述查重度值用于表征待检测文档之间的重合内容占整个上述待检测文档的比例。
124.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:初始化一个预定位数的最小哈希签名列表,其中,上述预定位数的值对应一个上述单词字符块中包含有多少个上述最小哈希签名;加载并读取预先确定的文档指纹库,得到上述文件名称与对应的上述最小哈希签名;为上述第二哈希签名设置唯一对应的上述索引值。
125.可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:初始化局部敏感哈希表,并设定上述局部敏感哈希表的搜索阈值t0,t0为大于0且小于1的小数,上述局部敏感哈希表默认用于搜索相似度值大于上述搜索阈值t0的数;将读取的上述第二哈希签名更新至上述局部敏感哈希表中,并将上述局部敏感哈希表存储至内存中备用。
126.根据本技术实施例,还提供了一种处理器的实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种文档检测处理方法。
127.根据本技术实施例,还提供了一种电子设备的实施例,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行上述任意一种的文档检测处理方法。
128.根据本技术实施例,还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有上述任意一种的文档检测处理方法步骤的程序。
129.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
130.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
131.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互
之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
132.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
133.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
134.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
135.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1