CN115759020A - 表格信息提取方法、表格模板配置方法和电子设备 - Google Patents
表格信息提取方法、表格模板配置方法和电子设备 Download PDFInfo
- Publication number
- CN115759020A CN115759020A CN202211435725.4A CN202211435725A CN115759020A CN 115759020 A CN115759020 A CN 115759020A CN 202211435725 A CN202211435725 A CN 202211435725A CN 115759020 A CN115759020 A CN 115759020A
- Authority
- CN
- China
- Prior art keywords
- document
- boundary
- page
- determining
- row
- 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 71
- 238000000605 extraction Methods 0.000 title claims abstract description 46
- 239000003550 marker Substances 0.000 claims description 55
- 230000014509 gene expression Effects 0.000 claims description 41
- 238000012216 screening Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000012015 optical character recognition Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 241000282414 Homo sapiens Species 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Character Input (AREA)
Abstract
本申请提供了一种表格信息提取方法、表格模板配置方法和电子设备,其中,该方法包括:获取待处理文档对应的目标表格模板,其中,所述待处理文档中包含目标格式的表格;根据所述目标表格模板,确定出所述目标格式的表格的边界标记;根据所述边界标记,在所述待处理文档中确定出目标表格内容。
Description
技术领域
本申请涉及信息提取技术领域,具体而言,涉及一种表格信息提取方法、表格模板配置方法和电子设备。
背景技术
在对文档的处理中包括一项重要工作是针对文档中的表格进行提取。针对有框表可以使用表格识别算法先识别表格、识别文字的方式实现表格信息的提取。但是目前并非所有的表格都是有完整的框的表格,一些表格是无框表,并非将每一项信息落在一个实线格子中,这就导致针对这类表格的信息提取存在困难。
发明内容
本申请的目的在于提供一种表格信息提取方法、表格模板配置方法和电子设备,以改善无框表中的信息提取难度大的问题。
第一方面,本发明提供一种表格信息提取方法,包括:获取待处理文档对应的目标表格模板,其中,所述待处理文档中包含目标格式的表格;根据所述目标表格模板,确定出所述目标格式的表格的边界标记;根据所述边界标记,在所述待处理文档中确定出目标表格内容。
在本申请实施例提供的方法中,通过配置表格模板,可以基于该表格模板提取出目标格式的表格的边界标记,从而可以基于该边界标记在待处理文档确定出该待处理文档中所包含的目标格式的表格,从而实现表格的识别提取不再局限于有框表,提高表格信息提取的适用场景。
在可选的实施方式中,所述边界标记包括:文档边界标记和页内边界标记;
所述根据所述边界标记,在所述待处理文档中确定出目标表格内容,包括:根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域;根据所述页内边界标记,在所述表格覆盖区域中提取每一页中的表格区域;根据每一页的所述表格区域,确定出目标表格内容。
在上述实施方式,通过设置两类边界标记,通过文档边界标记可以提取出文档中的表格覆盖的区域,然后再基于页内边界标记筛选出每一页中的有效的表格区域,可以更准确地筛选出表格内容。
在可选的实施方式中,所述文档边界标记包括:文档上边界标记和文档下边界标记;
所述根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域,包括:根据所述文档上边界标记,在所述待处理文档中确定出表格起始位;根据所述文档下边界标记,在所述待处理文档中确定出表格终止位,其中,所述表格起始位与所述表格终止位之间形成表格覆盖区域。
在可选的实施方式中,所述文档边界标记包括:文档上边界标记;
所述根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域,包括:根据所述文档上边界标记,在所述待处理文档中确定出表格起始位;将所述待处理文档的结束位置确定为表格终止位,其中,所述表格起始位与所述表格终止位之间形成表格覆盖区域。
在上述实施方式中,通过对文档上边界标记和文档下边界标记的作用可以更好地定位表格覆盖区域。进一步地,针对无文档下边界标记的也可以采用文档的末端作为表格终止位,从而可以更好地适应文档的变化,提高文档中的表格信息提取的灵活性。
在可选的实施方式中,所述根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域,包括:
对所述待处理文档进行文本识别,以确定出所述待处理文档中所包含的文本对象集;
根据所述文档边界标记在所述待处理文档的文本对象集进行筛选,以确定出所述待处理文档中的表格覆盖区域。
在可选的实施方式中,所述文档边界标记包括:文档边界关键字、文档边界正则表达式、文档边界关键字和相对偏移量、文档边界正则表达式和相对偏移量中的任意一组;
所述根据所述文档边界标记在所述待处理文档的文本对象集进行筛选,以确定出所述待处理文档中的表格覆盖区域,包括:
在所述待处理文档的文本对象集筛选出所述文档边界关键字,以所述文档边界关键字的位置确定为所述待处理文档的文档边界,以所述文档边界之间的文本对象,作为待处理文档的表格覆盖区域;或者,
在所述待处理文档的文本对象集筛选所述文档边界关键字的第一位置,以所述文档边界关键字为基准,在文本对象集中确定出所述文档边界关键字的所述相对偏移量的第二位置,以确定出所述待处理文档的文档边界,将文档边界之间的文本对象作为待处理文档的表格覆盖区域;或者,
在所述待处理文档的文本对象集筛选出所述文档边界正则表达式,以所述文档边界正则表达式的位置确定为所述待处理文档的文档边界,以所述文档边界之间的文本对象,作为待处理文档的表格覆盖区域;或者,
在所述待处理文档的文本对象集筛选所述文档边界正则表达式的第三位置,以所述文档边界正则表达式为基准,在文本对象集中确定出所述文档边界正则表达式的所述相对偏移量的第四位置,以确定出所述待处理文档的文档边界,将文档边界之间的文本对象作为待处理文档的表格覆盖区域。
在可选的实施方式中,所述表格覆盖区域覆盖位于所述待处理文本的M页内容中,所述表格覆盖区域包括M份文本对象子集;
所述页内边界标记包括:页内边界关键字表示或者页内边界正则表达式表示;
所述根据所述页内边界标记,在所述表格覆盖区域中提取每一页中的表格区域,包括:
针对第m份文本对象子集,将所述页内边界关键字与第m份文本对象子集中的文本字符串进行对比,以筛选出所述第m份文本对象子集中的页内边界,所述页内边界之间的文本对象作为第m页的表格区域;或者,
针对第m份文本对象子集,将所述页内边界正则表达式与第m份文本对象子集中的文本字符串进行匹配,以筛选出所述第m份文本对象子集中的页内边界,所述页内边界之间的文本对象作为第m页的表格区域,其中,m为大于或等于1,且小于或等于M的正整数。
在可选的实施方式中,所述文本对象包括文本字符串和所述文本字符串的包围盒坐标;
所述根据每一页的所述表格区域,确定出目标表格内容,包括:
根据各页所述表格区域所包含的文本对象的包围盒坐标,确定出各页所述表格区域的包围盒坐标;
各页所述表格区域的包围盒坐标依次拼接出目标表格内容。
在可选的实施方式中,所述各页所述表格区域的包围盒坐标依次拼接出目标表格内容,包括:
针对第i页表格区域与第i+1页表格区域,将所述第i+1页表格区域的包围盒坐标进行缩放处理,以使用缩放后的第i+1页表格区域的宽度与所述第i页表格区域宽度相同;
将所述第i+1页表格区域与缩放处理后的第i+1页表格区域进行拼接;
其中,所述i的取值依次从1至M-1,从而依次将M页表格区域拼接为目标表格内容。
在可选的实施方式中,所述页内边界标记包括:页内上边界标记和页内下边界标记;
所述根据所述页内边界标记,在所述表格覆盖区域中提取每一页中的表格区域,包括:针对所述表格覆盖区域中的每一页,根据所述页内上边界标记确定出页内表格上边界;根据所述页内下边界标记确定出页内表格下边界,所述页内表格上边界与所述页内表格下边界之间形成表格区域。
在上述实施方式中,通过页内上边界标记和页内下边界标记可以剔除非表格区域,从而实现更好地定位页内中有效的表格区域。
在可选的实施方式中,所述边界标记包括:列偏移和行基准列;
所述根据每一页的所述表格区域,确定出目标表格内容,包括:将每一页的所述表格区域进行拼接,以得到初始表格数据;根据所述列偏移,将所述初始表格数据划分成多列表格列数据;根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,其中,所述行基准列为所述目标格式的表格中的其中一列;根据所述多列表格列数据和所述多行表格行数据,确定出目标表格内容。
在上述实施方式中,可以通过列偏移和行基准列,可以即使是没有线条边框的表格,也能够识别出无框表中的各个隐形格子中的内容,基于该多列表格列数据和所述多行表格行数据确定出的目标表格内容,可以更准确地呈现表格中的数据的分布以及所属表头等。
在可选的实施方式中,所述根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,包括:
若所述行基准列的内容存储方式为顶对齐,将所述初始表格数据中所述行基准列的第n项对象所在行至第n+1项对象所在行的前一行之间的内容,确定为第n行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量。
在可选的实施方式中,所述根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,包括:
若所述行基准列的内容存储方式为底对齐,将所述初始表格数据的上边界至第一项对象所在行之间的内容,确定为第n+1行表格行数据;
将所述初始表格数据中所述行基准列的第n项对象所在行的下一行至第n+1项对象所在行之间的内容,确定为第n+1行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量。
在可选的实施方式中,所述根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,包括:
若所述行基准列的内容存储方式为居中对齐,确定出所述初始表格数据的上边界与所述行基准列的第一项对象之间的第一偏移量;
以所述第一项对象为基准,确定出与所述第一项对象偏移为所述第一偏移量的第一行表格行数据的下边界;
将所述初始表格数据的上边界与所述第一行表格行数据的下边界,确定为第一行表格行数据;
确定出所述第n行表格行数据的下边界与所述行基准列的第n+1项对象之间的第n+1偏移量;
以所述第n+1项对象为基准,确定出与所述第n+1项对象偏移为所述第n+1偏移量的第n+1行表格行数据的下边界;
将所述第n行表格行数据的下边界与所述第n+1行表格行数据的下边界,确定为第n+1行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量。
在上述实施方式中,可以针对不同格式的表格均可以实现对表格的隐形行实现识别,从而划分出准确的表格内容。
在可选的实施方式中,所述根据所述多列表格列数据和所述多行表格行数据,确定出目标表格内容,包括:按照所述多列表格列数据与所述多行表格行数据的数量,确定出输出表格;根据所述多列表格列数据与所述多行表格行数据中字符内容,填充所述输出表格,以得到目标表格内容。
在上述实施方式中,可以将提取出来的表格中信息以表格的格式输出,从而可以方便用户查看表格内容。
在可选的实施方式中,所述根据所述多列表格列数据和所述多行表格行数据,确定出目标表格内容,包括:
确定各行所述表格行数据中是否存在嵌套结构;
若所述表格行数据中存在嵌套结构,则根据所述目标表格模板,确定出嵌套结构偏移以及嵌套键;
若所述表格行数据中存在嵌套结构,针对第j行表格行数据,根据所述嵌套结构偏移,确定出所述第j行表格行数据中的嵌套结构区域;
在所述嵌套结构区域中,确定出所述第j行表格行数据中所包含的嵌套键以及所述嵌套键对应的键值;
根据所述嵌套键以及所述嵌套键对应的键值、所述多列表格列数据和所述多行表格行数据,确定出目标表格内容。
在上述实施方式中,在提取出中的表格行数据中存在嵌套内容,在可以将嵌套内容也提取出来,以更新表格的布局,以使目标表格内容的可读性更强。
在可选的实施方式中,所述根据所述嵌套键以及所述嵌套键对应的键值、所述多列表格列数据和所述多行表格行数据,确定出目标表格内容,包括:根据所述嵌套键以及所述目标格式的原始表头,构建新表头;将所述嵌套键对应的键值以及所述表格列数据,填充所述新表头,以得到目标表格内容。
在上述实施方式中,通过将提取出来的嵌套键增加为新的表头中的一部分,可以使确定出的目标表格内容更直观,方便用户获取表格中的信息分布。
第二方面,本发明提供一种表格模板配置方法,包括:获取表格样本文档,其中,所述表格样本文档包括目标格式的表格;将所述表格样本文档进行文本识别,以得到文本对象集合;接收对所述文本对象集合的边界标记的选择操作,以确定出目标表格模板,其中,所述目标表格模板用于前述实施方式所述的表格信息提取方法中的表格信息提取。
在上述实施方式中,通过边界标记的选择操作确定出目标表格模板,以解决不同类型的表格的信息的提取。
在可选的实施方式中,所述目标表格模板包括:文档上边界标记、文档下边界标记、页内上边界标记、页内下边界标记、列偏移以及行基准列;
所述接收对所述文本对象集合的边界标记的选择操作,以确定出目标表格模板,包括:
将所述文本对象集合显示在配置操作界面,所述配置操作界面中包括文档边界定义区、页内边界定义区、列定义区、行定义区;
在所述文档边界定义区中,基于对所述文本对象集合的选择操作,生成所述文档上边界标记和所述文档下边界标记;
在页内边界定义区中,基于对所述文本对象集合的选择操作,生成所述页内上边界标记和所述页内下边界标记;
在所述列定义区中,基于对所述文本对象集合中选中的列分割线,确定出所述列偏移;
在所述行定义区中,基于对所述文本对象集合的选择操作,确定所述行基准列。
在可选的实施方式中,所述目标表格模板还包括:嵌套结构偏移以及嵌套键;
所述配置操作界面包括:嵌套定义区;
所述接收对所述文本对象集合的边界标记的选择操作,以确定出目标表格模板,还包括:
在所述嵌套定义区,基于对所述文本对象集合的选择操作确定出嵌套参考位以及所述嵌套结构偏移;
在所述嵌套定义区,基于对所述文本对象集合中的嵌套结构中的选择操作,确定出所述嵌套键。
在上述实施方式中,可以针对不同的边界标记,设置专门的操作区,可以使表格模板的配置更全面,从而可以实现基于该表格模板能够实现更准确的表格信息的提取。
第三方面,本发明提供一种表格信息提取装置,包括:第一获取模块,用于获取待处理文档对应的目标表格模板,其中,所述待处理文档中包含目标格式的表格;标记确定模块,用于根据所述目标表格模板,确定出所述目标格式的表格的边界标记;表格确定模块,用于根据所述边界标记,在所述待处理文档中确定出目标表格内容。
第四方面,本发明提供一种表格模板配置装置,包括:第二获取模块,用于获取表格样本文档,其中,所述表格样本文档包括目标格式的表格;文本识别模块,用于将所述表格样本文档进行文本识别,以得到文本对象集合;操作接收模块,用于接收对所述文本对象集合的边界标记的选择操作,以确定出目标表格模板,其中,所述目标表格模板用于前述实施方式所述的表格信息提取方法中的表格信息提取。
第五方面,本发明提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如前述实施方式任意一项所述的方法的步骤。
第六方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式任意一项所述的方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的方框示意图;
图2为本申请实施例提供的表格信息提取方法的流程图;
图3为本申请实施例提供的表格信息提取装置的功能模块示意图;
图4为本申请实施例提供的表格模板配置方法的流程图;
图5为本申请实施例提供的表格模板配置装置的功能模块示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前针对文档的处理,除了对文档中的文字进行识别,通常还需要对文档中的表格的信息进行提取。各种文档中的表格主要包含有边框表格和无边框表格。针对有边框表格(如下表1所示)可以使用表格识别算法先识别有边框表格中的表格,再识别表格内的文字,从而提取出得到完整表格结构和内容。如下表1所示,该表包括表格元数据:第一行的表头,以及表格数据:表头下的多行实际数值。下表中的每一项键值落入一个格子内,因此,可以通过识别有边框表格中的表格以及表格中的文字,从而提取出完整表格结构和内容。
表1
但是针对无框表格,由于没有完整的格子,导致即使识别出表格数据也难以与表头对应上,表格数据之间的分割也难以直接体现出来。如表2所示,表格不包含完整的格子,仅包含表头以及表头与表格数据之间的分割线。
表2
由于上述表2所示的表,并非每一项键值落入一个完整的有线的格子内,因此,在对表格进行识别时,可能会导致键值a1、b1、c1、d1不能够按项分开,识别出的结果不能够很好地与表头对应。
再如表3所示,表格不包含完整的格子,仅包含表头以及表头与表格数据之间的分割线,且表格内部还嵌套一些其它嵌套内容:
表3
使用现有的表格识别算法,会难以对KEY1:key11、KEY2:key21、KEY3:key31等嵌套信息进行识别,且该嵌套内容不能够与表头信息:表头A、表头B、表头C、表头D。
基于上述现状,本申请提供的一种表格信息提取方法、表格模板配置方法和电子设备,不仅仅能够实现对有框表格的信息提取,还能够针对一些相对复杂的无框表格的信息的提取。
本申请提供的表格信息提取方法、表格模板配置方法可以用在机器流程自动化(Robotic Process Automation,RPA)技术中。RPA技术可以模拟员工在日常工作中通过键盘、鼠标对计算机的操作,可以代替人类执行登录***、操作软件、读写数据、下载文件、读取邮件等操作。以自动化机器人作为企业的虚拟劳动力,可以将员工从重复、低价值的工作中解放出来,将精力投入到高附加值的工作上,从而可以使企业在数字化智能化转型的同时又做到降低成本、增加效益。
RPA是一种使用软件机器人取代业务流程中的人工任务,并且像人一样与计算机的前端***进行交互,因此RPA可以看作是一种运行在个人PC机或服务器中的软件型程序机器人,通过模仿用户在电脑上进行的操作来替代人类自动重复这些操作,例如检索邮件、下载附件、登录***、数据加工分析等活动,快速、准确、可靠。虽然和传统的物理机器人一样都是通过设定的具体规则来解决人类工作中速度和准确度的问题,但是传统的物理机器人是软硬件结合的机器人,需要在特定的硬件支持下配合软件才能执行工作;而RPA机器人是纯软件层面的,只要安装了相应的软件,就可以部署到任意一台PC机和服务器中来完成规定的工作。
也就是说,RPA是一种利用“数字员工”代替人进行业务操作的一种方式及其相关的技术。本质上RPA是通过软件自动化技术,模拟人实现计算机上***、软件、网页和文档等对象的无人化操作,获取业务信息、执行业务动作,最终实现流程自动化处理、人力成本节约和处理效率提升。从描述可知,为了实现RPA,需要先从文档或屏幕中找到待操作的目标内容,才能自动对这些内容进行操作。故基于输入的关键词,在表格文档中进行关键词的检索成为实现RPA所关注的技术之一。
本申请提供的表格信息提取方法的实现过程中可以使用到光学字符识别(Optical Character Recognition,OCR)技术。OCR技术是指用字符识别方法将纸上的字符形状翻译成计算机文字的过程。即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。
为便于对本申请实施例进行理解,首先对执行本申请实施例所公开的表格信息提取方法和表格模板配置方法的电子设备进行详细介绍。
如图1所示,是电子设备的方框示意图。电子设备100可以包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述的存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,该处理器113在接收到执行指令后,执行该程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口114将各种输入/输出装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元115用于提供给用户输入数据。该输入输出单元115可以是,但不限于,鼠标和键盘等。
上述的显示单元116在电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,该显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
本实施例中的电子设备100的存储器111中存储有对文档进行识别的OCR算法的计算机程序,处理器113在调用该OCR算法时,可以提取文档中的文本信息。
本实施例中的电子设备100用来执行表格模板配置方法中的步骤时,该电子设备100的显示单元116中可以显示表格模板配置的操作界面。
本实施例中的电子设备100可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述表格信息提取方法和表格模板配置方法的实现过程。
请参阅图2,是本申请实施例提供的表格信息提取方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤210,获取待处理文档对应的目标表格模板。
其中,该待处理文档中包含目标格式的表格。示例性地,该待处理文档中的表格可以是跨多页的表格。
可以预先在数据库中存储针对多个格式的表格的表格模板,在需要对文档进行表格信息提取时,可以先从数据库中筛选出匹配的表格模板,然后再使用确定出的表格模板实现对文档中的表格信息提取。
示例性地,各个表格模板可以通过一些关键信息命名,或者各个表格模板可以通过一些关键信息进行描述。需要筛选模板表达模板时,则可以先从待处理文档提取出文档关键信息,通过该文档关键信息与各个表格模板进行对比,以筛选出目标表格模板。
用来描述表格模板的关键信息可以是该表格模板所属文件中特有的信息,例如,该表格模板所属文件的所属公司、文档类别、文件专属格式等。该关键信息可以通过关键字表示,也可以通过正则表达式表示。
步骤220,根据该目标表格模板,确定出该目标格式的表格的边界标记。
该目标表格模板中可以记录有目标格式的表格的边界标记,可以直接从该目标表格模板中读取该边界标记。
该边界标记可以用来表示文档中目标格式的表格的边界。
该边界标记可以通过关键字表示,也可以通过正则表达式表示,还可以通过关键字以及相对偏移量表示,还可以通过该正则表达式以及相对偏移量表示。当然,根据实际表格的不同,该边界标记也可以不同。
步骤230,根据该边界标记,在该待处理文档中确定出目标表格内容。
通过将边界标记与待处理文档中的信息进行对比,以确定出待处理文档中目标格式的表格的边界,以筛选出目标表格内容。
可选地,可以先对该待处理文件进行文本信息提取,得到待处理文件的文本对象集合;然后,将该边界标记与文本对象集合中的各个对象进行对比,以确定出文本对象集合中目标格式的表格的区域,以此得到目标表格内容。
可选地,还可以将文本对象集合中目标格式的表格的区域,拼接成一个完整表格作为输出。
其中,该目标表格内容中包括待处理文件中目标格式的表格中的内容,但是该目标表格内容可以是以有框表格的形式呈现了待处理文件中目标格式的表格中的内容。
通过配置表格模板,可以基于该表格模板提取出目标格式的表格的边界标记,从而可以基于该边界标记在待处理文档确定出该待处理文档中所包含的目标格式的表格,从而实现表格的识别提取不再局限于有框表,提高表格信息提取的适用场景。
在一些情况中,表格可能不是不间断呈现的,例如,表格中间可能***一些不属于的表格中的内容。例如,待处理文件的每一页的开头***了一些解释性的文字,再例如,待处理文件的每一页的末尾可能会有一些页码、网址等表格以外的内容。为了避免将非表格信息识别为表格的内容,边界标记可以包括:文档边界标记和页内边界标记。示例性地,待处理文档中的表格可以是跨多页的表格,则该文档边界标记可以是跨页文档边界标记。上述的步骤230可以包括:步骤231和步骤232。
步骤231,根据该文档边界标记,在该待处理文档中确定出表格覆盖区域。
可选地,可以先确定出待处理文档进行文本识别,以识别出该待处理文档中所包含的文本对象集。例如,可以通过OCR算法对该待处理文档进行识别。也可以通过PDF解释模块对该待处理文档进行识别,以确定出该待处理对象中所包含的文本对象。例如,可以将该待处理对象中所包含的文本对象集可以表示为文本对象集S1。
示例性地,每个文本对象可以至少包括两部分数据:文本字符串、以及该文本字符串的包围盒坐标,其中,该包围盒坐标可以分别包括:该文本字符串的四个方位的坐标,例如,其中一个文本字符串的包围盒的坐标可以分别为(x0,y0),(x1,y1),(x2,y2),(x3,y3),其中,(x0,y0)可以表示文本字符串的左上角的坐标,(x1,y1)可以表示文本字符串的左下角的坐标,
(x2,y2)可以表示文本字符串的右上角的坐标,(x3,y3)可以表示文本字符串的右下角的坐标,由(x0,y0),(x1,y1),(x2,y2),(x3,y3)四个坐标可以形成一个矩形盒。在一个实例中,(x0,y0),(x1,y1),(x2,y2),(x3,y3)四个坐标的均值坐标((x0+x1+x2+x3)/4,(y0+y1+y2+y3)/4)为该文本字符串的中心坐标。
可以根据文档边界标记在该待处理文档的文本对象集进行筛选,以确定出表格覆盖区域,该表格覆盖区域可以包括待处理文档的文本对象集部分或全部文本对象。例如,该筛选出来的表格覆盖区域对应的文本对象集可以表示为文本对象集S2。
文档边界标记是以文档边界关键字表示,也可以以文档边界正则表达式表示,还可以通过文档边界关键字以及相对偏移量表示,还可以通过该文档边界正则表达式以及相对偏移量表示。
示例性地,若该文档边界标记是以文档边界关键字表示,则可以通过在文本对象集S1中查找出文档边界关键字,以在在文本对象集S1中确定出文档边界。该文档边界之间的文本对象则可以作为表格覆盖区域对应的文本对象集S2。
示例性地,若该文档边界标记是以关键字以及相对偏移量表示,则可以通过在文本对象集S1中查找出文档边界标记的文档边界关键字的位置,然后通过以该文档边界关键字为基准,在文本对象集S1中确定出该关键字的相对偏移量的位置,以此确定出待处理文档的文档边界,将文档边界之间的文本对象则可以作为表格覆盖区域对应的文本对象集S2。
例如,该关键字可以是“keyword11”,而相对偏移量可以为向下偏移2行文字。则可以先在文本对象集S1中找到该关键字“keyword11”,然后确定该关键字“keyword11”向下偏移两行的位置为该文档边界。
示例性地,若该文档边界标记是以正则表达式表示,则可以将正则表达式与在文本对象集S1中各个文本对象中的文本字符串的格式进行对比,以在文本对象集S1中确定出文档边界,该文档边界之前的文本对象形成的集合可以作为表格覆盖区域对应的文本对象集S2。
示例性地,若该文档边界标记是以正则表达式以及相对偏移量表示,则可以将正则表达式与在文本对象集S1中各个文本对象中的文本字符串的格式进行对比,确定出该正则表达式在文本对象集S1中的位置,再在文本对象集S1确定出距离该正则表达式的距离为该相对偏移量的位置,以该位置确定为文档边界,该文档边界之前的文本对象形成的集合可以作为表格覆盖区域对应的文本对象集S2。
步骤232,根据该页内边界标记,在该表格覆盖区域中提取每一页中的表格区域。
以表格覆盖区域对应的文本对象集S2为例,若该表格覆盖区域位于待处理文档中的M页内容,则该文本对象集S2中可以包括M份文本对象子集。则可以页内边界标记对每一份文本对象子集进行表格提取,以得到每一页中的表格区域。其中,M为大于或等于1的正整数。
本实施例中,该页内边界标记可以页内边界关键字表示,也可以以页内边界正则表达式表示。
针对第m份文本对象子集,若页内边界标记以页内边界关键字表示,则可以将该页内边界关键字与第m份文本对象子集中的文本字符串进行对比,以筛选出该第m份文本对象子集中的页内边界,该页内边界之间的文本对象则可以作为第m页的表格区域。该第m页的表格区域可以表示为文本对象集S6_m。
若页内边界标记以页内边界正则表达式表示,将该页内边界正则表达式与第m份文本对象子集中的文本字符串进行匹配,以筛选出该第m份文本对象子集中的页内边界,该页内边界之间的文本对象作为第m页的表格区域。
其中,m为大于或等于1,且小于或等于M的正整数。
可以将每页的文本对象集S6_x合并,即可得到待处理文档的表格区域的文本对象集S6。
可选地,各页的页内边界标记可以相同,也可以不同。
示例性地,可以为每一页均设置对应的页内边界标记;例如,每一页设置的页内边界标记可以均不同。再例如,各页设置的页内边界标记可以不完全相同。再例如,也可以将第一页设置为第一页内边界标记,第M页设置为第M页内边界标记,其它页设置为相同的内边界标记。
步骤233,根据每一页的该表格区域,确定出目标表格内容。
可选地,可以将每一页的表格区域直接拼接,则可以得到目标表格内容。
可选地,可以基于每一页的表格区域的文本对象集S6_x中的每个对象的文本字符串的包围盒坐标调整每一页的文本对象集S6_x的位置,以拼接出目标表格内容。
示例性地,可以先根据每一页的表格区域的文本对象集S6_x的各文本字符串的包围盒坐标确定出每一页表格区域的包围盒坐标,将各页表格区域的包围盒坐标依次拼接出目标表格内容。
下面以待处理文档中的目标格式的表格跨两页。在第一页和第二页的表体包围盒坐标分别为:
第一页:[lt(x1,y1),rt(x2,y1),ld(x1,y2),rd(x2,y2)];
第二页:[lt(x3,y3),rt(x4,y3),ld(x3,y4),rd(x4,y4)];
其中,lt(x1,y1)表示第一页的表体的左上角的坐标,rt(x2,y1)表示第一页的表体的右上角的坐标,ld(x1,y2)表示第一页的表体的左下角的坐标,rd(x2,y2)表示第一页的表体的右下角的坐标;lt(x3,y3)表示第二页的表体的左上角的坐标,rt(x4,y3)表示第二页的表体的右上角的坐标,ld(x3,y4)表示第二页的表体的左下角的坐标,rd(x4,y4)表示第二页的表体的右下角的坐标。
其中,第一页表的宽度为w1=|x1-x2|,第二页表的宽度为w2=|x3-x4|。为了使第二页的表体能够与第一页的表体进行拼接,可以先将第二页进行缩放处理,使得它和第一页有相同的宽度。
第二页需要相对第一页进行缩放的缩放系数可以表示为:c=w1/w2。对第二页进行缩放后的包围盒为:[lt(x3,y3),rt(x4’,y3),ld(x3,y4’),rd(x4’,y4’)]。其中|x3-x4’|=w1。第二页表体内的文本字符串的包围盒坐标也可以做上述的缩放变换。
其次,为了将第一页的表体与第二页的表体进行拼接,需要做平移变换,可以将第二页的表体与第一页的表体进行左对齐,以及将第二页的表体的顶部与第一页的表体的底部拼接。以上述实例为例,则可以对第二页的表体的坐标平移距离:△x=x1-x3,△y=y1-y3。即对第二页的表体的包围盒坐标[lt(x3,y3),rt(x4’,y3),ld(x3,y4’),rd(x4’,y4’)]和缩放处理后的文本字符串的包围盒坐标(x,y)全部加(△x,△y)。
上述仅仅是示例性的,如果待处理文档的目标格式的表格覆盖了更多页,则后续的第三页和第四页也可以依次按照上述方式进行处理,以使各页的表格区域实现拼接。
在不同的文档中,表格占文档中内容不同,例如,一些文档中在呈现表格之前有一些其它的内容,表格之后还包括一些结束内容;再例如,一些文档中以表格结束,表格之后再无其它内容;再例如,一些文档中以表格作为起始内容,表格之后还包括一些结束内容。因此,针对不同文档的文档边界标记也可以存在不同。下面通过几种实施方式介绍不同情况下的表格覆盖区域的确定方式。
在一种实施方式中,文档边界标记可以包括:文档上边界标记和文档下边界标记。
步骤231可以包括:根据该文档上边界标记,在该待处理文档中确定出表格起始位;根据该文档下边界标记,在该待处理文档中确定出表格终止位。
其中,该表格起始位与该表格终止位之间形成表格覆盖区域。
文档上边界标记可以以关键字表示,也可以以正则表达式表示,还可以通过关键字以及相对偏移量表示,还可以通过该正则表达式以及相对偏移量表示。文档下边界标记可以以关键字表示,也可以以正则表达式表示,还可以通过关键字以及相对偏移量表示,还可以通过该正则表达式以及相对偏移量表示。
示例性地,若文档上边界标记以关键字表示,将该文档上边界标记与待处理文档的文本对象集S1中的各个文本字符串进行对比,以确定出表格起始位。
若在文本对象集S1中的各个文本字符串中存在多个与文档上边界标记相同的文本字符串,可以将排序在待处理文档最前面的文本字符串的位置作为表格起始位。
若文档上边界标记以关键字以及相对偏移量表示,将该文档上边界标记中的关键字与待处理文档的文本对象集S1中的各个文本字符串进行对比,以确定出关键字位置,在文本对象集S1中确定距离该关键字位置的距离为该相对偏移量处的位置,以该位置作为表格起始位。
示例性地,若文档下边界标记以关键字表示,将该文档下边界标记与待处理文档的文本对象集S1中的各个文本字符串进行对比,以确定出表格终止位。
若在文本对象集S1中的各个文本字符串中存在多个与文档下边界标记相同的文本字符串,可以将排序在待处理文档的最后面的文本字符串的位置作为表格终止位。
示例性地,若文档上边界标记以正则表达式表示,将该文档上边界标记与待处理文档的文本对象集S1中的各个文本字符串的格式进行对比,以确定出表格起始位。
若在文本对象集S1中的各个文本字符串中存在多个与文档上边界标记格式相同的文本字符串,可以将排序在待处理文档最前面的文本字符串的位置作为表格起始位。
示例性地,若文档下边界标记以正则表达式表示,将该文档下边界标记与待处理文档的文本对象集S1中的各个文本字符串的格式进行对比,以确定出表格终止位。
若在文本对象集S1中的各个文本字符串中存在多个与文档下边界标记格式相同的文本字符串,可以将排序在待处理文档的最后面的文本字符串的位置作为表格终止位。
在一种实施方式中,文档边界标记可以仅包括文档上边界标记。步骤231可以包括:根据该文档上边界标记,在该待处理文档中确定出表格起始位;将该待处理文档的结束位置确定为表格终止位。
在一种实施方式中,文档边界标记包括:文档下边界标记。
步骤231可以包括:将该待处理文档的起始位置确定为表格起始位;根据该文档下边界标记,在该待处理文档中确定出表格终止位。
通过上述文档边界标记以此适应不同文档的表格覆盖区域的识别。
在不同的文档中,表格在每一页的呈现可能不同,例如,每一页的均以表头开始;再例如,每一页的页面底部可以包括一些网址、相关代号等信息。因此,针对不同文档的页内边界标记也可以存在不同。下面通过几种实施方式介绍不同情况下的表格覆盖区域的确定方式。
在一种实施方式中,页内边界标记包括:页内上边界标记和页内下边界标记。步骤232,可以包括:针对该表格覆盖区域中的每一页,根据该页内上边界标记确定出页内表格上边界;根据该页内下边界标记确定出页内表格下边界。
页内表格上边界与该页内表格下边界之间形成表格区域。
本实施例中,该页内上边界标记可以通过关键字表示,也可以通过正则表达式表示,还可以通过关键字以及相对偏移量表示,还可以通过该正则表达式以及相对偏移量表示。
在一种实施方式中,页内边界标记包括:页内上边界标记。步骤232,可以包括:针对该表格覆盖区域中的每一页,根据该页内上边界标记确定出页内表格上边界;将该页的底部作为页内表格下边界。
在一种实施方式中,页内边界标记包括:页内下边界标记。步骤232,可以包括:针对该表格覆盖区域中的每一页,根据该页的顶部作为页内表格上边界;根据该页内下边界标记确定出页内表格下边界。
通过上述文档边界标记以此适应不同文档的表格区域的识别。
为了使表格中的每一项键值能够更直观,因此,该边界标记还可以包括:列偏移和行基准列。该步骤233可以包括步骤2331至步骤2334。
步骤2331,根据每一页的该表格区域得到初始表格数据。
其中,该每一页的该表格区域进行拼接方式可以通过上述步骤233中介绍的两页的表格区域的拼接方式相似,具体可以参考上述步骤233的拼接方式的介绍。
步骤2332,根据该列偏移,将该初始表格数据划分成多列表格列数据。
其中,边界标记中的列偏移的数量可以与待处理文件中的目标格式的表格中的表头的列数。以上述表2为例,该表中包括:表头A、表头B、表头C以及表头D四列,则可以通过三个列偏移即可确定出四列表格列数据。
示例性地,每个列偏移可以通过横坐标表示,也可以通过与表头的包围框的左上角的横坐标的距离表示。
该初始表格数据的表头的包围框的左上角的横坐标,至第一个列偏移的横坐标之间的区域则为第一列表格列数据;第一个列偏移的横坐标至第二个列偏移的横坐标之间的区域则为第二列表格列数据;第i个列偏移的横坐标至第i+1个列偏移的横坐标之间的区域则为第i+1列表格列数据。
以表2为例,三个列偏移可以分别为c1、c2和c3。该初始表格数据的表头的包围框的左上角的横坐标可以表示为x0。
则可以确定出该初始表格数据中横坐标为x0至x0+c1之间的区域则为第一列表格列数据;该初始表格数据中横坐标为x0+c1至x0+c2之间的区域则为第二列表格列数据;该初始表格数据中横坐标为x0+c2至x0+c3之间的区域则为第三列表格列数据;该初始表格数据中横坐标为x0+c3至该初始表格数据的最右边的区域则为第二列表格列数据。
步骤2333,根据该行基准列,确定出该初始表格数据中的多行表格行数据。
其中,该行基准列为该目标格式的表格中的其中一列。
在一种实施方式中,若该行基准列的内容存储方式为顶对齐,将该初始表格数据中该行基准列的第n项对象所在行至第n+1项对象所在行的前一行之间的内容,确定为第n行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量。
在一种实施方式中,若该行基准列的内容存储方式为底对齐,将该初始表格数据的上边界至第一项对象所在行之间的内容,确定为第n+1行表格行数据;将该初始表格数据中该行基准列的第n项对象所在行的下一行至第n+1项对象所在行之间的内容,确定为第n+1行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量。
在一种实施方式中,若该行基准列的内容存储方式为居中对齐,确定出该初始表格数据的上边界与该行基准列的第一项对象之间的第一偏移量;以该第一项对象为基准,确定出与该第一项对象偏移为该第一偏移量的第一行表格行数据的下边界;将该初始表格数据的上边界与该第一行表格行数据的下边界,确定为第一行表格行数据;确定出该第n行表格行数据的下边界与该行基准列的第n+1项对象之间的第n+1偏移量;以该第n+1项对象为基准,确定出与该第n+1项对象偏移为该第n+1偏移量的第n+1行表格行数据的下边界;将该第n行表格行数据的下边界与该第n+1行表格行数据的下边界,确定为第n+1行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量。
示例性地,可以以第一项对象的中点位基准。
步骤2334,根据该多列表格列数据和该多行表格行数据,确定出目标表格内容。
示例性地,可以直接将多列表格列数据和该多行表格行数据组装成表格,即可得到目标表格内容。
可选地,可以按照该多列表格列数据与该多行表格行数据的数量,确定出输出表格;根据该多列表格列数据与该多行表格行数据中字符内容,填充该输出表格,以得到目标表格内容。
例如,若确定出了I列表格列数据和J行表格行数据,则可以构建出J+1行、I列的表格。
通过上述方式,还可以将初始表格数据进行行列的划分,可以使确定出的目标表格内容更加直观,可读性更强。
针对一些如表3所示的存在嵌套结构的表格,还可以将嵌套结构提取出来,构建新的表格。上述步骤2234可以包括:确定各行该表格行数据中是否存在嵌套结构;若表格行数据中存在嵌套结构,则根据该目标表格模板,确定出嵌套结构偏移以及嵌套键;若该表格行数据中存在嵌套结构,针对第j行表格行数据,根据该嵌套结构偏移,确定出该第j行表格行数据中的嵌套结构区域;在该嵌套结构区域中,确定出该第j行表格行数据中所包含的嵌套键以及该嵌套键对应的键值;根据该嵌套键以及该嵌套键对应的键值、该多列表格列数据和该多行表格行数据,确定出目标表格内容。
其中,该j的取值为大于或等于1,且小于或等于J。J表示确定出的表格行数据的行数。
示例性地,可以根据表格行数据确定是否存在夸多列的数据,确定该表格行数据存在嵌套结构。
示例性地,若任意一行表格行数据内中的部分数据存在多行数据。例如,表3所示,该第一行表格行数据中存在不属于表头A、表头B、表头C、表头D的内容:KEY1:key11、KEY2:key21、KEY3:key31。则可以确定该表格行数据存在嵌套结构。
该嵌套结构偏移的可以表示为该行表格行数据中的上边界与嵌套结构区域的距离。以第j行表格行数据为例,若该第j行表格行数据的表体的上边界的纵坐标可以表示为yj,该嵌套结构偏移可以为yd,在可以确定纵坐标yj+yd,至下一行表格行数据的上边界yj+1之间的区域可以确定为嵌套结构区域。
可选地,在指定符号位于嵌套键与该嵌套键对应的键值之间。则可以根据该指定符号的识别,确定出嵌套键与该嵌套键对应的键值。
以表3所示的实例为例,则该指定符号可以为“:”,其中一个”:”的两侧分别为KEY1与key11,则可以确定该key11为嵌套键对应的键值。
可选地,可以根据键偏移,确定出各个嵌套键对应的键值。示例性地,每一个嵌套键对应一个键偏移,嵌套键确定后,距离该嵌套键的距离为键偏移的位置处,则为该嵌套键对应的键值。
上述的根据该嵌套键以及该嵌套键对应的键值、该多列表格列数据和该多行表格行数据,确定出目标表格内容可以包括:根据该嵌套键以及该目标格式的原始表头,构建新表头;将该嵌套键对应的键值以及该表格列数据,填充该新表头,以得到目标表格内容。
以表3所示的实例为例,嵌套键可以包括KEY1、KEY2、KEY3,则可以构建出新的表头可以包括:表头A、表头B、表头C、表头D、KEY1、KEY2、KEY3。然后,以对应的键值填充KEY1、KEY2、KEY3所在列,因此,对表3处理后,可以得到以下表4所示内容。
表头A | 表头B | 表头C | 表头D | KEY1 | KEY2 | KEY3 |
a1 | b1 | c1 | d1 | key11 | key21 | key31 |
a2 | b2 | c2 | d2 | key12 | key22 | key32 |
表4
通过上述方法可以对不同的无框表进行信息提取,并输出能够直观阅读的有框表。
基于同一申请构思,本申请实施例中还提供了与表格信息提取方法对应的表格信息提取装置,由于本申请实施例中的装置解决问题的原理与前述的表格信息提取方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图3,是本申请实施例提供的表格信息提取装置的功能模块示意图。本实施例中的表格信息提取装置中的各个模块用于执行上述方法实施例中的各个步骤。表格信息提取装置包括:第一获取模块310、标记确定模块320和表格确定模块330;其中各个模块的内容如下所示:
第一获取模块310,用于获取待处理文档对应的目标表格模板,其中,该待处理文档中包含目标格式的表格;
标记确定模块320,用于根据该目标表格模板,确定出该目标格式的表格的边界标记;
表格确定模块330,用于根据该边界标记,在该待处理文档中确定出目标表格内容。
请参阅图4,是本申请实施例提供的表格模板配置方法的流程图。下面将对图4所示的具体流程进行详细阐述。
步骤410,获取表格样本文档。
其中,该表格样本文档包括目标格式的表格。
示例性地,该表格样本文档可以是具有代表性的文件。
步骤420,将该表格样本文档进行文本识别,以得到文本对象集合。
可选地,可以通过OCR算法对该表格样本文档进行文本识别,以提取出表格样本文档中的字符串以及各个字符的坐标。
示例性地,该文本对象集合中的每个文本对象可以包括:字符串和该字符串的坐标。例如,该字符串的坐标可以通过包围盒坐标表示,也可以通过单点坐标表示。
步骤430,接收对该文本对象集合的边界标记的选择操作,以确定出目标表格模板。
其中,该目标表格模板用于前述的表格模板配置方法中的表格模板配置。
示例性地,目标表格模板包括:文档上边界标记、文档下边界标记、页内上边界标记、页内下边界标记、列偏移以及行基准列。
上述的步骤430可以包括:将该文本对象集合显示在配置操作界面;在该配置操作界面的文档边界定义区中,基于对该文本对象集合的选择操作,生成该文档上边界标记和该文档下边界标记;在配置操作界面的页内边界定义区中,基于对该文本对象集合的选择操作,生成该页内上边界标记和该页内下边界标记;在该配置操作界面的列定义区中,基于对该文本对象集合中选中的列分割线,确定出该列偏移;在该配置操作界面的行定义区中,基于对该文本对象集合的选择操作,确定该行基准列。
其中,配置操作界面中包括文档边界定义区、页内边界定义区、列定义区、行定义区。
示例性地,文档边界定义区、页内边界定义区、列定义区、行定义区可以以均独立窗口的形式呈现。在该配置操作界面中触发指定按键后,可以启动文档边界定义区、页内边界定义区、列定义区、行定义区的各个独立窗口。
例如,文档边界定义区为一个文档边界定义窗口,该窗口中可以包括输入框,该输入框用于接收用户输入的文档边界的相关信息。再例如,该输入框可以用来实时定位鼠标光标的位置以及选中的内容,在接收到确认键后,鼠标光标所选中的内容作为文档边界。
例如,页内边界定义区为一个页内边界定义窗口,该窗口中可以包括输入框,该输入框用于接收用户输入的页内边界的相关信息。再例如,该输入框可以用来实时定位鼠标光标的位置以及选中的内容,在接收到确认键后,鼠标光标所选中的内容作为页内边界。
例如,列定义区为一个列定义窗口,该窗口中可以包括输入框,该输入框用于接收用户输入的列的相关信息。再例如,该输入框可以用来实时定位鼠标光标的位置以及选中的内容,在接收到确认键后,鼠标光标所选中的内容作为列。
例如,行定义区为一个行定义窗口,该窗口中可以包括输入框,该输入框用于接收用户输入的行的相关信息。再例如,该输入框可以用来实时定位鼠标光标的位置以及选中的内容,在接收到确认键后,鼠标光标所选中的内容作为行。
示例性地,文档边界定义区、页内边界定义区、列定义区、行定义区也可以显示在配置操作界面的不同区域。文档边界定义区所在区域可以用来配置文档边界,页内边界定义区所在区域可以用来配置页内边界,列定义区所在区域可以用来配置列偏移,行定义区所在区域可以用来配置行基准列。
示例性地,各文档边界定义区、页内边界定义区、列定义区、行定义区中均可以包括接收框,该接收框中可以用于接收用户输入的文档上边界标记、文档下边界标记、页内上边界标记、页内下边界标记、列偏移以及行基准列。
可选地,该各文档边界定义区、页内边界定义区、列定义区、行定义区的接收框,也可以用来填充文档上边界标记、文档下边界标记、页内上边界标记、页内下边界标记、列偏移以及行基准列。其中,各个文档上边界标记、文档下边界标记、页内上边界标记、页内下边界标记、列偏移以及行基准列可以在用户对该文本对象集合进行选择操作时,自动生成,并将生成的文档上边界标记、文档下边界标记、页内上边界标记、页内下边界标记、列偏移以及行基准列填充至接收框中。
可选地,该目标表格模板还包括:嵌套结构偏移以及嵌套键。配置操作界面还可以包括:嵌套定义区。
上述的步骤430还可以包括:在该嵌套定义区,基于对该文本对象集合的选择操作确定出嵌套参考位以及该嵌套结构偏移;在该嵌套定义区,基于对该文本对象集合中的嵌套结构中的选择操作,确定出该嵌套键。
可选地,该嵌套定义区也可以包括接收框,该接收框可以接收用户输入的嵌套结构偏移以及嵌套键。
可选地,该嵌套定义区的接收框,也可以用来填充嵌套结构偏移以及嵌套键。其中,各个嵌套结构偏移以及嵌套键可以在用户对该文本对象集合进行选择操作时,自动生成,并将生成的嵌套结构偏移以及嵌套键填充至接收框中。
通过边界标记的选择操作确定出目标表格模板,以解决不同类型的表格的信息的提取。进一步地,可以针对不同的边界标记,设置专门的操作区,可以使表格模板的配置更全面,从而可以实现基于该表格模板能够实现更准确的表格信息的提取。
基于同一申请构思,本申请实施例中还提供了与表格模板配置方法对应的表格模板配置装置,由于本申请实施例中的装置解决问题的原理与前述的表格模板配置方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图5,是本申请实施例提供的表格模板配置装置的功能模块示意图。本实施例中的表格模板配置装置中的各个模块用于执行上述方法实施例中的各个步骤。表格模板配置装置包括:第二获取模块510、文本识别模块520和操作接收模块530;其中各个模块的内容如下所示:
第二获取模块510,用于获取表格样本文档,其中,该表格样本文档包括目标格式的表格;
文本识别模块520,用于将该表格样本文档进行文本识别,以得到文本对象集合;
操作接收模块530,用于接收对该文本对象集合的边界标记的选择操作,以确定出目标表格模板,其中,该目标表格模板用于前述实施方式该的表格信息提取方法中的表格信息提取。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的表格信息提取方法或表格模板配置方法的步骤。
本申请实施例所提供的表格信息提取方法和表格模板配置方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的表格信息提取方法或表格模板配置方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种表格信息提取方法,其特征在于,包括:
获取待处理文档对应的目标表格模板,其中,所述待处理文档中包含目标格式的表格;
根据所述目标表格模板,确定出所述目标格式的表格的边界标记;
根据所述边界标记,在所述待处理文档中确定出目标表格内容。
2.根据权利要求1所述的方法,其特征在于,所述边界标记包括:文档边界标记和页内边界标记;
所述根据所述边界标记,在所述待处理文档中确定出目标表格内容,包括:
根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域;
根据所述页内边界标记,在所述表格覆盖区域中提取每一页中的表格区域;
根据每一页的所述表格区域,确定出目标表格内容。
3.根据权利要求2所述的方法,其特征在于,所述文档边界标记包括:文档上边界标记和文档下边界标记,或者,所述文档边界标记包括:文档上边界标记;
所述根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域,包括:根据所述文档上边界标记,在所述待处理文档中确定出表格起始位;根据所述文档下边界标记,在所述待处理文档中确定出表格终止位,其中,所述表格起始位与所述表格终止位之间形成表格覆盖区域;或者,
所述根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域,包括:
根据所述文档上边界标记,在所述待处理文档中确定出表格起始位;
将所述待处理文档的结束位置确定为表格终止位,其中,所述表格起始位与所述表格终止位之间形成表格覆盖区域。
4.根据权利要求2所述的方法,其特征在于,所述根据所述文档边界标记,在所述待处理文档中确定出表格覆盖区域,包括:
对所述待处理文档进行文本识别,以确定出所述待处理文档中所包含的文本对象集;
根据所述文档边界标记在所述待处理文档的文本对象集进行筛选,以确定出所述待处理文档中的表格覆盖区域。
5.根据权利要求4所述的方法,其特征在于,所述文档边界标记包括:文档边界关键字、文档边界正则表达式、文档边界关键字和相对偏移量、文档边界正则表达式和相对偏移量中的任意一组;
所述根据所述文档边界标记在所述待处理文档的文本对象集进行筛选,以确定出所述待处理文档中的表格覆盖区域,包括:
在所述待处理文档的文本对象集筛选出所述文档边界关键字,以所述文档边界关键字的位置确定为所述待处理文档的文档边界,以所述文档边界之间的文本对象,作为待处理文档的表格覆盖区域;或者,
在所述待处理文档的文本对象集筛选所述文档边界关键字的第一位置,以所述文档边界关键字为基准,在文本对象集中确定出所述文档边界关键字的所述相对偏移量的第二位置,以确定出所述待处理文档的文档边界,将文档边界之间的文本对象作为待处理文档的表格覆盖区域;或者,
在所述待处理文档的文本对象集筛选出所述文档边界正则表达式,以所述文档边界正则表达式的位置确定为所述待处理文档的文档边界,以所述文档边界之间的文本对象,作为待处理文档的表格覆盖区域;或者,
在所述待处理文档的文本对象集筛选所述文档边界正则表达式的第三位置,以所述文档边界正则表达式为基准,在文本对象集中确定出所述文档边界正则表达式的所述相对偏移量的第四位置,以确定出所述待处理文档的文档边界,将文档边界之间的文本对象作为待处理文档的表格覆盖区域。
6.根据权利要求4所述的方法,其特征在于,所述表格覆盖区域覆盖位于所述待处理文本的M页内容中,所述表格覆盖区域包括M份文本对象子集;
所述页内边界标记包括:页内边界关键字表示或者页内边界正则表达式表示;
所述根据所述页内边界标记,在所述表格覆盖区域中提取每一页中的表格区域,包括:
针对第m份文本对象子集,将所述页内边界关键字与第m份文本对象子集中的文本字符串进行对比,以筛选出所述第m份文本对象子集中的页内边界,所述页内边界之间的文本对象作为第m页的表格区域;或者,
针对第m份文本对象子集,将所述页内边界正则表达式与第m份文本对象子集中的文本字符串进行匹配,以筛选出所述第m份文本对象子集中的页内边界,所述页内边界之间的文本对象作为第m页的表格区域,其中,m为大于或等于1,且小于或等于M的正整数。
7.根据权利要求2所述的方法,其特征在于,所述文本对象包括文本字符串和所述文本字符串的包围盒坐标;
所述根据每一页的所述表格区域,确定出目标表格内容,包括:
根据各页所述表格区域所包含的文本对象的包围盒坐标,确定出各页所述表格区域的包围盒坐标;
各页所述表格区域的包围盒坐标依次拼接出目标表格内容。
8.根据权利要求7所述的方法,其特征在于,所述各页所述表格区域的包围盒坐标依次拼接出目标表格内容,包括:
针对第i页表格区域与第i+1页表格区域,将所述第i+1页表格区域的包围盒坐标进行缩放处理,以使用缩放后的第i+1页表格区域的宽度与所述第i页表格区域宽度相同;
将所述第i+1页表格区域与缩放处理后的第i+1页表格区域进行拼接;
其中,所述i的取值依次从1至M-1,从而依次将M页表格区域拼接为目标表格内容。
9.根据权利要求2所述的方法,其特征在于,所述页内边界标记包括:页内上边界标记和页内下边界标记;
所述根据所述页内边界标记,在所述表格覆盖区域中提取每一页中的表格区域,包括:
针对所述表格覆盖区域中的每一页,根据所述页内上边界标记确定出页内表格上边界;
根据所述页内下边界标记确定出页内表格下边界,所述页内表格上边界与所述页内表格下边界之间形成表格区域。
10.根据权利要求2所述的方法,其特征在于,所述边界标记包括:列偏移和行基准列;
所述根据每一页的所述表格区域,确定出目标表格内容,包括:
根据每一页的所述表格区域得到初始表格数据;
根据所述列偏移,将所述初始表格数据划分成多列表格列数据;
根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,其中,所述行基准列为所述目标格式的表格中的其中一列;
根据所述多列表格列数据和所述多行表格行数据,确定出目标表格内容。
11.根据权利要求10所述的方法,其特征在于,所述根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,包括:
若所述行基准列的内容存储方式为顶对齐,将所述初始表格数据中所述行基准列的第n项对象所在行至第n+1项对象所在行的前一行之间的内容,确定为第n行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量;或者,
所述根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,包括:
若所述行基准列的内容存储方式为底对齐,将所述初始表格数据的上边界至第一项对象所在行之间的内容,确定为第n+1行表格行数据;将所述初始表格数据中所述行基准列的第n项对象所在行的下一行至第n+1项对象所在行之间的内容,确定为第n+1行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量;或者,
所述根据所述行基准列,确定出所述初始表格数据中的多行表格行数据,包括:
若所述行基准列的内容存储方式为居中对齐,确定出所述初始表格数据的上边界与所述行基准列的第一项对象之间的第一偏移量;
以所述第一项对象为基准,确定出与所述第一项对象偏移为所述第一偏移量的第一行表格行数据的下边界;
将所述初始表格数据的上边界与所述第一行表格行数据的下边界,确定为第一行表格行数据;
确定出所述第n行表格行数据的下边界与所述行基准列的第n+1项对象之间的第n+1偏移量;
以所述第n+1项对象为基准,确定出与所述第n+1项对象偏移为所述第n+1偏移量的第n+1行表格行数据的下边界;
将所述第n行表格行数据的下边界与所述第n+1行表格行数据的下边界,确定为第n+1行表格行数据,其中,n的取值为大于或等于1,小于或等于N-1,N为行基准列中所包含的对象数量。
12.根据权利要求10所述的方法,其特征在于,所述根据所述多列表格列数据和所述多行表格行数据,确定出目标表格内容,包括:
按照所述多列表格列数据与所述多行表格行数据的数量,确定出输出表格;
根据所述多列表格列数据与所述多行表格行数据中字符内容,填充所述输出表格,以得到目标表格内容。
13.根据权利要求10所述的方法,其特征在于,所述根据所述多列表格列数据和所述多行表格行数据,确定出目标表格内容,包括:
确定各行所述表格行数据中是否存在嵌套结构;
若所述表格行数据中存在嵌套结构,则根据所述目标表格模板,确定出嵌套结构偏移以及嵌套键;
若所述表格行数据中存在嵌套结构,针对第j行表格行数据,根据所述嵌套结构偏移,确定出所述第j行表格行数据中的嵌套结构区域;
在所述嵌套结构区域中,确定出所述第j行表格行数据中所包含的嵌套键以及所述嵌套键对应的键值;
根据所述嵌套键以及所述嵌套键对应的键值、所述多列表格列数据和所述多行表格行数据,确定出目标表格内容。
14.根据权利要求10所述的方法,其特征在于,所述根据所述嵌套键以及所述嵌套键对应的键值、所述多列表格列数据和所述多行表格行数据,确定出目标表格内容,包括:
根据所述嵌套键以及所述目标格式的原始表头,构建新表头;
将所述嵌套键对应的键值以及所述表格列数据,填充所述新表头,以得到目标表格内容。
15.一种表格模板配置方法,其特征在于,包括:
获取表格样本文档,其中,所述表格样本文档包括目标格式的表格;
将所述表格样本文档进行文本识别,以得到文本对象集合;
接收对所述文本对象集合的边界标记的选择操作,以确定出目标表格模板。
16.根据权利要求15所述的方法,其特征在于,所述目标表格模板包括:文档上边界标记、文档下边界标记、页内上边界标记、页内下边界标记、列偏移以及行基准列;
所述接收对所述文本对象集合的边界标记的选择操作,以确定出目标表格模板,包括:
将所述文本对象集合显示在配置操作界面,所述配置操作界面中包括文档边界定义区、页内边界定义区、列定义区、行定义区;
在所述文档边界定义区中,基于对所述文本对象集合的选择操作,生成所述文档上边界标记和所述文档下边界标记;
在页内边界定义区中,基于对所述文本对象集合的选择操作,生成所述页内上边界标记和所述页内下边界标记;
在所述列定义区中,基于对所述文本对象集合中选中的列分割线,确定出所述列偏移;
在所述行定义区中,基于对所述文本对象集合的选择操作,确定所述行基准列。
17.根据权利要求15所述的方法,其特征在于,所述目标表格模板还包括:嵌套结构偏移以及嵌套键;
所述配置操作界面包括:嵌套定义区;
所述接收对所述文本对象集合的边界标记的选择操作,以确定出目标表格模板,还包括:
在所述嵌套定义区,基于对所述文本对象集合的选择操作确定出嵌套参考位以及所述嵌套结构偏移;
在所述嵌套定义区,基于对所述文本对象集合中的嵌套结构中的选择操作,确定出所述嵌套键。
18.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至17任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435725.4A CN115759020A (zh) | 2022-11-16 | 2022-11-16 | 表格信息提取方法、表格模板配置方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435725.4A CN115759020A (zh) | 2022-11-16 | 2022-11-16 | 表格信息提取方法、表格模板配置方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115759020A true CN115759020A (zh) | 2023-03-07 |
Family
ID=85372064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211435725.4A Pending CN115759020A (zh) | 2022-11-16 | 2022-11-16 | 表格信息提取方法、表格模板配置方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115759020A (zh) |
-
2022
- 2022-11-16 CN CN202211435725.4A patent/CN115759020A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7801358B2 (en) | Methods and systems for analyzing data in media material having layout | |
JP3425408B2 (ja) | 文書読取装置 | |
Dong et al. | Tablesense: Spreadsheet table detection with convolutional neural networks | |
US20070098263A1 (en) | Data entry apparatus and program therefor | |
US20050289448A1 (en) | System and method for gathering, indexing, and supplying publicly available data charts | |
CN112434691A (zh) | 基于智能解析识别的hs编码匹配、展示方法、***及存储介质 | |
CN103838566A (zh) | 信息处理装置和信息处理方法 | |
US20150199567A1 (en) | Document classification assisting apparatus, method and program | |
US11341319B2 (en) | Visual data mapping | |
JPH11282955A (ja) | 文字認識装置、文字認識方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US11386263B2 (en) | Automatic generation of form application | |
En et al. | New public dataset for spotting patterns in medieval document images | |
Lehenmeier et al. | Layout detection and table recognition–recent challenges in digitizing historical documents and handwritten tabular data | |
Zanibbi et al. | Math search for the masses: Multimodal search interfaces and appearance-based retrieval | |
Blomqvist et al. | Reading the ransom: Methodological advancements in extracting the swedish wealth tax of 1571 | |
Ishihara et al. | Analyzing visual layout for a non-visual presentation-document interface | |
CN115759020A (zh) | 表格信息提取方法、表格模板配置方法和电子设备 | |
Chen et al. | Genre identification for office document search and browsing | |
AU2018100324A4 (en) | Image Analysis | |
Alzuru et al. | Cooperative human-machine data extraction from biological collections | |
Kashevnik et al. | An Approach to Engineering Drawing Organization: Title Block Detection and Processing | |
KR102533523B1 (ko) | 명세서 내용을 함께 표시하는 부호 기반 도면 표시 시스템 | |
KR102635715B1 (ko) | 특허 문서에 대한 워드 클라우드 표시 시스템 | |
Lee et al. | Automatic generation of structured hyperdocuments from document images | |
KR20220142901A (ko) | 반정형 문서로부터 정보를 추출하는 방법 및 시스템 |
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 |