基于深度学习的中医古籍缺失文本修复研究

|

盛 威,卢彦杰,刘 伟,胡 为,周 冲

中医古籍是中医药学传承和发展的载体,既具有重要的学术价值,又具有文物价值,中医药古籍文献中所收载的理法、方药、养生保健知识是取之不尽、用之不竭的宝库,具有极高的实用价值[1]。中医古籍反映了中医药学在历史上为中华民族的繁衍昌盛作出的伟大贡献和取得的辉煌成就,更重要的是,它所蕴藏保存下来的民族文化遗产和智慧结晶必将在新的历史时期为人类医药科学事业的发展作出不可估量的贡献[2]。

但中医古籍在长期的流传过程中,不仅遭受自然的侵蚀,也会受到人为的损坏,同时中医专业图书馆的古籍藏书可能由于没有得到很好的保存,即使经过修复,仍存在破损的现象,而且图书馆的书库环境欠佳、保护手段不足都可能导致中医古籍的损坏[3]。因此对中医古籍进行整理和修复是十分必要的,而目前的修复工作主要是由古籍修复专家通过专业手段手动修复,要求其对古汉语和中医古籍有广泛且深入的研究,非常耗时费力。

近年来,深度学习[4]技术快速兴起,在自然语言处理[5]领域已经取得了显著进展,而语言模型[6]作为最早采用神经网络研究自然语言处理问题的技术,可以根据上下文信息自动填充句子或段落中缺失的部分,实现对中医古籍缺失部分的修复。因此,将深度学习技术,特别是语言模型技术应用于中医古籍修复,可以降低中医古籍的修复难度。

运用Python 爬虫技术从公开资源中爬取自秦汉以来的包括《黄帝内经》《金匮要略》《伤寒杂病论》《神农本草经》等经典中医古籍在内的608本中医古籍文本,结合机器校对和人工校对方法对古籍进行整理,并使用Python 语言编写文本清洗、去重、合并脚本,去除文本中多余的HTML 标签、广告等噪音信息,排除重复收集的文本,经过合并最终形成了一个83 032 043 字的全面的、高质量的中医古籍文本语料库。

本文将基于构建的高质量中医古籍文本语料库及语言模型,在经过语料库划分的《黄帝内经》语料库训练集、先秦两汉语料库训练集上分别训练N 元(N-gram)模型、长短期记忆(Long Short-Term Memory,LSTM)模型、双向长短期记忆(Bidirectional LSTM,BiLSTM)模型和稳健优化的BERT 预训练方法(A Robustly Optimized BERT Pre-training Approach,RoBERTa)模型,并在中医古籍文本语料库上单独训练RoBERTa 模型,对比筛选出最优模型,并将筛选出的最优模型运用到文本修复场景中,最终在表现效果最优的RoBERTa 中医古籍模型输出的前10 条预测中,有60.79%的几率可以直接获得正确的缺失内容,80.57%的几率出现正确的预测。

2.1 语言模型

如果将自然语言视为一系列离散标记x1,…,xT,那么语言模型的任务就是要给出一个可以表示任意一个句子或序列出现的概率分布p(x1,…,xT)。利用贝叶斯公式,可以将p(x1,…,xT)分解为[7],也就是给定前面的词,求后面一个词出现的条件概率,这意味着可以将中医古籍缺失文本修复的问题简化为根据缺失内容的上下文信息预测所缺失内容的问题。在模型最终测试阶段,向模型输入一条以“”标记缺字的中医古籍文本,模型将根据“”的上下文信息输出对“”的多个预测。如输入《黄帝内经》中的“岐伯对曰:东方生,风生木,木生酸,酸生肝,肝生筋,筋生心,肝主目。其在天为玄,在人为道,在地为化。”,模型会输出“风”“木”“酸”等多个预测,以及此处的“”可能为“风”“木”“酸”的概率。

常用的语言模型分为以N-gram 模型[8]为代表的传统统计语言模型和以NNLM 模型[9]、LSTM模型[10]为代表的神经网络语言模型,以及由神经网络语言模型发展来的以基于变换器的双向编码器表示技术(Bidirectional Encoder Representation from Transformers,BERT)[11]为代表的预训练语言模型,如生成式预训练模型(Generative Pre-Training,GPT)[12]、RoBERTa 模型[13]、广义自回归预训练语言模型(Generalized autoregressive pretraining for language understanding,XLNet)[14]等一系列模型。其中RoBERTa 模型在BERT 模型的基础上增加了大量训练参数和训练数据,在训练过程中使用更大的单次训练样本,且在语言表征中使用了双字节编码,提高了词汇表征的准确度和任务执行效率[15]。相较于传统的统计语言模型和神经网络语言模型,预训练语言模型在大规模语料的处理上更具优势,预训练提供的模型初始化参数可以使模型在目标任务上有更好的泛化性能和更快的收敛速度,同时在小规模数据上也能避免过拟合现象的发生。虽然预训练语言模型取得了很大成功,但目前大多数预训练模型都是基于大量通用语料训练的,在面对特定领域文本的自然语言处理任务时,其功能的发挥容易受限。由于古代汉语在语法、语义、语用上与现代汉语存在较大差异,即使是面向中文构建的Chinese-BERT 模型,在古汉语处理上也难以达到其在现代汉语通用语料上的性能,直接调用预训练模型预测中医古籍中缺失的文本,并不能取得较好的效果[16]。因此需要构建高质量的中医古籍文本语料库,在中医古籍文本语料库的基础上训练面向中医古籍文本处理的预训练语言模型,最终训练得到的中医古籍预训练模型不仅可以用于中医古籍缺失内容的预测,也可以在微调之后用于中医古籍文本的命名实体识别、关系抽取、文本分类等下游任务。

本文使用PyTorch[17]深度学习框架分别训练N-gram 模型、LSTM 模型和BiLSTM 模型[18],并基于Transformers 预训练模型[19]微调RoBERTa 模型,从而训练出中医古籍修复的最优模型。

2.2 中医古籍修复模型构建

中医古籍缺失文本的修复模型构建流程如图1 所示,主要包括数据收集与预处理、语料库划分、模型训练、模型测试等环节。

图1 中医古籍修复模型实验流程

2.2.1 语料库划分

为了研究语料库的选择对中医古籍修复工作的影响,将中医古籍文本语料库划分为《黄帝内经》语料库、先秦两汉语料库,以及完整的中医古籍文本语料库。在划分完成的3 个语料库的基础上分别对语料库进行分割,将其中的80%作为训练集、20%作为测试集。

2.2.2 模型训练

在划分完成的《黄帝内经》语料库训练集、先秦两汉语料库训练集上分别训练N-gram 模型、LSTM 模型、BiLSTM 模型和RoBERTa 模型,并在中医古籍文本语料库上单独训练RoBERTa 模型。最终训练出了可以用于文本修复的N-gram《黄帝内经》模型和N-gram 先秦两汉模型、LSTM《黄帝内经》模型和LSTM 先秦两汉模型、BiLSTM《黄帝内经》模型和BiLSTM 先秦两汉模型、RoBERTa《黄帝内经》模型和RoBERTa 先秦两汉模型,以及RoBERTa 中医古籍模型。

2.2.3 模型测试

训练完成后,分别在对应的测试集上对训练出的各模型进行测试。测试语料的设置模拟文本修复场景,对古籍文本中的某条语句随机抹去其中的某一个字。图2 为节选出的10 条《黄帝内经》测试语料,一行一条语句,用“”标记每条语句中被随机抹去的字。《黄帝内经》测试集包含1 000 条测试语料,先秦两汉测试集包含2 030 条测试语料,中医古籍测试集包含180 623 条测试语料,各模型将在对应的测试集上对每一条测试语料输出尽可能多的预测。

图2 《黄帝内经》测试语料节选

2.2.4 中医古籍修复模拟

为了评估模型在真实中医古籍文本修复场景的应用效果,以《黄帝内经》为修复对象,在整个中医古籍文本语料库中剔除《黄帝内经》原文及和《黄帝内经》直接相关的古籍,将其命名为中医古籍2.0 语料库,并在这个语料库上训练并寻找最优模型,以《黄帝内经》的文本作为测试语料构建测试集进行测试。表1 为模型对图2 中节选的10 条测试语料的输出结果,如对第一条语料“征其脉不夺其夺者,此久病也”,模型输出“色,0.999891639”、“脉,0.0000349873371305875”和“目,0.0000289914169115945”,即模型预测此处的“”可能为“色”“脉”“目”,同时“色”是真实值的概率高达99.98%。实际情形中,模型会给出至少5 个预测,以及预测为真实值的概率。

表1 模型预测示例

2.2.5 评价指标

模型的评价指标为“hit@k”,即在模型给出的前k 个预测中,正确预测占所有句子的百分比。如果模型输出的正确预测排名越靠前,说明模型的性能越优秀。如表1 中共有10 条语料,模型的预测1 即为真实值,那么hit@1 即为100%。实际情况中,可能在第5 个甚至第10 个预测才会出现真实值,因此本文还会评估hit@5 和hit@10,表示模型前5 个和前10 个预测中出现真实值的输出占测试语料总数的百分比。

表2 和表3 显示了各模型在对应训练集和测试集上的表现。对表2 和表3 的结果进行各模型间的横向对比可以发现,RoBERTa 模型效果最优,BiLSTM 模型优于LSTM 模型,LSTM 模型明显优于N-gram 模型;
对表2 和表3 的结果进行各语料库间的纵向对比可以发现,语料库规模越大,模型的预测效果越优,说明当中医古籍修复专家进行修复工作时,其研究的中医古籍范围越广,程度越深,也就越能推测出中医古籍中缺失的内容,古籍修复工作效果也就越好。

表2 各模型训练集预测效果

表3 各模型测试集预测效果

实验结果证明,深度学习技术对中医古籍的修复工作有很大的帮助,在表现效果最优的RoBERTa中医古籍模型输出的前10 条预测中,可以直接获得正确的缺失内容的几率为60.79%,出现正确预测的几率为80.57%。

经过模型训练和测试,筛选出了用于中医古籍修复的最优模型,即RoBERTa 模型,在剔除《黄帝内经》原文及《黄帝内经》直接相关古籍的中医古籍文本语料库即中医古籍2.0 语料库上重新训练RoBERTa 模型,将其命名为“RoBERTa 中医古籍2.0 模型”,并在《黄帝内经》测试集上进行测试,最终达到了63.36%的hit@1,82.57%的hit@5 和hit@10,即随机在《黄帝内经》中剔除一个字,模型有63.36%的概率在其第一个预测中就给出真实预测,有82.57%的概率在其给出中的前5 个或前10 个预测中出现真实预测。

实验结果显示,RoBERTa 中医古籍2.0 模型的模拟修复效果与模型最终的测试效果相符合,说明了RoBERTa 中医古籍2.0 模型的实用性。在没有专业的中医文本修复专家的帮助下直接去修复一本残损的古籍,模型的预测是无法进行参照对比的,而《黄帝内经》的发行版本被广泛接受认可,因此挑选了《黄帝内经》作为修复对象。

同时,在一些专家已经给出古籍中真实缺字预测的情况下,RoBERTa 中医古籍2.0 模型也能给出和专家相近的预测。如1973 年长沙马王堆出土的《五十二病方》中伤痉第六方为“冶黄芩、甘草相半,即以彘膏财足以煎之。煎之沸,即以布捉之,抒其汁,□傅□”,其中“□”代表缺字,模型对第一个“□”的预测为“以”“勿”“即”,第二个“□”的预测为“之”“讫”“头”,而周一谋先生在《马王堆医书考注》中对第一个“□”也给出了“以”的预测[20],严健民先生在《五十二病方注补译》中对第二个“□”同样给出了“之”的预测[21];
同样于马王堆出土的《足臂十一脉灸经》中臂少阳脉“出中指,循臂上骨下廉,凑耳。其病:产聋,□痛。诸病此物者,皆灸臂少阳之脉”,模型对此处“□”给出的预测为“胁”“耳”“头”“颊”,周一谋先生在《马王堆医书考注》中认为此处的“□”应为“颊”。

实验结果证明了本文构建的RoBERTa 中医古籍2.0 模型对《黄帝内经》的适用性,同时也说明该模型具有推广性,可以用于后续的新出土的残损中医古籍的修复,辅助中医古籍修复专家进行中医古籍修复工作。

中医古籍是中医药学术与文化的重要载体,大量传世中医古籍对回溯学术源流、传承中医学术、深入研究中医药学理论、提高临床疗效有着不可替代的重要价值[22]。因此,在中国特色社会主义新时代背景下,中医药学作为中国古代科学的瑰宝和打开中华文明宝库的钥匙,中医古籍的修复工作具有非凡的历史价值和文化价值。

本文收集了608 本中医古籍文本,并按成书年代、古籍类别对古籍进行了分类,涵盖了自秦汉时期以来的本草、方药、妇幼、医论、伤科、经络、五官、针灸、经络、医案、医经、四诊各类中医古籍,可形成高质量的中医古籍文本语料库;
同时在中医古籍文本语料库的基础上,训练了各语言模型,筛选出了最优的RoBERTa 模型。将RoBERTa模型运用到中医古籍文本修复场景中,RoBERTa模型的训练结果显示,评价指标hit@1 为63.36%,评价指标hit@5 和hit@10 均为82.57%,达到了训练一个中医古籍文本修复模型的预期目标,可为中医古籍修复专家提供参考和支持,而且最终训练出的中医古籍2.0 预训练模型不仅可以用于中医古籍缺失内容的预测,也可以在微调之后用于中医古籍文本的命名实体识别、关系抽取、文本分类等下游任务。

此外,本文也存在有待改进和完善的地方。如对中医古籍文本的收录还可以更加全面一些,同时模型的预测hit@1 的准确率也存在一定的提升空间。表2 显示,将语料库规模从《黄帝内经》语料库扩大到先秦两汉语料库,各模型的预测准确率都得到了约10%的提升,RoBERTa 模型的准确率提升最为明显,而语料库规模从先秦两汉语料库扩大到中医古籍文本语料库,模型的预测准确率也得到了10%左右的提升,说明hit@1 准确率的提升和语料库的质量是相关的。

猜你喜欢黄帝内经古籍语料Instructions for AuthorsDigital Chinese Medicine(2022年2期)2022-11-26Screening influencing factors of blood stasis constitution in traditional Chinese medicineDigital Chinese Medicine(2022年2期)2022-07-02中医古籍“疒”部俗字考辨举隅汉字汉语研究(2021年3期)2021-11-24Network Biological Modeling:A Novel Approach to Interpret the Traditional Chinese Medicine Theory of Exterior-Interior Correlation Between the Lung and Large IntestineDigital Chinese Medicine(2020年4期)2020-12-31关于版本学的问答——《古籍善本》修订重版说明天一阁文丛(2020年0期)2020-11-05Mathematical Analysis of the Meridian System in Traditional Chinese MedicineDigital Chinese Medicine(2020年3期)2020-11-03关于古籍保护人才培养的若干思考天一阁文丛(2018年0期)2018-11-29我是古籍修复师金桥(2017年5期)2017-07-05基于语料调查的“连……都(也)……”出现的语义背景分析海外华文教育(2016年1期)2017-01-20《苗防备览》中的湘西语料民族古籍研究(2014年0期)2014-10-27

推荐访问:缺失 古籍 修复