APP下载

基于文本元素的PDF表格区域识别方法研究

2020-07-14窦方坤曹皓伟徐建良

软件导刊 2020年1期
关键词:文本分类

窦方坤 曹皓伟 徐建良

摘 要:为了对药学PDF文献中的表格进行正确识别,减少表格抽取过程中无关文本元素混入的噪音,以更准确地进行表格结构还原和信息抽取,基于pdf2xml对药学文献PDF中的文本元素进行抽取,将文本元素分类并对表格标题区域向下延伸,从而识别表格区域。实验结果表明,该算法在单栏药学PDF和双栏药学PDF中的识别率分别达到89.7%和93.7%,比tabula工具的识别结果分别提高了10.4%和60.4%,表明该算法能有效处理表格框线缺失和分栏文献等复杂情况。

关键词:PDF;文字流;文本抽取;文本分类;表格识别

DOI: 10. 11907/rjdk.191410

开放科学(资源服务)标识码(OSID):

中图分类号:TP301

文献标识码:A

文章编号:1672-7800(2020)001-0113-04

0 引言

识别药学文献PDF中的表格,目的在于通过一定的方法识别药学文献中的表格区域,从而为表格信息的结构化抽取奠定基础,降低表格信息抽取过程中可能由其它非表格文本元素混入带来的噪音[1]。

表格区域识别是表格信息抽取的重要任务[2-4]。现有方法较多使用表格框线作为表格识别依据,并在识别一般表格和图片表格任务中结果良好,得到广泛应用[5]。Has-san等[6]按照PDF中表格框线特征,将表格分为既有水平线又有垂直线、只有水平线、包含不规则线的3种表格进行识别;Pereira等[7]提出的方法利用了水平线和垂直线的检测;Abayan等[8]则进一步利用水平线和垂直线的长度、宽度和位置信息作为特征,处理基于固定模板的表格识别问题。但对药学文献使用基于表格框线的方法时会遇到一定的困难:①PDF中表格线条的提取较为困难,容易混入页面中其余的线条元素[9-10];②药学文献中往往使用三线表,只有水平表格线,缺失垂直表格线[11]。因此,使用表格框线方法识别药学PDF文献中的表格难以奏效。

另一种常用方法是通过栅格化手段,对文献中的文本建立横向和竖向上的栅格布局,根据栅格的划分推测表格区域[12]。栅格化方法应用代表是“tabula”工具[13]。唐皓瑾[14]在设计面向PDF文件的表格数据抽取方法时使用了栅格化方法。栅格化方法目前主要应用于表格区域结构化还原,在表格识别上少有应用。该方法容易受到不同文本排版布局干扰,在不同PDF文献中的识别率差别较大,稳定性较差。此外,部分科学文献的双栏布局对栅格化方法是致命的,因为双栏布局极易识别为全文范围内的双列表格,从而产生错误识别。

本文提出一种忽略表格框线,完全依赖于PDF中文本元素及区域坐标的方法。该方法只提取PDF中的文本元素而不需要提取线条、图片等特殊格式的元素对象。根据文本元素的位置特征对PDF页面的分栏数量和分栏轴线位置进行判定,并在后续算法中根据分栏数不同进行不同处理。根据文本元素的宽度和位置进行分类,对类型为“表格标题”的文本区域进行左右扩展和向下延伸,从而进一步判别延伸区域是否为表格区域。

在自建数据集上对提出的方法进行实验,结果表明,与“tabula”方法对比,本文方法对单栏PDF文献的表格区域识别率提高了10%,对双栏PDF文献的表格区域识别率提高了60%,综合识别率提高了36.3%。该方法克服了药学PDF文献中线条难以提取和表格框线缺失造成的困扰,同时避免了双栏布局造成的影响,具有良好的准确率和适用范围。

1 表格区域识别方法

基于文本元素的药物PDF文献表格区域识别方法,目的在于对符合正规文献编写规范的药学PDF中的表格区域进行识别和定位,并输出每个表格的区域坐标和表格包含的文本元素信息。

1.1 PDF文本抽取

pdf2xml可以将PDF中的文本元素按照PDF本身的文本逻辑截断格式进行抽取并组织成xml文档[16],如图1所示。该xml文档的结构树自顶向下的层次分别为“pages→page→textbox_→textline→text”。其中textbox表示本文中需要使用的文本段,textline为PDF中的文本行,text为单个的文本字符。同时,page、textbox、textline标签含有bbox属性,该属性由4个数字组成,分别表示该粒度下的文本元素在实际PDF渲染时映射于页面中的左上角横纵坐标和右下角横纵坐标。

将该xml中的文本元素按结构树组织到textbox级别,提取出PDF中的文本段t。令σ为某- textbox下的text聚合后的字符串,并将textbox的bbox属性映射到可视化区域a。

1.2 文献分栏识别

为保证后文中表格区域识别在左右边界上的准确性,需对PDF文献的分栏情况进行判别。基于对不同分栏的PDF中文本元素坐标特征的归纳和对科学文献的基本认知对分栏进行判定:①在所有基于某一轴线左对齐的文本段中,沿分栏左边界对齐的文本段高度和最大,且应远大于沿其余某一轴线左对齐的文本段高度之和;②正文的左右边界应拟合于分栏的左右边界,且正文应当有一定的文本块高度,其余大多数文本段高度应在某一阈值之下。

基于认知①对簇中元素的高度(yb -yt)进行求和。若最终只有一个簇的高度和远大于其余高度和,则该文献为单栏文献;若存在两个簇的高度和远大于其余高度和,則该文献为双栏文献。分栏的左右边界在x轴上的投影坐标即为簇中所有元素xt、xb的平均值。

基于认知②对所有文本段t进行过滤,过滤出具有一定高度值的文本段集合Rt,并可视化区域中的xt作为距离参数对Rt进行层次聚类[17-18]。选取页面宽度的5%作为裁剪阈值对聚类树进行裁剪,即可得到簇中文本元素的左边界拟合于某一近似轴线的簇集合。

文本元素分类:

(1)表格、圖片、图表标题的识别。假设文献作者已经按照学术机构要求对表格、图片和图表添加了题注[19]。表格标题应当以“Table”或“table”开头,后边需附带表格编号,并可能包含空格、冒号等。对于图片和图表,同样应当具有类似的潜在开头,潜在开头分别以“Figure”和“Chart”作为开头。通过检测这些开头,即可较为准确地识别出表格标题。

正文也可能存在这些潜在开头。基于一致性假设:同一篇文献中的表格标题格式应当保持一致。提取PDF中存在唯一编号的表格标题特征,则具有相同潜在开头的文本段中,真实的表格标题应当遵循提取的一致性特征。特征位置选取描述为:

T①able②③1④:⑤

提取的一致性特征如表1所示。

对一致性特征进行检验即可过滤掉可能}昆人的正文假阳性噪音。

使用同样的方法对“Figure”、“Chart”及其缩略短语进行潜在开头检验,识别出PDF文本元素中的潜在开头。

(2)正文元素识别。对正文文本段的判断基于两个特征:①正文一定不是表格标题、图片标题和图表标题;②正文的起始位置应当位于分栏的左边界线,结束位置应位于分栏的右边界线。

其中b为与分栏的边界轴线拟合的相似阈值,一般设为5个像素即可。

(3)其它类型文本元素识别。将不属于表格标题、图片标题、图表标题、正文的文本元素统一归类为“其它”。

1.3 表格区域识别与定位

表格区域识别分为表格标题左右扩展和表格标题向下延伸两部分。

(1)表格标题区域左右扩展。依据识别出的PDF分栏情况,当PDF为单栏文献时,需将表格标题的可视化区域左右边界扩展到分栏的左右边界处。当PDF为双栏文献时,则有3种情况:①当表格标题跨越两个分栏时,该表格为跨栏表格,将表格标题的左右边界分别延伸至左侧分栏的左边界和右侧分栏的右边界;②当表格标题只位于右侧分栏内时,该表格也只位于右侧分栏内,将表格标题的左右边界分别延伸至右侧分栏的左右边界;③当表格标题只位于左侧分栏内时,该表格可能位于左侧分栏内,也可能是表格标题宽度较短且采用了左对齐的跨栏表格。此时对表格标题延伸的范围判定应基于以下规则:非跨栏表格的表格标题右侧区域应当出现其它文本元素,而跨栏表格的表格标题右侧区域应当是空白的。基于该认知,当判断表格标题位于左侧分栏时,应当将表格标题的右边界向右扩展至右侧分栏的右边界。若扩展期间触碰到其它文本元素,则将左侧分栏的右边界作为表格标题的右边界;若延伸期间未触碰到其它文本元素,则将右侧分栏的右边界作为表格标题的右边界。

(2)表格标题区域向下延伸。假设文献作者已经按照学术机构要求将表格置于表格标题之后,则表格会出现在表格标题下方,应对表格标题区域向下延伸,具体方法为:将扩展后的表格标题区域的下边界不断下移,下移期间忽略碰触到的类型为“其它”的文本元素,并在其触碰到类型为“正文”、“表格标题”、“图片标题”、“图表标题”或页面边界时停止。延伸过程如图2所示。此时,表格标题区域下边界在下移时,起始位置和终止位置之间形成的矩形区域即为表格区域,区域中类型为“其它”的文本元素即为构成表格的文本元素。

2 实验结果

从pubmed的药学文献中,人工选取20篇表格数量较多且复杂的PDF文献,并随机选取30篇PDF文献,共计50篇药学文献构成数据集。对该数据集分别使用本方法和“tabula”工具进行表格区域识别并对比。

在50篇药学PDF中,单栏PDF共有27篇,对这27篇PDF文献的识别结果如表2所示。

可以看出,在单栏药学文献表格识别中,本文方法的识别率达到89.7%,比tabula工具的表格识别率提高了10.4%。

对剩余的23篇双栏PDF文献识别结果如表3所示。

可以看出,在双栏药学文献表格识别中,本文方法的识别率达到了93.7%,比tabula工具的表格识别率提高了60.4%。造成该巨大差异的原因是,tabula为代表的栅格化方法容易将双栏文献中的左右分栏整体识别为双列表格,或是将实际表格区域两侧的正文区域识别为一个新的列。而本文方法首先对表格分栏进行判定,并对表格分栏造成的多种情况进行分类处理,从而屏蔽掉分栏造成的影响。

综合评定,本方法对药学PDF中表格的综合识别率为91.7%,比tabula工具提升了36.3%。

3 结语

本文提出的基于文本元素的药学PDF表格区域识别方法,不依赖于表格框线,能更有效地对表格框线缺失的表格区域进行识别,更好地处理PDF文献分栏情况,对分栏文献中的表格具有更高的识别率。但该方法还需解决一些细节问题,如在表格标题向下延伸过程中,仍可能混人极少量的非表格文本元素。本文提出的药学PDF表格区域识别方法为更好地进行表格的结构还原和信息结构化输出奠定了基础[20]。

参考文献:

[1] 刁继红,甄连花.如何利用PubMed检索医学文献[J].中国药房,2009, 20( 22): 1755-1756.

[2]ZANIBBI R,BLOSTEIN D,CORDY J R.A survey of table recogni-tion: models, observations, transformations, and inferences[J]. Inter-national Journal On Document Analvsis&Recognition, 2003,7 (1):1-16

[3]KHUSRO S, LATIF A,ULLAH I. On methods and tools of table detec-tion. extraction and annotation in PDF documents[J]. Journal of Infor-mation Science, 2015 ,41(1):41-57.

[4]YILDIZ B,KAISER K,MIKSCH S. Pdf2table:a method to extract ta一ble information from PDF files.[C].lndian International Conference onArtificial Intelligence, DBLP, 2008: 1773-1785.

[5]汪先矩,黄瀚敏,马笑潇,基于表格线搜索的智能表格结构提取算法[J].基础自动化,1999(6):30-33.

[6] HASSAN T.BAUMGARTNER R.Table recognition and understand-ing from PDF files [Cl. 9th International Conference on DocumentAnalvsis and Recognition, 2007.

[7]PEREIRA NEVES,L A J M DE. CARVALHO, et al. Table-form ex-traction with artefact removal[J].Journal of Universal Computer Sci-ence.2008, 14(2):252-265.

[8]MAO J, ABAYAN M,MOHIUDDIN K.A model-based form process-ing sub-system [C]. International Conference on Pattern Recogni-tion.1996.

[9]ZHANG Y. YU S.Extraction and removal of frame line in form bill[Jl. Journal of Computer Research and Development, 2008 (45):1000-1239.

[10]ZHOU S,ZHAO J. Rapid form frame-line detection with arbitrawskew angle[ J]. Computer Engineering, 2008( 34): 1000-3428.

[11] 中國农业气象编辑部.Word文档中三线表的处理技巧[J].中国农业气象,2007( 28):274-354.

[12] 张伯.基于PDF文字流的表格识别技术的研究[D].北京:北京工业大学,2010.

[13] CIULIA SAVIO. Tabula-py[ EB/OL]. https://github.com/chezou/ta-bula-py

[14] 唐皓瑾.一种面向PDF文件的表格数据抽取方法的研究与实现[D].北京:北京邮电大学,2015.

[15]YANG Y G,PAICK K.PDF2XML: Converting PDF to xml [M].Springer,2004.

[16] 刘政敏,牛艳芳.XML相关技术综述[J].现代情报,2003(8):57-59.

[17] 周世杰.层次聚类的算法研究[J].课程教育研究,2018(40):240-241.

[18]胡晓庆,马儒宁,钟宝江.层次聚类算法的有效性研究[J].山东大学学报:工学版,2010.40(5):146-149.

[19]福建医科大学学报编辑部,科技期刊论文表格编写规范[J].福建医科大学学报,2018,52(1):56-58.

[ 20]ORO E,RUFFOLO M. PDF-TREX: an approach for recognizing andextracting tables from PDF documents[C].International Conferenceon Document Analysis&Recognition, 2009

(责任编辑:杜能钢)

作者简介:窦方坤(1993-),男,中国海洋大学信息科学与工程学院硕士研究生,研究方向为智能信息处理;曹皓伟(1995-),男,中国海洋大学信息科学与工程学院硕士研究生,研究方向为软件工程;徐建良(1969-),男,博士,中国海洋大学信息科学与工程学院教授、博士生导师,研究方向为计算复杂性理论、计算机软件与理论。

猜你喜欢

文本分类
基于组合分类算法的源代码注释质量评估方法
不同情境下中文文本分类模型的表现及选择
基于内容的英语录音教材标注研究与应用