这是一份数据量达41.7万开源表格数据集
「2019 Python开发者日」7折优惠最后1天,请扫码咨询 ↑↑↑
本文转载自微软研究院AI头条(ID:MSRAsia)
近年来,自然语言处理(NLP,Natural Language Processing)技术的快速发展大力推动了人工智能的整体进展。尤其是在过去三年,机器学习给NLP所带来的进步,使计算机在机器翻译、阅读理解、语法检查等任务上,都达到了可以媲美人类的水平。
不过相比现实世界中的实际应用环境,研究中的NLP任务相对单纯。事实上,在NLP已经取得很多突破的今天,机器却连企业文档中最常见的Word、PDF也无法从头“读”到尾。如何能够让机器理解文档中的标题、段落、脚注、图片、表格等内容信息,是NLP能够处理更多实际应用场景的第一步。
最近,微软亚洲研究院自然语言计算组发表了一篇论文——TableBank: Table Benchmark for Image-based Table Detection and Recognition,致力于解决文档中的表格检测与表格信息识别,并首次在业界同时开源表格检测和表格结构识别数据集,供研究人员使用。
TableBank:高质量的标注表格数据集
虽然人类在视觉上可以很容易地判断出一个表格,但由于表格的布局、样式多种多样,对于机器而言判断“何为表格”以及表格中内容之间的关系却并不容易。传统的基于规则的表格识别方式,一旦换一份文档就需要大量在文档后台的手工操作;而现有的机器学习方法,又无法获得大量有效的标注数据,很难支持实际场景中的应用。于是,TableBank应运而生。
TableBank是一个表格检测与识别的数据集,基于公开的、大规模的Word文档和LaTex文档,通过弱监督方法创建而来。与传统的弱监督训练集不同,TableBank不仅数据质量高,而且数据规模比之前的人工标记的表格分析数据集大几个数量级,其表格数据量达到了41.7万。
然而要让机器读懂表格,首先要能够从文档中识别哪些是表格,随后再去识别表格区域内的信息。因此TableBank的实现主要分两步走:一,表格检测(Table Detection);二,表格结构识别(Table Structure Recognition)。
表格检测
如何能自动检测到文档中的表格?
通常每个Word文档都有一个对应的Office XML源代码文件,在代码中对应表格的位置,可以对其进行修改,让表格加上边框,以此来区分表格与文档的其他部分。对于LaTex文档(由LaTex编辑器生成的文档),则可以直接使用特殊命令将边界框添加到表格中,以此来确定表格在文档中的位置。
然后再将Word和LaTex文档中的表格转化为相对应的PDF页面(如下图所示),便可获得带有表格信息的PDF页面,且该文档对表格的位置已经进行了标注。这些标注过的表格,都可以放到训练数据集中,并且越来越多。目前,该表格检测模型采用了计算机视觉研究中常用的Faster R-CNN 算法。
表格结构识别
表格结构识别的目的是识别表格文档中的文字信息、表格中行和列的布局信息,以及理解行与列之间的关系。从PDF或图像中识别出文字,大家的第一反应都是使用OCR(光学字符识别)技术,确实OCR技术可以识别出文字,但它只能将其转换成文本格式,再按照在图像中出现的先后顺序依次填入到可编辑的文档中,而无法确定文字之间的逻辑关系,更难于理解表格的行、列信息。
在TableBank的论文里,研究员们一方面结合OCR技术,识别出表格里每个单元格中的文本内容,另一方面,使用了创新方法去自动识别出表格在文档中的位置,以及行与列的布局,明确表格中行列交叉所形成的单元格之间的关系。
对于形式、来源不同的表格,研究员们给出了相应的方法来实现表格结构的识别。Word文档中的表格可直接将XML源代码文件转换为HTML标记序列;LaTex文档则先生成XML再转换为HTML,然后框定表格中行和列的位置。这样表格中的行、列信息也就有了标注数据。
目前,TableBank数据集已经在GitHub社区开源,其中表格检测数据有41.7万个,表格结构识别数据有14.5万个。
数据集地址:https://github.com/doc-analysis/TableBank。
表格检测与识别: 文档智能分析的第一步
高质量、大规模、带有标注的表格数据集的建立,意味着表格识别相关的机器学习训练可大规模开展,并将逐步提升表格识别的准确率。集成了计算机视觉、OCR等跨领域技术的TableBank为NLP在实际场景中的应用,做好了智能分析表格数据的前期准备。
未来,在企业文档分析中,无论是扫描件还是纸质文件中的表格识别,都可以基于TableBank训练的模型进行。同样的场景也可以延伸到由PDF转成Word的文档中的表格转换,企业年报、员工报销发票中的表格信息提取等等。
当然,表格只是各类文档中的一小部分,表格检测与识别是NLP在文档分析研究领域的第一步,文档中的标题、段落、脚注、图片等其他非结构化数据的检测与识别,也是微软亚洲研究院自然语言计算组的研究范畴。要想真正实现对文档里的内容的智能分析和理解,还有很多研究课题亟待解决。
(*本文由 AI科技大本营转载,转载请联系原作者)
◆
精彩推荐
◆
「2019 Python开发者日」7折优惠最后1天。这一次我们依然“只讲技术,拒绝空谈”10余位一线Python技术专家共同打造一场硬核技术大会。更有深度培训实操环节,为开发者们带来更多深度实战机会。更多详细信息请咨询13581782348(微信同号)。
推荐阅读:
特朗普盯上谷歌在华AI中心,CEO皮查伊上演“拉锯战”
教育部发文35所高校新增AI本科专业!想回去重新高考
儿科医生的眼泪,全被数据看见了
让苹果“沦为配角”的华为都发布了什么?
@程序员,编程语言大乱斗,今天你真香了吗?
社交电商的诅咒
人间真实!一行代码引发的恐惧
阿里带火的中台,究竟是个啥?
姚期智提出的"百万富翁"难题被破解? 多方安全计算MPC到底是个什么鬼?
曝光!月薪5万的程序员面试题:73%人都做错,你敢试吗?
你也可以点击阅读原文,查看大会详情。
这是一份数据量达41.7万开源表格数据集相关推荐
- MySql下大数据量级别(1000万+)优化查询和操作方法
MySql下大数据量级别(1000万+)优化查询和操作方法 一.[原则一]: insert into tb (...) values(...),(...)...; 要比 insert into tb ...
- 五行各500字,2位字符串组合,数据量大而采取分段输出表格形式方程式
/*文字组合情况分析:缺1时取五行相生按顺序及自组合:缺>=2时按结果的前后,最多缺不会5:皆取2字名采用大名和小名并用.*/ void 五行名字(){ /*文字组合情况分析:缺1时取五行相生按 ...
- 机器学习 数据量不足问题----1 做好特征工程 2 不要用太多的特征 3 做好交叉验证 使用线性svm...
来自:https://www.zhihu.com/question/35649122 其实这里所说的数据量不足,可以换一种方式去理解:在维度高的情况下,数据相对少. 举一个特例,比如只有一维,和1万个 ...
- 最新数据,国内5G手机出货量已超78万部!
今天,中国通信研究院发布了2019年9月国内手机市场的数据报告,显示5G手机9月份出货量达49.7万部,新上市的5G手机有9款. 据5G产业圈统计,截至9月末,国内5G手机出货量已超78万部,已上市的 ...
- EasyExcel 分Sheet实现大数据量导出
EasyExcel 分 Sheet 实现大数据量导出 [场景]平台用户导出数据量达 w 级别的数据时界面白屏或按钮无响应. [解决方案]做异步导出,用户触发点击时创建导出消息并开启单独线程处理导出,处 ...
- 《数据分析实战 基于EXCEL和SPSS系列工具的实践》一3.4 数据量太大了怎么办
本节书摘来自华章出版社<数据分析实战 基于EXCEL和SPSS系列工具的实践>一书中的第3章,第3.4节,纪贺元 著,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...
- MySQL大数据量分页查询方法及其优化
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:收藏了!7 个开源的 Spring Boot 前后端分离优质项目个人原创+1博客:点击前往,查看更多 链接:ht ...
- 千万级别数据查询优化_MySQL大数据量分页查询方法及其优化
MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...
- mysql大数据量分页的一些做法
随着公司业务的增长,数据库的数据也呈指数级增长,拿订单表为例,之前公司的订单表每天只有几千个,一个月下来不超过十万.而现在每天的订单大概就是2w+,目前订单表的数据已经达到了700w.这带来了各种各样 ...
最新文章
- Linux下mysql备份
- load、loads、dump、dumps的区别
- 消息发送 C语言版和 Visual Basic Script版
- RPC实现Consumer 远程调用
- rm删除文件显示:Operation not permitted
- 在 IntelliJ IDEA 中部署应用到服务器
- docker上传镜像到仓库
- jdk13.0.2安装mysql_centos下的安装mysql,jdk
- mathmagic_MathMagic pro
- SQLite Tutorial 3 : Working with important SqLite Queries (SELECT, INSERT, DELETE, UPDATE,WHERE...)
- [转载] python的短逻辑
- wireshark之不显示ip问题(五)
- 杨强教授领衔撰写,国内首本联邦学习实战的权威著作
- 2021-10-1825. K 个一组翻转链表
- 前端主流框架双向绑定实现原理简述
- @修改用户(user)信息
- 常见html的MIME类型
- 谷歌智能眼镜回归,针对商业用户售价999美元
- Logistic回归----葡萄酒案例
- 评测三款最流行的txt阅读器
热门文章
- mysql获取连续登陆大于等于3天的用户id
- 面向对象2(构造函数、实例对象、原型对象——关系理解)
- Java面试官最爱问的垃圾回收机制,mysqlssl连接
- 卢新宁:在怀疑的时代依然需要信仰
- python开发跟淘宝有关联微_基于Python的Apriori和FP-growth关联分析算法分析淘宝用户购物关联度...
- 在斜坡上哪个物体滚的最快_在斜坡上哪个物体滚的最快_上海哪个停车场是你的噩梦?日月光的绕,恒隆的窄,新世界的车库太魔鬼…......
- VS无法打开 NuGet包
- VBE_INFO(获取VBE信息)
- 马化腾演讲、张勇内部讲话暴露两大巨头云上端倪
- html5霓虹效果代码,纯CSS实现酷炫的霓虹灯效果(附demo)