CN112329426A - 电子文件的页眉页脚识别方法、装置、设备和介质 - Google Patents
电子文件的页眉页脚识别方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN112329426A CN112329426A CN202011262354.5A CN202011262354A CN112329426A CN 112329426 A CN112329426 A CN 112329426A CN 202011262354 A CN202011262354 A CN 202011262354A CN 112329426 A CN112329426 A CN 112329426A
- Authority
- CN
- China
- Prior art keywords
- file
- character string
- page
- character
- residual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 83
- 238000003379 elimination reaction Methods 0.000 claims abstract description 25
- 230000008030 elimination Effects 0.000 claims abstract description 24
- 238000006243 chemical reaction Methods 0.000 claims description 117
- 238000013507 mapping Methods 0.000 claims description 56
- 238000012217 deletion Methods 0.000 claims description 43
- 230000037430 deletion Effects 0.000 claims description 43
- 238000003780 insertion Methods 0.000 claims description 43
- 230000037431 insertion Effects 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 22
- 230000009466 transformation Effects 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Abstract
本申请提供一种电子文件的页眉页脚识别方法、装置、设备和介质,通过获取待分析的两个文件,两个文件中的一个文件是基于两个文件中的另一个文件得到的;之后对文件集合中的每一文件中跨页的字符进行多次剔除处理,得到每一文件中跨页的每一剩余字符串;确定文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度;确定各相似度中的最大相似度,并确定每一文件中跨页中与最大相似度对应的剔除掉的字符,为每一文件中跨页的页眉页脚,重复上述步骤对每一跨页进行识别。通过上述方法,可以提高页眉页脚识别的速度,节省系统占用资源,提高识别的准确度。
Description
技术领域
本申请涉及电子文件处理技术,尤其涉及一种电子文件的页眉页脚识别方法、装置、设备和介质。
背景技术
目前,电子文件的应用已经非常广泛,常常需要对电子文件的文件内容进行分析,然而电子文件的页眉页脚的存在会影响文件分析结果,所以通常需要将电子文件中的页眉页脚进行识别再对电子文件的剩余部分进行分析。
现有技术中,在识别电子文件的页眉页脚时,由于页眉页脚的字符大小与电子文件中剩余字符之间的大小存在差异,因此可以根据文件中字符的最小外接矩形的大小对页眉页脚进行识别。
然而,当电子文件中页眉页脚字符与电子文件中剩余字符之间,大小等几何特征不明显时,就无法准确的识别出页眉页脚,进而现有技术中识别电子文件的页眉页脚的准确度较低。
发明内容
本申请提供一种电子文件的页眉页脚识别方法、装置、设备和介质,用以解决页眉页脚识别速度慢,耗时长,系统资源占用高的问题。
第一方面,本申请提供了一种电子文件的页眉页脚识别方法,所述方法包括:
获取待分析的文件集合,其中,所述文件集合中包括两个文件,所述两个文件中的一个文件是基于所述两个文件中的另一个文件得到的;
对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串,所述每一剩余字符串为跨页中的每一次剔除处理之后的剩余字符串;
确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度;
确定各所述相似度中的最大相似度,并确定所述每一文件中跨页中与所述最大相似度对应的剔除掉的字符,为所述每一文件中跨页的页眉页脚;
其中,所述每一文件中多个跨页各自的页眉页脚,构成了所述每一文件的页眉页脚信息。
在一种可能的设计中,在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,还包括:
取所述每一文件中跨页中的位于预设字符之前的多个字符、以及位于所述预设字符之后的多个字符,构成所述每一文件中跨页的待处理字符串,其中,所述预设字符为所述每一文件中跨页中的前一页的最后一个字符;
其中,进行所述剔除处理的字符,为所述每一文件中跨页的待处理字符串。
在一种可能的设计中,对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串,包括:
针对每一次剔除处理,将所述每一文件中跨页的待处理字符串中的预设行数的字符,进行剔除,得到所述每一文件中跨页的每一剩余字符串;
其中,所述预设行数为所述每一文件中跨页中前一页的最后i行、以及所述每一文件中跨页中后一页的前j行,其中,i、j均为大于等于0且小于等于M的整数,M为一预设的正整数。
在一种可能的设计中,在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,还包括:
剔除所述每一文件中跨页中的预设附加信息,其中,所述预设附加信息为当前跨页的前一跨页的页眉页脚。
在一种可能的设计中,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度,包括:
对所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,其中,所述映射组包括多个子字符串,每一所述子字符串具有变换状态,每一所述子字符串是经过每一所述变换处理后得到的,所述映射组中的相邻子字符串具有次序关系;
对所述映射组进行变换状态变换分析处理,得到编辑距离值,其中,所述编辑距离值表征所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的不相似程度;
根据所述编辑距离值,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
在一种可能的设计中,所述变换处理为以下的任意一种:
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同部分;
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的不同部分。
在一种可能的设计中,对所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,包括:
重复以下各个步骤,直至每一文件中跨页中没有剩余字符串:
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的前缀字符,则根据该相同的前缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的后缀字符,则根据该相同的后缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
去除所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同的前缀字符、以及相同的后缀字符,得到所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串;
若所述文件集合中一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中另一个文件中跨页的每一余下字符串,该子字符串为变换状态为插入状态;
若所述文件集合中另一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中一个文件中跨页的每一余下字符串,该子字符串为变换状态为删除状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对所述文件集合中一个文件中跨页的每一余下字符串进行拆分处理,得到所述文件集合中一个文件中跨页的每一余下字符串中的不同字符串、相同字符串,其中,该不同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所不同的字符,该相同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所相同的字符;确定该不同字符串和该相同字符串,均为所述映射组中的子字符串,其中,该不同字符串的变换关系为插入状态或删除状态,该相同字符串的变换关系为相同状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串不为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对每一文件中跨页的每一余下字符串进行所述拆分处理,得到每一文件中跨页的每一余下字符串中的差异字符串、同样字符串,其中,每一文件中跨页的差异字符串为一个文件与另一个文件所不同的字符串,每一文件中跨页的同样字符串为一个文件与另一个文件所相同的字符串;确定每一文件中跨页的同样字符串,为所述映射组中的子字符串,并将每一文件中跨页的差异字符串,作为每一文件中跨页的新的剩余字符串。
在一种可能的设计中,对所述映射组进行变换状态分析处理,得到编辑距离值,包括:
确定所述编辑距离值的初始值为预设值,遍历所述映射组中的子字符串,以得到最终的编辑距离值:
若当前子字符串的变换状态为相同状态,则确定所述编辑距离值不变;
若当前子字符串的变换状态为删除状态、且下一状态为插入状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为删除状态,则确定所述编辑距离值累加第一预设最大值;所述第一预设最大值为当前子字符串的长度、当前子字符串的下一状态对应的子字符串的长度,两者中的最大值;
若当前子字符串的变换状态为删除状态、且下一状态为删除状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为插入状态,则确定所述编辑距离值累加当前子字符串的长度。
在一种可能的设计中,根据所述编辑距离值,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度,包括:
根据所述编辑距离值和第二预设最大值,确定所述相似度;其中,所述第二预设最大值为所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者中的最大值。
在一种可能的设计中,所述每一文件中的字符具有索引。
在一种可能的设计中,所述每一文件中跨页的页眉页脚具有帧信息,其中,所述帧信息包括页脚的起始字符的索引、跨页中后一页的第一个字符的索引、页眉的终止字符的索引。
在一种可能的设计中,所述方法还包括:在所述每一文件的页面上建立预设坐标系,并确定所述每一文件中每一字符在所述预设坐标系上的坐标信息;
根据各字符的坐标信息,确定所述每一文件的页面的行信息。
在一种可能的设计中,所述坐标信息包括:字符的矩形框的信息;根据各字符的坐标信息,确定所述每一文件的页面的行信息,包括:
若确定不同字符的矩形框在所述预设坐标系的纵轴上的投影,具有重叠部分,则确定所述不同字符位于所述每一文件的页面的同一行,以得到所述每一文件的页面的行信息。
第二方面,本申请提供了一种基于电子文件的页眉页脚识别装置,所述装置,包括:
获取单元,获取待分析的文件集合,其中,所述文件集合中包括两个文件,所述两个文件中的一个文件是基于所述两个文件中的另一个文件得到的;
第一处理单元,对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串,所述每一剩余字符串为跨页中的每一次剔除处理之后的剩余字符串;
计算单元,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度;
第一确定单元,确定各所述相似度中的最大相似度,并确定所述每一文件中跨页中与所述最大相似度对应的剔除掉的字符,为所述每一文件中跨页的页眉页脚;
其中,所述每一文件中多个跨页各自的页眉页脚,构成了所述每一文件的页眉页脚信息。
在一种可能的设计中,所述装置,还包括:第二处理单元,用于所述第一处理单元在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,取所述每一文件中跨页中的位于预设字符之前的多个字符、以及位于所述预设字符之后的多个字符,构成所述每一文件中跨页的待处理字符串,其中,所述预设字符为所述每一文件中跨页中的前一页的最后一个字符;其中,进行所述剔除处理的字符,为所述每一文件中跨页的待处理字符串。
在一种可能的设计中,所述第一处理单元,具体用于:
针对每一次剔除处理,将所述每一文件中跨页的待处理字符串中的预设行数的字符,进行剔除,得到所述每一文件中跨页的每一剩余字符串;
其中,所述预设行数为所述每一文件中跨页中前一页的最后i行、以及所述每一文件中跨页中后一页的前j行,其中,i、j均为大于等于0且小于等于M的整数,M为一预设的正整数。
在一种可能的设计中,所述装置,还包括:
第三处理单元,用于所述第一处理单元在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,剔除所述每一文件中跨页中的预设附加信息,其中,所述预设附加信息为当前跨页的前一跨页的页眉页脚。
在一种可能的设计中,所述计算单元,包括:
变换模块,对所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,其中,所述映射组包括多个子字符串,每一所述子字符串具有变换状态,每一所述子字符串是经过每一所述变换处理后得到的,所述映射组中的相邻子字符串具有次序关系;
分析模块,对所述映射组进行变换状态变换分析处理,得到编辑距离值,其中,所述编辑距离值表征所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的不相似程度;
计算模块,根据所述编辑距离值,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
在一种可能的设计中,所述变换处理为以下的任意一种:
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同部分;
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的不同部分。
在一种可能的设计中,所述变换模块,具体用于;
重复以下各个步骤,直至每一文件中跨页中没有剩余字符串:
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的前缀字符,则根据该相同的前缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的后缀字符,则根据该相同的后缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
去除所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同的前缀字符、以及相同的后缀字符,得到所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串;
若所述文件集合中一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中另一个文件中跨页的每一余下字符串,该子字符串为变换状态为插入状态;
若所述文件集合中另一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中一个文件中跨页的每一余下字符串,该子字符串为变换状态为删除状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对所述文件集合中一个文件中跨页的每一余下字符串进行拆分处理,得到所述文件集合中一个文件中跨页的每一余下字符串中的不同字符串、相同字符串,其中,该不同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所不同的字符,该相同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所相同的字符;确定该不同字符串和该相同字符串,均为所述映射组中的子字符串,其中,该不同字符串的变换关系为插入状态或删除状态,该相同字符串的变换关系为相同状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串不为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对每一文件中跨页的每一余下字符串进行所述拆分处理,得到每一文件中跨页的每一余下字符串中的差异字符串、同样字符串,其中,每一文件中跨页的差异字符串为一个文件与另一个文件所不同的字符串,每一文件中跨页的同样字符串为一个文件与另一个文件所相同的字符串;确定每一文件中跨页的同样字符串,为所述映射组中的子字符串,并将每一文件中跨页的差异字符串,作为每一文件中跨页的新的剩余字符串。
在一种可能的设计中,所述分析模块,具体用于:
确定所述编辑距离值的初始值为预设值,遍历所述映射组中的子字符串,以得到最终的编辑距离值:
若当前子字符串的变换状态为相同状态,则确定所述编辑距离值不变;
若当前子字符串的变换状态为删除状态、且下一状态为插入状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为删除状态,则确定所述编辑距离值累加第一预设最大值;所述第一预设最大值为当前子字符串的长度、当前子字符串的下一状态对应的子字符串的长度,两者中的最大值;
若当前子字符串的变换状态为删除状态、且下一状态为删除状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为插入状态,则确定所述编辑距离值累加当前子字符串的长度。
在一种可能的设计中,所述计算模块,具体用于:根据所述编辑距离值和第二预设最大值,确定所述相似度;其中,所述第二预设最大值为所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者中的最大值。
在一种可能的设计中,所述每一文件中的字符具有索引。
在一种可能的设计中,所述每一文件中跨页的页眉页脚具有帧信息,其中,所述帧信息包括页脚的起始字符的索引、跨页中后一页的第一个字符的索引、页眉的终止字符的索引。
在一种可能的设计中,所述装置还包括:
定位单元,在所述每一文件的页面上建立预设坐标系,并确定所述每一文件中每一字符在所述预设坐标系上的坐标信息;
第二确定单元,根据各字符的坐标信息,确定所述每一文件的页面的行信息。
在一种可能的设计中,所述坐标信息包括:字符的矩形框的信息;所述第二确定单元,具体用于:
若确定不同字符的矩形框在所述预设坐标系的纵轴上的投影,具有重叠部分,则确定所述不同字符位于所述每一文件的页面的同一行,以得到所述每一文件的页面的行信息。
第三方面,本申请提供了一种电子设备,包括:处理器和存储器;
其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行时,使所述处理器执行如第一方面任一项所述的方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的方法。
本申请提供的电子文件的页眉页脚识别方法、装置、设备和介质,通过在两个文件的每一跨页处的字符进行多次剔除,并在每一次剔除之后计算一次两个文件中当前跨页字符剩余字符的相似度,选取相似度中最大的相似度所对应剔除的字符串作为当前跨页前后的页眉页脚,并对两个文件的每一跨页做相同的处理,已得到两个文件中的所有的页眉页脚。通过这一方法去识别页眉页脚,可以有效的提高页眉页脚识别的准确度,降低算法实现的时间复杂度,提高识别速度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种电子文件的页眉页脚识别方法的流程示意图;
图2为本申请实施例提供的另一种电子文件的页眉页脚识别方法的流程示意图;
图3为本申请实施例提供的一种基于电子文件的页眉页脚识别装置的结构示意图;
图4为本申请实施例提供的另一种基于电子文件的页眉页脚识别装置的结构示意图;
图5为本申请实施例中提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
目前,随着网络技术的发展,电子文件在人们的生活中的应用也越来越广泛。然而在电子文件的编辑过程中,难免会经过多次修改,或者是在电子文件的印刷排版过程中会对电子文件进行相应的修改。因此常常需要对修改前后电子文件的文件内容进行分析,但是电子文件的页眉页脚的存在会影响文件分析结果,所以通常需要将电子文件中的页眉页脚进行识别后再对电子文件的剩余部分进行分析。
一个示例中,可以通过模板法对页眉页脚对电子文件的页眉页脚进行识别。具体的,在比对系统中可以预先存储有待识别的电子文件的模板,或者在对文件进行识别前将模板加载到比对系统中,这样,可以通过将待识别的电子文件与其所对应的模板进行比对,从而识别出页眉页脚。然而通过这一方法进行页眉页脚的识别,需要预先得知电子文件的模板,并且还需要将模板加载或存储到比对系统中,额外占用系统资源。
一个示例中,可以通过页眉页脚的字符大小、位置等几何特征对电子文件页眉页脚进行识别。具体的,在对页眉页脚进行识别时,可以计算出每一字符最小外接矩形的面积及与页面边距之间的距离,通过所获取的面积及距离信息判断页眉页脚信息,然而如果待识别文件的页眉页脚字符的大小与距离等几何特征与待识别文件的正文之间无明显差异的话,所识别出的结果准确度较低。
一个示例中,可以通过机器学习的方法对电子文件的版面进行划分,然而机器学习算法本身的时间复杂度较高,随着电子文件页面的不断增多,时间消耗也会越来越多,当应用于印刷等场景中时,耗时过多会导致工作效率降低,且机器学习的方法需要大量的训练库,不利于单机实现。
一个示例中,可以通过加权算法对电子文件的页眉页脚进行识别,首先在页面中识别出字符的相关特征,例如文章字体字号、空间位置、语种属性、篇名特征等,对这些特征进行不同权重的组合形成判断函数,根据判断函数对文件内的页眉页脚进行判别,然而,通过在为各特征赋予权重时,通常会加入很多人为因素,识别的准确度很容易受到人为经验的影响。
本申请提供的电子文件的页眉页脚识别方法、装置、设备和介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种电子文件的页眉页脚识别方法的流程示意图。如图1所示,该方法包括:
101、获取待分析的文件集合,其中,文件集合中包括两个文件,两个文件中的一个文件是基于两个文件中的另一个文件得到的。
示例性地,本实施例的执行主体可以为终端设备、或者电子设备、或者基于电子文件的页眉页脚识别装置或设备、或者其他可以执行本实施例方案的装置或设备,对此不作限制。其中,本申请所涉及的“文件”也可以称为“电子文件”。
在对电子文件的页眉页脚进行识别时,首先需要选择两个文件,两个文件构成一个文件集合;其中,一个文件是基于两个文件中的另一个文件得到的,即,这两个文件中的字符具有一定的关联性、相似性(即,这两个文件中的内容具有一定的关联性、相似性)。一个示例中,一个文件可以是在另一个文件的基础上修改、删除或添加相应的字符之后得到的,或者也可以是在另一个文件的基础上重新排版、进行字体、段落等格式调整之后得到的。
102、对文件集合中的每一文件中跨页的字符进行多次剔除处理,得到每一文件中跨页的每一剩余字符串,每一剩余字符串为跨页中的每一次剔除处理之后的剩余字符串。
示例性地,在识别文件的页眉页脚信息时,是基于每一跨页前后的字符串进行比对识别的,其中,跨页指的是文件中的相邻两页。
首先,在一个文件中选取一个跨页前页的部分字符串与跨页后页的部分字符串组成字符串1;然后在字符串1中剔除部分子字符串,得到这一个文件的跨页的一个剩余字符串;在字符串1中,对字符串1进行多次剔除,进而得到这一个文件的跨页的多个剩余字符串。同样的,对字符串2也进行相同的操作,即,在另一个文件中选取一个跨页前页的部分字符串与跨页后页的部分字符串组成字符串2,然后在字符串2中剔除部分子字符串,得到另一个文件的跨页的一个剩余字符串;在字符串2中,对字符串2进行多次剔除,进而得到另一个文件的跨页的剩余字符串。
需要注意的是,可以针对每一个跨页均进行上述处理。
103、确定文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
示例性地,针对每一个跨页,在步骤102中每针对一个文件的跨页的字符串1、以及另一个文件的跨页的字符串2进行一次剔除处理,就需要计算一下字符串1的剩余字符串与字符串2的剩余字符串之间相似度,其中,该相似度也表征出一个文件的跨页与另一个文件的跨页的相似度。其中,每一次剔除处理,是在一个文件的跨页的字符串1、以及另一个文件的跨页的字符串2的基础上进行的字符剔除处理。
举例来说,文件集合包括文件A和文件B,文件A中包括页面a1、页面a2和页面a3,文件B包括页面b1、页面b2和页面b3。其中,文件A的页面a1和页面a2,为页面A的跨页;文件A的页面a2和页面a3,为页面A的另一个跨页;文件B的页面b1和页面b2,为页面B的跨页;文件B的页面b2和页面b3,为页面B的另一个跨页。
针对文件A的页面a1和页面a2构成的跨页,选取跨页中的一部分字符串,构成字符串1,针对字符串1进行字符剔除,得到剩余字符串11;同时,针对文件B的页面b1和页面b2构成的跨页,选取跨页中的一部分字符串,构成字符串2,针对字符串2进行字符剔除,得到剩余字符串21;然后,计算剩余字符串11与剩余字符串21之间的相似度。然后,针对字符串1再进行一次字符剔除,得到剩余字符串12;同时,针对字符串2再进行一次字符剔除,得到剩余字符串22;然后,计算剩余字符串12与剩余字符串22之间的相似度。以此类推,针对字符串1和字符串2进行每一次剔除处理之后,对各自的剩余字符串进行相似度计算。
其中,在对剩余字符串进行相似度进行计算时,可以采用两个剩余字符串之间的余弦相似度来表征字符串的相似程度;还可以采用其余常用的相似度的计算方法进行描述,例如编辑距离、汉明距离、Sorensen Dice相似度系数等常规算法进行计算。
104、确定各相似度中的最大相似度,并确定每一文件中跨页中与最大相似度对应的剔除掉的字符,为每一文件中跨页的页眉页脚;
其中,每一文件中多个跨页各自的页眉页脚,构成了每一文件的页眉页脚信息。
示例性地,通过步骤103得到了多个相似度,由于页眉页脚的存在会使得字符串的相似程度下降,因此计算得到的相似度中最大值所对应剔除掉的字符为当前跨页的页眉页脚。
针对一个文件的下一个跨页、另一个文件的下一个跨页,重复执行步骤102到104,进而得到每一文件的下一个跨页的页眉页脚。以此类推,针对每一个跨页,执行步骤102到104,进而对每一个跨页进行页眉页脚的识别,直到两个文件的文件末页。从而,将一个文件中多个跨页各自的页眉页脚,构成这一个文件的页眉页脚信息;同时,将另一个文件中多个跨页各自的页眉页脚,构成这另一个文件的页眉页脚信息。
本实施例中,首先获取待分析两个文件,两个文件中的一个文件是基于两个文件中的另一个文件得到的;对每一文件中跨页的字符进行多次剔除处理,得到每一文件中跨页的每一剩余字符串,每一剩余字符串为跨页中的每一次剔除处理之后的剩余字符串;之后计算一个文件中跨页的每一剩余字符串与另一个文件中跨页的每一剩余字符串之间的相似度;确定各相似度中的最大相似度,并确定与最大相似度对应的剔除掉的字符,为每一文件中跨页的页眉页脚;重复执行上述步骤,对每一文件中的剩余跨页各自的页眉页脚进行识别。通过上述方法进行页眉页脚识别,可以不必预先得知文件的模板,并且算法复杂程度远远低于机器学习算法的复杂程度,有效的降低了页眉页脚识别的时间。
图2为本申请实施例提供的另一种电子文件的页眉页脚识别方法的流程示意图。如图2所示,该方法包括:
201、获取待分析的文件集合,其中,文件集合中包括两个文件,两个文件中的一个文件是基于两个文件中的另一个文件得到的。
本步骤可以参见图1所示的步骤101,不再赘述。
202、在每一文件的页面上建立预设坐标系,并确定每一文件中每一字符在预设坐标系上的坐标信息。
示例性地,在两个文件的页眉上可以建立坐标系,并为根据字符与坐标系之间的距离确定字符的坐标信息。其中,坐标系的原点不做具体的限定,可以为页面中的任一位置,并且坐标系为直角坐标系;举例来说,坐标系的原点为文件的左上角,坐标系的X轴为文件的上边,坐标系的Y轴为文件的左边。
字符的坐标信息可以包括字符所在最小外接矩形的高度和宽度以及矩形中心点的坐标,或者包括最小外接矩形四个顶点的坐标,又或者包括最小外接矩形的高度和宽度和矩形上任一顶点的坐标;字符可以为当前页面中的汉字、数字、标点符号、英文等;文件类型可以为PDF文件或者Word文件等。
203、根据各字符的坐标信息,确定每一文件的页面的行信息。
一个示例中,每一文件中的字符具有索引。
示例性地,在获取每一字符的坐标信息之后,可以将字符按照顺序提取,并为每一字符赋予索引。具体的,可以将字符按照页面垂直方向的坐标进行从小到大的排序,之后在对字符按照页面水平方向的坐标进行排序,按照这样对字符排序提取。
一个示例中,坐标信息包括:字符的矩形框的信息。若确定不同字符的矩形框在预设坐标系的纵轴上的投影,具有重叠部分,则确定不同字符位于每一文件的页面的同一行,以得到每一文件的页面的行信息。
示例性地,通过步骤202可以获得各字符对应的矩形框信息,具体的可以包括矩形框左上角顶点的横纵坐标,以及矩形框的高度与宽度。根据矩形框的坐标信息去判断字符所处的行信息。可以将字符按照页面垂直方向的坐标进行从小到大的排序,之后在对字符按照页面水平方向的坐标进行排序,对字符有序化处理,之后选定一个字符,判断其余字符的矩形框与当前字符的矩形框在页面垂直方向坐标轴上的投影是否有重叠部分,具体的判断过程为首先依据各字符左上角顶点的垂直方向的坐标和矩形框高度计算出各字符的左下角坐标,判断当前字符的左上角顶点的垂直方向的坐标是否处于其余字符的左上角顶点的垂直方向的坐标和其余字符左下角的坐标之间,或者当前字符的左下角顶点的垂直方向的坐标是否处于其余字符的左上角顶点的垂直方向的坐标和其余字符左下角的坐标之间,若上述两种情况都不满足,则判断当前字符与所判断的字符不在同一行,否则处于同一行。依次判断每一文件中的所有字符,获取每一文件中的所有字符行分组信息,并记录每一行行首字符所对应的索引值与行尾字符所对应的索引值。
另一个示例中,可以根据各字符所对应矩形框的中心坐标进行判断各字符是否处于同一行。具体的,从步骤202中,也可以获取到每一字符所对应矩形框的中心点的坐标值,由于处于同一行字符的中心点垂直方向上的坐标差值处于一定的范围之内,所以可以预设一个范围值,对字符有序化处理后,依次判断当前字符与其余字符的中心点垂直方向上的坐标差值处于这一预设范围内的字符属于同一行的字符,差值大于这一预设范围的为不属于同一行,依次遍历每一文件中的所有字符,获取每一文件中的所有字符行分组信息,并记录每一行行首字符所对应的索引值与行尾字符所对应的索引值。
204、取每一文件中跨页中的位于预设字符之前的多个字符、以及位于预设字符之后的多个字符,构成每一文件中跨页的待处理字符串,其中,预设字符为每一文件中跨页中的前一页的最后一个字符;其中,进行剔除处理的字符,为每一文件中跨页的待处理字符串。
示例性地,在步骤203之后,首先,针对每一个跨页,在每一个文件中选取一个跨页中预设字符前的字符串与一个预设字符后的部分字符串,组成每一个文件的跨页的待处理字符串。
在选取待处理字符串时,可以按照如下的方式进行选择:对于一个文件,确定这一个文件的当前跨页中前一页的最后一个字符,在该字符前和该字符后选取相同长度的字符串,组成字符串1,该字符串1为当前这一个文件的待处理字符串,其中选取的字符串长度可以依据实际经验进行选定;并且针对另一个文件做相同的处理,即,确定对另一个文件的当前跨页中前一页的最后一个字符,在该字符前和该字符后选取相同长度的字符串,组成字符串2,该字符串2为当前这另一个文件的待处理字符串,其中选取的字符串长度可以依据实际经验进行选定。
205、剔除每一文件中跨页中的预设附加信息,其中,预设附加信息为当前跨页的前一跨页的页眉页脚。
示例性地,针对一个文件,在待处理字符串(即,步骤204中的字符串1)若包含当前跨页的前一跨页中已识别中的页眉页脚,则删除当前跨页的前一跨页的已识别出的页眉页脚,得到处理后的第一字符串(即,字符串11),若在当前跨页页眉页脚识别之前未对其余跨页的页眉页脚进行识别,则不需要执行本步骤中的剔除操作,并将字符串1的字符串内容赋给字符串11;同样的,针对另一个文件的字符串2中做同样处理,即,在待处理字符串(即,步骤204中的字符串2)中若包含当前跨页的前一跨页中已识别中的页眉页脚,则删除当前跨页的前一跨页的已识别出的页眉页脚,得到处理后的第二字符串(即,字符串21),若在当前跨页页眉页脚识别之前未对其余跨页的页眉页脚进行识别,则不需要执行本步骤中的剔除操作,直接将字符串2的字符串内容赋给字符串21。当每一文件中的每一字符存在索引时,删除字符串后,可以重新更新一次每一文件的索引值,并将更新后的索引与步骤203处得到的索引值对应起来,方便后续通过索引值查询页眉页脚信息。
206、针对每一次剔除处理,将每一文件中跨页的待处理字符串中的预设行数的字符,进行剔除,得到每一文件中跨页的每一剩余字符串;其中,预设行数为每一文件中跨页中前一页的最后i行、以及每一文件中跨页中后一页的前j行,其中,i、j均为大于等于0且小于等于M的整数,M为一预设的正整数。
示例性地,步骤205之后,即在得到字符串11与字符串21之后,将字符串11作为一个文件中跨页的待处理字符串,将字符串21作为另一文件中跨页的待处理字符串,再对这两个字符串进行预设行数的字符的剔除来得到每一文件中跨页的每一剩余字符串。具体的,初始化i和j均为0(其中,i和j的取值均为大于等于0且小于等于M的整数,M为一预设的正整数,M的取值可以根据实际情况具体指定),在一个文件的当前跨页处,即在字符串11中剔除当前跨页前一页的最后i行,以及当前跨页中后一页的前j行中的字符串得到一个剩余字符串111。在另一个文件的当前跨页处,即在字符串21中剔除当前跨页前一页的最后i行,以及当前跨页中后一页的前j行中的字符串得到一个剩余字符串211。对这两个剩余字符串111与剩余字符串211计算相似度,即依次执行步骤207至209计算一次相似度。接下来i和j的取值都在原有取值上加1,判断i,j的取值是否到达取值M或者剔除的字符串是否超出字符串11或字符串21的范围,若i,j的取值到达取值M或者剔除的字符串超出字符串11或字符串21的范围,则停止剔除,执行步骤210。若i,j的取值未达到取值M,且剔除的字符串未超出字符串11或字符串21的范围,则在字符串11中剔除当前跨页前一页的最后i行,以及当前跨页中后一页的前j行中的字符串得到一个剩余字符串。在另一个文件的当前跨页处,即在字符串21中剔除当前跨页前一页的最后i行,以及当前跨页中后一页的前j行中的字符串得到一个剩余字符串,计算相似度,以此类推对两个文件跨页的字符串11与字符串21进行多次剔除,计算多次相似度。
207、对文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,其中,映射组包括多个子字符串,每一子字符串具有变换状态,每一子字符串是经过每一变换处理后得到的,映射组中的相邻子字符串具有次序关系。
一个示例中,变换处理可以为从字符串从左到右的顺序,对比两个字符串。
示例性地,在将两个字符串做变换处理时,可以两个字符串从左到右的顺序进行比对,一边比对一边判断变换处理是应该删除相应字符串或者添加部分字符串。
一个示例中,变换处理为以下的任意一种:
截取文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串两者中的相同部分;
截取文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串两者中的不同部分。
示例性地,对于一个文件的剩余字符串111与另一个文件的剩余字符串211,从左到右依次对比,依次提取出其中的所有的相同的子字符串,在对剩余字符串111的剩余部分与剩余字符串211的剩余部分依次提取每一个子字符串从左到右进行变换比对,判断变换处理为添加或删除。
一个示例中,步骤207具体包括以下过程:
重复以下各个步骤,直至每一文件中跨页中没有剩余字符串:
若文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,存在相同的前缀字符,则根据该相同的前缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
若文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,存在相同的后缀字符,则根据该相同的后缀字符,得到一个子字符串,该子字符串的变换状态为相同状态。
去除文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串两者中的相同的前缀字符、以及相同的后缀字符,得到文件集合中一个文件中跨页的每一余下字符串、文件集合中另一个文件中跨页的每一余下字符串。
若文件集合中一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为文件集合中另一个文件中跨页的每一余下字符串,该子字符串为变换状态为插入状态。
若文件集合中另一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为文件集合中一个文件中跨页的每一余下字符串,该子字符串为变换状态为删除状态。
若文件集合中一个文件中跨页的每一余下字符串、文件集合中另一个文件中跨页的每一余下字符串均不为空、且文件集合中另一个文件中跨页的每一余下字符串为文件集合中一个文件中跨页的每一余下字符串的子集,则对文件集合中一个文件中跨页的每一余下字符串进行拆分处理,得到文件集合中一个文件中跨页的每一余下字符串中的不同字符串、相同字符串,其中,该不同字符串为与文件集合中另一个文件中跨页的每一余下字符串所不同的字符,该相同字符串为与文件集合中另一个文件中跨页的每一余下字符串所相同的字符;确定该不同字符串和该相同字符串,均为映射组中的子字符串,其中,该不同字符串的变换关系为插入状态或删除状态,该相同字符串的变换关系为相同状态。
若文件集合中一个文件中跨页的每一余下字符串、文件集合中另一个文件中跨页的每一余下字符串均不为空、且文件集合中另一个文件中跨页的每一余下字符串不为文件集合中一个文件中跨页的每一余下字符串的子集,则对每一文件中跨页的每一余下字符串进行拆分处理,得到每一文件中跨页的每一余下字符串中的差异字符串、同样字符串,其中,每一文件中跨页的差异字符串为一个文件与另一个文件所不同的字符串,每一文件中跨页的同样字符串为一个文件与另一个文件所相同的字符串;确定每一文件中跨页的同样字符串,为映射组中的子字符串,并将每一文件中跨页的差异字符串,作为每一文件中跨页的新的剩余字符串。
示例性地,在对上述步骤所得到的一个文件中跨页的每一剩余字符串与另一个文件中跨页的每一剩余字符串进行变换处理以得到二者的映射组时,可以通过基于快速前缀后缀匹配的算法进行变换匹配。
首先可以先去判断文件集合中一个文件中跨页的每一剩余字符串与文件集合中另一个文件中跨页的每一剩余字符串是否存在有相同前缀,若存在,则将相同的前缀字符串作为一个子字符串,该子字符串的变换状态为相同。
判断文件集合中一个文件中跨页的每一剩余字符串与文件集合中另一个文件中跨页的每一剩余字符串是否存在有相同后缀,若存在,则将相同的后缀字符串作为一个子字符串,该子字符串的变换状态为相同。
在文件集合中一个文件中跨页的每一剩余字符串中去除相同的前缀字符串与相同的后缀字符串,得到一个文件中跨页的多个余下的字符串;在文件集合中另一个文件中跨页的每一剩余字符串去除相同的前缀字符串与相同的后缀字符串,得到另一个文件中跨页的多个余下的字符串。
对一个文件中跨页的每一余下字符串与另一个文件中跨页的每一余下字符串均进行以下判断(令字符串111’代表一个文件中跨页的一个余下字符串,字符串211’代表另一个文件中跨页的一个余下字符串):
若字符串111’与字符串211’中存在空字符串,则得到一个子字符串,该子字符串为字符串111’与字符串211’中的非空字符串,并且判断该子字符串的变换状态为删除或者插入,将得到的变换状态与该子字符串对应存储到映射组中,判断该子字符串状态时具体的需要根据当前是由字符串111’变换到字符串211’,或是字符串211’变换到字符串111’确定。若字符串111’为空,且当前需要将字符串111’变换到字符串211’,此时字符串211’为得到的子字符串,该子字符串的变换关系为插入;若字符串111’为空,且当前需要将字符串211’变换到字符串111’,则此时字符串211’为得到的子字符串,该字符串对应的变换关系为删除。
若字符串111’与字符串211’中均不为空,且字符串111’是字符串211’中的一个子字符串或者字符串211’是字符串111’的一个子字符串,则需要对字符串进行拆分。例如,当字符串111’是字符串211’中的一个子字符串,将字符串211’拆分为三个子字符串,分别为字符串s21、字符串s22、字符串s23,其中字符串s21、字符串s22、字符串s23顺序拼接后可以到字符串211’,字符串s22与字符串111’相同且字符串s22为余下字符串211’与余下字符串111’中的相同字符串,字符串s21与字符串s23为余下字符串211’与余下字符串111’中的不同字符串;此时将字符串s21、字符串s22、字符串s23这三个子字符串分别存储到映射组中,并将这三个子字符串的变换状态对应存储值各自的映射中,其中,字符串s22的变换状态为相同,字符串s21、字符串s23的变换状态为插入或删除状态,具体的需要根据当前是由字符串111’变换到字符串211’,或是字符串211’变换到字符串111’确定。若此时需要将字符串111’转换为字符串211’,则此时字符串s21与字符串s23的变换关系均为插入,若需要将字符串211’转换为字符串111’,则此时字符串s21与字符串s23的变换关系均为删除。
若字符串111’与字符串211’中均不为空,并且字符串111’与字符串211’两个字符串之间不存在子集的关系,则依据半匹配算法,对每一文件的余下字符串进行拆分处理,即拆分字符串111’与字符串211’。字符串111’拆分为字符串s11、字符串sc、字符串s13,字符串111’可由字符串s11、字符串sc、字符串s13顺序拼接得到,字符串211’拆分为字符串s21、字符串sc、字符串s23,字符串211’可由字符串s21、字符串sc、字符串s23顺序拼接得到,其中字符串sc为字符串111’与字符串211’中相同的字符串,即字符串sc为两个文件跨页中同样的字符串,字符串s11、字符串s13为字符串111’中与字符串211’不同的字符串,字符串s21、字符串s23为字符串211’中与字符串111’不同的字符串,即将字符串s11、字符串s13当作一个文件中的差异字符串,字符串s21、字符串s23为另一文件中的差异字符串;之后,将字符串s11与字符串s21当作每一文件的新的剩余字符串,继续判断每一文件的新的字符串之间是否存在相同前缀或相同的后缀,对相同的前缀、相同的后缀进行剔除、判断是否为空、进行拆分等,即重复执行本示例中的步骤;同样的,将字符串s13与字符串s23当作每一文件的新的剩余字符串,继续判断字符串s13与字符串s23之间的变换关系,重复执行本示例中的步骤,即判断字符串s13与字符串s23是否有相同的前缀、相同的后缀、对相同的前缀与相同的后缀进行剔除、判断是否为空、拆分处理等步骤。直到字符串中没有新的剩余字符串,得到映射组。
具体的在半匹配算法中,步骤1:可以令字符串sL为字符串111’与字符串211’中较长的那个字符串,字符串sS为字符串111’与字符串211’中较短的字符串,取字符串sL中间位置到3/4位置的子字符串str,并找寻该字符串str在字符串sS中的位置i,若字符串str不为字符串sS的子字符串,则字符串sc返回为空,字符串sLl和字符串sLr,字符串sSl和字符串sSL平分字符串sL和字符串sS。即sL=sLI+sLr,sS=sSl+sSr,其中“+”代表连接,执行步骤4;否则初始化计数器j,执行步骤2,其中i,j均为大于等于0的整数。
步骤2、计数器j从0开始,一直到i进行循环,在循环操作中,字符串sL平分成字符串sHl和字符串sHr,字符串sS以j为分割点分割成字符串sJl,字符串sJr。然后分别得到字符串sHl和字符串sJl最长公共后缀和字符串sHr和字符串sJr最长公共前缀,并将该公共前缀和公共后缀合并成公共子字符串scj,然后找到0到j中最大的字符串scj为字符串sc,将剩下部分按照如下等式进行输出:sL=sLl+sc+sLr、sS=sSl+sc+sSr。
步骤3、若字符串sc长度小于字符串sL的一半,则该字符串sc结果无效,直接返回划分步骤1中平分的结果,字符串sc为空集;否则跳到步骤4。
步骤4、将上述得到结果进行整合,若字符串111’长度大于字符串211’,则满足:s11=sLl,s13=sLr,s21=sSl,s23=sSr;即将得到的字符串sLl当作字符串s11,其余等式含义类似。
若字符串111’长度小于字符串211’,则s11=sSl,s13=sSr,s21=sLl,s23=sLr。
其中,针对每一给出的字符串的后面的标号,为针对字符串的标号,而不是限定字符串的字符内容。
208、对映射组进行变换状态变换分析处理,得到编辑距离值,其中,编辑距离值表征文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者之间的不相似程度。
一个示例中,可以将映射组中的变换状态进行分析,具体的将变换状态为插入和删除的所对应的字符串的长度全部累加起来作为编辑距离,来描述字符串111与字符串211之间的不相似程度。
一个示例中,步骤208的具体步骤为:确定编辑距离值的初始值为预设值,遍历映射组中的子字符串,以得到最终的编辑距离值。
若当前子字符串的变换状态为相同状态,则确定编辑距离值不变。
若当前子字符串的变换状态为删除状态、且下一状态为插入状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为删除状态,则确定编辑距离值累加第一预设最大值;第一预设最大值为当前子字符串的长度、当前子字符串的下一状态对应的子字符串的长度,两者中的最大值。
若当前子字符串的变换状态为删除状态、且下一状态为删除状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为插入状态,则确定编辑距离值累加当前子字符串的长度。
示例性地,将编辑距离add初始值设置为预设值,遍历映射组中所包含的各个子字符串得到编辑距离,编辑距离add的计算方法可以按照如下的步骤进行计算。
首先在映射组中提取一个子字符串,判断这一子字符串的变换关系是否为相同状态,若为相同状态,则保持编辑距离add不变,继续去找下一个子字符串,继续计算编辑距离add。
若当前子字符串的变换关系为删除状态,则去提取下一子字符串若下一子字符串的变换状态为插入状态,则当前的编辑距离add需要累加上当前子字符串S1的长度与下一子字符串S2的长度中的最大值,即add=add+max(length(S1),length(S2)),其中length(S1)表征计算字符串S1的长度,max表征取最大值的函数。继续去在映射组中找下一子字符串的后一个子字符串,继续计算编辑距离add。
同样的,若当前子字符串的变换关系为插入状态,则去提取下一子字符串,若下一子字符串的变换状态为删除状态,则当前的编辑距离add需要累加上当前子字符串S1的长度与下一子字符串S2的长度中的最大值。继续去在映射组中找下一子字符串的后一个子字符串,继续计算编辑距离add。
若不满足上述几种情况,即可能是当前子字符串的变换状态为插入状态,下一变换状态为插入状态或相同状态,又或者当前变换状态为删除状态,下一变换状态为删除状态或相同状态,则编辑距离add需要累加当前变换状态对应的子字符串S1的长度,即add=add+length(S1)。继续去找下一个子字符串,计算编辑距离add。
重复上述计算步骤,直到映射组中的子字符串判断结束,得到最终的编辑距离add。
其中,针对每一给出的字符串的后面的标号,为针对字符串的标号,而不是限定字符串的字符内容。
209、根据编辑距离值,确定文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
一个示例中,由于编辑距离越小,字符串的相似程度越大,因此也可以将编辑距离的倒数作为字符串之间的相似度。
一个示例中,根据编辑距离值和第二预设最大值,确定相似度;其中,第二预设最大值为文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者中的最大值。
示例性地,确定一个文件中跨页的剩余字符串的长度与另一个文件中跨页的剩余字符串的长度,取两个长度中的最大值作为第二预设最大值,将编辑距离除以第二预设最大值之间,得到中间值,将一个预设值减去这一中间值所得到的数值可以表征一个文件中跨页的剩余字符串与另一个文件中跨页的剩余字符串之间的相似度。
210、确定各相似度中的最大相似度,并确定每一文件中跨页中与最大相似度对应的剔除掉的字符,为每一文件中跨页的页眉页脚。
其中,每一文件中多个跨页各自的页眉页脚,构成了每一文件的页眉页脚信息。
示例性地,通过步骤209,可以得到当前跨页处计算得到的多个相似度,由于页眉页脚的存在会降低字符串之间的相似程度,所以相似程度最大时所对应剔除掉的字符串为当前跨页的页眉页脚,逐一识别文件的剩余跨页,直到每一文件的末尾,得到每一文件的所有的页眉页脚信息。
一个示例中,每一文件中跨页的页眉页脚具有帧信息,其中,帧信息包括页脚的起始字符的索引、跨页中后一页的第一个字符的索引、页眉的终止字符的索引。
示例性地,在计算每一跨页的多个相似度时,可以将相似度与当前剔除字符串的起始字符的索引,跨页后一页的第一个字符的索引以及当前剔除字符串的终止字符的索引对应存储起来,经过多个相似度比对后,选取其中的最大值,则相似度中最大值所对应的字符串的三个索引值即为这一文件当前跨页的页脚的起始字符的索引、跨页中后一页的第一个字符的索引、页眉的终止字符的索引。将这一文件的这三个索引值与另一文件经过相同处理得到的三个索引值存到同一帧信息中,则可以通过这一帧信息找出两个文件的所识别跨页处的页眉页脚。页脚的起始字符的索引与跨页中后一页的第一个字符的索引之间的字符串为当前跨页的前一页的页脚,而跨页中后一页的第一个字符的索引与页眉的终止字符的索引之间的字符串为当前跨页后一页的页脚的所对应的字符串。当没有页眉信息时,即最大相似度所对应的剔除掉的字符串中未包含跨页前页的字符串,此时令跨页中后一页的第一个字符的索引与页眉的终止字符的索引差值为1;当没有页脚信息时,即最大相似度所对应的剔除掉的字符串中未包含跨页后页的字符串,此时令跨页中后一页的第一个字符的索引与页脚的起始字符的索引相等。
举例来说,表1为针对于一个文件某一跨页与另一个文件某一跨页识别出的帧信息。如表1所示,第一列为当前输出帧信息中索引的序号,表征帧信息中的索引个数。而第二列为帧信息中的索引值。序号[0]所对应的代表一个文件中当前跨页的页脚的起始字符的索引,序号[1]所对应的444代表一个文件中当前跨页后一页的第一个字符的索引,即可以得到索引442与索引443所对应的字符串为一个文件中当前跨页前一页的页脚,索引443为索引444的前一索引。序号[2]所对应的449代表一个文件中当前跨页的页眉的终止字符的索引,即索引444至索引449之间的索引所对应的字符串为一个文件中当前跨页后一页的页眉。
序号[3]所对应的444代表另一个文件中当前跨页的页脚的起始字符的索引,序号[4]所对应的446代表另一个文件中当前跨页后一页的第一个字符的索引,即可以得到索引444与索引445所对应的字符串为另一个文件中当前跨页前一页的页脚,索引445为索引446的前一索引。序号[5]所对应的451代表另一个文件中当前跨页的页眉的终止字符的索引,即索引446至索引451之间的索引所对应的字符串为另一个文件中当前跨页后一页的页眉。
表1跨页识别的帧信息
[0] | 442 |
[1] | 444 |
[2] | 449 |
[3] | 444 |
[4] | 446 |
[5] | 451 |
举例来说,表2为文件集合的一个文件的页眉页脚信息,表3为文件集合的另一个文件的页眉页脚信息。如表2所示,针对于文件集合的一个文件,第一列是每一跨页的页眉页脚的索引,第二列是每一跨页的页眉或页脚。例如,表2中,[442]为一个跨页中前一页的页脚中第一个字符的索引,[443]为一个跨页中前一页的页脚中第二个字符的索引;与[442]所对应的字符2代表一个跨页中前一页的页脚的第一个字符;与[443]所对应的字符6代表一个跨页中前一页的页脚的第二个字符;[444]为一个跨页中后一页的页眉中第一个字符的索引,[449]为一个跨页中后一页的页眉中最后一个字符的索引,与[444]所对应的字符“主”代表一个跨页中后一页的页眉的第一个字符、与[449]动所对应的字符“法”代表一个跨页中后一页的页眉的最后一个字符。
表2文件集合的一个文件的页眉页脚信息
[442] | 2 |
[443] | 6 |
[444] | 主 |
[445] | 动 |
[446] | 降 |
[447] | 噪 |
[448] | 算 |
[449] | 法 |
如表3所示,针对于文件集合的另一个文件,第一列是每一跨页的页眉页脚的索引,第二列是每一跨页的页眉或页脚。例如,表3中,[444]为一个跨页中前一页的页脚中第一个字符的索引,[445]为一个跨页中前一页的页脚中第二个字符的索引;与[444]所对应的字符2代表一个跨页中前一页的页脚的第一个字符;与[445]所对应的字符6代表一个跨页中前一页的页脚的第二个字符;[446]为一个跨页中后一页的页眉中第一个字符的索引,[451]为一个跨页中后一页的页眉中最后一个字符的索引,与[446]所对应的字符“主”代表一个跨页中后一页的页眉的第一个字符、与[451]动所对应的字符“法”代表一个跨页中后一页的页眉的第二个字符。
表3文件集合的一个文件的页眉页脚信息
[444] | 2 |
[445] | 6 |
[446] | 主 |
[447] | 动 |
[448] | 降 |
[449] | 噪 |
[450] | 算 |
[451] | 法 |
举例来说,使用动态规划算法识别页眉页脚与使用本申请实施例提供的方式识别页眉页脚,识别速度如下比较。
在对某一文件集合的一个文件中的某一个跨页与另一个文件中的某一跨页进行页眉页脚识别时,采用动态规划算法识别页眉页脚所消耗的时间大约为本申请所提供算法消耗时间的130倍,本申请的算法大大提升了识别速度,并且处理时间控制在秒级。
在对某一文件集合中的一个文件中所有跨页与另一个文件中所有跨页进行页眉页脚识别时,采用动态规划算法识别页眉页脚所消耗的时间大约为本申请所提供算法消耗时间的130倍,本算法降低了页眉页脚的识别时间。
在对某一字符长度小于5000的字符串与另一字符长度小于5000的字符串这两个字符串计算编辑距离时,采用动态规划算法耗时几百毫秒,而本申请算法耗时几毫秒,动态规划算法耗时大约为本申请算法耗时的110倍,本算法提高了两个字符串间编辑距离的计算时间。
本实施例中,首先在文件中提取出文件的文本行信息,在后续字符串的剔除过程中可以按行在跨页选取的字符串中进行剔除操作。由于页眉页脚占据有行特性,即一行中不可能既包含页眉或页脚,又包含文本的正文内容,因此以行为单位选取需要剔除的字符串相比于随机选取一定长度的字符串去剔除提高了页眉页脚识别的速度。此外,在计算字符串之间的编辑距离时,本方案采用的基于快速前缀后缀匹配的算法去进行计算,相比于采用常规的动态规划算法,基于快速前缀后缀匹配的算法计算速度更快,耗时更短。并且,在对当前跨页周围选取的字符串进行剔除计算相似度之前,在当前跨页周围选取的字符串剔除掉上一跨页识别出来的页眉页脚的字符串,排除上一跨页处页眉页脚对相似度计算的影响结果,即这一方法采用了贪心算法的思想,每一次跨页去识别页眉页脚都是在上一次识别后最优结果下去进行当前次的页眉页脚识别,提高了页眉页脚识别的准确性以及准确度。并且,由于在每次计算字符串相似度的过程中,所处理的字符串长度都有一定的上限值,即不会超过在当前跨页附近所提取的字符串的长度,因此每一跨页识别页眉页脚的时间不会随着文档页数的增加而变长。文件总的页眉页脚时间随着文件的页数成线性增长,对于页数较多的文件也可以快速的识别出页眉和页脚。再者,此方法单机即可实现,即可以通过一些处理器(Advanced RISC Machines,简称ARM)、现场可编程逻辑门阵列(FieldProgrammable Gate Array,简称FPGA)、单片机、数字信号处理(Digital Signal Process,简称DSP)芯片等就可以实现文件页眉页脚的识别,当应用于比对系统时,不需要额外的添加硬件设备,容易实现。
图3为本申请实施例提供的一种基于电子文件的页眉页脚识别装置的结构示意图。如图3所示,该装置包括:
获取单元31,获取待分析的文件集合,其中,文件集合中包括两个文件,两个文件中的一个文件是基于两个文件中的另一个文件得到的。
第一处理单元32,对文件集合中的每一文件中跨页的字符进行多次剔除处理,得到每一文件中跨页的每一剩余字符串,每一剩余字符串为跨页中的每一次剔除处理之后的剩余字符串。
计算单元33,确定文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
第一确定单元34,确定各相似度中的最大相似度,并确定每一文件中跨页中与最大相似度对应的剔除掉的字符,为每一文件中跨页的页眉页脚;
其中,每一文件中多个跨页各自的页眉页脚,构成了每一文件的页眉页脚信息。
本实施例提供的装置,用于实现上述方法提供的技术方案,其实现原理和技术效果类似,不再赘述。
图4为本申请实施例提供的另一种基于电子文件的页眉页脚识别装置的结构示意图。在图3的基础上,如图4所示,本实施例提供的装置,还包括:
第二处理单元35,用于第一处理单元32在对文件集合中的每一文件中跨页的字符进行多次剔除处理,得到每一文件中跨页的每一剩余字符串之前,取每一文件中跨页中的位于预设字符之前的多个字符、以及位于预设字符之后的多个字符,构成每一文件中跨页的待处理字符串,其中,预设字符为每一文件中跨页中的前一页的最后一个字符;其中,进行剔除处理的字符,为每一文件中跨页的待处理字符串。
一个示例中,第一处理单元32,具体用于:
针对每一次剔除处理,将每一文件中跨页的待处理字符串中的预设行数的字符,进行剔除,得到每一文件中跨页的每一剩余字符串;
其中,预设行数为每一文件中跨页中前一页的最后i行、以及每一文件中跨页中后一页的前j行,其中,i、j均为大于等于并且0且小于等于M的整数,M为一预设的正整数。
一个示例中,该装置,还包括:
第三处理单元36,用于第一处理单元32在对文件集合中的每一文件中跨页的字符进行多次剔除处理,得到每一文件中跨页的每一剩余字符串之前,剔除每一文件中跨页中的预设附加信息,其中,预设附加信息为当前跨页的前一跨页的页眉页脚。
一个示例中,计算单元33,包括:
变换模块331,对文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,其中,映射组包括多个子字符串,每一子字符串具有变换状态,每一子字符串是经过每一变换处理后得到的,映射组中的相邻子字符串具有次序关系;
分析模块332,对映射组进行变换状态变换分析处理,得到编辑距离值,其中,编辑距离值表征文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者之间的不相似程度;
计算模块333,根据编辑距离值,确定文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
一个示例中,变换处理为以下的任意一种:
截取文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串两者中的相同部分;
截取文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串两者中的不同部分。
一个示例中,变换模块331,具体用于;
重复以下各个步骤,直至每一文件中跨页中没有剩余字符串:
若文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,存在相同的前缀字符,则根据该相同的前缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
若文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,存在相同的后缀字符,则根据该相同的后缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
去除文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串两者中的相同的前缀字符、以及相同的后缀字符,得到文件集合中一个文件中跨页的每一余下字符串、文件集合中另一个文件中跨页的每一余下字符串;
若文件集合中一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为文件集合中另一个文件中跨页的每一余下字符串,该子字符串为变换状态为插入状态;
若文件集合中另一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为文件集合中一个文件中跨页的每一余下字符串,该子字符串为变换状态为删除状态;
若文件集合中一个文件中跨页的每一余下字符串、文件集合中另一个文件中跨页的每一余下字符串均不为空、且文件集合中另一个文件中跨页的每一余下字符串为文件集合中一个文件中跨页的每一余下字符串的子集,则对文件集合中一个文件中跨页的每一余下字符串进行拆分处理,得到文件集合中一个文件中跨页的每一余下字符串中的不同字符串、相同字符串,其中,该不同字符串为与文件集合中另一个文件中跨页的每一余下字符串所不同的字符,该相同字符串为与文件集合中另一个文件中跨页的每一余下字符串所相同的字符;确定该不同字符串和该相同字符串,均为映射组中的子字符串,其中,该不同字符串的变换关系为插入状态或删除状态,该相同字符串的变换关系为相同状态;
若文件集合中一个文件中跨页的每一余下字符串、文件集合中另一个文件中跨页的每一余下字符串均不为空、且文件集合中另一个文件中跨页的每一余下字符串不为文件集合中一个文件中跨页的每一余下字符串的子集,则对每一文件中跨页的每一余下字符串进行拆分处理,得到每一文件中跨页的每一余下字符串中的差异字符串、同样字符串,其中,每一文件中跨页的差异字符串为一个文件与另一个文件所不同的字符串,每一文件中跨页的同样字符串为一个文件与另一个文件所相同的字符串;确定每一文件中跨页的同样字符串,为映射组中的子字符串,并将每一文件中跨页的差异字符串,作为每一文件中跨页的新的剩余字符串。
一个示例中,分析模块332,具体用于:
确定编辑距离值的初始值为预设值,遍历映射组中的子字符串,以得到最终的编辑距离值:
若当前子字符串的变换状态为相同状态,则确定编辑距离值不变。
若当前子字符串的变换状态为删除状态、且下一状态为插入状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为删除状态,则确定编辑距离值累加第一预设最大值;第一预设最大值为当前子字符串的长度、当前子字符串的下一状态对应的子字符串的长度,两者中的最大值。
若当前子字符串的变换状态为删除状态、且下一状态为删除状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为插入状态,则确定编辑距离值累加当前子字符串的长度。
一个示例中,计算模块333,具体用于:根据编辑距离值和第二预设最大值,确定相似度;其中,第二预设最大值为文件集合中一个文件中跨页的每一剩余字符串、文件集合中另一个文件中跨页的每一剩余字符串,两者中的最大值。
一个示例中,每一文件中的字符具有索引。
一个示例中,每一文件中跨页的页眉页脚具有帧信息,其中,帧信息包括页脚的起始字符的索引、跨页中后一页的第一个字符的索引、页眉的终止字符的索引。
一个示例中,装置还包括:
定位单元37,在每一文件的页面上建立预设坐标系,并确定每一文件中每一字符在预设坐标系上的坐标信息;
第二确定单元38,根据各字符的坐标信息,确定每一文件的页面的行信息。
一个示例中,坐标信息包括:字符的矩形框的信息;第二确定单元38,具体用于:
若确定不同字符的矩形框在预设坐标系的纵轴上的投影,具有重叠部分,则确定不同字符位于每一文件的页面的同一行,以得到每一文件的页面的行信息。
本实施例提供的装置,用于实现上述方法提供的技术方案,其实现原理和技术效果类似,不再赘述。
图5为本申请实施例中提供的一种电子设备的结构示意图,如图5所示,该电子设备包括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器294中的逻辑指令,以执行上述实施例的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述实施例提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (28)
1.一种基于电子文件的页眉页脚识别方法,其特征在于,所述方法包括:
获取待分析的文件集合,其中,所述文件集合中包括两个文件,所述两个文件中的一个文件是基于所述两个文件中的另一个文件得到的;
对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串,所述每一剩余字符串为跨页中的每一次剔除处理之后的剩余字符串;
确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度;
确定各所述相似度中的最大相似度,并确定所述每一文件中跨页中与所述最大相似度对应的剔除掉的字符,为所述每一文件中跨页的页眉页脚;
其中,所述每一文件中多个跨页各自的页眉页脚,构成了所述每一文件的页眉页脚信息。
2.根据权利要求1所述的方法,其特征在于,在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,还包括:
取所述每一文件中跨页中的位于预设字符之前的多个字符、以及位于所述预设字符之后的多个字符,构成所述每一文件中跨页的待处理字符串,其中,所述预设字符为所述每一文件中跨页中的前一页的最后一个字符;
其中,进行所述剔除处理的字符,为所述每一文件中跨页的待处理字符串。
3.根据权利要求2所述的方法,其特征在于,对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串,包括:
针对每一次剔除处理,将所述每一文件中跨页的待处理字符串中的预设行数的字符,进行剔除,得到所述每一文件中跨页的每一剩余字符串;
其中,所述预设行数为所述每一文件中跨页中前一页的最后i行、以及所述每一文件中跨页中后一页的前j行,其中,i、j均为大于等于0且小于等于M的整数,M为一预设的正整数。
4.根据权利要求1所述的方法,其特征在于,在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,还包括:
剔除所述每一文件中跨页中的预设附加信息,其中,所述预设附加信息为当前跨页的前一跨页的页眉页脚。
5.根据权利要求1所述的方法,其特征在于,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度,包括:
对所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,其中,所述映射组包括多个子字符串,每一所述子字符串具有变换状态,每一所述子字符串是经过每一所述变换处理后得到的,所述映射组中的相邻子字符串具有次序关系;
对所述映射组进行变换状态变换分析处理,得到编辑距离值,其中,所述编辑距离值表征所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的不相似程度;
根据所述编辑距离值,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
6.根据权利要求5所述的方法,其特征在于,所述变换处理为以下的任意一种:
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同部分;
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的不同部分。
7.根据权利要求6所述的方法,其特征在于,对所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,包括:
重复以下各个步骤,直至每一文件中跨页中没有剩余字符串:
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的前缀字符,则根据该相同的前缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的后缀字符,则根据该相同的后缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
去除所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同的前缀字符、以及相同的后缀字符,得到所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串;
若所述文件集合中一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中另一个文件中跨页的每一余下字符串,该子字符串为变换状态为插入状态;
若所述文件集合中另一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中一个文件中跨页的每一余下字符串,该子字符串为变换状态为删除状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对所述文件集合中一个文件中跨页的每一余下字符串进行拆分处理,得到所述文件集合中一个文件中跨页的每一余下字符串中的不同字符串、相同字符串,其中,该不同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所不同的字符,该相同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所相同的字符;确定该不同字符串和该相同字符串,均为所述映射组中的子字符串,其中,该不同字符串的变换关系为插入状态或删除状态,该相同字符串的变换关系为相同状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串不为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对每一文件中跨页的每一余下字符串进行所述拆分处理,得到每一文件中跨页的每一余下字符串中的差异字符串、同样字符串,其中,每一文件中跨页的差异字符串为一个文件与另一个文件所不同的字符串,每一文件中跨页的同样字符串为一个文件与另一个文件所相同的字符串;确定每一文件中跨页的同样字符串,为所述映射组中的子字符串,并将每一文件中跨页的差异字符串,作为每一文件中跨页的新的剩余字符串。
8.根据权利要求5所述的方法,其特征在于,对所述映射组进行变换状态分析处理,得到编辑距离值,包括:
确定所述编辑距离值的初始值为预设值,遍历所述映射组中的子字符串,以得到最终的编辑距离值:
若当前子字符串的变换状态为相同状态,则确定所述编辑距离值不变;
若当前子字符串的变换状态为删除状态、且下一状态为插入状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为删除状态,则确定所述编辑距离值累加第一预设最大值;所述第一预设最大值为当前子字符串的长度、当前子字符串的下一状态对应的子字符串的长度,两者中的最大值;
若当前子字符串的变换状态为删除状态、且下一状态为删除状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为插入状态,则确定所述编辑距离值累加当前子字符串的长度。
9.根据权利要求5所述的方法,其特征在于,根据所述编辑距离值,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度,包括:
根据所述编辑距离值和第二预设最大值,确定所述相似度;其中,所述第二预设最大值为所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者中的最大值。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述每一文件中的字符具有索引。
11.根据权利要求10所述的方法,其特征在于,所述每一文件中跨页的页眉页脚具有帧信息,其中,所述帧信息包括页脚的起始字符的索引、跨页中后一页的第一个字符的索引、页眉的终止字符的索引。
12.根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
在所述每一文件的页面上建立预设坐标系,并确定所述每一文件中每一字符在所述预设坐标系上的坐标信息;
根据各字符的坐标信息,确定所述每一文件的页面的行信息。
13.根据权利要求12所述的方法,其特征在于,所述坐标信息包括:字符的矩形框的信息;根据各字符的坐标信息,确定所述每一文件的页面的行信息,包括:
若确定不同字符的矩形框在所述预设坐标系的纵轴上的投影,具有重叠部分,则确定所述不同字符位于所述每一文件的页面的同一行,以得到所述每一文件的页面的行信息。
14.一种基于电子文件的页眉页脚识别装置,其特征在于,所述装置,包括:
获取单元,获取待分析的文件集合,其中,所述文件集合中包括两个文件,所述两个文件中的一个文件是基于所述两个文件中的另一个文件得到的;
第一处理单元,对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串,所述每一剩余字符串为跨页中的每一次剔除处理之后的剩余字符串;
计算单元,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度;
第一确定单元,确定各所述相似度中的最大相似度,并确定所述每一文件中跨页中与所述最大相似度对应的剔除掉的字符,为所述每一文件中跨页的页眉页脚;
其中,所述每一文件中多个跨页各自的页眉页脚,构成了所述每一文件的页眉页脚信息。
15.根据权利要求14所述的装置,其特征在于,所述装置,还包括:
第二处理单元,用于所述第一处理单元在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,取所述每一文件中跨页中的位于预设字符之前的多个字符、以及位于所述预设字符之后的多个字符,构成所述每一文件中跨页的待处理字符串,其中,所述预设字符为所述每一文件中跨页中的前一页的最后一个字符;其中,进行所述剔除处理的字符,为所述每一文件中跨页的待处理字符串。
16.根据权利要求15所述的装置,其特征在于,所述第一处理单元,具体用于:
针对每一次剔除处理,将所述每一文件中跨页的待处理字符串中的预设行数的字符,进行剔除,得到所述每一文件中跨页的每一剩余字符串;
其中,所述预设行数为所述每一文件中跨页中前一页的最后i行、以及所述每一文件中跨页中后一页的前j行,其中,i、j均为大于等于0且小于等于M的整数,M为一预设的正整数。
17.根据权利要求14所述的装置,其特征在于,所述装置,还包括:
第三处理单元,用于所述第一处理单元在对所述文件集合中的每一文件中跨页的字符进行多次剔除处理,得到所述每一文件中跨页的每一剩余字符串之前,剔除所述每一文件中跨页中的预设附加信息,其中,所述预设附加信息为当前跨页的前一跨页的页眉页脚。
18.根据权利要求14所述的装置,其特征在于,所述计算单元,包括:
变换模块,对所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串进行多次变换处理,得到映射组,其中,所述映射组包括多个子字符串,每一所述子字符串具有变换状态,每一所述子字符串是经过每一所述变换处理后得到的,所述映射组中的相邻子字符串具有次序关系;
分析模块,对所述映射组进行变换状态变换分析处理,得到编辑距离值,其中,所述编辑距离值表征所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的不相似程度;
计算模块,根据所述编辑距离值,确定所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者之间的相似度。
19.根据权利要求18所述的装置,其特征在于,所述变换处理为以下的任意一种:
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同部分;
截取所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的不同部分。
20.根据权利要求19所述的装置,其特征在于,所述变换模块,具体用于;
重复以下各个步骤,直至每一文件中跨页中没有剩余字符串:
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的前缀字符,则根据该相同的前缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
若所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,存在相同的后缀字符,则根据该相同的后缀字符,得到一个子字符串,该子字符串的变换状态为相同状态;
去除所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串两者中的相同的前缀字符、以及相同的后缀字符,得到所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串;
若所述文件集合中一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中另一个文件中跨页的每一余下字符串,该子字符串为变换状态为插入状态;
若所述文件集合中另一个文件中跨页的每一余下字符串为空,则得到一个子字符串,该子字符串为所述文件集合中一个文件中跨页的每一余下字符串,该子字符串为变换状态为删除状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对所述文件集合中一个文件中跨页的每一余下字符串进行拆分处理,得到所述文件集合中一个文件中跨页的每一余下字符串中的不同字符串、相同字符串,其中,该不同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所不同的字符,该相同字符串为与所述文件集合中另一个文件中跨页的每一余下字符串所相同的字符;确定该不同字符串和该相同字符串,均为所述映射组中的子字符串,其中,该不同字符串的变换关系为插入状态或删除状态,该相同字符串的变换关系为相同状态;
若所述文件集合中一个文件中跨页的每一余下字符串、所述文件集合中另一个文件中跨页的每一余下字符串均不为空、且所述文件集合中另一个文件中跨页的每一余下字符串不为所述文件集合中一个文件中跨页的每一余下字符串的子集,则对每一文件中跨页的每一余下字符串进行所述拆分处理,得到每一文件中跨页的每一余下字符串中的差异字符串、同样字符串,其中,每一文件中跨页的差异字符串为一个文件与另一个文件所不同的字符串,每一文件中跨页的同样字符串为一个文件与另一个文件所相同的字符串;确定每一文件中跨页的同样字符串,为所述映射组中的子字符串,并将每一文件中跨页的差异字符串,作为每一文件中跨页的新的剩余字符串。
21.根据权利要求18所述的装置,其特征在于,所述分析模块,具体用于:
确定所述编辑距离值的初始值为预设值,遍历所述映射组中的子字符串,以得到最终的编辑距离值:
若当前子字符串的变换状态为相同状态,则确定所述编辑距离值不变;
若当前子字符串的变换状态为删除状态、且下一状态为插入状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为删除状态,则确定所述编辑距离值累加第一预设最大值;所述第一预设最大值为当前子字符串的长度、当前子字符串的下一状态对应的子字符串的长度,两者中的最大值;
若当前子字符串的变换状态为删除状态、且下一状态为删除状态,或者,若当前子字符串的变换状态为插入状态、且下一状态为插入状态,则确定所述编辑距离值累加当前子字符串的长度。
22.根据权利要求18所述的装置,其特征在于,所述计算模块,具体用于:
根据所述编辑距离值和第二预设最大值,确定所述相似度;其中,所述第二预设最大值为所述文件集合中一个文件中跨页的每一剩余字符串、所述文件集合中另一个文件中跨页的每一剩余字符串,两者中的最大值。
23.根据权利要求14-22任一项所述的装置,其特征在于,所述每一文件中的字符具有索引。
24.根据权利要求23所述的装置,其特征在于,所述每一文件中跨页的页眉页脚具有帧信息,其中,所述帧信息包括页脚的起始字符的索引、跨页中后一页的第一个字符的索引、页眉的终止字符的索引。
25.根据权利要求14-22任一项所述的装置,其特征在于,所述装置还包括:
定位单元,在所述每一文件的页面上建立预设坐标系,并确定所述每一文件中每一字符在所述预设坐标系上的坐标信息;
第二确定单元,根据各字符的坐标信息,确定所述每一文件的页面的行信息。
26.根据权利要求25所述的装置,其特征在于,所述坐标信息包括:字符的矩形框的信息;所述第二确定单元,具体用于:
若确定不同字符的矩形框在所述预设坐标系的纵轴上的投影,具有重叠部分,则确定所述不同字符位于所述每一文件的页面的同一行,以得到所述每一文件的页面的行信息。
27.一种电子设备,其特征在于,包括:处理器和存储器;
其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行时,使所述处理器执行权利要求1-13任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262354.5A CN112329426A (zh) | 2020-11-12 | 2020-11-12 | 电子文件的页眉页脚识别方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262354.5A CN112329426A (zh) | 2020-11-12 | 2020-11-12 | 电子文件的页眉页脚识别方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112329426A true CN112329426A (zh) | 2021-02-05 |
Family
ID=74318016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011262354.5A Pending CN112329426A (zh) | 2020-11-12 | 2020-11-12 | 电子文件的页眉页脚识别方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329426A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115862016A (zh) * | 2023-02-16 | 2023-03-28 | 金现代信息产业股份有限公司 | 一种小尺寸光学字符识别方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2224359A2 (en) * | 2009-02-27 | 2010-09-01 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and computer program |
CN104951429A (zh) * | 2014-03-26 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 版式电子文档的页眉页脚识别方法及装置 |
CN107291682A (zh) * | 2016-03-30 | 2017-10-24 | 同方知网(北京)技术有限公司 | 一种基于跳转处理及双重校验的多篇电子文档分篇算法 |
CN110543810A (zh) * | 2019-06-28 | 2019-12-06 | 南京智录信息科技有限公司 | 一种完整识别pdf文件页眉页脚的技术 |
CN110704570A (zh) * | 2019-08-13 | 2020-01-17 | 北京众信博雅科技有限公司 | 一种连续页版式文档结构化信息提取方法 |
-
2020
- 2020-11-12 CN CN202011262354.5A patent/CN112329426A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2224359A2 (en) * | 2009-02-27 | 2010-09-01 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and computer program |
CN104951429A (zh) * | 2014-03-26 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 版式电子文档的页眉页脚识别方法及装置 |
CN107291682A (zh) * | 2016-03-30 | 2017-10-24 | 同方知网(北京)技术有限公司 | 一种基于跳转处理及双重校验的多篇电子文档分篇算法 |
CN110543810A (zh) * | 2019-06-28 | 2019-12-06 | 南京智录信息科技有限公司 | 一种完整识别pdf文件页眉页脚的技术 |
CN110704570A (zh) * | 2019-08-13 | 2020-01-17 | 北京众信博雅科技有限公司 | 一种连续页版式文档结构化信息提取方法 |
Non-Patent Citations (1)
Title |
---|
刘高军 等: "基于分割线和区域特征的页眉页脚判别方法", 《北方工业大学学报》, vol. 25, no. 1, pages 17 - 24 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115862016A (zh) * | 2023-02-16 | 2023-03-28 | 金现代信息产业股份有限公司 | 一种小尺寸光学字符识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9098581B2 (en) | Method for finding text reading order in a document | |
EP3940589B1 (en) | Layout analysis method, electronic device and computer program product | |
CN109271598B (zh) | 一种抽取新闻网页内容的方法、装置及存储介质 | |
CN111222314B (zh) | 版式文档的比对方法、装置、设备及存储介质 | |
CN116186522A (zh) | 大数据核心特征提取方法、电子设备及存储介质 | |
CN113807158A (zh) | 一种pdf内容提取方法、装置及设备 | |
CN115546809A (zh) | 基于单元格约束的表格结构识别方法及其应用 | |
CN112329426A (zh) | 电子文件的页眉页脚识别方法、装置、设备和介质 | |
CN113343658A (zh) | 一种pdf文件信息抽取方法、装置以及计算机设备 | |
CN104346107B (zh) | 可变数据印刷的页面处理方法和装置 | |
CN111160445B (zh) | 投标文件相似度计算方法及装置 | |
WO2020211380A1 (zh) | 页面设计中前端代码的智能识别方法及相关设备 | |
CN113850265A (zh) | Pdf文档的解析方法、装置、电子设备及存储介质 | |
CN115935917A (zh) | 一种可视化图表的数据处理方法、装置、设备及存储介质 | |
CN112100978B (zh) | 基于电子书的排版处理方法、电子设备及存储介质 | |
CN112699634B (zh) | 电子书的排版处理方法、电子设备及存储介质 | |
CN114359929A (zh) | Jpg格式的漫画文件的翻译方法、装置、终端及存储介质 | |
CN114743203A (zh) | 文档处理方法、装置、设备及存储介质 | |
CN113419802B (zh) | 图集生成方法、装置、电子设备及存储介质 | |
CN114399782B (zh) | 文本图像处理方法、装置、设备、存储介质及程序产品 | |
CN116542226A (zh) | 非编辑文档的表格抽取方法、电子设备及可读存储介质 | |
CN117252153B (zh) | 用于大语言模型的富文本数据处理方法、设备、存储介质 | |
CN116030478A (zh) | 一种文件内容确定方法、设备和计算机可读存储介质 | |
CN117787258A (zh) | 文档信息抽取方法及系统 | |
CN116246289A (zh) | 一种pdf边线缺失表格内容识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |