[发明专利]一种基于文本特征和语法规则的PDF全自动标引系统及方法有效
申请号: | 202011339681.6 | 申请日: | 2020-11-25 |
公开(公告)号: | CN112307718B | 公开(公告)日: | 2021-05-11 |
发明(设计)人: | 陈科良;任维政;崔岩松;张晓欢;黄云霞;樊昌熙 | 申请(专利权)人: | 北京邮电大学;北京欢科科技有限公司 |
主分类号: | G06F40/117 | 分类号: | G06F40/117;G06F16/84 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 符继超 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 文本 特征 语法 规则 pdf 全自动 标引 系统 方法 | ||
1.一种基于文本特征和语法规则的PDF全自动标引系统,其特征在于,包括配置解析层、事件分发层和功能实现层;所述解析配置层、所述事件分发层和所述功能实现层采用事件驱动方式实现松耦合连接;
所述配置解析层包括规则解析模块、流程解析模块和监听器注册模块;所述规则解析模块存储标准特征库和自定义配置规则构成的特征匹配库,为自动标引提供规则数据,符合规则的PDF元素被打上选定的标签;
所述流程解析模块将采用不同处理器实现不同阶段的子功能组装起来,配置标注有自动标引过程中每个所述阶段完成的所述子功能的流程模板,每个阶段对应一个AIProcedure,name和stage参数表示阶段的名称和需要监听的事件,scope表示阶段的应用范围,对于每个阶段,会有数个不同的执行器去完成单独的任务,AIProcessor类表示一个执行器;
所述监听器注册模块注册监听事件的监听器,将定义的事件与需要监听事件进行一一对应并存储;
所述事件分发层定义自动标引过程中的若干事件,所述事件包括元素提取事件、块聚合事件、行聚合事件、图片标签识别事件、标引匹配事件、标引文件生成事件和异常事件;所述事件分发层根据所述流程解析模块的所述流程模板中流程执行节点将对应的事件发送给所述监听器;所述监听器接收所述事件并使用对应的功能实现层的执行器实现功能;
还包括块聚合模块和行聚合模块;块聚合模块通过识别文字的坐标、字体、字号特征来划分段落;行聚合模块是页面元素划分的第二个层次,块聚合模块已经将页面元素划分为了多个段落,行聚合算法会将每个段落内的文字划分为行。
2.根据权利要求1所述的一种基于文本特征和语法规则的PDF全自动标引系统,其特征在于,所述功能实现层包括若干与事件对应的执行器,包括页面信息导出器、空格过滤器、字体过滤器、上下标处理器和异常处理器。
3.一种根据权利要求1-2任一项所述的基于文本特征和语法规则的PDF全自动标引系统的全自动标引方法,其特征在于,包括以下具体步骤:
步骤1:元素提取,基于文本特征和语法规则分析PDF中待处理元素的特征信息,获得元数据和图片元素,所述元数据为文字元素;如果出现异常情况,采集所述异常情况并判断异常类型,提示错误原因,并记录异常情况;
步骤2:将所述元数据解析到P2XBook对象中,以页面为维度将所述PDF中每一页的数据进行聚合并存储在P2XPage对象中,所述数据包括所述元数据和所述图片元素;如果出现所述异常情况,采集所述异常情况并判断异常类型,提示错误原因,并记录异常情况;
对按页为维度提取的元数据和图片元素进行聚合,包括块聚合和行聚合;
所述块聚合将整页的文字元素按照所述文字元素的坐标和字体划分为若干文字块,获得若干段落,具体流程为:
步骤211:对所述PDF中所有的所述文字元素按坐标进行排序,每个所述文字元素在所述PDF中都是一个矩形块,排序规则为计算文字矩形块的中点坐标,按照从左到右,从上到下的顺序进行排序,排序完成后所有的所述文字元素都是有顺序的;
步骤212:创建一个新的段落,内部数据结构为P2XMark,将排序后的第一个文字元素放入到所述段落中;
步骤213:按顺序将第二个文字元素拿出来与前面的所述文字元素进行字号的比较,根据字号差距是否位于设定的块聚合误差范围内判断是否在同一个所述段落对象内;如果超过所述块聚合误差范围,则重新创建一个所述段落,并将所述第二个文字元素放入其中;忽略所述文字元素存在上下标情况;
步骤214:若两个所述文字元素的所述字号差距位于所述块聚合误差范围内,计算两个所述文字元素的所述文字矩形块的横向距离和纵向距离,其中所述横向距离等于矩形块中点的横坐标之差,所述纵向距离等于所述矩形块中点的纵坐标之差;若所述横向距离大于一个字符的宽度或者所述纵向距离大于一个字符的高度,则判断这两个所述文字元素不在一个所述段落内;否则,两个所述文字元素位于同一所述段落内;
步骤215:循环遍历完所有的所述文字元素,把每页所述PDF内的所有所述文字元素划分为若干段落;
步骤216:将每个所述段落看做一个段落矩形块,计算每个所述段落的区域范围,和表示所述文字矩形块的坐标一样,用x,y,dx,dy四个数值分别表示所述段落矩形块的横坐标、纵坐标、横向距离和纵向距离,完成段落划分;
步骤217:完成段落划分之后处理略过的存在上下标的所述文字元素,计算所述上下标所在区域是否被别的段落区域包含在内,若被包含在内则找出距离所述上下标最近的所述文字元素,若上下标的中心纵坐标位于距离最近的所述文字元素的上半部分,则判定为当前文字元素的上标,反之则为所述当前文字元素的下标;若不包含在段落区域内,则作为新段落处理,划分成一个新段落;
所述行聚合将每个所述段落内的所述文字元素划分为行,具体流程为:
步骤221:遍历每个所述段落,对每个所述段落内的所述文字元素按照所述排序规则进行排序;
步骤222:对所述段落内的所述文字元素进行行划分,根据文字矩形块中点的纵坐标来区分行,纵坐标在设定的行聚合误差范围内,认为是同一行,每一行对应一个P2XRow对象,代表一行的数据结果,将同行的所述文字元素存储至同一个P2XRow对象中;
步骤223:将所述段落内的行进行排序,行排序规则为按所述纵坐标从小到大依次排序;
步骤224:计算所述段落内每行开头的缩进距离,计算方法为找到每行横坐标最小的所述文字元素,判断所述横坐标是否相对于别的行有两个字符的缩进,如果有缩进,认为从当前行开始是一个新的段落,重新生成一个新的段落;
步骤225:对每页所述PDF中的所述段落依次排序,并给所述段落标上序号;
步骤3:识别所述图片元素,识别图片和图片文本信息,将所述图片文本信息添加到图片的图片标题信息中,并聚合成图片信息;将聚合划分后的所述文字元素和所述图片信息与特征匹配库中的特征进行匹配实现自动化标引,生成标引文件;如果出现所述异常情况,采集所述异常情况并判断异常类型,提示错误原因,并记录异常情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学;北京欢科科技有限公司,未经北京邮电大学;北京欢科科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011339681.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种再生混凝土及其制备方法
- 下一篇:一种元宝枫籽油中神经酸的分离纯化工艺