基于预训练模型与记忆卷积网络的立场检测研究

2023-08-15 02:02周浩轩王国权
计算机技术与发展 2023年8期
关键词:立场长度维度

陈 珂,周浩轩,王国权

(1.广东石油化工学院 计算机学院,广东 茂名 525000;2.东莞长城开发科技有限公司,广东 东莞 523000)

0 引 言

立场分析用于挖掘文本对特定话题、对象的支持、反对、中立立场,它和情感分析有相似的地方。但是由于人们有时会采用反讽、对比等修辞手法来表达观点,正、负面情感文本有可能表达同一种立场,而现行的情感分析方法采用机器学习的特征词提取方法进行识别,在针对隐晦和不敏感文本无法准确进行识别。由此,该文提出一种基于深度学习的立场分析方法。

立场分析通常采用预训练来解决数据匮乏的问题。在针对SemEval-2016任务6中,Augenstein[1]采用skip-gram和LSTM(BiLSTM)分析推特立场,所得的F1值为58%。Zarrella[2]使用了skip-gram结合RNN模型,平均F1值为67.8%。周艳芳[3]在针对NLPCC-2016任务4中提出基于迁移学习的字、词特征混合立场分析方法,F1值达到72.2%。胡瑞雪[4]提出基于BERT-LSTMCNN的立场分析方法,所得F1值可达87%。

受到胡瑞雪[4]的BERT-LSTMCNN模型启发,该文对LSTM和CNN部分采用并行输入输出,提高立场分析的准确率,同时采用了多模型对比实验方法验证该模型的高效性。

1 基于深度学习的立场分析

深度学习方法的特点在于提取特征上实现自动化[5],在许多领域取得了较好的效果,文本立场分析任务上也涌现出越来越多的深度学习方法。

在卷积神经网络的立场分析方法上,Yuki等人[6]采用CNN模型通过自动检测主题词和有效词来检测立场。Wei等人[7]通过建立一个二分类的训练数据集,然后修改归一化层来执行三分类检测Twitter文本立场。Yaakov等人[8]则是提出了基于有限数量特征的立场分类任务实现。

在长短时记忆神经网络的立场分析方法上,岳重阳[9]提出了基于注意力的双向长短时神经网络。Kuntal等人[10]提出了一种基于LSTM的两阶段模型T-PAN。

王安君等人[11]在基于深度学习的分类框架上,为了将话题信息结合进来,提出了BERT-Condition-CNN模型。Sun等人[12]提出使用一个共享的长短时记忆网络(Long Short-Term Memory,LSTM)层来学习立场和情感信息之间的深层共享表示,然后将共享的表示信息进行叠加,将情感检测的隐含层输出作为立场分析的附加输入进行联合学习,利用情感信息来促进立场分析的效果。

2 模型介绍

在针对NLPCC2016立场分析任务上,受到胡瑞雪[4]模型的启发,该文提出了基于BERT-LSTMCNN的并行输入输出模型。通过BERT语言预训练模型对输入的字建模,生成词嵌入向量,再分别输入LSTM和CNN网络,得到全局特征向量和局部特征向量,然后将其拼接,最后使用softmax函数进行分类。模型架构如图1所示。

图1 BERT-并行LSTMCNN网络模型

2.1 BERT预训练

BERT的核心是双向的Transformer模型,具有可变数量的编码层和自注意力模型。当BERT模型进行预训练形成语言表示模型后,只需对模型进行迁移学习网络训练,即可应用于下游特定性语言处理任务,对于字级、句级、句子对级的自然语言处理任务均使用。

模型在输入层采用多层相加输入的方式,其中就有Token嵌入层、Segment嵌入层和Position嵌入层[13]。Token嵌入层是为了将字词映射为实际有值的向量;Segment嵌入层采用将实际值赋值给第一个句子中所有的字词,另一个实际值则赋值给了第二个句子中所有字词,目的是为了形成句子对;Position嵌入层会将字词中两个句子的中间位置变为位置向量,以便后续更好地进行运算。

预训练主要有两个任务,分别是掩码语言模型(MLM)和下一句预测(NSP)。MLM任务使用了Mask(面具)对15%已分类的单词进行屏蔽,然后通过BERT模型进行预测,并且在最终的损失函数计算被遮盖住的标记。该任务的目的是关注预料集中的每个词语,从而得到更准确的上下文语义信息。

NSP的目的是让模型理解句子间的关联性,可在任何一个级别语料库进行训练,对句子对A和B,B有一半的概率是紧随A的实际下一句(IsNext),另一半概率则是语料库中的随机句子(NotNext)。将这个句子对拼接时在句首添加标识[CLS],A、B间则用标识[SEP]分隔开,并对[CLS]做二分类任务。

2.2 LSTM与CNN的融合应用

LSTM模型是通过在RNN模型的隐藏层中加入了细胞记忆单元结构,进一步使得LSTM模型具有学习到长期以来信息的能力,用于全局信息的提取;CNN作为一种前馈神经网络模型,采用了使卷积层和池化层交替堆叠的方式实现卷积的功能,其核心在于卷积层对于数据局部特征的提取[14]。

在LSTM和CNN的特征提取层中,令得到的向量H分别输入到LSTM和CNN神经网络中,在LSTM网络之后接入一个激活层,在得到激活层输出的最后一个状态时可以输出得到向量yLSTM。在CNN中,是由一个卷积层、一个激活层和一个最大池化层组成,再对CNN网络进行多卷积核的输出进一步合并处理得到yCNN。

将LSTM与CNN融合使用可以同时利用LSTM提取全局特征与CNN识别局部特征的能力。Pedro M.Sosa[15]在对推特文本立场分析实验中,发现使用CNN-LSTM模型时,比CNN模型提高3%,而针对LSTM模型,则是降低了3.5%。在另外一组实验中,使用LSTM-CNN模型比使用CNN模型的对照组提高8.5%,和LSTM模型相比,则提高2.7%,CNN和CNNLSTM模型性能表现差且需要更多的轮数(EPOCH)去提升模型效能以及减少过拟合。

所以,在该实验的基础上,该文采用并行的LSTMCNN结构,同时利用LSTM提取全局的文本特征和CNN网络挖掘文本局部关联性的能力,以达到优良的输出效果。

3 数据预处理

3.1 中文文本数据预处理

大量的研究数据表明,数据预处理对于分类是否高效起着决定性的作用,训练模型的鲁棒性也会因数据预处理而产生相应改变,分类结果准确性也会因此改变[16]。

在数据预处理方面,首先是标注文本立场,针对小规模样本,采用的训练集、测试集和验证集的最佳比例标准为0.6∶0.2∶0.2,采用jieba库进行分词,并对停止词、低频词以及非正式文本进行删除,减少噪声干扰,以达到简化操作的效果。

3.2 最优字个数维度判定算法

最优字个数维度算法目的在于计算BERT模型的最优输入序列长度,以缓解文本数据稀疏造成误差的问题。

在最优字个数维度判定算法中,中文文本总是以正整数的方式出现,在维度上也是有限的,而变量的取值为离散型的自然数,公式如式(1)和式(2)所示。

(MIN(ls)≤g≤MAX(ls))

(1)

(MIN(lt)≤k≤MAX(lt))

(2)

式中,文本长度的分布概率记为P(LS),话题长度分布概率记为P(LT)。对此定义lsnumg为文本条数,数据集总条数为lds,所取比值即为文本长度分布概率,在表示范围中,MIN(ls)为最小文本长度,MAX(ls)为最大文本长度,长度分布概率同上。

相对的,文本长度概率函数F(LS)和话题长度概率函数F(LT)公式如下:

(3)

(4)

式(3)表示当前文本长度取(lsa,lsb]时的概率,所计算出的概率是关于话题长度的函数,称为分布函数;式(4)则表示话题长度取(lta,ltb]时的概率[17]。

4 实验分析

4.1 实验数据

实验采用了NLPCC2016的中文微博文本立场检测任务的数据集。所用到的微博话题如表1所示,所取字数均值为5到8,所取数据集标注方式和开源数据集均相同,评论文本采集于新浪微博,总计训练集数据为3 000条,验证集与测试集分别为1 000条。

表1 话题数据集统计数据

可以看出,所取得的五个话题的数据体现了开源数据集的相关特性,并且在数据中不仅仅有鲜明的表达立场的评论,也存在隐晦或未直接表达的评论[18]。

4.2 实验内容

为了对比本次实验中所提模型的性能,设立对照实验组,分别设计以下模型:

(1)CNN模型:输入层128维,学习率1e-5,丢弃率为0.5,批处理参数(batch_size)为32,轮数(EPOCH)为10。

(2)LSTM模型:隐藏层为128维,其余参数设置同上。

(3)LSTMCNN模型:先接入LSTM进行全局特征提取,再将结果接入CNN进行局部特征提取,参数设置同上。

(4)CNNLSTM模型:先接入CNN进行局部特征提取,再将结果接入LSTM进行全局特征提取,参数设置同上。

(5)BERT预训练+LSTMCNN神经网络:采用BERT-Base,Chinese语言模型,批处理参数(batch_size)设置为32,Token序列的最大长度为128,轮数(EPOCH)为10。

本次实验中,评价模型的性能指标如下:

(1)准确率:

(5)

其中,TP表示正例,FP表示伪正例,准确率表示预测正例中真正正例的比例。

(2)召回率:

(6)

其中,TP表示正例,FN表示伪反例,召回率表示预测正例占全部正样本的比例。

(3)F1-评测值:

(7)

本次实验的系统环境是Windows10,编程语言为python3.6,采用了谷歌发布的BERT中文预训练模型“BERT-Base,Chinese”,CPU为Intel(R)Core(TM)i7-10875H,GPU为GeForce GTX 1070,实验平台Keras版本为2.6.0,TensorFlow版本为2.6.2。

4.3 实验结果与分析

对上述话题和文本数据进行最优字个数维度判定算法处理,对5个目标话题和对应文本进行计算,分别提取出话题长度、话题最优长度、评论文本最长长度和评论文本的最优长度,得出的结果如表2所示。

表2 话题和文本的字维度大小

由表2可以得知,当目标话题字维度和评论文本字维度均取到2的n次方倍时,所得数据有且可为最佳,因此,在BERT预训练过程中,输入作为2的n次方倍时,进一步处理及计算特征表征时,效果较为优秀,同时对后续准确率提升较为显著[19]。

使用BERT+全连接神经网络验证字维度大小对立场检测的影响。在文中分别对不同话题进行分析,在特征表征上选取原始BERT预训练语言模型训练。特征抽取上,选择全连接层进行提取,实验方面,分别对五个话题和相关评论进行训练,结果如表3、图2所示,评价指标为式(7)中的F1(Avg)。

表3 字个数维度不同时对立场检测的影响

图2 字个数维度不同时对立场检测的影响

如表3所示,当目标话题和评论文本字个数维度均取最佳时[20],F1值约比其他情况高3%, 同时,当目标话题文本字个数维度取到4时,可以得到最佳性能。

Tbestlen,Sbestlen表示目标话题的最优字个数维度和微博文本最优字个数维度的组合,当话题和文本都是最佳字数时效果最佳。

使用提出的实验模型对话题文本都使用最优字个数进行立场分析,首先对不使用BERT模型进行预训练的相关神经网络模型进行实验,验证CNN、LSTM、CNNLSTM、LSTMCNN模型的F1值与EPOCH轮数分析图,如图3所示,数据如表4所示。

表4 CNN、LSTM、CNNLSTM、LSTMCNN模型的F1值数据

图3 部分实验模型的F1值

由图3可以看出,在CNN、LSTM、CNNLSTM、LSTMCNN模型中,所得结果的带“*”曲线始终领先,故在该次实验中,可以证明LSTMCNN领先于其他三个模型。

其次,在不使用BERT模型进行预训练下即对表4中的最优模型和所提模型进行分析,验证LSTMCNN、BERT-LSTMCNN模型的F1值与EPOCH轮数分析图,如图4所示,数据如表5所示。

表5 LSTMCNN、BERT-LSTMCNN模型的F1值数据

图4 LSTMCNN、BERT-LSTMCNN模型的F1

在LSTMCNN和BERT-LSTMCNN图表中可以看出,经过BERT预训练后对该数据集的立场检测任务有明显的提高,平均相对没有经过BERT预训练的LSTMCNN神经网络模型提高约8%。

在采用了BERT模型进行预训练后,相对于普通模型,BERT模型在学习率的提升上较为显著,该模型所具备的“微调”的优势相对更为显著[21],对自我的输出及后接模型的自我学习机制有较大的提升,接下来将用实验结果来进一步阐述,所得数据如表6所示。

表6 实验结果

从表6中分析可知,当同等参数设置下,BERT-LSTMCNN模型性能是最佳的,所得F1值约为88.3%。由实验数据可以看出,结合LSTM和CNN模型均能提升模型性能,其中,LSTMCNN优于CNNLSTM,并且,加入BERT模型进行预训练对F1值提高较为显著,提升约7%。

同时,对比现有模型,所提模型相对周艳芳[3]所提出的基于迁移学习的字、词特征混合立场分析方法,F1值高出约16%,相对胡瑞雪[4]提出的基于BERT与串行LSTMCNN模型的立场分析方法,F1值高出约1%,因此,所提模型具有更优越的性能。

5 结束语

立场分析作为情感分析领域的一个新兴方向,在文本分类任务中,主要做自动分析在线评论对于目标话题支持与否的态度。该文结合了微博文本立场分析任务,通过利用相关算法及建立相关模型进行了详细的研究工作。

在实验中可以得出结论,当目标话题最优字数维度和文本最优字数维度相结合时,对于后续的预训练有显著的提高效果;使用BERT预训练模型及并行输入输出的记忆卷积网络,相对于其他模型有更好的效能。

猜你喜欢
立场长度维度
设计立场和手工生产关系的辩证认识
1米的长度
武术研究的立场
浅论诗中“史”识的四个维度
扬 善
爱的长度
怎样比较简单的长度
光的维度
“五个维度”解有机化学推断题
不同长度