查看原文
其他

对撞机 | CBDB开发者告诉你,他们是怎么妙用MARKUS的!

徐力恒、王宏甦 零壹Lab 2022-10-08


徐力恒,牛津大学博士、讲师,哈佛大学CBDB博士后,负责CBDB项目的全球推广和研究,未来半年将在国内推广CBDB和数字人文研究。


王宏甦,上海大学硕士,数字人文研究者,现任CBDB项目主管。


 中国历代人物传记资料库(CBDB)是一个关系型资料库,其内容免费开放供学术研究使用。在哈佛、北大和中研院的主持下,目前库内共收录约37万人的传记资料,数量在迅速增长中。这些人物主要来自唐代到清代的历史。在扩充资料库中传记资料的过程里,我们利用了 “码库思”(MARKUS)工具来标记历史文本,识别历史人物的信息,以便将信息存入资料库中。“码库思”是由荷兰莱顿大学(Leiden University)魏希德(Hilde De Weerdt)教授与何浩洋博士研发的线上古典文献阅读、分析工具。有了它,用户无须切换页面,就可在阅读时轻松地查询历史人物、地名和各种关键词,其中数据不少来自CBDB长年累积的海量资料。它还提供了标记功能,标记后的文献可以转化为电脑能进行分析的资料,一般文本变成一个资料库,进行各式各样的数字人文研究。


从CBDB项目的角度看,MARKUS的标记功是我们处理史料文本,标记人物信息的利器。自2015年起,我们已经提取并标记了《唐代墓志汇编》和《唐代墓志汇编续集》的五千余篇墓志铭,以及《宋会要辑稿》中历史人物的姓名及其担任的官职。在处理唐式墓志铭的工作中,我们使用正则表达式(regular expressions)批量标记这些墓志铭中提到的人名和官名。正则表达式是一些简单的编程,帮助我们从全文数据中提取具有相对固定写法的信息。我们在标记完之后,往往不断调整这些表达式,以减少由于文本中表达的不规则而导致的错误,用以把错误率稳定在一个可控制的范围内。


然后,我们的项目同事将经过标记的文本加载到“码库思”上,并使用它来进一步检查人物的姓名和官名是否被准确标记。每位负责这方面工作的同事都会分配到一些墓志铭文本——这个时候,“码库思”的批量上传功能就大派用场,可以方便我们加载所有需要处理的墓志铭。此外,“码库思”还允许批量下载数据,所以我们保存、备份文件时不用一个个地单独下载。完成上述的检查工作之后,助手使用定制的Python程序提取需要处理的墓志铭上出现的所有人名,为这些人名创建临时ID,并利用“码库思”搭建起这些人名和临时ID之间的联系。这项步骤非常重要,因为必须经过这一步我们才能获取相关历史人物的姓名及其职官信息两者的搭配,并将这些资料纳入CBDB之中。



为每个官名加上人物的ID,藉此连接职官(紫色)和人名(红色)之间联系


至于在处理《宋会要辑稿》的工作中,我们执行的方案是大致类似的,但有以下两方面区别。首先,台大开发的“《宋会要辑稿》资料探勘系统”提供了一个可用于在线分析和标记的平台,而我们使用的《宋会要辑稿》文本就源于该平台发布的XML格式的文件。这些文件已经包含一些关键词的属性,不只是纯文本。不过,由于台大系统使用的标记格式与“码库思”能识别的格式完全不同,我们因而开发了一套Python程序,以转换标记格式来适应“码库思”的标准。


台大《宋会要辑稿》资料勘探系统的文件检索功能


台大《宋会要辑稿》资料勘探系统的词频分析、关键词分布分析等


其次,《宋会要辑稿》所提到的人物远远多于我们处理的唐代墓志铭,所以我们设计了一套比较智能的程序来处理。这套程序能够在我们输入一定量的培训数据(training data)后,确定特定人名和官名之间是否存在联系的可能性,并给出一个估量。在这个人工智能系统中,我们规定了一些模式,用以识别《宋会要辑稿》文本中任意一个段落出现的官名和人名之间的联系。例如,如果在一个段落的开头有一个官名,而该官名后紧接着一串人物的姓名,那么这很可能意味着这个官名是分别对应它后面的每个人名的。我们已经意识到这种规律普遍适用于《宋会要辑稿》文本中的许多段落,并做过复查。通过识别这种规律,我们将这些记录中出现的历史人物名称与官名联系起来。当这些培训数据生成出来之后,我们将发送给开发“码库思”的团队,以进一步提高“码库思”的机器学习功能。

 

因此,CBDB除了提供数据作为MARKUS的后台支撑,还以上述方式利用了MARKUS的标记和其他功能来丰富自身的历史数据,通过这两个项目的合作加强数字人文的开发工作。我们坚信,这种跨项目的数据联系和合作是大势所趋,也非常欢迎不同项目跟我们合作。


后台中检视台大《宋会要辑稿》资料勘探系统的标记格式


(本文以笔者在码库思研究博客发表的文章为基础,原文出处见原文链接。译成中文初稿的过程中得到哈佛大学黄嘉雯的帮助,谨此致谢!)



相关链接






















  • 码库思MARKUS平台:http://dh.chinese-empires.eu/beta/


  • 码库思视频教程:http://dh.chinese-empires.eu/beta/video.html


  • 码库思博客和论坛:http://dh.chinese-empires.eu/forum/


  • 澎湃访谈《魏希德:如何将数位人文工具Markus用于历史研究》:http://www.thepaper.cn/newsDetail_forward_1611410


  • 码库思微博:http://www.weibo.com/u/5822830227


  • CBDB网站:http://projects.iq.harvard.edu/chinesecbdb


  • 台大《宋会要辑稿》资料勘探系统(可免费申请账号):http://thdl.ntu.edu.tw/L303_SongHuiYao/CustomizedHome.php


  • 正则表达式30分钟入门教程:http://deerchao.net/tutorials/regex/regex.htm


转载声明


未经许可,禁止转载零壹Lab所发文章。如需转载,请于显著位置注明出处,并放置清晰零壹Lab二维码。如需长期授权或其他未尽事宜请联系零壹Lab邮箱。零壹Lab保留追究私自转载者法律责任之权利。


零壹Lab邮箱:dh01lab@hotmail.com




END



主编 / 徐力恒

责编 / 陈静 顾佳蕙

美编 / 张家伟



零壹Lab

记录数字媒介之日常

反思科技与人文精神

长按关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存