表格表头识别方法和装置、电子设备与流程

allin2023-03-13  70



1.本公开涉及数据识别技术领域,尤其是一种表格表头识别方法和装置、电子设备。


背景技术:

2.通常表格(例如:excel)的模版会规定一行作为数据列头,后面的行作为数据,计算机程序会根据数据表头的信息将读取的数据转化为数据对象,再交由具体的业务逻辑处理。因为excel的模版根据业务的需要,数据表头行可能不是第一行。传统的方式需要在代码中设置固定行号进行读取,如果用户修改了模版,或者在模版中添加了隐藏行将导致数据表格中头行与代码设置的不一致,导致导入失败;或者用户在表格区域之外添加了一些注释类的内容会影响系统读取,多读或少读数据列,导致数据错误。


技术实现要素:

3.为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种表格表头识别方法和装置、电子设备。
4.根据本公开实施例的一个方面,提供了一种表格表头识别方法,包括:
5.读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵;其中,n为大于1的奇数;
6.通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;其中,每个所述第一预测位置组包括第一左角点位置和第一右角点位置,所述m为大于或等于零的整数;
7.响应于所述当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;其中,每组所述第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置;
8.基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置。
9.可选地,所述读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵,包括:
10.逐行读取所述当前表格中的数据,得到所述当前表格前n行的原始数据;
11.对所述n行的原始数据进行编码转换得到原数据矩阵。
12.可选地,所述通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组,包括:
13.将所述原数据矩阵分别与所述第一特征矩阵和所述第二特征矩阵进行卷积和计算,得到第一判定矩阵和第二判定矩阵;其中,所述第一特征矩阵和第二特征矩阵都为n*n的矩阵;
14.基于所述第一判定矩阵中数值最大的位置,确定所述预测表头的至少一个第一左
角点位置;
15.基于所述第二判定矩阵中数值最大的位置,确定所述预测表头的至少一个第一右角点位置;
16.基于所述至少一个第一左角点位置和所述至少一个第一右角点位置确定所述m个第一预测位置组。
17.可选地,所述将所述原数据矩阵分别与所述第一特征矩阵和所述第二特征矩阵进行卷积和计算,得到第一判定矩阵和第二判定矩阵,包括:
18.根据第一特征矩阵和第二特征矩阵的大小对所述原数据矩阵进行填充扩展,得到扩展矩阵;
19.分别以所述第一特征矩阵和所述第二特征矩阵作为卷积核与所述扩展矩阵执行卷积和计算,得到第一判定矩阵和第二判定矩阵。
20.可选地,所述基于所述至少一个第一左角点位置和所述至少一个第一右角点位置确定所述m个第一预测位置组,包括:
21.确定所述至少一个第一左角点位置中每个第一左角点位置的所在行,以及确定所述至少一个第一右角点位置中每个第一右角点位置的所在行;
22.将所在行为同一行的所述第一左角点位置和所述第一右角点位置,确定为所述第一预测位置组,得到所述m个第一预测位置组。
23.可选地,还包括:
24.响应于所述当前表格中包括的数据行数小于n+2,确定所述m是否为零;
25.当所述m为零时,以所述当前表格中的第一行作为所述目标位置;
26.当所述m不为零时,从所述至少一个第一预测位置组中确定行数最小的第一预测位置组作为所述目标位置。
27.可选地,所述基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置,包括:
28.确定所述m个第一预测位置组中每个第一预测位置组对应的列差值是否小于n+2;其中,所述列差值为所述第一预测位置组中所述第一右角点位置所在列数与所述第一左角点位置所在列数之差;
29.响应于每个所述第一预测位置组对应的列差值小于n+2,基于所述至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置;
30.响应于每个所述第一预测位置组对应的列差值大于n+2,基于所述至少一个第一预测位置组和至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置。
31.可选地,所述基于所述至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置,包括:
32.确定每组所述第二预测位置组中的至少一个第二左角点位置在其他所述第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定所述至少一个第二右角点位置在其他所述第二预测位置组中是否存在位置重合的第二右角点位置;
33.响应于存在位置重合,基于位置重合的所述第二左角点位置和第二右角点位置,确定所述当前表格对应的表头的目标位置;
34.响应于不存在位置重合,基于所述n值最大的新数据矩阵对应的第二左角点位置
和第二右角点位置,确定所述当前表格对应的表头的目标位置。
35.可选地,所述基于所述至少一个第一预测位置组和至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置,包括:
36.确定所述至少一个第一预测位置组的至少一个第一左角点位置在所述至少一组第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定所述至少一个第一右角点位置在所述至少一组第二预测位置组中是否存在位置重合的第二右角点位置;
37.响应于存在位置重合,基于位置重合的所述第一左角点位置和第一右角点位置,确定所述当前表格对应的表头的目标位置;
38.响应于不存在位置重合,基于所述n取值最大的新数据矩阵对应的第二左角点位置和第二右角点位置,确定所述当前表格对应的表头的目标位置。
39.可选地,所述至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组,包括:
40.对n的取值加2,继续读取所述当前表格中的内容,得到所述当前表格前n行的数据对应的新数据矩阵;
41.通过所述新第一特征矩阵和新第二特征矩阵对所述新数据矩阵进行处理,确定预测表头对应的至少一个第二预测位置;
42.响应于所述当前表格中包括的数据行数大于n+2,迭代执行上述步骤,直到增大n的取值的次数达到设定次数,得到所述至少一组第二预测位置组;
43.响应于所述当前表格中包括的数据行数小于n+2,得到所述至少一组第二预测位置组。
44.根据本公开实施例的另一方面,提供了一种表格表头识别装置,包括:
45.数据读取模块,用于读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵;其中,n为大于1的奇数;
46.表头预测模块,用于通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;其中,每个所述第一预测位置组包括第一左角点位置和第一右角点位置,所述m为大于或等于零的整数;
47.迭代预测模块,用于响应于所述当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;其中,每组所述第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置;
48.第一位置确定模块,用于基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置。
49.可选地,所述数据读取模块,具体用于逐行读取所述当前表格中的数据,得到所述当前表格前n行的原始数据;对所述n行的原始数据进行编码转换得到原数据矩阵。
50.可选地,所述表头预测模块,包括:
51.卷积计算单元,用于将所述原数据矩阵分别与所述第一特征矩阵和所述第二特征矩阵进行卷积和计算,得到第一判定矩阵和第二判定矩阵;其中,所述第一特征矩阵和第二特征矩阵都为n*n的矩阵;
52.左角点预测单元,用于基于所述第一判定矩阵中数值最大的位置,确定所述预测
表头的至少一个第一左角点位置;
53.右角点预测单元,用于基于所述第二判定矩阵中数值最大的位置,确定所述预测表头的至少一个第一右角点位置;
54.位置预测单元,用于基于所述至少一个第一左角点位置和所述至少一个第一右角点位置确定所述m个第一预测位置组。
55.可选地,所述卷积计算单元,具体用于根据第一特征矩阵和第二特征矩阵的大小对所述原数据矩阵进行填充扩展,得到扩展矩阵;分别以所述第一特征矩阵和所述第二特征矩阵作为卷积核与所述扩展矩阵执行卷积和计算,得到第一判定矩阵和第二判定矩阵。
56.可选地,所述位置预测单元,具体用于确定所述至少一个第一左角点位置中每个第一左角点位置的所在行,以及确定所述至少一个第一右角点位置中每个第一右角点位置的所在行;将所在行为同一行的所述第一左角点位置和所述第一右角点位置,确定为所述第一预测位置组,得到所述m个第一预测位置组。
57.可选地,所述装置还包括:
58.第二位置确定模块,用于响应于所述当前表格中包括的数据行数小于n+2,确定所述m是否为零;当所述m为零时,以所述当前表格中的第一行作为所述目标位置;当所述m不为零时,从所述至少一个第一预测位置组中确定行数最小的第一预测位置组作为所述目标位置。
59.可选地,所述第一位置确定模块,具体用于确定所述m个第一预测位置组中每个第一预测位置组对应的列差值是否小于n+2;其中,所述列差值为所述第一预测位置组中所述第一右角点位置所在列数与所述第一左角点位置所在列数之差;响应于每个所述第一预测位置组对应的列差值小于n+2,基于所述至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置;响应于每个所述第一预测位置组对应的列差值大于n+2,基于所述至少一个第一预测位置组和至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置。
60.可选地,所述第一位置确定模块在基于所述至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置时,用于确定每组所述第二预测位置组中的至少一个第二左角点位置在其他所述第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定所述至少一个第二右角点位置在其他所述第二预测位置组中是否存在位置重合的第二右角点位置;响应于存在位置重合,基于位置重合的所述第二左角点位置和第二右角点位置,确定所述当前表格对应的表头的目标位置;响应于不存在位置重合,基于所述n值最大的新数据矩阵对应的第二左角点位置和第二右角点位置,确定所述当前表格对应的表头的目标位置。
61.可选地,所述第一位置确定模块在基于所述至少一个第一预测位置组和至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置时,用于确定所述至少一个第一预测位置组的至少一个第一左角点位置在所述至少一组第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定所述至少一个第一右角点位置在所述至少一组第二预测位置组中是否存在位置重合的第二右角点位置;响应于存在位置重合,基于位置重合的所述第一左角点位置和第一右角点位置,确定所述当前表格对应的表头的目标位置;响应于不存在位置重合,基于所述n取值最大的新数据矩阵对应的第二左角点位置和第二右
角点位置,确定所述当前表格对应的表头的目标位置。
62.可选地,所述迭代预测模块,具体用于对n的取值加2,继续读取所述当前表格中的内容,得到所述当前表格前n行的数据对应的新数据矩阵;通过所述新第一特征矩阵和新第二特征矩阵对所述新数据矩阵进行处理,确定预测表头对应的至少一个第二预测位置;响应于所述当前表格中包括的数据行数大于n+2,迭代执行上述步骤,直到增大n的取值的次数达到设定次数,得到所述至少一组第二预测位置组;响应于所述当前表格中包括的数据行数小于n+2,得到所述至少一组第二预测位置组。
63.根据本公开实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一实施例所述的表格表头识别方法。
64.根据本公开实施例的还一方面,提供了一种电子设备,所述电子设备包括:
65.处理器;
66.用于存储所述处理器可执行指令的存储器;
67.所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的表格表头识别方法。
68.基于本公开上述实施例提供的一种表格表头识别方法和装置、电子设备,读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵;其中,n为大于1的奇数;通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;其中,每个所述第一预测位置组包括第一左角点位置和第一右角点位置,所述m为大于或等于零的整数;响应于所述当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;其中,每组所述第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置;基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置;本公开实施例提出了基于具体数据内容,利用特征矩阵智能识别数据表头行的方式,提供了更多的灵活性和容错性,解决了数据内容位置变化导致的问题。
69.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
70.通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
71.图1是本公开一示例性实施例提供的表格表头识别方法的流程示意图。
72.图2a是本公开图1所示的实施例中步骤102的一个流程示意图。
73.图2b是本公开一示例性实施例提供的表格表头识别方法中一可选示例中当前表格的部分内容示意图。
74.图2c是图2b所示实施例中的表格数据经过编码转换得到的原数据矩阵示意图。
75.图3是本公开图1所示的实施例中步骤104的一个流程示意图。
76.图4是本公开图1所示的实施例中步骤108的一个流程示意图。
77.图5是本公开图1所示的实施例中步骤106的一个流程示意图。
78.图6是本公开一示例性实施例提供的表格表头识别装置的结构示意图。
79.图7是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
80.下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
81.应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
82.本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
83.还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
84.还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
85.另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。本公开中所指数据可以包括文本、图像、视频等非结构化数据,也可以是结构化数据。
86.还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
87.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
88.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
89.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
90.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
91.本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
92.终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目
标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
93.示例性方法
94.图1是本公开一示例性实施例提供的表格表头识别方法的流程示意图。本实施例可应用在电子设备上,如图1所示,包括如下步骤:
95.步骤102,读取当前表格中的内容,得到当前表格前n行的数据对应的原数据矩阵。
96.其中,n为大于1的奇数,例如,3、5、7等等。
97.本实施例中,当前表格可以为包括任意数据内容的表格文件(例如excel文件);在处理当前表格中的数据时,可边读取边处理,而不需要一次性读取所有数据,在处理n行数据时,读取n行即可进行处理,节省内存空间。
98.本文中多以excel文件作为表格文件进行说明,本领域人员应能理解,例如mac os中的numbers文件、金山excel文件等其他表格类文件也属于本发明应用范围。
99.步骤104,通过第一特征矩阵和第二特征矩阵对原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组。
100.其中,每个第一预测位置组包括第一左角点位置和第一右角点位置,m为大于或等于零的整数。
101.在一实施例中,第一特征矩阵用于识别当前表格前n行的数据中与该第一特征矩阵形状相同的区域中的左上角的位置,第二特征矩阵用于识别当前表格前n行的数据中与该第二特征矩阵形状相同的区域中的右上角的位置。
102.步骤106,响应于当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组。
103.其中,每组第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置。
104.本实施例中,由于对数据是执行部分读取部分处理的方式,而表头行可能不在前n行中,此时需要扩大数据处理范围,通过增大n的取值来实现对当前表格中其他行的识别。
105.步骤108,基于m个第一预测位置组和/或至少一组第二预测位置组,确定当前表格对应的表头的目标位置。
106.本公开上述实施例提供的一种表格表头识别方法和装置、存储介质、电子设备,读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵;其中,n为大于1的奇数;通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;其中,每个所述第一预测位置组包括第一左角点位置和第一右角点位置,所述m为大于等于零的整数;响应于所述当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;其中,每组所述第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置;基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置;本公开实施例提出了基于具体数据内容,利
用特征矩阵智能识别数据表头行的方式,提供了更多的灵活性和容错性,解决了数据内容位置变化导致的问题。
107.如图2a所示,在上述图1所示实施例的基础上,步骤102可包括如下步骤:
108.步骤1021,逐行读取当前表格中的数据,得到当前表格前n行的原始数据。
109.本实施例中,可以通过sax方式读取当前表格中的数据,实现逐行读取,对当前表格内容从上到下依次读取,且不能二次读取,所以需要一个缓存结果存储用于判定的excel部分内容。
110.可选地,数据读取缓存的过程可以包括:当关闭智能判定时,常规的读取是,一行一行的读取excel内容,当前行号等于设定数据列头行时候(例如,未读取到第n行时),设定数据对象属性结构(整行内容作为数据列,排除空白单元格);当前行号大于设定数据列头行时候(即读取得到n行数据时),作为数据内容,转化为数据对象,作为原始数据。
111.当开启智能判定时,设定的判定内容大小(默认128),一行一行的接受excel内容,放置在缓存中,当缓存的行数等于设定的判定内容大小(即读取得到n行数据时)或读取到excel结尾时,将已经读取的excel内容进行表头识别,返回预测的表格表头的行号。将缓存中数据列头行的行号的数据设定为数据对象属性结构(判定内容范围左右边界内的作为数据列,可以排除大部分非列头信息的其他内容),缓存中大于数据列头行的行号的数据作为数据内容继续处理,如excel还有未读取内容,继续读取excel余下内容作为数据内容处理。
112.步骤1022,对n行的原始数据进行编码转换得到原数据矩阵。
113.本实施例中,将表格中的数据内容通过变换函数变换为二维矩阵,可选地,变换函数这里采用最简单的形式即可满足大部分场景;例如,一种示例变换函数为:将单元格为空的变换为0,将单元格不为空的变换为1,基于该变换函数对如图2b所示的部分表格内容进行编码转换,即可得到如图2c所示的二维矩阵作为原数据矩阵;或者,另一种示例变换后为:根据单元格内文字或数值的字符长度变换为相应数值,字符长度越长变换后得到的数值越大;本实施例将excel内容前n行的内容读取出来,根据变换函数,转化为一个二维矩阵,将识别数据列头行号的问题,转换为识别一个包含数据列头和数据内容的矩形位置的问题,实现了表头位置的自动识别,无需人工参与,节省了人力。
114.如图3所示,在上述图1所示实施例的基础上,步骤104可包括如下步骤:
115.步骤1041,将原数据矩阵分别与第一特征矩阵和第二特征矩阵进行卷积和计算,得到第一判定矩阵和第二判定矩阵。
116.其中,第一特征矩阵和第二特征矩阵都为n*n的矩阵。
117.可选地,假设第一特征矩阵的大小为size*size,确定用于识别矩形的左上角的第一特征矩阵的确定过程可包括:设定标志flag为size/2取整,循环行列(序号从0开始)行序号+1小于等于flag、或列序号+1小于等于flag,则当前矩阵位置值设置为-1,否则设置为1,该过程可通过以下伪代码实现:
[0118][0119]
经过上述处理,当size=3,则第一特征矩阵的大小为3*3,可得到第一特征矩阵为该第一特征矩阵决定了形状越与第一特征矩阵类似的数据矩阵,其与第一特征矩阵的卷积和在左上角的位置值越大。
[0120]
可选地,假设第二特征矩阵的大小为size*size,确定用于识别矩形的右上角的第二特征矩阵的确定过程可包括:设定标志flag为size/2取整,循环行列(序号从0开始)行序号+1小于等于flag或列序号大于flag,则当前矩阵位置值设置为-1,否则设置为1,该过程可通过以下伪代码实现:
[0121][0122][0123]
经过上述处理,当size=3,则第二特征矩阵的大小为3*3,可得到第二特征矩阵为该第二特征矩阵决定了形状越与第二特征矩阵类似的数据矩阵,其与第二特征矩阵的卷积和在右上角的位置值越大。
[0124]
步骤1042,基于第一判定矩阵中数值最大的位置,确定预测表头的至少一个第一左角点位置。
[0125]
可选地,第一判定矩阵与原数据矩阵的大小相同,第一判定矩阵中数值最大的位置可能存在至少一个,即,存在多个最大值,此时,将多个最大值对应的位置都作为原数据矩阵中的至少一个第一左角点位置。
[0126]
步骤1043,基于第二判定矩阵中数值最大的位置,确定预测表头的至少一个第一右角点位置。
[0127]
可选地,第二判定矩阵与原数据矩阵的大小相同,第二判定矩阵中数值最大的位置可能存在至少一个,即,存在多个最大值,此时,将多个最大值对应的位置都作为原数据矩阵中的至少一个第一右角点位置。
[0128]
步骤1044,基于至少一个第一左角点位置和至少一个第一右角点位置确定m个第一预测位置组。
[0129]
可选地,该步骤1044还可以包括:确定至少一个第一左角点位置中每个第一左角点位置的所在行,以及确定至少一个第一右角点位置中每个第一右角点位置的所在行;
[0130]
将所在行为同一行的第一左角点位置和第一右角点位置,确定为第一预测位置组,得到m个第一预测位置组。
[0131]
由于本实施例最终目的在于确定当前表格中表头所在行,而表头通常为一行,因此,表头所在行对应的左角点位置和右角点位置必须在同一行,本实施例通过判定矩阵确定的至少一个第一左上角点位置和至少一个第一右上角点位置中可能存在处于同一行的第一左上角点位置与第一右上角点位置,也可能存在不在同一行的第一左上角点位置与第一右上角点位置,本实施例中,将处于同一行的第一左上角点位置与第一右上角点位置确定为一个第一预测位置组,当所有第一左上角点位置与第一右上角点位置都不处于同一行时,m的取值为零,即,基于当前n的取值没有得到预测表头,可认为表头不在当前表格的前n行数据中。
[0132]
可选地,上述实施例中提出的步骤1041可以包括:
[0133]
根据第一特征矩阵和第二特征矩阵的大小对原数据矩阵进行填充扩展,得到扩展矩阵。
[0134]
本实施例中,在对原数据矩阵进行卷积和计算之前,为了避免数据漏算,需要对原数据矩阵进行填充,使得后面计算的判定矩阵和原数据矩阵大小一致;其中,填充是将原数据矩阵周围都填充设定圈数的0,其设定圈数的数值k基于第一判定矩阵(或第二判定矩阵)的行数(或列数)除以2之后的取整数值,例如,第一判定矩阵的行数为3,则在原数据矩阵四周添加一圈0,即在原数据矩阵上方添加一行0,下方添加一行0,左侧添加一列0,右侧添加一列0。
[0135]
分别以第一特征矩阵和第二特征矩阵作为卷积核与扩展矩阵执行卷积和计算,得到第一判定矩阵和第二判定矩阵。
[0136]
本实施例中,分别用第一特征矩阵和第二特征矩阵以步长为1的进度,对扩展矩阵做卷积和计算,判定当前哪一位置的形状和特征矩阵(第一特征矩阵或第二特征矩阵)最匹配,卷积和计算后得到第一判定矩阵和第二判定矩阵,由于第一判定矩阵和第二判定矩阵的大小与原数据矩阵相同,因此,可基于第一判定矩阵中的最大值位置确定预测表头的左角点在原数据矩阵中的位置,基于第二判定矩阵中的最大值位置确定预测表头的右上角点在原数据矩阵中的位置;实现对原数据矩阵的表头位置预测。
[0137]
在一些可选的实施例中,本实施例提供的方法还包括:
[0138]
响应于当前表格中包括的数据行数小于n+2,确定m是否为零;
[0139]
当m为零时,以当前表格中的第一行作为目标位置;
[0140]
当m不为零时,从至少一个第一预测位置组中确定行数最小的第一预测位置组作为目标位置。
[0141]
本实施例对应当前表格中的数据不足以支持下一次n的取值进行增大,例如,当n=5,且当前表格中的内容对应的总行数为5行时;此时,不需要继续增大n的取值继续计算新的预测位置,而以当前得到的m个第一预测位置组确定目标位置,并且,m=0时,可认为基于当前n的取值未得到第一预测位置组,此时以默认的第一行作为表头;而当存在至少一个第一预测位置组时,由于表头通常处于较上方的位置,本实施例将行数最小的第一预测位置组作为目标位置,提升了确定的表头位置的可信度。
[0142]
如图4所示,在上述图1所示实施例的基础上,步骤108可包括如下步骤:
[0143]
步骤1081,确定m个第一预测位置组中每个第一预测位置组对应的列差值是否小于n+2;如果是,执行步骤1082,否则,执行步骤1083。
[0144]
其中,列差值为第一预测位置组中第一右角点位置所在列数与第一左角点位置所在列数之差。
[0145]
步骤1082,基于至少一组第二预测位置组,确定当前表格对应的表头的目标位置。
[0146]
步骤1083,基于至少一个第一预测位置组和至少一组第二预测位置组,确定当前表格对应的表头的目标位置。
[0147]
其中,列差值等于n+2的情况可以执行步骤1083或步骤1082,具体可根据实际应用场景确定。
[0148]
本实施例表明,如果单次预测得到的预测位置中,第一右角点位置与第一左角点位置之间的距离小于下一轮次的特征矩阵大小时,说明该预测位置中的数据并不是以整行,而通常表头行对应的列数是表格数据中的列数最大值,因此,说明该预测位置不准确,则当前轮次得到的预测位置不参与下一轮计算,提升了本实施例提供的目标位置的准确性。
[0149]
可选地,步骤1082可以包括:
[0150]
确定每组第二预测位置组中的至少一个第二左角点位置在其他第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定至少一个第二右角点位置在其他第二预测位置组中是否存在位置重合的第二右角点位置;
[0151]
响应于存在位置重合,基于位置重合的第二左角点位置和第二右角点位置,确定当前表格对应的表头的目标位置;
[0152]
响应于不存在位置重合,基于n值最大的新数据矩阵对应的第二左角点位置和第二右角点位置,确定当前表格对应的表头的目标位置。
[0153]
本实施例中,当每轮次的表头位置预测都较准确时,得到的预测位置应当是重合的,因此,本实施例在存在重合的左右角点位置时,以重合位置作为目标位置,而当不存在重合位置时,由于最大轮次(n的取值为最大)覆盖到的当前表格数据的内容最多,以该最大轮次的预测位置确定目标位置,避免了当表头处于较后行时被遗漏的问题。
[0154]
可选地,步骤1083可以包括:
[0155]
确定至少一个第一预测位置组的至少一个第一左角点位置在至少一组第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定至少一个第一右角点位置在至少一组第二预测位置组中是否存在位置重合的第二右角点位置;
[0156]
响应于存在位置重合,基于位置重合的第一左角点位置和第一右角点位置,确定当前表格对应的表头的目标位置;
[0157]
响应于不存在位置重合,基于n取值最大的新数据矩阵对应的第二左角点位置和第二右角点位置,确定当前表格对应的表头的目标位置。
[0158]
本实施例中,可将第一预测位置组也当做一个第二预测位置组,此时确定目标位置的过程与上述实施例步骤1082的过程类似,可参照上述实施例进行理解,在此不再赘述。
[0159]
如图5所示,在上述图1所示实施例的基础上,步骤106可包括如下步骤:
[0160]
步骤1061,对n的取值加2,继续读取当前表格中的内容,得到当前表格前n行的数据对应的新数据矩阵。
[0161]
步骤1062,通过新第一特征矩阵和新第二特征矩阵对新数据矩阵进行处理,确定预测表头对应的至少一个第二预测位置。
[0162]
步骤1063,判断增大n的取值的次数是否达到设定次数,如果是,得到至少一组第二预测位置组,结束;否则,执行步骤1064。
[0163]
本实施例中,如果总轮次超过设定次数,则停止下一轮计算,可选地,设定次数可以设定为3、4、5等数值,该设定次数的具体取值可根据实际应用场景进行设置。
[0164]
步骤1064,判断当前表格中包括的数据行数是否小于n+2,如果是,执行步骤1065;否则,返回执行步骤1061。
[0165]
步骤1065,得到至少一组第二预测位置组。
[0166]
本实施例中的n的取值是逐次递增的,每次对n的取值增加2,再以该增加后的n值进行表头预测,实现多轮次的表头位置预测,结束迭代的条件包括当前表格中的数据行数都已经被处理,或者迭代次数达到设定次数;此时,得到所有预测表头得到的第二预测位置组;通过多轮预测使在表格内容中的任意行的表头都能被准确识别,避免了仅识别较前位置的行数而导致的结果不准确的问题,提升了目标位置的准确性。
[0167]
在一可选示例中,第一轮设定特征矩阵大小为3*3,将原数据矩阵与第一特征矩阵和第二特征矩阵进行卷积和计算,得到的第一判定矩阵和第二判定矩阵,第一判定矩阵中值最大的位置就最可能是表头的左上角的位置,第二判定矩阵中值最大的位置就最可能是表头的右上角的位置,如果当前预测的左上角的位置和数据矩阵右上角的位置在同一行,那这一行就成为备选的预测数据列头行。当多行出现相同得分时候,扩大特征矩阵大小,高宽各增加2(第二轮为5*5)的矩阵,再次匹配,直到匹配出唯一的最高分预测数据列头行。有一些特殊情况也会提前结束,直接返回当前条件下最可能的结果;特征情况可以包括:1,如果已经读取到excel的尾行,且总行数不足够继续扩大特征矩阵大小;2,目前待定的多个预测数据列头行的数据宽度不足够继续扩大矩阵大小。
[0168]
本公开实施例提供的任一种表格表头识别方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种表格表头识别方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种表格表头识别方法。下文不再赘述。
[0169]
示例性装置
[0170]
图6是本公开一示例性实施例提供的表格表头识别装置的结构示意图。如图6所示,本实施例提供的装置包括:
[0171]
数据读取模块61,用于读取当前表格中的内容,得到当前表格前n行的数据对应的原数据矩阵;其中,n为大于1的奇数;
[0172]
表头预测模块62,用于通过第一特征矩阵和第二特征矩阵对原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;其中,每个第一预测位置组包括第一左角点位置和第一右角点位置,m为大于或等于零的整数;
[0173]
迭代预测模块63,用于响应于当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;其中,每组第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置;
[0174]
第一位置确定模块64,用于基于m个第一预测位置组和/或至少一组第二预测位置组,确定当前表格对应的表头的目标位置。
[0175]
可选地,数据读取模块61,具体用于逐行读取当前表格中的数据,得到当前表格前n行的原始数据;对n行的原始数据进行编码转换得到原数据矩阵。
[0176]
可选地,表头预测模块62,包括:
[0177]
卷积计算单元,用于将原数据矩阵分别与第一特征矩阵和第二特征矩阵进行卷积和计算,得到第一判定矩阵和第二判定矩阵;其中,第一特征矩阵和第二特征矩阵都为n*n的矩阵;
[0178]
左角点预测单元,用于基于第一判定矩阵中数值最大的位置,确定预测表头的至少一个第一左角点位置;
[0179]
右角点预测单元,用于基于第二判定矩阵中数值最大的位置,确定预测表头的至少一个第一右角点位置;
[0180]
位置预测单元,用于基于至少一个第一左角点位置和至少一个第一右角点位置确定m个第一预测位置组。
[0181]
可选地,卷积计算单元,具体用于根据第一特征矩阵和第二特征矩阵的大小对原数据矩阵进行填充扩展,得到扩展矩阵;分别以第一特征矩阵和第二特征矩阵作为卷积核与扩展矩阵执行卷积和计算,得到第一判定矩阵和第二判定矩阵。
[0182]
可选地,位置预测单元,具体用于确定至少一个第一左角点位置中每个第一左角点位置的所在行,以及确定至少一个第一右角点位置中每个第一右角点位置的所在行;将所在行为同一行的第一左角点位置和第一右角点位置,确定为第一预测位置组,得到m个第一预测位置组。
[0183]
可选地,本实施例提供的装置还包括:
[0184]
第二位置确定模块,用于响应于当前表格中包括的数据行数小于n+2,确定m是否为零;当m为零时,以当前表格中的第一行作为目标位置;当m不为零时,从至少一个第一预测位置组中确定行数最小的第一预测位置组作为目标位置。
[0185]
可选地,第一位置确定模块64,具体用于确定m个第一预测位置组中每个第一预测位置组对应的列差值是否小于n+2;其中,列差值为第一预测位置组中第一右角点位置所在
列数与第一左角点位置所在列数之差;响应于每个第一预测位置组对应的列差值小于n+2,基于至少一组第二预测位置组,确定当前表格对应的表头的目标位置;响应于每个第一预测位置组对应的列差值大于n+2,基于至少一个第一预测位置组和至少一组第二预测位置组,确定当前表格对应的表头的目标位置。
[0186]
可选地,第一位置确定模块64在基于至少一组第二预测位置组,确定当前表格对应的表头的目标位置时,用于确定每组第二预测位置组中的至少一个第二左角点位置在其他第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定至少一个第二右角点位置在其他第二预测位置组中是否存在位置重合的第二右角点位置;响应于存在位置重合,基于位置重合的第二左角点位置和第二右角点位置,确定当前表格对应的表头的目标位置;响应于不存在位置重合,基于n值最大的新数据矩阵对应的第二左角点位置和第二右角点位置,确定当前表格对应的表头的目标位置。
[0187]
可选地,第一位置确定模块64在基于至少一个第一预测位置组和至少一组第二预测位置组,确定当前表格对应的表头的目标位置时,用于确定至少一个第一预测位置组的至少一个第一左角点位置在至少一组第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定至少一个第一右角点位置在至少一组第二预测位置组中是否存在位置重合的第二右角点位置;响应于存在位置重合,基于位置重合的第一左角点位置和第一右角点位置,确定当前表格对应的表头的目标位置;响应于不存在位置重合,基于n取值最大的新数据矩阵对应的第二左角点位置和第二右角点位置,确定当前表格对应的表头的目标位置。
[0188]
可选地,迭代预测模块63,具体用于对n的取值加2,继续读取当前表格中的内容,得到当前表格前n行的数据对应的新数据矩阵;通过新第一特征矩阵和新第二特征矩阵对新数据矩阵进行处理,确定预测表头对应的至少一个第二预测位置;响应于当前表格中包括的数据行数大于n+2,迭代执行上述步骤,直到增大n的取值的次数达到设定次数,得到至少一组第二预测位置组;响应于当前表格中包括的数据行数小于n+2,得到至少一组第二预测位置组。
[0189]
示例性电子设备
[0190]
下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是第一设备100和第二设备200中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
[0191]
图7图示了根据本公开实施例的电子设备的框图。
[0192]
如图7所示,电子设备70包括一个或多个处理器71和存储器72。
[0193]
处理器71可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备70中的其他组件以执行期望的功能。
[0194]
存储器72可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器71可以运行所述程序指令,以实现上文所述的本公开的各个实施例的表格表头识别方法以及/或者其他期望的功能。在所述计算机可读存储
介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
[0195]
在一个示例中,电子设备70还可以包括:输入装置73和输出装置74,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
[0196]
例如,在该电子设备是第一设备100或第二设备200时,该输入装置73可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置73可以是通信网络连接器,用于从第一设备100和第二设备200接收所采集的输入信号。
[0197]
此外,该输入装置73还可以包括例如键盘、鼠标等等。
[0198]
该输出装置74可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置74可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
[0199]
当然,为了简化,图7中仅示出了该电子设备70中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备70还可以包括任何其他适当的组件。
[0200]
示例性计算机程序产品和计算机可读存储介质
[0201]
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的表格表头识别方法中的步骤。
[0202]
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0203]
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的表格表头识别方法中的步骤。
[0204]
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0205]
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
[0206]
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部
分说明即可。
[0207]
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
[0208]
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
[0209]
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
[0210]
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0211]
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

技术特征:
1.一种表格表头识别方法,其特征在于,包括:读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵;其中,n为大于1的奇数;通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;其中,每个所述第一预测位置组包括第一左角点位置和第一右角点位置,所述m为大于或等于零的整数;响应于所述当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;其中,每组所述第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置;基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置。2.根据权利要求1所述的方法,其特征在于,所述读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵,包括:逐行读取所述当前表格中的数据,得到所述当前表格前n行的原始数据;对所述n行的原始数据进行编码转换得到原数据矩阵。3.根据权利要求1或2所述的方法,其特征在于,所述通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组,包括:将所述原数据矩阵分别与所述第一特征矩阵和所述第二特征矩阵进行卷积和计算,得到第一判定矩阵和第二判定矩阵;其中,所述第一特征矩阵和第二特征矩阵都为n*n的矩阵;基于所述第一判定矩阵中数值最大的位置,确定所述预测表头的至少一个第一左角点位置;基于所述第二判定矩阵中数值最大的位置,确定所述预测表头的至少一个第一右角点位置;基于所述至少一个第一左角点位置和所述至少一个第一右角点位置确定所述m个第一预测位置组。4.根据权利要求3所述的方法,其特征在于,所述将所述原数据矩阵分别与所述第一特征矩阵和所述第二特征矩阵进行卷积和计算,得到第一判定矩阵和第二判定矩阵,包括:根据第一特征矩阵和第二特征矩阵的大小对所述原数据矩阵进行填充扩展,得到扩展矩阵;分别以所述第一特征矩阵和所述第二特征矩阵作为卷积核与所述扩展矩阵执行卷积和计算,得到第一判定矩阵和第二判定矩阵。5.根据权利要求3或4所述的方法,其特征在于,所述基于所述至少一个第一左角点位置和所述至少一个第一右角点位置确定所述m个第一预测位置组,包括:确定所述至少一个第一左角点位置中每个第一左角点位置的所在行,以及确定所述至少一个第一右角点位置中每个第一右角点位置的所在行;将所在行为同一行的所述第一左角点位置和所述第一右角点位置,确定为所述第一预测位置组,得到所述m个第一预测位置组。6.根据权利要求1-5任一所述的方法,其特征在于,还包括:
响应于所述当前表格中包括的数据行数小于n+2,确定所述m是否为零;当所述m为零时,以所述当前表格中的第一行作为所述目标位置;当所述m不为零时,从所述至少一个第一预测位置组中确定行数最小的第一预测位置组作为所述目标位置。7.根据权利要求1-6任一所述的方法,其特征在于,所述基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置,包括:确定所述m个第一预测位置组中每个第一预测位置组对应的列差值是否小于n+2;其中,所述列差值为所述第一预测位置组中所述第一右角点位置所在列数与所述第一左角点位置所在列数之差;响应于每个所述第一预测位置组对应的列差值小于n+2,基于所述至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置;响应于每个所述第一预测位置组对应的列差值大于n+2,基于所述至少一个第一预测位置组和至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置。8.根据权利要求7所述的方法,其特征在于,所述基于所述至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置,包括:确定每组所述第二预测位置组中的至少一个第二左角点位置在其他所述第二预测位置组中是否存在位置重合的第二左角点位置;以及,确定所述至少一个第二右角点位置在其他所述第二预测位置组中是否存在位置重合的第二右角点位置;响应于存在位置重合,基于位置重合的所述第二左角点位置和第二右角点位置,确定所述当前表格对应的表头的目标位置;响应于不存在位置重合,基于所述n值最大的新数据矩阵对应的第二左角点位置和第二右角点位置,确定所述当前表格对应的表头的目标位置。9.一种表格表头识别装置,其特征在于,包括:数据读取模块,用于读取当前表格中的内容,得到所述当前表格前n行的数据对应的原数据矩阵;其中,n为大于1的奇数;表头预测模块,用于通过第一特征矩阵和第二特征矩阵对所述原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;其中,每个所述第一预测位置组包括第一左角点位置和第一右角点位置,所述m为大于或等于零的整数;迭代预测模块,用于响应于所述当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;其中,每组所述第二预测位置组包括至少一个第二左角点位置和至少一个第二右角点位置;第一位置确定模块,用于基于所述m个第一预测位置组和/或至少一组第二预测位置组,确定所述当前表格对应的表头的目标位置。10.一种电子设备,其特征在于,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-8任一所述的表格表头识别方法。

技术总结
本公开实施例公开了一种表格表头识别方法和装置、电子设备,其中,方法包括:读取当前表格中的内容,得到当前表格前n行的数据对应的原数据矩阵;通过第一特征矩阵和第二特征矩阵对原数据矩阵进行处理,确定预测表头对应的m个第一预测位置组;响应于当前表格中包括的数据行数大于n+2,至少一次增大n的取值,以增大后的n对应的新数据矩阵、新第一特征矩阵和新第二特征矩阵,确定至少一组第二预测位置组;基于m个第一预测位置组和/或至少一组第二预测位置组,确定当前表格对应的表头的目标位置;本公开实施例提供了更多的灵活性和容错性,解决了数据内容位置变化导致的问题。解决了数据内容位置变化导致的问题。解决了数据内容位置变化导致的问题。


技术研发人员:黄培桀
受保护的技术使用者:晨贝(天津)技术有限公司
技术研发日:2022.03.30
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-5817.html

最新回复(0)