基于语义的文档指纹构建方法、存储介质和计算机设备
技术领域
本发明涉及计算机数据安全领域,尤其涉及文档指纹的获取方法,具体来说就是一种基于语义的文档指纹构建方法、存储介质和计算机设备。
背景技术
电子文档在办公、教学等工作中给人们带来方便的同时,也存在巨大的安全风险。电子文档的安全越来越被人们关注,日常工作及生活中有很多重要的电子文档需要保护,而电子文档的价值只有在使用过程中才会体现出来,在有效保护数据的前提下充分使用数据,成为人们的迫切需求。
文档指纹(Document Fingerprinting)亦称文件指纹,通过抽取文件的特征生成文档指纹,通过文档指纹能够完成对重要数据的保护。在现有文档指纹技术方案中,通常采用某种特征抽取方法,直接对电子文档进行特征抽取,然后对抽取的特征采用某种技术构建文档指纹。其中,常用的特征抽取方法包括基于滑动窗口的方法,基于中文分词权重度量的方法,基于二进制的方法。但是,现有文档指纹技术虽然能够对电子文档构建有效文档指纹,但并没有理解文档的语义。通常一份电子文档,可以通过不同的叙述方法,完成相同的语义内容,因此,现有文档指纹技术不能完成相似语义内容电子文档的安全防护。
因此,本领域技术人员亟需研发一种电子文档的指纹构建方法,能够有效安全地防护具有相似语义的电子文档。
发明内容
有鉴于此,本发明要解决的技术问题在于提供一种基于语义的文档指纹构建方法、存储介质和计算机设备,解决了现有文档指纹不能有效保护相似语义电子文档的问题。
为了解决上述技术问题,本发明的具体实施方式提供一种基于语义的文档指纹构建方法,包括:采集需要保护的文档数据;对所述文档数据进行语义分析获得多个有用词汇;根据所有所述有用词汇生成所述文档数据对应的语义指纹。
进一步地,基于语义的文档指纹构建方法还包括:根据多个所述文档数据的所述语义指纹生成语义指纹库。
进一步地,基于语义的文档指纹构建方法还包括:抽取待检文档数据的语义;将所述语义与所述语义指纹库中的所述语义指纹进行比对;根据比对结果处理所述待检文档数据。
其中,处理所述待检文档数据具体包括:对所述待检文档数据进行阻断、告诫或放行操作。
进一步地,对所述文档数据进行语义分析获得多个有用词汇的步骤具体包括:利用语义分析算法对所述文档数据进行语义分析获得多个词汇;度量所述词汇的重要度;根据所述重要度过滤掉多个所述词汇中的停用词汇获得多个所述有用词汇。
其中,所述语义分析算法包括:基于词典的双向匹配分词算法、基于HMM的词法分析方法和基于CRF的词法分析方法。
进一步地,根据所有所述有用词汇生成所述文档数据对应的语义指纹的步骤具体包括:根据所有所述有用词汇构建Term-Doc矩阵;利用矩阵奇异值分解算法分解所述Term-Doc矩阵得到左向量、右向量和特征矩阵;根据预设指纹大小对所述特征矩阵进行降维处理得到降维特征矩阵;根据所述左向量、所述降维特征矩阵和所述右向量获得所述Term-Doc矩阵的近似矩阵;根据所述近似矩阵生成所述文档数据对应的语义指纹。
进一步地,根据所述近似矩阵生成所述文档数据对应的语义指纹的步骤具体包括:将所述近似矩阵每行作为一个特征向量;根据所有所述特征向量直接拼接所述文档数据的语义指纹。
本发明的具体实施方式还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于语义的文档指纹构建方法的步骤。
本发明的具体实施方式还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现基于语义的文档指纹构建方法的步骤。
根据本发明的上述具体实施方式可知,基于语义的文档指纹构建方法、存储介质和计算机设备至少具有以下有益效果:对需要保护的文档进行语义分析,进而构建基于语义的文档指纹,利用文档指纹生成语义指纹库,安全有效地保护具有相似语义的电子文档,降低了电子文档数据泄露的风险,提升了电子文档数据泄露防护工作的效率。
应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本发明所欲主张的范围。
附图说明
下面的所附附图是本发明的说明书的一部分,其绘示了本发明的示例实施例,所附附图与说明书的描述一起用来说明本发明的原理。
图1为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图一;
图2为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图二;
图3为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图三;
图4为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图四。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本发明所揭示内容的精神,任何所属技术领域技术人员在了解本发明内容的实施例后,当可由本发明内容所教示的技术,加以改变及修饰,其并不脱离本发明内容的精神与范围。
本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
图1为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图一,如图1所示,收集需要保护的文档数据,并分析文档数据得到多个有用词汇,最后利用有用词汇生成文档数据的语义指纹。
该附图所示的具体实施方式中,基于语义的文档指纹构建方法包括:
S101:采集需要保护的文档数据。本发明的实施例中,文档数据包括文本文件、Word文件、PowerPoint文件、PDF文件等。文档数据的采集数量没有限制,具体采集数量由用户定义。
S102:对所述文档数据进行语义分析获得多个有用词汇。本发明的实施例中,对文档数据进行语义分析主要是对文档数据进行分词。语义分析算法包括基于词典的双向匹配分词算法、基于隐马尔科夫模型(HMM)的词法分析方法和基于条件随机场算法(CRF)的词法分析方法等。
S103:根据所有所述有用词汇生成所述文档数据对应的语义指纹。本发明的实施例中,语义指纹具体指基于语义的文档指纹。
参见图1,对需要保护的文档数据进行语义分析,进而构建基于语义的文档指纹,即语义指纹,可以安全有效地保护具有相似语义的电子文档数据,降低了电子文档数据泄露的风险,提升了电子文档数据泄露防护工作的效率。
图2为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图二,如图2所示,图2中的步骤S201与图1中的步骤S101相同,图2中的步骤S202与图1中的步骤S102相同,图2中的步骤S203与图1中的步骤S103相同,由多个文档数据的语义指纹组合成语义指纹库。
该附图所示的具体实施方式中,基于语义的文档指纹构建方法包括:
S201:采集需要保护的文档数据。
S202:对所述文档数据进行语义分析获得多个有用词汇。
S203:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
S204:根据多个所述文档数据的所述语义指纹生成语义指纹库。本发明的实施例中,语义指纹库由多个语义指纹组合而成。
参见图2,由多个文档数据的语义指纹生成语义指纹库,语义指纹库可以准确检测语义相似或近似的待检文档数据,完成相似文档数据的安全防护。
图3为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图三,如图3所示,图3中的步骤S301与图2中的步骤S201相同,图3中的步骤S302与图2中的步骤S202相同,图3中的步骤S303与图2中的步骤S203相同,图3中的步骤S304与图2中的步骤S204相同,利用语义指纹库中的语义指纹比对待检文档数据的语义,根据比对结果处理待检文档数据。
该附图所示的具体实施方式中,基于语义的文档指纹构建方法包括:
S301:采集需要保护的文档数据。
S302:对所述文档数据进行语义分析获得多个有用词汇。
S303:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
S304:根据多个所述文档数据的所述语义指纹生成语义指纹库。
S305:抽取待检文档数据的语义。本发明的实施例中,通常可以通过不同的叙述方法表达相同的语义,这些不同的叙述方法就是相似文档数据,例如“我先走了”与“我走了先”具有相同的语义内容。可以利用基于词典的双向匹配分词算法、基于HMM的词法分析方法和基于CRF的词法分析方法等方法抽取待检文档数据的语义。
S306:将所述语义与所述语义指纹库中的所述语义指纹进行比对。本发明的实施例中,比对包括词组的比对、短语的比对等;比对词组或短语的相似度。
S307:根据比对结果处理所述待检文档数据。本发明的实施例中,处理所述待检文档数据具体包括:对所述待检文档数据进行阻断、告诫或放行操作。
参见图3,通过比对待检文档数据的语义与语义指纹库中的语义指纹之间的相似度,对待检文档数据进行阻断、告诫或放行等操作,能够实现语义内容相似的文档数据的安全防护,可靠性高。
图4为本发明具体实施方式提供的一种基于语义的文档指纹构建方法的流程图四,如图4所示,图4中的步骤S401与图1中的步骤S101相同,图4中的步骤S402与图1中的步骤S102相同,图4中的步骤S403与图1中的步骤S103相同,通过度量文档数据解析得到的词汇的重要度筛选出有用词汇。
该附图所示的具体实施方式中,步骤S402具体包括:
S4021:利用语义分析算法对所述文档数据进行语义分析获得多个词汇。本发明的实施例中,所述语义分析算法包括:基于词典的双向匹配分词算法、基于HMM的词法分析方法和基于CRF的词法分析方法。
S4022:度量所述词汇的重要度。本发明的实施例中,词汇的重要度主要由词汇的词性、使用频率、对其它词汇的依赖关系等因素决定。
S4023:根据所述重要度过滤掉多个所述词汇中的停用词汇获得多个所述有用词汇。本发明的实施例中,停用词是指重要度很低的词汇,通常由用户预先设定阈值,词汇的重要度低于阈值,则该词汇为停用词汇。
参见图4,根据词汇的重要度过滤掉停用词,获得有用词汇,提升了文档数据泄露防护工作的效率,提高文档数据的安全防护力度。
本发明其它具体实施方式中,根据所有所述有用词汇生成所述文档数据对应的语义指纹的步骤,具体包括:根据所有所述有用词汇构建Term-Doc(词汇-文档)矩阵;利用矩阵奇异值分解算法(SVD)分解所述Term-Doc矩阵得到左向量、右向量和特征矩阵;根据预设指纹大小对所述特征矩阵进行降维处理得到降维特征矩阵;根据所述左向量、所述降维特征矩阵和所述右向量获得所述Term-Doc矩阵的近似矩阵;根据所述近似矩阵生成所述文档数据对应的语义指纹。进一步地,根据所述近似矩阵生成所述文档数据对应的语义指纹的步骤,具体包括:将所述近似矩阵每行作为一个特征向量;根据所有所述特征向量直接拼接所述文档数据的语义指纹。
本发明的具体实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S101:采集需要保护的文档数据。
S102:对所述文档数据进行语义分析获得多个有用词汇。
S103:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
本发明的具体实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S201:采集需要保护的文档数据。
S202:对所述文档数据进行语义分析获得多个有用词汇。
S203:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
S204:根据多个所述文档数据的所述语义指纹生成语义指纹库。
本发明的具体实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S301:采集需要保护的文档数据。
S302:对所述文档数据进行语义分析获得多个有用词汇。
S303:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
S304:根据多个所述文档数据的所述语义指纹生成语义指纹库。
S305:抽取待检文档数据的语义。
S306:将所述语义与所述语义指纹库中的所述语义指纹进行比对。
S307:根据比对结果处理所述待检文档数据。
本发明的具体实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S401:采集需要保护的文档数据。
S4021:利用语义分析算法对所述文档数据进行语义分析获得多个词汇。
S4022:度量所述词汇的重要度。
S4023:根据所述重要度过滤掉多个所述词汇中的停用词汇获得多个所述有用词汇。
S403:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
本发明的具体实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S101:采集需要保护的文档数据。
S102:对所述文档数据进行语义分析获得多个有用词汇。
S103:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
本发明的具体实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S201:采集需要保护的文档数据。
S202:对所述文档数据进行语义分析获得多个有用词汇。
S203:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
S204:根据多个所述文档数据的所述语义指纹生成语义指纹库。
本发明的具体实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S301:采集需要保护的文档数据。
S302:对所述文档数据进行语义分析获得多个有用词汇。
S303:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
S304:根据多个所述文档数据的所述语义指纹生成语义指纹库。
S305:抽取待检文档数据的语义。
S306:将所述语义与所述语义指纹库中的所述语义指纹进行比对。
S307:根据比对结果处理所述待检文档数据。
本发明的具体实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现基于语义的文档指纹构建方法的步骤。方法包括以下步骤:
S401:采集需要保护的文档数据。
S4021:利用语义分析算法对所述文档数据进行语义分析获得多个词汇。
S4022:度量所述词汇的重要度。
S4023:根据所述重要度过滤掉多个所述词汇中的停用词汇获得多个所述有用词汇。
S403:根据所有所述有用词汇生成所述文档数据对应的语义指纹。
本发明实施例提供一种基于语义的文档指纹构建方法、存储介质和计算机设备,对需要保护的文档进行语义分析,进而构建基于语义的文档指纹,利用文档指纹生成语义指纹库,安全有效地保护具有相似语义的电子文档,降低了电子文档数据泄露的风险,提升了电子文档数据泄露防护工作的效率。
上述的本发明实施例可在各种硬件、软件编码或两者组合中进行实施。例如,本发明的实施例也可为在数据信号处理器(Digital Signal Processor,DSP)中执行上述方法的程序代码。本发明也可涉及计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(Field Programmable Gate Array,FPGA)执行的多种功能。可根据本发明配置上述处理器执行特定任务,其通过执行定义了本发明揭示的特定方法的机器可读软件代码或固件代码来完成。可将软件代码或固件代码发展为不同的程序语言与不同的格式或形式。也可为不同的目标平台编译软件代码。然而,根据本发明执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。
以上所述仅为本发明示意性的具体实施方式,在不脱离本发明的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本发明保护的范围。