基于深度学习的文献数字资源智能分类标引研究*
2023-11-09沈立力
王 静 姜 鹏 沈立力
(上海图书馆上海科学技术情报研究所 上海 200031)
1 引言
随着新技术的飞速发展以及图书馆社会功能的不断演变,图书馆文献数字资源的加工模式、知识组织模式和知识服式模式都面临来自数字馆藏和专业读者需求等多方面的挑战。文献数字资源分类标引是图书馆很重要的基础业务工作,也是所有知识组织和知识服务工作的根基。与人工标引相比,智能分类标引具有处理能力强、一致性好、处理速度快、稳定性好、成本低等优点,但标引的准确度不如人工标引。近年来,随着人工智能技术的蓬勃发展,文献自动分类由基于规则的分类转向基于机器学习的分类[1]。
图书馆文献数字资源分类标引核心分类法采用《中国图书馆分类法》(以下简称《中图法》),国内几大文献数据库, 如中国知网、万方、维普,其分类标引均以《中图法》为依据,且《中图法》网络信息分类的可行性得到了大多数专家的认同[2]。《全国报刊索引》社科、科技期刊文献分类一直采用《中图法》作为分类依据。《中图法》分类体系涉及社会科学、自然科学方面22 个大类,4 万余子类,类目广。面对如此庞杂的类目体系,对内容复杂、形式多样、爆炸式增长的文献进行准确分类标引,迫切需要一套智能化分类标引系统对馆藏文献进行实时知识组织。以《全国报刊索引现刊索引数据库》为例,受标引人员及现有分类标引系统分准率低、词库的迭代更新慢等限制,仅能对篇名库的数据进行分类标引,年更新量50 余万条。
深度学习最明显的一个特点是需要大量的训练数据,截止2020 年底,《全国报刊索引现刊索引数据库》已积累了2 千余万条高质量的规范数据,且社科文献的回溯时间长,这些数据为深度学习提供了高质量的学习素材,为智能分类标引系统打下了良好的数据基础。因此,研究并构建基于深度学习的智能分类标引系统,并对文献数字资源进行正确的分类标引,提高分类准确率和效率,以期降低文献分类标引过程中的人工成本,是当前文献数字资源分类标引工作亟需解决的问题之一。
2 国内外研究现状
2.1 传统的机器学习分类
传统的机器学习分类方法包括朴素贝叶斯法(Naive Bayes,NB)、决策树法(Decision Tree)、支持向量机(Support Vector Machine,SVM)、K最近邻法(k-Nearest Neighbor,KNN)等[3];吴皋认为传统朴素贝叶斯算法属于浅层学习,其特征独立性假设易引起分类效果欠佳的问题[4];孔洁提出基于文本的特征词向量,原先多采用机器学习算法,如朴素贝叶斯分类器及支持向量机、随机森林算法等等,但是上述文本分类算法都存在一定的局限性,文本特征的选取比较随意、语义信息不足及特征稀疏等问题使得传统算法难以取得良好的效果[5];刘敬学等认为由于图书馆文献数字资源有着分类类目数量多、各分类类目数据量不均衡等特点,采用朴素贝叶斯(NB)和支持向量机(SVM)等传统的文本分类方法,直接进行分类,分类效果不佳[6]。
2.2 基于深度学习的分类
智能分类技术从最早基于专家规则的方式,逐步发展到基于统计的方式,但受限于传统机器学习文本分类系统存在的特征表达能力弱,分类模型处理复杂问题能力受限等因素,深度学习技术成为主流。2006 年,Hinton 等正式提出深度学习的概念,通过无监督的学习方法逐层训练算法,再使用有监督的反向传播算法进行调优[7]。Hochreiter 等提出的长短期记忆网络[8](Long Short-Term Memory,LSTM),与卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等成为深度学习重要的研究方向。
近年来,越来越多的学术研究利用深度学习方法对文献进行分类,深度学习方法将人工选取特征的过程,转化为通过数据自动学习特征的通用的学习过程,同时通过优化训练模型的参数,提高效率和精度,避免了人工选取特征的主观性和偶然性[9]。目前,基于深度学习的自动分类研究中,主要有:Kim[10]、郭利敏[1]基于卷积神经网络的文献自动分类研究,构建了基于题名、关键词的多层次卷积神经网络模型,通过TensorFlow平台上的深度学习模型,以《全国报刊索引》的自动分类问题作为实验对象,对170 万余条题录数据进行训练和测试,在实验室环境下实现了下一级分类准确率为75.39%,四级准确率为57.61%;邓三鸿等[11]则基于LSTM 模型的中文图书进行了主题分类,对题名、主题词等字段组成的字符串进行学习以训练模型,并采用构建多个二元分类器的方法解决多标签分类问题,选择3 所高校5 个类别的书目数据进行实验,但数据仅涉及中图分类法5 个类别,考虑的分类粒度较粗等;王莹[12]、朱肖颖等[13]分别训练了基于LSTM 模型的文本主题分类模型,对新闻的主题进行分类,马建红等[14]则将该模型用于专利分类,都属于主题分类;谢红玲等[15]则使用循环神经网络(RNN)和长短时记忆网络模型(LSTM)的深度学习模型分别对科技去停用词和不去停用词的科技文献数据进行分类比较,发现三个模型对去停用词科技文献分类效果结果,且三个深度学习模型中长短时记忆网络模型(LSTM)的分类效果最好。因此,尽管国内有很多从事基于深度学习的文本分类方面的研究,但大多为实验阶段或者针对较少类目的(类目数量小于1 000个)分类场景,真正针对整个《中图法》类目的分类研究,且应用效果较满意的智能标引系统几乎没有。
2.3 基于BERT 模型的文献分类研究
BERT(Bidirectional Encoder Representations from Transformers)是谷歌公司在2018 年10 月发布的一种基于深度学习的新的语言表示模型[16],通过预训练(Pre-training)和微调(Fineturning)两个过程来完成自然语言处理任务,是目前业界最为先进的自然语言处理(NLP)模型。BERT 模型有两个版本,分别是Base 版和Large版,BERT-Base-Chinese 是它的中文预训练模型。为了进一步提升模型的表征能力,团队通过对各个模型进行实验对比后确认了相对于之前的其他NLP 领域常用的计算模型,BERT 目前有着更为出色的性能,免去了人工特征提取的过程,整个神经网络具备了特征抽取的能力。基于BERT 可以更好的利用词序的特征, 而传统的分类方法无法考虑这点,随着样本的增加和网络深度的增加, 深度学习的分类精度会更高。
由于BERT 模型在十多个自然语言理解任务中全部取得了最佳模型准确率[17],是NLP 领域近期最重要的进展。但其在中文文献自动分类领域的应用仍属于探索阶段。胡春涛等[18]使用迁移学习策略将该模型应用于舆情文本分类任务。赵旸等[19]基于BERT 模型的中文医学文献分类研究,得出基于BERT 的深度学习方法在多类别大规模训练集下更能体现其分类的优越性。罗鹏程等[20]通过构建基于BERT 和ERNIE 的文献学科分类模型,在21 个人文社科一级学科近10 万条期刊文献数据集上进行实验验证,并与传统机器学习方法进行对比分析,得出基于深度预训练语言模型的方法效果最好。从现有研究中不难看出,基于BERT 模型的分类多侧重于新闻文本、专利、事故等多标签的主题分类,无法兼顾分类的深度和广度,且预训练模型多以百科等公共语料为主,除在中文医学文献分类中的研究外,缺乏在实际文献分类标引工作中的应用研究。
3 基于深度学习的文献数字资源自动分类
3.1 训练语料及测试样本的选择
从《全国报刊索引》篇名库中抽取F(经济)大类2008 年-2018 年共10 年的历史数据74万余条作为训练数据,对数据进行清洗,确保所有分类号均采用中图法第五版。此外,随机选取2019 年篇名库中F 大类的数据3 001 条作为测试数据。本文选取题名+关键词+摘要作为模型训练的训练输入, 文献对应的中图法分类号作为模型的输出,基于深度学习的文献分类标引系统由模型预训练和模型预测两部分组成。其中,模型预训练是通过对训练集中已标引的文献分类的结果搭建深度学习模型并进行数据训练,包括数据预处理和机器学习两部分;模型预测则是对测试集中的文献进行分类结果预测。
3.2 数据预处理
由于深度学习的准确率受训练数据影响较大,因此,数据预处理尤为关键,分词是自然语言处理中处于底层并且非常重要的一环。首先,采用北大开源分词工具pkuseg 对训练集中的数据进行分词,通过对题名、关键词、摘要中的单个中文短句进行切分,并且去除停用词。其次,由于样本不平衡,数据预处理时,对于大样本欠采样,使用随机删除一些样本;对于小样本过采样SMOTE 算法对样本进行扩充,目前对源码进行修改后,只能获取BERT 字/词向量,这里SMOTE 为了增加小样本数量,应对句向量(BERT句向量为768 维度)进行SMOTE,接下来将进一步修改源码,获取句向量后用SMOTE 进行扩充样本。
3.3 基于ERT-Base 模型的文献分类设计
BERT 团队发布的中文预训练模型(BERTBase-Chinese)可以实现中文文献的分类任务[19],基于BERT-Base 模型的文献分类基本思路是将已分好类的文献题、关键词、摘要经切词后构成二维词向量作为模型的输入,分类号作为输出。首先,将74 万条数据作为预训练语料进行预训练,预训练的文本最大长度设置为128,持续500 000 个步骤,其余参数保持不变,再进行微调过程的训练,同样经过参数的调整,设置微调参数如下:批训练大小(train_batch_size)为32;批预测大小(predict_batch_size)为32;学习率(learning_rate)为3e-5。通过训练后, 对新的文献分类进行预测。本项目在Java 环境下开发,采用NVIDIA TESLA V100-32G 显卡、Pytorch 1.4、Python 3.8 进行开发工作。采用BERT-Base训练模型,该模型包含12 层Transformers,其隐藏维度为768,Head 数量为12。而对于标签编码层,标签嵌入维度为256,LSTM 隐藏层维度为768。同时,采用Dropout 正则化技术防止过拟合问题,其Dropout 概率为0.5。
3.4 对比基准实验
为了测试BERT-Base 模型在文献分类上的表现,并验证其在文献数字资源智能分类中的性能优于传统机器学习方法,笔者选取了贝叶斯算法(Bayes)、Text-CNN 算法[21]、对抗训练算法[22]、IndRNN 算法[23]等进行对比测试,对F 大类数据进行分类训练和预测,分类深度设定为四级。因为四级的分类深度可以满足网络环境下对中文文献资源的知识组织的需求,同时兼顾文献的查全率和查准率[24],6 种算法的四级准确率(以输出的第一个分类号为准)如表1 所示。
表1 6 种算法在经济类文献的分类准确率
由此可知,基于BERT-Base 模型的分类准确率最高,达79%。对6 种算法的分类结果进行分析后,发现BERT-Base 模型中分类结果中分类准确的数据以及分类错误的数据均相对集中,区分度较高,有利于我们进行后续的筛选;此外,由于期刊数据中,各大类数据分布不均衡,且同一个大类下,每个四级类目下的数据呈现非正态分布。以《全国报刊索引》篇名数据为例,尽管每年期刊收录上会有一定的调整,但各大类的数据趋势基本不变,我们调取2017 年的篇名数据50万条,其中,数据量最多的五个大类分别是R 大类、F 大类、G 大类、D 大类和S 大类,如图1所示。此外,对F 大类数据进行单独统计,F2 及F8 对应的数据量占F 大类的50%以上,如表2所示;四级类目中,数据量最多的前10 个分类号如表3 所示。针对少样本数据,BERT 算法在分类方面较其他算法优势明显,即基于BERT-Base模型的深度学习算法能显著提高文献数字资源的分类效果,且在多类目大规模训练集下更能体现其分类的优越性。
图1 《全国报刊索引》(2017年)篇名库各大类数据分布
表2 2017 年F 大类各二级类目及对应数据量
表3 2017 年F 大类中数据量top10 的四级分类号
4 基于《中图法》的一级大类自动分类设计
由于《中图法》类目众多, 《全国报刊索引》篇名数据加工中,将T 大类拆分,TB 等视为一级类目,故一级类目共38 个。由于每个大类分类特征不同,都有其重点和特色,因此,每个大类均需要选取训练数据,并对模型进行训练和分类测试,以此为每个大类设计单独的分类器。因此,在实际工作中,需要先构建一级大类粗分模型,对待机标的数据先划分一级大类,然后再进入各大类分类器。一方面是尽可能的提高分类准确率,为后续分类工作提供保障;另一方面,若模型具有通用性,一级类目模型完善后,后期通过参数调整等方式,各子分类器可复用一级类目模型。从而解决编辑人员紧缺,人工标引效率低等问题。因此,需要先对BERT-Base 模型通用性进行论证。
4.1 BERT-Base 模型通用性论证
由于BERT-Base 模型在F 大类的分类表现较好,为了验证其在其它大类的表现,从《全国报刊索引》篇名库中抽取J 大类(艺术)、TG 大类(金属学与金属工艺)、R 大类(医药、卫生)2008 年-2018 年共10 年的历史数据作为训练数据,数据量分别是13.33 万、9.95 万、77.24 万条,对训练数据清洗,提升训练数据的质量,确保训练集的准确率,并选取2019 年每个大类1-3月份的篇名数据进行测试,测试结果如下表4 所示。
表4 BERT-Base 模型在四个大类的分类准确率
对每个大类的测试结果进行比较和分析,以R 大类为例,对错误数据分析发现有几种情况比较突出:有250 条机器分类结果尚可接受,有190条机器分类结果正确,有49 条数据无法通过题名、关键词和摘要进行分类判断,有10 条数据是训练数据切分前四级时,切分后的分类号不存在从而引起错误。此外,其它错误数据均与R 大类本身的分类特点相关,如某些疾病类目设置保持了文献的相对和部分集中外,疾病一般按病变部位划分,然后进一步区分外科和内科(按治疗手段),中西医和中西药均未能很好区分等。
同时,采用预测概率值作为置信度:F 大类,当阈值为0.999 9 时,准确率为92% ;TG 大类,当阈值为0.998,准确率为 96.4%;J 大类,当阈值为0.998 时,准确率为94.3%;R 大类,当阈值为0.998,准确率为90%。因此,BERT-Base 模型表现均较好,满足通用性要求。本研究拟采用BERT-Base 中文预训练模型,加入分类训练样本对模型进行微调后将该模型用于完成下游的分类任务。
4.2 一级大类分类模型构建及测试
笔者从《全国报刊索引》现刊篇名库中抽取2014 年下半年至2018 年历史数据,共200 余万条,包含题名、关键词、摘要、分类号、刊名等信息,且每条数据所对应的中图分类号均经过人工审核,是已标引的文本内容。由于涉及中图法改版问题,对数据进行清洗,清洗后,训练数据全部采用中图法(第五版),共170 余万。首先,将170万条数据作为预训练语料进行预训练,由于现刊全文OCR 的数据质量有限,训练数据中若加入全文信息会存在一定的干扰,进而影响标引准确性。同时,BERT 模型对特征提取能力较强,在测试BERT-BASE 模型的文献分类准确率时,当预训练的文本最大长度设置为256 时,与最大长度设为128 时的准确率相差无几。因此,预训练的文本最大长度仍设置为128,持续 500 000 个步骤,其余参数保持不变。再进行微调过程的训练,同样经过参数的调整,设置微调参数如下:批训练大小(train_batch_size)为32;批预测大小(predict_batch_size)为32;学习率(learning_rate)为3e-5。通过训练后, 对新的文献分类进行预测。测试数据采用数据为2014 年下半年至2018 年篇名库数据,均为中图法第五版数据,共82 310 条。结果显示,经过数次实验,当训练轮数为5 时,该模型达到最佳实验效果。实验结果如图5 所示。
表5 基于BERT-Base 模型的一级大类分类准确率
基于BERT-BASE 模型的一级大类分类测试总体准确率为90.44%,低于预设标准线95%。但对数据按大类划分,分析各个大类一级大类准确率后发现:准确率较高的前五个类目分别是R(医药、卫生)、F(经济)、I(文学)、G(文化、科学、教育、体育)、J(艺术)。其中,R 大类分类准确率最高,达到97%,其次是F 大类,达到95%,但其余大类均低于95%。一级大类分类准确率达到95%以上方可投入使用,目前的一级大类粗分模型并不能直接投入使用。
对分类错误的数据进行分析,主要有以下原因:分词过于琐碎且存在错误;专业词汇的辨识度差,对国别地名人名的辨识不稳定,语义理解错误;中图法本身存在一些容易混淆的类目、且存在交叉学科,即一条篇名数据可能对应两个或两个以上的分类号,这部分数据占比约10%左右;部分类目训练数据过少,如N、TJ、TF、TL、A 、TV、TK 几个大类,每个大类的占比均在0.5%以下;训练数据本身存在少量错分的情况,这些数据很难再次清洗出来,后期需要针对性进行研究。
5 结语
本文通过对比分析6 种算法对F 大类文献数字资源分类的影响,发现BERT-Base 模型的分类准确率最高,同时,选取R、J、TG 大类进行验证,BERT-Base 模型的分类表现均较好,满足通用性要求。因此,采用BERT-Base 中文预训练模型,构建一级大类分类模型,对模型进行预训练和分类测试,基于BERT-Base 中文预训练模型的一级大类分类测试总体准确率为90.44%。并对测试数据尤其是分类错误数据进行分析,查找模型存在的问题。
通过不断的测试,发现单纯的模型和算法对文献数字资源智能分类标引准确率的提升将会越来越有限,后续将整理各大类人工分类标引强规则,将其纳入模型,进一步对模型进行优化,提高分类标引准确率。并结合期刊分类规律、重点引入期刊类目分布规则,包括强关联期刊分类和中等关联期刊分类,论证引入期刊分类后,是否能够提高分类质量。此外,由于BERT 模型的输入编码长度最大为512[24-25],当预训练的文本长度超过512 时,需要对BERT 模型进行优化和改进,因此,如何有效地将期刊的全文数据纳入分类模型也是今后的研究方向之一。
同时,为了检测模型的效率,后期拟以《全国报刊索引》会议文献标引工作为试点,对智能标引系统实用性、稳定性进行测试并收集反馈信息,定期对系统的训练数据集进行更新,并对各大类数据免检标准的波动跟踪和相关指标数据分析,使系统更加贴近实际工作需要。