没有合适的资源?快使用搜索试试~ 我知道了~
阵列15(2022)100220Tablext:一种基于神经网络和启发式的表格抽取器ZachColter,MortezaFayaziZagh,ZinebBenameur-ElYoubi,SerafinaKamp,ShuyanYu,RonaldDreslinski美国密歇根大学安娜堡分校EECS系A R T I C L E I N F O保留字:表提取CNN深度学习图像处理OCRA B S T R A C T今天可用的数据有很大一部分是在表格中找到的。因此,在数据挖掘时,有必要使用自动化的表抽取来获得全面的结果。目前流行的表格提取方法很难充分提取具有机器可读文本和结构数据的表格。更糟糕的是,许多表没有机器可读的数据,例如保存为图像的表,这使得大多数提取方法完全无效。为了解决这些问题,一个新颖的,开源的,通用的格式表提取工具,Tablext,提出。该工具结合了计算机视觉技术和机器学习方法,可以高效地从表格中识别和提取数据。 Tablext首先使用自定义卷积神经网络(CNN)来识别和分离所有潜在的表。通过将自定义CNN与YOLO对象检测网络相结合,优化了识别过程。然后,每个表的高层结构识别与计算机视觉方法。这么高- 另一个CNN使用结构元数据来识别确切的细胞位置。作为最后一步,对每个单元格执行光学字符识别(OCR)以提取其内容,而无需机器可读文本。这种多阶段算法允许神经网络专注于完成复杂的任务,同时让图像处理方法有效地完成简单的任务。这使得所提出的方法足够通用,可以处理大量的表,而不管它们的内部编码或布局复杂性如何。此外,它变得足够准确,可以在ICDAR 2013表格数据集上超越竞争对手的最先进表格提取器1. 介绍表格广泛用于文档、文章、网页等,一个环境可能具有多种格式,这些格式不是统一编码的。例如,网页可能包含未用HTML编码的图像。统一文件的内部编码是第一步它们可以以一种合适的方式简洁地显示复杂的信息,克服普遍性问题。1人类读者[1]。自动表提取支持trans-在 这 工作, 我们 本 一个 开源表 取出工具,将这些丰富的信息量转换为机器可读的格式,其在数据挖掘和信息检索中具有广泛的应用[2,3]。一些表格的布局的复杂性和它们可能被发现的各种格式是当前的问题,这些问题阻止了通用的、高度准确的、自动表格提取工具的存在。本文的目的是介绍一种高精度的提取器,可以提取以前无法获得的信息。超文本标记语言(HTML)、可移植文档格式(PDF)和可移植网络图形(PNG)等格式是可能包含表格的常见编码。由于表示表的方式有很多种,因此为每种编码设计单独的提取方法既耗时又容易出错。此外,委员会认为,Tablext,它解决了上述所有问题。Tablext通过从图像中提取数据解决了通用性问题。有几个Java和Python开源库可以将特定的文件格式转换为图像,例如pdf2image [4](PDF到PNG),GrabzIt [5](HTML到PNG)等。Tablext使用单独的卷积神经网络(CNN)[6,7]来识别和提取表中的信息,但它并不仅仅依赖于它们。在数据提取之前,Tablext使用常见的传统计算机视觉技术(如线识别)从表格中提取位置信息,然后使用另一个CNN来修复小错误。这种方法可以比使用单个神经网络更快,更准确。∗ 通讯作者。电子邮件地址:zcolter@umich.edu(Z.Colter),fayazi@umich.edu(M.Fayazi),zinebbe@umich.edu(Z.B.-E. Youbi),serafibk@umich.edu(S.Kamp),shuyan@umich.edu(S.Yu),rdreslin@umich.edu(R.Dreslinski)。1Tablext的源代码可以从https://github.com/idea-fasoc/datasheet-scrubber/tree/master/src/table_extraction下载。https://doi.org/10.1016/j.array.2022.100220接收日期:2022年5月20日;接收日期:2022年6月28日;接受日期:2022年7月2日2022年7月7日上线2590-0056/© 2022作者。爱思唯尔公司出版这是一篇基于CC BY-NC-ND许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)的开放获取文章。可在ScienceDirect上获得目录列表阵列期刊主页:www.elsevier.com/locate/arrayZ. Colter等人阵列15(2022)1002202通过首先识别表中的重要特征,每个神经网络只需解决一个小的子任务。这意味着每个网络所需的大小大大减少。 神经网络的较小尺寸降低了计算要求, 过度拟合的风险Tablext首先使用高效的CNN来识别输入图像中表格的确切位置。使用这种CNN和对象检测网络YOLO [8]的集合,可以将提取算法限制在相关区域。通过将相对昂贵的提取算法隔离到识别CNN发现的区域,Tablext在处理海量数据库方面非常有效。Tablext通过识别分隔各个单元格的线条以及查看表格中文本的位置来实现高提取精度。这些方法一起可以识别复杂的表结构。通常可以假设识别的线正确地将表格分割成单元格,但是当不存在线或无法正确识别线时,位置数据用于分隔单元格。在正确地将表格分割成单元格后,数据在开源光学字符识别(OCR)Tesseract软件[9]识别每个单元格中的文本本文的主要贡献可概括如下。• 一种新的方法来识别细胞,利用的位置, 数据和线,以便以低计算成本获得高精度的初步结果。• 一种混合管道,允许神经网络将注意力集中在复杂问题上,从而实现高精度。• 一个新颖的,通用格式的开源工具,可以在各种内部编码文件中高精度地识别和提取所有复杂的布局表。本文的其余部分组织如下。第二节简要介绍相关工作。第3节介绍了确定表格位置的拟议方法。第4节解释了Tablext第5节显示了最终结果以及与其他表提取器的比较。最后,在第6节中对本文进行了总结。在本文中,四个不同的表(表A,表B,表C)表B、表C、表D)用于解释各种概念。为了清楚起见,图将声明它们引用的是哪个原始表2. 相关工作本文研究了几种表型鉴别和提取的方法。然而,其中一些描述了从不同类型的文档中识别表的各种方法,并且不关注数据提取[10已经提出了几个系统用于识别和提取PDF文件中的表格[2,17Oro和Ruffolo [2]找到文本的位置数据,他们使用凝聚层次聚类算法[21]将单词组合成行。这种方法的主要限制是它只支持未锁定的、机器可读的PDF。但是,在锁定的PDF或图像中会发现大量表格。Perez-Arriaga等人。[17]通过比较文本框的位置并组合距离阈值以下的文本框来查找列和行。虽然该方法具有良好的召回率,但其假阳性率很高。Liu等人。[20]提出了一种方法,其中,通过对具有相似位置和字体大小的文本进行分组来找到表格除了PDF文件之外,此方法还适用于HTML格式。然而,它只针对研究论文进行了优化,其提取性能很差,特别是在一般文档上。类似于其他提到的研究,这种方法不能与锁定的PDF文件或图像。其他一些研究关注与PDF无关的表格提取[1,3,22]。Tengli等人[1]提出了一种基于机器学习的技术,用于从HTML文件中提取表格。Nishida 等 人 。 [22] 也 专 注 于HTML 提 取 。 他 们使 用 递 归 神 经 网 络(RNN)模型从HTML标签中提取数据这些方法不是适用于HTML以外的格式,因此范围有限。Pinto等人[3]提出了一种方法来识别表格中的水平线,这些表格使用空白和固定字体来对齐网页中的列,但他们并不专注于表格提取。Koci等人和Puha等人[23,24]提出了可以处理更多样化格式的表格的方法。Koci等人。[23]提出了一种表格的图形表示,以便他们可以使用分类方法来提取信息。他们提出的方法经过优化,可以从各种电子表格中提取数据。Puha等人。[24]提出了一种启发式的通用表格提取方法。它们首先使用OCR识别单元格中的数据,然后使用数据的位置来识别图像中的表格。许多最先进的通用表格提取方法仅使用神经网络。Qasim等人。[25]使用图形神经网络(GNN)以标识表中的单元格位置。DeepDeSRT[26]使用单独的特制神经网络来识别表并提取其数据,而TableNet [27]使用单个网络进行识别和提取。他们认为这是一种有效的方法,因为这些任务是相互依赖的。然而,这也意味着网络对于这两项任务的优化程度较低。在一个公共数据集上测试时,Tablext的性能优于这两种方法。表1总结了相关工作之间的比较。通过利用机器学习(ML),现代表格提取器可以处理比早期作品更多样化的表格。 然而,识别和提取数据是一项艰巨的任务,需要完成许多子任务。其中许多任务,例如识别可以构成表格结构的线条,是传统计算机视觉方法的良好候选者。Tablext没有强迫神经网络学习和解决这些任务中的每一个,而是引入了一种结合传统计算机视觉和ML技术的新方法。这使得神经网络的规模更小,并且专注于 它的特殊任务是识别异常细胞考虑到表可用的标记训练数据数量有限,这一点尤其重要。3. 表位置标识虽然本文的主要重点是表提取,一种新的算法,并用于识别表提取前。在提取之前必须找到表的位置,因为这样做可以提高算法的性能和准确性。性能的提升来自于减少复杂信息提取的搜索空间增加的准确性是表识别网络将表彼此分离并移除可能潜在地混淆表提取器的不相关文本和行的结果。为了进一步提高表格识别的准确性,它后来与YOLO结合识别算法需要为每个页面中存在的每个表找到最小和最大的坐标。������为了有效地计算这些坐标,连续使用两个相对简单的CNN。这两个网络分别识别表存在于哪一个坐标和哪一个坐标。所有输入图像,从任何文件格式转换后,首先转换为灰度和大小调整。初步测试表明,800像素的宽度允许精确的表提取,而不会显著降低性能。此阶段的高度按比例缩放以避免失真。这个调整大小的图像不能直接发送到传统的CNN,因为它的高度是可变的。此外,输入数据的大小很大,每批数据都需要大量的内存,从而减慢了训练过程。为了减少输入大小并使输入规则,图像被切成水平条带,每个条带具有64像素的高度。选择这个数字是为了减少训练时间,而不会显着降低精度。虽然将图像切割成条带减少了网络的输入和输出大小,但这个过程引入了一个新的问题。精度Z. Colter等人阵列15(2022)1002203[1]第一章[13]第十三话[26]第二十六话G[25]第二十五话GGGGGGGGG表1相关作品的比较。工作台识别表格提取文件格式方法[10,12,16]所有图像处理w/o ML[11]第十一话[14]PDF CNN[15]支持向量机[22]HTML RNN[23]网站地图表示[24]全部图片 处理 不含ML[2] PDF凝聚层次聚类算法([17]第17话最后一句[20]第二十话[27]第二十七话TablextG GAll Heuristic based + CNN在切片的顶部和底部识别一个桌子的概率较低,而不是找出中间的桌子。 直觉上,这是因为网络只从这些边缘输出中获得一个方向的信息。为了解决这个问题,每个条带只检测其最里面的32行像素内的表的存在。为了覆盖整个桌子,使用移动窗口方法,其中每个输入带与其相邻带部分重叠。神经网络对每个水平条带有4个输出节点。每个节点确定在最中心的32个像素内的特定位置处是否存在表格。在最里面的32个像素中,神经网络的节点0,0≤0≤3,被训练以识别在[8个像素,8个像素+ 7]中的任何像素之间是否存在表格。所有切片的输出被连接并存储在一个数组中,该数组标识表存在于哪些行中。使用这种方法,不能在每页的顶部和底部搜索表,因为输出中只表示内部像素。为了解决这个问题,输入图像在顶部扩展了16个像素底部有白色边框。图图1显示了神经网络所有切片的级联输出。在此图中,细水平框表示网络为表检查的每一行。这些框显示了神经网络预测表存在的位置。���虽然这个特定的例子显示了一个占据整个文档宽度的表,但是这个网络也可以识别页面上几列之一的表。下一步是通过将肯定标识的表的行连接成组来清理输出。如果未创建任何组,因为没有任何行包含表,Tablext将输出在图像中未找到表。否则,准备组并将其发送到第二个神经网络,以便找到正确的坐标。由于要搜索的区域量较小,因此该过程比必须找到正确的坐标要简单。出于这个原因,使用CNN而不使用滑动窗口方法。每组行的大小调整为400 × 400像素的正方形,以有效地实现高精度。该输入大小通过初步测试获得。图像被发送到CNN中,CNN识别哪些列包含表。图2示出了将该技术应用于图1中的底部行组。网络产生的实际结果对人类来说看起来是扭曲的,因为表格被缩放成正方形。相反,显示了代表性的重建图像。这里的垂直框显示了网络预测表存在的位置。如果表格仅位于多列图像的一列中,则这些线将仅覆盖该部分。该网络还可以识别两个独立的相邻表。 这是通过不标识两个表组之间的表来实现的。每个垂直组被单独地发送到该第二级。作为一个例子,图。1将三个单独的图像发送到第二个网络。列以与行类似的方式连接成组。将行组转换为正方形的缩放,如图所 示。 2,被反转并应用于���坐标。此外,用于将原始图像转换为调整大小的图像的缩放,如图所示。1,被反转并应用于坐标系。这样做可以给出每个表相对于原始图像的开始和结束位置的精确坐标。图3显示了第一个表格的剪切图,使用了找到的x2和x3坐标。������CNN本身倾向于过度推荐表格区域,因为页面上线条的存在对模型非常有影响。这使得CNN将这些线周围的区域预测为表格,无论这些线是否对应于表格。这将导致算法的提取部分花费更多的时间,因为它必须对这些额外的区域运行OCR以确定它们不是表。为了抵消这一点,在桌子图像上训练YOLO [8]网络,看看这种更流行的对象检测方法是否能胜过CNN。YOLO通常识别所有正确的表格区域,但它建议的边界框并不覆盖整个表格。出于这个原因,CNN和YOLO的集成被用来创建最佳识别模型。这两个网络首先独立地提出表区域。当这些模型提出重叠的区域时,采用这两个区域的并集。这确保了最终区域可能包含表,并且区域可能包含整个表。虽然这种方法可以完美地识别 多个列中,存在一种极其罕见的情况,即在不同列中的两个相邻表具有非常不同的高度。在这种情况下,额外的数据可以被标识为表。这个罕见的问题后来得到了纠正,因为 所提出的提取方法可以容忍一些额外的区域识别就像一张桌子。4. 表格提取识别所有表后,提取方法将在每个表上独立启动。为了有效地处理高分辨率图像,每个表格的大小调整副本都是以800像素的宽度和成比例的高度创建的。此副本用于大多数细胞识别步骤,但保留原始图像,因为它稍后在OCR期间使用有几种方法用于识别和隔离每个表中的单元格。表提取从识别表的高级、一般结构开始。它识别垂直和水平线,包括可见的和隐含的,正确划分大部分单元格。有几种方法可以在表中查找此信息。一种方法是识别分隔不同细胞的可见线。另一种方法是查看表格中文本的位置,并推断单元格应如何相互定位。Tablext使用这两种方法来获得表的结构然后,使用神经网络来清除任何不符合一般结构的细胞。图4示出了已经经过表格识别的表格这将作为一个例子来解释表提取的步骤Z. Colter等人阵列15(2022)1002204������2������22图五. (表B)推断的线显示为粗亮(黄色)线,真实的线显示为细暗(蓝色)线。(For对本图图例中所指颜色的解释,读者可参考本文的网络版Fig. 1. (表A)每个水平框表示其中标识表的行。底部的组用粗框(红色)突出显示以进行说明。(For为了解释该图图例中对颜色的引用,读者可以参考4.1. 实线识别垂直线和水平线通常用于分隔和组织表格的内容。为了识别这些线,二阶导数梯度场被近似为表格的灰度图像。假设x1(x2,x3)表示像素的亮度,location(,).的值���2 ������������( ���������(这篇文章的网络版本������2������2图二、( 表A)垂直框表示标识表的 每 一列。图3. ( 表A)使 用 所 标 识 的 坐 标 的原始表的 剪 切 。图四、( 表B)通过所提出的表格识别方法识别的表格样本。通过查看它们的相邻像素和它们的梯度来对每个像素进行计算。然后将这些梯度存储到单独的矩阵中。然后将3 × 3最大池独立地应用于这些矩阵,以考虑图像中的噪声和不完美的线。 最大池化在两个方向上的步幅都为1,以在识别线时保持尽可能������利用该信息,通过搜索其中段中的所有像素都具有高像素的垂直段来找到垂直线。������������相对于图像的其余部分中的像素和类似的像素的值将2个(,)值转换为另一个。类似地,通过对水平段进行搜索来找到水平线,其中段中的所有像素都具有高像素2������ ���������相对于图像其余部分中的像素的值和相似的2(,)值。������������对于垂直线和水平线,分段长度必须分别是表的高度或宽度的一小部分但是,一旦找到一条线,这条线就会延伸到表的整个宽度或高度。以这种方式标识行有助于定义表格的结构,但某些不符合常规格式的单元格可能会被未覆盖表格整个宽度或高度的行分割。这个问题后来用一个神经网络解决了,这个神经网络将不正确切割的细胞缝合在一起。图5描绘了由实线识别算法创建的调试图像,其以深蓝色示出了几条实线。此图中的其余行是使用另一个过程创建的,将在下一节中进行说明4.2. 推断线识别对于那些将所有数据正确分割为具有定义边界的单元格的常规表,仅使用实线标识就足够了然而,如图。如图4所示,许多表格只有一些单元格有适当的边框,或者根本没有任何定义良好的线条。为了正确识别仅使用实线识别无法识别的单元格,Tablext使用数据的位置。找到数据的位置是微不足道的。尚未被识别为实线的所有高对比度像素都属于该数据。在数据的位置已知的情况下,Tablext尝试Z. Colter等人阵列15(2022)1002205见图6。 (表C)在推断垂直线之前的初始稀疏表。为了清楚起见,在难以处理的引用稀疏列周围放置了一个红框。 (For解释在这个图例中,颜色的引用,读者可以参考本文的网络版本见图7。 (表C)具有初始化的推断垂直线的稀疏表。将数据片段分割成列和行。为了实现这一点,Tablext创建不与数据相交的直线这些行将被称为 图 5显示当图的所有推断和真实线。 四是画。找到推断线的任务由于存在不符合常规表格结构的单元格。图4、多个单元格跨两列。如果推断线定义为线, 不重叠任何数据片段,则跨多列的单元格下面的列将不会被分隔。为了解决 在这个问题上,Tablext首先定义了术语对于垂直线,阈值距离是表高度的比例,推断的线必须不接触任何数据才能被视为有效。如果表是密集的,意味着大多数单元格都包含数据,则较小的静态阈值距离将产生准确的结果。但是,如果表是稀疏的,这意味着许多单元格不包含数据,这种方法将不起作用。一个小的静态阈值距离会将相邻的空单元格合并为宽的推断线。图图6和图7示出了推断的垂直线初始化。图图7示出了这些列或行内的几段数据可以被推断的行覆盖。为了适应稀疏和密集表,阈值距离是自适应的。算法1描述了利用可变阈值距离获取最终推断线的简化过程。在该算法中,可能的推断线是指在给定阈值距离处发现的推断线,k是小的学习常数,并且组的数量是指存在于可能的推断线内为了直观地表示该算法,代码生成了该过程的图像。图 8显示了将此算法应用于图1中的稀疏表后的最终输出。第七章 在开始处,垂直推断线(表示为黑色列)完全覆盖以“类型”开头的列。如果阈值距离为一个小的静态数,该列将与它的一个相邻列合并。然而,通过使用算法1,在几次迭代中,线围绕“类型” 列分裂,如图1 所示。 八、在此过程中,每个推断的行都被分配一个“质量分数”。质量分数是最大可能行长度的百分比算法1:设置阈值距离一曰: 变数:num_group1、num_group2、threshold_distance、temp_lines第二章: 输出:final_lines3:开始:4:阈值距离=0.6; num_group1 = 0; final_lines =[];5:循环:6:temp_lines =可能的推断行;7:num_group2 =组数;8:如果num_group2≥num_group1:9:num_group 1 = num_group 2;10:final_lines = temp_lines;11:threshold_distance +=Δ;12:去循环;13:返回final_lines;一条特定的推断线覆盖而不与一段数据相交。这些质量分数稍后用于组合各个线。推断水平线的创建方式与推断垂直线的创建方式类似,不同之处在于阈值距离是表宽度的百分比, 为了更好地显示这个完整的过程,图中使用了垂直和水平推断线识别。 四、所产生的推断线与先前计算的实际线结合使用,以创建图五、4.3. 最终结构线识别现在已经定位了所有的实际行和推断行,Tablext开始对所有这些信息进行分组,以便对特定表的布局有一个高层次的理解。推断线与其相邻线(如果它们非常接近)组合,以创建不同的推断线组。如果一条实线在一个组内,或者它离一个组只有几个像素,则只保留实际的线。实线被认为是地面实况,Z. Colter等人阵列15(2022)1002206图八、( 表C)具有递增的推断垂直线的稀疏表。所以附近的推断线组是冗余的。如果在推断的线组附近没有真实的线,则推断的线的质量分数用于确定该组中的哪条线是分割单元的最佳线。为每个组计算质量分数的简单移动平均值(SMA),向前和向后两个像素。不具有有效推断线的线被给予零质量分数。使用SMA有助于减少图像中噪声的影响,同时还可以修复单个像素厚的推断线可能在数据片段中的字符之间潜行包含最大SMA值的索引被用于不接近实线的每个推断组。然后,将实线的位置和最大SMA索引连接在一起。这些组合行是高级表标识的最终行。垂直线和水平线都独立完成此过程。图 9是通过在图中找到的线上应用这个过程创建的。 五、4.4. 神经网络校正由于最后几行描述了表格的常规结构,不符合该结构的单元格可能会被切成两部分或更多部分。图9示出了被最后的线切成两半的几个单元。为了解决这个问题,CNN被用来重组不正确切片的细胞。一个更简单的解决方案是检查推断的线下面是否存在任何高对比度像素。然而,这种方法有几个问题。一个问题是,如果单元格中的字符间隔很大,则两个字符之间可能存在垂直推断线,并且单元格的内容将被拆分为两个虽然这些问题可以通过向左和向右寻找一定距离的高对比度像素来部分缓解,但这引入了不必要地合并单元的新风险。此外,使用该方法进行合并可能会被表中的噪声触发。由于这些原因,已经创建了神经网络来处理可能的细胞合并。CNN将两个相邻的细胞作为输入,并将它们的大小调整为每个100 ×100像素。测试表明,这个大小允许OCR准确地提取数据。单元格将独立调整大小,以便分隔它们的线始终位于两个单元格的中心。相反,如果细胞被合并,然后调整大小,CNN将需要预测哪些数据属于哪个细胞,或者它将需要分割线的位置作为额外的输入。这些方法分别导致显著较低的准确性和较高的复杂性。所提出的CNN输出这两个单元格合并的机会以及其中一个或两个单元格是否为空。通过使用神经网络来计算这些信息,可以大大减少图像中的缺陷的影响。重要的是要知道哪些单元格是空的,以避免在这些单元格上运行OCR。这提高了性能,因为OCR是最耗时的步骤。以下部分讨论CNN的实现细节,训练数据和后CNN拼接。见图9。(表B)由最终线标识创建的合并线(细绿色)。用粗框(红色)突出显示的垂直拆分单元格。(For关于本图图例中颜色的解释,读者可参考本文)。见图10。(表B)CNN合并问题细胞后的表。为了准确的OCR,将保留的文本分开。4.4.1. CNN构建已经发送到CNN的两个单元格被合并和旋转,以便将这两个单元格分开的潜在不正确的线始终是合并图像中心的垂直线。合并后的图像,正如CNN所看到的,总是有200 × 100的尺寸CNN有三个分支连接成一个密集的网络。第一个分支有三个2D卷积层,其中有16个大小为3 × 3的滤波器,每个层后面直接跟随一个最大池化大小为2 × 2的层这个分支Z. Colter等人阵列15(2022)1002207见图11。 (表B)图中表格的Tablext输出。4、CSV格式。粗框(红色)显示水平合并的单元格。具有多行的单元格保持分隔,可读性(有关此图图例中颜色的解释,请读者参阅本文的Web版本可能不正确的分割单元格的线周围的信息,但它还有助于识别哪些单元格包含数据。第二个分支从大小为1 × 100的非对称平均池化层开始。该层的输出具有200 × 1的尺寸。这一层之后是五个1D卷积层,每个层有四个大小为3的滤波器。如果特定列中存在任何数据,则平均池化给出了良好的抗噪指示。 此信息有助于识别一个或两个单元格中是否存在数据,还有助于确认两个单元格是否存在不正确的拆分。第三个也是最后一个分支不包含完整的合并图像像前两个,而是在最中心的20 × 100像素。此分支的唯一目的是识别单元格的不正确拆分。 直觉上,合并单元格的像素和周围的像素包含关于是否应该合并单元格的最关键信息。由于信息的重要性和有限的输入量,该分支中使用更复杂的神经网络层。五个卷积层,每个层都有64个尺寸为3 × 3的过滤器相互堆叠所有这些分支都单独通过一个dropout层,dropout率为20%,然后才被展平和合并。连接后的数据被发送到大小为256的密集层,然后是另一个丢弃层,丢弃率为50%,另一个相同大小的密集层。然后,第二个密集层连接到包含3个节点的最终输出。前两个节点表示两个单元格是否包含数据,第三个节点表示两个单元格应合并时的高电平。第一个dropout层帮助引导网络不再仅仅依赖于一个分支。此外,所有dropout层都有助于避免过度拟合,否则由于训练数据量有限而4.4.2. CNN训练为了训练这个CNN,需要获取并手动注释一个包含来自各个领域的1000多个表的数据集。每个表的位置及其相应单元格的位置的基本信息存储在可扩展标记语言(XML)文件中。为了将此数据集转换为用于训练目的的有用数据,Tablext的线识别技术用于分割细胞。然后合并所有可能的相邻细胞对,并将这些合并的细胞用作训练数据。为了创建用于训练的正确标签,使用细胞的位置。根据XML数据,如果包含数据的单元格存在于合并单元格的任何一半上,则相应的一半被认为具有数据。当XML数据表示一个单元格覆盖了合并单元格的两个部分时,连接的标签为高。4.4.3. 后CNN拼接CNN的输出填充矩阵,记录哪些单元格应该合并,哪些单元格包含数据。两处都有多个细胞如果需要,垂直和水平方向可以组合成单个大的合并单元。图10是显示此结果的调试图像。具有多个独立水平线的单元在该阶段不被组合,使得OCR被馈送单条数据线以具有更高的精度。这些水平线可以在以后合并,以使表格更简洁,或者保持分离,以更好地表示表格的比例。正确定义单元格后,数据几乎可以进行OCR。然而,表格提取器使用的像素分辨率(800像素)通常不足以从OCR获得准确的结果。为了解决这个问题,定义细胞边界的线被缩放并用于将细胞切割成原始图像。4.5. OCR所有非空的单个单元格都被发送到Tesseract,一个开源的OCR工具。然后,返回的文本以列分隔值(CSV)格式存储在Tablext提供的位置。输出如图11所示。扩展单元格中的所有数据都放置在CSV中的单个单元格。为了允许准确的数据解释,所有合并的单元格都通过使用关键字“EXTEND”和方向箭头指向原始数据。这些单元格在图11中用方框强调。为清楚起见,在CSV中不会合并5. 评价与Tablext不同,大多数最先进的表格提取论文都没有可供下载的代码。然而,Deep-DeSRT [26]和TableNet [27]都在ICDAR 2013表格竞争数据集[28]上测试了它们的设计。为了将Tablext与这些作品进行定量比较,还针对该数据集对Tablext进行了测试。此外,Tablext虽然表识别不是本文的重点,所提出的方法产生高质量的结果,而只使用一小部分的总运行时间。5.1. 表格识别结果表标识符在一个数据集上进行了测试,该数据集包含来自各个域的400多个表。这个数据集包括许多抽象表,没有任何行,比大多数表更难识别设AP为图像中预测的区域,AL为真实占用区域。精确度和召回率,对于一个图像,可以计算precision =A,recall =A。自定义CNN、YOLO模型以及自定义CNN和YOLO模型的组合的结果可以通过以下方式实现:Z. Colter等人阵列15(2022)1002208见图12。(表D)我们的测试平台中基于文本的PDF页面,其中潜在的问题列用方框(红色)突出显示。(For对本图图例中所指颜色的解释,读者可参考本文的网络版表2表识别YOLO比较。召回精度F1-分数自定义CNN仅0.5093 0.3802 0.4354YOLO仅0.8654 0.8989 0.8818自定义CNN + YOLO 0.8716 0.8663 0.8689YOLO模型总结见表2。在对数据集的精确度和召回率进行平均后,每个图像的权重相等,组合模型的精确度和召回率分别达到86%和87%。尽管仅YOLO模型实现了更高的精度,但自定义CNN和YOLO的组合的更高召回率是优选的,因为最好过度建议区域而不是错过任何表。这是因为不是表的区域可以在以后的提取过程中丢弃,而完全缺失的表则不能恢复。5.2. 表提取结果比较5.2.1. ICDAR比较DeepDeSRT和TableNet都使用了从ICDAR数据集中随机选择的34张图像作为测试集。然后,他们以ICDAR规定的特定方式计算精确度和召回率。对于表中的每个单元格,ICDAR定义的“邻接关系”与其最近的水平和垂直邻居一起找到。为了获得准确率和召回率,相邻关系与地面真相进行了比较。计算每个文档的精确度和召回率,然后在所有文档中取平均值为了将Tablext与其他论文进行比较,使用了相同的方法来计算精度和召回率。值得注意的是,Deep-DeSRT和TableNet都通过在剩余的ICDAR数据集上进行训练来微调它们的网络。为了证明其从一般格式的表中提取数据的能力,Tablext不使用任何ICDAR数据进行训练。不同方法的比较结果见表3。Tablext在所有方法中具有最高的精度和总体F1分数。5.2.2. 不同数据集比较如果没有DeepDeSRT或TableNet的源代码,Tablext无法在大型多样化数据集上定性或定量地与它们进行比较。因此,与流行的PDF提取器Tabula进行了比较。Tabula只能提取非扫描的、基于文本的PDF。表3ICDAR数据提取结果比较。DeepDeSRT和TableNet都经过训练 在ICDAR数据集的一个子集上,而Tablext不使用任何ICDAR数据来训练,这证明了Tablext从 一 般 格 式 的 表 中提 取 数 据 的 能 力。.图十三. (表D)Tablext的CSV格式的最终输出。方框(红色)显示了对有问题细胞的正确处理。(For对本图图例中所指颜色的解释,读者可参考本文的网络版图14. (表D)Tabula的CSV格式最终输出。方框(红色)显示对有问题的细胞的错误处理。 (For对颜色的解释在此图例中,读者可参考本文的网络版本因此,一个专门包含基于文本的PDF的测试平台是通过从各个领域的PDF中随机选择100多个表来创建的。Tabula提供带有文本和元信息的PDF页面,而Tablext提供每个PDF页面的扫描图像。 图12是我们的测试平台中的一个这样的页面的例子图12是由Tablext和Tabula提取的。 有了这个输入,图。图13和图14分别显示了Tablext工作召回精度F1得分TablextDeepDeSRT TableNet0.90910.87360.90010.92210.95930.93070.91560.91440.9151表4多种数据提取工作行动结果比较回忆精度F1得分TablexTabula0.91920.71100.94370.7340.93130.7223Z. Colter等人阵列15(2022)1002209输出.两者在复制单元格内容时都具有很高的准确性,尽管Tabula只是阅读提供给它的文本,而Tablext使用OCR。Tablext输出的一个问题是Tesseract似乎无法识别加号-减号字符。Tabula也没有完美地打印单元格中的数据,尽管直接从PDF读取。 Tabula无法识别减号。出现此问题是因为此PDF使用了异常字符而不是标准ASCII符号。Tabula的输出中出现了几个严重的结构错误,这些错误在图中突出显示。14个。回顾图中的原始图像。 12、很清楚是什么导致了这些错误。单元格像这样的错误对于传统的基于文本的提取器是常见的[30]。与此同时,Tablext的动态阈值比可以轻松地将这两列分开,然后将拆分的“A级”和“B级”单元格合并图中突出显示的细胞。14强调了准确的小区位置识别的重要性。即使使用了巧妙的后处理,也不可能分辨出具有单个数据的合并单元格属于哪一列。例如,查看以“Transition noise”开头的行两种方法的比较结果见表4。Tablext6. 结论本文介绍了一种新的,通用的方法表提取。通过利用深度学习和计算机视觉技术,神经网络可以将注意力集中在复杂的问题上,同时允许更传统的方法来处理更简单的任务。这种专注使Tablext能够击败竞争对手最先进的基于神经网络的表提取方法以及需要表元数据的流行开源工具。竞合利益作者声明以下经济利益/个人关系可能被视为潜在的竞争利益:Morteza Fayazi报告说,空军研究实验室(AFRL)和国防高级研究计划局(DARPA)根据协议编号FA 8650 -18-2-7844提供了财政支持。致谢本材料基于美国空军研究实验室(AFRL)和美国国防高级研究计划局(DARPA)根据协议编号FA 8650 -18-2-7844赞助的研究。美国政府被授权为政府目的复制和分发重印本,但不承担任何版权注释。引用[1]滕力A,杨燕,马国龙.从例子中学习表格提取。第20届计算语言学国际会议的主持人。计算语言学协会; 2004,p. 987.[2]鲁弗洛·奥罗Trex:一种从PDF文档中识别和提取表格的方法。2009年第10届文件分析与识别国际会议。IEEE; 2009,p. 906-10[3]Pinto D,McCallum A,Wei X,Croft WB.使用条件随机场提取表。在:第26届年度国际ACM SIGIR会议的研究和发展信息检索; 2003年,第。235-42.[4]贝尔瓦湖Pdf2image:Python的开源科学工具。2019年,https:github.com/Belval/pdf2image,最后访问2019-07-28。[5]Grabzit:Python的开源科学工具。2019年,https://github.com/GrabzIt/grabzit,最后访问时间为2019-07-29。[6]李康,哈夫纳,Bottou L,Bengio Y.基于梯度学习的物体识别。计算机视觉中的形状、轮廓和分组。 Springer; 1999,p. 319比45[7][10]杨晓,李晓.人工智能应用模拟和混合信号电路的建模和优化:综述。IEEETrans Circuits Syst I Regul Pap2021.[8] RedmonJ,Farhadi A.YOLOv3:渐进式改进。2018年,ArXiv。[9]Tesseract OCR : Python 的 开 源 科 学 工 具 。 2019 年 , https://github.com/UB-Mannheim/tesseract,最后访问2019-07-29。[1
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功