对古老且各种本文混淆的文本进行识别并转录,是一项异常艰巨的任务。
编译
王宇欣
来源
TheAtlantic
梵蒂冈秘密档案室是世界上最伟大的历史收藏馆之一,然而也是最无用的收藏馆。
伟大之处显而易见。梵蒂冈秘密档案室位于梵蒂冈城墙之内,紧邻使徒图书馆,位于西斯廷教堂北侧,秘密档案室内存放的书架甚至可追溯到12世纪之前,排列起来可达53英里。
其中包括教皇利奥十世下令驱逐马丁路德的教令、苏格兰玛丽女王被斩首前写给天主教教宗西都斯五世的求情信。无论是在收藏规模或是收藏范围上,梵蒂冈秘密档案室都是无可比拟的。
然而,因为能够接触到的文件极其有限,梵蒂冈秘密档案室对现代学者来说没有太多用处。在这长达53英里的文件中,有少部分文件经过扫描提供在线访问。仅有更少量的文件被转录为计算机文本能够进行搜索。如果你想要研读其他文件,你必须申请特殊的访问权限,一路通行前往罗马,最后手动浏览每一页。
一项新兴的项目可能会改变现状。这项技术被称为InCodiceRation,将人工智能和光学字符识别(OCR)软件相结合来转录这些被忽视的文本,首次让这些记录文本大白于天下。
如果成功的话,这项技术还能开启其他隐藏在世界各个历史档案馆中的文件。
多年来,OCR一直用于扫描书籍、打印文件,但是这项技术并不适用于存放在梵蒂冈内的机密档案。传统的OCR通过查找字符之间的空白将单词分解成一系列字母图像。然后OCR将字母图像与内存中的字母库进行比对。找出与图像最匹配的字母,软件将该字母转录为计算机ASCII编码,从而让文本实现可搜索化。
然而,这个过程却只能用于排版后的文本。对于手写文本,传统OCR的表现很糟糕——而绝大多数古老的梵蒂冈文件却正是手写文本。下图是一份12世纪早期文件的例子,是以所谓的卡罗琳小写字体书写的,看起来就像是书写体和手写体的混合:
这个例子的主要问题就在于字母间缺少空格(所谓的脏分割),OCR无法分辨单个字母的起止位置,因此也就无法统计字母的数量。最终就造成了一个计算上的僵局,有时也被称为Sayre悖论:
OCR软件需要将单词分割成单个字母从而进行识别,但是手写文本有大量的连写,软件要想分割字母必须要先识别字母。这就是矛盾所在,就像是《第22条军规》。
一些计算机科学家想要重新开发OCR技术,不再仅识别单个字母,而是识别整个单词。单从技术上来讲,改进的OCR很不错——计算机不会「关心」它们解析的是单词还是字母。但建立系统并让它正常运转是一种负担,这需要庞大的存储库作为支撑。
新型系统的记忆库不再是寥寥数十个字母,取而代之的是大量普通单词,系统需要根据这些单词库进行单词图像识别。这意味着你还需要一组对中世纪拉丁语有充分造诣的学者,查阅旧档,获取单词的图像。
事实上,每个单词你需要几张不同的图像,来解释笔迹的不同或者糟糕灯光或是其他因素造成的单词差异。这是一项艰巨的任务。
InCodiceRatio团队采取了一种新的手写OCR方法避免了上述问题。
这个项目四位主要的科学家分别是——罗马第三大学的PaoloMerialdo、DonatellaFirmani和ElenaNieddu以及VSA的MarcoMaiorino——他们以一种新型的「拼图分割」方法成功绕开了Syaer悖论。
该团队在论文中表示,拼图分割没有将单词分割为字母,而是分割成一种更接近单个笔画的东西。OCR通过将单词划分为一系列垂直、水平带,并寻找局部最小——更薄的部分,那里的墨水较少(实际上是像素更少)。然后软件则根据这些局部点分割字母。最终得到的结果是一系列拼图块:
然而,这些拼图块并没什么用。但是OCR软件可以用不同的方式把它们重新组合,重现出一些可能的字母。它只需要知道重组后的字符哪些代表真正的字母,哪些是假的。
为了让软件学会这一点,研究员们向一个特殊群体寻求帮助:高中生。该团队在意大利24所学校招募学生建立项目自己的记忆库。学生们登录一个网站,屏幕上出现三个部分的图片:
最上面绿色方框中包含的就是清晰的中世纪拉丁文「g」的例子。
中间的红框则是一些g的虚假例子,Codice科学家们称其为「假朋友」。底部的网格则是程序的核心部分。每一副图像均由几个拼图构成,OCR则尝试将其组合在一起猜测出可能的字母。
随后学生们则会判断OCR得出的结果,告诉它哪些猜测是好的,哪些猜测不好。他们把每张图片和绿框中的例子相比较,如果相匹配,就点击那个复选框。
一张又一张图片,一次又一次的点击,学生们就这么教会软件——中世纪拉丁文的22个字母(a-i,l-u,还有一些s和d的不同写法)到底是什么样子的。
软件最初的设置确实需要一些专家们的努力:学者们需要找出绿框中完美的例子,以及红框中的「假朋友」。但是一旦他们完成这些工作,后续就不再需要他们了。学生们甚至都不需要能阅读拉丁文。他们需要做的就是视觉模式匹配。
最初,「他们觉得让高中生参与进来这个实在是愚蠢,」Merialdo说道(Merialdo凭空想出了InCodiceRatio项目)。但是现在正是由于这些高中生的努力才使得OCR正在学习。每个人都做出自己微小的,简单的贡献,确实有助于解决一个复杂的问题,我喜欢这种方式。
当然,最后学生们也帮不上忙了。一旦他们在足够多的例子上投下「是」的赞成票,软件就会开始独立地将碎片拼在一起,自行判断字母。软件本身就成为了一个专家——成为了人工智能。
至少是某方面的人工智能。事实证明,把拼图块拼成看似合理的字母是不够的。计算机还需要额外的工具来理清手写文本其他的问题。想一下你正在读一封信,你会发现这句话:
这究竟是对他们来说是「清楚(clear)」还是「亲爱的(dear)」?
很难说,因为构成「d」和「cl」的笔画实际上是相同的。OCR软件面临同样的问题,尤其对Caroline小写字体这种高度风格化的文本来说更是如此。你尝试破译一下这个单词:
经过不同的拼图组合的尝试之后,OCR举手回答了。它猜是aimo、amio、aniio、aiino中的一种,甚至猜测是童谣『老麦当劳有个农场』中的一个单词aiiiio。
事实上,这个单词是anno,拉丁语表示「年」,软件确定了a和o,但是中间这四个平行的柱子让它有些搞不清。
为了解决这一问题,InCodiceRatio团队必须教授软件一些常识——实践性智能。
他们找出了万本已经数字化的拉丁词语料库,对字母进行了两两组合以及三三组合。他们确定哪些字母的组合常见,哪些字母的组合不会出现。OCR软件使用这些统计数据为不同的字母组合分配概率。最终,软件发现「nn」比「iiii」更有可能。
对软件进行改进之后,OCR终于能够自主阅读一些文本了。团队决定向OCR馈送一些VaticanRegisters文件,一份超过页的文件,秘密档案的一部分,其中包括写给欧洲国王的信件、法律的裁定等。
最初的结果好坏参半。到目前为止,在文本转录过程中,有三分之一的单词包含一个或多个拼写错误,这也让OCR猜错了字母。(最常见的拼写错误包括m/n/i的混淆和另一种分辨不清的情况:字母f和一种古式的拉长型s写法)。
不过,该软件在手写信件中还是达到了96%的正确率。而且,即使是「不完美的转录也能提供足够的信息和背景资料」,这是很有用的,Merialdo如是说道。