简介:针对古籍数字化中的竖排、异体字、残损版面等识别难题,本文梳理古文字OCR的核心技术原理、评估指标与工程化应用方法。读者可了解高识别率方案的关键能力,以及如何在不同规模项目中权衡精度、效率与成本。
从事中医古籍研究或历史文献整理的人通常很快会发现,面向现代印刷体的OCR工具在古籍场景中几乎不可用。这种差异并非单纯因为识别引擎“不够聪明”,而是因为古文字识别在输入特征、版面语义和字符空间三个维度上,都与现代OCR存在本质区别。
现代简体中文文本通常涉及数千个高频汉字,而古代文献中的字集规模却高出几个数量级。繁简对应关系、异体字、俗字、避讳字、通假字、合体字等共同构成了一个庞大且不完全标准化的字符空间。以中医古籍为例,“脈”与“脉”、“癥”与“症”、“薑”与“姜”在不同版本中可能交替出现,甚至同一书页内也会混用。
这意味着识别系统不能只完成“图像到字形”的映射,还要具备语境判断能力。例如“反”在某些医籍中表示“返”的通假用法,在另一些语境下则保持本义。如果系统只做静态字表匹配,后续校勘成本会显著上升。
现代OCR隐含假设是文本从左到右、从上到下排列,而古籍常见从右至左的竖排布局。此外还有筒子页、半筒子页、多栏正文、眉批、夹注、旁注、句读圈点等复杂结构。如果版面分析错误,即使单字识别率很高,最终输出的文本顺序也可能是混乱的。
更棘手的是,正文与注释常以不同字号、不同位置混排。一些抄本还存在行间补字、涂抹、印章覆盖等情况。传统基于规则切分的版面分析方法难以稳定处理这些场景,需要具备语义级版面理解能力的模型。
刻本、抄本、稿本、碑拓、简帛等载体差异巨大。刻本可能因刷印次数过多而笔画断裂,抄本可能存在墨迹浓淡不一、字迹潦草、纸张透字等问题。此外,扫描件的倾斜、弯曲、光照不均、虫蛀残损也会进一步降低图像质量。
因此,古文字识别系统需要具备较强的图像预处理与鲁棒性,不能假设输入为干净的、二值化良好的印刷体图像。
业界成熟的古文字识别方案通常不是单一的OCR模型,而是一个由多个环节构成的流水线。理解这些环节,有助于开发者更合理地评估与选型。
预处理阶段的目标是抑制噪声、校正几何形变、增强文字区域与背景的对比度。常见操作包括:
值得强调的是,预处理参数需要根据文献类型动态调整。例如针对竹简图像的增强策略与针对宋刻本的策略差异较大,统一使用某种固定处理流程反而可能造成笔画信息损失。
在复杂版式中,版面分析往往比单字识别更关键。现代方案通常采用深度检测模型识别文本块、栏线、插图与批注区域,再对文本行进行检测与排序。
文本行排序需要结合古籍的阅读方向。对于筒子页,系统需要先识别版心位置,再判断左半页与右半页的阅读顺序;对于多栏夹注页面,则需要区分正文行与注释行,并建立二者的关联关系。输出结果应当保持“先正文、后注释”的结构化文本,而不是简单按物理位置从上到下排列。
字符识别模型负责将文本行图像转换为字符序列。由于古籍字集庞大,模型通常需要支持数万个甚至更多字形类别。在字符识别之后,语言模型用于纠正不合理输出,尤其是通假字、异体字与上下文用字习惯。
一个常见的设计是两阶段结构:识别模型先给出候选字符,语言模型再根据上下文调整。例如“傷寒”与“伤寒”在不同版本中可能并存,语言模型可结合全书用字习惯与章节语境决定最终输出。
后处理包括标点恢复、异体字规范化、校勘符号生成、版面结构回标等步骤。对于研究者而言,有价值的结果不仅是一段纯文本,还应该保留字符在原始页面中的位置、所属栏位、正文字或注释字等信息。这样后续进行版本比对、文本标注或数据库建设时才具备可追溯性。
以下为一个示意性结构化输出:
{"page": 12,"layout": "筒子页","blocks": [{"type": "正文","order": 1,"lines": ["太陽之為病,脈浮,頭項強痛而惡寒"],"chars": [{"char": "脈", "bbox": [120, 34, 140, 68], "alias": "脉"}]},{"type": "夹注","order": 2,"lines": ["脈,血理分袤行體中者"]}]}
这类结构化输出既方便人工复核,也为下游数据管道提供标准接口。
识别率是衡量系统能力的重要指标,但单纯看一个百分比数字容易产生误判。实际项目评估中需要关注以下几个维度。
即使单字识别率达到95%,在每页500字的情况下,平均每页仍有约25个字需要人工核对。如果整页文本顺序出现错误,哪怕只有一个栏位顺序颠倒,人工修正成本也远高于单字错误。因此整页文本的可用率,即无需人工干预即可进入下一环节的页数比例,往往更具参考价值。
部分系统将异体字按标准字形转写后统计准确率,这种口径更倾向于最终可用性。而另一些系统严格按原字形识别,可能降低统计分数,但更符合文献原貌保留需求。评估时需要明确统计口径,否则不同系统之间的数字不具备直接可比性。
规范刻本的识别率通常显著高于潦草抄本,这并不代表系统能力不稳定,而是输入难度本身不同。因此建议在项目启动前,选取目标文献中有代表性的样本页构建小型测试集,进行针对性评估,而非依赖公开资料中的平均数字。
对于高校研究团队或企业数字化部门而言,选择古文字识别方案时不应局限于单个工具的演示效果,而应将其放入完整的数据生产链路中考虑。
建议从目标文献中抽取50至100页,涵盖不同版面类型、清晰度与字体风格,作为评估基准。这样既能验证系统对目标文献的适配度,也能为后续模型微调或规则调整提供依据。
识别结果通常仍需人工校对。一个高效的复核界面可以大幅降低整体成本。例如高置信度字符可以快速通过,低置信度字符需要高亮显示,疑似错位行需要人工确认。识别系统若能输出置信度信息,对复核效率提升十分关键。
建议在数据管道中保留文本坐标与原始图像之间的映射关系。当后续发现识别错误时,可以快速回到原图核实,也有助于持续积累标注数据,优化系统表现。
在技术选型时,建议关注以下通用能力,而非某一项孤立指标:
古籍数字化是一项长期工作,真正高效的方案应当是在识别精度、结构化能力、复核效率与系统集成度之间取得平衡。技术在持续演进,但其核心目标始终清晰:让不可检索的历史文本转化为可计算、可分析、可传承的数字资源。