APP下载

面向数字人文的中国古代典籍词性自动标注研究
——以SikuBERT预训练模型为例*

2022-06-17耿云冬张逸勤王东波

图书馆论坛 2022年6期
关键词:典籍分词古文

耿云冬,张逸勤,刘 欢,王东波

0 引言

“人文计算”(Humanities Computing)或称“数字人文”(Digital Humanities),肇始于1949年[1]。彼时意大利神父罗伯托·布萨(Roberto Busa)借助计算机为神学家阿奎那(Thomas Aquinas)的全集编制中世纪拉丁文字词索引。此后依托计算机技术开展人文社会科学的方法日渐流行,数字人文研究理念也应运而生。作为全新的方法论,数字人文研究的显著特征是基于大规模数字化语料,针对具体的研究对象开展数据化分析,以期揭示语料背后隐藏的规律、趋势,发现新知识。1980年代以来,中国古文典籍文本数字化工作发展迅速,产生了大量的“原生性数字文本”与“再生性数字文本”,前者指从电子设备端直接输入、可便捷共享的数字文本,后者指通过机器扫描转录而成的数字文本[2]。然而,无论是“原生性数字文本”还是“再生性数字文本”,体现的是典籍文本的“数字化”转化成绩,海量的数字化古籍文本仍主要用于检索浏览,更多充当印刷资源或影印资源的替代物,缺乏结构化的知识组织和深度利用[3],距离成为计算对象还很遥远[1]。换言之,面向数字人文研究的深度利用率亟待提升[4]。众所周知,古文典籍的重要性不仅在于它们具备文献学价值,更在于蕴藏的“中国元典精神”[5],借助数字人文研究方法,推进古籍文献由数字化向数据化转变,使其成为可分析、计算的对象,能更加有效揭示与深刻阐述载于古文典籍的元典精神,有效促进其现代转换和现世启迪。近年随着深度学习技术与预训练语言模型创新,如何推进古籍文本的数字化处理向数据化研究纵深发展,进而提升我国数字人文研究水平,为世界数字人文研究发展贡献“中国智慧”,成为时代课题。

基于多年来积累的古籍数字化资源,笔者所在团队以2018年发布的BERT预训练语言模型为基础,面向繁体中文的典籍文本开发了SikuBERT和SikuRoBERTa两个预训练模型,并在自动分词、词性标注、断句、实体识别等各个层面展开了验证,结果表明这两个模型均达到了较高的精度。本文聚焦团队在典籍文本词性自动标注方面所做的探索与成果。从本质上说,词性是一个词在与其他词组合时所显示出来的语法性质。在自然语言处理领域,词性标注则是根据上下文语境信息,构建并运用适当的算法模型,在给定的语篇或句子中判定每个语词的语法范畴,根据其语法作用加注词性标记的过程。然而中国典籍文本中词界模糊,词的兼类现象普遍而灵活。对古文典籍文本中的语词进行切分和标注词性困难较大。但古文典籍文本词性自动标注研究具有重要意义:高精度的词性自动标注有利于更准确地挖掘古文典籍文本中的隐性知识,有利于以语词为粒度开展更具深度的古文应用工作[6],如古汉语词典编纂、古籍跨语翻译、中华元典精神挖掘,从而实现更高效的人文计算研究。

本文旨在呈现SikuBERT模型在16部古文典籍词性标注层面的实验设计及其结果,研究内容主要包括:述评1980年代以来针对古文典籍文本词性自动标注的代表性研究成果;概要介绍SikuBERT预训练语言模型的构建背景;阐述基于SikuBERT预训练语言模型的词性自动标注实验设计及结果分析;展示“SIKU-BERT典籍智能处理系统”的词性自动标注功能设计及应用;对数字人文视阈下的古文典籍文本词性自动标注可以继续拓展的研究方向做出展望。

1 研究现状

词性是词的词类属性,“是一个个具体的词跟名词、动词、形容词……等词类标签之间的映射(指派)关系”[7]。词性自动标注工作就是利用语言学知识和计算机技术标注文本中每个词的词性,也就是确定该词属于名词、动词、形容词还是其他词性的过程。词性自动标注是古文智能处理最基础的工作之一,其准确性会影响信息检索、语法分析、语义分析、机器翻译、语音合成、知识挖掘等后续任务实现的效果。目前,面向汉语文本的词性自动标注方法主要有四种,即基于规则的方法、基于统计模型的方法、融合规则与统计的混合方法以及基于深度学习技术的预训练语言模型方法。这些方法在汉语文本的词性标注工作中都有所应用并不断改进,而且学界对词性标注问题的研究重心近年来也由现代汉语文本逐渐转向古籍文本。

1.1 基于规则的词性自动标注

基于规则的词性自动标注方法始于1970年代,主要得益于英语语料库建设对词性自动标注的探索,其基本理念是:基于语言学的词性/词类①研究成果[8],利用词典手动编制标注规则,然后依据上下文信息,为语词确定适切的词性。在该方法中,“规则知识库”的构造是关键,需要考虑两个基本问题:规则对语言现象的覆盖率和规则处理的正确率[9]。该方法的优势在于可以参考语言学理论研究成果,规则表达清晰,借助语境信息可以实现对语词的词性特征的细致描述,消歧效果较好[10],而且可应用范围较广。然而基于规则的词性自动标注方法其缺陷也较为明显:人工构造规则知识库耗时费力,规则的严宽划分存在较大主观性,规则应用的一致性较弱,机器对规则的自动学习效果较差。从本质上说,基于规则的词性自动标注是“一种确定性的演绎推理方法”[11],这就决定其在自然语言处理中的鲁棒性较弱。

1.2 基于统计模型的词性自动标注

基于统计的词性标注方法得益于经验主义方法在计算语言学研究的广泛应用。该方法的基本理念是:首先制订词性标记集;然后,由人工对一定数量的语料展开词性标记工作;接下来交由计算机学习、统计人工标注的语料,获得相关频率数据(如标记同现频率、语词表现为某一词类的频率);最后基于频率数据,构建统计模型,应用于词性判定任务[12]。在该方法中,基于特征模板的统计模型建构是关键。在不断改进的各种算法模型中,得到比较广泛应用的主要有“隐马尔可夫模型”(Hidden Markov Model)、“最大熵模型”(Maximum Entropy Models)和“条件随机场”(Conditional Random Fields,)3种②。

隐马尔可夫模型是一种面向随机序列数据处理的统计模型,基于该模型的词性自动标注方法通常假设中心词的词性仅与它前面的n个词有关,而与中心词后面的词无关。然而,现实中的情况往往并非如此[13]。为此,研究者针对基于隐马尔可夫模型的词性标注方法做了很多改进。袁里驰提出将马尔可夫族模型与句法分析相结合的方法来进行词性自动标注,实验结果表明,相较于隐马尔可夫模型,马尔可夫族模型的性能更优[14]。

最大熵原理是统计学习的一般原理,其基本理念是:学习概率模型时,在所有可能的概率分布中,熵最大的模型就是最好的模型。换言之,在只掌握关于未知分布的部分知识时,应当选取满足全部已知条件但熵值最大的概率分布[15]。该方法充分利用语词所处的上下文信息,但是也面临着“标签偏见(label bias)”的不足[13]。针对其不足,研究者也在不断改进基于最大熵模型的词性自动标注方法。例如,赵伟等立足汉语语言特点,重视特征提取问题,提出一种新的最大熵模型,采用BLMVM算法和Gaussian prior平滑技术,设计出基于汉语的词和字特征的词性自动标注系统,标注效果较为理想[15]。

条件随机场是一种指数型模型,基本理念是:通过建立概率模型来标注序列数据,使用复杂、有重叠性和非独立的特征展开训练和推理[13]。相较于隐马尔可夫模型和最大熵模型,条件随机场似乎更受自然语言处理研究者的青睐,相关研究成果更多,代表性研究包括:石民等以《左传》文本作为实验语料,提出基于条件随机场的一体化词性标注方法,实验结果表明F值可以达到89.65%[16]。留金腾等针对上古汉语文献《淮南子》语料库构建过程中的自动分词及词性自动标注工作做了探究,尝试使用Domain Adaptation(领域适应)方法,并以一定量来自目标领域的Seed Data(种子数据)为基础,采用条件随机场模型以及特征模板,显著提高了词性自动标注的准确率,最高得到80.81%的准确率[17]。朱晓等以《明史》文本作为实验语料,通过交叉检验方法比较基于条件随机场的“无边图模型”“完全图模型”“嵌套图模型”3种图模型在古汉语词性自动标注中的应用。实验结果表明,完全图模型与嵌套图模型在词性自动标注中的效果更优,并提出分词在一定程度上有助于提升古汉语词性自动标注效率[18]。

相较于基于规则的方法,基于统计的方法优势在于它的全部知识是通过对大规模语料库的参数训练自动得到的,标注结果有较高的一致性和较广的覆盖率,并且可以将一些不确定的知识定量化分析[10]。因此,在面向汉语的自然语言处理领域,基于统计的词性自动标注方法更受青睐,当前应用更广泛。然而,该方法也并非完美无缺:当训练语料达到一定规模后,通过扩大语料规模来提高准确率将变得困难[19],而且特定的统计模型在应用范围上都具有领域性,一旦使用领域发生变换,模型效用度也可能随之减弱[20]。

1.3 基于混合方法的词性自动标注

基于规则的词性标注方法和基于统计的词性标注方法各有优劣,很多研究者在实际应用会对两种方法加以组合,甚至做出更大改进,以建构更加符合汉语特性的词性自动标注方法。例如,周强将规则和统计相结合设计出一种新的软件系统,并对封闭语料和开放语料的词性自动标注展开实验,实验结果表明正确率分别达到96.06%和95.82%[10];张民等引入“置信区间”概念,提出一种统计和规则并举的汉语词性自动标注算法,在未考虑生词和汉语词错误切分的情况下,词性自动标注的准确率分别达到98.9%(封闭测试结果)和98.1%(开放测试结果)[11];王东波等构建包含45个特征在内的组合特征模板,基于条件随机场展开词性自动标注实验,最终F值的均值达到90.40%,验证了组合特征模板在古籍文本词性自动标注中的优势[21]。

1.4 基于深度学习的词性自动标注

深度学习(Deep Learning)使用神经网络模拟人类智能,通常利用大量标记的数据训练计算机执行学习任务,直至训练出一个成熟的模型。2018 年 Devlin 等 提 出 Bidirectional Encoder Representations from Transformers(BERT)[22]深度学习模型,引发学界关注。就本质而言,BERT是自然语言处理领域最底层的语言模型,是一种基于Transformer架构的神经网络,具有强大特征提取能力,通过海量语料预训练,获得序列当前最全面的局部和全局特征表示。张琪等[20]认为,深度学习模型可以自动提取丰富的上下文特征,能够应对传统方法中存在的特征依赖、特征稀疏等问题。他们尝试将BERT引入古汉语分词词性自动标注研究,以经过手工分词并标注词性后得到的25部先秦古籍文本为实验语料,构建分词词性标注一体化模型,未加入任何人工特征的模型词性标注的准确率达到88.97%,该研究还进一步把基于BERT开发的分词词性标注一体化模型应用于未经人工处理的《史记》文本词性自动标注,发现该模型的分词和词性标注效果稳定,实用性较强。该研究为把BERT等深度学习模型应用于古籍文本词性自动标注做了积极探索。

综上而言,现有面向汉语的词性自动标注研究以基于统计方法为主,存在提升空间:一是面向现代汉语语料的探索偏多,面向古文典籍的探索亟待深化;二是以建语料库为导向的词性标注需要转向以服务数字人文研究为目标的词性标注;三是产生于机器学习时代的词性标注方法需要升级到深度学习时代的预训练语言模型方法。随着技术发展以及标注需求的细化,基于深度学习的模型正日益成为该领域的研究热点与发展趋势。

2 SikuBERT模型构建背景

从工作原理看,BERT模型基于自注意力机制对文本进行建模,Transformer强大的特征提取能力使BERT相对于循环神经网络模型具有天然优势。此外,采用双向语言模型可同时提取语词的上下文信息,使语词的表示具有更丰富的语义。BERT的语言数据训练分为两个阶段:预训练(Pre-training)和微调(Fine-tuning)。具体而言,BERT模型在预训练阶段利用Transformer的双向编码器根据上下文双向转换解码,同RNN模型相比,Transformer具有并行化处理功能,为了实现双向理解使用Masked Language Model遮盖部分词语并在训练过程中对这些词语进行预测,以及利用Next Sentence Prediction 方法进行句子级别的表示,使模型学习两个句子之间的关系。预训练阶段之后,基于训练语料对模型进行有监督的微调使其能够应用到各种任务场景中。目前预训练语言模型已在英语和现代汉语文本上极大地提升了文本挖掘的精度。

当前基于BERT预训练模型开发的古籍文本智能处理方法主要包括Google 官方提供的Bert-Base-Chinese、哈工大讯飞联合实验室(HFL)提供的RoBERTa、北京理工大学提供的GuwenBERT。其中,Bert-Base-Chinese和RoBERTa是基于中文维基百科预训练的包含简体与繁体中文的预训练模型,GuwenBERT是基于殆知阁古文文献训练的简体中文预训练模型。相较于殆知阁古文文献,中文维基百科在语法上与典籍文献有较大差异。然而,基于殆知阁古文文献训练的GuwenBERT 却又是基于简体中文的预训练模型。可以预见,在繁体中文的典籍文献命名实体识别中,上述三个预训练模型皆有其优点而又有明显的不足。有鉴于此,南京农业大学信息管理学联合南京师范大学文学院、南京理工大学经济管理学院开发“SIKU-BERT 典籍智能处理系统”。以《四库全书》繁体版本语料为实验数据,基于SikuBERT 预训练模型开展了自动分词、词性自动标注、自动断句、命名实体识别等下游任务实验,实验结果表明,SikuBERT预训练模型的效能较上述三个预训练模型均有不同幅度的提升。下文着重介绍基于SikuBERT模型的词性自动标注实验。

3 实验设计

3.1 数据描述

本研究实验设计利用BERT进行特征提取,使用经过大型语料库预训练的BERT创建语境化的字嵌入,进而作为后续模型的输入。实验数据来源于“中国哲学书电子化计划”网站(https://ctext.org/confucianism/zhs.),站内收录了逾3万部中国历代传世文献,提供中英文版本。针对前人研究多使用单本或同类典籍文本作为语料来源而导致模型普适性较差的不足,文章从该网站爬取16部不同类型的典籍作为实验语料,包括《周易》《周礼》《孝经》《论衡》《孙子兵法》《史记》《商君书》《墨子》《庄子》《公孙龙子》《孟子》《论语》《礼记》《战国策》《尚书》《道德经》。通过人工摘录的方式,以编码、中文句子、英文和典籍名称4个字段存储在Excel 中,样例见图1,构建完成古-英典籍平行语料库。

图1 数据摘录样例

本研究的古文分词标准主要参照南京农业大学领域知识关联中心制订的《南京农业大学古汉语分词与词性标注规范》。该规范以国家标准《汉语信息处理词汇》《现代汉语语料库加工——词语切分与词性标注规范与手册》《南京农业大学领域知识关联研究中心语料标注及校对规范》《南京农业大学古汉语词性标记集(NACP)标准规范》为基础,以信息处理应用为目的,根据古汉语的特点及规律,规定古汉语的分词与词性标注原则。最终语料库中源语言即古文标注后的样例(源自《孟子·梁惠王上》)如下所示:

孟子/nr見/v梁惠王/nr,/w王/nr立/v於/p沼/n上/f,/w 顧/v 鴻雁/n 麋鹿/n,/w 曰/v:/w“/w 賢/n者/r亦/d樂/v此/r乎/y?/w”/w

在数据准备阶段,将已进行分词的语料使用句末终点符如句号、问号等对句子进行切分,并将每一个句子作为一行输入。按照语料断句,以{B,E,I,S}为标记集合,B代表句首字,E代表句尾字,I代表当句子长度大于3时的中间字,S代表单字成句。训练语料摘录样例如表1。

表1 训练语料摘录样例

实验中,以随机的顺序将数据集分为10份,其中9份作为训练集,1份为测试集,并使用十折交叉验证(10-fold cross-validation)方法增大数据集,轮流将十份数据中九份作为训练数据,增强实验准确性,减小误差。预测情况与真实情况之间的混淆矩阵见表2。

表2 混淆矩阵

评价模型分词水平常用评价指标包括3个:精确率P(Precision)、召回率R(Recall)以及调和平均值F1(F1-score)。其中,准确率和召回率分别体现了模型分词的精确程度和全面程度,而调和平均值综合了两者的优点,避免二者差距过大的情况,能更客观评价分词结果,是实验中关键的评价指标,所用3个计算公式如下:

3.2 参数设置

本实验选取的实验工具与环境为Pytorch1.4.0与Python3.7。在实验中,SikuBERT 模型的超参数均调整至最佳状态。表3展示模型在任务环境下最佳状态的主要超参数设置。

表3 实验主要超参数设置

3.3 实验结果分析

根据本次实验十折交叉结果,记录了每组的准确率、召回率和调和平均值作为判断模型性能的标准,如表4所示。

表4 十组数据测验的准确率、召回率和F1值

为便于比较,选择观察结果较为直观的柱状图来反映本次实验模型的总体性能,以十折交叉十组实验组次为横轴,各组的各项指标平均值为纵轴,围绕模型训练结果制成图2。

图2 十折模型指标平均值

通过对十折交叉整体调和平均值的比较分析,可知本实验的词性标签总体预测准确率达89.64%、召回率达90.03%、F1值达89.83%。实验证明,SikuBERT模型的整体效果均比较优越。为进一步分析实验结果,以第六组实验为例(表5),具体分析词性自动标注结果。其中,标签w(标点符号)、y(语气词)、u(助词)、r(代词)、m(数词)、p(介词)、d(副词)的识别准确率均达到90%以上,标签c(连词)、n(普通名词)、v(一般动词)的识别准确率达到88%左右,而由于标签j(兼词)、i(词缀)、q(量词)存在有效识别数量较少的问题,在本文中的研究意义不大,忽略不计。

表5 第六组实验的准确率、召回率和F1值

从上述实验结果可知,SikuBERT模型在古文典籍文本词性自动标注方面取得了较理想的效果。相比传统机器学习模型及常见的深度学习模型,SikuBERT模型在词性自动标注这一下游任务上效果有较大提升,更适应海量规模的典籍任务处理,助推数字人文研究向纵深发展。

4 SIKU-BERT 平台词性自动标注功能设计及应用

基于python语言,使用PyQt5图形界面编程,构建单机版“SIKU-BERT典籍智能处理系统”。该平台1.0版本实现了文本分类、自动分词与词性自动标注、自动断句、实体自动识别等功能,能辅助减少数字人文研究者在文本处理上的消耗。在构建“SIKU-BERT 典籍智能处理系统”(单机版)词性自动标注功能时,首先利用《汉语大词典》的分词文本对SikuBERT的训练集进行扩充,提升模型对非史籍文本分词的准确性;然后,基于分词文本进行词性自动标注。通过对代码的整合,实现单句词性自动标注、单文本文件词性自动标注和多文本文件词性自动标注功能,以适用于不同规模文本的处理。软件中的分词按钮通过PyQt5的信号发送功能与作为槽函数的分词函数相连接,分词函数的参数见表6。

表6 词性标注函数的参数和功能

在以上参数中,inputpath和outputpath用于接受用户输入的待处理文件路径和处理后输出的文件路径,输入文件中每个序列的长度一般控制在512以下,对于单个过长的序列则截断为多个子序列。软件能够以CPU和GPU两种方式运行,从而最大限度地利用计算资源。图3 为“SIKU-BERT典籍智能处理系统”主界面截图,用户单击“单文本模式”和“语料库模式”按钮后即可跳转至词性自动标注界面。

图3 SIKU-BERT古文智能处理平台主界面

在单文本模式下,用户只需在界面左侧“原始文本”导入待处理语料,单击词性标注按钮,系统即可在右侧自动生成古籍文本词性标注结果。如图4所示,选取《史记·陈涉世家》中的部分文本内容作为样例,能看到在右侧的处理结果中,几乎正确地切分所有人名、地名、官职等单字词与双字词,并且对切分的字词标注出相对应的不同词性标签,适用于对一般古籍的处理。

图4 SIKU-BERT古文智能处理平台“单文本模式”词性自动标注示例

当用户需要处理大规模文本时,可选择“语料库模式”进入系统(如图5所示),单击浏览按钮选取待处理文件夹和输出文件夹,再点击词性标注按钮,即可自动调用Siku-BERT词性自动标注模型以实现对批量文本的词性标注任务。

图5 SIKU-BERT古文智能处理平台“语料库模式”词性自动标注示例

为验证SIKU-BERT古文智能处理平台“词性自动标注”功能的实用性,以二十四史文本为语料,在“语料库模式”下做了进一步的词性自动标注及应用分析。限于篇幅,仅展示名词自动标注的频次结果,如表7所示。

表7 SIKU-BERT古文智能处理平台对二十四史文本名词自动标注结果的频次统计

名词的自动标注、统计与分析对还原和理解历史事件的重要性不言而喻。以地名为例,通过频次分析可知哪些地域为兵家必争之地,见图6。

图6 SIKU-BERT古文智能处理平台对二十四史文本地名的自动标注结果频次统计(前10位)

频次排在首位的“河南”非指今日中国的省份,而是多指古代河套以南地区。如《史记·蒙恬列传》载:“秦已並天下,乃使蒙恬將三十萬眾北逐戎狄,收河南。”利用词性自动标注技术,基于频次统计和古籍文本细致比读,可以帮助更好地挖掘和理解历史。而以时间名词为例,通过频次分析,可知历史上权力更迭与事件频发的时间段(如图7所示),从而开展更为深入的史学知识挖掘与分析。

图7 SIKU-BERT古文智能处理平台对二十四史文本时间名词的自动标注结果频次统计(前10位)

从“元年”“二年”“三年”“四年”之类的时间名词可知,王朝更替或权力更迭初期往往发生重要历史事件。更为有趣的是,“七月”“三月”“二月”3个月份也是历史上事件多发时间段,个中规律值得跨学科合作下的深度挖掘。综上可知,词性自动标注作为基础工作对从量化分析角度实现更好的数字人文研究具有重要助益。

5 结论和展望

面向数字人文研究的复杂需求,本文构建SikuBERT预训练模型并针对其在古籍文本词性自动标注方面的效能展开实验,验证了其良好性能,展示了所开发的“SIKU-BERT典籍智能处理系统”词性自动标注功能模块的设计理念及应用。后续研究应扩大作为研究对象的古籍文本数量,进一步检验和提升SikuBERT预训练模型在古汉语词性自动标注中的性能。同时,深入研究与词性密切相关的更多特征项,推进词性自动标注工作向更深层次发展,并与相关学科学者展开合作,推出更具深度的数字人文研究成果。

注释

①在汉语语法研究、辞书编纂等领域,“词类”和“词性”两个术语的异同曾引发不少讨论与争鸣,本文倾向于万众(2020)的观点:“词类”和“词性”实为一个问题的两面,“词类”是就宏观角度而言,针对词的整体,确定类别,而“词类”则是就微观角度而言,针对词的个体,进行归类。自然语言处理领域的词性自动标注本质上就是利用计算机技术实现语词自动归类的问题。详见:万众.词类标注还是词性标注[J].汉字文化,2020(13):118-121.

②其他基于统计的词性自动标注方法还有神经元网络、决策树、线性分离网络标注模型、SVMTool等。限于篇幅,本文不详细展开。

猜你喜欢

典籍分词古文
晚清来华德国人的中医典籍译介及其学术影响
中古文學劄叢之二(五題)
《典籍里的中国》为什么火?
分词在英语教学中的妙用
古文中走出的“超能力者”
结巴分词在词云中的应用
结巴分词在词云中的应用
“瓟斝”与“点犀”新解*——兼论中国典籍中名物词的英译
读《隶定古文疏证》札记
典籍翻译模式的构建与启发