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

表格解析方法、装置、计算机设备和存储介质与流程

2022-06-30 02:06:44 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,特别是涉及一种表格解析方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.在国际单证业务中,通常需要对客户提供的纸质单据进行人工审核,为了提升业务处理效率,可以采用ocr(optical character recognition,光学字符识别)等技术从纸质单据的影像中提取表格,形成结构化数据,进而实现智能审单。
3.现有技术中,对影像中表格的解析多数是基于表格边框来实现,通过识别表格框线,依表格框线将原始表格切分为一个个碎片,再对每个碎片进行ocr识别,最后按照碎片间的空间关系重新组织识别结果,还原原始表格的结构及内容,实现识别结果的结构化。
4.然而,在实际业务场景下,单据样式多种多样,单据中的表格样式可能是非规范化的,这就容易影响ocr识别结果的有效性,进而影响后续的智能审单。例如,可能存在缺少表格框线的开放式表格,开放式表格可能会缺少表格的内部框线、左框线或右框线,在这种情况下,基于边框进行表格解析容易将多个单元格识别为一个,造成表格内容混淆;还可能出现文本内容横跨表格框线,超出单元格范围的情况,这时候基于表格框线来划分识别结果,容易造成单元格识别的不准确。
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.从所述目标区域中识别出目标文本;所述目标文本为属于同一个单元格的文本;
51.将所述目标文本与所述表头信息进行匹配,得到所述待处理影像中所述待解析表格的表格解析结果。
52.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
53.识别待处理影像中的文本,以及所述文本在所述待处理影像中的位置;所述待处理影像中包含待解析表格;
54.根据所述文本和所述位置,确定所述待解析表格的表头信息和跨度信息;
55.根据所述表头信息和所述跨度信息,从所述待处理影像中确定出目标区域;所述目标区域为所述待处理影像中包含所述待解析表格的最小区域;
56.从所述目标区域中识别出目标文本;所述目标文本为属于同一个单元格的文本;
57.将所述目标文本与所述表头信息进行匹配,得到所述待处理影像中所述待解析表格的表格解析结果。
58.上述表格解析方法、装置、计算机设备、存储介质和计算机程序产品,通过识别待处理影像中的文本以及文本在待处理影像中的位置,根据文本和位置确定待解析表格的表头信息和跨度信息,根据表头信息和跨度信息从待处理影像中确定出目标区域,可以在待处理影像中的表格为开放式表格时,准确提取出表格所在的区域,从目标区域中识别出目标文本,将目标文本与表头信息进行匹配,得到待处理影像中待解析表格的表格解析结果,可以针对表格所在区域,将开放式表格中的单元格准确匹配至与其相对应的列,提高开放式表格解析的准确性。
59.而且,上述表格解析方法、装置、计算机设备、存储介质和计算机程序产品,不仅适用于开放式表格,也适用于结构化表格,由于不需要规范的表格框线,可以在结构化表格的表格框线不规范,或者被文本内容遮挡时,得到准确的表格解析结果。
附图说明
60.图1为一个实施例中表格解析方法的流程示意图;
61.图2为一个实施例中待识别影像的示意图;
62.图3为一个实施例中从待识别影像中截取表格区域的示意图;
63.图4为一个实施例中文本空间特征判断的示意图;
64.图5为另一个实施例中文本空间特征判断的示意图;
65.图6为一个实施例中将目标文本与表头进行匹配的示意图;
66.图7为一个实施例中表格解析系统的结构框图;
67.图8为一个实施例中表格解析系统文字定位识别装置的结构框图;
68.图9为一个实施例中表格解析系统表格域提取装置的结构框图;
69.图10为一个实施例中表格解析系统单元格聚合装置的结构框图;
70.图11为一个实施例中表格解析系统目标列匹配装置的结构框图;
71.图12为一个实施例中表格结构化提取方法的流程示意图;
72.图13为另一个实施例中表格解析方法的流程示意图;
73.图14为一个实施例中表格解析装置的结构框图;
74.图15为一个实施例中计算机设备的内部结构图。
具体实施方式
75.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
76.本技术实施例提供的表格解析方法,可以应用于终端或服务器。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
77.在一个实施例中,如图1所示,提供了一种表格解析方法,以该方法应用于服务器为例进行说明,包括以下步骤:
78.步骤s110,识别待处理影像中的文本,以及文本在待处理影像中的位置;待处理影像中包含待解析表格。
79.其中,待处理影像可以为纸质单据的影像。
80.其中,待解析表格可以为纸质单据上的表格,可以为开放式表格,也可以为结构化表格。
81.具体实现中,可以但不限于通过拍照、扫描和截图等方式采集待处理影像,采集到的待处理影像可以输入至服务器,服务器通过ocr技术识别待处理影像中的文本,在文本识别过程中,ocr还可以获取到文本在待处理影像中的位置。
82.例如,图2提供了一个待识别影像的示意图,对于图2,可以选择tesseract(一种光学字符识别软件)进行光学字符识别,得到图2中部分文本的识别结果如下:
[0083][0084][0085]
其中,description表示说明,net weight表示净重,unit price表示单价,amount
表示数量。其中,words表示文本内容,position表示文本位置,right_bottom表示文本右下角坐标,left_top表示文本左上角坐标,由此可见,tesseract的识别结果包含了待识别影像中的文本和文本所在的位置。
[0086]
步骤s120,根据文本和位置,确定待解析表格的表头信息和跨度信息。
[0087]
其中,表头信息可以包括表头部分的顶点位置。
[0088]
其中,跨度信息可以为待解析表格的最小宽度。
[0089]
具体实现中,可以在服务器中预先设置表头关键字,识别到待处理影像中的文本后,服务器可以选择至少一个表头关键字,在识别到的文本中进行查找,当在文本中查找到所有表头关键字时,将包含所有表头关键字的区域确定为待解析表格的表头区域,可以设置表头区域为矩形,获取表头区域四个顶点的位置,将其作为表头信息进行存储。根据顶点之间的相对位置,可以将表头区域的四个顶点分别命名为左上顶点、右上顶点、左下顶点和右下顶点。可以将左上顶点与右上顶点相连线,得到待解析表格的跨度,还可以将左下顶点与右下顶点相连线,得到待解析表格的跨度,跨度可以为待解析表格的最小宽度。
[0090]
例如,图3提供了一个从待识别影像中截取表格区域的示意图,根据图3,可以设置表头关键字“description”、“net weight”、“unit price”和“amount(usd)”,在识别到的文本中查找上述关键字,在查找到所有关键字后,可以将包含所有关键字的区域确定为表头区域,例如,可以将图3的灰色阴影区域确定为表头区域。分别获取表头区域左上顶点a和右上顶点b的位置坐标,将a和b相连线,可以得到表格跨度,还可以将表头区域左下顶点与右下顶点相连线,得到表格跨度。
[0091]
步骤s130,根据表头信息和跨度信息,从待处理影像中确定出目标区域;目标区域为待处理影像中包含待解析表格的最小区域。
[0092]
其中,表头信息还可以包括表头所在的位置。
[0093]
具体实现中,可以在表头区域任意选取一点,作为表头位置,以表头位置为基准,在待处理影像中向上寻找距离表头位置最近,且长度不小于表格跨度的横线,作为待解析表格的上框线,还可以在待处理影像中向下寻找距离表头位置最远,且长度不小于表格跨度的横线,作为待解析表格的下框线,在寻找到上框线和下框线后,可以以上框线为上边界,以下框线为下边界,从待处理影像中截取目标区域,目标区域即为待解析表格所在的最小区域。
[0094]
例如,对于图3,可以将ab连线上的任意一点(包括a点和b点)作为表头位置,当以a点为表头位置时,可以在a点上方寻找距离a点最近,且长度不小于ab连线长度的横线,得到表格的上框线cd,还可以在a点下方寻找距离a点最远,且长度不小于ab连线长度的横线,得到下框线ef,之后可以将矩形cefd从影像中截取出来,作为目标区域。
[0095]
步骤s140,从目标区域中识别出目标文本;目标文本为属于同一个单元格的文本。
[0096]
具体实现中,可以在目标区域随机选取至少两个文本,并获取各文本的空间特征,空间特征可以包括任意两个文本之间的相对位置关系,以及任意两个文本之间的语义关联性,根据相对位置关系和语义关联性,可以初步判断至少两个文本是否归属于同一个单元格,将初步判定归属于同一单元格的至少两个文本连接起来,组成潜在的目标文本。还可以预先训练一个语序判断模型,用于判断潜在目标文本中的语序是否连续有效,将潜在目标文本输入语序判断模型,若语序判断模型判定潜在目标文本中的语序连续有效,则可以确
定潜在目标文本中的文本归属于同一个单元格,可以将潜在目标文本作为目标文本,否则,若语序判断模型判定潜在目标文本中的语序不连续,则潜在目标文本中的文本不归属于同一个单元格,不可以将潜在目标文本作为目标文本。
[0097]
实际应用中,可以根据下述空间特征初步判定至少两个文本是否归属于同一个单元格:
[0098]
特征1,文本区域应基本在同一水平线上,且其横向间的距离应该足够近,例如,不超过单个文字宽度。图4提供了一个文本空间特征判断的示意图,根据图4,g、h区域间的横向间距小于单个字符,应该归属同一单元格,而h、i区域间隔较大,不应归属同一单元格。
[0099]
特征2,文本区域间的纵向距离应该足够近,例如,不超过单个文字的高。
[0100]
特征3,根据特殊组成短语进行判断,例如,单位需包含价格等要素。图5提供了另一个文本空间特征判断的示意图,根据图5,usd 860.00/mt作为一个整体,虽然“usd”文字区域j与“860.00/mt”文字区域k的横向间隔较远,但其作为固定表达,应判定为归属同一单元格。
[0101]
根据上述空间特征,将目标区域可能归属于同一单元格的文本连接起来,得到潜在目标文本,使用语序判断模型判断潜在目标文本是否连续有效,若连续有效则形成新的文本区域,将新的文本区域作为一个单独的文本,继续判断与其他文本是否属于同一单元格,通过不断聚合,直至所有潜在目标文本均无法再组成连续有效的表达。例如,目标区域存在文本l、m、n、o,根据空间特征将l和m连接起来,得到潜在目标文本lm,通过语序判断模型判定lm连续有效,可以形成新的文本,之后可以继续根据空间特征和语序判断模型判断lm与n是否可以继续连接成为新的文本,若可以,则形成新的文本lmn,若不可以,则可以继续判断lm与o是否可以连接成为新的文本,若可以,则形成新的文本lmo,若不可以,则将lm作为目标文本,之后可以对n和o继续进行聚合。
[0102]
步骤s150,将目标文本与表头信息进行匹配,得到待处理影像中待解析表格的表格解析结果。
[0103]
具体实现中,可以预先训练一个文本分类模型,用于将目标文本匹配至对应的表头。将目标文本输入文本分类模型,文本分类模型可以输出目标文本所匹配的表头。若通过文本分类模型识别到一个目标文本同时与两个或多个表头相匹配,可以从两个或多个表头中选择与目标文本之间距离最短的,作为目标表头,将目标文本与目标表头相匹配。
[0104]
图6提供了一个将目标文本与表头进行匹配的示意图,根据图6,目标文本l同时与“unit price”和“amount(usd)”相匹配,由于l距离“unit price”更近,因此目标文本l应归属于“unit price”列。
[0105]
上述表格解析方法,通过识别待处理影像中的文本以及文本在待处理影像中的位置,根据文本和位置确定待解析表格的表头信息和跨度信息,根据表头信息和跨度信息从待处理影像中确定出目标区域,可以在待处理影像中的表格为开放式表格时,准确提取出表格所在的区域,从目标区域中识别出目标文本,将目标文本与表头信息进行匹配,得到待处理影像中待解析表格的表格解析结果,可以针对表格所在区域,将开放式表格中的单元格准确匹配至与其相对应的列,提高开放式表格解析的准确性。
[0106]
而且,上述表格解析方法、装置、计算机设备、存储介质和计算机程序产品,不仅适用于开放式表格,也适用于结构化表格,由于不需要规范的表格框线,可以在结构化表格的
表格框线不规范,或者被文本内容遮挡时,得到准确的表格解析结果。
[0107]
在一个实施例中,上述步骤s120,可以具体包括:获取待解析表格的表头关键字;通过在文本中查找表头关键字,得到待解析表格的表头;确定表头的表头信息;表头信息包括表头顶点;根据表头顶点,得到待解析表格的跨度信息。
[0108]
具体实现中,可以在服务器中预先设置表头关键字,识别到待处理影像中的文本后,服务器可以选择至少一个表头关键字,在识别到的文本中进行查找,当在文本中查找到所有表头关键字时,将包含所有表头关键字的区域确定为待解析表格的表头,可以设置表头区域为矩形,获取表头区域四个顶点的位置,将其作为表头信息进行存储。根据顶点之间的相对位置,可以将表头区域的四个顶点分别命名为左上顶点、右上顶点、左下顶点和右下顶点。可以将左上顶点与右上顶点相连线,得到待解析表格的跨度信息,还可以将左下顶点与右下顶点相连线,得到待解析表格的跨度信息,跨度信息可以为待解析表格的最小宽度。
[0109]
例如,根据图3,可以设置表头关键字“description”、“net weight”、“unit price”和“amount(usd)”,在识别到的文本中查找上述关键字,在查找到所有关键字后,可以将包含所有关键字的区域确定为表头区域,例如,可以将图3的灰色阴影区域确定为表头区域。分别获取表头区域左上顶点a和右上顶点b的位置坐标,将a和b相连线,可以得到表格跨度,还可以将表头区域左下顶点与右下顶点相连线,得到表格跨度。
[0110]
本实施例中,通过获取待解析表格的表头关键字,通过在文本中查找表头关键字得到待解析表格的表头,确定表头的表头信息,根据表头顶点得到待解析表格的跨度信息,可以自动获取待解析表格的表头和跨度,无需人工参与,提高表格解析的效率。
[0111]
在一个实施例中,上述步骤s130,可以具体包括:通过在表头上方查找距离表头位置最近,且长度不小于跨度信息的横线,得到待解析表格的上框线;通过在表头下方查找距离表头位置最远,且长度不小于跨度信息的横线,得到待解析表格的下框线;根据上框线和下框线,从待处理影像中确定出目标区域。
[0112]
具体实现中,可以在表头区域任意选取一点,作为表头位置,以表头位置为基准,在待处理影像中向上寻找距离表头位置最近,且长度不小于表格跨度的横线,作为待解析表格的上框线,还可以在待处理影像中向下寻找距离表头位置最远,且长度不小于表格跨度的横线,作为待解析表格的下框线,在寻找到上框线和下框线后,可以以上框线为上边界,以下框线为下边界,从待处理影像中截取目标区域,目标区域即为待解析表格所在的最小区域。
[0113]
例如,对于图3,可以将ab连线上的任意一点(包括a点和b点)作为表头位置,当以a点为表头位置时,可以在a点上方寻找距离a点最近,且长度不小于ab连线长度的横线,得到表格的上框线cd,还可以在a点下方寻找距离a点最远,且长度不小于ab连线长度的横线,得到下框线ef,之后可以将矩形cefd从影像中截取出来,作为目标区域。
[0114]
本实施例中,通过在表头上方查找距离表头位置最近,且长度不小于跨度信息的横线,得到待解析表格的上框线,通过在表头下方查找距离表头位置最远,且长度不小于跨度信息的横线,得到待解析表格的下框线,根据上框线和下框线,从待处理影像中确定出目标区域,可以在待处理影像中的表格为开放式表格时,高效提取出表格所在的区域,提高表格解析的效率。
[0115]
在一个实施例中,上述步骤s140,可以具体包括:
[0116]
步骤s141,获取目标区域中至少两个文本的空间特征;
[0117]
步骤s142,判断至少两个文本的空间特征是否符合预设条件;
[0118]
步骤s143,若符合,判断至少两个文本的内容是否连续;
[0119]
步骤s144,若连续,则判定至少两个文本为目标文本。
[0120]
具体实现中,可以在目标区域随机选取至少两个文本,并获取各文本的空间特征,空间特征可以包括任意两个文本之间的相对位置关系,以及任意两个文本之间的语义关联性,根据相对位置关系和语义关联性,可以初步判断至少两个文本是否归属于同一个单元格,将初步判定归属于同一单元格的至少两个文本连接起来,组成潜在的目标文本。还可以预先训练一个语序判断模型,用于判断潜在目标文本中的语序是否连续有效,将潜在目标文本输入语序判断模型,若语序判断模型判定潜在目标文本中的语序连续有效,则可以确定潜在目标文本中的文本归属于同一个单元格,可以将潜在目标文本作为目标文本,否则,若语序判断模型判定潜在目标文本中的语序不连续,则潜在目标文本中的文本不归属于同一个单元格,不可以将潜在目标文本作为目标文本。
[0121]
实际应用中,可以根据下述空间特征初步判定至少两个文本是否归属于同一个单元格:
[0122]
特征1,文本区域应基本在同一水平线上,且其横向间的距离应该足够近,例如,不超过单个文字宽度。根据图4,g、h区域间的横向间距小于单个字符,应该归属同一单元格,而h、i区域间隔较大,不应归属同一单元格。
[0123]
特征2,文本区域间的纵向距离应该足够近,例如,不超过单个文字的高。
[0124]
特征3,根据特殊组成短语进行判断,例如,单位需包含价格等要素。根据图5,usd 860.00/mt作为一个整体,虽然“usd”文字区域j与“860.00/mt”文字区域k的横向间隔较远,但其作为固定表达,应判定为归属同一单元格。
[0125]
根据上述空间特征,将目标区域可能归属于同一单元格的文本连接起来,得到潜在目标文本,使用语序判断模型判断潜在目标文本是否连续有效,若连续有效则形成新的文本区域,将新的文本区域作为一个单独的文本,继续判断与其他文本是否属于同一单元格,通过不断聚合,直至所有潜在目标文本均无法再组成连续有效的表达。例如,目标区域存在文本l、m、n、o,根据空间特征将l和m连接起来,得到潜在目标文本lm,通过语序判断模型判定lm连续有效,可以形成新的文本,之后可以继续根据空间特征和语序判断模型判断lm与n是否可以继续连接成为新的文本,若可以,则形成新的文本lmn,若不可以,则可以继续判断lm与o是否可以连接成为新的文本,若可以,则形成新的文本lmo,若不可以,则将lm作为目标文本,之后可以对n和o继续进行聚合。
[0126]
本实施例中,通过获取目标区域中至少两个文本的空间特征,判断至少两个文本的空间特征是否符合预设条件,若符合,判断至少两个文本的内容是否连续,若连续,则判定至少两个文本为目标文本,可以从空间分析和自然语言理解两方面对表格进行解析,具有较高的容错性,使解析结果具有较高的可靠性。
[0127]
在一个实施例中,上述步骤s142,可以具体包括:判断至少两个文本的水平间距是否不超过预设的第一间距,和/或,判断至少两个文本的垂直间距是否不超过预设的第二间距。
[0128]
具体实现中,目标区域至少两个文本的空间特征可以包括文本之间的水平间距,
获取两个文本的位置坐标,若纵坐标的差值小于预设阈值,可以判定两个文本位于同一水平线,计算两个文本之间的水平间距,并判断水平间距是否不超过预设的第一间距,例如,可以将单个文字宽度作为第一间距,若不超过第一间距,则判定两个文本属于同一单元格,否则,若超过第一间距,则判定不属于同一单元格;目标区域至少两个文本的空间特征还可以包括文本之间的垂直间距,若两个文本位置坐标中横坐标的差值小于预设阈值,可以判定两个文本位于同一垂直线,计算两个文本之间的垂直间距,并判断垂直间距是否不超过预设的第二间距,例如,可以将单个文字高度作为第二间距,若不超过第二间距,则判定两个文本属于同一单元格,否则,若超过第二间距,则判定不属于同一单元格。
[0129]
本实施例中,通过判断至少两个文本的水平间距是否不超过预设的第一间距,和/或,判断至少两个文本的垂直间距是否不超过预设的第二间距,可以自动对目标区域的文本进行聚合,形成待解析表格中的各个单元格,无需人工操作,提高了表格解析的效率。
[0130]
在一个实施例中,上述步骤s150,可以具体包括:当目标文本与至少两个表头相匹配时,分别获取目标文本与至少两个表头之间的距离;通过在各距离中查找最小值,得到最小距离;根据最小距离对应的表头,得到与目标文本相匹配的目标表头;根据目标文本和目标表头,得到待解析表格的表格解析结果。
[0131]
具体实现中,若通过文本分类模型识别到一个目标文本同时与两个或多个表头相匹配,可以计算目标文本与各表头之间的距离,并从中选择最小距离,最小距离对应的表头与目标文本最近,可以将该表头作为目标表头,将目标文本归属于目标表头。
[0132]
例如,根据图6,目标文本l同时与“unit price”和“amount(usd)”相匹配,由于l距离“unit price”更近,因此目标文本l应归属于“unit price”列。
[0133]
本实施例中,通过当目标文本与至少两个表头相匹配时,分别获取目标文本与至少两个表头之间的距离,通过在各距离中查找最小值得到最小距离,根据最小距离对应的表头得到与目标文本相匹配的目标表头,根据目标文本和目标表头得到待解析表格的表格解析结果,可以提高目标文本与表头相匹配的准确率,降低匹配错位概率。
[0134]
在一个实施例中,如图7所示,提供了一种表格解析系统,包括:文字定位识别装置710、表格域提取装置720、单元格聚合装置730和目标列匹配装置740,其中,文字定位识别装置710与表格域提取装置720相连接,文字定位识别装置710还与单元格聚合装置730相连接,单元格聚合装置730与目标列匹配装置740相连接。其中:
[0135]
文字定位识别装置710,主要使用ocr技术,识别影像中的文字,及文字在影像中的位置信息。
[0136]
表格域提取装置720,在ocr识别结果中,通过关键字匹配的方法,找到待识别表格的表头,获取表头在影像中的位置。即使最开放式的表格也会保留最上和最下的边线,通过分析横贯表头的表格线,找到表格的上下边界,最终将表格从原始影像中截取出来。
[0137]
单元格聚合装置730,通过对识别结果间相对位置关系分析连接识别结果,初步组成候选段落,再通过语义连续性判别模型判断相连文本区域是否真正归属同一段落,形成一段段在所属领域语义连续的段落,这样将原本分散的识别结果聚合成候选单元格。
[0138]
目标列匹配装置740,通过文本分类的方法判断候选单元格应归于表头的哪一列,再通过单元格间的相对位置关系,完成表格的结构化提取。
[0139]
图8提供了一个文字定位识别装置710的结构框图。根据图8,文字定位识别装置
710包括ocr识别单元711,其中:
[0140]
ocr识别单元711,使用ocr技术对影像中的文字进行识别,并获取文字在影像中的坐标位置,ocr技术可选择tesseract等。例如,对于如图2所示的影像,可以识别到文字,及文字区域在影像中对应的位置坐标,以图2中的表头为例,识别结果如下:
[0141][0142][0143]
图9提供了一个表格域提取装置720的结构框图。根据图9,表格域提取装置720包
括目标表头识别单元721和表格边界识别截取单元722,其中:
[0144]
目标表头识别单元721,通过关键字查找的方法在ocr识别结果中找到目标表格表头在影像中的位置,初步定位表格的起始和跨度。
[0145]
例如,对于如图2所示的影像,通过关键字匹配的方法找到表头“description”、“net weight”、“unit price”和“amount(usd)”,同时可以确定文字区域“description”的左上顶点a和文字区域“amount(usd)”的右上顶点b,ab连线可初步视为表格跨度。
[0146]
表格边界识别截取单元722,在开放式表格中有可能中间的表格线会遗失,但是最上和最下的边线都会保留。在提取到表头位置和初始表格跨度后,以表头位置为基准,向上找距离表头位置最近足够横跨整个表格的横线作为表格的上边界;向下找最底的距离表头位置最远的足够横跨整个表格的横线作为下边界。影像中横线的检测和提取可以使用opencv的直线检测技术。在找到表格的上下边界后,以此为基准将表格图片从影像中单独截取出来。
[0147]
例如,使用上述方式在图3中找到cd作为表格的上边界,ef作为表格的下边界,然后以此将包含表格的cefd矩形图片从原始影像中截取出来。
[0148]
图10提供了一个单元格聚合装置730的结构框图。根据图10,单元格聚合装置730包括候选区域识别单元731、语序判断模型生成单元732和语序判断执行单元733,其中:
[0149]
候选区域识别单元731,表格图片在通过文字定位识别装置后输出的结果中,通过空间分析和相对位置关系判断两个单独的文本区域是否是连续的,是否归属同一单元格,如判断两个识别区域足够近,是否在同一行等。通过这些空间特征找到潜在的归属同一单元格的文字对。具体空间特征示例如下:
[0150]
特征1,文本区域应基本在同一水平线上,且其横向间的距离应该足够近,例如不超过单个文字宽度等。例如图4中的g、h区域间的横向间距小于单个字符,应该归属同一单元格;而h、i区域间隔较大,不应归属同一单元格。
[0151]
特征2,文本区域间的纵向距离应该足够近,例如不高于单个文字的高等。
[0152]
特征3,特殊组成短语判断,例如单位需包含价格等要素。如图5所示,usd 860.00/mt作为一个整体,虽然“usd”文字区域j与“860.00/mt”文字区域k的横向间隔较远,但其作为固定表达应判断为归属同一单元格。
[0153]
语序判断模型生成单元732,利用现有的或收集足够多所属领域的有效表达的训练用文本,基于统计学习或深度学习等技术,训练一个判断语序是否连续的语言模型。模型的输入是一段文本,输出一个判断结果,即输入文本是否是所属领域连续有效的表达。该模型生成单元在系统初始时执行一次,在系统运行期间不断积累训练样本适时执行。
[0154]
语序判断执行单733,将候选区域识别单元输出的可能归属同一单元格的文本连起来,使用语序判断模型判断连接后的文本是否连续有效,如连续则组成新的文本区域,新的区域也参与后续的迭代聚合过程。不断迭代上述文本区域的识别聚合过程,直到所有潜在的文本区域都不能组成连续有效的表达,完成了所有单元格的聚合。
[0155]
图11提供了一个目标列匹配装置740的结构框图。根据图11,目标列匹配装置740包括候选目标列分类模型生成单元741和目标列分类匹配单元742,其中:
[0156]
目标列分类模型生成单元741,单元格的内容作为值,对应的列名作为键。基于有效的历史数据,针对所处理类型表格,收集足够多这样键值对,训练文本分类模型,模型的
输入是单元格内容,输出是列名。模型可选用fasttext或transformer、bert等深度学习模型。该模型生成单元在系统初始时执行一次,在系统运行期间,随着有效样本的不断积累适时执行。
[0157]
目标列分类匹配单742,将单元格聚合装置找到的单元格内容通过上述目标列分类模型,模型输出该单元格归属哪一列。如果存在一个单元格同时匹配了多个列,则应根据就近原则做进一步判断,即空间上最近距离。例如,图6中区域l同时匹配了“unit price”和“amount(usd)”两个列,但是因为区域l离“unit price”更近,因此区域l应归属“unit price”列。
[0158]
在一个实施例中,如图12所示,基于上述表格解析系统,提出了一种基于相对空间位置分析、nlp自然语言处理的逐级迭代的影像开放式表格内容结构化提取的方法,主要包括如下步骤:
[0159]
步骤s1210,将待解析影像应用文字定位识别装置,获得识别结果文本,及识别结果在影像中的位置信息;
[0160]
步骤s1220,将步骤s1210的识别结果和原始影像通过表格域提取装置,先获得目标表格表头在影像中的位置信息,再根据表格的上下特征边线将整个表格图片从原始影像中截取出来;
[0161]
步骤s1230,将待解析表格图片再次应用文字定位识别装置,获得识别结果文本,及识别结果在表格图片中的位置信息;
[0162]
步骤s1240,将步骤s1230输出的包含定位信息的ocr识别结果通过单元格聚合装置,将原本分散的文本区域组合成一个个语义连续的段落,每个段落即为候选单元格;
[0163]
步骤s1250,将步骤s1240输出结果通过目标列匹配装置,完成候选单元格和表头的匹配,再依照空间顺序对单元格排序,完成表格识别结果的结构化。
[0164]
图13提供了一个表格解析方法的流程示意图。根据图13,以应用于服务器为例进行说明,表格解析方法可以包括以下步骤:
[0165]
步骤s1301,应用系统初始化;
[0166]
步骤s1302,生成初始的语序判别模型;
[0167]
步骤s1303,生成初始的目标列分类模型;
[0168]
步骤s1304,应用系统开始启动;
[0169]
步骤s1305,获取待处理的影像;
[0170]
步骤s1306,将影像进行文字定位识别,获得ocr识别的文字内容和识别区域的位置信息;
[0171]
步骤s1307,通过关键字和相对空间位置分析确定目标表格表头和上下边线的位置;
[0172]
步骤s1308,通过表格边界和跨度从原始影像中截取表格图片;
[0173]
步骤s1309,对表格图片单独进行文字的定位识别,获取识别结果及位置信息;
[0174]
步骤s1310,通过分析文本区域间的空间关系,找到一组组潜在组成同一单元格的候选文字区域,将他们相互连接组成单元格候选区域;
[0175]
步骤s1311,将单元格候选区域文本通过语序判断模型,判断连接后的文本是否连贯有效。如无效,再回到步骤s1310识别新的候选区域。
[0176]
步骤s1312,如有效,则归属同一单元格,组成新的文本区域,新的文本区域继续参与下一轮的识别聚合过程。迭代步骤s1310至步骤s1312,直到无法再找到满足条件的文本区域,形成一段段有效的单元格文本;
[0177]
步骤s1313,通过文本分类模型,找到候选单元格应归属那一列;
[0178]
步骤s1314,对于可能归属多个目标列的候选单元格,通过空间距离分析进一步确定归属;
[0179]
步骤s1315,迭代步骤s1313至步骤s1315,直到完成所有目标键值对的匹配。按照单元格间的相对空间位置关系,对识别结果进行重排,完成表格识别结果的结构化。
[0180]
上述表格解析方法基于空间分析与语序判断对影像中的开放式表格进行迭代补全,不仅适用开放式表格,也适用于结构化表格,由于不需要规范的表格线,只需要能够定位表格边界的上下边线即可,通过对表头和上下边界的识别,可以将表格从原始影像中截取出来,进一步运用ocr和nlp技术完成表格影像的结构化提取,因此上述表格解析方法具有如下有益效果:
[0181]
对原始影像的质量要求较低,通过空间分析和自然语言理解两方面进行解析,而不仅依赖空间分析,具有较高的容错性。
[0182]
解析结果的可靠性更高,有基于语义理解对结果进行判断,单元格与列进行匹配,发生匹配错位的概率较小。
[0183]
采用语序判断模型和文本分类模型,模型可进化、可学习,通过不断积累数据,对模型进行迭代更新,可以不断提高准确率。
[0184]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0185]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的表格解析方法的表格解析装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个表格解析装置实施例中的具体限定可以参见上文中对于表格解析方法的限定,在此不再赘述。
[0186]
在一个实施例中,如图14所示,提供了一种表格解析装置1400,包括:影像文本识别模块1410、表格参数确定模块1420、表格区域确定模块1430、表格文本识别模块1440和表格解析模块1450,其中:
[0187]
影像文本识别模块1410,用于识别待处理影像中的文本,以及所述文本在所述待处理影像中的位置;所述待处理影像中包含待解析表格;
[0188]
表格参数确定模块1420,用于根据所述文本和所述位置,确定所述待解析表格的表头信息和跨度信息;
[0189]
表格区域确定模块1430,用于根据所述表头信息和所述跨度信息,从所述待处理影像中确定出目标区域;所述目标区域为所述待处理影像中包含所述待解析表格的最小区
域;
[0190]
表格文本识别模块1440,用于从所述目标区域中识别出目标文本;所述目标文本为属于同一个单元格的文本;
[0191]
表格解析模块1450,用于将所述目标文本与所述表头信息进行匹配,得到所述待处理影像中所述待解析表格的表格解析结果。
[0192]
在一个实施例中,上述表格参数确定模块1420,还用于获取待解析表格的表头关键字;通过在所述文本中查找所述表头关键字,得到所述待解析表格的表头;确定所述表头的表头信息;所述表头信息包括表头顶点;根据所述表头顶点,得到所述待解析表格的跨度信息。
[0193]
在一个实施例中,上述表格区域确定模块1430,还用于通过在所述表头上方查找距离所述表头位置最近,且长度不小于所述跨度信息的横线,得到所述待解析表格的上框线;通过在所述表头下方查找距离所述表头位置最远,且长度不小于所述跨度信息的横线,得到所述待解析表格的下框线;根据所述上框线和所述下框线,从所述待处理影像中确定出所述目标区域。
[0194]
在一个实施例中,上述表格文本识别模块1440,还包括:
[0195]
获取模块,用于获取所述目标区域中至少两个文本的空间特征;
[0196]
第一判断模块,用于判断所述至少两个文本的空间特征是否符合预设条件;
[0197]
第二判断模块,用于若符合,判断所述至少两个文本的内容是否连续;
[0198]
判定模块,用于若连续,则判定所述至少两个文本为所述目标文本。
[0199]
在一个实施例中,上述第一判断模块,还用于判断所述至少两个文本的水平间距是否不超过预设的第一间距,和/或,判断所述至少两个文本的垂直间距是否不超过预设的第二间距。
[0200]
在一个实施例中,上述表格解析模块1450,还用于当所述目标文本与至少两个所述表头相匹配时,分别获取所述目标文本与至少两个所述表头之间的距离;通过在各所述距离中查找最小值,得到最小距离;根据所述最小距离对应的表头,得到与所述目标文本相匹配的目标表头;根据所述目标文本和所述目标表头,得到所述待解析表格的表格解析结果。
[0201]
上述表格解析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0202]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储表格解析数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种表格解析方法。
[0203]
本领域技术人员可以理解,图15中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设
备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0204]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0205]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0206]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0207]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0208]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0209]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0210]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献