基于语义筛选的ALBERT-TextCNN中医文本多标签分类研究

2023-11-22 06:03刘勇杜建强罗计根李清于梦波郑奇民
现代信息科技 2023年19期

刘勇 杜建强 罗计根 李清 于梦波 郑奇民

摘  要:针对中医领域中的大量未标注文本,以及传统多标签分类模型提取的文本语义信息不够完整等问题,提出一种用于中医文本的多标签分类模型语义筛选ALBERT-TextCNN。首先进行特定领域任务自训练,将哮喘领域内属于多标签分类任务但未标注文本输入ALBERT进行预训练任务;其次ALBERT多层的Transform对已标注数据分别进行动态向量化表示,基于语义筛选选取最佳编码层生成的高效文本向量;最后引入TextCNN建立多标签分类器,提取文本向量不同层次的语义信息特征。在中医数据集上验证方法的有效性,实验结果表明,该模型的多标签分类精度有所提高,更适用于中医文本的分类预测。

关键词:多标签分类;中医文本;语义筛选;ALBERT;TextCNN

中图分类号:TP391;TP18 文献标识码:A 文章编号:2096-4706(2023)19-0123-06

Research on Multi-label Classification of TCM Texts Based on Semantic Filtering ALBERT-TextCNN

LIU Yong1, DU Jianqiang1, LUO Jigen1, LI Qing2, YU Mengbo1, ZHENG Qimin1

(1.College of Computer, Jiangxi University of Chinese Medicine, Nanchang  330004, China;

2.Qihuang Chinese Medicine Academy, Jiangxi University of Chinese Medicine, Nanchang  330025, China)

Abstract: The field of TCM contains a large amount of unlabeled texts, and the semantic information of texts extracted by traditional multi-label classification models is not complete. Aiming at this problem, a multi-label classification model for TCM texts based on semantic filtering ALBERT-TextCNN is proposed. Firstly, by the self-training task in a specific field, the unlabeled text in the asthma domain belonging to the multi-label classification task is input to the ALBERT model for the pre-training task. Secondly, ALBERT's multiple Transformer layers perform a dynamic vectorized representation of the annotated data separately, and select the best encoding layer to generate efficient text vectors based on semantic filtering. Finally, TextCNN is introduced to build multi-label classifiers to extract semantic information features of text vectors at different levels. The effectiveness of the method is validated on TCM datasets. The experimental results show that multi-label classification accuracy of the model is improved, and it is more suitable for classification and prediction in TCM texts.

Keywords: multi-label classification; TCM text; semantic filtering; ALBERT; TextCNN

0  引  言

隨着时代发展,以现代科学技术的方法为依托,发展中医现代化的脚步日趋加快。近些年,有研究者利用人工智能技术实现中医诊断决策支持[1]。中医文本中蕴含着古人的医学智慧和宝贵的医疗信息,对中医文本的分类研究具有很大的临床价值。徐传杰[2]针对中医临床疾病诊断任务,使用BERT模型来获得中医症状文本的向量表示,将卷积池化的全局向量融入对局部特征的提取中,最后将所提取到的特征向量经过全连接层以及Softmax函数完成对患者疾病的预测。实验结果表明,该方法具有更好的精度表现;杜琳等[3]提出基于BERT+Bi-LSTM+Attention模型,对中医病历文本进行了提取并分类,AverageF1值达到89.52%;陈广等[4]将关键语义信息和原始文本分别使用CNN进行特征提取与拼接,构建融合病情文本关键语义信息的中医肾病病情文本分类模型,取得了较好的分类效果。

中医理论的核心为辨证论治,证候信息为辨证论治提供依据。中医证候文本类别丰富且内部结构复杂。多标签分类是一个样本与多个类别的标签相关,通过特定的分类器为该样本给定多个标签的分类任务,其应用场景广泛,如5G通信领域的医疗推荐应用[5]——医生推荐系统[6],为患者提供更加人性化的服务;法律领域的判决预测[7];社会媒体领域的用户分析[8]等。因此利用多标签分类技术分析中医文本信息,具有重要的研究价值和现实意义。

多标签分类方法大体分为两类:传统机器学习方法与基于深度学习的方法[9]。传统机器学习方法主要分为问题转换方法和算法自适应方法[10]。问题转换方法是基于一定的策略将多标签问题拆解为多个单标签问题,通过学习每个标签来解决多标签问题[11]。算法适应则是对常用的单标签分类算法进行改进以解决多标签分类问题,如Guo等[12]使用ML-KNN(Multi-Label K-Nearest Neighbor)算法,利用K近邻来处理多标签数据。伴随着深度学习的快速发展,深度学习模型在自然语言处理领域中的应用越来越广泛。文本分类中深度学习取得了不错的效果,Baker等人[13]设计了基于卷积神经网络(Convolutional Neural Networks, CNN)结构的多标签文本分类方法,该方法主要通过初始化模型网络中的最后隐藏层利用标签关系来实现分类,但CNN在捕获前后文的关系时易造成语义的偏差;王进等[14]采用Bi-LSTM作为编码器,使用图嵌入和区域注意力来处理多标签分类任务;Nam等人[15]使用循环神经网络(Recurrent Neural Networks)利用对标签的预测来完成多标签分类,但忽略了文本输入和输出为定长序列,容易造成信息丢失。

本文将中医证候预测转为多标签分类问题,参考《中医诊断学》与《中医基础理论》等中医书籍在专家的指导下将证候结论划分为由病因组成的标签集,例如证候语句:表有风湿,里有痰湿瘀血夹热,其病机为“痰饮凝聚/湿浊困阻”。将包含病机的标签集与四诊、主诉、自诉等诊断信息相匹配构成结构化的数据集,使用其进行多标签分类任务。

中医文本含有大量中医领域术语,上下文词语关联性较强且含有表述严谨和富有辩证思维的古文,专业性较高,因此直接使用预训练语言模型易造成文本表征不足和语义理解不深的问题,本文提出一种基于语义筛选ALBERT-TextCNN的中医文本多标签分类模型。该模型利用特定领域[16]中未标注的多标签分类任务文本在ALBERT模型上进行任务自训练(Curated-TAPA),之后利用该模型对标注的中医文本数据进行动态的特征向量表示,选取最佳的Transformer语义编码层所生成的文本向量输出到TextCNN模型作为其输入,进一步提取文本向量的语义信息特征,提升分类算法应用在中医领域的精确性。

1  基于语义筛选的中医文本分类模型

1.1  ALBERT预训练语言模型

ALBERT模型的开发基于BERT[17](Bidirectional Encoder Representations from Transformers),是一款实现了参数减少、训练速度加快的轻量化模型。为了让ALBERT预训练语言模型能更好地适用于特定文本领域的任务,ALBERT应进行两个预训练任务:MLM(Mask Language Model)和SOP(Sentence Order Prediction)[18]。

MLM指的是对句子中的单词随机使用mask token([MASK]),然后利用上下文的相关信息预测出[MASK]位置上原有的单词。通过MLM可以更好地根据全文理解单词的含义。SOP即句子顺序预测,判断两句话是否存在顺序关系或者是否为反序关系。SOP预测任务能够让模型学到更多的句子间语义关系信息。ALBERT模型结构(包含MLM和SOP的预训练过程)如图1所示。

其中,“脉略弦涉”“寸关略浮”表示训练的语料,Ei表示文本中第i个字符的原始向量,由字向量,文本向量和位置向量组成。Ti表示第i个字符由模型输出的文本特征向量。

Transformer由Encoder和Decoder两个部分组成[19],由于ALBERT为生成语言模型[20],所以其Transformer层主要使用Transformer结构中的Encoder部分。其中,Encoder部分包含一个Multi-Head Attention,由多个Self-Attention组成,Add & Norm层中的Add为残差连接(Residual Connection)可防止网络退化,Norm表示Layer Normalization[21],作用是对每一层的激活值进行归一化。

1.2  TextCNN卷积神经网络

TextCNN模型由Kim[22]提出,该模型利用多个不同大小的kernel来提取句子中的关键信息,从而更加高效地得到重要的文本特征向量表示。模型的构成为输入层、输出层、以及多个隐藏层,隐藏层可为卷积层、池化层、ReLU层和全连接层。对于输入的文本向量W = (w1, w2, …, wn),卷积层得到W中的每个词的卷积结果Q:

其中xi:i+h-1表示输入矩阵的第i行到第i+h-1行所组成的一个大小为h×k的窗口。h表示窗口中的单词数,w表示h×k维的权重矩阵,b表示偏置参数,f表示非线性函数。

池化层中的操作可为最大池化操作和平均池化操作[23],本文模型选取最大池化操作,因为每一个词的作用并不是完全相同的,采用最大池化可选择出文本中能起到关键作用的元素信息。筛选出的元素最大值:

之后将经过池化的特征值Ci进行拼接得到文本特征向量:

其中,C表示TextCNN训练得到的文本特征向量,i+h-1表示维度,n表示文本序列中字詞的总数。最后通过在下游任务中连接上全连接层来实现文本标签的预测。

1.3  基于语义筛选的中医文本分类模型

基于语义筛选的ALBERT-TextCNN中医文本分类模型训练过程分为三个步骤。

第一步,将未标记的多标签分类文本数据,利用中文版ALBERT模型进行MLM和SOP预训练任务,得到适用于多标签分类任务领域的Curated-TAPA ALBERT(C-T ALBERT)模型。ALBERT模型的底层Transformer进行文本表层信息特征表示,中间层Transformer生成文本句法信息特征,语义信息特征的表示在Transformer高层[24]。

第二步,将已标记的文本输入到C-T ALBERT模型之后,并非直接将池化层生成的文本特征向量作为TextCNN卷积神经网络的输入,而是把底层、中间层、高层的Transformer语义编码器生成的文本向量进行组合,将不同组别的文本向量分别输入到TextCNN模型中。

第三步,TextCNN模型进一步提取不同组别文本向量的语义信息特征,从中选取最优的动态文本特征向量进行多标签分类任务。为了防止模型过拟合,在标签预测的两层全连接神经网络中,连接第一个全连接层,进行一次dropout,保持向量维度不变,再输入到第二个全连接层输出每个类别标签的预测概率。

基于语义筛选的ALBERT-TextCNN的多标签文本分类模型框架如图2所示。

1.4  算法流程

直接使用预训练语言模型易造成提取的中医文本语义信息不足的问题。为了提取文本向量更加丰富的语义信息特征,本文提出一种基于语义筛选ALBERT-TextCNN的中医文本多标签分类模型,算法具体流程如下:

1)将未标记文本Xi输入到中文版ALBERT模型进行MLM和SOP预训练任务:

2)标注文本G输入到Curated-TAPA ALBERT模型中,选取前四层,中间四层和后四层生成的文本向量与由池化层生成的文本向量。

3)对选取的不同层的文本向量进行拼接。

4)TextCNN模型对输入的文本向量分别进行训练,采用最大池化操作筛选出元素的最大值:

5)获取组合中经过池化后效果最佳的文本高层特征向量:

6)接入第一个全连接层,执行dropout操作,保持向量维度不变。

7)分类任务:接入第二个全连接层,利用sigmoid激活函数输出文本标签的预测结果。

8)超参数优化:TextCNN模型采用Adam优化器,为不同的参数设计独立的自适应性学习率,基于训练数据迭代地更新神经网络权重。

9)多标签文本分类结果。

1.5  损失函数选择

分类任务中,Softmax函数先将模型全连接层输出的类别标签向量转换成一个概率分布,然后取概率值最大的作为样本的唯一类别标签。但在多标签文本分类中,样本实际的标签可能不止一个,因此实现中医文本所属类别的标签预测采用sigmoid交叉熵损失函数:

用于测量分类任务中的概率误差,每个类是独立的而不是互斥的,其中C表示类别数量, 和  均为一个向量,分别表示真实标签和未经任何激活函数处理的网络输出值。

2  实验结果与分析

2.1  数据集

江西中医药大学岐黄国医书院提供的真实电子病历中提取的868条中医哮喘病机数据集,每一条数据样本经过人工标注了带有多个病机主题的类别标签。数据包含中医哮喘症状信息(脉诊、舌诊、望诊、闻诊等)描述文本和该文本对应的多个病机类别,数据格式如表1所示。数据集中包含25个类别标签,对每类标签的数量占比进行统计,具体内容如表2所示。

2.2  评价指标

在对分类器进行性能衡量时,传统的评价指标在多标签分类任务中并不适用。因此,为了对模型性能进行更加合理的评估应选用专门针对多标签分类问题的评价指标。

在分类问题中,常用的评价指标有精确率(Precision)、召回率(Recall)和F1(F1-Measure)值。在多标签分类场景下,预测结果可为单独一个类别,也存在多个类别同时存在的情况,因此选取了适用于多标签分类任务的Micro-precision(M-p)、Micro-recall(M-r)和Micro-F1(M-F1)计算方法。

2.3  实验设置

本研究采用网络平台OpenBayes云服务器,选用NVIDIA GeForce RTX 2080 (8 GiB),20GiB RAM;软件环境为PyCharm 11.0.7、Anaconda 5.3.0,采用TensorFlow深度学习框架,在Windows 10(64位)操作系统下完成。

2.4  对比算法

为了验证语义筛选ALBERT-TextCNN模型能够提升在多标签任务场景下对中医文本的分类性能,在实验中,本文设计BERT、ALBERT、ALBERT-Denses三个模型作为对比实验,每组对比实验的参数设置如下:

1)BERT:利用BERT预训练模型提取词向量,并与下游任务融合进行多标签分类[25],参数设定参照本文ALBERT模型。

2)ALBERT:使用文献[18]所提到的ALBERT预训练语言模型进行词向量提取,利用一个神经元,实现文本多标签分类。

3)ALBERT-Denses:采用ALBERT预训练语言模型进行词向量提取,基于问题转换的思想,将多标签分类问题转换为多个二分类问题[26],进行单标签的二元分类预测。

2.5  參数选择

本文模型参数主要是ALBERT模型和TextCNN模型的参数。具体参数内容如表3和表4所示。

表3中hidden_act为隐藏层激活函数,hidden_size为隐藏层神经元数,intermediate_size为encoder层的“中间”隐层神经元数,embedding_size为词向量维度,vocal_size为词表大小。表4中,num_filters为过滤器输出的特征向量维数,filter_sizes为过滤器大小,dropout_rate为实行drop策略的比例。

2.6  Curated-TAPA实验结果与讨论分析

为了验证本文方法的有效性,先进行使用了Curated-TAPA的模型效果对比,在此基础上,再进行选取不同语义层生成的动态词向量输入到TextCNN模型的效果对比。

首先使用Curated-TAPA策略,表5给出了经过Curated-TAPA之后的ALBERT-TextCNN(A-TextCNN)模型,原始的A-TextCNN模型以及其他三种模型的F1-score。由表5可知,Curated-TAPA-ALBERT-TextCNN(C-T-A-T)的效果优于其他模型,对比未使用Curated-TAPA的A-TextCNN模型,C-T-A-T的F1-score提升了3.74%,与ALBERT-Denses(A-Denses),BERT和ALBERT相比,C-T-A-T也具有最好的分类性能。尤其是对于BERT模型,C-T-A-T的F1-score提高了6.59%。证明了本文所采用的Curated-TAPA策略的有效性。

2.7  语义筛选实验结果与讨论分析

采用Curated-TAPA策略之后,选取ALBERT模型的不同语义层所提取的词向量输入到TextCNN模型中,本文对语义层的前四层(First4),中间四层(Middle4),最后四层(Last4)与原始池化层(Pool)生成的文本向量拼接组合进行模型效果的对比。表6为C-T-A-T选取不同语义层的模型效果對比。通过表6可知选取不同语义层的效果不一,而且出现了选取中间四层加上池化层的F1-score没有提升反而有较大下降,由于中间层所提取的文本向量主要包括句法信息特征,而TextCNN对文本浅层特征抽取能力较强,所以造成只使用中间层的效果较差。实验表明,使用不同语义层提取的动态文本向量的效果会有不同,该模型选取最后四层加上池化层的效果最佳,证明了本文方法的有效性。

3  结  论

针对传统多标签分类模型原始层提取的文本语义信息不够完整等问题,本文提出了一种基于语义筛选的ALBERT-TextCNN多标签文本分类方法。首先,ALBERT模型进行Curated-TAPA,之后利用该模型对标注的中医文本数据进行动态的特征向量表示,基于语义筛选选取最佳语义层所生成的文本向量输出到TextCNN模型作为其输入,提取文本向量的语义信息特征,最后进行分类任务。实验结果表明,本文方法在各项评价指标中均具有良好的表现,能够提高模型在中医文本上的分类性能。本文方法利用了证候病机标签的数据集,未对当前文本中多个标签之间的关系进行分析,在下一步工作中将挖掘数据集中标签更深层次的信息,考虑标签之间的关联性,使其更加适用于实际的中医文本分类工作。

参考文献:

[1] ZHANG Z L,LI J H,ZHENG W T,et al. Research on Diagnosis Prediction of Traditional Chinese Medicine Diseases Based on Improved Bayesian Combination Model [J].Evidence-based Complementary and Alternative Medicine,2021,2021(12):1-9.

[2] 徐传杰.基于BERT模型的中医疾病辅助诊断和处方推荐方法研究 [D].济南:山东师范大学,2022.

[3] 杜琳,曹东,林树元,等.基于BERT与Bi-LSTM融合注意力机制的中医病历文本的提取与自动分类 [J].计算机科学,2020,47(S2):416-420.

[4] 陈广.基于关键语义信息的中医肾病病情文本分类问题研究 [D].杭州:浙江大学,2019.

[5] LIU W W,SHEN X B,WANG H B,et al. The Emerging Trends of Multi-Label Learning [J/OL].arXiv: 2011.11197 [cs.LG].(2020-11-23).https://arxiv.org/abs/2011.11197.

[6] GUO L,JIN B,YU R Y,et al. Multi-label Classification Methods for Green Computing and Application for Mobile Medical Recommendations [J].IEEE ACCESS,2016,4:3201-3209.

[7] NIKLAUS J,CHALKIDIS I,ST?RMER M. Swiss-Judgment-Prediction: A Multilingual Legal Judgment Prediction Benchmark [J/OL].arXiv: 2110.00806 [cs.CL].(2021-10-02).https://arxiv.org/abs/2110.00806.

[8] JAIN P K,PAMULA R,YEKUN E A. A Multi-label Ensemble Predicting Model to Service Recommendation from Social Media Contents [J].The Journal of Supercomputing,2022,78(4):5203-5220.

[9] 郝超,裘杭萍,孙毅,等.多标签文本分类研究进展 [J].计算机工程与应用,2021,57(10):48-56.

[10] ZHANG M L,ZHOU Z H. A Review on Multi-Label Learning Algorithms [J].IEEE Transactions on Knowledge and Data Engineering,2014,26(8):1819-1837.

[11] 武红鑫,韩萌,陈志强,等.监督和半监督学习下的多标签分类综述 [J].计算机科学,2022,49(8):12-25.

[12] GUO J,YUAN X,ZHENG X,et al. Diagnosis Labeling with Disease-specific Characteristics Mining [J].Artificial Intelligence in Medicine,2018,90:25-33.

[13] BAKER S,KORHONEN A. Initializing Neural Networks for Hierarchical Multi-label Text Classification [C]//BioNLP 2017.Vancouver:ACL,2017:307–315.

[14] 王進,徐巍,丁一,等.基于图嵌入和区域注意力的多标签文本分类 [J].江苏大学学报:自然科学版,2022,43(3):310-318.

[15] NAM J,MENC?A E L,KIM H J,et al. Maximizing Subset Accuracy with Recurrent Neural Networks in Multi-label Classification [C]//NIPS'17: Proceedings of the 31st International Conference on Neural Information Processing Systems.Long Beach:Curran Associates Inc,2017:5419-5429.

[16] GURURANGAN S,MARASOVI? A,SWAYAMDIPTA S,et al. Don't Stop Pretraining: Adapt Language Models to Domains and Tasks [C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics(ACL 2020).Seattle:ACL,2020:8342-8360.

[17] DEVLIN J,CHANG M-W,LEE K,et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [J/OL].arXiv: 1810.04805 [cs.CL].(2018-10-11).https://arxiv.org/abs/1810.04805v2.

[18] LAN Z Z,CHEN M D,GOODMAN S,et al. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations [J/OL].arXiv: 1909.11942 [cs.CL].(2019-09-26).https://arxiv.org/abs/1909.11942.

[19] VASWANI A,SHAZEER N,PARMAR N,et al. Attention is All You Need [J/OL].arXiv: 1706.03762 [cs.CL].(2017-06-12).https://arxiv.org/abs/1706.03762.

[20] QIAO B,ZOU Z Y,HUANG Y,et al. A Joint Model for entity and Relation Extraction Based on BERT [J].Neural Computing and Applications,2022,34(5):3471-3481.

[21] JANG D K,PARK S,LEE S H. Motion Puzzle: Arbitrary Motion Style Transfer by Body Part [J/OL].arXiv: 2202.05274 [cs.GR].(2022-02-10).https://arxiv.org/abs/2202.05274v2.

[22] KIM Y. Convolutional Neural Networks for Sentence Classification [J/OL].arXiv: 1408.5882 [cs.CL].(2014-08-25).https://arxiv.org/abs/1408.5882v2.

[23] 杨林,黄晓硕,王嘉阳,等.基于BERT-TextCNN的临床试验疾病亚型识别研究 [J].数据分析与知识发现,2022,6(4):69-81.

[24] JAWAHAR G,SAGOT B,SEDDAH D. What Does BERT Learn about the Structure of Language? [C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics.Florence:ACL,2019:3651-3657.

[25] 王淳睿,何先波,易洋.基于BERT模型的指令集多标签分类研究 [J].智能计算机与应用,2022,12(10):75-78+85.

[26] 周慧颖,汪廷华,张代俐.多标签特征选择研究进展 [J].计算机工程与应用,2022,58(15):52-67.

作者简介:刘勇(1997—),男,汉族,江西抚州人,硕士研究生在读,研究方向:自然语言处理;通讯作者:杜建强(1968—),男,汉族,江西南昌人,教授,博士,研究方向:中医药信息学、数据挖掘;罗计根(1991—),男,汉族,江西萍乡人,讲师,硕士,研究方向:自然语言处理;李清(1982—),女,汉族,江西抚州人,讲师,博士,研究方向:中医辨证规律;于梦波(1998—),男,汉族,河南周口人,硕士研究生在读,研究方向:自然语言处理;郑奇民(1998—),男,汉族,山西运城人,硕士研究生在读,研究方向:自然语言处理。

收稿日期:2023-03-09

基金项目:国家自然科学基金(82260988);江西省自然科学基金(20202BAB202019);江西中医药大学校级科技创新团队发展计划(CXTD22015);江西省研究生创新专项资金项目(YC2021-S499)