一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种表格解析方法、装置及电子设备与流程

2022-06-01 15:46:31 来源:中国专利 TAG:


1.本技术涉及深度学习领域,特别涉及一种表格解析方法、装置及电子设备。


背景技术:

2.表格是一种以结构化格式表示信息的便捷方法,适用于建立和呈现关系数据,是文档页面中最重要的数据对象之一。随着深度学习技术的飞速发展,目标检测、ocr引擎(optical character recognition,文字识别引擎)和文档结构识别等技术也取得了许多新的进展,提供了多种表格识别的解决方案,目前的表格识别领域已经有了较多方案。但是获得表格结构之后,如何对表格中的数据进一步解析以从表格中提取出有效信息,比如获得表格中数据之间的对应关系,始终没有通用的行之有效的方法。


技术实现要素:

3.本技术公开了一种表格解析方法、装置,以确定组成表格的单元格,并进一步对表格中各单元格进行解析得到表格中的有效信息。
4.根据本技术实施例的第一方面,提供一种表格解析方法,该方法应用于电子设备,包括:
5.将目标文件输入至单元格检测模型得到所述目标文件中各单元格的位置信息;
6.依据所述目标文件中各单元格的位置信息,确定用于反映各单元格之间行列关系的空间邻接矩阵;
7.获得所述目标文件中各单元格的单元格特征信息;所述单元格的单元格特征信息用于标识该单元格;
8.依据所述单元格特征信息和所述空间邻接矩阵对所述目标文件中的单元格进行解析得到解析结果,所述解析结果至少包括:任意两个不同单元格之间的键值对关系;所述两个不同单元格之间的键值对关系用于指示所述两个单元格分别表示的内容具有对应关系、以及该对应关系成立的概率。
9.可选的,所述单元格检测模型至少包括:表格检测层、局部掩码对齐层、全局掩码对齐层和后处理层:
10.所述表格检测层,用于检测所述目标文件中的表格区域;
11.所述局部掩码对齐层,用于对所述表格区域进行非空单元格检测得到至少一个非空单元格的候选区域,获得每个候选区域的局部掩码;
12.所述全局掩码对齐层,用于确定所述表格区域中表格框线的位置,以及所述表格区域的全局掩码;
13.所述后处理层,用于针对每一候选区域,依据该候选区域的局部掩码和该候选区域在所述全局掩码中对应的掩码,对该候选区域进行优化,将优化后的候选区域的坐标作为其对应的非空单元格的坐标;依据所述表格框线的位置和所述非空单元格的坐标,确定空单元格的坐标。
14.可选的,所述局部掩码对齐层对所述表格区域进行非空单元格检测得到至少一个非空单元格的候选区域,获得每个候选区域的局部掩码包括:
15.在所述表格区域中确定各个非空单元格的单元格边框以及该非空单元格内文本块的位置,将各单元格边框内的区域作为各非空单元格对应的候选区域;
16.预测各个单元格边框中至少一行像素点中各像素点对应的水平软标签值;所述水平软标签值用于指示所述单元格的置信度;
17.预测各个单元格边框中至少一列像素点中各像素点对应的垂直软标签值;所述垂直软标签值用于指示所述单元格的置信度;
18.针对每一单元格边框,将各个像素点对应的水平软标签值和垂直软标签值作为该单元格边框对应的候选区域的局部掩码。
19.可选的,获得所述目标文件中各单元格的单元格特征信息包括:
20.针对所述目标文件中每一单元格,依据所述目标文件中该单元格的位置信息确定所述位置信息对应的位置特征;
21.对该单元格进行语义解析得到该单元格的语义特征;单元格的语义特征用于指示单元格中的数据内容;
22.对该单元格在所述目标文件中的图像进行图像特征提取,得到该单元格的图像特征;
23.将该单元格的位置特征、语义特征和图像特征中的至少之一确定为单元格的单元格特征信息。
24.可选的,所述对该单元格进行语义解析得到该单元格的语义特征包括:
25.将该单元格的位置信息和所述目标文件输入至文本识别工具中得到该单元格中的数据内容;
26.将该单元格中的数据内容输入至语义特征提取模型得到该单元格的语义特征。
27.可选的,所述对该单元格在所述目标文件中的图像进行图像特征提取包括:
28.将该单元格的位置信息和单元格特征图像输入至图像特征提取模型得到该单元格的图像特征;
29.其中,所述单元格特征图像用于指示该单元格在所述目标文件中的位置。
30.可选的,所述依据所述单元格特征信息和所述空间邻接矩阵对所述目标文件中的单元格进行解析得到解析结果,包括:
31.将所述单元格特征信息和所述空间邻接矩阵输入至图卷积神经网络,得到所述目标文件中任意两个不同单元格之间的键值对关系;
32.所述两个不同单元格之间的键值对关系是通过对该两个不同单元格的单元格特征信息分别进行至少一次指定运算确定的。
33.根据本技术实施例的第二方面,提供一种表格解析装置,该装置应用于电子设备,包括:
34.位置信息获取单元,用于将目标文件输入至单元格检测模型得到所述目标文件中各单元格的位置信息;
35.邻接矩阵获取单元,用于依据所述目标文件中各单元格的位置信息,确定用于反映各单元格之间行列关系的空间邻接矩阵;
36.特征信息获取单元,用于获得所述目标文件中各单元格的单元格特征信息;所述单元格的单元格特征信息用于标识该单元格;
37.表格解析单元,用于依据所述单元格特征信息和所述空间邻接矩阵对所述目标文件中的单元格进行解析得到解析结果,所述解析结果至少包括:任意两个不同单元格之间的键值对关系;所述两个不同单元格之间的键值对关系用于指示所述两个单元格分别表示的内容具有对应关系、以及该对应关系成立的概率。
38.可选的,所述位置信息获取单元中的单元格检测模型至少包括:表格检测层、局部掩码对齐层、全局掩码对齐层和后处理层;
39.所述表格检测层,用于检测所述目标文件中的表格区域;
40.所述局部掩码对齐层,用于对所述表格区域进行文本检测得到至少一个文本块,依据所述文本块从所述表格区域中确定出非空单元格的候选位置信息;
41.所述全局掩码对齐层,用于确定所述表格区域中表格框线的位置,以及对所述表格区域进行文本检测得到至少一个文本块,依据所述表格框线和所述文本块从所述表格区域中确定出各单元格的候选位置信息;
42.所述后处理层,用于依据所述全局掩码对齐层确定出的各单元格的候选位置信息,对所述局部掩码对齐层确定出的非空单元格的候选位置信息进行处理,得到所述非空单元格的位置信息和空单元格的位置信息。
43.根据本技术实施例的第三方面,提供一种电子设备,该电子设备包括:处理器和存储器;
44.所述存储器,用于存储机器可执行指令;
45.所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所述的表格解析方法。
46.本技术的实施例提供的技术方案可以包括以下有益效果:
47.由以上技术方案可知,本技术提供的方案通过将目标文件输入至单元格检测模型得到目标文件中各单元格的位置信息,然后依据目标文件中各单元格的位置信息,确定用于反映各单元格之间行列关系的空间邻接矩阵,同时获得该目标文件中各单元格的单元格特征信息,依据上述的单元格特征信息和空间邻接矩阵对目标文件中的单元格进行解析得到解析结果,从而得到表格中每两个单元格之间的对应关系,以确定出表格中的有效信息。
48.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
49.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
50.图1为本技术实施例提供的一种表格解析方法的流程图;
51.图2为本技术实施例提供的两种表格结构的示意图;
52.图3为本技术实施例提供的目标文件的示意图;
53.图4为本技术实施例提供的单元格边框内像素点的水平软标签值和垂直软标签值的示意图;
54.图5为本技术实施例提供的一种表格解析装置的示意图;
55.图6为本技术实施例提供的一种电子设备的示意图。
具体实施方式
56.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
57.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
58.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
59.为了使本领域技术人员更好地理解本技术实施例提供的技术方案,并使本技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本技术实施例中技术方案作进一步详细的说明。
60.参见图1,图1为本技术实施例提供的一种表格解析的方法流程图。作为一个实施例,图1所示的流程可以应用于电子设备。
61.如图1所示,该流程可以包括以下步骤:
62.步骤101,将目标文件输入至单元格检测模型得到该目标文件中各单元格的位置信息。
63.可选的,在本技术实施例中,目标文件一般是包含表格的图片、文档扫描件、ppt文档或word文档等文件,或者,目标文件可以为从其他文件中提取出的表格的图像文件。需要说明的是,本技术实施例中不限定目标文件中表格的格式(表格的格式指表格中单元格是否有框线,如图2中的表a为有框线的表格,表b为无框线的表格),并且本技术实施例中不需要预先知道表格的结构(表格的结构指表格中单元格的个数以及单元格的排列方式)。需要说明的是,组成目标文件中表格的所有单元格并非都具有数据内容,为了便于理解,本技术实施例中将具有数据内容的单元格记为非空单元格,将不具有数据内容的单元格记为空单元格。
64.在具体实现时,若目标文件的格式为符合单元格检测模型要求的图片格式,可以将目标文件直接输入至单元格检测模型;若目标文件的格式不是符合单元格检测模型要求的图片格式,则可以先将目标文件的格式转换为符合单元格检测模型要求的图片格式,然后将转换后的目标文件输入至单元格检测模型,或者,可以在单元格检测模型中设置格式转换层,将目标文件输入至单元格检测模型,通过格式转换层判断出目标文件的格式不是符合单元格检测模型要求的图片格式,由格式转换层将目标文件的格式转换为符合单元格
检测模型要求的图片格式。
65.作为一个实施例,本步骤101中的单元格检测模型可以包括表格检测层、局部掩码对齐层和全局掩码对齐层和后处理层。其中,表格检测层,用于检测目标文件中的表格区域;局部掩码对齐层,用于对表格区域进行非空单元格检测得到至少一个非空单元格的候选区域,获得每个候选区域的局部掩码;全局掩码对齐层,用于确定表格区域中表格框线的位置,以及表格区域的全局掩码;后处理层,用于针对每一候选区域,依据该候选区域的局部掩码和该候选区域在全局掩码中对应的掩码,对该候选区域进行优化,将优化后的候选区域的坐标作为其对应的非空单元格的坐标;依据所述表格框线的位置和所述非空单元格的坐标,确定空单元格的坐标。
66.可选的,本技术实施例中单元格的位置信息可以至少包括该单元格对应的位置坐标,该位置坐标通过该单元格边框围成的候选区域以及候选区域中各像素点的水平软标签值和垂直软标签值共同确定。关于单元格对应的位置坐标,可以为该单元格在任一对角线上的两个顶点坐标,通过这两个顶点坐标可以在目标文件中确定一个矩形区域,该矩形区域即该单元格在目标文件中的位置。关于该单元格边框内像素点的水平软标签值和垂直软标签值的具体获取过程,将在介绍完图1所示的实施例后进行详述,这里暂不赘述。
67.示例性的,如图3所示,目标文件可以为一篇包含表格的文章,该目标文件中包含表格和纯文本,单元格则是表格的基本构成单位。因此,为了避免在确定各单元格的位置信息时,误将纯文本区域识别为单元格,在将目标文件输入至单元格检测模型之后,单元格检测模型首先需要通过表格检测层确定出目标文件中的表格区域。
68.进一步的,在确定表格区域之后,当单元格中包含数据内容时,该单元格中的数据内容一般为多个字符聚合在一起组成的文本块,并且表格中不同的单元格之间会由框线或者空白区域划分开,如图2所示,有框线的表格通过框线划分不同的单元格,无框线的表格通过空白区域(如表b中的虚线框指示的区域)划分单元格,可将空白区域的中心线视为单元格的分界线。因此,在对表格中单元格进行检测时,如果检测到表格中存在一块聚合在一起组成的文本块,则可以推测该文本块位于一个单元格中,该单元格属于非空单元格。
69.但需要说明的是,文本块的区域与该文本块所属单元格的区域通常不同,文本块不会占据其所属的单元格的整个区域,文本块一般会与单元格的边框之间具有一段距离。例如图2表a中文本块“名称”距离其所在单元格的右边框较远,距离该单元格左边框较近,并紧贴单元格上边框和下边框,但文本块“名称”与单元格的上边框和下边框之间也具有一段距离,再如图2表a中文本块“x”,其位于单元格中心,距离单元格上、下、左、右边框均有一段距离。这里如果直接依据文本块的区域确定非空单元格的位置坐标,很容易出现较大的误差。
70.因此,优选的,为了更好地使确定出的文本块所在单元格的边框更精确,本技术实施例中引入了如上所述的局部掩码对齐层和全局掩码对齐层,以获取与单元格的真实区域更接近的位置信息。需要说明的是,以上介绍的单元格检测模型仅是本技术中的一个实施例,本技术对单元格检测模型的构成并不限定。
71.示例性的,本技术可以通过神经网络结构lgpma(lgpma神经网络结构采用深度学习网络框架mask rcnn作为基础框架)构建单元格检测模型中的局部掩码对齐层和全局掩码对齐层,以在确定表格区域后,对表格区域中单元格的位置信息进行预测。lgpma可以通
过local pyramid mask alignment(lpma,局部金字塔掩码对齐)分支构建局部掩码对齐层,以检测表格区域中的文本块,通过文本块预测包含文本块的非空单元格的候选区域,获得每个候选区域的局部掩码,可以通过global pyramid mask alignment(gpma,全局金字塔掩码对齐)分支构建全局掩码对齐层,以预测表格中的框线,得到表格区域的全局掩码。
72.由于上述通过局部掩码对齐层得到的非空单元格的候选区域不一定精确,比如通过局部掩码对齐层得到的非空单元格的候选区域的长度实际上大于或者小于该非空单元格的实际长度,因此,在通过局部掩码对齐层得到的非空单元格的候选区域之后,还需要通过该候选区域对应的局部掩码以及在表格区域的全局掩码中对应的掩码,对该候选区域进行优化,进而将优化后的候选区域的坐标作为其对应的非空单元格的坐标。
73.进一步的,基于通过全局掩码对齐层确定出的表格区域中表格框线的位置可以获知表格中所有单元格的位置,在确定了非空单元格的坐标之后,就可以将表格中坐标与非空单元格的坐标不同的单元格确定为空单格的坐标。
74.可选的,在具体实现时,基于局部掩码对齐层获得的非空单元格的候选区域的局部掩码,实际上比该候选区域在所述全局掩码中对应的掩码更精确,本技术实施例中后处理层不仅可以对非空单元格的候选区域进行优化,还可以根据候选区域的局部掩码对表格框线的位置进行校正,比如若全局掩码对齐层将一个单元格误识别为两个单元格(如将图2中表b中单元格“名称”误识别为两个单元格,分别与单元格“x”和单元格“x1”对齐),则可以根据候选区域的局部掩码,将误识别出的两个单元格合并为一个单元格,消除误识别出的两个单元格之间的框线。
75.步骤102,依据所述目标文件中各单元格的位置信息,确定用于反映各单元格之间行列关系的空间邻接矩阵。
76.作为一个实施例,可以通过判断两个单元格的位置信息是否存在交集,以及存在的交集的范围确定单元格之间的行列关系,然后根据单元格之间的行列关系确定空间邻接矩阵。
77.示例性的,以上述实施例中单元格的位置信息包括单元格的两个顶点坐标为例,当一个单元格p的两个顶点坐标为(x1,y1),(x2,y2),另一个单元格q的两个顶点坐标为(x3,y1),(x4,y2),则确定单元格p和单元格q属于同一行;当一个单元格m的两个顶点坐标为(x1,y1),(x2,y2),另一个单元格n的两个顶点坐标为(x1,y3),(x2,y4),则确定单元格m和单元格n属于同一列。
78.若上述单元格m的顶点坐标中x2等于x1 50,即单元格m的顶点坐标为(x1,y1),(x1 50,y2),并存在单元格k的两个顶点坐标为(x1-1,y5),(x1 48,y6),尽管这两个单元格的x坐标不完全相同,但是两者在x方向存在较大的交集(该交集的长度为48),该交集与单元格m或单元格k在x方向的边框的长度之差为2,若该长度之差小于预设的交集阈值,则依然确定单元格m与单元格k属于同一列。这里是考虑到虽然在实际表格中与单元格m为同一列的单元格,两者在x方向上的交集应等于|x2-x1|(即50),但本实施例中预测的单元格的位置坐标与单元格的真实坐标可能存在误差,因此,本实施例中可以设置一个交集阈值,若两个单元格的在x方向的交集与任一单元格在x方向的边框的长度之差小于交集阈值,则依然确定这两个单元格属于同一列。同理,在判断两个单元格是否属于同一行时,也可以依据上述交集阈值判断两个单元格是否属于同一行,以允许类似的误差存在。
79.需要说明的是,如果存在一个单元格的两个顶点坐标为(x1,y1),(x2,y1 50),另一个单元格的两个顶点坐标为(x3,y1),(x4,y1 24),则也认为这两个单元格属于同一行(如图2表a中的数据内容为“x”的单元格和数据内容为“x1”的单元格属于同一行),这种情况通常是因为一个单元格是合并单元格(在y方向的单元格边框较长),另一个单元格是普通单元格(在y方向的单元格边框较短)。
80.可选的,上述存在一个合并单元格和一个普通单元格的情况同样也允许误差的存在,在本实施例中,当检测到两个单元格的交集与两个单元格中在y方向上最短的边框的长度之间的差值小于交集阈值,也认为这两个单元格属于同一列。例如设置交集阈值为5,一个单元格的两个顶点坐标为(x1,y1),(x1 40,y2),另一个单元格的两个顶点坐标为(x1-2,y3),(x1 19,y4),两个单元格的交集为19,两个单元格中在y方向上最短的边框为21,两者之间的差值为3,而3小于交集阈值5,则也认为这两个单元格属于同一列。
81.以上只是确定不同单元格之间的行列关系的一个实施例,对于如何确定不同单元格之间的行列关系,本技术对此并不限定。
82.在本技术实施例中,在确定不同单元格之间的行列关系之后,就可以根据不同单元格之间的行列关系,基于相关技术中空间邻接矩阵的计算方式确定一个空间邻接矩阵。
83.步骤103,获得目标文件中各单元格中用于标识该单元格的单元格特征信息。
84.在本技术实施例中,单元格的单元格特征信息用于标识该单元格,比如标识该单元格在目标文件中的位置,该单元格在目标文件中的图像区域,以及若该单元格中存在字符,该单元格中字符表示的语义内容等。
85.基于上述单元格的单元格特征信息的描述,作为一个实施例,单元格特征信息可以至少包括:单元格的位置特征、语义特征和图像特征中的至少之一。针对目标文件中每一单元格,可以依据目标文件中该单元格的位置信息确定该位置信息对应的位置特征;对该单元格进行语义解析得到该单元格的语义特征,其中,单元格的语义特征用于指示单元格中的数据内容;对该单元格在目标文件中的图像进行图像特征提取,得到该单元格的图像特征。然后将该单元格的位置特征、语义特征和图像特征中的至少之一确定为单元格的单元格特征信息。本实施例中单元格的位置特征、语义特征和图像特征的获取方式,将在介绍完图1所示流程之后,在单元格特征信息的具体获取方式中进行详述。
86.需要说明的是,上述步骤102和步骤103之间不存在先后关系,可以先执行步骤102,也可以先执行步骤103。图1所示流程仅是本技术实施例的一种执行顺序,本技术对此不做限定。
87.步骤104,依据单元格特征信息和空间邻接矩阵对目标文件中的单元格进行解析得到解析结果;其中,解析结果至少包括:任意两个不同单元格之间的键值对关系,两个不同单元格之间的键值对关系用于指示两个单元格分别表示的内容具有对应关系、以及该对应关系成立的概率。
88.作为一个实施例,可以将单元格特征信息和空间邻接矩阵输入至图卷积神经网络(graph convolutional network,gcn),得到目标文件中任意两个不同单元格之间的键值对关系。gcn可以通过对该两个不同单元格的特征向量进行指定运算确定这两个不同单元格之间的键值对关系,这里的指定运算至少包括卷积运算和/或特征相似度计算等,具体运算方式可以参照相关技术,这里不再赘述。
89.可选的,如果本实施例中的单元格特征信息包括单元格的多个特征,则需要将多个特征对应的特征向量拼接成一个特征向量输入至gcn。比如若本实施例中的一个单元格的单元格特征信息包括位置特征和图像特征,则将该单元格的位置特征和图像特征拼接后作为该单元格的特征向量输入至gcn,gcn会将拼接后的向量作为一个特征向量进行指定运算。对于拼接的方式,本技术对此不做限定。
90.可选的,每个单元格的单元格特征信息在输入gcn之后都会被不断更新,更新的过程会直接受到与其相连的单元格的单元格特征信息的影响,而不会直接受到与其不相连的单元格的单元格特征信息的影响,即本实施例中,表格中每个单元格只和同一行、同一列的单元格相连,该单元格的单元格特征信息的更新只会受到这些单元格的影响。
91.因此,在本技术实施例中,gcn通过空间邻接矩阵获取到各单元格之间的行列关系之后,可以针对任一单元格,依据与该单元格相邻的单元格对应的单元格特征信息,对该单元格的单元格特征信息进行多次指定运算,每次运算都会更新该单元格的单元格特征信息。在所有单元格对应的单元格特征信息都经过多次指定运算并完成更新,得到各单元格对应的最终特征之后,gcn可以依据各单元格对应的最终特征计算任意两个不同单元格之间具有对应关系的概率(即键值对关系),该概率越接近1表示这两个不同单元格具有对应关系的概率越大,这里的对应关系指表格中表示属性的单元格和表示属性内容的单元格之间的关系,比如内容为“身高”的单元格和内容为“1.70m”的单元格之间具有对应关系。
92.至此,完成图1所示流程。
93.通过图1所示的流程可以看出,本技术通过将目标文件输入至单元格检测模型得到目标文件中各单元格的位置信息,然后依据目标文件中各单元格的位置信息,确定用于反映各单元格之间行列关系的空间邻接矩阵,同时获得该目标文件中各单元格的单元格特征信息,依据上述的单元格特征信息和空间邻接矩阵对目标文件中的单元格进行解析得到解析结果,从而得到表格中每两个单元格之间的对应关系,以确定出表格中的有效信息。
94.以上举例只是为了便于理解,本技术实施例并不具体限定。
95.下面结合图4,对本技术实施例中单元格边框内像素点的水平软标签值和垂直软标签值的具体获取过程进行详述:
96.作为一个实施例,局部掩码对齐层可以依据表格区域中各个文本块的大小,预测各文本块所处非空单元格的单元格边框,然后将各单元格边框围成的区域作为各非空单元格对应的候选区域,并针对单元格边框内各像素点,预测各个单元格边框中至少一行像素点中各像素点对应的水平软标签值,并预测各个单元格边框中至少一列像素点中各像素点对应的垂直软标签值。其中,该水平软标签值和垂直软标签值用于指示所述单元格的置信度。在本实施例中,针对每一单元格边框,可以将各个像素点对应的水平软标签值和垂直软标签值作为该单元格边框对应的候选区域的局部掩码。
97.在本技术实施例中,针对每一非空单元格,局部掩码对齐层可以至少输出三部分内容:用于指示文本块位置的掩码标签,其中预测的单元格边框中非文本区域的掩码为0,文本区域的掩码为1;该非空单元格的单元格边框中至少一行像素点中各像素点对应的水平软标签值;该非空单元格的单元格边框中至少一列像素点中各像素点对应的垂直软标签值。
98.可选的,本实施例中针对任一文本块,可以将该文本块的中心对应的像素点的水
平软标签值和垂直软标签值都设置为1,然后可以通过线性插值运算计算出各像素点的水平软标签值和垂直软标签值。如图4中的图a所示,距离文本块的中心对应的像素点的水平距离越近,该像素点的垂直软标签值将越大,如图4中的图b所示,距离文本块的中心对应的像素点的垂直距离越近,该像素点的水平软标签值将越大。
99.作为一个实施例,上述全局掩码对齐层确定表格区域的全局掩码时,将预测出对表格框线确定出的各单元格中的非空单元格对应的区域中各像素点的水平软标签值和垂直软标签值,将所有非空单元格对应的区域中各像素点的水平软标签值和垂直软标签值,将表格框线对应的掩码确定为0,将非空单元格对应的区域的掩码和表格框线的掩码作为表格区域的全局掩码。
100.在本技术实施例中,全局掩码对齐层可以至少输出三部分内容:用于指示表格框线的掩码标签,其中预测的表格框线的掩码为0,表格中其他区域掩码为1;表格框线构成的整个表格结构中,各非空单元格边框中至少一行像素点中各像素点对应的水平软标签值;表格框线构成的整个表格结构中,各非空单元格边框中至少一列像素点中各像素点对应的垂直软标签值。
101.需要说明的是,若上述非空单元格的单元格边框的框线上像素点的水平软标签值或垂直软标签值不为0,则说明当前预测的单元格边框的框线不准确,还可以依据框线上的像素点的水平软标签值或垂直软标签值进一步预测单元格边框的框线。
102.至此,通过单元格检测模型中的局部掩码对齐层、全局掩码对齐层和后处理层得到了各单元格的位置信息。
103.可选的,还可以依据空间邻接矩阵确定目标文件中表格的结构(即确定每个单元格在表格中的行号和列号),通过行号和列号标识单元格:
104.本实施例中首先可以将同一行的单元格分为一组,或者将同一列的单元格分为一组。由于一个单元格可能分别与两行单元格属于同一行,例如图2中的数据内容为“x”的单元格与数据内容分别为“x1”、“1”、“0”的各单元格属于同一行,又与数据内容分别为“x2”、“0”、“1”的各单元格属于同一行,因此数据内容为“x”的单元格将属于多个分组:数据内容为“x”的单元格既会和数据内容分别为“x1”、“1”、“0”的各单元格分成一个组,又会和数据内容分别为“x2”、“0”、“1”的各单元格分成一个组。
105.然后,可以将每组单元格中仅属于该分组的单元格(即表明该单元格为普通单元格)的顶点坐标作为该组单元格对应的两个顶点坐标,通过每组单元格对应的两个顶点坐标的y坐标计算该组单元格的平均y坐标,将平均y坐标的值最小的组中的单元格作为第一行单元格,将平均y坐标的值第二小的行作为第二行,以此类推,以确定各组单元格对应的行。本实施例中,每个单元格的行号,即为其所属组的行号,比如图2中“x”属于两个组,则其行号为2、3,表明这是一个合并单元格,处于表格中的第二行和第三行。
106.在确定各单元格行号之后,可以用同样的方式确定每个单元格的列号,可以将每组单元格中仅属于该分组的单元格(即表明该单元格为普通单元格)的顶点坐标作为该组单元格对应的两个顶点坐标,通过上述每组单元格对应的两个顶点坐标的x坐标计算该组单元格的平均x坐标,将平均x坐标的值最小的列作为第一列,平均x坐标的值第二小的列作为第二列,以此类推,以确定各组单元格对应的列。
107.下面对单元格特征信息(至少包括单元格的位置特征、语义特征和图像特征)的具
体获取方式进行详述:
108.位置特征:作为一个实施例,在获取到各单元格对应的位置信息之后,可以将各单元格对应的位置信息中的位置坐标转换为特征向量,将该特征向量作为该单元格对应的位置特征。比如可以采用positional encoding(位置编码)技术将一个单元格对应的两个位置坐标转化为一个特征向量。
109.语义特征:作为一个实施例,需要说明的是,本实施例中只有存在文本块的非空单元格中存在对应的语义特征,对非空单元格进行语义解析可以得到该非空单元格的语义特征。在具体实现时,可以将目标文件和非空单元格的位置信息输入至文本识别工具中,使文本识别工具依据非空单元格的位置信息对非空单元格中的文本块进行文本识别,得到该文本块中的字符,然后将得到的字符输入至预先训练好的语义特征提取模型中,通过所述语义特征提取模型将字符转换为向量格式的语义特征。
110.示例性的,上述文本识别工具可以为ocr引擎或者pdf解析器,其中在使用ocr引擎时,目标文件在输入至ocr引擎之前,需要将目标文件的格式转换为ocr引擎要求的图片格式,而在使用pdf解析器时,需确保目标文件是可解析的pdf文件,如使用word转化或排版系统latex生成的pdf文件。
111.进一步的,本实施例中可以通过两种方式使用ocr引擎对非空单元格内的文本块进行文本识别:
112.第一种方式,可以先获取步骤101中得到的单元格的位置信息,根据该位置信息对单元格中的字符进行识别并记录。其中,单元格的位置信息至少包括非空单元格的位置坐标,和/或非空单元格中的文本块的位置坐标。
113.第二种方式,可以先获取目标文件中表格区域的位置,对表格区域中的各文本块进行行级别的文本识别,得到每行文本的位置坐标和每行文本识别出的字符,然后依据步骤101中得到的单元格的位置信息和每行文本的位置坐标,确定每行文本识别出的字符与单元格之间的对应关系。
114.在本技术实施例中,在识别出非空单元格中的字符时,为了便于记录单元格与字符之间的对应关系,还可以结合上述获得的单元格的行号和列号标识单元格与字符之间的对应关系。
115.可选的,在识别出非空单元格中的字符之后,可以将非空单元格中的字符输入至语义特征提取模型中进行语义特征提取,得到所述非空单元格对应的向量格式的语义特征。该语义特征提取模型可以使用相关技术中已训练出的语义特征提取模型。在具体实现时,若一个单元格中包含多行字符,在进行语义特征提取时,可以通过指定符号(比如[cls]符号)标识当前识别出的多行字符属于同一单元格,也可以不对单元格中的字符行进行标识,将单元格中的字符统一当作一行处理。
[0116]
图像特征:作为一个实施例,单元格的图像特征用于指示单元格的版式信息,单元格的版式信息是指单元格大小、单元格中字符的字体格式(比如加粗、倾斜、字体为宋体或楷体等)、单元格中文本行的格式(比如单元格中文本居中或者文本左对齐、右对齐等)等。
[0117]
可选的,每一单元格的图像特征可以通过将该单元格的位置信息和单元格特征图像输入至图像特征提取模型,通过图像特征提取模型得到该单元格的图像特征,这里的图像特征的格式也是向量格式。其中,单元格特征图像可以是单元格检测模型在确定单元格
的位置信息时计算出的中间特征。
[0118]
需要说明的是,单元格检测模型在从目标文件中提取一个单元格的位置信息时,通常需要多次利用卷积运算进行特征提取。在该特征提取的过程中,特征图的像素尺寸会被放缩。比如原目标文件的像素为256*256,经过数次卷积得到像素为128*128的特征图,之后特征图的像素会依次变为64*64、32*32等。不同像素尺寸的特征图包含着不同的版式信息,通常来说尺寸越大的特征图包含越多的局部信息,尺寸越小的特征图则包含更多的全局信息。而根据单元格在目标文件中的位置,以及特征图和目标文件的像素尺寸的放缩比例,则可以计算出该单元格在每种尺寸的特征图中的对应位置。
[0119]
在具体实现时,由于单元格检测模型对目标文件的像素缩放的次数较多,本实施例中可以按照预先设置的指令,获取指定放缩比例的特征图,将这些特征图和单元格在目标文件中的位置信息输入图像特征提取模型从而获取单元格的特征图像。
[0120]
进一步的,在图像特征提取模型确定上述单元格的特征图像时,可以依据单元格的位置信息,计算出该单元格在各个单元格特征图像中对应的位置区域,然后从各个单元格特征图像中提取出上述位置区域图像,将从各个单元格特征图像中提取出的多个位置区域图像进行拼接得到单元格的图像特征。
[0121]
在本技术实施例中,如果单元格特征包括位置特征、语义特征和图像特征中的至少两个,在通过上述步骤获取到各单元格对应的位置特征、语义特征和图像特征之后,针对每一单元格还可以使用指定算法将位置特征、语义特征和图像特征中的至少两个进行拼接。这里用于拼接特征的指定算法可以参照相关技术。
[0122]
以上完成了对本技术实施例提供的方法实施例的描述。下面对本技术实施例提供的装置实施例进行描述。
[0123]
参见图5,图5为本技术实施例提供的一种表格解析的装置示意图。作为一个实施例,图5所示的装置可以应用于电子设备。
[0124]
如图5所示,该装置包括:
[0125]
位置信息获取单元601,用于将目标文件输入至单元格检测模型得到所述目标文件中各单元格的位置信息。
[0126]
邻接矩阵获取单元602,用于依据所述目标文件中各单元格的位置信息,确定用于反映各单元格之间行列关系的空间邻接矩阵。
[0127]
特征信息获取单元603,用于获得所述目标文件中各单元格的单元格特征信息;所述单元格的单元格特征信息用于标识该单元格。
[0128]
表格解析单元604,用于依据所述单元格特征信息和所述空间邻接矩阵对所述目标文件中的单元格进行解析得到解析结果,所述解析结果至少包括:任意两个不同单元格之间的键值对关系;所述两个不同单元格之间的键值对关系用于指示所述两个单元格分别表示的内容具有对应关系、以及该对应关系成立的概率。
[0129]
可选的,所述位置信息获取单元601中的单元格检测模型至少包括:表格检测层、局部掩码对齐层、全局掩码对齐层和后处理层;
[0130]
所述表格检测层,用于检测所述目标文件中的表格区域;
[0131]
所述局部掩码对齐层,用于对所述表格区域进行非空单元格检测得到至少一个非空单元格的候选区域,获得每个候选区域的局部掩码;
[0132]
所述全局掩码对齐层,用于确定所述表格区域中表格框线的位置,以及所述表格区域的全局掩码;
[0133]
所述后处理层,用于针对每一候选区域,依据该候选区域的局部掩码和该候选区域在所述全局掩码中对应的掩码,对该候选区域进行优化,将优化后的候选区域的坐标作为其对应的非空单元格的坐标;依据所述表格框线的位置和所述非空单元格的坐标,确定空单元格的坐标。
[0134]
可选的,所述局部掩码对齐层对所述表格区域进行非空单元格检测得到至少一个非空单元格的候选区域,获得每个候选区域的局部掩码包括:
[0135]
在所述表格区域中确定各个非空单元格的单元格边框以及该非空单元格内文本块的位置,将各单元格边框围成的区域作为各非空单元格对应的候选区域;
[0136]
预测各个单元格边框中至少一行像素点中各像素点对应的水平软标签值;所述水平软标签值用于指示所述单元格的置信度;
[0137]
预测各个单元格边框中至少一列像素点中各像素点对应的垂直软标签值;所述垂直软标签值用于指示所述单元格的置信度;
[0138]
针对每一单元格边框,将各个像素点对应的水平软标签值和垂直软标签值作为该单元格边框对应的候选区域的局部掩码。
[0139]
可选的,所述特征信息获取单元603获得所述目标文件中各单元格的单元格特征信息包括:
[0140]
针对所述目标文件中每一单元格,依据所述目标文件中该单元格的位置信息确定所述位置信息对应的位置特征;
[0141]
对该单元格进行语义解析得到该单元格的语义特征;单元格的语义特征用于指示单元格中的数据内容;
[0142]
对该单元格在所述目标文件中的图像进行图像特征提取,得到该单元格的图像特征;
[0143]
将该单元格的位置特征、语义特征和图像特征中的至少之一确定为单元格的单元格特征信息。
[0144]
可选的,所述特征信息获取单元603对该单元格进行语义解析得到该单元格的语义特征包括:
[0145]
将该单元格的位置信息和所述目标文件输入至文本识别工具中得到该单元格中的数据内容;
[0146]
将该单元格中的数据内容输入至语义特征提取模型得到该单元格的语义特征。
[0147]
可选的,所述特征信息获取单元603对该单元格在所述目标文件中的图像进行图像特征提取包括:
[0148]
将该单元格的位置信息和单元格特征图像输入至图像特征提取模型得到该单元格的图像特征;
[0149]
其中,所述单元格特征图像用于指示该单元格在所述目标文件中的位置。
[0150]
可选的,所述表格解析单元604依据所述单元格特征信息和所述空间邻接矩阵对所述目标文件中的单元格进行解析得到解析结果,包括:
[0151]
将所述单元格特征信息和所述空间邻接矩阵输入至图卷积神经网络,得到所述目
标文件中任意两个不同单元格之间的键值对关系;
[0152]
所述两个不同单元格之间的键值对关系是通过对该两个不同单元格分别进行至少一次指定运算确定的。
[0153]
对应地,本技术实施例还提供了一种电子设备的硬件结构图,具体如图6所示,该电子设备可以为上述实施表格解析方法的设备。如图6所示,该硬件结构包括:处理器和存储器。
[0154]
其中,所述存储器,用于存储机器可执行指令;
[0155]
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所示的所对应的表格解析方法的方法实施例。
[0156]
作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是ram(radom access memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0157]
至此,完成图6所示电子设备的描述。
[0158]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献