摘要:最近在做这方面工作,看到一个表格结构预测竞赛,https://www.bilibili.com/video/BV1nb4y1T7kr?vd_source=d670de3e996c9a3b795a0e40e028adeb&spm_id_from=333.788.
文章转自公众号老刘说NLP
今天来看看表格结构预测,表格结构识别任务要求预测表格的行列信息和单元格的合并情况,同时确定每个单元格的坐标框。
最近在做这方面工作,看到一个表格结构预测竞赛,https://www.bilibili.com/video/BV1nb4y1T7kr?vd_source=d670de3e996c9a3b795a0e40e028adeb&spm_id_from=333.788.player.switch&p=3,里面有些方案还是蛮有趣的,三个方案,其中有两个都采用有线表跟无线表路由、分而治之的思路。
而这些方案,很多都是依赖于数据,所以我们也来看看数据的问题,目前有哪些表格结构的数据可用。
仔细读,会有收获,供大家一起参考。
一、方案思路回顾
这篇文章(https://www.modb.pro/db/1736927623426154496)对比赛思路做了总结,大家可以看看。
方案1的思路:将问题转化为一个图像生成任务,使用CNN和Transformer结合的模型结构。生成的序列包括文本序列(描述表格的行列信息)和坐标框序列(用于记录单元格的坐标)。进行数据清洗,使用了额外的公共表格数据进行预训练,以及采用了数据增强策略;
在优化过程中,采用ConverLess网络搭配六层串行Transformer的结构效果最佳。使用了多个checkpoint进行推理,并对预测结果进行集成。最后,对模型的预测结果进行后处理,解决了一些不合法的表格预测问题。
方案2的思路:采用一个类型判断模块,将表格分为有线表和无线表进行单独处理,使用一个backbone和池化层,通过得到的分数将表格划分为两类。
对于无线表,采用Image to Sequence方法进行预测,得到HTML序列和文本框坐标;对于有线表,使用框点to Sequence方法进行预测,通过关键点检测获取单元格顶点;对于无线表,采用Transformer decoder结构,包含HTML序列和文本框坐标两个分支,在PubTimeNet和TypeRECSet数据集上进行数据增广,包括多尺度、trigger等,并考虑多尺度的模型集成策略;对于有线表,使用HRNet进行表格顶点检测,从而得到单元格的顶点,HRNet保持高分辨率,适用于密集点表格点检测任务。对于检测到的顶点,进行后处理,包括点的分类(左上角、右下角、交叉点、其他点)以及结构化的输出。
方案3的思路:首先对输入的表格图片进行分类,将其分为有线表格和无线表格两类。如果是有线表格,采用单元格检测网络,用于检测每个单元格的真实位置。对于有线表格结构生成,因为这类表格一般是横平竖直的,所以采用了一个四点检测网络,通过检测单元格的四个角点来推测表格的轮廓。接着利用检测到的轮廓进行表格的矫正,以获得规整的表格结构。矫正过程包括单元格检测、脚点推测、轮廓估算和TPL矫正;对于无线表格,由于其形变和缺少明显线条,使用了阿里开源的LORE模块,该模块通过端到端学习,可以自动预测表格中每个单元格的位置、行列号。
二、现有表格结构数据数据集
根据项目:https://github.com/FutureRising007/Table_Structure_Recognition,这个地址,现有表格结构数据数据集至少包括TableBank、SciTSR、PubTabNet、FinTabNet、PubTables-1M、WTW、TNCR、TAL_OCR_TABLE等工作,做的一个对比如下:
其中:
1、TableBank,英文,TableBank是一个新的基于图像的表格检测和识别数据集,由互联网上的Word和LaTeX文档提供的新型弱监督构建,包含417K高质量标记的表格。它只包含单元格拓扑真值。地址:https://github.com/doc-analysis/TableBank;
2、SciTSR,英文,SciTSR是一个大规模表格结构识别数据集,包含15,000个PDF格式的表格及其从LaTeX源文件获得的相应结构标签。它包含单元格拓扑、单元格内容真值。地址:https://github.com/Academic-Hammer/SciTSR;
3、PubTabNet,英文,PubTabNet是一个大型基于图像的表格识别数据集,包含568k+张表格数据图像,这些图像标注有表格的相应HTML表示。它包含单元格拓扑、单元格内容和非空白单元格位置真值。地址:https://github.com/ibm-aur-nlp/PubTabNet;
4、FinTabNet,英文,该数据集包含来自标准普尔500强公司年报的复杂表格,带有详细的表格结构注释,以帮助训练和测试结构识别。地址:https://developer.ibm.com/exchanges/data/all/fintabnet/;
5、PubTables-1M,英文,约100w表格的数据集,用于训练和评估各种模型的表格检测、表格结构识别和功能分析任务。地址:https://github.com/microsoft/table-transformer;
6、WTW,英文和中文,WTW-Dataset是第一个用于表格检测和表格结构识别任务的野外表格数据集,由拍照、扫描和网页构建,涵盖了7个挑战案例,如:(1)倾斜的表格,(2)弯曲的表格,(3)被遮挡的表格或模糊的表格(4)宽高比极端的表格(5)叠加的表格,(6)多色表格和(7)表格结构识别中的不规则表格。它包含单元格拓扑和所有单元格位置真值。地址:https://github.com/wangwen-whu/wtw-dataset
7、TNCR,英文一个新的表格数据集,从不同开放获取网站收集的图像质量各不相同。TNCR包含9428个标记的表格,大约有6621张图像。它们被分类为5个不同的类别(全线条、合并单元格、无线条、部分线条、部分线条合并单元格)。地址:https://github.com/abdoelsayed2016/TNCR_Dataset
8、TAL_OCR_TABLE,中文,TAL_OCR_TABLE数据集来自TAL表单识别技术挑战赛。数据来自教育场景中学生真实的作业和试卷场景。它包含16k训练图像和4k测试图像它包含单元格拓扑、单元格内容和所有单元格位置真值。地址:https://www.heywhale.com/home/competition/606d6fff0e04ac0017c3bf7f/content/1
参考文献
1、https://www.bilibili.com/video/BV1nb4y1T7kr?vd_source=d670de3e996c9a3b795a0e40e028adeb&spm_id_from=333.788.player.switch&p=3
2、https://www.modb.pro/db/1736927623426154496
来源:360亿方云