整个过程大体上分为文档解析,版面分析,篇章分析,表格提取,文本提取等五个步骤。

首先需要让机器读懂人是如何认知文章结构的。这需要运用计算机视觉的技术,计算人看到的结构是什么样的。以及自然语言处理的技术,计算这些字符组合在一起是如何被人理解的,所以需要做好版面分析与篇章分析,这两个前置工作。

在此基础上继续用更深层次的提取技术,从表格中、文本中把相关的信息提取出来。这些技术就包括深度神经网络,基于金融领域独有的知识与逻辑规则开发出来的提取技术等等。

我们具体用什么技术来解决这些难点呢?这个部分就很细节了,可以说每一步都要用很多种技术的综合处理来解决。举一个具体的小点,比如说章节结构这一个小点,我怎么能知道这句话是描述一个章节的标题,我们就可以使用深度学习里面的LSTM Classifier来做一些判断。此外,我们也会针对具体的文档结构归纳出来一些规则,来辅助进行推理。再比如命名实体识别这个环节,其实就从文本中识别出来各种各样的公司、财务指标这些信息,我们会有机会使用传统的基于机器学习的条件随机场算法来做一些推断。因为我们累计了大量的公司名、人名、财务指标实体库,我们会把这些信息再综合利用上,对条件随机场的输出做一些后处理,来提高precision。这张图里的信息点也比较多,我剩下的都不再一一讲解了。走完了所有的流程,文盲拯救完成了,这些家伙从此可以愉快地提取文档信息了,基本达到小学生水平。

第二步,如何用知识图谱把提取出来的信息点互相关联起来,最终成为计算机可以理解的知识,顺利拿到高中毕业证,请听下回分解。

结构化数据有什么用?假设解决了全部问题,拿到了一份结构化数据,当然想做点事。怎么才能样最大化程度地利用它的价值,这也是一个开放问题,因为数据的使用方式跟具体的应用场景是分不开的。脱离应用场景来谈数据应用,是一种耍流氓的行为。对于文因互联这家公司来讲,我们主要关注的是金融领域,因此首选的是金融文档,

比如:某某公司 2017 年年度报告.pdf关于参股公司2017年度现金分红的公告.pdf关于对某某股份有限公司的年报问询函.docx本期发生额及余额试算平衡表.xls某某房屋所有权证.jpg某公司和某公司战略合作协议.png……将其中有价值的字段信息提取出来,为进一步深度研究和加工做准备。最简单的方式就是直接调用,API 一键调用或者导出 EXCEL 均可,我们当前提供的数据包括但不限于:基于数据进一步分析,能探索出不少有意思的结论。比如人事变动公告,详见文章: 以及除此之外,我们还会和各种类型的金融逻辑结合起来,进一步加工,解决一些流程自动化的问题。比如监管方向,监管机构对企业有很多监管逻辑,人工审查费时费力,有了结构化数据便进一步加工,结合业务逻辑做到自动预警。比如:这个企业有远高于同行业的毛利率,更换过审计事务所或 CFO,有隐瞒关联交易的情形或收入严重依赖关联交易等等。如果我们不停地往这中间加各种监管的逻辑,最终我们就得到了监管自动化这样一个东西。