一种基于BERT和QA思想的细粒度情感分析方法技术

技术编号:24683805 阅读:26 留言:0更新日期:2020-06-27 08:04
本发明专利技术涉及自然语言处理中的文本情感分析领域,具体为一种基于BERT和QA思想的细粒度情感分析方法,通过在数据集中加入辅助句,将原本单句任务变成句子对任务,可以利用BERT模型在句子对任务中效果更好的特点;同时利用加入辅助句的方式,将BERT模型的下游任务变成问答任务,即从辅助句中找到提取出的方面对应的情感极性,将原本两步走的子任务可以用本技术提出的方法一步完成;本发明专利技术通过利用BERT模型,构建辅助句将下游任务改为QA任务,并对BERT模型进行微调,提高了在方面提取任务和情感分类两个子任务上的效果,可以提取多个方面词,提高了模型效率,减少相关冗余工作量。

A fine-grained emotion analysis method based on Bert and QA

【技术实现步骤摘要】
一种基于BERT和QA思想的细粒度情感分析方法
本专利技术涉及自然语言处理中的文本情感分析领域,具体为一种基于BERT和QA思想的细粒度情感分析方法。
技术介绍
目前互联网上的文本评论(包括社交评论、新闻评论、商品评价等等)都具有学术价值和商业价值,可以对评论或评价进行情感分析,识别对应用户对某事件或商品等的意见情感态度,例如,社交平台、新闻门户可以利用情感分析后的信息对用户有针对性的营销和推送;电商平台可以利用情感分析技术对商品的各方面的属性进行分析,得出消费者们的评价,既节省其他消费者浏览时间,也可以对商品的评价进行精细化的标签展示,而不是简单的好评中评差评。目前情感分析按照任务关注对象的粒度可以分为粗粒度和细粒度两类,其中粗粒度的任务关注对象是文档级和句子级,细粒度的任务关注对象是方面(Aspect)级,其中方面可以是一个词,也可以是多个词组成。由于粗粒度的情感分析是针对文档或者一个句子来给出对应的情感极性,这样的任务有比较大的缺陷,因为一个语句中可能包含对多个属性不同的情感极性,粗粒度的情感分析既不能挖掘出用户是针对商品或新闻的哪些属性或方面做出了表达,也不能了解是对具体属性表达了哪种情感,难以全面地覆盖用户的情绪表达,因此细粒度的情感分析具有更大的研究价值。细粒度的情感分析任务有两个子任务,即方面提取和方面级情感分类。目前现有的技术中,主要是分别进行方面提取和情感分类任务,在这两个子任务上进行改进。其中方面提取任务现有的技术主要包括无监督学习、半监督学习和监督学习,其中带监督学习中的深度学习相关模型,例如LSTM、CRF、BERT等都有比较出色的效果;而情感分类任务现有的技术主要分为基于情感词典的方法,基于机器学习的方法和基于深度学习的方法三种。而深度学习的方法在方面提取和情感分类任务相比于其他方法,都有较为出色的表现。但目前细粒度情感分析任务的主要问题是,第一针对于文本类的数据进行情感分析任务,一些深度学习模型例如CNN,RNN,LSTM等需要在大量文本数据集上进行预训练,耗时长;第二,目前细粒度情感分析任务主要都是分步走,先统一完成方面提取子任务后,再重新针对每一个句子判定对应方面的情感极性,这样效率较低。
技术实现思路
本专利技术的目的在于提供一种基于BERT和QA思想的细粒度情感分析方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于BERT和QA思想的细粒度情感分析方法,包括以下步骤:步骤一:选取SemEval2014年数据集作为语料,将所有的文本数据后加上辅助句;步骤二:对处理后的数据文本进行分词,使用30552个单词词汇表对句子x进行标记,在句子开头连接[CLS]标记,在辅助句与原句之间加入[SEP]标记,生成输入序列X,具体为:[CLS]原句序列[SEP]辅助句序列[SEP];步骤三:对输入序列X进行向量化表示,将输入文本序列中每个单词用预训练的单词特征向量表示,得到输入文本的词向量h0,表示为:ho∈R(n+2)×h其中h为隐含层的大小;步骤四:将步骤三得到的词向量h0作为L层的Transformer块的输入,训练得到融合句子语义的词向量hi,表示为:步骤五:构建可以提取多个方面的启发式方面提取器,具体包括以下子步骤:步骤5.1:基于融合句子语义的词向量hi和训练数据的方面,利用梯度下降的方法训练BERT模型,更新参数;定义每个句子对应的方面的开始位置和结束位置的概率ps和pe,即:gs=wshL,ps=softmax(gs)ge=wehL,pe=softmax(ge)其中,ws∈Rh,we∈Rh是需要训练的权向量,softmax为归一化函数;步骤5.2:预先标记训练数据集中目标实体的边界,得到标记列表T,得到一个开始向量ys∈R(n+2)和一个结束向量ye∈R(n+2),其中每个元素表示第i个token是否是一个目标方面的开始,表示第i个token是否是一个方面的结束;最小化真实开始位置和结束位置概率负对数之和,梯度下降训练模型:步骤5.3:提取多方面时会出现冗余无效的情况,例如:原句:Ilikethefoodbuttheservicewassoawful!真实方面:food,service预测方面:food,foodbuttheservice,servicewassoawful,service,…提出启发式的多边界算法,伪代码为:其中,gs表示开始位置的分值,ge表示结束位置的分值,γ为超参数,为设定的一个最低分数阈值,K为单句方面的最大数:算法的主要步骤是:a:初始化三个集合R,U,O(行1);b:根据训练完权向量得到的gs,ge中,选取分值高的前M个位置指标集合S和E,其中si表示集合S中,第i个开始位置的下标,ej表示集合E中,第j个结束位置的下标(行2);c:在结束位置不小于开始位置和的值相加超过γ的条件下(行3-8),将候选边界(si,ej)加入集合R中(行7-8),并将启发式正则数加入集合U中(行6,行8);d:利用非最大抑制算法去掉集合R中冗余的边界,即当集合R不是空集且集合O的大小小于K值时(行9-14),从集合R中去掉此时集合U中的最大值ui对应的边界rl,并把边界rl加入到集合O中(行10-11);当集合R中有与rl重叠的rk时,即检验利用细粒度的F1数值度量是否重叠,从集合R和集合U中删除对应的边界和值(行12-14),即从候选方面中删除冗余的方面;e:得到多方面对应的开始和结束位置的边界集合O(行15),即提取方面词结束;步骤六:将提取出的方面词的特征词向量和辅助句的特征词向量利用self-attention操作进行拼接,得到语义融合的辅助特征词向量,记为h'。步骤七:将辅助特征词向量通过前馈神经网络预测对应方面的情感极性,具体过程为:步骤7.1:情感极性数值通过在两个线性变换之间利用Tanh激活函数得到:其中,Wp和Wh'为两个需要训练的参数矩阵;情感极性概率为利用softmax函数对极性数值进行归一化,步骤7.2:利用最小化真实情感极性预测概率的负对数概率来梯度训练参数矩阵Wp,Wh'以及微调BERT模型,表示为:其中,yp为真实情感极性的one-hot表示向量;步骤7.3:利用公式梯度下降训练完毕BERT模型后,求出每个辅助特征词向量h'的情感极性概率,其中概率最大的值对应的情感词即为对应方面词的情感极性。优选的,所述步骤一中选取的数据集包括LAPTOP、REST、TWITTER这三个数据集。优选的,所述步骤一中辅助句内容为:“positiveornegativeorneutral”。优选的,所述步骤5.3算法过程中启发式正则数表示开始位置和本文档来自技高网
...

【技术保护点】
1.一种基于BERT和QA思想的细粒度情感分析方法,其特征在于:包括以下步骤:/n步骤一:选取SemEval2014年数据集作为语料,将所有的文本数据后加上辅助句;/n步骤二:对处理后的数据文本进行分词,使用30552个单词词汇表对句子x进行标记,在句子开头连接[CLS]标记,在辅助句与原句之间加入[SEP]标记,生成输入序列X,具体为:[CLS]原句序列[SEP]辅助句序列[SEP];/n步骤三:对输入序列X进行向量化表示,将输入文本序列中每个单词用预训练的单词特征向量表示,得到输入文本的词向量h

【技术特征摘要】
1.一种基于BERT和QA思想的细粒度情感分析方法,其特征在于:包括以下步骤:
步骤一:选取SemEval2014年数据集作为语料,将所有的文本数据后加上辅助句;
步骤二:对处理后的数据文本进行分词,使用30552个单词词汇表对句子x进行标记,在句子开头连接[CLS]标记,在辅助句与原句之间加入[SEP]标记,生成输入序列X,具体为:[CLS]原句序列[SEP]辅助句序列[SEP];
步骤三:对输入序列X进行向量化表示,将输入文本序列中每个单词用预训练的单词特征向量表示,得到输入文本的词向量h0,表示为:
ho∈R(n+2)×h
其中h为隐含层的大小;
步骤四:将步骤三得到的词向量h0作为L层的Transformer块的输入,训练得到融合句子语义的词向量hi,表示为:



步骤五:构建可以提取多个方面的启发式方面提取器,具体包括以下子步骤:
步骤5.1:基于融合句子语义的词向量hi和训练数据的方面,利用梯度下降的方法训练BERT模型,更新参数;
定义每个句子对应的方面的开始位置和结束位置的概率ps和pe,即:
gs=wshL,ps=softmax(gs)
ge=wehL,pe=softmax(ge)
其中,ws∈Rh,we∈Rh是需要训练的权向量,softmax为归一化函数;
步骤5.2:预先标记训练数据集中目标实体的边界,得到标记列表T,得到一个开始向量ys∈R(n+2)和一个结束向量ye∈R(n+2),其中每个元素表示第i个token是否是一个目标方面的开始,表示第i个token是否是一个方面的结束;
最小化真实开始位置和结束位置概率负对数之和,梯度下降训练模型:



步骤5.3:提取多方面时会出现冗余无效的情况,例如:
原句:Ilikethefoodbuttheservicewassoawful!
真实方面:food,service
预测方面:food,foodbuttheservice,servicewassoawful,service,…
提出启发式的多边界算法,伪代码为:






其中,gs表示开始位置的分值,ge表示结束位置的分值,γ为超参数,为设定的一个最低分数阈值,K为单句方面的最大数:
算法的主要步骤是:
a:初始化三个集合R,U,O(行1);
b:根据训练完权向量得到的gs,ge中,选取分值高的前M个位置指标集合S和E,其中si表示集合S中,第i个开始位置的下标,ej表示集合E中,第j个结束位置的下标(行2);
c:在结束位置不小于开始位置和的值相加超过γ的条件下(行3...

【专利技术属性】
技术研发人员:谭祥车海莺
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1