简介:甲骨文识别长期面临单字难辨、资料分散、重复比对耗时等挑战。本文从技术实现角度拆解一套面向古文字的智能识别与知识检索方法,说明图像预处理、字形匹配、释义溯源、拓片校重等环节的设计思路。读者可了解AI如何辅助研究者减少重复劳动,并为构建类似古文字或特殊符号识别系统提供可借鉴的工程路径。
甲骨文主要通行于商周时期,距今超过三千年,是目前已知中国最早的成熟文字系统。百年考古发掘中累计出土约十六万片甲骨,包含单字约四五千个。然而,经过历代语言学家长期考释,能够获得公认释义的单字仅约一千五百个,占比不足三分之一。
这一现象背后存在多重技术性困难:
针对上述问题,行业内逐步形成“图像预处理—字形特征提取—候选匹配—知识关联—人工复核”的辅助研究范式。其目标不是取代专家,而是把机械性、重复性的查找比对工作交给系统完成。
甲骨图片的来源差异极大:有些是高清数码照片,有些是早年拓片扫描件,还有相当数量的摹本。预处理阶段通常包含以下步骤:
识别模型的核心是从单字图像中提取稳健的特征表示。早期的模板匹配方法直接计算像素级相似度,对位置偏移和笔画粗细敏感;后来引入的手工特征描述子在一定程度上改善了旋转与尺度适应问题,但泛化能力仍然有限。
当前更为主流的技术路线是使用深度卷积网络或视觉变换器学习字形嵌入。关键思路不是直接输出“这个字是什么”,而是输出一个高维向量,使得属于同一字的多种异构体在向量空间中距离较近,不同字之间距离较远。这本质上是一个度量学习问题。
训练数据构建时,通常以已释读的标准字形为锚点,将不同拓片中的变体作为正样本,将字形相近但字义不同的其他单字作为负样本。通过三元组损失或对比损失优化模型,使模型学会忽略非关键差异,聚焦于决定字义的结构性特征。
待识别图像经过特征提取后,需要与标准字库中的候选字进行比对。常用做法是计算查询向量与所有候选向量的余弦相似度,并返回排名前若干位的结果。
这一环节的设计原则是“宁多勿漏”:由于甲骨文考释本身存在不确定性,系统不应只给出唯一答案,而应给出带相似度分数的候选列表,并标注视觉相近字以供专家判断。例如“门”字与若干形近字之间可能只差一个横画或框部方向,仅凭自动识别难以完全确定,必须保留多种可能。
下述伪代码展示了候选匹配的基本流程:
def match_oracle_char(query_embedding, standard_library, top_k=5):scores = []for char_id, ref_embedding in standard_library.items():sim = cosine_similarity(query_embedding, ref_embedding)scores.append((char_id, sim))scores.sort(key=lambda x: x[1], reverse=True)return scores[:top_k]
该流程并不替代人工定名,而是把专家从逐片翻查拓片集的劳动中解放出来,直接聚焦于少数高概率候选。
识别出单字后,系统还需要回答三个问题:这个字怎么解释?有哪些已有考释观点?它在哪些甲骨和文献中出现过?
古文字释义并非简单的一对一映射。一个字在不同卜辞语境中可能承担不同功能,例如假借、转注、专名等。因此知识库不能只存储“某字=某义”,而应保留多义项结构。每个义项下需要标注:释义来源、提出者、年代、文献出处,以及该义项在具体辞例中的用法。
当用户检索某个字时,系统应能在甲骨著录数据库中找到该字出现的所有记录,并跳转至对应拓片影像。传统人工检索需要通读多种著录索引,而数字化索引能够显著压缩这一过程。关键在于建立“单字—词条—拓片号—影像文件”的关联链路,并支持反向查询。
同一字的考释常常存在分歧。系统需要以时间线或主题聚类方式呈现不同学者的观点摘要,便于研究者快速掌握学术史脉络。例如某字的释读可能经历“初释—修正—否定—再释”的过程,这些变化背后往往对应新材料的发现或研究方法的演进。
甲骨拓片流传过程中常出现同一片甲骨被不同年代、不同机构多次拓印的情况。同一实物可能在不同著录中被赋予不同编号,造成“重片”问题。此外,同一字形的近似构件可能出现在不同甲骨上,研究者有时也需要查找“形近片”进行对比。
传统校重工作高度依赖研究者的记忆与经验。一篇著录收录数千片图像,人工查出两片是否为同一实物,需要长时间目验比对。据相关研究实践经验,单个专题的全面校重可能耗时数月甚至数年。
基于图像检索的校重系统将每片拓片转换为全局特征描述向量。与单字识别不同,整片匹配更关注整体版式、布局疏密、断裂轮廓等宏观特征。常用技术包括卷积网络提取特征图后做全局池化,或者使用局部特征聚合方法形成紧凑表示。
当用户上传一张新的拓片图像时,系统在库中检索近邻结果,返回相似度排名。若两片拓片确为同一实物,其整体特征距离通常会显著小于不同实物的任意两片。对于形近但非同一实物的结果,系统会给出中等相似度,供研究者人工查阅。
这一功能具有实际工程价值:过去需要数年的工作,在完整数据库和对齐良好的特征表示基础上,可能在较短时间窗口内完成初筛。但需要注意,自动校重结果不能作为最终学术结论,系统返回的候选对仍需经专家确认。
一个完整的甲骨文辅助研究系统通常由四层组成:
| 层级 | 功能 | 关键设计 |
|---|---|---|
| 输入层 | 图像上传、单字切分 | 支持多种图像格式,提供手动框选辅助 |
| 识别层 | 字形特征提取、候选匹配 | 度量学习模型,输出候选列表面非唯一答案 |
| 知识层 | 释义、文献、观点关联 | 字—辞例—拓片—文献多级索引 |
| 交互层 | 结果展示、人工复核入口 | 可视化相似度排序,保留专家判断空间 |
系统对外通常以网页或轻量级应用形式开放,面向专业研究者与公众同时提供服务。对于专业用户,重点是减少翻检与比对时间;对于非专业用户,则是降低接触古文字的认知门槛。
已释读单字仅千余,每个字的实例图像又可能只有数十至数百张。这种规模对于从头训练一个高精度分类器来说并不充裕。实际工程中通常采用以下策略:
识别系统在任何场景下都不应给出绝对化判断。一个稳健的系统应做到:
这些设计不仅是产品层面的考量,更符合古文字研究对严谨性的要求——错误释读一旦进入知识库,可能沿后续引用链条扩散,造成较大负面后果。
随着新考释成果不断发表,系统知识层必须具备可更新能力。字义条目、出处索引、释读观点都应支持增量维护,而不是固定不变的静态字典。较好的做法是将知识层与识别层解耦,使更新知识条目时不需重新训练识别模型。
甲骨文智能识别属于典型的“小样本、强领域知识、高严谨性要求”的视觉理解任务。类似场景还包括:青铜器铭文识别、简帛文字整理、石刻碑文处理、少数民族古文字研究,以及具有大量历史变体的特殊符号系统。
构建这类系统的通用原则可以归纳为:
古文字识别不是简单的OCR问题。它需要在图像理解、文字学知识和学术严谨性之间建立平衡。真正有效的系统不只是提高速度,而是让研究者的注意力能够更集中地投向真正需要人类智慧解决的疑难问题上。这种“人机协作”模式,恰恰代表了古文字研究数字化较为务实的发展方向。