首页> 中国专利> 一种PDF文档提取的表格信息转换为结构化知识的方法

一种PDF文档提取的表格信息转换为结构化知识的方法

摘要

本发明公开了一种PDF文档提取的表格信息转换为结构化知识的方法,其特点采用PDF文档表格知识抽取算法框架构建知识图谱,其表格信息的提取和转换具体包括:将PDF页转化为图片并使用图像处理算法寻找所有闭合矩形框;对闭合矩形框区域进行位置分析以及OCR识别得出完整表格信息;基于表格信息进行跨页表合并以及表名称检测;预定义产品名检测规则以及属性关键字将表头分为第一依据及第二依据;根据依据项位置将表格划分为三类并利用不同规则进行知识抽取,得到头尾实体以及关系的三元组。本发明与现有技术相比只需提供原始的PDF文档以及预定义依据检测规则即可抽取得到表格内结构化的知识,方法易于实现且准确、可覆盖绝大多数表格种类,为进一步构建知识图谱奠定了良好的基础。

著录项

  • 公开/公告号CN113326797A

    专利类型发明专利

  • 公开/公告日2021-08-31

    原文格式PDF

  • 申请/专利权人 上海电气集团股份有限公司;

    申请/专利号CN202110673369.9

  • 申请日2021-06-17

  • 分类号G06K9/00(20060101);G06K9/34(20060101);G06F40/177(20200101);

  • 代理机构31215 上海蓝迪专利商标事务所(普通合伙);

  • 代理人徐筱梅;张翔

  • 地址 200336 上海市长宁区兴义路8号30层

  • 入库时间 2023-06-19 12:24:27

说明书

技术领域

本发明涉及数据处理技术领域,尤其是一种从非结构化PDF文档中识别并提取其中表格信息以及将其转换为结构化知识的方法。

背景技术

随着信息技术的发展以及产品的不断迭代,一些专业领域的设备文档越来越多,这些文档大都没有固定的编写标准,且大都以PDF的形式所储存。在PDF规范中,其文本、位图以及表格等信息并非像Word一样有着明显的结构化关系。PDF中对于文本描述了每个字符的大小、坐标等信息,对表格除此以外还有表格边缘线的一些信息。由此,当处理PDF中表格信息时并不能得知某个字是否在表格内以及它是属于哪行哪列。这对基于PDF文档的表格识别工作带来了巨大的挑战。此外,即使有了结构化的表格信息,但在各种形形色色的表格类型下想要让计算机提取出其中所包含的知识也是一项挑战。因此,如何从非结构化的PDF文档中提取结构化表格中的知识是技术人员关注的一个重点问题。

发明内容

本发明的目的是针对现有技术的不足而设计的一种PDF文档提取的表格信息转换为结构化知识的方法,采用PDF文档表格知识抽取算法框架构建知识图谱,对非结构化PDF文档经图像处理算法,识别出结构化的表格信息,基于表格中的文本特征,利用规则模板确定表头、设备项等信息,从而精准的抽取出表格中的实体、关系及属性,得到头尾实体及其关系的三元组构建结构化知识图谱,本发明只需提供原始的PDF文档以及预定义依据检测规则即可抽取得到表格内结构化的知识,方法易于实现且准确、可覆盖绝大多数表格种类,为进一步构建知识图谱奠定了良好的基础。

本发明的目的是这样实现的:一种PDF文档提取的表格信息转换为结构化知识的方法,其特点是将结构化表格信息转化为相应的知识图谱具体包括下述步骤:

(一)从非结构化PDF中提取结构化表格信息

步骤1:将PDF的每一页转化为图片存储在本地。

步骤2:对转换好的PDF图片做二值化处理,得到黑白图片。

步骤3:利用(1,20)和(20,1)的卷积核对图像做闭运算,从而确定图中的横线与竖线,得到用于寻找表格的临时图。

步骤4:通过图像处理算法寻找临时图中的矩形,按矩形面积从大到小排序并遍历,找出所有不被其他矩形所包含的矩形列表(rect_list),具体遍历时当rect_list为空或有不被rect_list内的矩形所包含时则算为rect,否则停止遍历。

步骤5:遍历rect_list中的每个矩形,使用OCR模型寻找矩形区域内的文字框;并对区域再做一次矩形检测,如果区域内文本框数量少于4个或区域内矩形框少于4个则移除该矩形。

步骤6:取步骤5中处理后的矩形列表进行遍历,根据矩形坐标及阈值确定该矩形在每行每列的位置。

步骤7:视矩形为单元格,截取单元格内容并使用OCR模型识别文字,识别结果作为该单元格的文字。

步骤8:根据已确定好的矩形框属于表格的第几行第几列与跨行跨列的大小,以及此单元格中的文字内容组织结果并作为表格转图谱步骤的输入。

(二)将结构化表格信息转化为相应的知识图谱(结构化知识)

由于真实文档中存在的表格形式以及它所记录信息的方式不可胜举,但仅关注表格中数据区域与标题区域之间的对应关系可将表格分为以下三种:

1)表格内数据以上方作为依据,左方作为属性;

2)表格内数据以左方作为依据,上方作为属性;

3)表格内数据无参考依据,仅包含属性。

根据上述表格的特征,将其转化为相应的知识图谱具体步骤如下:

步骤1:跨页表预先合并,在从非结构化PDF文档中提取表格信息的过程中,若前页下方存在表格且后页上方存在表格,两表拥有相同的首行或后页表格无表头且两表的列数相同下,则认定为跨页表进行合并。

步骤2:对每个识别的表格抽取该表格在文档中的上、下文(临近文本),使用模板匹配这些上、下文文本,从中找出符合表格名称特点的文本内容作为表标题(如表1:xxx)。

步骤3:预先设定一系列中英文关键字(如:xx参数、xx大小等)以及匹配产品名的正则表达式作为预估表格属于上述三种类别中的哪一个。根据关键字及正则匹配在表格前两行以及前两列中找出第一依据与第二依据开始的行或列(所谓依据,就是哪个做键,哪个做值。键是第一依据,值是第二依据,比如“额定电压”相比于具体产品是做第二依据的,所以找出第一依据和第二依据主要用来组织图谱中的知识,把一个产品从表格中提取出来以树形的方式表现出来)。特殊的,当依据判别的过程中若存在依据跨行或跨列的情况,则需考虑几行/几列的单元格才可以确定唯一属性列。

步骤4:针对不同的表格类型,实施不同的图谱转换方法,该方法主要以头实体(第一依据)、关系(第二依据)以及尾实体(值)的知识表示方式进行图谱转换。对无参考依据的表格(即无第一依据),使用其表名称作为第一依据,属性作为第二依据。此外,对于其他特殊情况应考虑如下:

1)针对规整表格(不存在单元格跨行跨列情况)需要注意过滤编号行或编号列;

2)针对表头跨行的情况需要将表头所涉及的行合并,目的在于生成唯一依据项;

3)针对左侧依据,上方属性的表格需要用最小可表达依据的多列表格信息合并为唯一依据,具体实施为递归处理。固定属性行对表格进行递归处理,决定递归的依据是当前左方列能否作为第二列开始的子表的唯一依据项(左方列相比于其他列是否存在跨多行的情况,若存在则不可表达唯一依据),此时递归过程中,左方列标题与单元格值拼接作为头实体,第二列标题与单元格值拼接作为关系,第三列标题与单元格值拼接作为尾实体。当存在唯一依据项时,则表头属性作为关系,相应单元格值作为尾实体。此过程会生成一棵树形结构的图谱。

本发明与现有技术相比具有将非结构化PDF文档中的表格提取并转化为结构化的知识图谱,并通过跨页表合并、表名称检测以及后续的表格转图谱方法准确的抽取出表格中的头实体(第一依据)、关系(第二依据)以及尾实体(值)等信息,为进一步构建知识图谱提供了可靠的基础保障。

附图说明

图1为本发明的PDF文档表格知识抽取算法框架;

图2为产品功能表格;

图3为PDF文档转化为图片的表格;

图4为员工信息表格。

具体实施方式

参阅附图1,采用PDF文档表格知识抽取算法框架,构建知识图谱,其表格信息的提取和转换具体包括下述步骤:

(一)表格信息的提取

1-1:从PDF文档中检测所有矩形轮廓区域,具体包括下述步骤:

1-1-1:将PDF文档每一页转化为图片存储于本地;

1-1-2:对转换好的PDF图片做二值化处理,并得到黑白图片;

1-1-3:利用卷积核对图像做闭运算,从而确定图中的横线与竖线,得到临时图;

1-1-4:利用图像处理算法寻找临时图中不被其他矩形所包含的矩形区域;

1-1-5:利用OCR模型寻找矩形区域内的文字框,并对该区域再做一次矩形检测,过滤无用的矩形区域。

1-2:根据矩形框坐标及阈值确定该矩形在每行每列的位置,及其跨行跨列的大小,确定单元矩形及其坐标信息。

1-3:根据矩形轮廓区域进行裁剪,使用OCR模型识别单元格内文字,并结合单元格信息生成完整的表格信息。

(二)结构化知识的转化

2-1:按下述定义表格类别:

1)、表格内数据以上方作为依据,左方作为属性;

2)、表格内数据以左方作为依据,上方作为属性;

3)、表格内数据无参考依据,仅包含属性;

2-2:识别并检测表格中数据区域与标题区域间的对应关系,根据表格识别的结果进行分析,判别该表属于预定义的哪种表格类别,具体包括下述步骤:

2-2-1:对整个PDF中的所有表格信息进行跨页表合并;

2-2-2:对每个表格的信息进行表名称检测;

2-2-3:预先设定一系列属性名关键字,以及匹配产品名的正则表达式,分别用于检测表头第二依据以及第一依据的位置;

2-2-4:根据第一依据及第二依据位置进行表格分类,若无第一依据则属于第三类表格;若第一依据在表格上方则属于第一类表格;若第一依据在左方则属于第二类表格。

2-3:将表格按定义的产品名检测以及属性关键字,将表头分为第一依据和第二依据,并根据依据项位置将表格划分为三类进行知识抽取,得到头尾实体以及关系的三元组,进而得到结构化知识。

所述依据项位置将表格划分为三类进行知识抽取,得到头尾实体以及关系的三元组结构化知识,具体按下述步骤对不同类型表格进行图谱转换:

1)、表格内数据以上方作为依据,左方作为属性的表格,其表头上方作为第一依据,属性作为第二依据;若第一依据跨多行,则竖向合并这些行作为头实体,第二依据作为关系,对应单元格的值作为尾实体,得到三元组的结构化知识;

2)、表格内数据以左方作为依据,上方作为属性的表格,使用递归确定最小依据项,在递归过程中生成一棵树形结构的图谱,得到三元组的结构化知识;

3)、对表格内数据无参考依据,仅包含属性的表格,其表名称作为头实体,属性作为关系,相应单元格作为尾实体,得到三元组的结构化知识。

所述跨页表合并是对整个PDF中的所有表格信息按前页下方存在表格,且后页上方存在表格,两表拥有相同的首行或后页表格无表头且两表列数相同下进行跨页表合并。

所述表名称检测是对每个识别的表格抽取该表格在PDF文档中的上、下文,并使用模板匹配这些上下文文本,从中找出符合表格特点的文本内容作为表标题。

以下通过规整表格信息的提取和转换为结构化知识的具体实施例对本发明作进一步的详细说明。

实施例1

参阅附图2,该表格为产品功能列表,是一张上方依据,左方属性的规整表格,其转换为结构化知识的具体操作按下述步骤进行:

(一)从非结构化PDF中提取结构化表格信息

参阅附图3,将整个PDF文档转化为图片,该图为左方依据,上方属性且存在多列确定唯一依据的表格,对其做二值化处理,然后利用(1,20)和(20,1)的卷积核对图像做闭运算,使图中仅保留横线与竖线部分(其他文字内容会被混淆)。

利用图像处理算法找出图中的矩形,利用规则处理保留下每个单元格的部分(即图中的42个单元格)。然后,再分别根据每个单元格的坐标(一般采取左上角坐标及右下角坐标的组合),对比两两单元格是否处于同一行或同一列,比如“配置节”与“介绍3”的左上角与右下角横坐标相近(阈值范围内)即认为这两个单元格处于同一行。此外还需计算每个单元格的跨行/跨列大小,如“D1”的左上角横坐标与“M1”相近,右下角横坐标与“M4”相近,且“M2”、“M3”的左上角及右下角横坐标都被“D1”所包含,其他列与“D1”的对比同理,最终通过计算得知“D1”跨4行,跨列大小计算方法同理。

对每个单元格进行裁剪再使用OCR模型识别其中内容,如“配置项”单元格的内容会被识别为配置项。组织结果,得到每个单元格的起始横坐标(0,1,2等),起始纵坐标(0,1,2等),跨行与跨列大小,以及该单元格中的文本内容。

(二)将结构化表格信息转化为相应的知识图谱(结构化知识)

对上一步的识别结果进行预处理,若存在跨页表则进行合并,同时从表格在文档中的上下文中抽取出表名称。预先定义一系列该领域中常见的中英文属性关键字,如:默认值、说明、介绍、配置等。预先定义产品名大都由英文与数字组成,其中可包含下划线,但不可以由数字+单位结尾(如60Hz、100V、10A等)。

通过预定义的关键字以及产品名识别规则寻找表格中的依据项,发现第一列符合产品名识别规则,因此作为第一依据,第一行命中关键字较多因此作为第二依据。由于第一依据在左,则该表格属于依据在左、属性在上的类型。

在以第一依据、第二依据和值来存储知识时,由于第一依据与相邻列对比起来跨多行,因此第一依据+第二依据无法确定唯一的值,需递归处理,得到以下数据:

(DB,配置项:D1,[默认值:S1,默认值:S2]);

(DB,配置项:D2,[默认值:S3,默认值:S4]);

(配置项:D1,默认值:S1,[说明:T1,说明:T2]);

(配置项:D1,默认值:S2,[说明:T3,说明:T4]);

(配置项:D2,默认值:S3,[说明:T5,说明:T6]);

(配置项:D2,默认值:S4,[说明:T7]);

(默认值:S1,说明:T1,[介绍:M1,介绍2:H1,介绍3:R1]);

(默认值:S1,说明:T2,[介绍:M2,介绍2:H2,介绍3:R2]);

(默认值:S2,说明:T3,[介绍:M3,介绍2:H3,介绍3:R3]);

(默认值:S2,说明:T4,[介绍:M4,介绍2:H4,介绍3:R4]);

(默认值:S3,说明:T5,[介绍:M5,介绍2:H5,介绍3:R5]);

(默认值:S3,说明:T6,[介绍:M6,介绍2:H6,介绍3:R6]);

(默认值:S4,说明:T7,[介绍:M7,介绍2:H7,介绍3:R7])。

将上述数据组织为树的形式用于构建知识图谱。

实施例2

参阅附图4,该表格为员工信息表,是一张无参考依据,且仅包含属性的表格,其转换为结构化知识的具体操作按下述步骤进行:

(一)从非结构化PDF中提取结构化表格信息

实施方法与实施例1相同,得到识别结果。

(二)将结构化表格信息转化为相应的知识图谱(结构化知识)

对上述识别结果进行预处理,主要解决跨页表合并以及表名称检测,最终得到该表名为“表3员工信息表”。

根据预先定义的一系列领域属性关键字寻找表格依据项,发现第一列命中关键字较多(姓名、年龄、国籍、学历等)因此可作为属性列。但并无某行符合产品名识别规则,即该表属于无参考依据,仅包含属性的类别。

考虑此类表格存在由(表名、属性,和值)组成的知识三元组,且除属性列以外的其他列(一般仅两列)都应合并为一列,抽取得到以下数据:

(表3员工信息表,姓名,张三);

(表3员工信息表,年龄,23);

(表3员工信息表,国籍,中国);

(表3员工信息表,学历,本科);

将上述数据用于构建知识图谱。

本发明的保护内容不局限于以上实施例,在不背离发明构思的精神和范围下,本领域技术人员在非结构化PDF表格信息抽取以及表格信息转知识图谱的过程中能够基于本发明想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号