CN113343658A - 一种pdf文件信息抽取方法、装置以及计算机设备 - Google Patents
一种pdf文件信息抽取方法、装置以及计算机设备 Download PDFInfo
- Publication number
- CN113343658A CN113343658A CN202110749413.XA CN202110749413A CN113343658A CN 113343658 A CN113343658 A CN 113343658A CN 202110749413 A CN202110749413 A CN 202110749413A CN 113343658 A CN113343658 A CN 113343658A
- Authority
- CN
- China
- Prior art keywords
- line
- lines
- simplest
- characters
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012163 sequencing technique Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Character Input (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开一种PDF文件信息抽取方法、装置以及计算机设备,该方法包括:获取待抽取PDF文件,提取待抽取PDF文件中的字符和线条;根据提取的各线条的坐标位置以及各线条之间的位置关系,抽取待抽取PDF文件中的最简表格,最简表格为所有线条均为两两相连的最外围表格;根据最简表格的表格线条确定最简表格的单元格,递归循环抽取各单元格内部嵌套的最简表格;根据各最简表格的表格线条的坐标位置以及提取的各字符的坐标位置,从字符中抽取得到各最简表格的表格字符。本发明具有实现方法简单、抽取效率高、速度快且能够保留复杂表格内部逻辑关系等的优点。
Description
技术领域
本发明涉及文件信息抽取,尤其涉及一种PDF文件信息抽取方法、装置以及计算机设备。
背景技术
PDF文件中信息主要分为文本段落、表格以及图片,其中图片的提取较为简单,而文本段落以及表格的提取较为复杂,尤其是复杂嵌套表格的提取。针对于PDF文件中线框完全的表格抽取,目前通常是采用自底向上的方式实现,实现原理为:
先由底层的开源的解析工具解析出PDF中的字符、图像、线条、矩形等信息,之后再通过所有的线条找到这些线条的交点的位置坐标信息,再基于自底向上的思想,由交点和线条找到可能存在的单元格,其中查找单元格的过程为:首先对所有交点按照自左向右、自上向下的方式排序,再找到以每个交点作为左上角的最小的单元格,由于交点是按顺序排列的,因而所找到的单元格也是顺序排列的;再将该顺序排列的单元格进行处理,即把连通在一起的单元格合并到一起,生成对应的表格,最后再按照抽取PDF中的段落文本的方法抽取表格中所有单元格的字符组成的段落文本。
上述传统自底向上的表格抽取方式,核心是基于PDF中线条的连接点来提取,即先遍历所有的线条得到所有的单元格的顶点,从最底层最小的单元格开始处理,再通过各单元格的顶点逐个对单元格进行处理,但是该类方式会存在以下问题:
1、由于需要遍历线条之间的所有交点,因而必须进行线条之间的两两匹配操作,致使程序结构复杂,降低抽取的速度及效率。尤其是对于包含有大量复杂嵌套结构的PDF文件,需要耗费大量的时间进行线条之间的两两匹配操作,会大大降低抽取的效率。
2、由于是采用从微观到宏观的自底向上方式,即先找到单元格再由单元格合并成表格,因而无法获取得到表格自身的逻辑结构,只适合于处理简单的表格,而对于复杂的嵌套表格,就无法得到表格嵌套的层级关系,即无法抽取该类复杂嵌套表格的完整逻辑结构信息,不利于后续对该类表格的各类分析。
综上,传统采用自底向上的方法实现PDF中表格抽取,速度慢、效率低,且表格的逻辑结构不清晰,无法得到表格嵌套的层级关系,不适用于复杂嵌套表格的抽取,因此亟需提供一种针对于PDF文件中表格抽取方法,以使得能够适用于复杂嵌套表格的抽取,提高抽取效率,同时能够保留复杂表格内部逻辑关系,以使得得到表格的完整逻辑结构信息。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、抽取效率高、速度快且能够保留复杂表格内部逻辑关系的PDF文件信息抽取方法、装置以及计算机设备。
为解决上述技术问题,本发明提出的技术方案为:
一种PDF文件信息抽取方法,包括:
获取待抽取PDF文件,提取所述待抽取PDF文件中的字符和线条;
根据提取的各所述线条的坐标位置以及各所述线条之间的位置关系,抽取所述待抽取PDF文件中的最简表格,所述最简表格为所有线条均为两两相连的最外围表格;
根据所述最简表格的表格线条确定所述最简表格的单元格,递归循环抽取各所述单元格内部嵌套的最简表格;
根据各所述最简表格的表格线条的坐标位置以及提取的各所述字符的坐标位置,从所述字符中抽取得到各所述最简表格的表格字符。
进一步的,所述根据提取的各所述线条的坐标位置以及各所述线条之间的位置关系,抽取所述待抽取PDF文件中的最简表格,包括:
从当前所有线条中,根据各线条的坐标位置查找处于最高位置的第一横线;
根据查找到的所述第一横线以及各所述线条之间的位置关系,查找与所述第一横线相交的所有目的竖线;
根据查找到的所有目的竖线以及各所述线条之间的位置关系,查找与所有目的竖线都相交的所有第二横线,根据当前查找到的所述第一横线、所有的所述第二横线以及所有目的竖线抽取得到所述最简表格;
将抽取出的所述最简表格所对应的线条删除,重新对当前剩余线条执行上述抽取得到所述最简表格的步骤,以抽取出待抽取PDF文件中剩余的最简表格。
进一步的,所述获取待抽取PDF文件,提取所述待抽取PDF文件中的字符和线条,包括:
提取所述待抽取PDF文件中的字符、线条以及长宽比大于预设阈值的矩形;
将所述矩形转换为一条垂线或横线加入到所述线条中,并连接断开的线条以及移除孤立的线条。
进一步的,根据所述最简表格的表格线条确定所述最简表格的单元格,递归循环抽取各所述单元格内部嵌套的最简表格,包括:
根据所述最简表格的位置坐标,确定出所述最简表格的附属线条,所述附属线条为长度范围在所述最简表格内部的线条;
遍历所述最简表格中的各单元格,根据各所述单元格与所述附属线条之间的坐标位置关系,查找出内部有所述附属线条的所有目的单元格;对每个目的单元格执行以下步骤:对当前目的单元格执行一次最简表格的抽取,以抽取出所述目的单元格内部嵌套的一个最简表格,对当前抽取出的最简表格,返回所述遍历所述最简表格中各单元格的步骤以执行最简表格的递归循环抽取,直至所有的所述最简表格中均不存在内部有附属线条的目的单元格。
进一步的,所述根据各所述最简表格的表格线条的坐标位置以及提取的各所述字符的坐标位置,从所述字符中抽取得到各所述最简表格的表格字符,包括:根据所述最简表格的所有线条中最大的线条x1值、最小的线条y0值、最大的线条y1值确定当前最简表格的坐标范围,将提取的所有字符的坐标与当前确定的坐标范围进行比对,确定出属于当前最简表格的字符,所述线条x1值为线条最右端距离当前页面最左端的距离,所述线条y0值为线条最下端距离当前页面最下端的距离,所述线条y1值为线条最上端距离当前页面最下端的距离。
进一步的,所述方法还包括段落文本提取步骤,所述段落文本提取步骤包括:
根据当前页面中各字符的位置信息,确定当前页面的边界;
将提取的字符中非表格字符根据字符位置信息按行分组,并对所有行进行排序,得到分组排序后的字符组合;
根据相邻行之间的关系以及各行与所述当前页面的边界之间的关系将所述分组排序后的字符组合成段落。
进一步的,所述根据相邻行之间的关系将分组后的字符组合成段落包括:
所述根据相邻行之间的关系以及各行与所述当前页面的边界之间的关系将分组后的字符组合成段落包括:
从最高位置的一行开始逐行处理,当前没有段落在处理时,取出新的一行作为当前段落的最新的一行,当前有段落未处理完成时,则取下一行作为当前处理行;
若当前处理行中字符与当前页面的边界之间的距离以及当前段落的最新的一行中字符与当前页面的边界之间的距离满足预设条件,则判定当前处理行也属于当前的段落,将当前处理行加入到当前段落中并作为当前段落的最新的一行,继续取下一行作为当前处理行;若不满足所述预设条件,则判定当前处理行不属于当前段落,得到当前段落输出。
进一步的,当前处理行中所有字符的最小的字符x0值与当前页面最左边的边界之间的距离在预设范围内,且当前段落最新的一行的所有字符的最大的字符x1值与当前页面最右边的边界之间的距离在预设范围内,则判定当前处理行也属于当前的段落,所述字符x0值为字符最左端距离当前页面最左端的距离,所述字符x1值为字符最右端距离当前页面最左端的距离。
一种PDF文件信息抽取装置,该装置包括表格提取模块,所述表格提取模块包括:
信息抽取单元,用于获取待抽取PDF文件,提取所述待抽取PDF文件中的字符和线条;
最简表格抽取单元,用于根据提取的各所述线条的坐标位置以及各所述线条之间的位置关系,抽取所述待抽取PDF文件中的最简表格,所述最简表格为所有线条均为两两相连的最外围表格;
递归循环抽取单元,用于根据所述最简表格的表格线条确定所述最简表格的单元格,递归循环抽取各所述单元格内部嵌套的最简表格;
表格字符提取单元,用于根据各所述最简表格的表格线条的坐标位置以及提取的各所述字符的坐标位置,从所述字符中抽取得到各所述最简表格的表格字符。
一种计算机设备,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,所述处理器用于执行所述计算机程序以执行如上所述的PDF文件信息抽取方法。
与现有技术相比,本发明的优点在于:本发明采用自顶向下的方式来实现PDF文件中表格的抽取,通过先抽取最简表格,再递归循环抽取出最简表格的单元格内嵌套的最简表格,即从最外围最大的表格出发,逐个递归的处理所有的可能含有嵌套表格的单元格,最终实现表格的完整提取,不仅抽取速度快、效率高,而且可以保留复杂表格内部的逻辑结构,抽取得到表格的完整逻辑结构信息,尤其适用于实现复杂嵌套表格的高效抽取。
附图说明
图1为一个实施例中PDF文件信息抽取方法中表格提取的实现流程示意图。
图2为一个实施例中实现纯文本型PDF文件信息抽取方法的详细流程示意图。
图3为一个实施例中最简表格及附属线条的表格示意图。
图4为一个实施例中应用于招投标领域中的PDF信息抽取方法的流程示意图。
图5为一个实施例中PDF文件信息抽取装置的结构示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例PDF文件信息抽取方法包括:
步骤S1:获取待抽取PDF文件,提取待抽取PDF文件中的字符和线条;
步骤S2:根据提取的各线条的坐标位置以及各线条之间的位置关系,抽取待抽取PDF文件中的最简表格,最简表格为所有线条均为两两相连的最外围表格;
步骤S3:根据最简表格的表格线条确定最简表格的单元格,递归循环抽取各单元格内部嵌套的最简表格;
步骤S4:根据各最简表格的表格线条的坐标位置以及提取的各字符的坐标位置,从字符中抽取得到各最简表格的表格字符。
本实施例采用自顶向下的方式来实现PDF文件中表格的抽取,通过先抽取最简表格,再递归抽取出最简表格的单元格内嵌套的最简表格,即从最外围最大的表格出发,逐个递归的处理所有的可能含有嵌套表格的单元格,最终实现表格的完整提取。由于抽取过程中无需遍历所有线条之间的交点,因而可以实现快速、高效的抽取,且由于是基于自顶向下的方式,还可以保留复杂表格内部的逻辑结构,从而能够得到表格的完整逻辑结构信息,尤其适用于实现复杂嵌套表格的高效抽取。
在具体应用实施例中,如图2所示,上述步骤S1可使用python库PDFplumber打开PDF文件,打开一个页面后会返回一个PDFplumber.PDF类的实例,该实例有各种属性,包括字符、线条以及矩形。上述三类属性均为python字典类数据,都包含了其在PDF中的位置信息,即在PDF页面中的坐标信息,具体包含‘x0’,‘x1’,‘y0’,‘y1’等属性值,其中‘x0’是该元素最左端距PDF页面最左端的距离,‘x1’是该元素最右端距PDF页面最左端的距离,‘y0’是该元素最下端距PDF页面最下端的距离,‘y1’是该元素最上端距PDF页面最下端的距离。
本实施例步骤S1中获取待抽取PDF文件,提取待抽取PDF文件中的字符和线条,包括:提取待抽取PDF文件中的字符、线条以及长宽比大于预设阈值的矩形;将矩形转换为一条垂线或横线加入到线条中,并连接断开的线条以及移除孤立的线条。
为了获取待处理PDF页面的所有线条,需要将页面中线条、矩形统一转换成线条,对于长宽比较大的狭长矩形,可以将矩形看作是线条,因而可以将该矩形使用一条垂线或者是横线代替。本实施例在提取当前页面中的线条时,若提取到长宽比大于预设阈值的矩形,则使用一条垂线或横线代替对应的矩形,以将矩形转换为线条,替代的垂线或者横线的位置坐标具体与原矩形的位置坐标对应,加入到原有的线条中。
由于孤立的线一般是下划线,不参与组成表格,上述将矩形转换为一条垂线或横线加入到线条中时,如果存断开的线或孤立的线,则需要将断开的线条进行连接以及移除孤立的线条,完成上述处理后即可得到组成表格的所有有效线条。本实施例具体将经过上述预处理后得到的所有线条形成集合A。进一步的,还可以对获取的线条中垂线按照线条的‘x0’属性值从小到大进行排序,即各垂线按照距离页面最左端的距离从小到大顺序排列,对于横线按照线条的‘y0’值进行由大到小的排序,即各横线按照距离页面最下端的距离从大到小顺序排列,以便于后续抽取。
本实施例中,步骤S2的具体步骤包括:
步骤S201.从当前所有线条中,根据各线条的坐标位置查找处于最高位置的第一横线;
步骤S202.根据查找到的第一横线以及各线条之间的位置关系,查找与第一横线相交的所有目的竖线;
步骤S203.根据查找到的所有目的竖线以及各线条之间的位置关系,查找与所有目的竖线都相交的所有第二横线,根据当前查找到的第一横线、所有的述第二横线以及所有目的竖线抽取得到最简表格;
步骤S204.将抽取出的最简表格所对应的线条删除,重新对当前剩余线条执行上述抽取最简表格的步骤,以抽取出待抽取PDF文件中剩余的最简表格。
本实施例在抽取最简表格时,通过由最高位置的横线开始依次查找相交的线,即可快速确定出最外围的最简表格,后续再以该最简表格为基础,按照上述相同方式递归抽取出内部嵌套的最简表格,从而能够遵循复杂嵌套表格的逻辑结构特性,由外向内的实现复杂嵌套表格的提取。
本实施例先抽取最简表格,即从所有线条中筛选出同属于一个最简表格的线条,根据筛选出的线条确定出最简表格的位置坐标后,再通过坐标比对确定出最简表格的附属线条,附属线条为长度范围在最简表格内部的线条,附属线条的坐标位置会位于最简表格的坐标位置范围内。最简表格即为没有内部嵌套表格的简单表格,也即为最外围最大的简单表格,表格中的横线长度都一样,竖线长度也都一样,如图3中实线所组成的表格即为最简表格,表格内部的虚线所对应的线条即为表格内部的附属线条,后续由附属线条的位置即可以确定出嵌套表格所在的单元格位置。
如图2所示,本实施例抽取最简表格时,具体首先从集合A中找到最高位置的一根横线,由这一根横线找到与其相交的所有竖线,再由查找的所有竖线进一步查找所有与全体竖线都相交的横线,由此即可确定一个最简表格的所有线条,通过这些线条即可以确定表格的坐标;再从集合A中删除上述找查找到的最简表格的所有线条,然后在剩下的线条中,通过坐标比对即可找到当前最简表格的附属线条,确定后再删除查找到的所有附属线条。上述比对方法具体为:比对剩下的线条中是否存在目标线条L的‘x0’值大于当前最简表格中所有线条的最小‘x0’值、目标线条L的‘x1’值小于当前最简表格中所有线条的最大‘x1’值,以及目标线条L的‘y0’值大于当前最简表格中所有线条的最小‘y0’值、目标线条L的‘y1’值小于当前最简表格中所有线条的最大‘y1’值,如果是则表明目标线条L的坐标位置处于当前最简表格的坐标位置范围内,判定目标线条L属于当前最简表格的附属线条,否则表明目标线条L的坐标位置不属于当前最简表格的坐标位置范围内,判定目标线条L不属于当前最简表格的附属线条。如果执行完上述步骤后集合A中还有剩余线条,即表明当前页面中存在两个以上的表格,则循环调用表格抽取模块抽取出此页PDF中其余的表格,若当前轮循环时表格抽取没有找到表格,即表明为存在不属于表格的干扰线条,则从集合A中删除最高位置的横线,继续循环调用表格抽取模块,直至完成集合A中所有线条的处理。
本实施例中,步骤S3根据最简表格的表格线条确定最简表格的单元格,递归循环抽取各单元格内部嵌套的最简表格,包括:
步骤S301.根据最简表格的位置坐标,确定出所最简表格的附属线条;
步骤S302.遍历最简表格中的各单元格,根据各单元格与所述附属线条之间的坐标位置关系,查找出内部有所述附属线条的所有目的单元格;对每个目的单元格执行以下步骤:对当前目的单元格执行一次最简表格的抽取,以抽取出所述目的单元格内部嵌套的一个最简表格,对当前抽取出的最简表格,返回步骤S302遍历最简表格中各单元格的步骤以执行最简表格的递归循环抽取;直至所有的最简表格中均不存在内部有附属线条的目的单元格。
在具体应用实施例中,当抽取出最简表格后,逐个处理最简表格的每行,依据最简表格的坐标位置,通过坐标对比,按从左至右、从上往下的顺序找到所有单元格,具体为:
查找处于最高位置的第一横线、处于次高位置的第二横线,由第一横线、第二横线的坐标位置确定出当前最简表格中第一行的单元格;
对第一行,将当前最简表格中所有竖线按照‘x0’值按照从小到大的顺序进行排序,排序后依次由前后两条竖线(后一条竖线的‘x0’值大于前一条竖线的‘x0’值)的位置,确定出第一行中从左到右的每一个单元格。以从左到右确定前三个单元格为例,先由所有竖线中最小‘x0’值所对应的第一竖线、与所有竖线中次小‘x0’值所对应的第二竖线确定出第一行中第一个单元格,由第二竖线与所有竖线中‘x0’值排序为第三所对应的第三竖线确定出第一行中第二个单元格,由第三竖线与所有竖线中‘x0’值排序为第四所对应的第四竖线确定出第一行中第三个单元格。
查找处于高度排序为第三所对应的第三横线,由第二横线与第三横线的坐标位置确定出当前最简表格中第二行的单元格;对第二行,按照与上述第一行相同的方式确定出从左到右所有的单元格。
按照上述相同的方法,确定出剩余行从左到右所有的单元格,最终查找到当前最简表格中所有的单元格。
本实施例步骤S3中逐个处理单元格时,通过单元格的坐标以及附属线条比对即可找到该单元格内部的线条,若确实有内部线条存在,即单元格内部存在嵌套表格,则递归的调用表格抽取模块,抽取出该单元格内部嵌套的最简表格;若无内部线条,则结束递归调用,直接提取出该单元格内部的段落,直至所有单元格处理完毕后,输出整个表格。
上述通过单元格的坐标以及附属线条找到该单元格内部的线条,具体可通过遍历各单元格与附属线条,比较各单元格坐标范围与附属线条的坐标范围,如果存在目标线条l的‘x0’值大于当前单元格中所有线条的最小‘x0’值、目标线条l的‘x1’值小于当前单元格中所有线条的最大‘x1’值,以及目标线条l的‘y0’值大于当前单元格中所有线条的最小‘y0’值、目标线条l的‘y1’值小于当前单元格中所有线条的最大‘y1’值,则判定目标线条l属于当前单元格的附属线条,否则判定目标线条l不属于当前单元格的附属线条,直至遍历完所有单元格以及附属线条,确定出所有存在附属线条的单元格。
本实施例步骤S4中,根据各最简表格的表格线条的坐标位置以及提取的各字符的坐标位置,从字符中抽取得到各最简表格的表格字符,包括:根据最简表格的所有线条中最大的线条x1值、最小的线条y0值、最大的线条y1值确定当前最简表格的坐标范围,将提取的所有字符的坐标与当前确定的坐标范围进行比对,确定出属于当前最简表格的字符,线条x1值为线条最右端距离当前页面最左端的距离,线条y0值为线条最下端距离当前页面最下端的距离,线条y1值为线条最上端距离当前页面最下端的距离。即由所有线条最小的‘x0’值、所有线条最大的‘x1’值、所有线条最小的‘y0’值、所有线条最大的‘y1’值组成当前最简表格的坐标,确定了表格坐标后,通过对所有的字符的坐标进行比对,即可确定属于该表格的字符。
本实施例中,还包括段落文本提取步骤,具体包括:
步骤SA1.根据当前页面中各字符的位置信息,确定当前页面的边界,当前页面的边界也即当前页面中所有段落的边界;
步骤SA2.将提取的字符中非表格字符根据字符位置信息按行分组,并对所有行进行排序,得到分组排序后的字符组合;
步骤SA3.根据相邻行之间的关系以及各行与当前页面的边界之间的关系将分组排序后的字符组合成段落。
对于纯文本类型的PDF中的段落文本抽取,传统方案通常是根据字符的位置信息,按行去划分所有的字符,再将位于PDF同一行的字符连成串再输出为一句,并依次逐行处理PDF中的所有字符,最后输出整篇文档。由于没有考虑行与行之间的关系,也没有考虑相邻两行是否属于同一句话或者是同一段话,因而易于发生将跨行的句子、段落错误切开等问题,使得输出的句子语义不完整,也破坏了整篇文档的段落逻辑结构,使得抽取出的段落文本不连续、失去语义连贯性,且逻辑结构也不完整。本实施例通过将字符按行分组后将分组后的字符重新组合成段落,同时依据行与行之间的关系以及各行与页面的边界之间的关系确定是否属于同一段落,能够保留原始文档的行文逻辑结构,将属于同一段的文本串联起来,保持段落文本语义的完整性。
各行距离页面的边界的距离可能是不同的,上述步骤SA1中,具体首先找出当前页面所有字符中最大的‘x1’值,以此‘x1’值作为当前页面最右边的边界,以及找到当前页面所有字符中最小的‘x0’值,并作为当前页面最左边的边界,以用于后续以确定的当前页面的边界为基准来判断各行是否属于同一段落。
上述步骤SA2中,具体利用字符中的位置信息将字符按行分组,其中由各字符的‘y0’属性值代表该字符在当前页面中的哪一行。分好行之后,对所有行进行排序,从最高的一行开始处理。
本实施例中,步骤SA3的具体步骤包括:
步骤SA31.从最高位置的一行开始逐行处理,当前没有段落在处理时,即当前为起始位置或已完成前一个段落的处理,取出新的一行,作为当前段落的最新的一行,当前有段落未处理完成时,则处理下一行,取下一行作为当前处理行,执行步骤SA32;
步骤SA32.若当前处理行中字符与当前页面的边界之间的距离以及当前段落的最新的一行中字符与当前页面的边界之间的距离满足预设条件,则判定当前处理行也属于当前的段落,将当前处理行加入到当前段落中并作为当前段落的最新的一行,继续取下一行作为当前处理行;若不满足预设条件,则判定当前处理行不属于当前段落,得到当前段落输出。
上述步骤SA32中,具体若当前处理行中所有字符的最小的字符x0值与当前页面最左边的边界之间的距离在预设范围内,且当前段落最新的一行的所有字符的最大的字符x1值与当前页面最右边的边界之间的距离在预设范围内,则判定当前处理行也属于当前的段落,字符x0值为字符最左端距离当前页面最左端的距离,字符x1值为字符最右端距离当前页面最左端的距离。
优选的,若当前处理行中所有字符最小的字符x0值等于当前页面最左边的边界,且当前段落最新的一行的所有字符最大的字符x1值等于当前页面最右边的边界,则判定当前处理行也属于当前的段落,否则判定当前处理行也不属于当前段落。即如果两行的所有字符中最右边的坐标和最左边的坐标同时达到了当前页面的边界,则可确定该两行属于同一段落。可以理解的是,上述条件的判断条件中(x0值、x1值与边界之间的关系)也可以设置为不必要完全相等,可以引入一定的裕度值以避免误判,如只需要字符x0值、x1值与对应边界之间的距离在预设的范围内,即可以判定属于当前的段落。
在具体应用实施例中,以处理含有三行字符的段落为例,上述段落提取的详细步骤为:
从首行开始处理,取出首行,由于当前没有段落在处理,将首行作为当前段落的最新的一行;判断首行中所有字符最小的字符x0值是否等于当前页面最左边的边界,且首行的所有字符最大的字符x1值是否等于当前页面最右边的边界,经过判断后满足上述条件,判定该首行属于当前段落,将该首行加入到当前段落中并作为当前段落的最新的一行;
继续取下一行,即第二行,作为当前处理行,判断第二行的所有字符最小的字符x0值是否等于当前页面最左边的边界,且当前最新的一行(即首行)的所有字符最大的字符x1值是否等于当前页面最右边的边界,经过判断后满足上述条件,判断该第二行属于当前段落,将该第二行加入到当前段落中并作为当前段落的最新的一行;
继续取出下一行,即第三行,作为当前处理行,判断第三行的所有字符最小的字符x0值是否等于当前页面最左边的边界,且当前最新的一行(即第二行)的所有字符最大的字符x1值是否等于当前页面最右边的边界,经过判断后满足上述条件,判断该第三行属于当前段落;
继续取出下一行,即第四行,判断第四行的所有字符最小的字符x0值是否等于当前页面最左边的边界,且当前最新的一行(即第三行)的所有字符最大的字符x1值是否等于当前页面最右边的边界,由于第四行不属于当前段落,会判断到不满足上述条件,则判定当前处理行不属于当前段落,将当前得到的三行作为当前提取的段落输出。
以下以在具体应用实施例中采用本发明上述方法实现纯文本型(不含图片)PDF文件的信息抽取为例,对本发明进行进一步说明。
本实施例待处理的PDF文件是利用网页爬虫节点从目标网页上爬取html文件以及网页上的PDF的下载链接,再由PDF提取节点从上述节点的输出中提取出含有所需信息的PDF,该PDF文件经过PDF分类节点取出不含图片的PDF,即为纯文本类型的PDF,再使用本实施例上述方法对该纯文本类型PDF进行信息抽取,抽取出来的段落文本、表格送给信息抽取节点进行处理,以收集所需的信息。
如图2所示,本实施例实现PDF文件信息抽取的详细步骤为:
步骤一、输入一页PDF,得到PDF中的字符、线条、矩形。
具体使用python库PDFplumber打开一页PDF,返回一个PDFplumber.PDF类的实例,包括字符、线条、矩形,该三类属性都包含了其在PDF中的位置信息,即在PDF页面中的坐标信息,包含‘x0’,‘x1’,‘y0’,‘y1’等属性值。
步骤二、构建表格提取模块以用于抽取出PDF中的表格,表格提取模块为能够实现上述步骤S2中最简表格抽取的程序模块。
具体步骤如下:
步骤2.1.将线条、矩形统一转换成线条,其中将矩形用一条垂线或者是横线代替,加入到原有的线条中。
步S2.2.对所有线条进行预处理,包括把断开的线连接到一起,移除孤立的线,预处理后形成集合A,对垂线按照‘x0’属性值从小到大进行排序,对于横线按照‘y0’值进行由大到小的排序。
步骤2.3.确定同属于一个最简表格的线条以及附属线条。
首先从A中找到最高位置的一根横线,由该横线找到与其相交的所有竖线,再由查找到的竖线找到所有与全体竖线都相交的横线,由此则确定了一个最简表格的所有线条,通过这些线条即可以确定表格的坐标。再从A中删除前述找到的最简表格的所有线条,再在剩下的线条中通过坐标比对,找到前述最简表格的附属线条。从A中删除这些附属线条,最后如果A中还有线条,则循环调用表格抽取模块,抽取出此页PDF中剩下的表格;若当前轮表格抽取没有找到表格,则从A中删除最高位置的这根横线,继续循环调用表格抽取模块。
步骤三、确定表格坐标。
由所有线条最小的‘x0’值、所有线条最大的‘x1’值、所有线条最小的‘y0’值、所有线条最大的‘y1’值即组成了该表格的坐标。确定表格坐标后,通过对所有的字符的坐标进行比对,即可确定属于该表格的字符。
步骤四、单元格处理
逐个处理每行,从组成表格的所有线条中按从左至右、从上往下的顺序找到所有单元格的坐标。逐个处理单元格,通过单元格的坐标以及附属线条即可找到这个单元格内部的线条,若确实有内部线条存在,递归的调用表格抽取模块,抽取出这个单元格内部嵌套的最简表格;若无内部线条,则递归调用到此为止,直接将字符输入到段落文本提取模块,提取出该单元格内部的段落。
步骤五、所有单元格处理完毕后,输出整个表格。
步骤六、段落文本抽取
确定所有属于表格的字符后,从原始的PDF的字符数组中删除属于表格的字符,留下来的字符,输入到段落文本提取模块中,得到PDF中的段落。
具体步骤如下:
步骤6.1.字符预处理。
首先找出当前页PDF所有字符中最大的‘x1’值,以此‘x1’值作为所有段落的最右边的边界,以及找到当前页PDF所有字符中最小的‘x0’值,作为所有段落的最左边的边界。
步骤6.2.利用字符中的位置信息将字符按行分组,由‘y0’属性值代表该字符在PDF页面中的哪一行。分好行之后,对所有行进行排序,从最高的一行开始处理。
步骤6.3.将分好组的字符按规则组合成段落。
上述步骤三中确定表格的字符既可以是在单元格处理前执行,也可以是在单元格处理后执行,具体可以根据实际需求配置。
逐行处理所有字符,从最高的一行开始处理。当前没有段落在处理时,取出新的一行,作为当前段落的最新的一行。当前有段落在处理时,处理下一行。若该下一行中所有字符最小的‘x0’值等于该页PDF最左边的边界且当前段落最新的一行的所有字符最大的‘x1’值等于该页PDF最右边的边界,则下一行也属于当前的段落,加入到当前段落中,成当前段落最新的一行,然后接着处理下一行;若前述边界条件不符合,则下一行不属于当前段落,将当前段落输出,清空,接着处理下一行。
如图4所示,提供一种应用于招投标领域的PDF文件信息抽取方法的流程示意图,包括:
首先,招投标网页爬虫节点从招投标网页上爬取html文件以及网页上的PDF文件的下载链接。其次,再由PDF提取节点从爬虫节点的输出中提取出含有招投标信息的PDF。然后,对这些含有招投标信息的PDF进行分类,经过PDF分类节点从含有招投标信息的PDF文件中取出不含图片的PDF文件,即取出纯文本类型的PDF。最后,利用上述任一实施例所述的PDF文件信息抽取方法对分类节点分类得到的纯文本类型的PDF进行抽取,抽取出来的段落文本、表格送给标讯信息抽取节点进行处理,从而收集许多有用的标讯相关的信息,例如招投标机构主体、招标采购内容以及招标时间等等。
如图5所示,本发明进一步提供PDF文件信息抽取装置,包括:
信息抽取单元,用于获取待抽取PDF文件,提取待抽取PDF文件中的字符和线条;
最简表格抽取单元,用于根据提取的各线条的坐标位置以及各所述线条之间的位置关系,抽取待抽取PDF文件中的最简表格,最简表格为所有线条均为两两相连的最外围表格;
递归循环抽取单元,用于根据最简表格的表格线条确定最简表格的单元格,递归循环抽取各单元格内部嵌套的最简表格;
表格字符提取单元,用于根据各最简表格的表格线条的坐标位置以及提取的各字符的坐标位置,从字符中抽取得到各所述最简表格的表格字符;
本实施例中,还包括段落文本提取模块,段落文本提取模块包括:
边界确定单元,用于根据当前页面中各字符的位置信息,确定当前页面中所有段落的边界;
字符分组单元,用于将提取的字符中非表格字符根据字符位置信息按行分组,并对所有行进行排序,得到分组排序后的字符组合;
段落组合单元,用于字符根据相邻行之间的关系以及各行与当前页面的边界之间的关系将分组排序后的字符组合成段落。
本实施例PDF文件信息抽取装置与上述PDF文件信息抽取方法为一一对应,在此不再一一赘述。
本实施例还提供计算机设备,包括处理器以及存储器,存储器用于存储计算机程序,处理器用于执行计算机程序,处理器用于执行计算机程序以执行如上述PDF文件信息抽取方法。
本领域技术人员可以理解,上述计算机设备的描述仅仅是示例,并不构成对计算机设备的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个基于模板标注的分布式爬虫方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信号以及软件分发介质等。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种PDF文件信息抽取方法,其特征在于,包括:
获取待抽取PDF文件,提取所述待抽取PDF文件中的字符和线条;
根据提取的各所述线条的坐标位置以及各所述线条之间的位置关系,抽取所述待抽取PDF文件中的最简表格,所述最简表格为所有线条均为两两相连的最外围表格;
根据所述最简表格的表格线条确定所述最简表格的单元格,递归循环抽取各所述单元格内部嵌套的最简表格;
根据各所述最简表格的表格线条的坐标位置以及提取的各所述字符的坐标位置,从所述字符中抽取得到各所述最简表格的表格字符。
2.根据权利要求1所述的PDF文件信息抽取方法,其特征在于:所述根据提取的各所述线条的坐标位置以及各所述线条之间的位置关系,抽取所述待抽取PDF文件中的最简表格,包括:
从当前所有线条中,根据各线条的坐标位置查找处于最高位置的第一横线;
根据查找到的所述第一横线以及各所述线条之间的位置关系,查找与所述第一横线相交的所有目的竖线;
根据查找到的所有目的竖线以及各所述线条之间的位置关系,查找与所有目的竖线都相交的所有第二横线,根据当前查找到的所述第一横线、所有的所述第二横线以及所有目的竖线抽取得到所述最简表格;
将抽取出的所述最简表格所对应的线条删除,重新对当前剩余线条执行上述抽取所述最简表格的步骤,以抽取出待抽取PDF文件中剩余的最简表格。
3.根据权利要求1所述的PDF文件信息抽取方法,其特征在于:所述获取待抽取PDF文件,提取所述待抽取PDF文件中的字符和线条,包括:
提取所述待抽取PDF文件中的字符、线条以及长宽比大于预设阈值的矩形;
将所述矩形转换为一条垂线或横线加入到所述线条中,并连接断开的线条以及移除孤立的线条。
4.根据权利要求1所述的PDF文件信息抽取方法,其特征在于:根据所述最简表格的表格线条确定所述最简表格的单元格,递归循环抽取各所述单元格内部嵌套的最简表格,包括:
根据所述最简表格的位置坐标,确定出所述最简表格的附属线条,所述附属线条为长度范围在所述最简表格内部的线条;
遍历所述最简表格中的各单元格,根据各所述单元格与所述附属线条之间的坐标位置关系,查找出内部有所述附属线条的所有目的单元格;对每个目的单元格执行以下步骤:对当前目的单元格执行一次最简表格的抽取,以抽取出所述目的单元格内部嵌套的一个最简表格,对当前抽取出的最简表格,返回所述遍历所述最简表格中各单元格的步骤以执行最简表格的递归循环抽取,直至所有的所述最简表格中均不存在内部有附属线条的目的单元格。
5.根据权利要求1所述的PDF文件信息抽取方法,其特征在于:所述根据各所述最简表格的表格线条的坐标位置以及提取的各所述字符的坐标位置,从所述字符中抽取得到各所述最简表格的表格字符,包括:根据所述最简表格的所有线条中最大的线条x1值、最小的线条y0值、最大的线条y1值确定当前最简表格的坐标范围,将提取的所有字符的坐标与当前确定的坐标范围进行比对,确定出属于当前最简表格的字符,所述线条x1值为线条最右端距离当前页面最左端的距离,所述线条y0值为线条最下端距离当前页面最下端的距离,所述线条y1值为线条最上端距离当前页面最下端的距离。
6.根据权利要求1~5中任意一项所述的PDF文件信息抽取方法,其特征在于:所述方法还包括段落文本提取步骤,所述段落文本提取步骤包括:
根据当前页面中各字符的位置信息,确定当前页面的边界;
将提取的字符中非表格字符根据字符位置信息按行分组,并对所有行进行排序,得到分组排序后的字符组合;
根据相邻行之间的关系以及各行与所述当前页面的边界之间的关系将所述分组排序后的字符组合成段落。
7.根据权利要求6所述的PDF文件信息抽取方法,其特征在于:所述根据相邻行之间的关系以及各行与所述当前页面的边界之间的关系将分组后的字符组合成段落包括:
从最高位置的一行开始逐行处理,当前没有段落在处理时,取出新的一行作为当前段落的最新的一行,当前有段落未处理完成时,则取下一行作为当前处理行;
若当前处理行中字符与当前页面的边界之间的距离以及当前段落的最新的一行中字符与当前页面的边界之间的距离满足预设条件,则判定当前处理行也属于当前的段落,将当前处理行加入到当前段落中并作为当前段落的最新的一行,继续取下一行作为当前处理行;若不满足所述预设条件,则判定当前处理行不属于当前段落,得到当前段落输出。
8.根据权利要求7所述的PDF文件信息抽取方法,其特征在于,当前处理行中所有字符的最小的字符x0值与当前页面最左边的边界之间的距离在预设范围内,且当前段落最新的一行的所有字符的最大的字符x1值与当前页面最右边的边界之间的距离在预设范围内,则判定当前处理行也属于当前的段落,所述字符x0值为字符最左端距离当前页面最左端的距离,所述字符x1值为字符最右端距离当前页面最左端的距离。
9.一种PDF文件信息抽取装置,其特征在于,该装置包括表格提取模块,所述表格提取模块包括:
信息抽取单元,用于获取待抽取PDF文件,提取所述待抽取PDF文件中的字符和线条;
最简表格抽取单元,用于根据提取的各所述线条的坐标位置以及各所述线条之间的位置关系,抽取所述待抽取PDF文件中的最简表格,所述最简表格为所有线条均为两两相连的最外围表格;
递归循环抽取单元,用于根据所述最简表格的表格线条确定所述最简表格的单元格,递归循环抽取各所述单元格内部嵌套的最简表格;
表格字符提取单元,用于根据各所述最简表格的表格线条的坐标位置以及提取的各所述字符的坐标位置,从所述字符中抽取得到各所述最简表格的表格字符。
10.一种计算机设备,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,其特征在于,所述处理器用于执行所述计算机程序以执行如权利要求1~8中任意一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749413.XA CN113343658B (zh) | 2021-07-01 | 2021-07-01 | 一种pdf文件信息抽取方法、装置以及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749413.XA CN113343658B (zh) | 2021-07-01 | 2021-07-01 | 一种pdf文件信息抽取方法、装置以及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113343658A true CN113343658A (zh) | 2021-09-03 |
CN113343658B CN113343658B (zh) | 2024-04-09 |
Family
ID=77482303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110749413.XA Active CN113343658B (zh) | 2021-07-01 | 2021-07-01 | 一种pdf文件信息抽取方法、装置以及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343658B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092211A1 (pt) | 2021-11-26 | 2023-06-01 | Petróleo Brasileiro S.A. - Petrobras | Método para extração e estruturação de informações |
CN116311259A (zh) * | 2022-12-07 | 2023-06-23 | 中国矿业大学(北京) | 一种pdf业务文档的信息抽取方法 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04104297A (ja) * | 1990-08-24 | 1992-04-06 | Fuji Xerox Co Ltd | 文字・図形描画装置 |
CN103377177A (zh) * | 2012-04-27 | 2013-10-30 | 北大方正集团有限公司 | 一种数字版式文件中识别表格的方法及装置 |
CN105988979A (zh) * | 2015-02-16 | 2016-10-05 | 北京邮电大学 | 基于pdf文件的表格提取方法和装置 |
CN106897690A (zh) * | 2017-02-22 | 2017-06-27 | 南京述酷信息技术有限公司 | Pdf表格提取方法 |
CN106951400A (zh) * | 2017-02-06 | 2017-07-14 | 北京因果树网络科技有限公司 | 一种pdf文件的信息抽取方法及装置 |
CN108470021A (zh) * | 2018-03-26 | 2018-08-31 | 阿博茨德(北京)科技有限公司 | Pdf文档中表格的定位方法及装置 |
CN108595402A (zh) * | 2018-04-28 | 2018-09-28 | 西安极数宝数据服务有限公司 | 一种提取pdf表格信息的系统 |
CN109635268A (zh) * | 2018-12-29 | 2019-04-16 | 南京吾道知信信息技术有限公司 | Pdf文件中表格信息的提取方法 |
CN110163030A (zh) * | 2018-02-11 | 2019-08-23 | 鼎复数据科技(北京)有限公司 | 一种基于图像信息的pdf有边框表格抽取方法 |
CN110188107A (zh) * | 2019-06-05 | 2019-08-30 | 北京神州泰岳软件股份有限公司 | 一种从表格中抽取信息的方法及装置 |
CN110334585A (zh) * | 2019-05-22 | 2019-10-15 | 平安科技(深圳)有限公司 | 表格识别方法、装置、计算机设备和存储介质 |
CN110569489A (zh) * | 2018-06-05 | 2019-12-13 | 北京国双科技有限公司 | 基于pdf文件的表格数据解析方法及装置 |
CN110765739A (zh) * | 2019-10-24 | 2020-02-07 | 中国人民大学 | 一种从pdf文档中抽取表格数据和篇章结构的方法 |
CN110968667A (zh) * | 2019-11-27 | 2020-04-07 | 广西大学 | 一种基于文本状态特征的期刊文献表格抽取方法 |
CN111368695A (zh) * | 2020-02-28 | 2020-07-03 | 上海汇航捷讯网络科技有限公司 | 一种表格结构提取方法 |
CN112199929A (zh) * | 2020-09-30 | 2021-01-08 | 深圳前海微众银行股份有限公司 | 表格处理方法、装置、存储介质及电子设备 |
CN112668289A (zh) * | 2020-12-25 | 2021-04-16 | 苏州开心盒子软件有限公司 | 一种嵌套表格的提取方法及装置、存储介质 |
CN113011144A (zh) * | 2021-03-30 | 2021-06-22 | 中国工商银行股份有限公司 | 表单信息的获取方法、装置和服务器 |
-
2021
- 2021-07-01 CN CN202110749413.XA patent/CN113343658B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04104297A (ja) * | 1990-08-24 | 1992-04-06 | Fuji Xerox Co Ltd | 文字・図形描画装置 |
CN103377177A (zh) * | 2012-04-27 | 2013-10-30 | 北大方正集团有限公司 | 一种数字版式文件中识别表格的方法及装置 |
CN105988979A (zh) * | 2015-02-16 | 2016-10-05 | 北京邮电大学 | 基于pdf文件的表格提取方法和装置 |
CN106951400A (zh) * | 2017-02-06 | 2017-07-14 | 北京因果树网络科技有限公司 | 一种pdf文件的信息抽取方法及装置 |
CN106897690A (zh) * | 2017-02-22 | 2017-06-27 | 南京述酷信息技术有限公司 | Pdf表格提取方法 |
CN110163030A (zh) * | 2018-02-11 | 2019-08-23 | 鼎复数据科技(北京)有限公司 | 一种基于图像信息的pdf有边框表格抽取方法 |
CN108470021A (zh) * | 2018-03-26 | 2018-08-31 | 阿博茨德(北京)科技有限公司 | Pdf文档中表格的定位方法及装置 |
CN108595402A (zh) * | 2018-04-28 | 2018-09-28 | 西安极数宝数据服务有限公司 | 一种提取pdf表格信息的系统 |
CN110569489A (zh) * | 2018-06-05 | 2019-12-13 | 北京国双科技有限公司 | 基于pdf文件的表格数据解析方法及装置 |
CN109635268A (zh) * | 2018-12-29 | 2019-04-16 | 南京吾道知信信息技术有限公司 | Pdf文件中表格信息的提取方法 |
CN110334585A (zh) * | 2019-05-22 | 2019-10-15 | 平安科技(深圳)有限公司 | 表格识别方法、装置、计算机设备和存储介质 |
CN110188107A (zh) * | 2019-06-05 | 2019-08-30 | 北京神州泰岳软件股份有限公司 | 一种从表格中抽取信息的方法及装置 |
CN110765739A (zh) * | 2019-10-24 | 2020-02-07 | 中国人民大学 | 一种从pdf文档中抽取表格数据和篇章结构的方法 |
CN110968667A (zh) * | 2019-11-27 | 2020-04-07 | 广西大学 | 一种基于文本状态特征的期刊文献表格抽取方法 |
CN111368695A (zh) * | 2020-02-28 | 2020-07-03 | 上海汇航捷讯网络科技有限公司 | 一种表格结构提取方法 |
CN112199929A (zh) * | 2020-09-30 | 2021-01-08 | 深圳前海微众银行股份有限公司 | 表格处理方法、装置、存储介质及电子设备 |
CN112668289A (zh) * | 2020-12-25 | 2021-04-16 | 苏州开心盒子软件有限公司 | 一种嵌套表格的提取方法及装置、存储介质 |
CN113011144A (zh) * | 2021-03-30 | 2021-06-22 | 中国工商银行股份有限公司 | 表单信息的获取方法、装置和服务器 |
Non-Patent Citations (2)
Title |
---|
赵思远;许志伟;刘利民;霍达;党燕: "基于拓扑模型的高效表格识别机制研究", 内蒙古工业大学学报(自然科学版), vol. 37, no. 01, pages 63 - 70 * |
马冬雪;宋设;谢振平;刘渊: "领域本体驱动的招投标网页解析方法", 计算机应用, vol. 40, no. 06, pages 1574 - 1579 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092211A1 (pt) | 2021-11-26 | 2023-06-01 | Petróleo Brasileiro S.A. - Petrobras | Método para extração e estruturação de informações |
CN116311259A (zh) * | 2022-12-07 | 2023-06-23 | 中国矿业大学(北京) | 一种pdf业务文档的信息抽取方法 |
CN116311259B (zh) * | 2022-12-07 | 2024-03-12 | 中国矿业大学(北京) | 一种pdf业务文档的信息抽取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113343658B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10360294B2 (en) | Methods and systems for efficient and accurate text extraction from unstructured documents | |
US5907631A (en) | Document image processing method and system having function of determining body text region reading order | |
JP3940491B2 (ja) | 文書処理装置および文書処理方法 | |
JP4343213B2 (ja) | 文書処理装置および文書処理方法 | |
CN110909725A (zh) | 识别文本的方法、装置、设备及存储介质 | |
CN110968667B (zh) | 一种基于文本状态特征的期刊文献表格抽取方法 | |
CN101375278A (zh) | 用于处理注释的策略 | |
CN113343658B (zh) | 一种pdf文件信息抽取方法、装置以及计算机设备 | |
CN110633660B (zh) | 一种文档识别的方法、设备和存储介质 | |
US7046847B2 (en) | Document processing method, system and medium | |
US20140236991A1 (en) | Parsing and Rendering Structured Images | |
KR102138748B1 (ko) | 라인 단위의 문자열을 검출 및 정렬하기 위한 방법 및 시스템 | |
CN117151106A (zh) | 文档大纲生成方法、装置、电子设备及存储介质 | |
CN114495144A (zh) | 文本图像中表格key-value信息的提取方法及装置 | |
CN112329426A (zh) | 电子文件的页眉页脚识别方法、装置、设备和介质 | |
CN116758565B (zh) | 一种基于决策树的ocr文本还原方法、设备及存储介质 | |
CN117252153B (zh) | 用于大语言模型的富文本数据处理方法、设备、存储介质 | |
CN115114412B (zh) | 文档中的信息检索方法及电子设备、存储介质 | |
CN117743558B (zh) | 基于大模型的知识加工、知识问答方法、装置及介质 | |
JP2002297638A (ja) | 文書画像からのタイトル抽出方法 | |
CN116070596B (zh) | 基于动态数据的pdf文件生成方法、装置及相关介质 | |
CN116542226A (zh) | 非编辑文档的表格抽取方法、电子设备及可读存储介质 | |
Or et al. | Few-shot learning for structured information extraction from form-like documents using a diff algorithm | |
JP2011070529A (ja) | 文書処理装置 | |
CN117787258A (zh) | 文档信息抽取方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |