[发明专利]一种基于模式识别的英文论文文档多粒度内容处理方法有效
| 申请号: | 202011474201.7 | 申请日: | 2020-12-14 |
| 公开(公告)号: | CN112597267B | 公开(公告)日: | 2022-09-20 |
| 发明(设计)人: | 牛振东;易坤;张春霞;朱一凡;何慧 | 申请(专利权)人: | 北京理工大学 |
| 主分类号: | G06F16/31 | 分类号: | G06F16/31 |
| 代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 张利萍 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 模式识别 英文 论文 文档 粒度 内容 处理 方法 | ||
1.一种基于模式识别的英文论文文档多粒度内容处理方法,其特征在于,包括以下步骤:
步骤1:预先定义数据结构,用以表示PDF格式英文论文,具体如下:
解构PDF格式英文论文,将解构数据写入定义好的数据结构中;
步骤1.1:所述预先定义好的数据结构包括:
文本块结构block,用以存储文本块;
页面文本块列表blocks,用以存储本页面所有文本块block;
页面结构page,用以表示页面,对应论文中的每一页;
页面列表pages,用以存储文档中的所有页面page;
文本块block类型集合typeSet,包含文本块的所有类型种类;
文本块索引表BlockIndex,用以记录文本块所属的类型;
步骤1.2:解构PDF格式英文论文,读取论文数据,并送至定义好的数据结构中,具体如下:
步骤1.2.1:按页读取PDF格式英文论文,根据段落之间的距离,将文档内容切分为文本块,记录其坐标信息,并将内容转为文本;
步骤1.2.2:将步骤1.2.1中的数据分别赋值给对应的block、blocks、page、pages数据结构;
步骤1.2.3:初始化typeSet、BlockIndex;
步骤2:识别出文本块中的注释信息、页眉信息、页脚信息、页码、章标题及小节标题,具体如下:
步骤2.1:循环遍历pages下的page,获取page下的blocks,遍历读取blocks中的block;
步骤2.2:判断文本块中文本内容是否为文章注释内容;
具体步骤为:
步骤2.2.1:规则特征ruleAnnotationText,用以确认文本块中文本内容block[text]的格式,该特征具体包括以数字加单词开始、以特殊字符加单词开始;
步骤2.2.2:规则特征ruleAnnotationRect,用以确认文本块的位置范围,注释文本块的位置位于页面的下方位置,具体表示为:
y0α*page.rect.y (1)
y1β*page.rect.y (2)
其中,y0和y1为文本块的坐标信息,page.rect.y表示该页面的高度信息,α、β是比例参数;
步骤2.2.3:将block[text]匹配规则特征ruleAnnotationText、ruleAnnotationRect,若同时满足特征,执行步骤2.7,若不满足,则执行步骤2.3;
步骤2.3:判断文本块中文本内容是否是页码,具体如下:
步骤2.3.1:规则特征rulePage,用以确认文本块中文本内容block[text]的格式,特征具体为:文本内容只能是阿拉伯数字;
步骤2.3.2:规则特征rulePageRect,用以确认文本块坐标block[x0,y0,x1,y1]位置范围,页码文本块的位置应位于页面的下方位置,具体公式同公式1和公式2;
步骤2.3.3:将block[text]匹配特征rulePage、rulePageRect,若同时满足特征,执行步骤2.7;若不满足,则执行步骤2.4;
步骤2.4:判断文本块中文本内容是否为页眉,具体如下:
步骤2.4.1:规则特征ruleHeader,用以确认文本块中文本内容block[text]的格式,特征具体为:页眉中不能包含有标点符号;
步骤2.4.2:规则特征ruleHeaderRect,用以确认文本块坐标block[x0,y0,x1,y1]位置范围,页眉文本块的位置应位于页码的上方位置,具体公式为:
y0m*page.rect.y (3)
y1n*page.rect.y (4)
其中,y0和y1为文本块的坐标信息,page.rect.y是该页面的长度信息,m、n是比例参数;
步骤2.4.3:将block[text]匹配规则特征ruleHeader、ruleHeaderRect,若同时满足特征,执行步骤2.7;若不满足,则执行步骤2.5;
步骤2.5:判断文本块中文本内容是否为章标题,具体如下:
步骤2.5.1:规则特征ruleParagraph,用以确认文本块中文本内容block[text]的格式,特征具体包括:文本内容由数字加单词组成、由数字加标点符号加单词组成,且其中不能包含标点符号;
步骤2.5.2:将block[text]匹配规则特征ruleParagraph,若满足特征,执行步骤2.7;若不满足,则执行步骤2.6;
步骤2.6:判断文本块中文本内容是否为小节标题,具体如下:
步骤2.6.1:规则特征rulePassage,用以确认文本块中文本内容block[text]的格式,特征具体为文本内容由数字加点号再加数字加单词组成;
步骤2.6.2:将block[text]匹配规则特征rulePassage,若满足特征,执行步骤2.7;若不满足,则返回步骤2.1,继续循环下一个block;
步骤2.7:将该文本块所属页面pageNum、所属文本块位置blockNum以及文本块对应类型type,写入文档索引列表BlockIndex中;
步骤3:识别非文本内容,包括图形、表格和算法,具体如下:
步骤3.1:非文本内容对应的触发特征RuleNonTextList={RuleTable,RuleFigure,RuleAlgorithm,…};
其中,RuleTable对应为表格规则特征,具体为以Table空格加数字开始;RuleFigure对应为图形规则特征,具体为以Figure空格加数字开始;RuleAlgorithm对应为算法规则特征,具体为以Algorithm空格加数字开始;
步骤3.2:循环遍历pages下的page,获取page下的blocks,遍历读取blocks中的block,当对应的block在BlockIndex中已标记,即被标记为注释、页眉页脚、页码、章标题中任意类型时,则跳过该block;
步骤3.3:根据规则特征RuleNonTextList匹配文本块中文本内容block[text],若符合规则特征,记录该文本块在文本块列表blocks中所属的序号blockNum,记为blockNum0;
步骤3.4:寻找非文本内容的起始位置或结束位置,具体如下:
步骤3.4.1:当为算法时,沿blockNum往下在blocks列表中按特征寻找算法的结束位置;对应的特征是:block[text]为文本段落、图形、表格、算法、章标题、小节标题中的某一种类型;记录对应的blockNum,记为blockNum1;
步骤3.4.2:当为图形或者表格时,从blockNum往上在blocks列表中按特征寻找图形或表格的开始位置;对应的特征是:block[text]为文本段落、图形、表格、算法、章标题、小节标题中的某一种类型;记录对应的blockNum,记为blockNum1;
步骤3.5:确定坐标位置,将整个内容保存为图片,具体如下:
步骤3.5.1:在当前页面中,获取文本块blocks[blockNum0]至blocks[blockNum1]所有文本块的坐标信息[x0,y0,x1,y1];遍历这些位置信息列表,按公式(5)、(6)、(7)、(8)获取最终的位置坐标信息;
x00=min(x00,x0) (5)
y00=min(y00,y0) (6)
x11=max(x11,x1) (7)
y11=max(y11,y1) (8)
记录最终的位置坐标信息为[x00,y00,x11,y11];
步骤3.5.2:根据位置坐标信息[x00,y00,x11,y11],将所属这个位置区域的内容截取,另存为图片;
步骤3.6:识别出非文本内容后,将对应所属的文本块所属页面pageNum、所属文本块位置blockNum以及文本块类型type,写入文档索引列表BlockIndex中;
步骤4:将文本块按章节聚合,具体如下:
步骤4.1:构建关键词表KeywordsDict,用以表示论文中固定的章标题关键词,用kwi表示;
步骤4.2:建立字典ParagraphDict,其中key值为章标题,value值为章内容,即ParagraphDict[key]=value;
步骤4.3:循环遍历pages下的page,获取page下的blocks,遍历读取blocks中的block,当对应的block在BlockIndex中已标记为注释、页码、页眉页脚信息时,则跳过该block;
步骤4.4:根据block的pageNum和blockNum查询BlockIndex,若BlockIndex[type]为章标题或者block[text]=kwi,则将block[text]作为ParagraphDict的key值;若不是章标题,进入步骤4.5;
步骤4.5:读取文本块,将文本块作为步骤4.4中key值对应的value存入ParagraphDict中;若当前key值为空,则继续执行步骤4.4;
步骤4.6:循环执行步骤4.4和步骤4.5,直至文档结束;
步骤5:遍历章内容字典ParagraphDict,该字典定义了章内容中不需要进行内容切分的章,进行段落关系聚合,具体如下:
步骤5.1:构建关键词表NonKeywordsDict;
步骤5.2:遍历ParagraphDict的key值,当key∈NonKeywordsDict,则跳过;
步骤5.3:读取key值对应的value值,遍历value中的blocks;
步骤5.4:判断文本块中的文本类型,并将原属同一段落的文本聚合为段落,具体如下:
步骤5.4.1:规则特征ruleTextParagraph,用以判断文本是否是一个完整段落;特征具体为文本首字母是大写且最后以句号结束;
步骤5.4.2:规则特征ruleTextWords,用以判断文本是否是以完整单词结束的不完整段落;特征具体为文本首字母大写开始并包含标点符号,且文本中包含的句子数大于等于2,同时文本的结束词是一个完整单词;
步骤5.4.3:规则特征ruleTextNoWords,用以判断文本是否是以不完整单词结束的不完整段落;特征具体为文本首字母大写开始并包含标点符号,且文本中包含的句子数大于等于2,同时文本的结束词不是一个英文单词;
步骤5.4.4:规则特征ruleNextText,用以判断文本是否是上一不完整文本段落的下一文本,具体为:
当上一段落以不完整单词结束时,将上一段落结束字符和该段落首字符组成为一个新的字符串,若该字符串为单词则其为上一不完整段落的下一文本;
当上一段落以完整单词结束时,该段落以完整单词开始且段落包含完整句子;
步骤5.4.5:标记上一段落类型标记符paragraphFlag,paragraphFlag={1,2,3,4},其中1为完整文本段落,2为以完整单词结束的不完整文本段落,3为以不完整单词结束的不完整文本段落,4为其他;
步骤5.4.6:依据BlockIndex索引判断当前文本块是否是小节标题,若是返回步骤5.3循环处理下一block;
步骤5.4.7:查看上一文本块类型paragraphFlag,当为完整段落时,则往下执行;否则进入步骤5.3.10;
步骤5.4.8:依据规则特征ruleTextParagraph判断文本块中文本是否是一个完整段落,若不是则进入下一步骤;若是进入步骤5.4.6继续执行,并将paragraphFlag标记为1;
步骤5.4.9:依据规则特征判断文本块中文本是否是不完整文本段落;首先,依据特征ruleTextWords判断是否是以完整单词结束的不完整段落,若是进入步骤5.4.6,并将paragraphFlag标记为2,若不是则依据特征ruleTextNoWords判断是否是以部分单词结束的不完整段落,若是进入步骤5.4.6,并将paragraphFlag标记为3,若不是则将paragraphFlag标记为4,并进入步骤5.4.6;
步骤5.4.10:依据规则特征ruleNextText判断文本块中文本是否是上一不完整文本段落的下一文本;若是,将上一文本块文本和该文本块文本合并,进入步骤5.4.8依次执行后续步骤;若不是,将该文本块标记为其他;
步骤6:解析英文PDF格式论文,提取论文多粒度信息并保留各个粒度信息之间原有的关系;
步骤6.1:依据步骤1,将论文数据读取至block、blocks、page、pages中,并初始化typeSet、BlockIndex;
步骤6.2:依据步骤2,提取出论文中的注释信息、页眉信息、页脚信息、页码、章标题及小节标题,并将提取出的信息各自保存为文本;
步骤6.3:依据步骤3,提取出论文中非文本内容,包括图形、表格、算法,并将这些内容各自截取为图片保存;
步骤6.4:依据步骤4,提取出论文中的章、节内容,将内容各自保存为文本;
步骤6.5:依据步骤5,提取出论文中的段落,将段落各自保存为文本;
步骤6.6:BlockIndex保留了各个粒度信息的原有位置关系,通过BlockIndex重建原有论文,能够查询各个粒度信息的上下文关系。
2.如权利要求1所述的一种基于模式识别的英文论文文档多粒度内容处理方法,其特征在于,步骤1.1中,文本块结构block的具体格式为:block[x0,y0,x1,y1,text],其中,x0,y0,x1,y1对应文本块的位置坐标信息,text为文本块的文字信息;
页面文本块列表blocks的具体格式为:blocks={block0,block1,…,blocki},其中,i为block在blocks中的序号,记为blockNum;
页面结构page的具体格式为:page[blocks,rect],其中,rect为页面尺寸信息,具体格式为rect[x,y],x为页面宽度,y为页面高度;
页面列表pages的具体格式为:pages={page0,page1,…,pagej},其中,j为page在pages中的序号,记为pageNum;
文本块block类型集合typeSet的具体格式为:typeSet={type0,type1,…,typei},其中,typei对应不同的文本块类型;
文本块索引表BlockIndex的具体格式为:BlockIndex[pageNum,blockNum,type],其中,pageNum为block所属的页面序号,blockNum为block所属的文本块序号,type为文本块所属类型,type∈typeSet。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011474201.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铝合金压铸件超声波清洗方法
- 下一篇:一种石油开采用快拆装的环形重钻





