一种面向多类别的二次情感分类方法与流程

文档序号:18544974发布日期:2019-08-27 21:34阅读:226来源:国知局
一种面向多类别的二次情感分类方法与流程

本发明涉及自然语言处理领域中的情感分类任务,具体来说,涉及一种基于用户和物品的交互信息的面向多类别的二次情感分类方法。



背景技术:

情感分类(sentimentclassification)是自然语言处理领域中的一项基础任务,其目的是推断用户对于物品的评论的情感等级。随着互联网技术的蓬勃发展,如今已经进入信息爆炸的时代。如何从用户的海量数据中提取出用户的情感信息变得尤为重要,特别是在电商领域中,情感分类能够帮助商家分析用户的情感倾向,从而进行服务优化,给予用户更好的物品使用体验。

在早期研究中,研究者们将情感分类任务视为特殊的文本分类任务,使用机器学习算法构建分类器并结合文本特征进行任务处理。但是,这种基于机器学习的方法的性能在很大程度上依赖于特征工程,而特征工程耗时耗力。

为了解决基于机器学习的方法所带来的问题,研究者们采用基于深度学习的方法来处理情感分类任务。由于深度神经网络能够自动地从原始数据中提取特征,从而在很大程度上避免了耗时耗力的特征工程。

现有的研究往往使用循环神经网络进行情感分类,因为循环神经网络能够抓取序列信息,从而能够更好地抓取文本中的有效信息。另外,用户和物品作为评论的发出者和接受者,它们的信息也相当重要。因此,研究者引入注意力机制,使用用户信息和物品信息作为注意力,帮助循环神经网络更好地抓取评论文本中的有效信息,以更好地进行情感分类。

然而,现有的方法往往只进行一次分类即得出结果,对于类别较多的任务,这种方法显得有些吃力。其主要问题在于,如果只进行一次分类,那么在这一次分类的过程中,需要均衡的考虑所有的情感类别,而实际上,有些类别的正确性更高,需要赋予更多的关注,有些类别的正确性更低,可以适当减少关注。通过一些先验知识(例如用户和物品的交互信息),可以提前判断哪些类别的正确性更高,哪些类别的正确性更低,在这个基础上再进行分类会更有针对性,效果也会更好。



技术实现要素:

本发明的目的是针对情感分类任务中类别数多导致的性能下降问题,提供了一种面向多类别的二次情感分类方法,利用用户和物品的交互信息先对评论的情感等级进行粗分类,然后在粗分类的基础上再利用评论文本信息进行细分类,最终结合粗分类结果和细分类结果得到最终预测结果。

实现本发明目的具体技术方案是:

一种面向多类别的二次情感分类方法,特点是二次分类。对用户u给物品p所写的评论rup进行类别数为n的情感分类任务,该方法包括以下具体步骤:

步骤1:获取用户和物品的交互信息

使用k维向量lu表示用户u的兴趣信息,使用k维向量lp表示物品p的属性信息,其中k的取值范围在100到300之间;将lu和lp点乘得到用户u和物品p的交互信息iup;iup是k维向量,每一维表示用户u对物品p的对应属性的满意程度;

步骤2:基于用户的粗分类

使用n维向量cu表示用户u的类别偏好信息,其中n等于类别总数;将iup和cu送入深度神经网络得到基于用户的粗分类结果ru,具体计算如下式(1)-(3);ru是n维向量,每一维表示从用户角度看,对用户u给物品p所写的评论rup属于对应类别的相对可能性;

ru1=dropout(relu(wu1*[iup;cu]+bu1))(1)

ru2=dropout(relu(wu2*ru1+bu2))(2)

ru=wu3*ru2+bu3(3)

其中,dropout是正则化手段,relu(x)=max(0,x)是激活函数,wu1、wu2和wu3是权重矩阵,bu1、bu2和bu3是偏置项,ru1是深度神经网络第一层的输出,ru2是深度神经网络第二层的输出;

步骤3:基于物品的粗分类

使用n维向量cp表示物品p的类别偏好信息,其中n等于类别总数;将iup和cp送入深度神经网络得到基于物品的粗分类结果rp,具体计算如下式(4)-(6);rp是n维向量,每一维表示从物品角度看,对用户u给物品p所写的评论rup属于对应类别的相对可能性;

rp1=dropout(relu(wp1*[iup;cp]+bp1))(4)

rp2=dropout(relu(wp2*rp1+bp2))(5)

rp=wp3*rp2+bp3(6)

其中,dropout是正则化手段,relu(x)=max(0,x)是激活函数,wp1、wp2和wp3是权重矩阵,bp1、bp2和bp3是偏置项,rp1是深度神经网络第一层的输出,rp2是深度神经网络第二层的输出;

步骤4:评论数据预处理

利用word2vec将评论rup中的词进行向量化,每一个词用g维向量表示,其中g的取值范围在100到200之间;

步骤5:词级别信息提取

将评论rup进行分句,对每个句子进行如下处理:将句子中的词所对应的向量按序送入双向lstm中,使用双向lstm对应位置的输出表示该位置的词所包含的信息;

步骤6:句子表征生成

使用z维向量qu表示用户u的用词偏好信息,使用z维向量qp表示物品p的受词偏好信息,其中z的取值范围在100到300之间;使用用户和物品的交互信息iup、用户粗分类结果ru、用户用词偏好信息qu、用户类别偏好信息cu、物品粗分类结果rp、物品受词偏好信息qp及物品类别偏好信息cp作为注意力机制,对每一个句子中的词赋予不同的权重,最终对每一个句子中的所有词信息进行加权求和,得到的结果用来表征对应的句子,具体公式如下式(7)-(10):

aup=[iup;ru;qu;cu;rp;qp;cp](10)

其中si表示评论rup的第i个句子,li表示第i个句子的长度,hij用来表示评论rup中的第i个句子中的第j个词所包含的信息,表示第i个句子中的第j个词的权重,aup表示注意力向量,e是权重计算函数,wh和wa是权重句子,v是权重向量,vt表示v的转置;

步骤7:句子级别信息提取

将评论rup中的每一句话的表征按序送入双向lstm中,使用双向lstm对应位置的输出表示该位置的句子所包含的信息;

步骤8:评论表征生成

使用用户和物品的交互信息iup、用户粗分类结果ru、用户用词偏好信息qu、用户类别偏好信息cu、物品粗分类结果rp、物品受词偏好信息qp、物品类别偏好信息cp作为注意力机制,对评论rup中的每一个句子赋予不同的权重,最终对评论rup中的所有句子的表征进行加权求和,得到的结果d用来表征评论;

步骤9:细分类

使用评论表征生成细分类结果fup;fup是n维向量,每一维表示从评论信息看,评论rup属于对应类别的相对可能性,其中n等于类别总数;具体公式如下式(11):

fup=wmd+bm(11)

其中wm是权重矩阵,bm是偏置项,d是评论结果;

步骤10:预测

将用户粗分类结果ru、物品粗分类结果rp和细分类结果fup相加得到最终结果final,公式如下式(12);final是n为向量,每一维表示评论rup属于对应类别的相对可能性,其中n等于类别总数;取相对可能性最大的类别作为最终预测类别;

final=ru+rp+fup(12)。

本发明的有益效果在于:

本发明具有可解释性,本发明充分使用了用户信息、物品信息和文本信息,从而能够更好地理解评论的情感倾向,并对预测结果给出更为合理的解释。本发明方法具有有效性,在imdb、yelp2013和yelp2014三个真实数据集上进行实验,实验结果表明,本发明与现有技术相比,准确率更高。

附图说明

图1为本发明的流程图。

具体实施方式

结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公识常识,本发明没有特别限制内容。

参阅图1,本发明利用用户和物品的交互信息以及评论信息进行对评论的情感倾向进行二次分类,从而充分使用用户信息、物品信息和文本信息,提高了情感分类的准确率。

实施例

本实施例为yelp2014数据集中的一个真实例子,用户id为iqtowojxhobk4kidfuiw9q(以下简称为用户u),物品id为4oh2tml8qcebshi2rutz-g(以下简称为物品p),用户u对物品p的评论rup为“lovethisplace!!<sssss>oneofmyfavoritebanhmiplaces.<sssss>ifiaminchinatownthisisdefinitelywherei'dformybanhmifix.<sssss>ipreferthemoverhuethai”。对评论rup进行类别数为5的情感分类任务,其具体操作按下述步骤进行:

步骤1:获取用户和物品的交互信息

使用150维向量lu表示用户u的兴趣信息,使用150维向量lp表示物品p的属性信息;将lu和lp点乘得到用户u和物品p的交互信息iup;iup是150维向量,每一维表示用户u对物品p的对应属性的满意程度;

步骤2:基于用户的粗分类

使用5维向量cu表示用户u的类别偏好信息;将iup和cu送入深度神经网络得到基于用户的粗分类结果ru,具体计算如下式(1)-(3);ru=[0.2,0.4,0.6,0.8,0.3],表示从用户角度看,评论rup属于类别1的相对可能性为0.2,属于类别2的相对可能性为0.4,属于类别3的相对可能性为0.6,属于类别4的相对可能性为0.8,属于类别5的相对可能性为0.3;

ru1=dropout(relu(wu1*[iup;cu]+bu1))(1)

ru2=dropout(relu(wu2*ru1+bu2))(2)

ru=wu3*ru2+bu3(3)

其中,dropout是正则化手段,relu(x)=max(0,x)是激活函数,wu1、wu2和wu3是权重矩阵,bu1、bu2和bu3是偏置项,ru1是深度神经网络第一层的输出,ru2是深度神经网络第二层的输出;

步骤3:基于物品的粗分类

使用5维向量cp表示物品p的类别偏好信息;将iup和cp送入深度神经网络得到基于物品的粗分类结果rp,具体计算如下式(4)-(6);rp=[0.1,0.3,0.3,0.5,0.4],表示从物品角度看,评论rup属于类别1的相对可能性为0.1,属于类别2的相对可能性为0.3,属于类别3的相对可能性为0.3,属于类别4的相对可能性为0.5,属于类别5的相对可能性为0.4;

rp1=dropout(relu(wp1*[iup;cp]+bp1))(4)

rp2=dropout(relu(wp2*rp1+bp2))(5)

rp=wp3*rp2+bp3(6)

其中,dropout是正则化手段,relu(x)=max(0,x)是激活函数,wp1、wp2和wp3是权重矩阵,bp1、bp2和bp3是偏置项,rp1是深度神经网络第一层的输出,rp2是深度神经网络第二层的输出;

步骤4:评论数据预处理

利用word2vec将评论rup中的词进行向量化,每一个词用200维向量表示;

步骤5:词级别信息提取

将评论rup进行分句,对每个句子进行如下处理:将句子中的词所对应的向量按序送入双向lstm中,使用双向lstm对应位置的输出表示该位置的词所包含的信息;

步骤6:句子表征生成

使用100维向量qu表示用户u的用词偏好信息,使用100维向量qp表示物品p的受词偏好信息。使用用户和物品的交互信息iup、用户粗分类结果ru、用户用词偏好信息qu、用户类别偏好信息cu、物品粗分类结果rp、物品受词偏好信息qp、物品类别偏好信息cp作为注意力机制,对每一个句子中的词赋予不同的权重,最终对每一个句子中的所有词信息进行加权求和,得到的结果用来表征对应的句子,具体公式如下式(7)-(10):

aup=[iup;ru;qu;cu;rp;qp;cp](10)

其中si表示评论rup的第i个句子,li表示第i个句子的长度,hij用来表示评论rup中的第i个句子中的第j个词所包含的信息,表示第i个句子中的第j个词的权重,aup表示注意力向量,e是权重计算函数,wh和wa是权重句子,v是权重向量,vt表示v的转置;

步骤7:句子级别信息提取

将评论rup中的每一句话的表征按序送入双向lstm中,使用双向lstm对应位置的输出表示该位置的句子所包含的信息;

步骤8:评论表征生成

使用用户和物品的交互信息iup、用户粗分类结果ru、用户用词偏好信息qu、用户类别偏好信息cu、物品粗分类结果rp、物品受词偏好信息qp、物品类别偏好信息cp作为注意力机制,对评论rup中的每一个句子赋予不同的权重,最终对评论rup中的所有句子的表征进行加权求和,得到的结果d用来表征评论;

步骤9:细分类

使用评论表征生成细分类结果fup。fup=[0.1,0.1,0.2,0.8,0.3],表示从评论信息看,评论rup属于类别1的相对可能性为0.1,属于类别2的相对可能性为0.1,属于类别3的相对可能性为0.2,属于类别4的相对可能性为0.8,属于类别5的相对可能性为0.3。具体公式如下式(11):

fup=wmd+bm(11)

其中wm是权重矩阵,bm是偏置项;

步骤10:预测

将用户粗分类结果ru、物品粗分类结果rp和细分类结果fup相加得到最终结果final,公式如下式(12)。final=[0.4,0.8,1.1,2.1,1.0],表示评论rup属于类别1的相对可能性为0.4,属于类别2的相对可能性为0.8,属于类别3的相对可能性为1.1,属于类别4的相对可能性为2.1,属于类别5的相对可能性为1.0。其中类别4的相对可能性最大,因此评论rup的预测类别为4。

final=ru+rp+fup(12)

本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

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