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

一种基于PDF文档的表格信息提取方法、装置及设备

2022-06-05 12:10:03 来源:中国专利 TAG:

一种基于pdf文档的表格信息提取方法、装置及设备
技术领域
1.本发明涉及数据处理领域,尤其涉及一种基于pdf文档的表格信息提取方法、装置及设备。


背景技术:

2.随着全球经济的不断发展,通过海上运输来进行跨国贸易日益频繁。海运公司在与国际贸易企业进行交易后,往往通过海运提单作为海运公司受理物流业务的最终合同,并通过海运服务平台的员工,对海运提单进行平台内部信息核对,以确保信息准确。而不同海运公司的提单格式是不一样的,常见的提单格式有六十种左右,因此,对于不同提单格式的海运提单的信息进行自动化解析,将极大程度提高工作效率,节省人力物力。
3.海运提单主要为电子化生成的含有表格的pdf文档,在现有技术中,有两种表格提取策略,一种是采用启发式算法,通过各元素之间的相对位置关系设计表格提取流程,并进行表格内容的提取;另一种是基于深度学习的表格处理方法,通过将pdf文件转化为图片格式并识别表格位置以及单元格分布,并通过ocr识别文字内容,从而提取pdf文件中的表格内容。传统启发式算法难以处理复杂的表格,而pdf格式的海运提单文件中的表格形式复杂,存在表格线缺失、表格线弯曲等情况,因此传统启发式算法不适用于海运提单的解析处理。而基于深度学习的表格处理方法同样在复杂表格的解析与提取中存在准确度不高的问题,所以现有技术在海运提单pdf文档解析中存在许多不足。
4.因此,目前市面上亟需一种针对电子化生成的海运提单pdf文档的表格处理策略,解决在海运提单信息提取的过程中,由于海运提单表格形式复杂、文字内容多、文字偏移而造成的内容提取解析效率低下的问题。


技术实现要素:

5.本发明实施例提供一种基于pdf文档的表格信息提取方法、装置及设备,通过自动提取并整合电子化生成的海运提单pdf文档信息的技术,解决在海运提单信息提取的过程中,由于海运提单表格形式复杂、文字内容多、文字偏移而造成的内容提取解析效率低下的问题,从而提高核对海运提单信息内容的工作效率。
6.为了解决上述问题,本发明一实施例提供一种基于pdf文档的表格信息提取方法,包括:
7.提取海运提单pdf文档的线型元素,按照所述线型元素在所述pdf文档中的位置关系,构建第一表格结构图;
8.根据所述第一表格结构图,对所述文档进行连通域的检测和字符位置映射,获得连通域集合;其中,所述连通域集合中每个连通域包含字符数据和物理数据,以及所述物理数据包括字符位置、连通域高度和连通域面积;
9.根据每个连通域中的物理数据,比较每个连通域中的字符位置,获得每个连通域对应的第一文本内容;对所有连通域进行检测,获得目标连通域,并根据每个目标连通域的
连通域高度和连通域面积,获得第二文本内容;
10.整合所述第一文本内容和所述第二文本内容,获得海运提单的数据字典。
11.进一步地,所述按照所述线型元素在所述pdf文档中的位置关系,构建第一表格结构图,具体为:
12.根据所述线型元素在所述pdf文档中的位置关系,构建第二表格结构图;
13.根据所述第二表格结构图,对表格左边框和右边框的不完整线段进行补全;
14.对所有水平表格线的自由端和所有竖直表格线的自由端沿竖直方向进行补全,若在每个自由端进行补全的过程中识别到水平表格线,则结束补全;
15.所有不完整线段补全完成后,获得第一表格结构图;若所述第二表格结构图的所有线段全部完整,则跳过补全,直接获得第一表格结构图。
16.进一步地,所述根据所述第一表格结构图,对所述文档进行连通域的检测和字符位置映射,获得连通域集合,具体为:
17.根据所述第一表格结构图中的表格线,将表格划分为多个单元区域,同时获取每个单元区域的高度和面积;
18.根据所述pdf文档,对文本内容进行检测,以获得文档全部字符数据和字符坐标;
19.根据所述字符坐标,将所述字符数据分别映射到所述多个单元区域中,从而获得多个连通域,即所述连通域集合。
20.进一步地,所述根据每个连通域中的物理数据,通过比较每个连通域中的字符位置,获得每个连通域对应的第一文本内容,具体为:
21.根据所述连通域中的物理数据,获取每个字符的字符位置,并计算获得字符间的竖直距离和水平距离;
22.按照从上到下、从左到右的顺序遍历每一个字符,在相邻字符之间的竖直距离大于分行阈值的情况下,将两个字符分别拼接到相邻两行的句子中;
23.在相邻字符之间的竖直距离小于分行阈值的情况下,若相邻字符之间的水平距离小于同词阈值,则将两个字符拼接到一个单词中;若相邻字符之间的水平距离大于同词阈值且小于同句阈值,则将两个字符分别拼接到两个相邻的单词中;若相邻字符之间的水平距离大于同句阈值,则将两个字符分别拼接到两个相邻的句子中;
24.将每个连通域中的字符进行拼接后,获得每个所述连通域对应的第一文本内容。
25.进一步地,所述对所有连通域进行检测,获得目标连通域,并根据每个目标连通域的连通域高度和连通域面积,获得第二文本内容,具体为:
26.设置正则匹配表达式,进行连通域的目标键值匹配,确定目标连通域,根据所述连通域高度和连通域面积,判断所述连通域中是否仅存在键值;
27.若目标连通域为单行文本高度,则所述连通域中仅存在键值,提取所述单行文本高度的连通域中的所有文本内容作为键值;
28.若目标连通域为非单行文本高度,则所述连通域中存在“键值-内容”对,提取所述非单行文本高度的连通域中的第一行文本内容作为键值;
29.提取所有目标连通域中的键值,获得第二文本内容。
30.进一步地,所述整合所述第一文本内容和所述第二文本内容,获得海运提单的数据字典,具体为:
31.将所述第一文本内容和所述第二文本内容进行匹配;
32.若第二文本内容所处的连通域为多行高度,则提取多行高度连通域对应的第一文本内容,并根据第二文本内容整合成“键值-内容”对;
33.若第二文本内容所处的连通域为单行高度,则提取单行高度的连通域中的第二文本内容,以及提取在单行高度的连通域正下方对应的连通域中的第一文本内容,并组成“键值-内容”对;
34.所述第一文本内容和所述第二文本内容匹配完成后,整合所有的“键值-内容”对,从而获得所述海运提单的数据字典。
35.所述的基于pdf文档的表格信息提取方法还包括:根据预设的web api接口,用户上传海运提单pdf文档,并在web服务器端运行算法进行表格信息提取后,输出数据字典。
36.相应的,本发明还提供了一种基于pdf文档的表格信息提取装置,包括:提取模块、连通域模块、拼接模块和输出模块;
37.所述提取模块用于提取海运提单pdf文档的线型元素,按照所述线型元素在所述pdf文档中的位置关系,构建第一表格结构图;
38.所述连通域模块用于根据所述第一表格结构图,对所述文档进行连通域的检测和字符位置映射,获得连通域集合;其中,所述连通域集合中每个连通域包含字符数据和物理数据,以及所述物理数据包括字符位置、连通域高度和连通域面积;
39.所述拼接模块用于根据每个连通域中的物理数据,通过比较每个连通域中的字符位置,获得每个连通域对应的第一文本内容;对所有连通域进行检测,获得目标连通域,并根据每个目标连通域的连通域高度和连通域面积,获得第二文本内容;
40.所述输出模块用于整合所述第一文本内容和所述第二文本内容,获得海运提单的数据字典。
41.进一步地,所述提取模块包括:表格构建单元、边框补全单元、表格线补全单元和表格输出单元;
42.所述表格构建单元用于根据所述线型元素在所述pdf文档中的位置关系,构建第二表格结构图;
43.所述边框补全单元用于根据所述第二表格结构图,对表格左边框和右边框的不完整线段进行补全;
44.所述表格线补全单元用于对所有水平表格线的自由端和所有竖直表格线的自由端沿竖直方向进行补全,若在每个自由端进行补全的过程中识别到水平表格线,则结束补全;
45.所述表格输出单元用于所有不完整线段补全完成后,获得第一表格结构图;若所述第二表格结构图的所有线段全部完整,则跳过补全,直接获得第一表格结构图。
46.进一步地,所述连通域模块包括:分割单元、检测单元和映射单元;
47.所述分割单元用于根据所述第一表格结构图中的表格线,将表格划分为多个单元区域,同时获取每个单元区域的高度和面积;
48.所述检测单元用于根据所述pdf文档,对文本内容进行检测,以获得文档全部字符数据和字符坐标;
49.所述映射单元用于根据所述字符坐标,将所述字符数据分别映射到所述多个单元
区域中,从而获得多个连通域,即所述连通域集合。
50.进一步地,所述拼接模块包括:字符提取单元、字符分行单元、字符拼接单元和字符输出单元;
51.所述字符提取单元用于根据所述连通域中的物理数据,获取每个字符的字符位置,并计算获得字符间的竖直距离和水平距离;
52.所述字符分行单元用于按照从上到下、从左到右的顺序遍历每一个字符,在相邻字符之间的竖直距离大于分行阈值的情况下,将两个字符分别拼接到相邻两行的句子中;
53.所述字符拼接单元用于在相邻字符之间的竖直距离小于分行阈值的情况下,若相邻字符之间的水平距离小于同词阈值,则将两个字符拼接到一个单词中;若相邻字符之间的水平距离大于同词阈值且小于同句阈值,则将两个字符分别拼接到两个相邻的单词中;若相邻字符之间的水平距离大于同句阈值,则将两个字符分别拼接到两个相邻的句子中;
54.所述字符输出单元用于将每个连通域中的字符进行拼接后,获得每个所述连通域对应的第一文本内容。
55.进一步地,所述拼接模块还包括:键值匹配单元、第一提取单元、第二提取单元和键值输出单元;
56.所述键值匹配单元用于设置正则匹配表达式,进行连通域的目标键值匹配,确定目标连通域,根据所述连通域高度和连通域面积,判断所述连通域中是否仅存在键值;
57.所述第一提取单元用于若目标连通域为单行文本高度,则所述连通域中仅存在键值,提取所述单行文本高度的连通域中的所有文本内容作为键值;
58.所述第二提取单元用于若目标连通域为非单行文本高度,则所述连通域中存在“键值-内容”对,提取所述非单行文本高度的连通域中的第一行文本内容作为键值;
59.所述键值输出单元用于提取所有目标连通域中的键值,获得第二文本内容。
60.进一步地,所述输出模块包括:文本匹配单元、第一组对单元、第二组对单元和整合单元;
61.所述文本匹配单元用于将所述第一文本内容和所述第二文本内容进行匹配;
62.所述第一组对单元用于若第二文本内容所处的连通域为多行高度,则提取多行高度连通域对应的第一文本内容,并根据第二文本内容整合成“键值-内容”对;
63.所述第二组对单元用于若第二文本内容所处的连通域为单行高度,则提取单行高度的连通域中的第二文本内容,以及提取在单行高度的连通域正下方对应的连通域中的第一文本内容,并组成“键值-内容”对;
64.所述整合单元用于所述第一文本内容和所述第二文本内容匹配完成后,整合所有的键值内容对,从而获得所述海运提单的数据字典。
65.相应的,本发明提供的一种基于pdf文档的表格信息提取装置还包括:根据预设的web api接口,用户上传海运提单pdf文档,并在web服务器端运行算法进行表格信息提取后,输出数据字典。
66.相应的,本发明还提供了一种计算机终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如本发明所述的一种基于pdf文档的表格信息提取方法。
67.相应的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质包
括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如本发明所述的一种基于pdf文档的表格信息提取方法。
68.由上可见,本发明具有如下有益效果:
69.本发明提供了一种基于pdf文档的表格信息提取方法、装置及设备,对海运提单pdf文档的表格信息进行表格结构的提取,并对表格结构进行表格线补全,通过完整的表格结构,进行基于连通域检测的文本内容空间划分,并对目标连通域进行“键值-内容”对的匹配、整合、提取,从而提高了海运提单中表格信息提取的准确度。通过对海运提单内容的自动化解析和提取,有利于提高海运提单信息的核对效率,以构建智慧海运信息平台,从而节省海运服务公司的人力消耗和物力消耗。
附图说明
70.图1是本发明一实施例提供的基于pdf文档的表格信息提取方法的流程示意图;
71.图2是本发明一实施例提供的基于pdf文档的表格信息提取装置的结构示意图;
72.图3是本发明另一实施例提供的基于pdf文档的表格信息提取方法的流程示意图;
73.图4是本发明一实施例提供的海运提单表格初步提取的结果示意图;
74.图5是本发明一实施例提供的海运提单的表格补全结果示意图、连通域检测结果示意图;
75.图6是本发明一实施例提供的字符拼接的流程示意图;
76.图7是本发明一实施例提供的字符拼接的结果示意图;
77.图8是本发明一实施例提供的一种终端设备结构示意图。
具体实施方式
78.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
79.参见图1,图1是本发明一实施例提供的一种基于pdf文档的表格信息提取方法的流程示意图,如图1所示,本实施例包括步骤101至步骤104,各步骤具体如下:
80.步骤101:提取海运提单pdf文档的线型元素,按照所述线型元素在所述pdf文档中的位置关系,构建第一表格结构图。
81.在本实施例中,所述按照所述线型元素在所述pdf文档中的位置关系,构建第一表格结构图,具体为:
82.根据所述线型元素在所述pdf文档中的位置关系,构建第二表格结构图;
83.根据所述第二表格结构图,对表格左边框和右边框的不完整线段进行补全;
84.对所有水平表格线的自由端和所有竖直表格线的自由端沿竖直方向进行补全,若在每个自由端进行补全的过程中识别到水平表格线,则结束补全;
85.所有不完整线段补全完成后,获得第一表格结构图;若所述第二表格结构图的所有线段全部完整,则跳过补全,直接获得第一表格结构图。
86.为更好的解释本步骤,提供以下例子进行说明。
87.提取pdf文件中的矩形框、线段、曲线等线型元素,新建一张空白图片,按照线型元素在pdf文件中的对应位置,将所有提取到的线型元素绘制在空白图片中,形成原始表格结构图;对原始表格结构图进行完整度判断,若完整则得到完整表格结构图,若不完整则使用表格线补全措施进行表格线补全后,获得完整表格结构图。
88.其中,表格线补全措施具体为:
89.(1)识别整个表格的左边框和右边框,将无边框或边框为不连续线段的左、右边框进行补全为全实线;
90.(2)查找水平表格线和竖直表格线的自由端,沿自由端端点的竖直方向上下作辅助表格线,遇到水平表格线则停止作线。
91.为更好的解释原始表格结构图的提取效果,请参见图4;为更好的解释表格线补全效果,请参见图5。
92.作为上述方案的改进,pdf文档解析可以采用python工具包pdfminer,以得到组成pdf文档的所有元素,筛选字符和标点符号,从而获得线型元素。
93.步骤102:根据所述第一表格结构图,对所述文档进行连通域的检测和字符位置映射,获得连通域集合;其中,所述连通域集合中每个连通域包含字符数据和物理数据,以及所述物理数据包括字符位置、连通域高度和连通域面积。
94.在本实施例中,所述对所述第一表格结构图进行连通域的检测和字符位置映射,获得连通域集合,具体为:
95.根据所述第一表格结构图中的表格线,将表格划分为多个单元区域,同时获取每个单元区域的高度和面积;
96.对所述pdf文档的内容进行检测,以获得文档全部字符数据和字符坐标;
97.根据所述字符坐标,将所述字符数据分别映射到所述多个单元区域中,从而获得所述多个连通域,即所述连通域集合。
98.为更好的解释本步骤,提供以下例子进行说明。
99.对完整表格结构图进行检测,获得多个单元区域,以及单元区域的高度和面积,如图5所示,不同的区域以不同颜色进行区分;对文档内容进行解析,获得字符,并按照字符在文档中的位置坐标,将字符分别映射到多个单元区域中,从而获得连通域集合。
100.作为上述方案的改进,此处连通域并不一定为矩形,故实现了对不规则形状单元格的支持。
101.步骤103:根据每个连通域中的物理数据,通过比较每个连通域中的字符位置,获得每个连通域对应的第一文本内容;对所有连通域进行检测,获得目标连通域,并根据每个目标连通域的连通域高度和连通域面积,获得第二文本内容;
102.在本实施例中,根据所述连通域中的物理数据,获取每个字符的字符位置,并计算获得字符间的竖直距离和水平距离;
103.按照从上到下、从左到右的顺序遍历每一个字符,在相邻字符之间的竖直距离大于分行阈值的情况下,将两个字符分别拼接到相邻两行的句子中;
104.在相邻字符之间的竖直距离小于分行阈值的情况下,若相邻字符之间的水平距离小于同词阈值,则将两个字符拼接到一个单词中;若相邻字符之间的水平距离大于同词阈值且小于同句阈值,则将两个字符分别拼接到两个相邻的单词中;若相邻字符之间的水平
距离大于同句阈值,则将两个字符分别拼接到两个相邻的句子中;
105.将每个连通域中的字符进行拼接后,获得每个所述连通域对应的第一文本内容。
106.为更好的解释本步骤,提供以下例子进行说明。
107.请参见图6,在每个连通域中,按照空间顺序从上到下、从左到右进行字符遍历,每个字符都有一个矩形包围框,在一个坐标系里,确定每个矩形包围框左上角点的坐标和右下角点的坐标,再通过坐标计算出每个字符之间的竖直距离和水平距离。
108.假设存在n个字符,采用字符拼接模型进行字符拼接,模型具体如下:1)设置三个阈值:同词阈值,同句阈值,分行阈值;2)按照空间位置从上到下,从左到右顺序遍历每一个字符:若字符n和字符n-1之间的竖直距离大于分行阈值,则将字符n和字符n-1拼接到相邻两行句子中;若字符n和字符n-1之间的距离小于分行阈值,则进行下一个判断:若字符n与字符n-1之间的水平距离h小于同词阈值,则将字符n与字符n-1拼接到同一单词中;如果h大于同词阈值且小于同句阈值,则将字符n与字符n-1拼接到两个相邻单词中;如果h大于同句阈值,则将字符n与字符n-1拼接到两个相邻句子中;对所有字符进行拼接后,输出每个连通域中的多行文本内容,拼接效果请参见图7。
109.在本实施例中,还包括:对所有连通域进行检测,获得目标连通域,并根据每个目标连通域的连通域高度和连通域面积,获得第二文本内容,具体为:
110.设置正则匹配表达式,进行连通域的目标键值匹配,确定目标连通域,根据所述连通域高度和连通域面积,判断所述连通域中是否仅存在键值;
111.若目标连通域为单行文本高度,则所述连通域中仅存在键值,提取所述单行文本高度的连通域中的所有文本内容作为键值;
112.若目标连通域为非单行文本高度,则所述连通域中存在“键值-内容”对,提取所述非单行文本高度的连通域中的第一行文本内容作为键值;
113.提取所有目标连通域中的键值,获得第二文本内容。
114.为更好的解释本实施例,提供以下例子进行说明。
115.根据海运提单进行键值匹配,由于海运提单的设计兼顾了形式上的美观和空间上的紧凑,若键值和内容分开在两个单元格中,则两个单元格会上下排布,具有相同宽度(此准则并不适用于一般表格)。根据这一特点应用正则表达式方法,在每个连通域的文本中匹配目标键值,找到所有目标连通域:根据目标连通域的高度和面积,以确定是否存在除键值外的其它文本内容,若为单行文本高度,则仅存在键值;若为多行文本高度,多行文本中选择第一行的文本内容作为键值;此情况发生在多家海运公司提单格式中,比如apl,cma,cnc等;一般键值与其对应内容存在于同一连通域中。
116.步骤104:整合所述第一文本内容和所述第二文本内容,获得海运提单的数据字典。
117.在本实施例中,所述整合所述第一文本内容和所述第二文本内容,获得海运提单的数据字典,具体为:
118.将所述第一文本内容和所述第二文本内容进行匹配;
119.若第二文本内容所处的连通域为多行高度,则提取多行高度连通域对应的第一文本内容,并根据第二文本内容整合成“键值-内容”对;
120.若第二文本内容所处的连通域为单行高度,则提取单行高度的连通域中的第二文
本内容,以及提取在单行高度的连通域正下方对应的连通域中的第一文本内容,并组成“键值-内容”对;
121.所述第一文本内容和所述第二文本内容匹配完成后,整合所有的键值内容对,从而获得所述海运提单的数据字典。
122.为更好的解释本实施例,提供以下例子进行说明。
123.在提取到键值和正文内容后,若键值所在的连通域为多行高度,则提取该连通域中的键值和内容,并组成为“键值-内容”对;若键值所在的连通域为单行高度,则键值对应的内容在键值所在连通域的正下方,分别提取键值和内容并组成为“键值-内容”对;整合所有的“键值-内容”对,得到海运提单的数据字典。
124.在本实施例中,还包括:根据预设的web api接口,用户上传海运提单pdf文档,并在web服务器端运行算法进行表格信息提取后,输出数据字典。
125.为更好的解释本实施例,请参见图3,图3为基于pdf文档的表格信息提取方法的具体流程示意图。
126.在本实施例中,本方法在提取海运提单pdf文档的表格信息的过程中应用了线型元素重构原始表格结构图,解决了无关因素影响表格线识别的问题,并采用表格线补全算法进行表格线的补全,增大了信息提取的准确性。通过连通域来检测文本内容,不仅克服了表格形式复杂、单元格合并、位错的问题,还实现了对不规则形状单元格的支持。而字符集也可以直接从pdf源文件中提取,减小了文本提取的误差。因此,本发明能够极大地提高海运提单自动解析的工作效率。
127.实施例二
128.参见图2,图2是本发明一实施例提供的一种基于pdf文档的表格信息提取装置的结构示意图,包括:提取模块201、连通域模块202、拼接模块203和输出模块204;
129.所述提取模块201用于提取海运提单pdf文档的线型元素,按照所述线型元素在所述pdf文档中的位置关系,构建第一表格结构图;
130.所述连通域模块202用于根据所述第一表格结构图,对所述文档进行连通域的检测和字符位置映射,获得连通域集合;其中,所述连通域集合中每个连通域包含字符数据和物理数据,以及所述物理数据包括字符位置、连通域高度和连通域面积;
131.所述拼接模块203用于根据每个连通域中的物理数据,通过比较每个连通域中的字符位置,获得每个连通域对应的第一文本内容;对所有连通域进行检测,获得目标连通域,并根据每个目标连通域的连通域高度和连通域面积,获得第二文本内容;
132.所述输出模块204用于整合所述第一文本内容和所述第二文本内容,获得海运提单的数据字典。
133.进一步地,所述提取模块201包括:表格构建单元、边框补全单元、表格线补全单元和表格输出单元;
134.所述表格构建单元用于根据所述线型元素在所述pdf文档中的位置关系,构建第二表格结构图;
135.所述边框补全单元用于根据所述第二表格结构图,对表格左边框和右边框的不完整线段进行补全;
136.所述表格线补全单元用于对所有水平表格线的自由端和所有竖直表格线的自由
端沿竖直方向进行补全,若在每个自由端进行补全的过程中识别到水平表格线,则结束补全;
137.所述表格输出单元用于所有不完整线段补全完成后,获得第一表格结构图;若所述第二表格结构图的所有线段全部完整,则跳过补全,直接获得第一表格结构图。
138.进一步地,所述连通域模块202包括:分割单元、检测单元和映射单元;
139.所述分割单元用于根据所述第一表格结构图中的表格线,将表格划分为多个单元区域,同时获取每个单元区域的高度和面积;
140.所述检测单元用于根据所述文档,对文本内容进行检测,以获得文档全部字符数据和字符坐标;
141.所述映射单元用于根据所述字符坐标,将所述字符数据分别映射到所述多个单元区域中,从而获得多个连通域,即所述连通域集合。
142.进一步地,所述拼接模块203包括:字符提取单元、字符分行单元、字符拼接单元和字符输出单元;
143.所述字符提取单元用于根据所述连通域中的物理数据,获取每个字符的字符位置,并计算获得字符间的竖直距离和水平距离;
144.所述字符分行单元用于按照从上到下、从左到右的顺序遍历每一个字符,在相邻字符之间的竖直距离大于分行阈值的情况下,将两个字符分别拼接到相邻两行的句子中;
145.所述字符拼接单元用于在相邻字符之间的竖直距离小于分行阈值的情况下,若相邻字符之间的水平距离小于同词阈值,则将两个字符拼接到一个单词中;若相邻字符之间的水平距离大于同词阈值且小于同句阈值,则将两个字符分别拼接到两个相邻的单词中;若相邻字符之间的水平距离大于同句阈值,则将两个字符分别拼接到两个相邻的句子中;
146.所述字符输出单元用于将每个连通域中的字符进行拼接后,获得每个所述连通域对应的第一文本内容。
147.作为上述方案的改进,所述拼接模块203还包括:键值匹配单元、第一提取单元、第二提取单元和键值输出单元;
148.所述键值匹配单元用于设置正则匹配表达式,进行连通域的目标键值匹配,确定目标连通域,根据所述连通域高度和连通域面积,判断所述连通域中是否仅存在键值;
149.所述第一提取单元用于若目标连通域为单行文本高度,则所述连通域中仅存在键值,提取所述单行文本高度的连通域中的所有文本内容作为键值;
150.所述第二提取单元用于若目标连通域为非单行文本高度,则所述连通域中存在“键值-内容”对,提取所述非单行文本高度的连通域中的第一行文本内容作为键值;
151.所述键值输出单元用于提取所有目标连通域中的键值,获得第二文本内容。
152.进一步地,所述输出模块204包括:文本匹配单元、第一组对单元、第二组对单元和整合单元;
153.所述文本匹配单元用于将所述第一文本内容和所述第二文本内容进行匹配;
154.所述第一组对单元用于若第二文本内容所处的连通域为多行高度,则提取多行高度连通域对应的第一文本内容,并根据第二文本内容整合成“键值-内容”对;
155.所述第二组对单元用于若第二文本内容所处的连通域为单行高度,则提取单行高度的连通域中的第二文本内容,以及提取在单行高度的连通域正下方对应的连通域中的第
一文本内容,并组成“键值-内容”对;
156.所述整合单元用于所述第一文本内容和所述第二文本内容匹配完成后,整合所有的键值内容对,从而获得所述海运提单的数据字典。
157.在本实施例中,还包括:根据预设的web api接口,用户上传海运提单pdf文档,并在web服务器端运行算法进行表格信息提取后,输出数据字典。
158.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
159.在本实施例中,本发明通过提取模块对海运单的pdf文件进行表格提取,并将提取出来的表格输入至连通域模块中进行检测映射,并将检测出来的字符在拼接模块中进行语句拼接,得到键值内容对,最后通过输出模块将键值内容对整合在一起,并获得海运提单的数据字典。本发明在对海运提单信息提取中,克服了表格形式复杂的问题,并且提高了文本提取的准确度,有利于智慧海运平台的搭建,以提供高效、快捷的海运信息核对服务。
160.实施例三
161.参见图8,图8是本发明一实施例提供的终端设备结构示意图。
162.该实施例的一种终端设备包括:处理器801、存储器802以及存储在所述存储器802中并可在所述处理器801上运行的计算机程序。所述处理器801执行所述计算机程序时实现上述各个基于pdf文档的表格信息提取方法在实施例中的步骤,例如图1所示的pdf文档的表格信息提取方法的所有步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如:图2所示的基于pdf文档的表格信息提取装置的所有模块。
163.另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任一实施例所述的基于pdf文档的表格信息提取方法。
164.本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
165.所称处理器801可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器801是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
166.所述存储器802可用于存储所述计算机程序和/或模块,所述处理器801通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器802内的数据,实现所述终端设备的各种功能。所述存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,
sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
167.其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
168.需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
169.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

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

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

相关文献