1.本公开涉及人工智能技术领域,尤其涉及图像处理、自然语言理解技术领域,具体涉及一种表格结构提取方法、装置、电子设备及存储介质。
背景技术:
2.目前对表格图像进行表格结构提取的方法主要分为三种,一种是基于传统图像处理(例如图像分割)的方法提取表格结构,该方法在处理全线框表格时准确率较高,但是对于非全线框的表格进行提取的准确率较低;第二种是基于深度学习模型抽取特征的方法,提取表格结构的准确率较低,尤其是当表格样式复杂多样、外部环境差异较大时,准确率无法保障;第三种是利用图神经网络,由于网络深度与计算复杂度较高导致设备性能要求较高,另外提取出的表格结构的准确率也不够。
技术实现要素:
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.图1是根据本公开实施例提供的表格结构提取方法的流程示意图;
30.图2是根据本公开实施例提供的cascadetabnet模型的训练网络结构示意图;
31.图3是根据本公开实施例提供的图像角度回归矫正方法的流程示意图;
32.图4是根据本公开实施例提供的一种表格图像旋转方法的示意图;
33.图5是根据本公开实施例提供的另一种表格图像旋转方法的示意图;
34.图6是根据本公开实施例提供的表格结构提取装置的结构示意图;
35.图7是用来实现本公开实施例的表格结构提取方法的电子设备的框图。
具体实施方式
36.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
37.为了准确地识别处非全线表格图像中的表格结构,如图1所示,本公开一实施例提供了一种表格结构提取方法,该方法包括:
38.步骤101,获取第一表格图像。
39.获取第一表格图像,第一表格图像中是经过处理后不存在倾斜角度的图像。
40.步骤102,对所述第一表格图像进行文字识别,得到多个文字和各文字对应的坐标。
41.可通过ocr识别等文字识别方法对第一表格图像进行文字识别,得到多个文字和各文字对应的坐标,坐标可以是以第一表格图像任意点作为原点构建的坐标系中的坐标,坐标可以是单个坐标,也可以是坐标加上宽和高以表征一个坐标区域。
42.例如,对某个第一表格图像进行文字识别后,得到多个文字和各文字对应的坐标,坐标为单个坐标,{“名称1”,{x1,y1}}、{“名称2”,{x2,y2}}、{“内容1”,{x3,y3}}和{“名称4”,{x4,y4}};
43.再例如,对某个第一表格图像进行文字识别后,得到多个文字和各文字对应的坐标,坐标为坐标加上宽和高,{“名称1”,{x1,y1},{w1,h1}}、{“名称2”,{x2,y2},{w2,h2}}、{“内容1”,{x3,y3},{w3,h3}}和{“名称4”,{x4,y4},{w4,h4}}。
44.步骤103,判断所述第一表格图像中的表格是否为全线结构。
45.判断第一表格图像中的表格是否为全线结构,全线结构是指该表格是否有框线,有框线的表格为全线结构,无框线的表格为非全线结构。
46.步骤104,若否,则对所述第一表格图像进行图像分割,得到第一表格结构。
47.如果第一表格图像中的表格为非全线结构,则利用图像分割模型,例如如图2所示的cascadetabnet模型对第一表格图像进行图像分割,得到第一表格结构,图2为cascadetabnet模型的训练网络结构,图2中图像i被输入到cascadetabnet模型中,主干hrnetv2p_w32从图像i中提取出特征数据,将特征数据输入到rpn head中获得b0(边界框),第一个bbox head(检测头)将b0作为输入,并根据b0进行预测,得到b1(边界框),b2(边界框)、b3(边界框)为第二个和第三个bbox head预测的边界框,mask head根据b2预测得到s(分割掩码),在此基础上,利用多个bbox head对象检测所得到的b3边界框与mask head预测得到的s分割掩码进行结合,对所有检测到的对象进行分割,得到第一表格结构。
48.步骤105,对所述第一表格结构进行欠分割处理,得到第二表格结构。
49.对于非全线表格的第一表格图像,进行图像分割后可能出现缺少一部分框线的情况,欠分割处理能够识别缺少的一部分框线,并补全这些框线。
50.步骤106,对所述第二表格结构进行过分割处理,得到第三表格结构。
51.对于进行图像分割和欠分割处理后的第二表格结构,可能会存在同一条框线被重复或多次描绘,造成框线的冗余,需要对第二表格结构进行过分割处理,判断是否存在重复或多个相同的框线,对重复或多个相同的框线进行合并。
52.步骤107,根据所述多个文字和各文字对应的坐标对所述第三表格结构进行填充,得到目标表格。
53.根据上述对第一表格图像进行文字识别后得到的多个文字和各文字对应的坐标对第三表格结构进行填充,得到目标表格;
54.例如,对第一表格图像进行文字识别后得到的多个文字和各文字对应的坐标为{“名称1”,{x1,y1}}、{“名称2”,{x2,y2}}、{“内容1”,{x3,y3}}和{“名称4”,{x4,y4}},则将“名称1”填充在以坐标{x1,y1}为中心点的区域中,将“名称2”填充在以坐标{x2,y2}为中心点的区域中,将“名称3”填充在以坐标{x3,y3}为中心点的区域中,将“名称4”填充在以坐标{x4,y4}为中心点的区域中;
55.再例如,对第一表格图像进行文字识别后得到的多个文字和各文字对应的坐标为{“名称1”,{x1,y1},{w1,h1}}、{“名称2”,{x2,y2},{w2,h2}}、{“内容1”,{x3,y3},{w3,h3}}和{“名称4”,{x4,y4},{w4,h4}},则将“名称1”填充在以坐标{x1,y1}为中心点宽为w1高为h1的区域中,将“名称2”填充在以坐标{x2,y2}为中心点宽为w2高为h2的区域中,将“名称3”填充在以坐标{x3,y3}为中心点宽为w3高为h3的区域中,将“名称4”填充在以坐标{x4,y4}
为中心点宽为w4高为h4的区域中。
56.在本实施例提供的上述方法中,通过判断第一表格图像中的表格是否为全线表格,如果是非全线表格,则在对第一表格图像进行图像分割后得到的第一表格结构进行欠分割和过分割处理,使得第三表格结构中的框线不会缺少也不会重复,提高了提取的表格结构的完整度,并且降低了后续对表格结构进行文字填充时因为框线缺少或者重复导致的填充错误。
57.如图3所示,在步骤101中获取第一表格图像,在一可实施方式中,包括:
58.步骤201,采集原始表格图像。
59.采集需要进行表格结构识别的原始表格图像,原始表格图像是未经过处理,可能存在倾斜角度的图像。
60.步骤202,判断所述原始表格图像中是否存在直线。
61.判断原始表格图像中是否存在直线(框线),如果原始表格图像中的表格是非全线表格,则该图像中可能不存在直线(框线),如图4所示,原始表格图像中如果存在直线(框线)的话,那么存在两种直线(框线),一种是与文本横向直线平行的直线(框线),另一种是与文本纵向直线平行的直线(框线)。
62.步骤203,若存在,则根据所述直线计算倾斜角度。
63.如果原始表格图像中存在直线(框线),则根据直线(框线)计算倾斜角度;
64.如果选取的直线(框线)是与文本横向直线平行的直线(框线),那么计算该直线(框线)与水平线的夹角,得到倾斜角度,文本横向直线表征原始表格图像中文本横向的方向;
65.如果选取的直线(框线)是与文本纵向直线平行的直线(框线),那么计算该直线(框线)与垂直线(与水平线垂直)的夹角,得到倾斜角度,文本纵向直线表征原始表格图像中文本纵向的方向。
66.步骤204,根据所述倾斜角度对所述原始表格图像进行矫正,得到第一表格图像。
67.根据倾斜角度对原始表格图像进行矫正,得到第一表格图像;
68.例如,如图4所示,表格水平方向的直线与水平线呈30度角,则倾斜角度为30度,说明原始表格图像往逆时针方向倾斜了30度,则将原始表格图像往顺时针方向旋转30度,得到第一表格图像;
69.再例如,如图5所示,表格水平方向的直线与水平线呈-30度角,则倾斜角度为-30度,说明原始表格图像往顺时针方向倾斜了30度,则将原始表格图像往逆时针方向旋转30度,得到第一表格图像。
70.通过在对存在直线的图像进行图像分割之前,对原始表格图像进行图像角度回归矫正,能够将倾斜的图像转正,显著提高了模型对该图像的表格结构进行识别的准确度和对该图像进行图像分割后得到的表格结构的完整度。
71.如图3所示,在步骤202中判断所述原始表格图像中是否存在直线,在一可实施方式中,若不存在,还包括:
72.步骤301,对所述原始表格图像进行文本线聚类,得到聚类结果。
73.如果原始表格图像中不存在直线,则对原始表格图像进行文本线聚类,对原始表格图像进行文本线聚类可以得到原始表格图像中用于表征文字走向的直线,用于表征文字
走向的直线可以是表征原始表格图像的横向方向文字的走向的直线,或者,也可以是表征原始表格图像的纵向方向文字的走向的直线,例如,如图4所示,可以是图中的文本横向直线或者文本纵向直线。
74.步骤302,根据所述聚类结果计算所述倾斜角度。
75.参考图4,如果聚类结果为文本横向直线,那么计算该直线与水平线的夹角,得到倾斜角度;如果聚类结果为文本纵向直线,那么计算该直线与垂直线(与水平线垂直)的夹角,得到倾斜角度。
76.步骤303,根据所述倾斜角度对所述原始表格图像进行矫正,得到第一表格图像。
77.根据所述倾斜角度对原始表格图像进行矫正,得到第一表格图像。
78.通过对不存在直线的原始表格图像进行文本线聚类,得到聚类结果,聚类结果表征文字走向,再根据文字走向计算出的倾斜角度对原始表格图像进行图像角度回归矫正,能够将倾斜的图像转正,显著提高了模型对该图像的表格结构进行识别的准确度和对该图像进行图像分割后得到的表格结构的完整度。
79.在步骤105中对所述第一表格结构进行欠分割处理,在一可实施方式中,包括:
80.步骤401,根据每个文字和该文字对应的坐标确定多个第一直线。
81.在表格中,有文字就说明该文字的四周应该存在框线,所以根据每个文字和该文字对应的坐标可以确定多个第一直线;
82.例如,对第一表格图像进行文字识别后得到的某个文字和该文字对应的坐标为{“名称1”,{x1,y1}},则确定该文字的坐标周围应该存在直线,可以根据该文字区域的大小和边界等数据确定这些直线的坐标;
83.再例如,对第一表格图像进行文字识别后得到的某个文字和该文字对应的坐标为{“名称1”,{x1,y1},{w1,h1}},则确定该文字的坐标周围应该存在直线,可以根据该文字区域的大小和边界等数据确定这些直线的坐标;
84.直线的坐标可以用{{x5,y5},l5}表示,{x5,y5}为该直线中点的坐标,l5为该直线的长度,通过获取直线的中点的坐标可以精确地得知直线所在的位置;
85.直线的坐标也可以用{{x
5-1
,y
5-1
},{x
5-2
,y
5-2
}}表示,{x
5-1
,y
5-1
}为该直线其中一个端点的坐标,{x
5-2
,y
5-2
}为该直线另一个端点的坐标,通过获取直线的两个端点的坐标即可精确地得知该直线所在的位置和长度。
86.步骤402,根据每个第一直线判断第一表格结构中是否存在该第一直线。
87.步骤403,若不存在,则在第一表格结构中添加该第一直线。
88.如果某个第一直线在第一表格结构中不存在,则说明此处的框线缺少了,在第一表格结构中该第一直线位置处添加该第一直线,能够补全表格结构中缺少的框线,进一步提高非全线表格结构的完整度。
89.在步骤106中对所述第二表格结构进行过分割处理,在一可实施方式中,包括:
90.步骤501,根据所述第二表格结构确定多个第二直线。
91.对第二表格结构中的直线进行识别,得到多个第二直线,第二直线坐标与第一直线坐标的格式相同,可以为{{x6,y6},l6},{x6,y6}为该直线中点的坐标,l6为该直线的长度;
92.也可以为{{x
6-1
,y
6-1
},{x
6-2
,y
6-2
}},{x
6-1
,y
6-1
}为该直线其中一个端点的坐标,{x
6-2
,y
6-2
}为该直线另一个端点的坐标。
93.步骤502,根据所述多个文字和各文字对应的坐标判断每两个相邻的第二直线的中间区域是否存在文字。
94.对于每两个相邻的第二直线的中间区域,根据多个文字和各文字对应的坐标判断该两个相邻的第二直线的中间区域中是否存在文字;
95.例如,某两个相邻的第二直线坐标分别为{{x7,y7},l7}和{{x8,y8},l8},x7=x8,y7>y8,那么如果多个文字和各文字对应的坐标中存在某个文字对应的坐标的横坐标x9<x7+l7/2且x9>x7-l7/2,纵坐标y9<y7且y9>y8,那么说明该两个相邻的直线之间存在文字,那么该两个相邻的直线没有重复;
96.再例如,某两个相邻的第二直线坐标分别为{{x
7-1
,y
7-1
},{x
7-2
,y
7-2
}}和{{x
8-1
,y
8-1
},{x
8-2
,y
8-2
}},y
7-1
=y
8-1
,y
7-2
=y
8-2
,x
7-1
=x
7-2
,x
8-1
=x
8-2
,x
7-1
<x
8-1
,y
7-2
<y
7-1
,那么如果多个文字和各文字对应的坐标中存在某个文字对应的坐标的横坐标x
10
>x
7-1
且x
10
<x
8-1
,纵坐标y
10
<y
7-1
且y
10
>y
7-2
,那么说明该两个相邻的直线之间存在文字,那么该两个相邻的直线没有重复。
97.步骤503,若不存在,则将该两个相邻的第二直线合并。
98.如果两个相邻的第二直线之间不存在文字,那么该两个相邻的第二直线重复了,则将该两个相邻的第二直线合并;
99.通过对每两个相邻的第二直线之间的区域进行文字检测来去掉重复的第二直线,能够使得得到的第三表格结构不会有重复的框线,进一步提高了对非表格图像提取表格结构的准确度。
100.在步骤103中判断所述第一表格图像中的表格是否为全线结构,在一可实施方式中,还包括:
101.步骤601,若是,则对所述第一表格图像进行图像分割,得到第三表格结构;
102.步骤602,根据所述多个文字和各文字对应的坐标对所述第三表格结构进行填充,得到目标表格。
103.如果第一表格图像中的表格是全线结构,则将对第一表格图像进行图像分割后得到的表格结构直接确定为第三表格结构,图像分割模型对于全线结构的表格识别率非常高,所以无需再对图像分割后的全线结构的表格结构进行欠分割和过分割处理,提高了在对大量表格图像进行提取表格结构的过程中的提取效率。
104.在步骤101获取第一表格图像之前,在一可实施方式中,还包括:
105.步骤701,获取训练数据集。
106.获取训练数据集,训练数据集中包含多个训练数据样本。
107.步骤702,对训练数据集中的所有训练数据样本进行以下处理至少之一:扩展变换、污渍变换、模糊变换、放大、光照变化、加入高斯噪声,得到多个训练数据集。
108.对训练数据集中的所有训练数据样本进行扩展变换,得到多个扩展变换后的训练数据样本并和所有训练数据样本组合,得到扩展变换训练数据集;
109.对训练数据集中的所有训练数据样本进行污渍变换,得到多个污渍变换后的训练数据样本并和所有训练数据样本组合,得到污渍变换训练数据集;
110.对训练数据集中的所有训练数据样本进行模糊变换和放大,得到多个模糊变换和放大后的训练数据样本并和所有训练数据样本组合,得到模糊变换和放大训练数据集;
111.对训练数据集中的所有训练数据样本进行光照变化,得到多个光照变化后的训练数据样本并和所有训练数据样本组合,得到光照变化训练数据集;
112.对训练数据集中的所有训练数据样本加入高斯噪声,得到多个高斯噪声后的训练数据样本并和所有训练数据样本组合,得到高斯噪声训练数据集。
113.步骤703,利用所述多个训练数据集对图像分割模型进行训练。
114.利用训练数据集、扩展变换训练数据集、污渍变换训练数据集、模糊变换和放大训练数据集、光照变化训练数据集和高斯噪声训练数据集对图像分割模型进行训练;
115.通过多种变换对训练数据集中的训练数据样本进行处理,使得训练数据集的数量和变化更多,对图像分割模型进行训练后能够显著提高图像分割模型对表格结构的识别和分割能力。
116.在步骤104中对所述第一表格图像进行图像分割,在一可实施方式中,包括:
117.步骤801,利用训练后的图像分割模型对所述第一表格图像进行图像分割。
118.利用训练后的图像分割模型对第一表格图像进行图像分割可以使得分割出的第一表格结构更加准确,有利于后续进行欠分割处理和过分割处理,提高了最终得到的目标表格的准确度。
119.本公开一实施例提供了一种表格结构提取装置,如图6所示,该装置包括:
120.采集模块10,用于获取第一表格图像;
121.识别模块20,用于对所述第一表格图像进行文字识别,得到多个文字和各文字对应的坐标;
122.判断模块30,用于判断所述第一表格图像中的表格是否为全线结构;
123.图像分割模块40,用于若否,则对所述第一表格图像进行图像分割,得到第一表格结构;
124.处理模块50,用于对所述第一表格结构进行欠分割处理,得到第二表格结构;
125.所述处理模块50,还用于对所述第二表格结构进行过分割处理,得到第三表格结构;
126.所述处理模块50,还用于根据所述多个文字和各文字对应的坐标对所述第三表格结构进行填充,得到目标表格。
127.其中,所述采集模块10,还用于采集原始表格图像;
128.所述判断模块30,还用于判断所述原始表格图像中是否存在直线;
129.所述处理模块50,还用于若存在,则根据所述直线计算倾斜角度;
130.所述处理模块50,还用于根据所述倾斜角度对所述原始表格图像进行矫正,得到第一表格图像。
131.其中,所述处理模块50,还用于若不存在,则对所述原始表格图像进行文本线聚类,得到聚类结果;
132.所述处理模块50,还用于根据所述聚类结果计算所述倾斜角度;
133.所述处理模块50,还用于根据所述倾斜角度对所述原始表格图像进行矫正,得到第一表格图像。
134.其中,所述处理模块50,还用于根据每个文字和该文字对应的坐标确定多个第一直线;
135.所述判断模块30,还用于根据每个第一直线判断第一表格结构中是否存在该第一直线;
136.所述处理模块50,还用于若不存在,则在第一表格结构中添加该第一直线。
137.其中,所述处理模块50,还用于根据所述第二表格结构确定多个第二直线坐标;
138.所述判断模块30,还用于根据所述多个文字和各文字对应的坐标判断每两个相邻的第二直线坐标的中间区域是否存在文字;
139.所述处理模块50,还用于若不存在,则将该两个相邻的第二直线合并。
140.其中,所述图像分割模块40,还用于若是,则对所述第一表格图像进行图像分割,得到第三表格结构;
141.所述处理模块50,还用于根据所述多个文字和各文字对应的坐标对所述第三表格结构进行填充,得到目标表格。
142.其中,所述采集模块10,还用于获取训练数据集;
143.所述处理模块50,还用于对训练数据集中的所有训练数据样本进行以下处理至少之一:扩展变换、污渍变换、模糊变换、放大、光照变化、加入高斯噪声,得到多个训练数据集;
144.所述处理模块50,还用于利用所述多个训练数据集对图像分割模型进行训练。
145.所述图像分割模块40,还用于利用训练后的图像分割模型对所述第一表格图像进行图像分割。
146.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
147.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
148.图7示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
149.如图7所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
150.设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
151.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工
智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如表格结构提取方法。例如,在一些实施例中,表格结构提取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的表格结构提取方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行表格结构提取方法。
152.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
153.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
154.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
155.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
156.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
157.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
158.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
159.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。