CN113723083B - 基于bert模型的带权消极监督文本情感分析方法 - Google Patents
基于bert模型的带权消极监督文本情感分析方法 Download PDFInfo
- Publication number
- CN113723083B CN113723083B CN202110803179.4A CN202110803179A CN113723083B CN 113723083 B CN113723083 B CN 113723083B CN 202110803179 A CN202110803179 A CN 202110803179A CN 113723083 B CN113723083 B CN 113723083B
- Authority
- CN
- China
- Prior art keywords
- model
- task
- training
- classification
- bert
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000008451 emotion Effects 0.000 title claims abstract description 48
- 238000004458 analytical method Methods 0.000 title claims abstract description 12
- 238000012549 training Methods 0.000 claims abstract description 57
- 238000013145 classification model Methods 0.000 claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 26
- 239000013598 vector Substances 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 33
- 238000012512 characterization method Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 6
- 238000000034 method Methods 0.000 description 20
- 238000003058 natural language processing Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 5
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 4
- 244000046052 Phaseolus vulgaris Species 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 229940119265 sepp Drugs 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种基于BERT模型的带权消极监督文本情感分析方法,以解决当前基于BERT模型和消极监督机制的文本分类模型没有考虑到不同标签类别之间的差异程度,对所有负面样本采用同等监督力度,致使学习提取到的差异信息不足,导致模型分类性能下降的技术问题,它可以更好地学习提取文本类别差异信息;其分类层也能学习到上述的类别差异,从而更好提升分类效果,它包括:S1、收集数据集,并建立训练集、测试集;S2、建立多任务学习情感分类模型;S3、将训练集输入到模型中进行训练;S4、将测试集输入到多任务学习情感分类模型中进行预测分类,并根据预测结果对模型进行评估。
Description
技术领域
本发明主要涉及到自然语言处理中的情感分析技术领域,具体是一种基于BERT(Bidirectional Encoder Representations from Transformers)模型的带权消极监督文本情感分析技术。
背景技术
自然语言处理(NLP)领域经过近十几年的发展,已经从传统的基于概率统计的方法转变为基于神经网络及深度学习的方法。早期基于概率统计的方法在分析字义、词义等比较简单的任务时表现很好,但应用场景变为句子甚至整个文档时,这种传统的方法就不能胜任。自然语言处理的研究也因此陷入了低迷状态。直到深度学习被提出并被广泛使用,才使得自然语言处理领域的任务有了更优秀的解决方案。
深度神经网络中的循环神经网络擅长处理时序数据的任务,尤其是NLP时序数据任务,而BackPropagation Through Time(BPTT,随时间反向传播)算法又为循环神经网络的训练提供了有效思路,使得循环神经网络一度成为NLP领域的有效解决方案。但随着深度网络层次的增加,BPTT算法容易产生梯度消失问题,也就是在处理句子中某一个词的时候,仅考虑与当前词距离较近的词对当前词的影响,而较少考虑甚至忽略与当前词距离较远的词对当前词的影响。然而,现实中经常存在句子很长的情况,BPTT算法难以提取位置相距较远的词之间的语义关系信息。为此,Sepp Hochreiter等人提出的长短时记忆神经网络(Long Short-term Memory,LSTM)在一定程度上解决了这个问题。LSTM的核心思想是使用门控单元来控制之前的词对当前词的影响程度,而且门控单元的权值是可训练的。
另外,Sutskever等人提出的sequence-to-sequence模型专门用来处理时序任务,它使用神经网络将一个序列映射到另一个序列。该模型由一个编码器和一个解码器组成。编码器负责编码待处理句子的逐个符号,并将其中的信息提取到一个向量中;解码器根据编码器的状态以及解码器前一次的输出逐符号输出预测值。由于编码器和解码器均采用循环网络模型,同循环神经网络一样,sequence-to-sequence模型也存在着梯度消失的问题,所以在序列(句子)较长时,该模型的性能会有所下降。2015年,Bahdanau等人提出Attention(注意力)机制,根据当前词之前的词与当前词的语义距离将编码器之前的隐藏状态通过加权的方式输入到解码器,很好地解决了这个问题。
2017年,Google公司的Ashish vaswanai等人在《Attention all you need》一文中,基于Attention机制,又提出了Self-Attention机制和Multi-Headed-Attention机制。基于sequence-to-sequence模型和Self-Attention、Multi-Headed-Attention机制,进一步提出了Transformer模型,它由若干个编码器和解码器组成。2018年,Google公司的JacobDevlin等人首次提出了BERT模型。该模型是运用Transformer模型的一个很成功的案例,被称作双向编码表示的Transformer模型。与传统的逐字或逐词处理文本不同,BERT模型能并行处理一个句子中不同词,在处理当前某个词时,可以同时提取并表示该词与其前面和后面的词之间的语义关系。BERT模型提出之后,不少相关研究将该模型作为预训练任务,专门训练各种语言模型,再将预训练好的BERT模型训练具体的下游任务(如文本分类、机器翻译等),成为当前NLP的流行模式。
目前,在各种情感分类数据集上,仍以基于BERT的分类模型效果最好。比如,SoraOhashi等人在2020年提出的基于BERT模型和消极监督机制的AM(the auxiliary taskwith the margin-based loss)、AAN(the auxiliary task using all negativeexamples)模型在MR、TREC等数据集上表现更好。该文章提出的消极监督机制是通过学习不同类别文本的不同表示,提高分类准确率。
然而,当前基于BERT模型和消极监督机制的文本分类模型没有考虑到不同标签类别之间的差异程度,对所有负面样本采用同等监督力度,致使学习提取到的差异信息不足,导致模型分类性能下降。此外,这些模型在编码器层监督负面样本,导致分类器层无法学习到上述的差异信息,进而也会导致模型分类性能下降。
发明内容
本发明的目的在于克服现有技术的不足,适应现实需要,提供一种 基于BERT模型的带权消极监督文本情感分析方法,以解决当前基于BERT模型和消极监督机制的文本分类模型没有考虑到不同标签类别之间的差异程度,对所有负面样本采用同等监督力度,致使学习提取到的差异信息不足,导致模型分类性能下降的技术问题,它可以更好地学习提取文本类别差异信息;其分类层也能学习到上述的类别差异,从而更好提升分类效果。
为了实现本发明的目的,本发明所采用的技术方案为:
设计一种基于BERT模型的带权消极监督文本情感分析方法,它包括如下步骤:
S1、收集文本情感分类数据集,对数据集进行清洗、分割预处理并建立训练集、测试集;
S2、建立多任务学习情感分类模型,使用BERT作为文本编码器;
S3、将分割得到的训练集输入到步骤S2建立的多任务学习情感分类模型中进行训练,多任务学习情感分类模型在经过训练集的训练后拥有文本情感分类能力;
S4、将测试集输入到经步骤S3训练好的多任务学习情感分类模型中进行预测分类,并根据预测结果对模型进行评估。
步骤S1中,在建立训练集、测试集的同时建立验证集(验证集用于在训练阶段测试模型的性能)。
步骤S1中,对英文数据集进行清洗、分割预处理前需进行大小写转换操作。
步骤S2中,建立多任务学习情感分类模型包括建立一个主任务和建立一个消极监督任务;
所述主任务用来训练一个常规分类器,在使用BERT得到训练样本的表征向量后,将其输入一个全连接层得到模型的预测向量,再将预测向量的预测值与目标值(目标值即训练集中的标签)进行比对并使用损失函数计算损失值。
在主任务中,使用交叉熵函数作为损失函数,如式(1):
其中,M为类别的数量;yic为指示变量,若样本i的预测类别和真实类别相同该值为1,否则为0;pic为样本i属于类别c的概率。
步骤S2中,建立消极监督任务时,将消极监督的位置从编码器层移动到分类器层并让分类器层学习不同标签之间的差异信息,包括如下步骤:
S21:为消极监督机制引入了权重W来区分差异程度信息;
S22:将分类器层预测向量l按批次输入到消极监督任务,消极监督任务遍历训练mini批次中的样本并找到所有的负面样本对;
S23:然后使用下式计算消极监督任务的损失函数值:
其中,lk,li为消极监督任务遍历找到的一对负面样本,函数cossim能够计算lk和li之间的余弦距离,Wk,i是消极监督任务中引入的权重,表示样本i,k对应标签之间的差异程度,Wk,i的值由下式确定:
在上式(3)中,函数dis计算标签间的距离并只需简单地做减法运算;α是系数,表达消极监督任务的损失函数在总损失中的重要程度。
S23:通过式(1)、式(2)、式(3)等式计算得到Lm和Ln后,将它们的和作为总损失沿着多任务学习情感分类模型(传递到每一层并更新参数并计算总损失L;
步骤S3中,包括如下步骤:
S31:将训练集按照预先设置的mini批次大小划分为若干个批次;
S32: 在各个批次的每个句子前面加上一个无意义的符号[CLS];
S33:将增加无意义符号[CLS]的每个句子输入到步骤S2建立的多任务学习情感分类模型中;
S33:经BERT处理后得到由句子的表征向量组成的矩阵;
S34:将[CLS]对应的向量输入到分类器层继续训练。
步骤S4中,使用测试集的样本测试经步骤S3训练好的多任务学习情感分类模型的性能,并使用准确率p进行评判:
式(5)中,分子为预测值与实际值相同的样本个数,分母为测试集样本的总数量,分式的值p即为模型的准确率。
本发明的有益效果在于:
本发明基于消极监督机制的思想,充分考虑不同标签类别之间的差异,学习不同类别文本最终输出状态的差异,并根据类别的差异程度,通过加权的方式将这些差异累加到损失函数中,提升模型的分类性能,本发明之方法提供的模型能够学习到不同类别之间差异程度的大小,可以更好地学习提取文本类别差异信息;其分类层也能学习到上述的类别差异,从而更好提升分类效果。
附图说明
图1是本发明中的Attention机制示意图;
图2是本发明中的BERT模型结构图;
图3是本发明的整体结构示意图。
实施方式
下面结合附图和实施例对本发明进一步说明:
实施例1:一种基于BERT模型的带权消极监督文本情感分析方法 ,参见图1至图3,包括以下步骤:
S1、收集文本情感分类数据集,对数据集进行清洗、分割预处理并建立训练集、测试集;
S2、建立多任务学习情感分类模型,使用BERT作为文本编码器;
S3、将分割得到的训练集输入到步骤S2建立的多任务学习情感分类模型中进行训练,多任务学习情感分类模型在经过训练集的训练后拥有文本情感分类能力;
S4、将测试集输入到经步骤S3训练好的多任务学习情感分类模型中进行预测分类,并根据预测结果对模型进行评估。
具体来说:
步骤S1:本实施例收集英文情感分类数据集和中文情感分类数据集,其中,英文数据集对应有2-class,3-class,5-class分类三个不同任务;中文数据集对应2-class和5-class分类两个不同任务。由于有些数据集并没有划分训练集、验证集和测试集,对于这些数据集,随机划分出20%作为测试集,再从剩下的数据集中划分出20%作为测试集,其余的作为训练集。接下来对训练集做预处理,主要包括停用词过滤、大小写转换、单词标准化等。根据公开的停用词表,对训练集中出现的停用词直接过滤;在英文情感分类任务中,需要进行大小写转换操作,本方法是将所有大写单词转换成小写形式,其次,由于英文中存在同一个单词有不同时态、不同语态以及单复数等不同形式的现象,所以需要对这些不同形式进行标准化,即将它们都转化成约定的形式。
由于本发明方法使用BERT作为编码器,在中文任务中不需要做分词处理,BERT能够并行地处理一个句子。
步骤S2:建立一个用于文本情感分类的深度学习模型。本步骤是建立一个成为WNSCL(Weighted Negative Supervision on Classifier Layer)的模型,其本质是一个多任务学习模型,且使用BERT作为编码器。WNSCL包括两个子任务:一个主任务和一个消极监督任务—NST(Negative Supervision Task)。
主任务用来训练一个常规分类器,在使用BERT得到训练样本的表征向量后,将其输入一个全连接层(作为分类器层)得到模型的预测向量,再将预测向量的预测值与目标值进行比对并计算损失,在主任务中,采用交叉熵函数作为损失函数:
其中,M为类别的数量;yic为指示变量,若样本i的预测类别和真实类别相同该值为1,否则为0;pic为样本i属于类别c的概率。
建立消极监督任务时,为了解决上述的现有消极监督机制存在的问题,将消极监督的位置从编码器层移动到分类器层,通过这种方式能让分类器层学习到不同标签之间的差异信息,此外,由于分类器层节点数量要远小于编码器层,所以在分类器层上监督负面样本来节省大量训练时间。
为了让WNSCL模型学习到不同标签类别间的差异程度,采用如下方法解决:
S21:为消极监督机制引入了权重W来区分差异程度信息。
S22:为达到在NST中进行消极监督的目的,需要将分类器层预测向量l按批次输入到NST,NST首先会遍历批次中的样本并找到所有的负面样本对,然后使用下式计算NST的损失函数值:
其中,lk,li为NST遍历找到的一对负面样本,函数cossim能够计算lk和li之间的余弦距离,Wk,i是NST中引入的权重,表示样本i,k对应标签之间的差异程度,它的值由下式确定:
在上式中,函数dis计算标签间的距离,由于标签是用标量表达的,所以此处的函数dis只需简单地做减法运算;α是系数,表达NST的损失函数在总损失中的重要程度。
S23:通过上述三个式(1)、式(2)、式(3)等式计算得到Lm和Ln后,将它们的和作为总损失沿着模型传递到每一层并更新参数。
步骤S3:使用步骤S1中划分好的训练集训练模型。具体包括如下步骤:
S31:将训练集按照预先设置的mini批次大小划分为若干个批次;
S32: 由于分类器层是全连接层,不能接受矩阵作为输入,需在各个批次的每个句子前面加上一个无意义的符号[CLS];
S33:将增加无意义符号[CLS]的每个句子输入到步骤S2建立的多任务学习情感分类模型中;
S33:经BERT处理后得到由句子的表征向量组成的矩阵,在得到BERT的输出后,[CLS]对应的表征向量也包含了句子中所有单词的上下文信息。
S34:将[CLS]对应的向量输入到分类器层继续训练。
步骤S4:使用测试集的样本测试训练好的WNSCL模型的性能,由于本实施例所做的工作是针对单标签分类的,即每个样本只对应一个标签,所以在测试模型性能时直接使用准确率p进行评判:
如式(5),分子为预测值与实际值相同的样本个数,分母为测试集样本的总数量,分式的值p即为模型的准确率,准确率越高说明模型性能越好。
以下对本发明做进一步的详细说明:
本实施采用两种语言的数据集来验证模型的性能—英语和中文。
其中,英语采用stanford sentiment treebank(SST)数据集。该数据集是斯坦佛大学收集的电影评论数据,包括8544条训练集,1101条验证集和2210条测试集,每条数据包括具体的评论内容以及评分,评分为0到1之间的浮点数,评分值越大就代表该评论越积极,反之则代表对应的评论越消极。由于该数据集的标签是由浮点数表示的,所以用户可以自主定义标签的个数。为了更加全面的评测模型的性能,本发明分别使用了2标签、3标签、5标签的SST数据集(分别称为SST-2,SST-3,SST-5)。具体实现方法是将区间[0,1]做n等分,就可以得到SST-n数据集。
中文则采用了豆瓣网的影评数据集,同SST数据集相似,每条数据也包括评论内容和相应的评分。本数据是从豆瓣官网获取的2极分类的数据集和5极分类的数据集(称为Db-2和Db-5)。其中Db-2包含7000条训练集、1000条验证集和2000条测试集;Db-5包含15297条训练集、3000条验证集和7000条测试集。豆瓣数据集的标签是由整数表示的,在此,直接使用数据集中的标签,不做任何处理。数据集具体情况如表1:
表1
BERT是本发明提出的带权消极监督情感分析模型的基础,BERT的输入由三部分组成:Token Embedding、Segment Embedding、Position Embedding。其中,SegmentEmbedding在输入句子对时有效,第0个句子的Segment Embedding被编码0向量,第1个句子的Segment Embedding被编码为全1向量;由于BERT是并行处理整个句子的,为了表达句子中词的位置信息,BERT采用正、余弦函数为不同位置的词生成独特的编码信息,被称作Position Embedding;词向量Token Embedding是由一层全连接网络训练得到的,该网络层接受vocab_size维的向量输入,得到Embedding_dimension维的向量输出。将这三个向量相加即可得到句子中每个词的输入向量,将句子中每个词的输入向量组合成矩阵,就是句子的输入。BERT的输入进行若干次Multi-Headed-Attention、Layer_Norm以及前馈网络层之后得到输出。
在本发明中,英文模型和中文模型分别采用的是Google官方提供的bert_base_uncased和bert_base_chinese。这两个预训练模型拥有相同的结构: Transformer块的个数为12、多头注意力机制“头”的个数为12,Embedding的大小为768维,大约有1.1亿个待训练参数。需要特别注意的是,官方BERT模型的输出提供两种值:第一种为包含整个句子信息的矩阵,大小为:batch_size*sequence_length*embedding_dimension;第二种为CLS对应的向量经过线性层后的输出,大小为batch_size*embedding_dimension,本发明采用包含整个句子信息的矩阵,大小为:batch_size*sequence_length*embedding_dimension。
在得到BERT模型的输出后,将其作为分类器模型的输入,并对分类器进行训练,同时对BERT模型的参数做微调,但是这样训练出来的模型会产生过拟合现象。AM和AAN模型的提出正是为了解决这个问题。它们通过让模型学习文本间的表示差异来提升分类性能。这两种模型的区别在于,AAN模型只学习不同类别文本的表示差异,而AM模型不仅学习负向样本表示的差异,还学习正向样本表示的相似性。实验表明,ANN模型的效果在大部分场景下优于AM模型。为了让模型学习到负向样本的差异和正向样本的相似性等信息,AAN和AM均设计一个简单的多任务模型:第一个任务被称作主任务,主要用来学习一个常规的分类器模型(称作classifier);第二任务被称作辅助任务,主要学习文本的表示差异(称作discriminator)。将这两个任务的损失函数相加作为模型的损失函数,并将相加后的损失函数反向传播到模型的每一层,并更新网络的权重。
本发明提出的WNSCL(Weighted Negative Supervision on Classifier Layer)模型,用以更好地进行文本情感分析。正如前面所述,AAN模型和AM模型有两个问题:辅助任务没有考虑到不同类别文本之间差异程度的大小、分类层不能学习到文本的差异。本发明中,WNSCL用权值表达不同类别文本间的差异程度来解决前一个问题;通过使模型学习不同标签文本的分类层输出差异来解决后一个问题。在辅助任务中,WNSCL模型使对应标签差异程度越大的文本的权值更大,对应标签差异程度越小的文本的权值更小,从而学习到标签的差异程度。
辅助任务会从当前批次中采样n个与当前文本标签不同的文本对应的分类层输出,计算当前文本分类层输出与采样文本的分类层输出之间的差距。为了表达文本对应分类层输出的差异程度,WNSCL采用余弦相似度来量化向量间的距离。
WNSCL模型的主任务是训练一个常规的分类器,该分类器选用交叉熵损失函数,并利用反向传播算法迭代训练模型。由于该模型拥有大量的参数,而训练集样本数量相对较少,容易产生过拟合现象。为了解决该问题,WNSCL模型在网络的每一层均添加了一个Dropout层,以减少网络中的权重值。本发明中每一层节点的丢弃概率设置为0.4。
本发明方法的具体实施过程如下:
实验环境:
软件环境主要为:编程语言Python3.8、深度学习库PyTorch1.8,预训练模型bert_base_uncased和bert_base_chinese。硬件环境:Intel Core i5 10400 CPU、NvidiaGTX1660Ti 6G GPU、16G DDR4内存。
数据预处理:
在训练过程中使用PyTorch作为深度学习框架,在训练之前需将数据处理成PyTorch框架要求的形式。PyTorch框架提供了DataLoader类来专门为模型按批次提供数据。DataLoader类的构造方法要求传入一些必要参数,其中最重要的是传入一个DataSet类的实例。DataSet也是PyTorch框架提供的一个用于数据处理的类,在此,自定义了一个类来继承DataSet类,重载了__len__()方法和__getitem__()方法。DataLoader类通过自定义类实例的__getitem__方法,按照一定的策略采样数据并提供给模型训练。
模型的训练:
训练WNSCL模型时,需要用到BERT模型中包含的词向量表,该词向量表以vocab.txt文件的形式存在。DataLoader提供的数据包括句子以及句子对应的标签。由于模型不能直接识别文本,所以要将文本转换成词向量表中对应的ids向量,再将ids向量输入到模型的Embedding层,得到句子对应的词向量Token Embedding。之后,再将TokenEmbedding、Position Embedding和Segment Embedding相加得到句子的输入矩阵,将该矩阵输入到BERT模型后,得到BERT模型的输出。BERT模型的输出需要输入到分类器层,得到分类器层的输出,并计算主任务的损失函数值。分类器层的输出又需输入到辅助任务,并计算辅助任务的损失函数值。最后,将主任务的损失函数值和辅助任务的损失函数值相加作为模型的总损失,利用误差反向传播算法更新模型每一层的参数。当在整个训练集上循环多次后损失函数都没有减少时,就认为模型已经收敛,终止训练。
模型的测试与评估:
提出的WNSCL模型采用准确率作为性能评估标准。通过与BaseLine(只有主任务的情况)、AAN模型的对比,评估基于权值的消极监督分类器模型WNSCL的分类效果。具体如表2:
表2
可以看出,在2极、3极及5极分类场景中,WNSCL模型的准确率均高于BaseLine,尤其在分类数量较多的场景,由于WNSCL模型充分学习到了不同类别样本分类层输出向量的差异程度,所以分类效果提升更加明显。在SST-2数据集中,所有负面样本的差异程度均相同,而权重值缩小了辅助任务的损失函数值,导致辅助任务训练不足,从而影响分类性能。在豆瓣数据集中,WNSCL模型的准确率均优于BaseLine和AAN模型,说明在中文环境下,基于权值的消极监督机制能发挥更大的效果。
最后说明的是,本发明实施例公布的是较佳的实施例,但并不局限于此,本领域的普通技术人员,极易根据上述实施例,领会本发明的精神,并做出不同的引申和变化,但只要不脱离本发明的精神,都在本发明的保护范围内。
Claims (4)
1.一种基于BERT模型的带权消极监督文本情感分析方法,其特征在于:它包括如下步骤:
S1、收集文本情感分类数据集,对数据集进行清洗、分割预处理并建立训练集、测试集;
S2、建立多任务学习情感分类模型,使用BERT作为文本编码器;
S3、将分割得到的训练集输入到步骤S2建立的多任务学习情感分类模型中进行训练,多任务学习情感分类模型在经过训练集的训练后拥有文本情感分类能力;
S4、将测试集输入到经步骤S3训练好的多任务学习情感分类模型中进行预测分类,并根据预测结果对模型进行评估;
步骤S2中,建立多任务学习情感分类模型包括建立一个主任务和建立一个消极监督任务;
所述主任务用来训练一个常规分类器,在使用BERT得到训练样本的表征向量后,将其输入一个全连接层得到模型的预测向量,再将预测向量的预测值与目标值进行比对并使用损失函数计算损失值;
在主任务中,使用交叉熵函数作为损失函数,如式(1):
其中,M为类别的数量;yic为指示变量,若样本i的预测类别和真实类别相同该值为1,否则为0;pic为样本i属于类别c的概率;
步骤S2中,建立消极监督任务时,将消极监督的位置从编码器层移动到分类器层并让分类器层学习不同标签之间的差异信息,包括如下步骤:
S21:为消极监督机制引入了权重W来区分差异程度信息;
S22:将分类器层预测向量l按批次输入到消极监督任务,遍历批次中的样本并找到所有的负面样本对;
S23:然后使用下式计算消极监督任务的损失函数值:
其中,lk,li为消极监督任务遍历找到的一对负面样本,函数cossim能够计算lk和li之间的余弦距离,Wk,i是消极监督任务中引入的权重,表示样本i,k对应标签之间的差异程度,Wk,i的值由下式确定:
在上式(3)中,函数dis计算标签间的距离并只需简单地做减法运算;α是系数,表达消极监督任务的损失函数在总损失中的重要程度;
S23:通过式(1)、式(2)、式(3)等式计算得到Lm和Ln后,将它们的和作为总损失沿着多任务学习情感分类模型传递到每一层并更新参数并计算总损失L;
步骤S3中,包括如下步骤:
S31:将训练集按照预先设置的mini批次大小划分为若干个批次;
S32: 在各个批次的每个句子前面加上一个无意义的符号[CLS];
S33:将增加无意义符号[CLS]的每个句子输入到步骤S2建立的多任务学习情感分类模型中;
S33:经BERT处理后得到由句子的表征向量组成的矩阵;
S34:将[CLS]对应的向量输入到分类器层继续训练。
2.如权利要求1所述的基于BERT模型的带权消极监督文本情感分析方法,其特征在于:步骤S1中,在建立训练集、测试集的同时建立验证集。
3.如权利要求1所述的基于BERT模型的带权消极监督文本情感分析方法,其特征在于:步骤S1中,对英文数据集进行清洗、分割预处理前需进行大小写转换操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110803179.4A CN113723083B (zh) | 2021-07-15 | 2021-07-15 | 基于bert模型的带权消极监督文本情感分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110803179.4A CN113723083B (zh) | 2021-07-15 | 2021-07-15 | 基于bert模型的带权消极监督文本情感分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113723083A CN113723083A (zh) | 2021-11-30 |
CN113723083B true CN113723083B (zh) | 2023-05-26 |
Family
ID=78673358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110803179.4A Active CN113723083B (zh) | 2021-07-15 | 2021-07-15 | 基于bert模型的带权消极监督文本情感分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113723083B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114970542A (zh) * | 2022-05-13 | 2022-08-30 | 国网江苏省电力有限公司信息通信分公司 | 一种基于文本情感曲线的分析方法 |
CN114896987B (zh) * | 2022-06-24 | 2023-04-07 | 浙江君同智能科技有限责任公司 | 基于半监督预训练模型的细粒度情感分析方法和装置 |
CN116992867B (zh) * | 2023-06-14 | 2024-01-23 | 合肥工业大学 | 一种基于软提示主题建模的抑郁情绪检测方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108849A (zh) * | 2017-12-31 | 2018-06-01 | 厦门大学 | 一种基于弱监督多模态深度学习的微博情感预测方法 |
CN109213860A (zh) * | 2018-07-26 | 2019-01-15 | 中国科学院自动化研究所 | 融合用户信息的文本情感分类方法及装置 |
CN109492099A (zh) * | 2018-10-28 | 2019-03-19 | 北京工业大学 | 一种基于领域对抗自适应的跨领域文本情感分类方法 |
CN111666409A (zh) * | 2020-05-28 | 2020-09-15 | 武汉大学 | 一种基于综合深度胶囊网络的复杂评论文本的整体情感智能分类方法 |
CN111858935A (zh) * | 2020-07-13 | 2020-10-30 | 北京航空航天大学 | 一种航班点评的细粒度情感分类系统 |
CN112528668A (zh) * | 2020-11-27 | 2021-03-19 | 湖北大学 | 深层情感语义识别方法、系统、介质、计算机设备及终端 |
CN112860841A (zh) * | 2021-01-21 | 2021-05-28 | 平安科技(深圳)有限公司 | 一种文本情感分析方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11727913B2 (en) * | 2019-12-23 | 2023-08-15 | Adobe Inc. | Automatically associating context-based sounds with text |
-
2021
- 2021-07-15 CN CN202110803179.4A patent/CN113723083B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108849A (zh) * | 2017-12-31 | 2018-06-01 | 厦门大学 | 一种基于弱监督多模态深度学习的微博情感预测方法 |
CN109213860A (zh) * | 2018-07-26 | 2019-01-15 | 中国科学院自动化研究所 | 融合用户信息的文本情感分类方法及装置 |
CN109492099A (zh) * | 2018-10-28 | 2019-03-19 | 北京工业大学 | 一种基于领域对抗自适应的跨领域文本情感分类方法 |
CN111666409A (zh) * | 2020-05-28 | 2020-09-15 | 武汉大学 | 一种基于综合深度胶囊网络的复杂评论文本的整体情感智能分类方法 |
CN111858935A (zh) * | 2020-07-13 | 2020-10-30 | 北京航空航天大学 | 一种航班点评的细粒度情感分类系统 |
CN112528668A (zh) * | 2020-11-27 | 2021-03-19 | 湖北大学 | 深层情感语义识别方法、系统、介质、计算机设备及终端 |
CN112860841A (zh) * | 2021-01-21 | 2021-05-28 | 平安科技(深圳)有限公司 | 一种文本情感分析方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于BERT和LSTM的情绪分析及关怀研究;任宇翔等;软件;第第 43 卷卷(第第 8 期期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113723083A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113723083B (zh) | 基于bert模型的带权消极监督文本情感分析方法 | |
CN111626063B (zh) | 一种基于投影梯度下降和标签平滑的文本意图识别方法及系统 | |
CN111274398B (zh) | 一种方面级用户产品评论情感分析方法及系统 | |
Settle et al. | Discriminative acoustic word embeddings: Tecurrent neural network-based approaches | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN109766277B (zh) | 一种基于迁移学习与dnn的软件故障诊断方法 | |
CN112183064B (zh) | 基于多任务联合学习的文本情绪原因识别系统 | |
CN112395393B (zh) | 一种基于多任务多示例的远程监督关系抽取方法 | |
CN113806494B (zh) | 一种基于预训练语言模型的命名实体识别方法 | |
CN109189862A (zh) | 一种面向科技情报分析的知识库构建方法 | |
CN113178193A (zh) | 一种基于智能语音芯片的中文自定义唤醒与物联交互方法 | |
Liu et al. | Binarized lstm language model | |
CN113094502A (zh) | 一种多粒度外卖用户评论情感分析方法 | |
CN109766523A (zh) | 词性标注方法和标注系统 | |
Zhang et al. | Modeling the clause-level structure to multimodal sentiment analysis via reinforcement learning | |
CN115238693A (zh) | 一种基于多分词和多层双向长短期记忆的中文命名实体识别方法 | |
CN114742069A (zh) | 一种代码相似度检测方法及装置 | |
CN115630156A (zh) | 一种融合Prompt和SRU的蒙古语情感分析方法与系统 | |
CN116029305A (zh) | 一种基于多任务学习的中文属性级情感分析方法、系统、设备及介质 | |
CN117633239B (zh) | 一种结合组合范畴语法的端到端方面情感识别方法 | |
Jeyakarthic et al. | Optimal bidirectional long short term memory based sentiment analysis with sarcasm detection and classification on twitter data | |
Wang et al. | The performance of improved XLNet on text classification | |
CN114254080A (zh) | 一种文本匹配方法、装置及设备 | |
Ma et al. | Pretrained Models with Adversarial Training for Named Entity Recognition in Scientific Text | |
CN114840637B (zh) | 一种结合最短依赖路径和XLNet模型的实体关系抽取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |