CN111985205A - 一种方面级情感分类模型 - Google Patents
一种方面级情感分类模型 Download PDFInfo
- Publication number
- CN111985205A CN111985205A CN202010778078.1A CN202010778078A CN111985205A CN 111985205 A CN111985205 A CN 111985205A CN 202010778078 A CN202010778078 A CN 202010778078A CN 111985205 A CN111985205 A CN 111985205A
- Authority
- CN
- China
- Prior art keywords
- sentence
- layer
- attention
- given
- word
- 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.)
- Pending
Links
- 230000008451 emotion Effects 0.000 title claims abstract description 67
- 238000013145 classification model Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 79
- 238000004364 calculation method Methods 0.000 claims abstract description 54
- 238000013528 artificial neural network Methods 0.000 claims abstract description 40
- 230000007246 mechanism Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 96
- 239000011159 matrix material Substances 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 43
- 230000002996 emotional effect Effects 0.000 claims description 17
- 230000003993 interaction Effects 0.000 claims description 17
- 238000011176 pooling Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 6
- 230000007935 neutral effect Effects 0.000 claims description 5
- 230000002349 favourable effect Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 239000004576 sand Substances 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 claims description 2
- 230000000306 recurrent effect Effects 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 4
- 238000013527 convolutional neural network Methods 0.000 abstract 2
- 238000013136 deep learning model Methods 0.000 abstract 1
- 238000003062 neural network model Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 241000287828 Gallus gallus Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 241000288105 Grus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 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/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种方面级情感分类模型,应用在方面级情感分类领域中的深度学习模型,多是选择卷积神经网络CNN或者循环神经网络RNN来提取句子中的特征,尤其是RNN与注意力机制的结合应用较为广泛且取得的效果不错。但RNN顺序处理数据的方式限制了模型的运行效率且计算代价较大,因此本申请提出采用多头注意力机制来提取特征;另外为了加强句子与给定方面的联系,将句子与给定方面交互建模,互相监督其注意力的生成。
Description
技术领域
本发明涉及人工智能技术领域,更具体地说,它涉及一种方面级情感分类模型。
背景技术
方面级情感分类是细粒度的情感分析任务,也是NLP的基本任务。先前是通过基于情感词典或手工特征的方法来解决该任务。基于情感词典的方法是利用情感词典的先验信息识别文本所表达的情感,因情感词典大小有限且忽略语义信息,从而模型的分类往往不准确。基于手工特征的方法是通过研究者设计的特征,利用支持向量机等机器学习方法作为分类器,对文本情感极性进行分类。在一个数据集上设计的特征因泛化能力不强,往往不能直接应用到另一个数据集上,需要重新设计新的特征,这就需要大量的人工。面对日益增长的文本数据分析需求,先前的方法难以高效的应对。于是研究者开始提出自动化的方法来解决方面级情感分类问题。
近年来,基于神经网络的方面级情感分类已成为主流。例如,Dong等人提出的AdaRNN根据上下文和它们之间的句法关系将词的情感自适应地传递到给定方面。这类依赖句法解析的模型对有噪声的数据(例如,Twitter),容易受到句法解析错误的影响。相比之下,因序列处理能力突出的循环神经网络在情感分析也被广泛应用,并证明了其有效性。例如,Tang等人提出TC-LSTM模型利用两个长短时记忆网络LSTM分别对给定方面与其左侧上下文和右侧上下文进行建模。基于神经网络的方法能够自动学习特征进行情感极性分类,对文本中的每个词做同样的处理,但文本中只有一部分词与给定方面的情感表达有关,无法区分词之间的重要性。例如SemEval2014 Restaurant数据集的数据:
“From the beginning,we were met by friendly staff members,and theconvenient parking at Chelsea Piers made it easy for us to get to the boat.”
上下文中“met”与给定方面“staff members”的情感极性毫无关系,而“friendly”与给定方面的情感极性紧密相关。上述基于神经网络的模型无法区分上下文中词对给定方面的重要性,于是注意力机制被引入了神经网络模型。
在神经网络模型中引入注意力机制取得了较好的分类效果,并得到了广泛应用。神经网络中的注意力机制能够自动识别源句子中给定方面的相关信息,直接提高神经网络模型提取特征的质量。例如,Zeng等人提出基于注意力的LSTM模型,利用注意力机制进一步获得文本特征,分析不同上下文词的权重。Wang等人提出将方面表示与词嵌入拼接,并在计算注意力时加入方面表示进行建模。以及Li等人利用双向LSTM和多注意力层进行方面级情感分类。因此,注意力机制对于方面级情感分类任务甚至实际应用是必不可少的。
基于注意力的神经网络模型在方面级情感分类任务中基本令人满意,但还有进一步提高的可能。这些模型通常是将注意力机制与循环神经网络相结合(例如,LSTM),但它不能并行处理数据。于是Vaswani等人提出多头注意力模型能够并行处理数据且效果很好。上述方法通过生成给定方面的表示来提高模型的准确率,可见给定方面对于情感分类是相当重要的。只有通过给定方面与上下文相互协调才能提高模型分类的准确率。
发明内容
本发明目的在于针对上述现有技术的不足,提出一种方面级情感分类模型。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种方面级情感分类模型,包括嵌入层、神经网络层、注意力层和输出层;
嵌入层用于将句子转化为对应的词向量表示;
神经网络层用于将句子的词向量表示转化为相应的隐藏状态序列;
注意力层用于从句子的隐藏状态中捕获对于识别给定方面的情感极性来说重要的信息;
输出层用于对注意力层的输出进行变化,输出句子对于给定方面表达的情感分类。
其中,包括以下分类方法:
S1:给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列;
S3:将S2得到的词向量矩阵输入到神经网络层,神经网络层将词向量读入,接着编码词向量,获得相应的隐藏状态:
其中,S3过程中,神经网络层选择门控循环单元GRU,其详细的计算过程详细如下:
GRU由重置门和更新门两部分构成,更新门用于决定删除和添加的内容,重置门用于决定遗忘以前信息的程度,计算过程如下:
其中,S4过程中,计算过程如下:
注意力层的输出传入输出层,通过分类器识别句子对于给定方面标的情感极性是积极、中性或消极,计算过程如下:
其中,包括以下分类方法:
T1:给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列;
T2:对于给定的句子对(S,A),嵌入层将给定方面与句子分别在预训练词向量矩阵中找到对应的词向量,形成句子的词向量矩阵和给定方面的词向量矩阵T3:将T2得到的给定方面词向量矩阵与句子词向量矩阵进行编码,提取给定方面与句子的特征;计算过程如下:
其中,αi表示句子中第i个隐藏状态的注意力权重,α为评分函数,计算过程如下:
给定方面的注意力权重计算过程如下:
其中,将注意力层的rc与rt输入注意力层拼接为r,通过softmax分类器进行分类,计算过程如下:
r=[rc;rt] (25)
其中,包括以下分类方法:
U1:给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列;
U3:对给定方面词向量矩阵与句子词向量矩阵进行编码,提取给定方面与句子的特征;将句子词向量矩阵X输入多头自注意力MHSA中,同时将句子词向量矩阵和给定方面句词向量矩阵输入MHA中,然后对MHSA和MHA中的输出分别进行卷积运算;
U4:经U3处理后,利用方面词隐藏状态和上下文隐藏状态的平均池化来监督方面词的注意力权重生成,上下文隐藏状态和方面词隐藏状态的平均池化来监督上下文的注意力权重生成。
其中,U3过程中,注意力机制的计算可以分为两个部分:第一部分,根据Query和Key来计算注意权重系数,首先根据Query和Key计算它们之间的相似性或者相关性,再对其原始分值进行归一化处理;第二部分,根据权重系数对Value进行加权求和;注意力分布为:
Attention(k,q)=softmax(α(k,q)) (27)
其中,α表示计算两者相似性或相关度的评分函数,具体计算如下:
α=ktanh([ki;qj]·Wa) (28)
特定的参数设置中,head为8,head之间参数不共享,将获得的不同表示连接在一起,通过线性变换获得MHA的最终结果,计算过程如下:
headi=Attention(k,q) (29)
其中,WO是需要学习的权重矩阵;
句子词嵌入矩阵对应q和k的值计算过程如下:
为加强上下文与方面词之间的交互,将上下文与方面词输入MHA中处理,这时,q与k的值不同,上下文为k,方面词为q,计算过程如下:
多头注意力机制输出后进行卷积运算,保证每个位置的隐藏维度最终都保持相同大小;卷积部分的完整连接层有两层密集层,第一层是Relu激活函数,第二层是线性激活函数,通过卷积核大小为1的卷积运算生成相应的权重;使用卷积运算对其进行转换,计算过程如下:
conv(h)=Relu(h*W1+b1)*W2+b2 (35)
通过隐藏层的处理,获得了有利于该任务的隐藏状态。
其中,U4过程中,计算过程如下:
将注意力层的rc与rt输入注意力层拼接为r,通过softmax分类器进行分类,计算过程如下:
r=[rc;rt] (44)
一种基于多头注意力的方面级情感分类模型,基于上述的方面级情感分类模型,包括嵌入层、隐藏层、交互层和输出层;
隐藏层与神经网络层作用相同;交互层与注意力层作用相同;
嵌入层是利用Glove词嵌入将句子和给定方面转化为词向量表示形式;
隐藏层是将句子的词向量利用多头自注意力捕获上下文内部联系,对给定方面的词向量利用多头注意力捕获句子与给定方面间联系,再分别利用卷积运算保证每个位置的隐藏维度最终都保持相同大小,获得隐藏层最终的隐藏状态;
交互层是句子与给定方面交互建模,分析不同词对于给定方面的情感极性的重要性,利用方面词隐藏状态和上下文隐藏状态的平均池化来监督方面词的注意力权重生成,上下文隐藏状态和方面词隐藏状态的平均池化来监督上下文的注意力权重生成;
输出层是将交互层的输出进行拼接后输入到函数中,得到情感极性的概率分布,最大概率为最终结果。
综上所述,本发明具有以下有益效果:
(1)本发明提出的方面级情感分类模型利用多头注意力机制与卷积运算获取隐藏状态,利用多头注意机制对上下文和方面词进行建模,增强了方面信息与句子的关联度,提高了模型对给定方面的情感极性分类;
(2)本发明提出的方面级情感分类模型在不同领域数据集上的分类准确率和macro-F1值均有不同程度的提高,且达到了较高的水平。
附图说明
图1是本发明实施例的SCBMA模型框架图;
图2是本发明实施例的基于注意力的方面级情感分类模型框架图;
图3是本发明图LSTM(左)与GRU(右)模型结构对比图;
图4是本发明实施例的基于交互注意力的方面级情感分类模型框架的结构示意图;
图5是本发明实施例的多头注意力机制结构示意图。
具体实施方式
本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。
假设给定一个句子对(S,A),其中方面词是由n个词组成的句子的序列,模型的目的是预测句子S关于给定方面A的情感极性是积极、消极或中性。基于多头注意力的方面级情感分类模型(SCBMA)主要分为四层:嵌入层、隐藏层、交互层和输出层,其模型结构如图1所示。嵌入层是利用Glove词嵌入将句子和给定方面转化为词向量表示形式。隐藏层是将句子的词向量利用多头自注意力捕获上下文内部联系,对给定方面的词向量利用多头注意力捕获句子与给定方面间联系,再分别利用卷积运算保证每个位置的隐藏维度最终都保持相同大小,获得隐藏层最终的隐藏状态。交互层是句子与给定方面交互建模,分析不同词对于给定方面的情感极性的重要性。利用方面词隐藏状态和上下文隐藏状态的平均池化来监督方面词的注意力权重生成,上下文隐藏状态和方面词隐藏状态的平均池化来监督上下文的注意力权重生成。输出层是将交互层的输出进行拼接后输入到softmax函数中,模型得到情感极性的概率分布,最大概率为最终结果。
基于注意力的方面级情感分类模型SCBA(Sentiment Classifier Based onAttention)是本申请提出的第一个基线模型,该模型是基于注意力的神经网络模型的基础版本,通过该模型进而了解交互注意力的方面级情感分类模型以及多注意力头的方面级情感分类模型。SCBA模型与交互注意力和多注意力模型不同的是,它是直接将整个句子输入模型进行编码,但未对给定方面进行处理。严格来说,SCBA模型可以看做句子级的情感分类模型。SCBA模型如图2所示。
从图2可以看出SCBA模型结构由嵌入层、神经网络层、注意力层、输出层四部分构成。假设输入为一个句子和给定方面,嵌入层的作用是将句子转化为对应的词向量表示;神经网络层的作用是将句子的词向量表示转化为相应的隐藏状态序列;注意力层的作用是从句子的隐藏状态中捕获对于识别给定方面的情感极性来说重要的信息。输出层的作用是对注意力层的输出进行变换,通过softmax函数输出句子对于给定方面表达的情感极性是积极、消极还是中性。下面对SCBA模型按照嵌入层、神经网络层、注意力层、输出层的顺序进行详细描述。
首先给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列。SCBA模型首先将整个句子的每个词在预训练词向量矩阵中找到对应的词向量,接着将这些词向量按照句子中词的顺序组合起来形成对应的词向量矩阵 然后将这个词向量矩阵输入神经网络层,这里的神经网络层选择的是LSTM的变体门控循环单元GRU(Gate Recurrent Unit),GRU的模型结构比LSTM简单,计算量更少,效率更高,因而在NLP领域被广泛应用。GRU根据句子中词的顺序依次将词向量读入,接着编码词向量,获得对应的隐藏状态,如公式1所示。
其中,词向量Wc i读入神经网络层后,输出隐藏状态第i个时间步用i表示,在神经网络层产生的用下标x表示。下面描述GRU详细的计算过程。前面提到GRU是在LSTM的基础上进行简化,使计算效率更高,其原因是GRU去掉了LSTM中的细胞状态,使用隐藏状态进行信息传递。
LSTM和GRU的核心是“门”结构,其中LSTM还包括细胞状态。在LSTM中“门”控制信息添加以及删除,细胞状态是信息传输的路径,保证信息在序列中传递。LSTM中的“门”是由遗忘门、输入门和输出门三部分构成,“门”里Sigmoid函数的值在0~1范围,利于更新和遗忘信息。在这里,任何数乘以0为0,表示该部分信息将会被遗忘;任何数乘以1为1,表示该部分信息将会被保留。遗忘门是将当前输入信息和前一个隐藏状态信息传递到Sigmoid函数,决定遗忘或保留哪些信息。输入门是将当前输入信息和前一个隐藏状态信息传递到Sigmoid函数,决定更新哪些信息;其次还将前一个隐藏状态信息和当前输入信息传递到tanh函数,创造新的候选值向量;最后将tanh函数和Sigmoid函数的输出值相乘,tanh函数的输出值被Sigmoid函数的输出值决定哪些信息重要需要保留下来。细胞状态是将前一个细胞状态与遗忘门输出的向量相乘,然后再与输入门输出的向量相加,最终获得新的细胞状态。输出门是将前一个隐藏状态信息和当前输入信息传递到Sigmoid函数;另外,新获得的细胞状态传递给tanh函数;最后将Sigmoid和tanh函数的输出值相乘,获得新的隐藏状态。LSTM模型的计算公式如2~7所示。
GRU由重置门、更新门两部分构成,更新门与LSTM中遗忘门和输入门的作用类似,决定删除哪些和添加哪些,重置门决定遗忘以前信息的程度。LSTM与GRU模型结构的对比如图3所示。
GRU模型的计算公式如8~11所示。
其中,在注意力层为目标句子,为源句子,et,i是目标句子中第t个位置和源句子的第i个位置之间匹配程度的评分,αt,i表示生成第t个目标词St时,分配给源句子第i个位置的注意力权重。当输入是不同的方面时,模型的注意力机制捕获句子与不同方面的重要部分。
注意力层的输出传入输出层,通过softmax分类器来识别句子对于给定方面标的的情感极性是积极、中性或消极。计算过程如公式15:
上述算法中涉及循环神经网络GRU和注意力机制,假设句子的长度为n,词嵌入维度为d(n<d)。注意力机制的时间复杂度为Ο(n2·d),GRU的时间复杂度为Ο(n·d2)。因此,算法的时间复杂度为Ο(n·d2)。
SCBA是一个简单的句子级情感分类模型,没有将给定方面信息纳入模型中。因此,SCBA模型无法解决句子中包含多个方面,但每个方面的情感极性不同的情况。例如,“Thefalafel was rather over cooked and dried but the chicken was fine.”句子,给定方面为“falafel”和“chicken”。句子对于给定方面“falafel”的情感极性是消极的,但对于给定方面“chicken”的情感极性是积极的。SCBA模型识别给定方面“falafel”和“chicken”的情感极性是一致的。Jiang等人指出情感分类任务中40%的错误是因为在情感分类中没有考虑给定方面造成的,近期研究往往加强给定方面在上下文模型中的作用。
上下文与给定方面相互作用,才能提高情感分类模型的性能。例如,“It's fast,light,and simple to use.”句子,“fast”与电脑反应搭配时,表达的情感是积极的。但与使用时间搭配时,表达的情感是消极的。如果将给定方面与上下文联系起来,交互学习,共同建模,就能够清晰了解上下文中的词指的是哪方面,给定方面所处的上下文是什么。因此,提出一种上下文与给定方面相互协调的基于交互注意力的方面级情感分类模型SCBIA(Sentiment Classification Based on Interactive Attention)。SCBIA模型为了更好的模拟给定方面的意义,使用GRU对给定方面建模。为了将给定方面和上下文更好地获取重要信息,给定方面与上下文分别计算注意力权重。为了识别给定方面在上下文的情感极性,结合给定方面表示和上下文表示。SCBIA模型如图4所示。
首先给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列。嵌入层将给定方面与句子分别在预训练的词向量词典中找到对应的词向量,形成句子的词向量矩阵和给定方面的词向量矩阵神经网络层将给定方面词向量矩阵与句子词向量矩阵进行编码,提取给定方面与句子的特征。计算公式16~17所示。
其中,是句子词向量编码后第i个时间步隐藏状态,是给定方面向量编码后的第i个时间步隐藏状态。最终生成句子隐藏状态序列和给定方面隐藏状态序列同时将HC和Ht通过池化技术获得对应隐藏状态序列平均值。计算方式如公式18~19。
上式中αi表示句子中第i个隐藏状态的注意力权重,α为评分函数,其计算过程如公式21所示。
同理,给定方面的注意力权重计算如公式22所示。
将注意力层的rc与rt输入注意力层拼接为r,通过softmax分类器进行分类,计算过程如公式25~26所示。
r=[rc;rt] (25)
上述算法中涉及循环神经网络GRU和注意力机制,假设句子的长度为n,词嵌入维度为d(n<d)。注意力机制的时间复杂度为Ο(n2·d),GRU的时间复杂度为Ο(n·d2)。因此,算法的时间复杂度为Ο(n·d2)。
SCBIA模型利用了方面信息,上下文与方面相互协调交互学习,相比于SCBA模型更加适合方面级情感分类任务。但是传统的神经网络注意力不能并行处理数据,模型的效率得不到提升。为了提升模型的效率,提出基于多头注意力的方面级情感分类模型SCBMA(Sentiment Classification Based on Multi-head Attention)。与SCBIA模型相比,SCBMA模型多次采用多头注意力MHA(Multi-head Attention),传统的神经网络由多头注意力和卷积运算来代替捕获上下文与方面的特征,注意力层也采用多头注意力实现上下文与方面的交互。图1给出了SCBMA的模型框架示意图,这里不再重复给出。下面对SCBMA模型的具体实现方法进行详细的解释。
首先给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列。嵌入层与SCBIA模型相同,将给定方面与句子分别在预训练的词向量词典中找到对应的词向量,形成句子的词向量矩阵和给定方面的词向量矩阵SCBMA模型的隐藏层与SCBIA模型的神经网络层作用一致,是对给定方面词向量矩阵与句子词向量矩阵进行编码,提取给定方面与句子的特征。将句子词向量矩阵X输入多头自注意力MHSA(Multi-head Self Attention)中,同时将句子词向量矩阵和给定方面句词向量矩阵输入MHA中,然后对MHSA和MHA中的输出分别进行卷积运算。由于这里采用了MHSA和MHA注意力机制,多头注意力机制的架构如图所示,下面描述多头注意力机制的实现。
注意力机制的计算可以分为两个部分:第一部分,根据Query和Key来计算注意权重系数,首先根据Query和Key计算它们之间的相似性或者相关性,再对其原始分值进行归一化处理;第二部分,根据权重系数对Value进行加权求和。相应的注意力分布可用公式27表示。
Attention(k,q)=softmax(α(k,q)) (27)
其中,α表示计算两者相似性或相关度的评分函数,其具体计算如公式28所示。
α=ktanh([ki;qj]·Wa) (28)
与传统注意力机制不同的是,MHA能够并行计算数据,因为MHA允许模型在不同位置共同关注不同表示子空间的信息,如果只有一个注意力头,平均值就会受到抑制。特定的参数设置中,head为8,head之间参数不共享,将获得的不同表示连接在一起,通过线性变换获得MHA的最终结果。计算过程如公式29~30所示。
headi=Attention(k,q) (29)
其中,WO是需要学习的权重矩阵。
根据不同的情况,注意力机制可以分为MHA和MHSA,它们的区别在于q与k的值是否相同,MHSA是在特殊情况q=k的典型注意力机制,模型中上下文是通过MHSA处理的,句子词嵌入矩阵对应q和k的值,计算过程如31~32所示。
为了加强上下文与方面词之间的交互,将上下文与方面词输入MHA中处理,这时,q与k的值不同,上下文为k,方面词为q。计算过程如公式33~34所示。
多头注意力机制输出后进行卷积运算,保证每个位置的隐藏维度最终都保持相同大小。卷积部分的完整连接层有两层密集层,第一层是Relu激活函数,第二层是线性激活函数,通过卷积核大小为1的卷积运算生成相应的权重。为了进一步分析上下文与方面词的信息,使用卷积运算对其进行转换。计算过程如公式35所示。
conv(h)=Relu(h*W1+b1)*W2+b2 (35)
通过隐藏层的处理,获得了有利于该任务的隐藏状态。实验证明,该方法的效果远优于仅使用神经网络最终结果。
为了加强上下文与方面词之间的联系,隐藏层输出后进入交互层。交互层目的是分析不同词对于给定方面的情感极性的重要性。利用方面词隐藏状态和上下文隐藏状态的平均池化来监督方面词的注意力权重生成,上下文隐藏状态和方面词隐藏状态的平均池化来监督上下文的注意力权重生成。计算过程如40~43所示。
将注意力层的rc与rt输入注意力层拼接为r,通过softmax分类器进行分类,计算过程如公式44~45。
r=[rc;rt] (44)
上述算法中涉及多头注意力和卷积运算,假设句子的长度为n,词嵌入维度为d(n<d),卷积运算的内核大小为1。多头注意力的时间复杂度为Ο(n2·d),卷积运算的时间复杂度为Ο(n·d2)。因此,算法的时间复杂度为Ο(n·d2)。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
Claims (9)
1.一种方面级情感分类模型,其特征在于,包括嵌入层、神经网络层、注意力层和输出层;
嵌入层用于将句子转化为对应的词向量表示;
神经网络层用于将句子的词向量表示转化为相应的隐藏状态序列;
注意力层用于从句子的隐藏状态中捕获对于识别给定方面的情感极性来说重要的信息;
输出层用于对注意力层的输出进行变化,输出句子对于给定方面表达的情感分类。
2.根据权利要求1所述的方面级情感分类模型,其特征在于,包括以下分类方法:
S1:给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列;
S3:将S2得到的词向量矩阵输入到神经网络层,神经网络层将词向量读入,接着编码词向量,获得相应的隐藏状态:
5.根据权利要求1所述的方面级情感分类模型,其特征在于,包括以下分类方法:
T1:给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列;
T3:将T2得到的给定方面词向量矩阵与句子词向量矩阵进行编码,提取给定方面与句子的特征;计算过程如下:
其中,αi表示句子中第i个隐藏状态的注意力权重,α为评分函数,计算过程如下:
给定方面的注意力权重计算过程如下:
其中,将注意力层的rc与rt输入注意力层拼接为r,通过softmax分类器进行分类,计算过程如下:
r=[rc;rt] (25)
6.根据权利要求1所述的方面级情感分类模型,其特征在于,包括以下分类方法:
U1:给定一个句子对(S,A),其中m个词组成的方面词A={t1,t2,…,tm}是n个词组成的句子S={c1,c2,…,cn}的子序列;
U3:对给定方面词向量矩阵与句子词向量矩阵进行编码,提取给定方面与句子的特征;将句子词向量矩阵X输入多头自注意力MHSA中,同时将句子词向量矩阵和给定方面句词向量矩阵输入MHA中,然后对MHSA和MHA中的输出分别进行卷积运算;
U4:经U3处理后,利用方面词隐藏状态和上下文隐藏状态的平均池化来监督方面词的注意力权重生成,上下文隐藏状态和方面词隐藏状态的平均池化来监督上下文的注意力权重生成。
7.根据权利要求6所述的方面级情感分类模型,其特征在于,所述U3过程中,注意力机制的计算可以分为两个部分:第一部分,根据Query和Key来计算注意权重系数,首先根据Query和Key计算它们之间的相似性或者相关性,再对其原始分值进行归一化处理;第二部分,根据权重系数对Value进行加权求和;注意力分布为:
Attention(k,q)=softmax(α(k,q)) (27)
其中,α表示计算两者相似性或相关度的评分函数,具体计算如下:
α=ktanh([ki;qj]·Wa) (28)
特定的参数设置中,head为8,head之间参数不共享,将获得的不同表示连接在一起,通过线性变换获得MHA的最终结果,计算过程如下:
headi=Attention(k,q) (29)
其中,WO是需要学习的权重矩阵;
句子词嵌入矩阵对应q和k的值计算过程如下:
为加强上下文与方面词之间的交互,将上下文与方面词输入MHA中处理,这时,q与k的值不同,上下文为k,方面词为q,计算过程如下:
tm={Wt 1,Wt 2,...,Wt n} (34)
多头注意力机制输出后进行卷积运算,保证每个位置的隐藏维度最终都保持相同大小;卷积部分的完整连接层有两层密集层,第一层是Relu激活函数,第二层是线性激活函数,通过卷积核大小为1的卷积运算生成相应的权重;使用卷积运算对其进行转换,计算过程如下:
conv(h)=Relu(h*W1+b1)*W2+b2 (35)
通过隐藏层的处理,获得了有利于该任务的隐藏状态。
9.一种基于多头注意力的方面级情感分类模型,基于权利要求1至8任一所述的方面级情感分类模型,其特征在于,包括嵌入层、隐藏层、交互层和输出层;
隐藏层与神经网络层作用相同;交互层与注意力层作用相同;
嵌入层是利用Glove词嵌入将句子和给定方面转化为词向量表示形式;
隐藏层是将句子的词向量利用多头自注意力捕获上下文内部联系,对给定方面的词向量利用多头注意力捕获句子与给定方面间联系,再分别利用卷积运算保证每个位置的隐藏维度最终都保持相同大小,获得隐藏层最终的隐藏状态;
交互层是句子与给定方面交互建模,分析不同词对于给定方面的情感极性的重要性,利用方面词隐藏状态和上下文隐藏状态的平均池化来监督方面词的注意力权重生成,上下文隐藏状态和方面词隐藏状态的平均池化来监督上下文的注意力权重生成;
输出层是将交互层的输出进行拼接后输入到函数中,得到情感极性的概率分布,最大概率为最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010778078.1A CN111985205A (zh) | 2020-08-05 | 2020-08-05 | 一种方面级情感分类模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010778078.1A CN111985205A (zh) | 2020-08-05 | 2020-08-05 | 一种方面级情感分类模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111985205A true CN111985205A (zh) | 2020-11-24 |
Family
ID=73445124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010778078.1A Pending CN111985205A (zh) | 2020-08-05 | 2020-08-05 | 一种方面级情感分类模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985205A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527966A (zh) * | 2020-12-18 | 2021-03-19 | 重庆邮电大学 | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 |
CN112784909A (zh) * | 2021-01-28 | 2021-05-11 | 哈尔滨工业大学 | 基于自注意力机制和自适应子网络的图像分类识别方法 |
CN112905796A (zh) * | 2021-03-16 | 2021-06-04 | 山东亿云信息技术有限公司 | 基于再注意力机制的文本情绪分类方法及*** |
CN113254592A (zh) * | 2021-06-17 | 2021-08-13 | 成都晓多科技有限公司 | 基于门机制的多级注意力模型的评论方面检测方法及*** |
CN113378545A (zh) * | 2021-06-08 | 2021-09-10 | 北京邮电大学 | 一种方面级情感分析方法、装置、电子设备及存储介质 |
CN113468292A (zh) * | 2021-06-29 | 2021-10-01 | ***股份有限公司 | 方面级情感分析方法、装置及计算机可读存储介质 |
CN114781352A (zh) * | 2022-04-07 | 2022-07-22 | 重庆邮电大学 | 一种基于语法依赖类型和方面间关联的情感分析方法 |
CN115392260A (zh) * | 2022-10-31 | 2022-11-25 | 暨南大学 | 一种面向特定目标的社交媒体推文情感分析方法 |
CN117131182A (zh) * | 2023-10-26 | 2023-11-28 | 江西拓世智能科技股份有限公司 | 一种基于ai的对话回复生成方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472031A (zh) * | 2018-11-09 | 2019-03-15 | 电子科技大学 | 一种基于双记忆注意力的方面级别情感分类模型及方法 |
CN109902174A (zh) * | 2019-02-18 | 2019-06-18 | 山东科技大学 | 一种基于方面依赖的记忆网络的情感极性检测方法 |
-
2020
- 2020-08-05 CN CN202010778078.1A patent/CN111985205A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472031A (zh) * | 2018-11-09 | 2019-03-15 | 电子科技大学 | 一种基于双记忆注意力的方面级别情感分类模型及方法 |
CN109902174A (zh) * | 2019-02-18 | 2019-06-18 | 山东科技大学 | 一种基于方面依赖的记忆网络的情感极性检测方法 |
Non-Patent Citations (2)
Title |
---|
ZHANG QIUYUE 等: "Interactive multi-head attention networks for aspect-level sentiment classification", 《IEEE ACCESS》, vol. 7, pages 160017 - 160028, XP011754275, DOI: 10.1109/ACCESS.2019.2951283 * |
刘博: "基于深度学习的方面级情感分析研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 01, pages 138 - 3250 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527966B (zh) * | 2020-12-18 | 2022-09-20 | 重庆邮电大学 | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 |
CN112527966A (zh) * | 2020-12-18 | 2021-03-19 | 重庆邮电大学 | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 |
CN112784909A (zh) * | 2021-01-28 | 2021-05-11 | 哈尔滨工业大学 | 基于自注意力机制和自适应子网络的图像分类识别方法 |
CN112905796A (zh) * | 2021-03-16 | 2021-06-04 | 山东亿云信息技术有限公司 | 基于再注意力机制的文本情绪分类方法及*** |
CN112905796B (zh) * | 2021-03-16 | 2023-04-18 | 山东亿云信息技术有限公司 | 基于再注意力机制的文本情绪分类方法及*** |
CN113378545A (zh) * | 2021-06-08 | 2021-09-10 | 北京邮电大学 | 一种方面级情感分析方法、装置、电子设备及存储介质 |
CN113378545B (zh) * | 2021-06-08 | 2022-02-11 | 北京邮电大学 | 一种方面级情感分析方法、装置、电子设备及存储介质 |
CN113254592A (zh) * | 2021-06-17 | 2021-08-13 | 成都晓多科技有限公司 | 基于门机制的多级注意力模型的评论方面检测方法及*** |
CN113468292A (zh) * | 2021-06-29 | 2021-10-01 | ***股份有限公司 | 方面级情感分析方法、装置及计算机可读存储介质 |
CN113468292B (zh) * | 2021-06-29 | 2024-06-25 | ***股份有限公司 | 方面级情感分析方法、装置及计算机可读存储介质 |
CN114781352A (zh) * | 2022-04-07 | 2022-07-22 | 重庆邮电大学 | 一种基于语法依赖类型和方面间关联的情感分析方法 |
CN115392260A (zh) * | 2022-10-31 | 2022-11-25 | 暨南大学 | 一种面向特定目标的社交媒体推文情感分析方法 |
CN117131182A (zh) * | 2023-10-26 | 2023-11-28 | 江西拓世智能科技股份有限公司 | 一种基于ai的对话回复生成方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985205A (zh) | 一种方面级情感分类模型 | |
Zhou et al. | A comprehensive survey on pretrained foundation models: A history from bert to chatgpt | |
CN109472024B (zh) | 一种基于双向循环注意力神经网络的文本分类方法 | |
CN108416065B (zh) | 基于层级神经网络的图像-句子描述生成***及方法 | |
CN111859978A (zh) | 一种基于深度学习的情感文本生成方法 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN117094291B (zh) | 基于智能写作的自动新闻生成*** | |
CN114330338A (zh) | 融合关联信息的程式语识别***及方法 | |
Guo et al. | Implicit discourse relation recognition via a BiLSTM-CNN architecture with dynamic chunk-based max pooling | |
CN115796182A (zh) | 一种基于实体级跨模态交互的多模态命名实体识别方法 | |
CN114881042A (zh) | 基于图卷积网络融合句法依存与词性的中文情感分析方法 | |
Li et al. | Combining local and global features into a Siamese network for sentence similarity | |
CN115510236A (zh) | 基于信息融合和数据增强的篇章级事件检测方法 | |
CN116258147A (zh) | 一种基于异构图卷积的多模态评论情感分析方法及*** | |
Bao et al. | Question generation with doubly adversarial nets | |
Nam et al. | A survey on multimodal bidirectional machine learning translation of image and natural language processing | |
Yong et al. | A new emotion analysis fusion and complementary model based on online food reviews | |
CN117932066A (zh) | 一种基于预训练的“提取-生成”式答案生成模型及方法 | |
Liu et al. | Chinese named entity recognition based on BERT with whole word masking | |
CN116662924A (zh) | 基于双通道与注意力机制的方面级多模态情感分析方法 | |
Yuan et al. | FFGS: Feature fusion with gating structure for image caption generation | |
CN116629361A (zh) | 基于本体学习和注意力机制的知识推理方法 | |
CN115169429A (zh) | 一种轻量化方面级文本情感分析方法 | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 |
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 |