基于协同过滤注意力机制的文本情感识别系统的制作方法

文档序号:15131460发布日期:2018-08-10 08:01阅读:293来源:国知局
本发明涉及自然语言处理领域,具体涉及一种基于协同过滤注意力机制的文本情感识别系统。
背景技术
:情感分析旨在从文本中挖掘出用户对某一热点问题或者产品性能的观点信息,在实际应用中不仅可以帮助电商企业评估产品的市场价值,也可以帮助政府部门做好舆情监控等任务。因此,文本情感分析越来越受到青睐并成为自然语言处理领域的重要课题之一。在传统的情感分析中,研究者们往往只关注评论内容的重要性。根据绝大多数推荐网站上产品评论信息中提供的评价用户信息及其喜好信息,可以发现同一用户评论数据的情感极性与来自不同用户的情感极性相比,更倾向于一致。因此,将用户及被评价的产品信息融入情感分类的任务中至关重要。目前已有的方法中,有的将用户、产品以及评论数据特征基于词袋模型输入不同的分类器中进行探究。也有使用概率模型获取用户的兴趣分布和文本内容分布。而随着深度学习在计算机视觉、语音识别、自然语言处理领域的成功应用,基于深度学习的模型越来越成为情感分析的主流方法。通过神经网络可以提取出文本中更丰富的语义信息以及包含的用户、产品信息。但是目前大多数模型都是将用户和产品信息加入文本中一起输入模型训练,这样不仅使评论内容失去原本的语义,而且导致用户个性等信息也没有被提取出来。技术实现要素:为了解决现有技术中的上述问题,本发明提出了一种基于协同过滤注意力机制的文本情感识别系统,提高了情感识别的效果。本发明提出一种基于协同过滤注意力机制的文本情感识别系统,包括:文本预处理模块、文本向量化模块、用户兴趣分析模块、句子特征提取模块、文档特征提取模块、情感分类模块;所述文本预处理模块,用于接收待处理的文本,剔除原始文本中的标点符号以及停用词,生成预处理后的文本数据;所述文本向量化模块,用于接收所述预处理后的文本数据,并生成文本的词向量表示;所述用户兴趣分析模块,根据用户对已知产品的评分数据通过协同过滤算法提取出用户个性矩阵和产品属性矩阵,作为模型注意力机制;所述句子特征提取模块,用于接收所述文本的词向量表示,并输入到第一层长短时记忆模型中,经过变换得到词语级别的隐状态表示;根据所述词语级别的隐状态表示和所述模型注意力机制,提取句子特征;所述文档特征提取模块,用于接收所述句子特征,并输入到第二层长短时记忆模型中,生成句子级别的隐状态表示;根据所述句子级别的隐状态表示和所述模型注意力机制,提取文档特征;所述情感分类模块,用于将所述文档特征输入分类器,进行情感类型识别;其中,所述第一层长短时记忆模型、所述第二层长短时记忆模型,均为经过训练的长短时记忆模型。优选地,所述文本预处理模块,包括:词语切分单元、停用词表修订单元,以及停用词删除单元;所述词语切分单元,用于将所述待处理的文本切分成词语或者字的形式,得到分词后的文本;所述停用词表修订单元,用于根据实验数据,对公开的停用词表进行修改,生成新的停用词表;所述停用词删除单元,用于根据所述新的停用词表,将所述分词后的文本中与情感识别任务无关的词语或者符号删去,得到所述预处理后的文本数据。优选地,所述文本向量化模块,包括:词向量表生成单元和文本向量化单元;所述词向量表生成单元,用于利用公开的语料库训练word2vec得到词向量表;所述文本向量化单元,用于根据所述词向量表,将所述预处理后的文本数据转换为数字化结构表示,作为所述文本的词向量表示。优选地,所述用户兴趣分析模块,包括:用户兴趣分布矩阵生成单元、注意力机制生成单元;所述用户兴趣分布矩阵生成单元,用于根据用户对已评价产品的打分数据,计算产品共现矩阵和用户评分矩阵;并根据所述产品共现矩阵和所述用户评分矩阵,预测用户对未评价的产品的评分值,进而生成用户兴趣分布矩阵;所述注意力机制生成单元,用于根据所述用户兴趣分布矩阵,通过奇异值分解法得到用户个性矩阵和产品属性矩阵;其中,所述产品共现矩阵,用于描述两种不同的产品是否共同出现在同一用户已评分过的产品集合中,以及在多少个用户中共同出现过;所述用户评分矩阵,用于描述不同用户分别对已评价产品的评分值;所述用户兴趣分布矩阵,用于描述不同用户分别对已评价产品和/或未评价产品的评分值。优选地,所述句子特征提取模块,包括:词语级别的隐状态生成单元、句子特征生成单元;所述词语级别的隐状态生成单元,用于接收所述文本的词向量表示,并输入到第一层长短时记忆模型中,经过变换得到词语级别的隐状态表示;所述句子特征生成单元,用于根据所述词语级别的隐状态表示和所述模型注意力机制,计算得到句子特征。优选地,所述文档特征提取模块,包括:句子级别的隐状态生成单元、文档特征生成单元;所述句子级别的隐状态生成单元,用于接收所述句子特征,并输入到第二层长短时记忆模型中,生成句子级别的隐状态表示;所述文档特征生成单元,用于根据所述句子级别的隐状态表示和所述模型注意力机制,提取文档特征。优选地,所述用户兴趣分布矩阵生成单元中,“根据所述产品共现矩阵和所述用户评分矩阵,预测用户对未评价的产品的评分值,进而生成用户兴趣分布矩阵”,包括:根据所述产品共现矩阵,计算产品之间的相似度:计算所述用户评分矩阵中最大值与最小值的差值,将所述用户评分矩阵中的各评分值除以所述差值,从而得到归一化的所述用户评分矩阵;根据所述产品之间的相似度和归一化的所述用户评分矩阵,计算每个用户对未评价产品的评分值:根据用户在所述用户评分矩阵中的对应数据,以及计算出的所述用户对未评价产品的评分值,得到用户兴趣分布矩阵;其中,表示产品a与b之间的相似度,<a,b>表示产品a与b共同出现的次数;ab表示使用产品a的用户数与使用产品b的用户数乘积的开方值;i、j分别表示用户已评价过产品的序号和未评价过产品的序号;u表示用户的序号,ruj表示计算出的第u个用户对第j个未评价产品的评分值;p为产品总数;pu为第u个用户已评价产品的个数,p-pu为第u个用户未评价产品的个数;表示第i个已评价产品与第j个未评价产品的相似度;rui表示第u个用户对第i个已评价产品的评分值。优选地,所述注意力机制生成单元中,“根据所述用户兴趣分布矩阵,通过奇异值分解法得到用户个性矩阵和产品属性矩阵”,具体为:利用下式进行计算:a=usvt其中,a表示待分解的用户兴趣分布矩阵;s表示对角矩阵,其行数与矩阵u的列数一致,列数与矩阵vt的行数一致;u与vt是分解后得到的矩阵;u表示所述用户个性矩阵,其行表示用户数量,其列与词向量维度一致;vt表示所述产品属性矩阵v的转置矩阵,其行表示产品数量,其列与词向量维度一致。优选地,所述句子特征提取模块中,“根据所述词语级别的隐状态表示和所述模型注意力机制,提取句子特征”,包括:根据所述词语级别的隐状态表示和所述模型注意力机制,计算句子中每个词语的打分函数:根据各词语的打分函数值,计算句子中每个词语隐状态的权重值:根据所述词语级别的隐状态表示,以及计算出的所述权重值,计算句子的所述句子特征:其中,xmn表示第m个句子中第个n词语的打分函数,用来衡量词语在句子中的重要程度;wh、wu和wv均为权重矩阵;b表示偏置值;u、v分别表示所述用户个性矩阵和所述产品属性矩阵;yw表示权重矩阵,表示yw的转置矩阵;l表示第m个句子的词语个数;bmn表示第m个句子中第个n词语隐状态的权重值;hmn表示经过第一层长短时记忆模型后得到的词语级别的隐状态表示;sm表示第m个句子中的l个词语隐状态与所述注意力机制结合后得到的句子特征。优选地,所述文档特征生成单元中,“根据所述句子级别的隐状态表示和所述模型注意力机制,提取文档特征”,包括:根据所述句子级别的隐状态表示和所述模型注意力机制,计算所述待处理的文本中每个句子的打分函数:根据各句子的打分函数值,计算所述待处理的文本中每个句子隐状态的权重值:根据所述句子级别的隐状态表示,以及计算出的所述每个句子隐状态的权重值,计算所述待处理的文本的所述文档特征:其中,qt表示所述待处理的文本中第t个句子的打分函数,用来衡量句子在文档中的重要程度;wh'、wu'和wh'均为权重矩阵;b'表示偏置值;u、v分别表示所述用户个性矩阵和所述产品属性矩阵;zw表示权重矩阵,表示zw的转置矩阵;m表示所述待处理的文本中句子总个数;表示所述待处理的文本中第t个句子隐状态的权重值;ht表示经过第二层长短时记忆模型后得到的句子级别的隐状态表示;d表示所述待处理的文本中的m个句子隐状态与所述注意力机制结合后得到的文档特征。本发明的有益效果:本发明采用层次长短时记忆模型分别对句子级别和文档级别进行隐状态表示,可以提取出更加深层的文本信息;采用协同过滤算法从已有的用户和产品数据中进行信息提取,首先计算出产品的共现矩阵,并使用余弦相似度计算出产品之间的相似度,其次计算出用户对物品的打分矩阵,并做归一化处理,最后根据用户对已评价过的产品信息计算出用户对与已评价产品相似的产品的喜好程度,从而可以有效的提取出用户和产品信息;采用奇异值分解方法,对用户兴趣分布矩阵进行分解优化,提取出用户个性矩阵和产品属性矩阵,作为模型注意力机制,可以监督模型提取出更加重要的特征。本发明通过以上方法,提高了文本特征描述的准确性,从而提高了情感识别的正确性。附图说明图1是本发明实施例基于协同过滤注意力机制的文本情感识别系统的结构示意图;图2是本发明实施例中文本情感识别系统各模块的结构示意图。具体实施方式下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。图1为本发明实施例基于协同过滤注意力机制的文本情感识别系统的结构示意图。如图1所示,本发明的文本情感识别系统,包括:文本预处理模块10、文本向量化模块20、用户兴趣分析模块30、句子特征提取模块40、文档特征提取模块50、情感分类模块60。文本预处理模块10用于接收待处理的文本,剔除原始文本中的标点符号以及停用词,生成预处理后的文本数据。文本向量化模块20用于接收所述预处理后的文本数据,并生成文本的词向量表示。用户兴趣分析模块30根据用户对已知产品的评分数据通过协同过滤算法提取出用户个性矩阵和产品属性矩阵,作为模型注意力机制。句子特征提取模块40用于接收所述文本的词向量表示,并输入到第一层长短时记忆模型中,经过变换得到词语级别的隐状态表示;根据所述词语级别的隐状态表示和所述模型注意力机制,提取句子特征。文档特征提取模块50用于接收所述句子特征,并输入到第二层长短时记忆模型中,生成句子级别的隐状态表示;根据所述句子级别的隐状态表示和所述模型注意力机制,提取文档特征。情感分类模块60用于将所述文档特征输入分类器,进行情感类型识别。其中,第一层长短时记忆模型、第二层长短时记忆模型,均为经过训练的长短时记忆模型。长短时记忆模型在第一层使用训练数据的词向量形式作为模型输入,输出词向量的隐状态表示形式,经过注意力机制得到句子特征,再输入至第二层长短时记忆模型中,输出句子隐状态表示形式,再次结合注意力机制得到文档特征,模型在训练过程中通过计算预测值与实际值误差不断更新模型参数,包括权重值,偏置值等,不断优化模型至模型收敛稳定。图2为本发明实施例文本情感识别系统中各模块的结构示意图。如图2所示,本实施例中,文本预处理模块10包括:词语切分单元11、停用词表修订单元12,以及停用词删除单元13;文本向量化模块20包括:词向量表生成单元21和文本向量化单元22;用户兴趣分析模块30包括:用户兴趣分布矩阵生成单元31、注意力机制生成单元32;句子特征提取模块40包括:词语级别的隐状态生成单元41、句子特征生成单元42;文档特征提取模块50包括:句子级别的隐状态生成单元51、文档特征生成单元52。本实施例中,词语切分单元11用于将所述待处理的文本切分成词语或者字的形式,得到分词后的文本;停用词表修订单元12用于根据实验数据,对公开的停用词表进行修改(如公开的停用词表认为拟声词“哈哈”是实验无关词,但是在情感分析任务中带有正向积极的情感色彩,需要保留),生成新的停用词表;停用词删除单元13,用于根据所述新的停用词表,将所述分词后的文本中与情感识别任务无关的词语或者符号删去,得到所述预处理后的文本数据。经过预处理后的文本是文字表述结构,需要将此结构转化成计算机理解的语言,使用大规模语料库通过公开的词向量训练工具word2vec训练得到词向量表,将实验数据经过词向量表便可以得到文本的数字化结构表示。本实施例中,词向量表生成单元21用于利用公开的语料库训练word2vec得到词向量表;文本向量化单元22用于根据所述词向量表,将所述预处理后的文本数据转换为数字化结构表示,作为所述文本的词向量表示。本实施例中,用户兴趣分布矩阵生成单元31用于根据用户对已评价产品的打分数据,计算产品共现矩阵和用户评分矩阵;并根据所述产品共现矩阵和所述用户评分矩阵,预测用户对未评价的产品的评分值,进而生成用户兴趣分布矩阵,其原理是:根据用户对已平价产品的打分来计算用户对与该已平价产品相似的产品的喜好程度;注意力机制生成单元32用于根据所述用户兴趣分布矩阵,通过奇异值分解法得到用户个性矩阵和产品属性矩阵。其中:产品共现矩阵中的行和列均表示产品,数值为两种产品是否共同出现在用户已评分过的产品集合中,如表1所示:表1产品共现矩阵的形式i1i2i3i4i11069i21074i3679i4949如某个用户评分过的产品有i1、i2、i3、i4,那么对于产品i1而言,i2、i3、i4均与i1共同存在过,即在矩阵中对应位置中加1,累计所有用户后便得到表1形式。用户评分矩阵来描述不同用户对各已评价产品的评分值,矩阵形式如表2所示:表2用户评分矩阵的形式i1i2i3i4i5u130500u209807u350536u404302其中,u1-u4表示4个不同的用户,i1-i5表示5个不同的已评价产品,如对某个产品没有打分则记为0,有打分则记为相应分数。本实施例中,在用户兴趣分布矩阵生成单元31中,生成用户兴趣分布矩阵的过程为:(1)根据所述产品共现矩阵,使用余弦相似度计算产品之间的相似度,如公式(1)所示:其中,表示产品a与b之间的相似度,<a,b>表示产品a与b共同出现的次数;ab表示使用产品a的用户数与使用产品b的用户数乘积的开方值;(2)计算所述用户评分矩阵中最大值与最小值的差值,将所述用户评分矩阵中的各评分值除以所述差值,可将评分矩阵进行归一化,从而得到归一化的所述用户评分矩阵;(3)根据所述产品之间的相似度和归一化的所述用户评分矩阵,计算每个用户对未评价产品的评分值(评分值越高,表示用户对该产品的喜好程度越高),如公式(2)所示:其中,i、j分别表示用户已评价过产品的序号和未评价过产品的序号;u表示用户的序号,ruj表示计算出的第u个用户对第j个未评价产品的评分值;p为产品总数;pu为第u个用户已评价产品的个数,p-pu为第u个用户未评价产品的个数;表示第i个已评价产品与第j个未评价产品的相似度;rui表示第u个用户对第i个已评价产品的评分值;(4)根据用户在所述用户评分矩阵中的对应数据,以及计算出的所述用户对未评价产品的评分值,得到用户兴趣分布矩阵。用户兴趣分布矩阵中的行表示用户,列表示产品,列中包括已评价产品和/或未评价产品,数值为各用户对产品的评分值。该矩阵的形式如表3所示:表3用户兴趣分布矩阵的形式i1i2i3i4i5u10.330.420.520.760.53u20.250.810.370.650.54u30.160.610.650.730.59u40.680.430.270.660.84从表3可以看出,用户兴趣分布矩阵的维度大小为用户数量乘以产品数量。但是,当数据较多的情况下高维矩阵不仅会影响计算速度,也会存在稀疏可能。注意力机制(attention)是松散的基于人脑注意力的一种机制,在文本中通过自动加权的方法能够有效的捕捉到文本中重要的信息。本实施例中,在注意力机制生成单元32中通过奇异值分解(svd)法对高维矩阵进行分解处理,得到用户个性矩阵和产品属性矩阵,作为模型的注意力机制,这样可以降低矩阵维度,并且减少矩阵稀疏性给计算带来的危害。利用公式(3)进行奇异值分解:a=usvt(3)其中,a表示待分解的用户兴趣分布矩阵;s表示对角矩阵,其行数与矩阵u的列数一致,列数与矩阵vt的行数一致;u与vt是分解后得到的矩阵;u表示所述用户个性矩阵,其行表示用户数量,列与词向量维度一致;vt表示所述产品属性矩阵v的转置矩阵,其行表示产品数量,列与词向量维度一致。词语级别的隐状态生成单元41用于接收所述文本的词向量表示,并输入到第一层长短时记忆模型中,经过变换得到词语级别的隐状态表示;句子特征生成单元42用于根据所述词语级别的隐状态表示和所述模型注意力机制,计算得到句子特征。本实施例中,句子特征生成单元42使用从用户兴趣分布矩阵中分解出的用户个性矩阵和产品属性矩阵作为注意力模型,从隐藏状态中提取对句子贡献较大的词语,用这些词表征句子的特征。具体计算方法包括:计算句子中每个词语的打分函数,如公式(4)所示:根据打分函数值,计算句子中每个词语隐状态的权重值,如公式(5)所示:根据所述词语级别的隐状态表示,以及计算出的所述权重值,计算句子的所述句子特征,如公式(6)所示:其中,xmn表示第m个句子中第个n词语的打分函数,用来衡量词语在句子中的重要程度;wh、wu和wv均为权重矩阵;b表示偏置值;以上权重矩阵和偏置值可以通过随机初始化值得到;u、v分别表示所述用户个性矩阵和所述产品属性矩阵;yw表示权重矩阵,表示yw的转置矩阵;l表示第m个句子的词语个数;bmn表示第m个句子中第个n词语隐状态的权重值;hmn表示经过第一层长短时记忆模型后得到的词语级别的隐状态表示;sm表示第m个句子中的l个词语隐状态与所述注意力机制结合后得到的句子特征。句子级别的隐状态生成单元51用于接收所述句子特征,并输入到第二层长短时记忆模型中,生成句子级别的隐状态表示;文档特征生成单元52用于根据所述句子级别的隐状态表示和所述模型注意力机制,提取文档特征。句子在不同用户不同产品间表达的意义也会有所不同,对于上述得到的句子特征,文档特征生成单元52采用与句子特征生成单元42类似的方法,即可以得到文档特征:根据所述句子级别的隐状态表示和所述模型注意力机制,计算所述待处理的文本中每个句子的打分函数,如公式(7)所示:根据各句子的打分函数值,计算所述待处理的文本中每个句子隐状态的权重值,如公式(8)所示:根据所述句子级别的隐状态表示,以及计算出的所述每个句子隐状态的权重值,计算所述待处理的文本的文档特征d,如公式(9)所示:其中,qt表示所述待处理的文本中第t个句子的打分函数,用来衡量句子在文档中的重要程度;wh'、wu'和wh'均为权重矩阵;b'表示偏置值;u、v分别表示所述用户个性矩阵和所述产品属性矩阵;zw表示权重矩阵,表示zw的转置矩阵;m表示所述待处理的文本中句子总个数;表示所述待处理的文本中第t个句子隐状态的权重值;ht表示经过第二层长短时记忆模型后得到的句子级别的隐状态表示;d表示所述待处理的文本中的m个句子隐状态与所述注意力机制结合后得到的文档特征。本实施例中,在情感分类模块60中,接收待处理的文本的文档特征,采用一种类似逻辑回归模型的softmax模型作为分类器,对待处理的文本进行情感分类。本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1