基于相似度保持的知识蒸馏的立场检测方法转让专利

申请号 : CN202110970107.9

文献号 : CN113673254B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李洋孙宇晴

申请人 : 东北林业大学

摘要 :

基于相似度保持的知识蒸馏的立场检测方法,属于文本情感检测技术领域。为了解决现有的立场检测方法存在计算资源和计算时间开销大的问题,以及现有的方法存在识别准确率有待于提高的问题。本发明利用Text‑CNN网络模型对待检测立场文本进行立场检测;基于知识蒸馏的方式确定Text‑CNN网络,即使用BERT模型作为教师模型,将从教师模型中学习到的隐性知识引入到学生模型文本中;并在传统的知识蒸馏方式的基础上提出了基于相似度保持的损失函数,进一步提高基于知识蒸馏方式得到学生模型的性能。主要用于文本的立场检测。

权利要求 :

1.基于相似度保持的知识蒸馏的立场检测方法,包括以下步骤:获取待检测立场文本,利用Text‑CNN网络模型进行立场检测;所述Text‑CNN网络模型的确定过程包括以下步骤:基于知识蒸馏的方式确定Text‑CNN网络,知识蒸馏中的“Teacher”模型为BERT模型,“Student”模型为Text‑CNN网络模型;

同时将实例数据集中实例对应的目标和文本输入到“Teacher”模型,使用BERT模型来获得soft label,并将其传递给Text‑CNN;

其特征在于,所述知识蒸馏的方式中使用的损失函数如下:

LKD=γLClassic_KD+(1‑γ)LSP_KD(GT,GS)其中,LClassic_KD为现有的知识蒸馏的方式中的蒸馏损失,LSP_KD(GT,GS)为相似度保持损失函数,γ为超参数;

经典蒸馏损失如下:

S 2 T S

LClassic_KD=α·H(y,σ(z))+(1‑α)·TH((σ(z/T),σ(z/T))其中,y为标签,H(.)为交叉熵损失函数,σ(.)为softmax函数,T为温度参数,y为表示地S T面真值类的单热向量,z和z分别为学生网络和教师网络的输出logits;α是加权超参数;

所述相似度保持损失函数的确定过程如下:

在知识蒸馏的过程中,给定一个输入的mini‑batch,定义 为“Teacher”模型在l层上产生的激活映射, 为“Student”模型在l'层上产生的激活映射,其中b为batch大小,h为空间维数;

给定b个文本的输入的mini‑batch,“Teacher”模型和“Student”模型模型各取mini‑batch,一个计算b*h的激活映射,一个计算b*h’的激活映射,进行reshape后得到和从两个模型中输出的激活映射中计算相似度矩阵:

对于“Teacher”模型:

其中, 为b×b矩阵; 为 的L2范数, 为应用L2规范化的结果;

对于“Student”模型:

相似度保持损失函数为:

其中||·||F表示Frobenius范数。

2.根据权利要求1所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,在进行知识蒸馏前,还包括构建实例数据集的过程。

3.根据权利要求2所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,S1所述实例数据集 表示有N个实例的数据集,每个实例xi包含一个文本si,目标ti和一个立场标签yi;每条文本由单词序列组成,si={wi0,wi1,...,win},每个目标也由单词序列组成,ti={ti0,ti1,...,tim},n和m分别是si、ti中单词的数量。

4.根据权利要求1、2或3所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,如果“Student”模型和“Teacher”模型具有相同的深度,“Student”模型的l'层与“Teacher”模型l层为相同depth的层;如果“Student”模型和“Teacher”模型具有不同的深度,“Student”模型的l'层是与“Teacher”模型位于相同区块末端的层,即两个模型池化层前的最后一层隐藏层。

5.根据权利要求4所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,所述“Teacher”模型为BERT模型中的BERT‑Base模型。

6.根据权利要求5所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,所述的“Teacher”模型在预训练过程中,BERT‑Base模型的输入向量由Token embedding、Segment embedding、Position embedding三部分组成。

7.根据权利要求1所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,加权超参数α为0.5。

8.根据权利要求1所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,超参数γ为0.5。

9.根据权利要求1所述的基于相似度保持的知识蒸馏的立场检测方法,其特征在于,温度参数T为60。

说明书 :

基于相似度保持的知识蒸馏的立场检测方法

技术领域

[0001] 本发明涉及一种基于文本的立场检测方法,属于文本情感检测技术领域。

背景技术

[0002] 随着主流社交媒体的日益普及,人们可以通过在线网站,以产品评论、博客、推特和微博的形式,随时表达自己对几乎一切事物的态度。近年来,自动立场检测因其广泛的应用而受到广泛关注,特别是在社交媒体分析、论据挖掘、真相发现和谣言检测等领域。立场检测是文本观点挖掘的一个基础研究,通常有两个关键输入:(1)目标,(2)作者的帖子或评论。给定两个输入,立场检测的目的是分析对文本中表达的特定目标的立场趋势,例如“赞成、反对或中立”。目标可以是事件、政策、社会现象或产品。
[0003] 到目前为止,已经有大量立场检测相关的文献被发表,立场检测本质上是一项文本分类的任务,在传统的机器学习模型中,如逻辑回归、朴素贝叶斯、决策树和支持向量机,使用目标文本和用户文本中的信息作为特征。在一些先进的工作中,深度神经网络模型,如卷积神经网络(CNN)、递归神经网络、长短时记忆网络(LSTM)学习目标和文本的表征,然后根据表征进行文本分类。在过去的两年中,诸如BERT、GPT和XLNet等语言预训练模式取得了显著的进展。通过对未标记语料库的预训练和对标记语料库的微调,BERT类模型在许多自然语言处理任务中取得了最先进的性能。其中,BERT因其有效性和通用性而成为各种NLP模型的重要部分。但是,由于模型规模大,实际应用需要大量的计算资源,时间开销大。

发明内容

[0004] 本发明是为了解决现有的立场检测方法存在计算资源和计算时间开销大的问题,以及现有的方法存在识别准确率有待于提高的问题。
[0005] 基于相似度保持的知识蒸馏的立场检测方法,包括以下步骤:
[0006] 获取待检测立场文本,利用Text‑CNN网络模型进行立场检测;所述Text‑CNN网络模型的确定过程包括以下步骤:
[0007] 基于知识蒸馏的方式确定Text‑CNN网络,知识蒸馏中的“Teacher”模型为BERT模型,“Student”模型为Text‑CNN网络模型;
[0008] 同时将实例数据集中实例对应的目标和文本输入到“Teacher”模型,使用BERT模型来获得soft label,并将其传递给Text‑CNN;
[0009] 所述知识蒸馏的方式中使用的损失函数如下:
[0010] LKD=γLClassic_KD+(1‑γ)LSP_KD(GT,GS)
[0011] 其中,LClassic‑KD为现有的知识蒸馏的方式中的蒸馏损失,LSP_KD(GT,GS)为相似保持损失函数,γ为超参数;
[0012] 所述相似度保持损失函数的确定过程如下:
[0013] 在知识蒸馏的过程中,给定一个输入的mini‑batch,定义 为“Teacher”模型在l层上产生的激活映射, 为“Student”模型在l层上产生的
激活映射,其中b为batch大小,h为空间维数;
[0014] 给定b个文本的输入的mini‑batch,“Teacher”模型和“Student”模型模型各取mini‑batch,一个计算b*h的激活映射,一个计算b*h’的激活映射,进行reshape后得到和
[0015] 从两个模型中输出的激活映射中计算相似度矩阵:
[0016] 对于“Teacher”模型:
[0017]
[0018] 其中, 为b×b矩阵; 为 的L2范数, 为应用L2规范化的结果;
[0019] 对于“Student”模型:
[0020]
[0021] 相似度保持损失函数为:
[0022]
[0023] 其中||·||F表示Frobenius范数;
[0024] 进一步地,在进行知识蒸馏前,还包括构建实例数据集的过程;
[0025] 进一步地,S1所述实例数据集 表示有N个实例的数据集,每个实例xi包含一个文本si,目标ti和一个立场标签yi;每条文本由单词序列组成,si={wi0,wi1,...,win},每个目标也由单词序列组成,ti={ti0,ti1,...,tim},n和m分别是si、ti中单词的数量;
[0026] 进一步地,如果“Student”模型和“Teacher”模型具有相同的深度,“Student”模型的l′层与“Teacher”模型l层为相同depth的层;如果“Student”模型和“Teacher”模型具有不同的深度,“Student”模型的l′层是与“Teacher”模型位于相同区块末端的层,即两个模型池化层前的最后一层隐藏层;
[0027] 进一步地,所述“Teacher”模型为BERT模型中的BERT‑Base模型;
[0028] 进一步地,所述的“Teacher”模型在预训练过程中,BERT‑Base模型的输入向量由Token embedding、Segment embedding、Position embedding三部分组成;
[0029] 进一步地,所述经典蒸馏损失如下:
[0030] LClassic_KD=α·H(y,σ(zS))+(1‑α)·T2H((σ(zT/T),σ(zS/T))
[0031] 其中,y为标签,H(.)为交叉熵损失函数,σ(.)为softmax函数,T为温度参数,y为表S T示地面真值类的单热向量,z和z分别为学生网络和教师网络的输出logits;α是加权超参数。
[0032] 进一步地,加权超参数α为0.5。
[0033] 进一步地,超参数γ为0.5。
[0034] 进一步地,温度参数T为60。
[0035] 有益效果:
[0036] 本发明通过提取预训练模型BERT作为教师模型学到的知识引入到学生模型文本中,然后利用学生模型进行检测,可以在很大程度上降低计算资源和计算时间的开销,同时还能够取得与计算资源和计算时间开销非常大的BERT模型相当的效果,同时本发明还在传统的知识蒸馏方式的基础上提出了基于相似度保持的损失函数,可以进一步提高基于知识蒸馏方式得到学生模型的性能。

附图说明

[0037] 图1为本发明的网络结构示意图;
[0038] 图2为本发明超参数α和T的影响效果图。

具体实施方式

[0039] 具体实施方式一:结合图1说明本实施方式,
[0040] 本实施方式为基于相似度保持的知识蒸馏的立场检测方法,包括以下步骤:
[0041] 获取待检测立场文本,利用Text‑CNN网络模型进行立场检测;所述Text‑CNN网络模型的确定过程包括以下步骤:
[0042] S1、获取已知立场的实例并构建实例数据集:
[0043] 表示有N个实例的数据集,每个实例xi包含一个文本si,目标ti和一个立场标签yi;每条文本由单词序列组成,si={wi0,wi1,...,win},每个目标也由单词序列组成,ti={ti0,ti1,...,tim},n和m分别是si、ti中单词的数量。
[0044] S2、基于知识蒸馏得到“Student”模型,即Text‑CNN网络,具体过程包括以下步骤:
[0045] 同时将目标和文本输入到“Teacher”模型,所述的“Teacher”模型为BERT‑Base模型,BERT‑Base模型训练过程中,保存了模型最后一层的输出,并进一步“soft”了模型输出以获得“soft label”;然后根据BERT‑Base模型蒸馏的知识对作为“Student”模型的Text‑CNN进行训练,得到训练好的Text‑CNN网络模型,利用训练好的Text‑CNN网络模型进行立场检测。
[0046] 所述的“Teacher”模型如下:
[0047] 在预训练过程中,BERT‑Base模型的输入向量由三部分组成:
[0048] Token embedding:用于将单词转换为一组有限的sub‑word单元。在这一部分中,通过WordPiece(word segmentation)将单词转换成有限的公共sub‑word单元。
[0049] Segment embedding:用于区分两个输入句子,如多文本分类中的多个输入文本。立场检测任务模拟为一个句子对(文本和目标)任务,因此需要进行Segment embedding。
[0050] Position embedding:将单词的位置编码为特征向量。在每个文本的开头,需要使用[CLS]符号,目标和文本之间用[SEP]符号隔开。
[0051] 在Fine‑tuning阶段,有必要对具体任务进行微调,BERT的微调方法是根据[CLS]标志生成一组特征向量C,并通过一层全连接层进行微调。
[0052] 所述的“Student”模型如下:
[0053] 使用BERT‑Base模型来获得“soft label”,并将其传递给Text‑CNN。与“Teacher”模型类似,将文本和目标中的每个词转换为一维向量,输出为每个输入词wi的向量表示ei∈dR。卷积滤波器是具有共享参数的线性层列表。线性层的输入是固定长度窗口大小ls中词嵌入的级联,记为 d是单词维度;使用核 与输入Is
进行卷积运算,生成一个特征ci:
[0054] ci=f(Ws·Is+bs)
[0055] 其中,bs为偏置参数,f为非线性函数。
[0056] 然后,将它们级联得到特征映射c作为线性层的输出:c=[c1;c2;...;cn‑l+1].。为了捕获文本的全局语义,将卷积滤波器的输出馈送给一个max‑pooling层,从而产生一个固定长度的输出向量。最后,将其作为softmax层的输入,得到立场的概率分布,称为“soft prediction”。
[0057] 知识蒸馏的过程如下:
[0058] 为了“Student”模型能从“Teacher”模型学习知识,现在只需要在给定的输入下将“Student”模型的softmax分布与“Teacher”模型进行匹配,而不是将“Student”模型的softmax分布与真实的标签分布进行匹配。“Teacher”模型提供概率logits和估计标签,“Student”模型从教师的输出中学习知识。
[0059] 现有的知识蒸馏中的蒸馏损失如下:
[0060] 通常,知识蒸馏是在输出层进行的。“Student”模型试图模仿给定任何数据点的“Teacher”模型的行为。使用“Teacher”模型的logits作为标签来训练学生模型,它包含的信息比“hard label”更多。
[0061] 给定“Teacher”模型中输出层的logits z,zi为第i类的logits,输入对应的离散概率输出pi可以用softmax函数估计:
[0062]
[0063] 在softmax层采用特征匹配策略的实质是以softmax的输出作为监督。为了使评分向量“softer”,在softmax层中加入蒸馏温度T,以控制每个“soft label”的重要性:
[0064]
[0065] 通过增加T,可以平滑原始概率分布,更好地揭示数据之间的相似性。不执行知识蒸馏时,对“Student”模型的输入从ground‑truth变成了one‑hot,称为“hard target”。“Teacher”模型的“soft label”和ground‑truth标签对提高“Student”模型的性能至关重要,分别用于提取distill loss和student loss。
[0066] 利用现有的知识蒸馏的方式中获得蒸馏损失LClassic_KD;本实施方式中采用现有的知识蒸馏的方式(《Distilling the Knowledge in a Neural Network》)中经典的蒸馏损失:
[0067] LClassic_KD=α·H(y,σ(zS))+(1‑α)·T2H((σ(zT/T),σ(zS/T))
[0068] 其中,y为标签,H(.)为交叉熵损失函数,σ(.)为softmax函数,T为温度参数,y为表S T示地面真值类的单热向量,z和z分别为学生网络和教师网络的输出logits。此外,α是平衡distill loss和student loss的加权超参数。
[0069] 如果两个输入在“Teacher”模型中产生高度相似的激活,将有助于指导“Student”模型的训练,同时导致两个输入在“Student”模型中产生高度相似的激活。本发明提出了相似度保持损失函数(Similarity‑Preserving Loss),具体如下:
[0070] 给定一个输入的mini‑batch,定义 为“Teacher”模型在特定层l上产生的激活映射, 为“Student”模型在l′上产生的激活映射,其中b为batch大
小,h为空间维数。
[0071] 如果“Student”模型和“Teacher”模型具有相同的深度,“Student”模型的l′层与l相同depth的层,如果学生和老师具有不同的深度,“Student”模型的l′层是与“Teacher”模型位于相同区块末端的层,即两个模型池化层前的最后一层隐藏层。
[0072] 给定b个文本的输入的mini‑batch,两个模型各取mini‑batch,一个计算b*h的激活映射,一个计算b*h’的激活映射,进行reshape后得到 和
[0073] 从两个模型中输出的激活映射中计算相似度矩阵:
[0074] 对于“Teacher”模型:
[0075]
[0076] 其中, 为b×b矩阵。直观地,可以应用L2规范化来获得
[0077] b×b矩阵编码了min‑batch大小的文本所构成的网络激活的相似性(小批量中第i和第j个字段引发的教师层激活的相似性)。
[0078] 同样,对于“Student”模型有
[0079]
[0080] 相似保持损失函数为:
[0081]
[0082] 其中||·||F表示Frobenius范数;
[0083] 实际上损失函数是 和 矩阵的元素在(l,l’)对上均方差值的总和。
[0084] student不用去mimic teacher的特征空间,而只用在自己的特征空间保持成对的相似度就好,本发明可以很好的保持成对相似性,进而进一步提升效果。
[0085] 本发明总目标函数由两部分组成:经典蒸馏损失和相似性保持损失,并使用超参数γ来平衡这两部分。目标函数可以定义如下:
[0086] LKD=γLClassic_KD+(1‑γ)LSP_KD(GT,GS)
[0087] 在模型的训练过程中,利用Adam优化器使目标函数最小化。
[0088] 实施例
[0089] 实施例1:本发明与基线方法实验:
[0090] (一)数据集
[0091] 使用两个文本立场检测数据集来执行实验。一个是SemEval‑2016任务6twitter立场检测数据集,另一个是NLPCC‑ICCPOL‑2016任务4中文微博立场检测数据集。数据集中的每个数据都以三元组(“立场”、“目标”、“文本”)的格式表示,其中“立场”标签包括Favor、Against和None。
[0092] 对于英文数据集,训练集包含2914个带有立场标签的英文推文,测试集包含1249个推文。有5个目标:“Atheism”,“Climate Change is Concern(CC)”,“Feminist Movement(FM)”,“Hillary Clinton(HC)”和“Legalization of Abortion(LA)”.
[0093] 中文数据集包含4000条带有立场标签的中文微博,其中3000条用于训练,1000条用于测试。也有5个目标:“IPhone SE”,“Set off firecrackers in the Spring Festival(SF)”,“Russian anti‑terrorism operations in Syria(RA)”,“Two child policy(TP)”和“Prohibition of motorcycles and restrictions on electric vehicles in Shenzhen(PM)”.
[0094] (二)评价指标
[0095] 使用Precision(p)、Recall(r)和F‑score作为评价指标,这与之前的工作类似,Precision(p)是分类器预测的正确分类的阳性样本占阳性样本的比例,Recall(r)是正确分类的阳性样本占真实阳性样本的比例。F‑score为p和r的harmonic平均值。
[0096]
[0097]
[0098] 分别计算FFavor和FAgainst t后,将两者求平均,得到FAvg作为最终结果。
[0099]
[0100] 按照以下步骤进行立场检测实验。首先对训练数据进行模型训练,保存效果最好的模型。采用Google发布的中文BERT预训练模型″BERT‑Base,Chinese″和英文BERT预训练模型″BERT‑Base,Uncased″作为“Teacher”模型。学习速率设置为1e‑5,批量大小设置为8。对于超参数α,γ和T,分别选取0.5,0.5和60。对模型进行多次迭代直到收敛。
[0101] 基线方法:
[0102] 英文数据集
[0103] MIRTE:该模型使用两个递归神经网络(RNN)分类器。第一个RNN用于在初始化期间通过对两个大的未标记数据集的远程监控来学习特征。第二个RNN是分类器。它使用word2vec模型来训练单词和短语的嵌入,然后使用这些特征来学习用于立场检测的句子表示。
[0104] DC‑BLSTM:该方法提出了一种用于目标特定立场检测的两阶段深度注意神经网络(TDAN)。该模型采用密集连接的Bi‑LSTM编码推特token,采用传统的双向LSTM编码目标token。将三分类问题分解成两个二分类问题,以减轻标签的不平衡分布。
[0105] 中文数据集
[0106] RUC MMC:使用五个人工选择的特征作为随机森林和SVM模型的输入。在NLPCC‑ICCPOL 2016任务4中取得了最好的成绩。
[0107] ATA:该方法提出两阶段注意模型,首先将注意力机制应用于模型目标,然后将上下文与目标表示进行匹配,得到注意力信号,最后形成用于立场分类的目标特定文本表示。
[0108] 对于所有其他基线方法,直接得到论文中报告的结果,基于相同的数据集和相同的设置进行实验。
[0109] (三)实验结果
[0110] 在这一部分,本发明模型与基线的F‑score进行比较。
[0111] 表1基线方法和本发明的性能
[0112]
[0113] 为了与其他方法进行比较,其他方法是在没有数据增强(EDA)的情况下进行的,所以本实施例中的本发明的实验结果也在没有数据增强(EDA)的情况下得到的,进而容易体现本发明的效果。
[0114] (1)在两种立场检测任务中,通过FAvg可以看出本发明的模型BERTtoCNN均显著优于三种基线方法。汉语任务的改进更加明显。
[0115] (2)与其他基线(包括传统的机器学习方法和深度神经网络模型)相比,BERT在学习语义方面是有效的,取得了最好的效果。
[0116] 本发明的模型BERTtoCNN从BERT‑Base模型中转移知识,利用学生网络得到的效果与本发明中教师网络“BERT”相比,得到与BERT相当的结果,在运行速度上比BERT快得多(准确率差不多,而速度快很多)。
[0117] (3)通过与TextCNN比较,BERTtoCNN的平均F‑score高于TextCNN。结果表明,BERTtoCNN可以从“Teacher”模型中学习有用的信息,有助于提高“Student”模型的性能。
[0118] 实施例2:参数敏感性实验
[0119] 为了分析超参数的影响,我们在英文推特立场检测数据集上进行了两个参数敏感性实验。
[0120] 更进一步地,在知识蒸馏方法中,一个小的数据集可能不足以让“Teacher”模型完整地表达其知识。为了弥补英文Twitter语料中数据的不足,获得更大的数据集,使用EDA:Easy Data Augment方法对数据集进行扩充。使用同义词替换、随机插入、随机交换和随机删除四种方法来处理twitter文本。
[0121] 同义词替换(SR):指从句子中随机选取n个非停止词的单词,用随机选取的一个同义词替换其中的每个单词。
[0122] 随机插入(RI):在句子中随机选择一个非停止词的单词,并将其一个同义词插入句子中的任何位置。重复n次。
[0123] 随机互换(RS):互换句子中两个随机词的位置。重复n次。
[0124] 随机删除(RD):以p的概率随机删除句子中的每个单词。
[0125] EDA主要定义了三个参数:n表示句子修改的词数,β表示句子修改的词数,n_aug表示句子生成的新句子数。对于SR,RI和RS,根据句子长度l,利用公式n=β×l来改变n的值;对于随机删除(RD),p=β×n_aug。
[0126] (1)超参数α和T的效果
[0127] 在BERTtoCNN中,超参数α控制着“soft label”和“hard label”的比例。我们将α设置为0.25、0.5和0.75。从图2中,我们发现随着α的增加,F值也相应增加。当α为0.5时,F值达到最高点,当α大于0.5时,F值下降。结果表明,α的增加可以提高立场检测的结果。一方面,较大的α可以促使学生模型从教师模型中学习更多的知识。另一方面,实验表明soft label起到了正则化的作用,使得学生模型的收敛性更加稳定。
[0128] 超参数T主要控制预测分布的平滑度。在这个实验中,我们将T的调节空间设置为{10,30,60,90}。图2显示,当T从10增加到60时,F分数的性能得到改善。当T等于60时,BERTtoCNN达到最佳性能。图2中的整体结果表明,T的增加可以提高立场检测的结果,这反映了教师模型更强的泛化能力。然而,过度泛化也会对分类结果产生负面影响。
[0129] (2)超参数γ的效果
[0130] 值得注意的是,γ是平衡经典蒸馏损失与相似性保持损失知识蒸馏损失函数的权重参数。换句话说,γ越大,越多的学生网络会从教师网络中的类似激活学习。也就是说,γ越大,相似性保持损失知识蒸馏损失函数的影响越大。我们将γ设置为1、0.5、0.1、0.01和0。从表2中,我们发现当γ为0.5时,模型达到最佳性能。我们发现相似性保持损失使我们的模型的F值提高了4.1%(γ=0,没有相似性保持损失)。当γ从0.5逐渐减小到0时,分类结果的改善越来越小。这证明引入相似度保持损失,可以学习学生之间有用的特征信息,从而提高分类结果。
[0131] 表2超参数γ对应的F‑score
[0132]
[0133] 数据增强的效果:
[0134] 最初的英文推特立场检测数据集在训练集中仅包含2914条推文,在测试集中仅包含1249条推文。因此,分类效果受到了限制。
[0135] 本发明采用EDA数据增强方法(EDA)来扩充数据集,以提高分类结果。注意,参数n代表一个句子中修改的单词数,β代表每个句子中增强单词的百分比,n aug是一个句子生成的新句子数。为了比较结果,本发明让n aug为16、8和4,β为0.05和1。如上所述,当T为60,α为0.5时,BERTtoCNN的结果最好,所以本发明在本实验中也取这两个值。
[0136] 实验结果如表3所示。可以看到,当n aug为16,β为0.1时,效果最好,学生模型的F‑score为68.9%。因此,可以得出结论,随着数据集的增加,BERTtoCNN的性能得到了提高。
[0137] 表3实验结果
[0138]
[0139] 本发明提出了一种基于相似度保持知识蒸馏的文本立场检测模型BERTtoCNN。除了蒸馏损失外,模型还引入了相似性保持损失函数来进一步优化。本发明是第一个将经典的蒸馏损失和相似性保持损失结合在一个联合知识蒸馏框架中的工作。通过对不同设置的BERTtoCNN进行测试,发现经典的蒸馏损失和相似性保持损失都有助于立场检测任务,BERTtoCNN将两者结合起来进一步提高了性能:模型参数减少为1/20,预测速度提高了3倍。具体来说,通过比较BERTtoCNN和其他有竞争力的基线方法,BERT预先训练的语言模型在这项任务中是非常有效的,而且通过提取预训练模型BERT的知识,BERTtoCNN取得了相当的效果,但在很大程度上提高了运行时间,对英文twitter立场检测数据集进行了数据扩充,证明了数据集越大,更有利于提高结果。
[0140] 本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。