基于表格结构解析的文档比对分析方法及系统与流程

文档序号:28815823发布日期:2022-02-09 05:59阅读:151来源:国知局
基于表格结构解析的文档比对分析方法及系统与流程

1.本发明属于数据处理技术领域,具体涉及基于表格结构解析的文档比对分析方法及系统。


背景技术:

2.如今,信息更新迭代迅猛,无论是企业、政府、事业单位还是个人,在生产生活活动中接触和使用到的文档越来越多。而在实际情况中,一份文档经常需要多次转手。在转手的过程中,每一次转手都可能会增加一些偏差,最终导致和原文档存在较大的出入,而对相关业务产生一定的影响。比如说商业合同,一份合同从初拟到最终签订需要多次修订,每次修订除了内容改变以外,还可能因为参与修订的人员所使用的系统平台不同,所用的文档编辑工具不同导致格式上的细微变化。而合同签订各方可能需要通过传真、印刷件等形式传阅合同文件,这又涉及到从文本文档到电子图像、纸质文稿、扫描件等不同载体形式的互相转换。而受限于当下ocr等技术的准确性问题等,转换过程中有一定概率造成内容缺失、改变等问题。
3.目前处理这种转换误差最常见的是依靠人工核对。而当合同内容越多时,合同审查人员人工审核的效率就会越低。
4.因此研发一款能够接受多种文档格式,能精确解析文档内容,并准确描述不同版本、不同来源文件中内容差异,且能进行高效比对的电子计算机程序显得尤为重要。
5.然而,现有的文档比对相关技术存在以下缺点:1.基于图像模版匹配技术的文档比对对文档内容结构要求过于苛刻;2.图文表混合文档比对效果较差;3. ocr识别占用资源较高且有一定概率文字识别出错。
6.因此,设计一种专注于文档内容和语义层面的比对,在文档比对中具有表格间结构和语义比对的能力,且比对效果好,占用资源低,文字识别准确的基于表格结构解析的文档比对分析方法及系统,就显得十分重要。
7.例如,申请号为cn202110644806.4的中国专利文献描述的一种长文档的快速比对方法、装置和存储介质,针对两份需要对比的长文档,比对方法包括如下步骤:s1分别解析两份文档形成树状文档结构;s2根据树状文档结构,将两个文档拆分为两组内容块;s3在两组内容块之间建立映射关系,形成多个映射对;s4并行多个任务,每个任务用来针对一个映射对的两个内容块逐字进行比对找到差异点。虽然能够提高长文档比对的速度,但是其缺点在于,缺乏文档比对中表格间结构和语义比对的能力,在实际文档中的表结构存在差异情况下,无法体现其中差异。


技术实现要素:

8.本发明是为了克服现有技术中,现有的文档比对技术存在对文档内容结构要求苛刻,有局限性,比对效果较差以及占用资源较高,且有一定概率文字识别出错的问题,提供
了一种专注于文档内容和语义层面的比对,在文档比对中具有表格间结构和语义比对的能力,且比对效果好,占用资源低,文字识别准确的基于表格结构解析的文档比对分析方法及系统。
9.为了达到上述发明目的,本发明采用以下技术方案:基于表格结构解析的文档比对分析方法,包括如下步骤;s1,接收各种类型的来源文件,并统一转换为pdf文件;s2,针对pdf文件中不同类型的内容部分,分别使用不同工具进行抽取、划分和识别,获得带有文本内容、坐标信息、表结构的表数据和非表数据;s3,将表数据和非表数据分别进行比对,最终得到表外文本差异和表格差异。
10.作为优选,所述表外文本差异和表格差异均包括差异产生的原因,差异内容以及差异所在的文档位置;所述差异产生的原因包括增、删和改;所述差异所在的文档位置包括页码和xy坐标。
11.作为优选,步骤s2包括pdf文件解析过程,所示pdf文件解析过程如下步骤:s21,使用pdf文件解析工具解析步骤s1中生成的pdf文件,获得表数据;s22,使用pdf文件解析工具从pdf文件中按照阅读顺序进行内容抽取;s23,若抽取的内容为文字,则判断所述文字是否属于步骤s21中的表数据;若否,将所述文字添加到文字数组尾部;若是,则跳过所述文字,转至步骤s24;s24,若抽取的内容为图片,将所述图片使用ocr进行识别,将ocr识别得到的文字结果依次添加入步骤s23中所述文字数组尾部;s25,最后得到的识别结果为文字数组和由表数据构成的表数组;所述表数组中每一个表对象都包含表在文字数组中的相对位置关系。
12.作为优选,步骤s3中表数据比对包括如下步骤:s31,抽取表结构特征,使用表结构特征+表内容生成hash,将来源文档和转换后的pdf文档中,hash相同的表标记为“完全匹配”;剩余未完全匹配表中,遍历比对来源文档和转换后的pdf文档中结构特征相似的表格,将内容相似度超过60%的表,标记为“部分匹配”;其余仍未能获得成功匹配的表格标记为删除/新增;所述结构特征相似的表格指任一文档中表格结构特征矩阵被另一文档表格结构矩阵完全包含或相同部分重叠超过80%;s32,针对“完全匹配”和“部分匹配”的表,为每一组分配一个由特殊字符构成的占位符标记,并且保证在一个比对任务中,任意两组“完全匹配”或“部分匹配”表的占位符标记之间不包含任何相同字符,且特殊字符构成的占位符标记中所有字符均为不常用字符;s33,将“部分匹配”表中未匹配的特征区块与原表单元格形成对应,并将对应的原表单元格标记为表的增或删;将“部分匹配”表中匹配的特征区块,逐行读取并同样与原表单元格形成对应,通过剔除改操作后的编辑距离算法比较原表单元格区域的首行单元格的增删,并得知对应的原表单元格区域的列增删,并进行标记;s34,“部分匹配”表中剩余匹配成功的特征区块的列中,通过所述剔除改操作后的编辑距离算法比较对应的原表单元格的首列单元格,得知对应的原表单元格区域的行增删,并新进行标记;对于剩余的单元格,则按照先行后列读取顺序拼接所有单元格的文本内容,使用通用编辑距离算法得到单元格内容的改动。
13.作为优选,步骤s3中非表数据比对包括如下步骤:s35,来源文档和转换后的pdf文档的非表数据部分,各自拼接为一个字符串,将步骤s32中所得表的占位符标记,按照表-文字相对索引位置插入字符串,将两份文档的两个字符串使用编辑距离算法进行比对,得到两份文档中表外文本的差异点,所述差异点反馈出表与表外文字相对位置变化所导致的差异;s36,最终获得最终文档差异为表外文本差异+表格差异两部分。
14.作为优选,所述表格差异包含3个粒度:整表差异:表增/删;表区块差异:表区块增/删;单元格内容差异:单元格内容增/删/改。
15.作为优选,步骤s31中所述表格结构特征矩阵的生成规则如下:s311,根据表格中单元格最小粒度确定二维数组大小;s312,填充二维数组元素,规则为:横向合并单元格首单元为h,其余为_h;纵向合并单元格首单元为v,其余为_v;无合并单元格为n;横纵双向合并单元格首单元为d,其余为_d;s313,压缩步骤s312中构成的二维数组;压缩规则如下:列压缩方向为自右向左,行压缩方向为自下向上;当某一列/行的所有字母均满足以下规则,则对应列/行被压缩:列/行字母与所述列/行字母的左/上侧完全相同,或为被合并单元格与主单元格关系;将被压缩的列/行从数组中删除,重复执行步骤s313过程直至二维数组无法压缩;s314,通过步骤s313,最终获得表格结构特征矩阵。
16.本发明还提供了基于表格结构解析的文档比对分析系统,包括如下步骤:文件转换模块,用于接收各种类型的来源文件,并统一转换为pdf文件;文件识别模块,用于针对pdf文件中不同类型的内容部分,分别使用不同工具进行抽取、划分和识别,获得带有文本内容、坐标信息、表结构的表数据和非表数据;数据比对模块,用于将表数据和非表数据分别进行比对,最终得到表外文本差异和表格差异。
17.作为优选,所述文件识别模块包括:表数据识别模块,用于解析pdf文件并获得表数据;非表数据识别模块,用于解析pdf文件并获得非表数据。
18.作为优选,所述数据比对模块包括;表数据比对模块,用于获得来源文档和转换后的pdf文档的表数据部分差异;非表数据比对模块,用于获得来源文档和转换后的pdf文档的非表数据部分差异。
19.本发明与现有技术相比,有益效果是:(1)本发明引入了文字、表格、图片分类识别机制,使得能够将图片与表格均纳入比对范围之中,加强了文档比对装置的适用范围;(2)本发明对表格的比对维度从单纯的单元格文本内容比对,扩展到整表、表区块、表单元格内容三个维度的比对,使得本发明能够在多数真实业务场景中,有效感知整表增删,表格列、
表格行的增删,以及匹配单元格内容的增删改;(3)本发明能更直观体现用户基于原表格所做的结构性改动。
附图说明
20.图1为本发明基于表格结构解析的文档比对分析方法中pdf文件解析过程的一种流程图;图2为本发明基于表格结构解析的文档比对分析方法中表数据比对的一种流程图;图3为本发明基于表格结构解析的文档比对分析方法中非表数据比对的一种流程图;图4为本发明实施例所提供的二维数组的一种示意图;图5为图4压缩后的表格结构特征矩阵的一种示意图;图6为本发明实施例所提供的文档a的一种文本内容示意图;图7为本发明实施例所提供的文档b的一种文本内容示意图。
具体实施方式
21.为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
22.实施例1:基于表格结构解析的文档比对分析方法,包括如下步骤;s1,接收各种类型的来源文件,并统一转换为pdf文件;s2,针对pdf文件中不同类型的内容部分,分别使用不同工具进行抽取、划分和识别,获得带有文本内容、坐标信息、表结构的表数据和非表数据;s3,将表数据和非表数据分别进行比对,最终得到表外文本差异和表格差异。
23.将不同类型的文件统一转换为pdf,因为pdf格式文件能保持文档格式的稳定,不管是跨系统平台还是打印,都不会有结构混乱现象产生。同时无论图片或常用的word(微软办公软件文字处理软件)文档,都可以转换为pdf,文件类型统一有助于后续统一化处理。并且pdf能够在web页前端展示,结合本发明输出的比对结果,能够在web页面上以线框图形形式展现文档差异点。
24.进一步的,如图1所示,步骤s2包括pdf文件解析过程,所示pdf文件解析过程如下步骤:s21,使用pdf文件解析工具解析步骤s1中生成的pdf文件,获得表数据;s22,使用pdf文件解析工具从pdf文件中按照阅读顺序进行内容抽取;s23,若抽取的内容为文字,则判断所述文字是否属于步骤s21中的表数据;若否,将所述文字添加到文字数组尾部;若是,则跳过所述文字,转至步骤s24;s24,若抽取的内容为图片,将所述图片使用ocr进行识别,将ocr识别得到的文字结果依次添加入步骤s23中所述文字数组尾部;
s25,最后得到的识别结果为文字数组和由表数据构成的表数组;所述表数组中每一个表对象都包含表在文字数组中的相对位置关系。
25.进一步的,如图2所示,步骤s3中表数据比对包括如下步骤:s31,抽取表结构特征,使用表结构特征+表内容生成hash,将来源文档和转换后的pdf文档中,hash相同的表标记为“完全匹配”;剩余未完全匹配表中,遍历比对来源文档和转换后的pdf文档中结构特征相似的表格,将内容相似度超过60%的表,标记为“部分匹配”;其余仍未能获得成功匹配的表格标记为删除/新增;所述结构特征相似的表格指任一文档中表格结构特征矩阵被另一文档表格结构矩阵完全包含或相同部分重叠超过80%;s32,针对“完全匹配”和“部分匹配”的表,为每一组分配一个由特殊字符构成的占位符标记,并且保证在一个比对任务中,任意两组“完全匹配”或“部分匹配”表的占位符标记之间不包含任何相同字符,且特殊字符构成的占位符标记中所有字符均为不常用字符;s33,将“部分匹配”表中未匹配的特征区块与原表单元格形成对应,并将对应的原表单元格标记为表的增或删;将“部分匹配”表中匹配的特征区块,逐行读取并同样与原表单元格形成对应,通过剔除改操作后的编辑距离算法比较原表单元格区域的首行单元格的增删,并得知对应的原表单元格区域的列增删,并进行标记;s34,“部分匹配”表中剩余匹配成功的特征区块的列中,通过所述剔除改操作后的编辑距离算法比较对应的原表单元格的首列单元格,得知对应的原表单元格区域的行增删,并新进行标记;对于剩余的单元格,则按照先行后列读取顺序拼接所有单元格的文本内容,使用通用编辑距离算法得到单元格内容的改动。
26.进一步的,如图3所示,步骤s3中非表数据比对包括如下步骤:s35,来源文档和转换后的pdf文档的非表数据部分,各自拼接为一个字符串,将步骤s32中所得表的占位符标记,按照表-文字相对索引位置插入字符串,将两份文档的两个字符串使用编辑距离算法进行比对,得到两份文档中表外文本的差异点,所述差异点反馈出表与表外文字相对位置变化所导致的差异;s36,最终获得最终文档差异为表外文本差异+表格差异两部分。
27.进一步的,所述表格差异包含3个粒度:整表差异:表增/删;表区块差异:表区块增/删;单元格内容差异:单元格内容增/删/改。
28.进一步的,步骤s31中所述表格结构特征矩阵的生成规则如下:s311,根据表格中单元格最小粒度确定二维数组大小,以下表1为例;表1 某公司两季度产品销量和营收情况表
上述表格对应的二维数组size为 8行5列;s312,填充二维数组元素,规则为:横向合并单元格首单元为h,其余为_h;纵向合并单元格首单元为v,其余为_v;无合并单元格为n;横纵双向合并单元格首单元为d,其余为_d;由此可得,如图4所示的二维数组;s313,压缩步骤s312中构成的二维数组;压缩规则如下:列压缩方向为自右向左,行压缩方向为自下向上;当某一列/行的所有字母均满足以下规则,则对应列/行被压缩:列/行字母与所述列/行字母的左/上侧完全相同,或为被合并单元格与主单元格关系;将被压缩的列/行从数组中删除,重复执行步骤s313过程直至二维数组无法压缩;s314,通过步骤s313,最终获得表格结构特征矩阵,以表1为例的结果如图5所示。
29.本发明还提供了基于表格结构解析的文档比对分析系统,包括如下步骤:文件转换模块,用于接收各种类型的来源文件,并统一转换为pdf文件;文件识别模块,用于针对pdf文件中不同类型的内容部分,分别使用不同工具进行抽取、划分和识别,获得带有文本内容、坐标信息、表结构的表数据和非表数据;数据比对模块,用于将表数据和非表数据分别进行比对,最终得到表外文本差异和表格差异。
30.进一步的,文件识别模块包括:表数据识别模块,用于解析pdf文件并获得表数据;非表数据识别模块,用于解析pdf文件并获得非表数据。
31.进一步的,数据比对模块包括;表数据比对模块,用于获得来源文档和转换后的pdf文档的表数据部分差异;非表数据比对模块,用于获得来源文档和转换后的pdf文档的非表数据部分差异。
32.基于本发明的技术方案,在具体实施和操作过程中,以图6和图7所示的文档a和文档b说明本发明作业流程:文档a与文档b差异点包括:1. 文档a中项目表包含表格标题“采购项目一览表”一行,文档b中此标题存在于表格外。
33.2. 文档a中项目表处于招标说明2与3之间,文档b中项目表处于招标说明3之后。
34.3. 文档a中材料表包含“序号”列但不包含“报价单”行,文档b中材料表不含“序号”但含“报价单”行。
35.具体作业流程如下:1.从文档a和文档b中识别并抽取文档内容。
36.其中,文档a抽取得到文字内容为:主标题与除表格外的正文文字,表格内容为:项目表(含标题)和材料表。
37.文档b抽取得到文字内容为:主标题、项目表标题、除表格外正文文字,表格内容为:项目表(不含标题)和材料表。
38.2.根据文档a和文档b表格生成表格特征矩阵。
39.其中,文档a项目表特征矩阵为:, 材料表特征矩阵为:;文档b项目表特征矩阵为:;材料表特征矩阵为:。
40.3.由于文档a和b中各表的表结构与表内文本均不完全相同,因此通过表结构+表文本生成的hash必然不会相等,因此没有达成“完全匹配”关系的表。遍历两份文档的表并比较内容和结构特征的相似度,易得:文档a的项目表与文档b的项目表达成“部分匹配”关联;文档a的材料表与文档b的材料表达成“部分匹配”关联。
41.4.为两组关联表分别生成特殊占位符ph_1(项目表)和ph_2(材料表)。(由于特殊占位符长度较长,且存在不可见字符,因此此处以ph_1和ph_2指代)5.比对文档a和文档b中项目表结构特征矩阵,易得文档a项目表结构特征矩阵比文档b项目表结构特征矩阵多一个结构。将此结构映射回文档a项目表,可知对应的为标题行。将改行标记为新增。
42.6.对于结构特征重合部分的处理以材料表为例:因为文档a和文档b中材料表结构特征矩阵完全重合,因此将此结构特征矩阵映射回原表后分别可得4列3行(文档a)与3列4行(文档b)的材料表。
43.7.比对6中所得两份表结构的首行可知,文档a相比较文档b中材料表多了“序号”列,即文档a中材料表的2、3、4列分别与文档b中材料表的1、2、3列形成对应关系。将该列标记为新增。
44.8.排除材料表首行,将文档a与文档b中材料表数据行的关联列首列进行比对,即取文档a材料表的第2列,第2到3行与文档b材料表的第1列,第2到4行进行比对。可得文档a相较文档b材料表,删除了“报价单”一行。而文档a材料表的第2、3行分别与文档b材料表的第2、4行形成关联关系。将文档b材料表第3行标记为删除。
45.9.得到文档a和b中材料表的行列关联关系后,即可得到文档a和b中材料表单元格关联关系。使用编辑距离算法依次比较关联单元格内容的差异点。
46.10.按照文档中表与表外文字的次序,将4中所得特殊占位符插入两份文档各自表外文字内容所构成的列表中对应位置。将文档a和文档b的表外文字列表各自拼接为字符串,使用编辑距离算法比对可得差异点:文档b相较文档在在招标说明2末尾移除了ph_1,但在说明3末尾增加了“采购项目一览表”文字及ph_1。
47.11.根据占位符与表关系映射,即可知文档b将项目表从招标说明2末尾移动到招标说明3末尾。
48.本发明引入了文字、表格、图片分类识别机制,使得能够将图片与表格均纳入比对范围之中,加强了文档比对装置的适用范围;本发明对表格的比对维度从单纯的单元格文本内容比对,扩展到整表、表区块、表单元格内容三个维度的比对,使得本发明能够在多数真实业务场景中,有效感知整表增删,表格列、表格行的增删,以及匹配单元格内容的增删改;本发明能更直观体现用户基于原表格所做的结构性改动。
49.以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1