人工智能:破解梵蒂冈神秘卷宗之谜
梵蒂冈秘密档案馆可谓全球最伟大的历史藏品之一,但同时也身兼最无价值藏品的“桂冠”。
这座恢宏的建筑坐落在梵蒂冈城墙之内,毗邻使徒图书馆、位于西斯廷大教堂北侧,拥有着可追溯于1200年之前的总长达53英里的书架。除了将Martin Luther逐出教会的《教皇诏书》之外,其中还包括苏格兰玛丽女王被处决之前发给教皇西克斯五世的函件。在规模与范围方面,其中的收藏几乎著称无与伦比。
然而,梵蒂冈秘密档案馆对现代学者却没多大现实意义。因为在这长达53英里的书架当中,只有极少数书页经过扫描以提供在线版本,这当中的一小部分转录为计算机文本以供内容搜索。如果我们打算阅读其它任何内容,则必须申请特殊的访问权限,一路前往罗马,并亲自动手翻开这些古籍。
不过新的项目可能会改变这一切。此项目名为Codice Ratio,旨在利用人工智能与光学字符识别(简称OCR)软件的组合重现这些被忽视的文本,并将其重新呈现在世人面前。如果成功,这项技术还将被用于处理世界各地其它历史档案库当中数不胜数的其它记录文件。
多年以来,人们一直在使用OCR技术扫描书籍及其它印刷文档,但其并不适合秘密档案中的素材。传统OCR技术通过查找字母间的空格将单词分解成一系列字母图像,而后将各个字母图像与记忆中的字母库进行比较。在确定与图像内容最匹配的字母之后,软件会将该字母转译为计算机代码(ASCII码),从而创建可搜索文本。
然而,这一过程只适用于经过严格排版的文字。其在处理一切手写内容时都表现得相当糟糕,而梵蒂冈秘密档案馆中的绝大多数文件皆以手写卷宗形式存在。下图所示即为其中一例——十二世纪早期使用卡罗琳小写字母的文本,看起来像是书法加艺术体的混合产物:
从上例中可以看到,其中最大的问题是字母之间缺少间隔空间(即脏分割)。OCR无法知晓单词从哪个字母开始、又到哪个字母截止,因此其不能分辨具体的字母数量。这就造成了计算层面的僵局,亦被称为塞尔悖论:OCR罗技需要在识别之前将单词分割成独立的字母,但在字母彼此相连的手写文本当中,软件需要首先识别字母才能完成分割——死循环。
一部分计算机科学家试图开发出能够识别整体单词——而非字母——的OCR软件以解决这个难题。其在技术层面确实具有可行性,因为计算机并不“关心”其分析的是单词还是字母。但让这类系统实现正常运转却非常困难,因为其需要庞大的记忆库。这些系统需要识别的不再是数十个字母,而是成千上万个常用单词的图像。这意味着需要大量具有中世纪拉丁文专业知识的学者通过旧文件整理出各个单词的图像,且每一单词至少需要数张图片方可解释手写变形或者由照明条件改变引发的其它变化。很明显,这是一项艰巨的任务。
在Codice Ratio项目中,一种新的手写OCR方法成功解决了上述问题。该项目背后的四位主要科学家——罗马第三大学的Paolo Merialdo、Donatella Firmani、Elena Nieddu以及来自梵蒂冈秘密档案馆的Marco Maiorino希望利用拼图分割方法解决塞尔悖论。正如该团队在最近的一篇论文中所阐述,其处理流程不会将单词拆分成字母,而是将其理解为一种单笔笔划。此OCR会将每个单词划分为一系列垂直与水平的条带,再寻找其中的局部最小值(即墨迹较小或像素较少的部分)以完成分割。在此之后,该软件会进一步进行字母绘制,并最终生成以下一系列拼图碎片:
这些拼图碎片本身作用不大,但该软件能够将其通过多种方式组合起来以生成可能的字母。具体来讲,软件只需要知晓哪些组块代表真实的字母,而哪些只是连笔造成的假象即可。
为了教会软件这项能力,研究人员们选择了不同寻常的导师——高中生。该团队在意大利的24所学校当中招募了一批高中生用于建立项目的记忆库。学生们在登录相关网站后,会看到如下图所示的三分屏幕界面:
顶部的绿色栏内包含漂亮、整洁的中世纪拉丁文字母——在图中为字母g。中间的红色栏代表看似g但并非g的易混淆示例,下方网格则为程序主体。每张图片都由OCR软件利用几块拼图组成,并对其内容作出判断。学生们的工作是判断OCR的结论,告诉其哪些猜测正确、哪些猜测错误。学生们需要将每幅图像与柏拉图式的完美绿色字母进行比较,并点击复选框输入自己的结果。
通过一次次点击,学生们努力教授该软件如何识别22个中世纪拉丁字母(a-i,l-u,以及s与d的某些替代形式)。
这套方案的起步阶段需要专家参与,帮助选择完美的绿色字母示例以及红色的混淆示例。但在完成之后,他们就不再需要跟进。事实上,学生们甚至不需要了解拉丁文——他们的工作只是匹配视觉模式。Codice Ratio项目的Merialdo表示,起初人们觉得让高中生参与进来是个愚蠢的主意。然而,现在机器已经开始学习,而且多亏了他们的努力,犈证明了许多人做出的小小简单贡献也能够解决复杂的难题。
当然,最终学生们也不再需要参与其中。当训练进行到一定阶段之后,该软件即可独立拼图,并自行判断字母的具体位置。这,正是人工智能的价值所在。
在另一方面,这也证明单靠拼图碎片还不足以组合出正确的字母。计算机仍然需要额外的帮助才能破解手写文本的秘密。想象一下,大家正在读信,并在其中看到下面这句:
中间的单词到底是“clear”还是“dear”?很难判断,因为“d”与“cl”的笔画构成实际上完全相同。OCR软件也面临着同样的问题,特别是在处理高度风格化的文本时更是如此。以下图为例:
在经过不同的拼图组合之后,OCR认为可能的选项包括aimo、amio、aniio、aiino甚至是aiiiio。但这个词实际上是anno,也就是拉丁语中的年。该软件认准了a和o,但却弄不清中间的四个竖到底该如何划分。
为了解决这个问题,Codice Ratio团队不得不为自己的软件提供一些常识性的知识。他们建立起一套包含150万个经过数字化的拉丁词汇语料库,并对其中的双字母与三字母组合进行了检查。通过这种方式,他们确定了哪些字母组合较为常见,而哪些永远不会出现。通过将这些统计信息提供给OCR软件,其能够了解到不同字符串的具体出现概率,从而意识到nn比iiii的可能性高得多。
随着这样的改进,OCR终于能够自行阅读部分文本了。该团队决定为其提供一些来自梵蒂冈秘密归案馆的资料。这是一份超过18000页的档案集合,其中包括写给欧洲国王的信件、关于法律问题的裁决以及其它信件。
最初的结果有好有坏。在迄今为止的全部转录文本中,有三分之一文档中包含一处或多处拼写错误——意味着OCR作出了错误的判断。然而,该软件仍然带来了高达96%的手写字母判断准确率。Merialdo表示,即使是“不完美的转录结果,亦可提供关于手稿内容及背景的大量有价值信息。”