面向个人推文的话题情感倾向性预测模型的建模方法及系统

文档序号:26193697发布日期:2021-08-06 18:47阅读:125来源:国知局
面向个人推文的话题情感倾向性预测模型的建模方法及系统

本发明涉及数据挖掘技术领域,具体地,涉及面向个人推文的话题情感倾向性预测模型的建模方法及系统。



背景技术:

随着人工智能与大数据的发展,预训练语言模型正在越来越多的用于自然语言处理中。bert是谷歌在2018年提出的处理自然语言处理任务的预训练模型,编码器是由双向transformer组成,解码器是对应任务中需要预测的信息,以解决之前预训练模型无法充分了解到单词上下文结构这一痛点。bert和之前的预训练模型类似,主要分成预训练和微调两个阶段:在预训练阶段,bert是在大量未标记的数据上进行无监督学习,通过maskedlanguagemodel(mlm)和nextsentenceprediction(nsp)两个新颖的方式进行预训练,捕捉上下文、短语和句子之间的关系,获得句子级别的表示以应用于不同类型的下游任务。

bert中的词嵌入层是由三个部分组成的:tokenembeddings、segmentembeddings和positionembeddings。tokenembeddings是token级别的,bert通过wordpiece将word切成sub-word,并以[cls]、[sep]分别作为句子的开始token和结束token;segmentembeddings主要用以区分句子对,embeddinga和embeddingb分别表示左右两个不同的句子,用于mlm的预训练任务和下游以两个句子为输入的任务;positionembeddings描述每个token的位置,是学习得到的值。这三个不同词嵌入相加所得即是bert最终输入的词嵌入。

由于预训练的模型已经完成了句子和句子对的向量表示,如图1所示,在微调过程中,根据不同的下游任务,可以将具体的输入输出适配到bert中,在核心模型中添加一个层,采用端到端的方式去微调模型参数。在单句分类任务中,bert的微调方法是在transformer的输出加一个分类层:根据[cls]标志生成一组特征向量,并通过一层全连接进行微调。损失函数根据任务类型自行设计,例如多分类的softmax或者二分类的sigmoid。

本发明提出的用户层级模型是利用个人过去的推文预测他/她对某个潜在话题的情感倾向,是第一个在推文情感分析中加入用户信息,构建个人和不同话题情感倾向之间的关系,而非对单句推文进行基于话题词的情感分类。一项用于对单句同时提取话题词和对话题词的情感分类的方案为inabsa,如图2所示;

该模型对句子中每个单词打标,将话题词和情感词的标注合二为一。在模型中,boundaryguidance(bg)、sentimentconsistency(sc)和opinion-enhancedtargetworddetection(oe)是三个重要的模块,加上两层lstm,深度挖掘情感词和话题词之间的关系。但这种结构并不能解决带有用户信息的推文,并对个人对某话题的情感倾向做出预测。

专利文献cn103793503a(申请号:201410035384.0)公开了一种基于web文本的观点挖掘与分类的方法,属于数据挖掘技术领域。本发明通过网络爬虫、观点挖掘、信息抽取、机器学习等技术从互联网中获取、发现新的话题,并持续跟踪和关注该话题,通过对得到话题的情感倾向性及真伪倾向性的综合分析。本发明能快速有效地在大数据时代背景下,通过从中挖掘热点主题倾向性走势,分析影响因子,为减少舆论导向对公众的负面影响,为互联网管理的决策提供参考。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种面向个人推文的话题情感倾向性预测模型的建模方法及系统。

根据本发明提供的一种面向个人推文的话题情感倾向性预测模型的建模方法,包括:

步骤m1:根据情感词典将推文中的情感词去除,得到去除情感词的推文;

步骤m2:在推文语料库中利用去除情感词的推文和情感标签输入bert模型对bert模型进行训练,得到训练后的bert模型;

步骤m3:利用训练后的bert模型对去除情感词的推文和话题词进行特征提取得到隐层向量;

步骤m4:将话题词对应的隐层向量通过注意力机制进行整合,拼接到去除情感词的推文每个字符向量后面,得到新的词向量;

步骤m5:新的词向量通过cnn分类器对情感类别进行概率分布预测;

所述推文包括标有情感类别yi∈{负向,正向}以及话题词

优选地,所述步骤m3包括:话题词利用训练后的bert模型得到对应的隐层

优选地,所述步骤m4包括:

步骤m4.1:将隐层向量通过注意力机制进行整合;

其中,话题词注意力向量是基于h(i)的自注意力分布;t表示矩阵转置符号;i表示推文集中第i句推文;

α(i)=softmax(tanh(h(i)w1)w2)(2)

其中,都是注意力机制的权重;k表示词向量的维度,即bert隐层维度;表示实数集;

步骤m4.2:将整合后的隐层向量添加到去除情感词的推文中每个字符向量的后面,得到新的词向量;

其中,j表示第j个token。

优选地,所述步骤m5包括:

步骤m5.1:新的词向量输入cnn分类器通过与卷积核卷积,得到卷积层的隐层向量;

其中,w表示过滤器;°表示卷积操作;是偏置;f是relu激活函数;

步骤m5.2:句子中所有长度为q的序列经过过滤器w生成一个特征映射:

其中,n表示隐层维度/词向量维度;

步骤m5.3:最大值池化选择最大值作为c在过滤器w下得到的特征;

步骤m5.4:使用不同核大小的过滤器分别提取不同的特征,得到所有的特征;

步骤m5.5:全连接层将所有的特征映射连接起来,通过softmax激活函数得到对于情感类别yi∈{负向,正向}两个类别的预测概率分布。

根据本发明提供的一种面向个人推文的话题情感倾向性预测模型的建模系统,包括:

模块s1:根据情感词典将推文中的情感词去除,得到去除情感词的推文;

模块s2:在推文语料库中利用去除情感词的推文和情感标签输入bert模型对bert模型进行训练,得到训练后的bert模型;

模块s3:利用训练后的bert模型对去除情感词的推文和话题词进行特征提取得到隐层向量;

模块s4:将话题词对应的隐层向量通过注意力机制进行整合,拼接到去除情感词的推文每个字符向量后面,得到新的词向量;

模块s5:新的词向量通过cnn分类器对情感类别进行概率分布预测;

所述推文包括标有情感类别yi∈{负向,正向}以及话题词

优选地,所述模块s3包括:话题词利用训练后的bert模型得到对应的隐层

优选地,所述模块s4包括:

模块s4.1:将隐层向量通过注意力机制进行整合;

其中,话题词注意力向量是基于h(i)的自注意力分布;t表示矩阵转置符号;i表示推文集中第i句推文;

α(i)=softmax(tanh(h(i)w1)w2)(2)

其中,都是注意力机制的权重;k表示词向量的维度,即bert隐层维度;表示实数集;

模块s4.2:将整合后的隐层向量添加到去除情感词的推文中每个字符向量的后面,得到新的词向量;

其中,j表示第j个token。

优选地,所述模块s5包括:

模块s5.1:新的词向量输入cnn分类器通过与卷积核卷积,得到卷积层的隐层向量;

其中,w表示过滤器;°表示卷积操作;是偏置;f是relu激活函数;

模块s5.2:句子中所有长度为q的序列经过过滤器w生成一个特征映射:

其中,n表示隐层维度/词向量维度;

模块s5.3:最大值池化选择最大值作为c在过滤器w下得到的特征;

模块s5.4:使用不同核大小的过滤器分别提取不同的特征,得到所有的特征;

模块s5.5:全连接层将所有的特征映射连接起来,通过softmax激活函数得到对于情感类别yi∈{负向,正向}两个类别的预测概率分布。

与现有技术相比,本发明具有如下的有益效果:

1、本发明构建用户和话题情感极性之间的关系,传统的情感分类模型都是针对单句推文的某话题词进行情感分类,模型核心是准确定位话题词及话题词周围的情感词汇,且现有的推文情感分类数据集不包含用户信息。而本发明则是对每个用户过去的推文分别建模,通过去除情感词,来捕捉用户和不同话题情感极性之间的关系,实现对潜在话题的情感预测。

2、本发明基于话题词表示句子,本发明通过微调bert更全面的捕捉句子内部双向语义依赖关系,话题词级别的注意力机制使得对话题词的表示更为精确,将话题词词向量拼接在句子每个单词词向量之后,使得模型在表示句子时,既捕捉了句子全局的关系又侧重话题词的语义,有助于上层的分类。

3、本发明提高对潜在话题情感预测的准确率,由于没有公开的以用户为单位收集的推文,在三个自己建立并标注的数据集上,用户层级模型在验证集上的分类准确率较现有的情感分类模型相比有提升显著,且在测试集上对潜在话题情感极性的预测误差也比现有的情感分类模型小。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为不同任务中bert微调示意图

图2为inabsa结构示意图;

图3为面向个人推文的话题情感倾向性预测模型的建模系统的示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

实施例1

根据本发明提供的一种面向个人推文的话题情感倾向性预测模型的建模方法,包括:

步骤m1:根据情感词典将推文中的情感词去除,得到去除情感词的推文;

步骤m2:在推文语料库中利用去除情感词的推文和情感标签输入bert模型对bert模型进行训练,得到训练后的bert模型;

步骤m3:利用训练后的bert模型对去除情感词的推文和话题词进行特征提取得到隐层向量;

步骤m4:将话题词对应的隐层向量通过注意力机制进行整合,拼接到去除情感词的推文每个字符向量后面,得到新的词向量;

步骤m5:新的词向量通过cnn分类器对情感类别进行概率分布预测;

所述推文包括标有情感类别yi∈{负向,正向}以及话题词

具体地,所述步骤m3包括:话题词利用训练后的bert模型得到对应的隐层

具体地,所述步骤m4包括:

步骤m4.1:将隐层向量通过注意力机制进行整合;

其中,话题词注意力向量是基于h(i)的自注意力分布;t表示矩阵转置符号;i表示推文集中第i句推文;

α(i)=softmax(tanh(h(i)w1)w2)(2)

其中,都是注意力机制的权重;k表示词向量的维度,即bert隐层维度;表示实数集;

步骤m4.2:将整合后的隐层向量添加到去除情感词的推文中每个字符向量的后面,得到新的词向量;

其中,j表示第j个token。

具体地,所述步骤m5包括:

步骤m5.1:新的词向量输入cnn分类器通过与卷积核卷积,得到卷积层的隐层向量;

其中,w表示过滤器;°表示卷积操作;是偏置;f是relu激活函数;

步骤m5.2:句子中所有长度为q的序列经过过滤器w生成一个特征映射:

其中,n表示隐层维度/词向量维度;

步骤m5.3:最大值池化选择最大值作为c在过滤器w下得到的特征;

步骤m5.4:使用不同核大小的过滤器分别提取不同的特征,得到所有的特征;

步骤m5.5:全连接层将所有的特征映射连接起来,通过softmax激活函数得到对于情感类别yi∈{负向,正向}两个类别的预测概率分布。

根据本发明提供的一种面向个人推文的话题情感倾向性预测模型的建模系统,包括:

模块s1:根据情感词典将推文中的情感词去除,得到去除情感词的推文;

模块s2:在推文语料库中利用去除情感词的推文和情感标签输入bert模型对bert模型进行训练,得到训练后的bert模型;

模块s3:利用训练后的bert模型对去除情感词的推文和话题词进行特征提取得到隐层向量;

模块s4:将话题词对应的隐层向量通过注意力机制进行整合,拼接到去除情感词的推文每个字符向量后面,得到新的词向量;

模块s5:新的词向量通过cnn分类器对情感类别进行概率分布预测;

所述推文包括标有情感类别yi∈{负向,正向}以及话题词

具体地,所述模块s3包括:话题词利用训练后的bert模型得到对应的隐层

具体地,所述模块s4包括:

模块s4.1:将隐层向量通过注意力机制进行整合;

其中,话题词注意力向量是基于h(i)的自注意力分布;t表示矩阵转置符号;i表示推文集中第i句推文;

α(i)=softmax(tanh(h(i)w1)w2)(2)

其中,都是注意力机制的权重;k表示词向量的维度,即bert隐层维度;表示实数集;

模块s4.2:将整合后的隐层向量添加到去除情感词的推文中每个字符向量的后面,得到新的词向量;

其中,j表示第j个token。

具体地,所述模块s5包括:

模块s5.1:新的词向量输入cnn分类器通过与卷积核卷积,得到卷积层的隐层向量;

其中,w表示过滤器;°表示卷积操作;是偏置;f是relu激活函数;

模块s5.2:句子中所有长度为q的序列经过过滤器w生成一个特征映射:

其中,n表示隐层维度/词向量维度;

模块s5.3:最大值池化选择最大值作为c在过滤器w下得到的特征;

模块s5.4:使用不同核大小的过滤器分别提取不同的特征,得到所有的特征;

模块s5.5:全连接层将所有的特征映射连接起来,通过softmax激活函数得到对于情感类别yi∈{负向,正向}两个类别的预测概率分布。

实施例2

实施例2是实施例1的变化例

现有的用于推文情感分析的模型大多旨在准确定位推文话题词和情感词,高度依赖情感词汇。模型大多是基于lstm,叠加和情感词相关的细节处理模块,捕捉话题词与周围情感词的关联。但这样的模型没有考虑用户信息,无法捕捉用户个人和不同话题情感极性之间的关联,所以现有成熟的情感分类模型均不适用于解决上述提到的技术问题。

本发明是对个人建模,通过对推文去除情感词、微调bert、话题词注意力机制和cnn分类器对个人和话题情感之间的关系建模。该模型在不同的推特用户上无论是分类任务还是对潜在话题预测的量化任务的结果都在现有的情感分类模型上有明显提升。

本发明通过将一个推文首先过滤情感词,和情感标签一起送进bert进行微调,对推文进行bert特征提取得到隐层向量,话题词级别注意力机制将话题词的词向量整合并添加到推文中每个字符向量的后面,新的词向量通过cnn分类器得到预测是正向还是负向。

本发明提出的模型是将文本转换成向量,根据不同模块捕捉用户和话题词情感倾向之间的关系,最后得到二元分类的预测概率。从图3中可以看出,用户层级模块主要分成去情感词、微调bert、话题词级别注意力机制和cnn分类器组成。每个用户有多条推文{s1,s2,…,sm},一条包含n个单词的推文si可表示为每条推文都标有情感类别yi∈{negative,positive}以及话题词具体模块如下:

去情感词

为了更好的构建用户个人和不同话题词情感倾向之间的关系,模型会在最初根据情感词典,将推文中的情感词去除,得到在送入bert前,每个推文会被分割成子单词并添加[pad]填充至长度n。词嵌入层会叠加字符词嵌入、位置词嵌入和段落词嵌入,得到k维的词向量,第i个字符的词向量可表示为

微调bert,如图1所示

将推文和情感分类标签送入bert,在用户的推文语料库上对bert进行分类任务的微调。二元分类任务是对[cls]进行池化,和全连接层及softmax层相连,得到两个分类的可能性概率分布。在微调阶段,首先用训练数据集对bert进行二分类的微调,其次通过bert-as-service模块从已微调的bert提取编码器的最后一层作为推文的隐层,则第i句推文si可表示成:

其中,‖是拼接符号,n是序列最大长度,k是bert编码器隐层大小,和词嵌入维度相等。

对话题词我们以同样的方式获得它们的隐层向量:

话题词级别注意力机制

话题词级别注意力机制是用于将两个单词的话题词向量聚合成一个词向量。由于短语中每个词对词义的贡献占比不同,所以不应该取平均值,而是计算注意力向量。话题词对应的隐层我们根据以下公式计算话题词聚合后的词向量:

其中,话题词注意力向量是基于h(i)的自注意力分布,将话题词隐层作为输入送进一个双层感知机:

α(i)=softmax(tanh(h(i)w1)w2)(3)

其中都是注意力机制的权重。

当聚合话题词向量后,将该向量拼接至推文的每个token词向量之后,以获得话题词相关的词向量:

其中

cnn分类器

由于cnn擅长捕捉句子中短距离依赖关系,cnn越来越多的被用于文本分类任务。

在图3可以看出卷积操作涉及三个不同的卷积核大小,假设是一个用于q个token长度的过滤器,则特征cj可表示为:

其中°表示卷积操作,是偏置,f是relu激活函数。句子中所有长度为q的序列经过该过滤器会生成一个特征映射:

最大值池化会选择最大值作为c在过滤器w下得到的特征。由于一个过滤器可以提取一种特征,模型使用不同核大小的过滤器分别提取不同的特征。全连接层将所有的特征映射连接起来,通过softmax激活函数得到对于{negative,positive}两个类别的预测概率分布。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1