PDF的困境与未来

图片

三十年河西未远,三十年河东何在?

引言


电子文档(Electronic Document),是文档在个人电脑、平板电脑、手机等电子设备上的视觉呈现形式。在个人电脑诞生之前,文档的传播是以纸质文档的形式;而从上世纪八九十年代开始,经过近几十年IT技术的渗透,电子文档已取代了纸质文档的信息传播形式,充斥着我们工作和生活的方方面面。

目前,常用的电子文档的文件格式包括PDF、Word、HTML等。作为正式的商务文档(Business Document),我们往往使用Word来编辑,形成最终版之后发布为PDF的格式,供读者阅读;有时候,如果需要直接把内容发布到网站上,则需要使用HTML的文档格式。因此,在不同的场景和用途下,会选择不同的电子文档格式;不同的文档格式之间,也试图通过技术发展,扩大和竞争更多的应用场景。

而在商务文档领域,PDF(Portable Document Format的简称,意为“便携式文档格式”)无疑是事实上的业界标准,应用最为广泛。它在精准的视觉呈现和系统稳定性方面令人称道;然而随着工作范式(Work Paradigms)和需求的改变,PDF文档乃至各种电子文档的困境也逐渐凸显。有些问题,看似简单,但实际处理时相当困难。那究竟该如何解决?PDF这款已经有着近三十年历史的产品该如何改进、未来又该走向何方?

我们首先把注意力集中在PDF文档本身,把时间拨回到几十年前,回顾一下它的起源。

PDF的起源


大部分产品使用时的优势与不便之处都可以追溯到它设计时的初衷,PDF也不例外。

让我们把时间拨回1982年,彼时,年近四十的犹他大学计算机博士John Warnock因为无法说服Xerox公司管理层将控制印刷的InterPress图形语言商业化,选择和好友Charles Geschke一起离开Xerox,创立了自己的公司Adobe Systems.——是的,就是那个日后发明了Photoshop的Adobe。

​ Charles Geschke (左) and John Warnock(右)in 1982 (出处)  ​

Charles Geschke (左) and John Warnock(右)in 1982 (出处

到了1991年春天,在推出第一款产品——印刷语言PostScript——一款桌面打印软件之后,Warnock推进了一个名叫“Camelot”的项目,它随后发展成了PDF。

“(Camelot的初衷是)为了有效地从任何应用上获取文档,并可以将它们的电子版发送到任何地方,在任何机器上查阅和打印它们。”                                               

                                                                                                                          ——John Warnock

PDF起初只是一种文本页面预览格式,主要是出于为方便电子打印的目的。但时值电子阅读兴起:一方面,消费者们开始将注意力从纸质阅读转向电子阅读,他们需要一款便捷、可靠的文档阅读工具。即使是今日,用Word打开一个超过3Mb大小的文档依旧需要等待一会儿;而一本电子书在传输过程中,假若可以被任何一位使用者进行删减也是现实中无法接受的。另一方面,企业存在着一个迫切的需求:同一份文档经过传输,依旧在不同机器、不同操作系统上显示出视觉内容完全一致的文档。这个视觉内容一致性的要求其实并不容易,直到今天,我们也经常察觉到,同一份Word文档在Windows操作系统和macOS上的展示效果不同。但是,PDF文档能做到。

真实的市场需求和期望,逐渐转化为PDF需要解决的焦点,因而也改变了该产品。经过近二十年、诸多版本的更迭,PDF逐渐开拓了自己的需求市场和应用场景。2008年,PDF推出版本ISO 32000:1:2008,并借此正式成为国际公开标准。

PDF中储存了什么

PDF在它的本职任务上表现十分优秀。无论是传输、显示,还是打印,PDF都体现了无可比拟的便捷、稳定和精确。

便捷与稳定在上文已有解释,精确又是什么意思?

随意打开一份PDF文件,通过右下角的缩小放大键进行缩放,我们会发现文档的清晰程度基本没有受到影响——它每个字符的像素会因为放大而增加。只需要简单类比一下会因为放大而失真的图片,我们就会发现其神奇与优越性。

而要去理解这是如何做到的,就需要深入到PDF的文本数据储存方式。首先需要了解文本的字形(glyphs)、字形名称(glyphs name)和字体。

字形是一组描述如何画出一个符号或一个字符的指令。比如字符“α”,对应着它的视觉效果上的字形。

字形名称是一个字形的名字。例如, “α”字形的字形名称是“Alpha”。

字体是包含一组字形和其相对应的字形名称的集合。比如说,字体中都包含能被人识别为字母“a”的字形;而不同字体中,画“a”的方式可能是不同的。

在PDF文件中,字符是以数字形式进行存储的,这些数字叫做“码位”(codepoint)。为了决定如何在屏幕上绘画,渲染器需要执行下列步骤:码位 -> 字形名称 -> 字形

比如说,一个PDF内部文件包含了码位03B1。PDF会找到这个码位对应的字形名称“Alpha”,然后再通过查询字形“Alpha”来将其对应的视觉效果呈现在屏幕上。

也就是说,尽管我们打开PDF文档后视觉上看到的是许多字符,实际上PDF底层文件储存的是字体内容和一组在页面上“打印”字形的指令。当我们打开文档时,程序会依据文件内的指令将这些计算机语言“翻译”成视觉的文档内容。而对文档进行视觉上放大时,由于每个glyph(字形)是矢量图,文件会进行部分重编译,清晰度自然就不会受到影响。    

图片

左图:PDF渲染后的视觉内容;右图:PDF文件中存储的计算机指令 (出处

上图中,文档左边就是我们看到的文档的视觉化效果,而右边是这个PDF文档的底层代码。这些代码表达的意思是:在(503,688)这个位置,用白色和8.5的字体去打印一个m......。也就是说, PDF记录的是每个页面上的字符、线条等对象的位置、颜色、字号等信息。没有其他任何的衍生信息。

实际上,PDF和历史上的铜版印刷术、活字印刷术本质是同一类事物:都在追求便捷、稳定、精准地复刻信息。更精确地讲,PDF就是电子版的“活字印刷“,它以字符为基本对象,记录它们在页面上的精确位置、颜色、字号等信息;文件中的每一个glyph其实就是一个个活字印刷字符。

总结起来,PDF文档存储的是文档的“视觉内容”,这样才能精确的保证同一份文档在不同平台和系统上的视觉呈现是完全一致的。

PDF确实完美地完成了这一使命。

PDF文档内容再利用的困境


那么,PDF文档在呈现视觉内容上已经如此完美了,这种电子文档格式会一成不变,不受任何威胁的永远存在下去吗?

伴随着用户工作方式和需求的改变,PDF电子文档越来越显现出在“内容再利用”方面的困境。这样的困境的根源是,在PDF被发明的时候,这些新的工作方式和需求是并不存在的。

随着PDF逐渐成为电子文档发布的事实标准,人们不再阅读纸质文档,而是逐渐适应在电子设备上直接阅读。逐渐的,除了电子阅读以外,人们希望能有效利用PDF文档中的内容,以支持后续的各类文本分析任务。

然而,我们很快发现,一些看似简单的任务,在PDF文档上却是相当困难的。

PDF转Word

当我们需要大篇幅的修改某个PDF文件时,常常需要把PDF转化为Word文档。然而,从Word生成PDF十分方便,但这并不是一个可逆的过程。

找微软的PDF转Word工具试试,如下图:

图片

左图:PDF原始页面;右图:PDF转换为Word后的页面(点击查看原图)

从对比图可以直观看到,存在不少偏移和错误;但这还不是最大的问题。如果去一个个选取转化后Word文档中的文本,会发现:原本PDF页面中“视觉呈现”上连贯的一段话,在Word上被分别记录在了许多个文本框内。

图片

选取Word页面中的一个片段,将每个文本框分别染色后十分明显

为什么会有这样严重的问题呢?根源还是在PDF文档仅存储以Glyph为对象的视觉内容,并没有存储关于段落、表格的文档结构信息。

由于我们仅知道PDF页面中每个字符的内容和位置,那么,PDF转Word软件的大致工作原理是:根据PDF文件中每个glyph的内容和位置,以一定的规则合并成文本块(text chunk),最后根据原本PDF的视觉效果将它们拼接放置到相同的位置。

这一过程,并不能保证合并成的文本块对应文档中的一个段落或表格。因此,大家用到的PDF转Word的工具,目标是:保证转化后的视觉内容保持一致,而并不能识别文档结构信息。这里,文档结构指的是文档的段落、表格信息,以及它们的阅读顺序。

PDF文档中提取表格

类似的,如果想借用PDF转Word的工具,提取文档中的表格,这往往是不可能的。

图片

左图:PDF页面中的无线框表格;右图:PDF转换为Word后的视觉效果

如上面的左图所示,这是在金融领域非常常见的无线框表格;转化为Word后,视觉效果跟之前的PDF文档差异很大;同时,表格内部的行列结构信息也完全缺失。

统计PDF文档中句子的平均长度

近年来,研究者开始将非结构化的文本分析引入到金融学领域的研究中,主要包括上市公司信息披露文档、财经媒体报道以及P2P网络借贷文档等,并对文档的可读性、语气语调、相似性以及语义特征展开研究。

2011年的一项研究工作(Lehavy, Reuven, Feng Li, and Kenneth Merkley, 2011, The Effect of Annual Report Readability on Analyst Following and the Properties of Their Earnings Forecasts, The Accounting Review.)指出,提高企业财务报告的可读性能够降低分析师盈余预测离散度,提高分析师盈余预测的准确度;同时,该工作提出,文档中句子的平均长度是度量文档可读性的有效指标。然而,对于PDF格式的公司年报,精确统计其中句子的平均长度并不是件容易的事情。

可以设计的简单方法是:首先从PDF年报中去除表格和标题的文本内容;在剩余的内容中,统计句号的个数;最后,将剩余的文本长度除以对应内容的句号(以及其它断句符号)的个数,这就是最终的结果。

由于公司年报中存在上百个表格,表格中的文本内容对精确计算句子的平均长度有很大的影响;所以,去除表格内容是非常有必要的。

然而,正如前所述,精确提取PDF文档中的表格是非常困难的,因而,并不能准确的获取表格中所包含的文本内容。特别是,在金融领域的PDF文档中大量存在无线框表格、跨页表格等,现存的PDF转Word的工具对表格的提取都表现得非常糟糕。

PDF文档的手机阅读

随着手机逐渐从生活向工作渗透,我们往往需要在手机上阅读PDF文档。然而,因为手机的屏幕小,在阅读中,我们需要不断放大、缩小和移动PDF页面;特别是那些双栏排版的复杂页面,PDF的手机阅读体验非常不好。不仅是在手机上,在各种平台电脑,或者Kindle上,阅读PDF的体验也是非常不好。因此,我们迫切的需要一款软件,将PDF文档排版成适合手机阅读的页面。

再一次的,由于PDF文档中没有提供文档结构信息,研发版面重排版软件也是非常困难的。

总结起来,除了在尺寸适当的电子设备上阅读,其它有关PDF文档的“内容再利用”的应用,都是非常困难的。

由于PDF文档只存储了文档在Glyph级别的视觉内容,它天然缺乏可处理性(Accessibility)、可利用性(Usability)、可响应性(Responsiveness)。难怪有人戏称,PDF文档是数据和内容消亡的地方(PDFs are where data and content go to die)。因此,想从PDF文件里获取数据和内容是十分困难的。

当然,我们需要认识到的是:优越性与缺陷很多时候是一体双面。比如当PDF具有稳定视觉呈现时,它自然就缺少了可处理性——一个包装精致同时又很可靠的箱子,同时也代表着打开它必然不会很方便。

PDF在它的本职任务上表现十分优秀,只是我们逐渐需要它能实现更多的需求。

机器可阅读


人可阅读 ≠ 机器可阅读

那么,为什么PDF文档在“内容再利用”方面有如此巨大的困难,而人却能非常流畅方便的理解文档?

我们需要更深刻的理解PDF设计的初衷,剖析人类的“阅读能力”的层次,进而理解:“人可阅读”并不等同于“机器可阅读”。

图片

左图:人阅读文档;右图:机器阅读文档

回忆一下PDF设计的初衷:设计一种文档存储格式,使得它在电子设备上的视觉内容与对应的纸质文档完全一致;在这种场景下,不管是纸质文档,还是电子文档,文档的“使用方”都是人。

然而,我们注意到:在文档的“内容再利用”的应用中,文档的“使用方”从人改变为机器,文档成为了机器处理的对象。由于使用方的改变,一些对于人来讲非常简单的阅读理解任务,对于机器来讲确实相当困难。

那么,有什么办法,让PDF文档变得“机器可阅读”(machine-readable)呢?进而使得PDF文档具备可处理、可利用、可响应性等特定,以支撑后续的文档智能的应用?

在回答这个问题之前,我们首先剖析一下人类“阅读能力”的三个层次:

1、识字的能力:人能识别出文档中的每个单字。还记得父母拿着识字卡,教小孩识字吗?识字的能力,是一切阅读的基础。

2、识别文档结构的能力:对于呈现在眼前的一个排版好的文档页面,人能识别出其中的段落、表格、图片等内容块,并能确定这些内容块的阅读顺序。这是比识字高一个级别的阅读能力。这样的能力,是小孩在父母的阅读陪伴下逐渐培养的:在无意识中,小孩被训练的知道,内容应该从上往下读,一段内部是从左往右阅读;以及哪里是段落、表格等内容块的分割。

3、语义理解能力:有了识字和文档结构识别的能力,才能逐字逐句阅读,理解其中的语义。这个能力,是人与人的语言交往中逐渐形成的。

图片

同样的,让机器具备阅读能力,也得从这个三个层次逐渐培养:

1、机器识字:如果PDF文档中,glyph对应的码位(codepoint)使用的是标准编码(如Unicode),那么这样的文档称作天然的数字文档(digital-born documents),则无须进行机器识字。但如果文档中存储的是文档影像,或者glyph的码位不是使用的标准编码,则我们需要利用光学字符识别(Optical Character Recognition)技术,进行机器识字。这个过程,是将文档影像图片转化数字文档的过程。

2、机器文档结构识别:对于一个页面,我们可以利用深度学习的方法,识别出其中的版面结构、文本段落、表格,并确定这些内容块的阅读顺序。这个过程是后续进行语义理解的前提。

3、机器语义理解:在文档结构识别的基础上,我们才能进行后续的语义理解任务,包括自然语言的理解、表格的理解等任务。

需要再次强调,PDF文档本身并没有存储文档的结构信息,因此需要基于视觉和文本内容,明确的进行文档结构识别,自动标记出:哪里是段落,哪里是表格,以及它们的阅读顺序等信息。

因此,提升机器对文档的阅读能力,识字的能力和文档结构识别的能力,是一切语义理解的基础。

文档结构识别:Word、HTML等带标签文档同样需要

那么,除了PDF文档,对于Word和HTML等带标签的文档的机器阅读,是否就不需要文档结构识别了呢?答案是否定的。

大家可能会认为,Word和HTML文档中的标签,提供了文档的结构信息。比如,“\p”的标签对应文本段落,“\table”的标签对应表格。因此,这些丰富的标签可以帮助计算机更好的去理解文档的结构,轻松的获得关于图片,段落,表格等信息。

然而,这些标签也是视觉意义上的标签,而不是文档结构的语义层面上的标签。例如,在Word文档中,我们可以采用“\table”标签对多个文本段落做位置对齐;也就是说,“\table”下的内容并不是真正的表格,而是文本段落。

我们也观察到如下图的在Word文档中的表格,并不是用“\table”标签生成,而是用Tab键的对齐直接生成。从视觉上,让它“看起来”是一个表格。

图片

Word文档中的表格,利用Tab键的对齐生成

人编辑文档,一切都是为了可视化服务。而计算机阅读的就是一个一个的标签对象,而这些对象和真实的语义往往是偏离的。因此,即便是带标签的文档格式,为了达到精细化处理的要求,文档结构识别也是需要的。

因此,人可阅读和机器可阅读是完全不同的概念。赋予机器可阅读的能力,需要从识字、文档结构识别、语义理解三个层次,逐层开展;而前两个层次是机器阅读的基础。

文档智能



除了大家熟知的人脸识别,赋予机器文档阅读的能力,在各种垂直场景实现“文档智能”是重要的人工智能应用场景。

2019年,NeurIPS会议上举办了首届“文档智能”(Document Intelligence)的workshop。这次会议的官网上,明确的定义了什么是“文档智能”:

Business documents are central to the operation of business. Such documents include sales agreements, vendor contracts, mortgage terms, loan applications, purchase orders, invoices, financial statements, employment agreements and a wide many more. The ability to read, understand and interpret business documents, collectively referred to as “Document Intelligence”, is a critical and challenging application of artificial intelligence (AI) in business.

区分与以往在Web上关于语义理解的工作,“文档智能”更关注于在各类商务文档上的智能应用。通常,“文档智能”的应用以各类电子文档为输入,这样的应用我们称为document-intake applications。

同时,我们清晰的认识到:文档智能是一个跨越多个子领域的交叉研究。如下图所示,从数据挖掘、自然语言理解、和计算机视觉的三股力量,同时朝向“文档智能”进行相关研究。

图片

围绕“文档智能”这一核心,庖丁科技的使命是:

1、填补电子文档“视觉内容”与“文档结构”之间的鸿沟,为机器阅读提供精准的文档结构识别能力。

2、进一步的,进行深层次的语义理解,在各个垂直场景实现“文档智能”的应用。

接下来,我们从以上两个方面介绍庖丁科技迈向使命的工作。

PDFlux,文档所含,予取予求

PDFlux是庖丁科技研发的电子文档内容和数据提取神器。基于电子文档视觉内容,PDFlux进行文档结构识别,包括识别:表格、文本段落、以及这些内容块的阅读顺序。

我们把一些功能点展示一下:

1、精准表格识别

用户试图使用Microsoft、Adobe、WPS提供的PDF转Word的工具进行表格提取,实际的效果是完全不能接受的(如何玩转PDF转Word?PDFlux告诉你!)。但是,PDFlux能做到。

不管是有线框表格,还是无线框表格,都能识别:

图片

哪怕表格存在于双栏排版的页面中,也能识别:

图片

跨页的表格,PDFlux进行了自动的合并:

图片

2、PDF文档格式转换

基于文档结构识别的结果,并确定它们之间的阅读顺序,PDFlux能将PDF文件转化为Word、HTML、epub、mobi等格式。

在转换过程中,PDFlux着重强调对文档结构的还原;在某些情况下,会舍弃对视觉内容的还原。例如,有些双栏排版的文档,转化后会显示为单栏排版,但表格、文本段落等会被精确识别。

因此,PDFlux中的文档格式转换,是面向后续文档智能应用的转换。

3、PDF手机阅读

PDF文档其实并不适合在手机阅读。回想一下,PDF设计的初衷:相同的文档,确保在任意的电子设备上的视觉效果完全一致。但对于手机这么小的屏幕,这样的设计,却变成的了麻烦的事情。

我们希望能对PDF的内容进行重新排版,以适合于手机阅读。这项需求,通过PDFlux的微信小程序就能做到。

4、PDF文档的版本比较

有时候,我们也想对比一份文档的两个PDF文件版本的差异。如果两个文档都是Word格式,Office软件本身就有这个功能。但如果其中一个文档是PDF版本,这件事情就变得困难了。

PDFlux的最新版本,即将推出这个功能,敬请期待。

Acrobat Professional版本也包含这个功能,后续我们也会发出详细的评测和比较供大家参考。

5、PDFlux的SaaS服务

当然,PDFlux也对外提供SaaS服务,以REST API的调用形式,返回PDF文档中的文本段落、表格、图片等内容块,并按它们的阅读顺序进行排列。

同时,PDFlux也提供表格内部结构的信息,包括:表格内每个单元格的文本内容,单元格合并,单元格文字的对齐方式、缩进、颜色、加粗、斜体等样式信息。

综上所述,PDFlux提供了通用的文档结构识别的功能,能方便用户提取内容和数据。同时,我们也需要坦诚地说明:并不是所有的PDF文档都识别得非常精准,相比之下,金融领域的文档的识别质量应该是有保障的。

同时,需要强调的是,PDFlux对文档结构的识别,是任何文档智能应用的基础;任何关于文档的智能应用都离不开它。

语义理解在垂直领域的应用

以精准的文档结构识别为基础,后续才能进行在各个垂直场景的语义理解的任务。这里介绍几个比较普遍的应用。

1、文档级别的信息抽取

这个任务以电子文档为输入,试图提取文档中的关键信息,以结构化数据的形式输出。在金融领域,这个任务是一切金融数据服务的基础:因为几乎所有的金融信息最初披露的形式都是电子文档。

随着企业数字化转型的深入,从电子文档中抽取结构化数据的需求将越来越普遍。金融领域,包含大量金融数据的文档有两大类:

首先是各类金融信息披露文档,包括:公司年报、招股书、债券募集说明书、重组并购公告、研究报告等;这类文档的长度通常很长,多达几百页。

其次是各类单证:发票、银行对账单、信用报告、提货单等;这类文档较短,只有数页。 根据文档的长度和信息抽取的需求,我们可能采取不同的方法。基本的思路应该是:在段落、表格的基础上,进行实体识别、关系识别等自然语言处理的任务。

2019年,庖丁科技成功中标某证券交易所“XX版招股书”信息抽取项目;这是全国关注的项目,意义深远。在这个项目中,从每份数百页的XX版招股书中,需求抽取上千个关键字段,因此难度是巨大的。

同时,我们也需要指出,现阶段自然语言处理技术仍然依赖于数据标注,且并不能保证100%的信息抽取准确率。但这并不妨碍开展这样的项目,以大幅度减少人工成本。

2、文档审核

在很多场景中,都需要对文档内容进行合规和风险审核。合同审核是这样的典型场景。

自动化文档审核的方法,大致分为两步:

针对某个审核要点,首先在文档中定位到跟审核点相关的内容,也就是前面提到的在文档中进行信息抽取;然后结合领域知识,判断相关内容是否合规。

这里的难点,除了信息抽取外,还有如何将领域知识转化为逻辑表达式进行自动的合规判断。

庖丁科技在文档审核方面,也在不断树立行业标杆。

我们与某交易所合作,开展了在该交易所上市公司的年报的审核。该证券交易市场对在上市公司的年报披露进行了非常详细明确的要求(信息披露宝典有上千页)。该系统选取其中重要的100多个审核要点进行自动审核。从第一期项目的性能评测看,在保证审核质量的前提下,该系统较人工审核提升了78%的效率。现在,我们第二期的项目已接近尾声。

同时,在国内证券行业信息披露文档的自动审核产品AutoDoc,是庖丁科技全力研发的主打产品。AutoDoc针对各类信息披露文档,审核文档的一致性、完备性。应该可以自豪的说,庖丁科技开创了金融文档智能审核的先河,并已在全行业树立产品标杆。前10大券商中的9家已经正式上线了我们的产品,并在持续深入合作。

庖丁科技:文档智能产品矩阵

不仅是信息抽取和文档审核,经过近年来不懈的努力,庖丁科技已打造出围绕文档智能的产品矩阵,从撰写、审核、数字化再利用三个方面,全面提升金融行业中后台的工作效率,并防范文档相关的金融合规风险。

图片

总结与展望


人们的需求催生了各式产品,而好的产品更是服务、寻求、乃至创造更高标准的需求。PDF文档在“视觉内容呈现”上表现十分完美,但在“内容再利用”等方面存在着诸多应用困境。

对此,我们从提高机器阅读能力角度入手——实际上,这项能力提高的意义绝不止于服务PDF这一种文本形式。围绕“文本智能”这一核心,庖丁科技打造了以PDFlux为首的一系列产品,它们在诸如金融领域的任务上已经检验了其可靠性与优越性,而且它们能实现的其它文档智能的功能还在不断成长。

经过近年来不懈的努力,庖丁科技已逐渐发展成为金融文档智能领域的领航者。我们的产品,在众多大型金融机构落地,每天都在帮助他们提升工作效率和防范合规风险。除了金融行业,我们已展望到这些产品在其它“文档工作密集型”行业的应用前景,并坚信技术能推动这些行业的革新和发展。

END

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值