作者简介

笔者于 2015-2019 年间在香港中文大学中国语言及文学专业就读,本科主要聚焦于中国古典文献学、文字学等方向,并偏重目录版本考证的研究,毕业论文由沈培老师指导。硕士期间则于英国爱丁堡大学就读,为期一年,论文由东亚系 Prof. Joachim Gentz(耿幽静教授)指导,对位于爱丁堡的苏格兰国家博物馆所藏 1777 片甲骨进行了一些基础性的整理工作。2021 年进入英国剑桥大学东亚系就读博士,选题为“剑桥图书馆所藏金璋甲骨的整理和研究”,当前导师为李约瑟讲座教授 Prof. Roel Sterckx(胡司德教授)。本网站的发布即是当前博士研究的阶段性成果之一。

可以说,本次网站的发布中间其实了经历较长时间的材料准备和代码编写,笔者自 2020 年暑期开始自学 python、C++及 javascript 等多种编程技术。当时主要的考虑是甲骨文研究领域严重缺乏标准字体库、释文数据库的支持,十分不利于文字的检索和相关考释成果的查询,甚至于在 word 文件输入甲骨文的简单任务都难以完成,整个学科很大程度上仍停留在打字贴图及手动翻检拓片的研究方式,相比于古典文献领域的各种诸如中国经典古籍库、爱如生数据库、书同文数据库等资源的不断发布,甲骨文领域当前的数字化技术水平尚处于十分初级的阶段。尽管当前甲骨学领域也有着汉达文库的支持,也有近十万多条的甲骨释文资料的收录,但是该数据库及其他相似类型的释文库在制作和更新上普遍相当困难,这是由于其基于隶定字码的设计和字形映射的相对固定性,无法解决甲骨无隶定多隶定难隶定的部分,也不能够准确反应当前学界最新的考释成果,故而在准确检索所有相关字形及语料过滤上不具有太大的实用性,这就导致研究者大量的时间仍投入在了各种实体工具书查询和材料反复翻检上,这同时也导致甲骨文学习门槛过高,需要研究者对各种专业工具书的使用和文字的各种考释成果都要十分熟悉,不利用于一般性历史、语言、教育层面研究的进展和其他领域学者对于本学科成果的高效利用。

其实不难看出,阻碍甲骨文研究长足发展的,除了学术研究本身的困难性,还有技术手段的不足。就甲骨文字形库、词汇库、释文库、OCR、NLP 等方面成果不足的问题来说,其根本上的原因都是一样的,而是因为没有合理的甲骨字形处理方案。在当前甲骨字形领域,一个隶定对应多个甲骨字形、多个隶定对应一个甲骨字形、多个隶定对应多个甲骨字形、或者甲骨字形暂无隶定的情况,可以说是占据了甲骨文考释中的绝大部分情况。此外,再加上甲骨字头时有合并、时有分离、时有取消以及相关隶定字不存在汉字 CJK 字集中的情况比比皆是,这最终就导致了长期以来大一统的字形库以及稳定的释文资料库难以建立。因此,甲骨文字体或字库表面上看似是一个平面字体设计的工作,但实际上是一个相当具有学术性、技术性和设计性的难题,其与甲骨文的研究现状和该领域的技术进步也是息息相关的。那么,如何以合理、高效的方法建造可延伸性的全字形库,其学术意义是不容忽视的。故而,从 2021 年起,笔者开始着重研发相关甲骨文字体生成和自动化描绘的技术,经过长时间的反复实验,最终设计出一套能够将手摹线搞转换为高清矢量字形的流程,并以此流程坚持日摹~200-500 个甲骨字形,完成了对李宗焜先生《甲骨文字编》所收录的全部字形的收录。此后还经历了长时间的更正、纠错、补收和隶定字码分配,最终完成了此版收录了 50,000+字形的甲骨文字库,以期能够对甲骨字形的数字化处理提供一些标准化的解决方案。这套字库的制作,相当于一套电子文字编的完成,而与传统文字编不同的是,除了可以进行线上检索和查询外,本字库里的字形样式和隶定分配都可以随时进行更新和修订,比起实体文字编来更具有灵活性和可延伸性。

而本网站的建立,即是为这套镜原甲骨文字库提供相关的字体下载和字形检索平台,并加入一些相关的简单辅助工具和可视化组件,当然未来亦会逐步添加其他方面的研究成果,希望籍此能够为甲骨文研究提供一些新的方法和视角,为甲骨文研究的发展做出一些贡献。

网站说明

镜原甲骨数字平台,名称取自于余嘉锡先生“辨章学术,考镜源流”之语,其原初设计为一个针对甲骨文研究的数字人文项目,旨在通过数字化手段,包括计算机图形处理技术(CV)、自然语言处理(NLP)、深度学习和网页端全栈等技术,对甲骨文研究的一些技术性较强的领域和难题进行系统性的数字整理、分析和研究。项目的全期工程准备分为四部分进行,当前阶段下,项目的主要发展方向是甲骨文字体甲骨文字形库甲骨文输入法等,并加入一些少量的可视化页面,后续会陆续引入更多的功能和对学术资源的统合,具体来说包括:

  • 第一期工程: 甲骨文字库、甲骨文字形数据库、甲骨文智能输入法、甲骨文可视化工具等。这一部分为当前发布的主要内容,主要提供相关字体的下载、所有甲骨字形的快捷检索、快捷输入、辞条补全和组类可视化等功能。
  • 第二期工程: 甲骨考释成果与字形的直接对应、字形考释说明、文字类型标注、甲骨文的自动化 OCR 识别。这一部分为后续发展的侧重点,主要希望依靠人工标注的力量,实现将以往甲骨考释文章与字形的直接对应,添加详细的字形说明和人、地、族、官、事、物等文字标注,以及训练和发布基于深度学习网络的甲骨文的 OCR 识别大模型,这一任务预计会在下一年时间内的陆续完成。
  • 第三期工程: 甲骨释文大数据库的建立。这一部分综合利用当前发布的甲骨文字体、检索功能和智能输入工具,将几个主要甲骨著录的释文进行文字录入和统合,建立支持所有甲骨字形过滤和能够反应学界最新考释成果的大数据库,并添加多功能的释文检索功能。这一任务预计也在未来两年内陆续完成。
  • 第四期工程: 甲骨缀合超大数据库和多功能检索页面的建立。以往缀合相关的网站如殷契文渊的缀合库和复旦大学的缀玉联珠等主要聚焦于已有缀合片号的收录和查询服务,但对于未缀合的、而计算机可辅助缀合的部分,当前还未有很好的解决方案。当前国内外很多机构和个人都已经发布了甲骨缀合相关的算法和模型,但这些一般只适用于小型的数据集,并很大程度上都依靠人工标注。而对于当前已有的 15 万片甲骨,如果想大规模应用计算机缀合,那么就需要遍历 15 万片甲骨间所有的穷举组合,这一过程会产生 150000*149999/2≈112.5 亿次计算。如果某一缀合算法单次比较运行需要 100ms,在单进程计算的情况下仍会需要 35.7 年的时间,而相关结果的存储也会占到数千或数万 TB 的空间。故而,这一部分的工程,不仅需要一些人工标注的力量来限制缀合条件(如组类、材质等),还需要依靠大规模的计算机集群和分布式计算技术,以及大规模的并行计算和存储技术,这一部分的工程预计会在未来三年内陆续完成。

这些功能的实现,所需要的计算机专业技术还是非常之多的,单以前两期工程为例,其工作的完成,从编程语言上来讲用到了 python、C++、Matlab、javascript/typescript、html/css/scss/sass、sql 等技术,从图形处理上用到了 python opencv、numpy、scipy、matplotlib、pillow、pytorch 等库,从网页端全栈技术上需要 django、nodejs、vue、vite、nuxt、tailwindcss、echarts、gsap 等框架,这些语言和框架技术的学习和应用,对于一个非计算机专业的学生来说,是一个非常大的挑战,故而笔者在过去几年间耗费了大量的时间和精力,才能够完成网站的第一期工程的顺利发布。而大量的代码编写和框架技术的应用也意味着随着当前以及未来网站模块的发布,可能出现的技术问题和功能缺陷是不可避免的,故而在此希望广大用户能够理解和支持,同时也欢迎各位对本网站的模块建设提出宝贵的意见和建议。

当然本次网站的发布,也并不仅仅是一个人的成果,在网站建设的后期,还得到了国内外多方面机构和个人的支持和帮助,使得网站的上线成为可能。尤其是安阳师范学院甲骨文信息重点处理实验室和社科院先秦史研究室诸位老师,都对本网站的建设表示了极大的支持,也给出了不少实用的资源和建议,故在此表示特别感谢:

  • 安阳师范学院的刘永革院长、李邦老师、乔雁群老师
  • 安阳师范学院的何晓萍,董高珊,高越,李倩等同学
  • 社科院先秦史研究室的宋镇豪老师、郅晓娜老师、孙亚冰老师
  • 社科院博士研究生王梦薇同学
  • 腾讯 SSV 实验室的王朝阳、惠鹏宇老师
  • 腾讯云及华为云许昌超算中心各位运维老师
  • 剑桥大学图书馆东亚部主任何妍老师、东亚学系的 Prof. Roel Sterckx