本发明涉及一种基于教学机制的情感分析方法,属于计算机自然语言处理(nlp)技术领域。
背景技术:
情感分析旨在理解自然文本中所包含的情感,是人们的观点、情绪、评估对诸如产品、服务、组织等实体的态度,是计算机自然语言处理领域中的一项关键任务,在数据挖掘、web挖掘、文本挖掘和信息检索方面有广泛的研究。
大多数研究者将情感分析视为一个分类任务,即,将文本对应的情感极性视为类别,并使用文本特征训练一个分类器将文本进行分类。目前,基于神经网络的情感分析方法由于其高效性,成为当前的主流方法。此类方法大多是将单词嵌入到低维向量中,再将这些向量用作神经网络的初始输入。随后,使用精心设计的网络对文本进行编码,以获得文本特征向量。该向量进一步用于分析文本中包含的信息,进而预测其所属的类别。
近年来,越来越多的研究者致力于设计更高效的神经网络模型。然而,大多数现有的方法忽略了类别标签,尽管它与要预测的文本类别具有最高的相关性。这些方法大多将类别标签仅仅作为目标来计算损失,没有开发标签信息其他方面的能力,从而导致标签信息对其他层(如注意力层)的影响很小甚至可以忽略不计,进而导致重要信息定位有误。
重要信息定位有误,最常见的是注意力机制在处理文本的过程中会选择性地挑选相对重要的信息,例如,挑选一个句子中重要的词汇,舍弃句子中相对不重要的词汇。这样的挑选机制固然可以让模型抓住文本中的重要信息,但同时也会导致以下问题:
(1)有效信息被忽视
现有方法大多使用上下文、用户、产品信息等挑选相对重要的词汇,但是,这样的方式所引入的词汇皆为和用户、产品信息相关度较高的词汇,而并不能保证所挑选的词汇和所要预测的类别高度相关,因此与所要预测的类别相关度更高的信息很可能被忽视,从而限制模型表现。
(2)相对不重要的信息被引入
使用上下文、用户、产品信息等挑选的词汇,不能保证和所要预测的类别高度相关,因此,很可能引入和类别相关程度较低的词汇,这些冗余信息会干扰模型理解文本。
一些研究者将用户评论文本视为一整个句子,并应用句子层级文本分类方法分析文档的类别。例如,taboada等人提出了一种基于词典的文本情感提取方法,该方法使用带有语义倾向(极性和强度)注释的单词词典分析文本所包含的情感;tang等人引入cnn(卷积神经网络,convolutionalneuralnetworks)来编码文本,并通过引入用户、文本信息来丰富文档表示。然而一般来说,文档通常包含多个句子,因此简单将文档视为一个长句子是不合适的,这样会使得句子间的界限更加不明确,进而失去了句子间的信息。因此,yang等人提出了层次神经网络模型,即神经网络包括词层级和句子层级两个不同层级,在词层级通过整合所有词信息获取句子向量表示,在句子层级通过整合所有句子信息获取文档向量表示,这样的层次结构相比于将文档视为一个长句子的方法在结果上有着很大的提升;ghosh等人提出了一种基于cnn和lstm(长短时记忆神经网络,longshort-termmemory)的深层情感表达模型,其中,cnn用于获取句子表征;lstm对句子语义进行编码,获取文档向量表征;pu等人考虑到文档通常由不同的观点句组成,且这些观点句针对不同的方面,具有不同的情感,提出利用多个特征来识别候选的总体观点句,然后利用支持向量机对总体观点句进行编码,实现文档级文本分类。
然而,上述方法是将类别标签仅仅作为目标来计算损失,没有开发标签信息其他方面的能力,从而导致类别标签信息对其他层(如注意力层)的影响很小甚至可以忽略不计。
为此,wang等人、yao等人引入了一种基于类别标签的注意力机制,通过测量文本与标签表征之间的相容性来提取更多与标签相关的信息,并通过直接输入分类器来进一步训练标签嵌入。此外,为了防止标签信息泄漏,在测试阶段,这些方法使用类别标签的所有可能值(例如1-5)来提取文本信息进行分类。然而,这类方法无法充分利用当前文档的真实标签信息,并可能会引入一定的噪声,同时无法保证经过训练的类别标签表示有能力提取标签相关的信息。
因此,有必要找到一种更有效的方法利用类别标签信息,并藉此提取与所要预测类别相关度更高的信息用以文本分类。
技术实现要素:
本发明的目的是针对现有技术将类别标签仅仅用于计算损失函数,而没有开发类别标签其他方面的能力,导致文本中重要信息定位有误,进而无法准确预测文本所属类别的技术缺陷,提出了一种基于教学机制的情感分析方法,可以在较低的复杂度下实现良好的预测效果。
本发明的创新点在于:提出了一种基于类别标签的分层教学网络(l-htn),由教师网络和学生网络组成。教师网络以类别标签为输入,提取所与所要预测的类别高度相关的信息,学生网络从教师网络中学习类别标签的特性,并依此建立“软标签”以期复现真实类别标签的能力,提取与教师网络相似的与类别高度相关的信息,这些信息被用于做文本分类。由于当前用户先前购买的产品(和相应的评分)表示用户的偏好,而购买当前产品的用户(和相应的评分)表示产品的公众印象,构建了两个不同的学生网络来建模“软标签”,即用户偏好学生网络和产品印象学生网络,并根据两个学生网络的不同特点设计了两个不同的教师网络。
本发明是基于以下技术方案实现的。
一种基于教学机制的情感分析方法,包括以下步骤:
步骤1:进行用户偏好学生网络“软标签”建模。
具体地,包括以下步骤:
步骤1.1:提取用户之前购买的产品序列和相应的评分序列,并将用户和产品序列分别嵌入到低维向量空间中。
步骤1.2:将每个历史产品嵌入和相应的独热评分嵌入拼接起来,获取新的序列,将其进一步用作lstm的输入,以获得隐藏状态。
其中,由于产品序列属于用户的购买记录,因此,将用户的向量表征作为lstm层的初始状态。
步骤1.3:由于产品序列中与当前产品最相似的产品能够最好地暗示当前用户最可能表达的情感,即文本所属类别,因此,挑选当前产品最相关的隐藏状态生成“软标签”;
步骤2:进行产品印象学生网络“软标签”建模。
具体地,包括以下步骤:
步骤2.1:提取用户之前购买过产品的用户序列和相应的评分序列,并将产品和用户序列分别嵌入到低维向量空间中。
步骤2.2:将每个历史用户嵌入和相应的独热评分嵌入拼接起来,获取新的序列,并将其用作lstm的输入,以获得隐藏状态,其中,由于用户序列购买过当前产品的记录,因此,将产品的向量表征作为lstm层的初始状态;
其中,独热评分是指文档的one-hot标签。即,一个长度为类别个数的向量且仅存在一个元素值为1,其他元素值皆为0。
步骤2.3:由于用户序列中与当前用户最相似的用户能够最好地暗示当前用户最可能表达的情感,因此,挑选当前用户最相关的隐藏状态生成“软标签”。
步骤3:构建教师网络。
由于模型包含两个不同的学生网络,需要分别从用户偏好和产品公众印象两个角度对“软标签”进行建模。因此,构建两个不同的教师网络,以便匹配不同学生网络的特点。
具体地,构建方法如下:
步骤3.1:用户偏好学生网络通过拼接每个历史产品嵌入和相应的独热评分嵌入以获得一个新的序列,并将其用作lstm的输入,以获得隐藏状态。
为保证学生因材施教,教师网络将当前的产品嵌入和相应的独热评分进行拼接,将结果作为lstm的输入,同时,教师网络的lstm层与学生网络共享参数,获得的隐藏状态与情感标签密切相关,被视为用户的真实偏好。
步骤3.2:根据以上对产品印象学生网络的描述,设计一个教师网络来匹配学生网络。
具体地,学生网络拼接每个历史用户嵌入和相应的独热评分嵌入以获得一个新的序列,并将其用作lstm的输入,以获得隐藏状态。
为了保证学生因材施教,教师网络将当前的用户嵌入和相应的独热评分进行拼接,同样将结果作为lstm的输入,同时,教师网络的lstm层与学生网络共享参数。获得的隐藏状态与情感标签密切相关,被视为产品的真实公众印象。
后续,将进一步使用教师网络所获取的与情感标签密切相关的隐藏状态教学“软标签”提取情感相关信息。
步骤4:进行注意力教学。
本步骤中,教师网络使用情感标签提取情感相关信息,并教学生网络提取相似的情感相关信息。
具体地,包括以下步骤:
步骤4.1:将文档中每个单词嵌入到低维向量中,使用lstm层对句子进行编码,并获取隐藏状态;
步骤4.2:使用学生网络中的“软标签”与教师网络中的真实情感标签,分别提取文档中的情感相关信息。
步骤4.3:为了教学生网络提取与情感相关度更高的信息,最小化学生网络与教师网络所提取的信息之间的差异。
步骤5:进行情感预测教学。
本步骤中,教师网络使用提取的情感相关信息生成情感标签的概率分布,并教导学生网络推断相似的概率分布。
具体地,包括以下步骤:
步骤5.1:使用提取的情感相关信息为文档中的每个句子生成句子表示(在学生网络中)和“教师”句子表示(在教师网络中);
使用lstm层为每个句子获取隐藏状态(在学生网络中)和“教师”隐藏状态(在教师网络中);
步骤5.2:对于用户偏好学生网络及其对应的教师网络,由于它们是面向用户的,因此,使用用户表征进一步提取对预测情感有帮助的信息;
对于产品印象学生网络及其相应的教师网络,由于它们是面向产品的,因此,使用产品表征进一步提取对预测情感有帮助的信息;
步骤5.3:教师网络使用生成的文档表示来获得情感标签的概率分布,并教导学生网络推断类似的概率分布;
步骤6:进行情感分类。
具体地,包括以下步骤:
步骤6.1:在训练阶段,针对教师网络,最小化教师网络输出的预测概率分布和独热情感标签之间的交叉熵。
同时,针对学生网络,将用户偏好学生网络的文档表征和产品印象学生网络的文档表征拼接起来进行情感预测,并最小化相应的预测概率分布和独热情感标签之间的交叉熵;
步骤6.2:在测试阶段,为防止标签信息的泄漏,仅使用学生网络的输出结果预测情感。
至此,从步骤1到步骤6,完成了基于教学机制的情感分析方法,实现了文本类别的预测。
有益效果
本发明方法,与现有技术相比,具有以下优点:
1.本方法应用了类别标签信息,让模型能够挑选出与所要预测的情感高度相关的文本信息。在标签信息的使用方面,所述教学机制可以在保证不产生标签信息泄露的前提下,更充分地利用标签信息,获取更好的表现;
2.本方法针对不同学生网络的特点,设计了不同的教师网络,使得教师网络能够更好地匹配学生网络,并保证教学结束后学生网络可以独立提取与情感相关度更高的信息;
3.相比于典型知识蒸馏方法中使用的大型(高复杂度)教师网络,本方法通过引入标签信息,设计了一个更轻量级的教师网络,可以在低复杂度下取得良好的表现。
附图说明
图1为本发明方法的模型结构图。
具体实施方式
下面结合附图和实施例对本发明方法做进一步详细说明。
实施例
图1为本发明方法对应的模型结构图,包括三个模块:“软标签”建模模块、注意力教学模块和概率分布教学模块。其中,“软标签”建模模块通过对当前用户(或产品)的历史评分和相应的产品(或用户)序列进行建模来生成软标签;在注意力教学模块中,教师网络使用当前文档真实情感标签来提取情感相关信息,然后教学生网络提取相似的情感相关信息;概率分布教学模块中,教师网络使用提取的情感相关信息生成情感标签的概率分布,学生网络尝试去生成相似的概率分布;在测试模型效果时,学生网络所生成的情感概率分布被用来预测当前文档所包含的情感。
特别地,由于当前用户之前购买的产品(和相应的评分)表示用户的偏好,而购买了当前产品的用户(和相应的评分)表示产品的公众印象,因此本文从用户偏好和产品公众印象两个角度对软情感进行建模,并分别构建学生网络,同时根据不同学生网络的特点设计不同的教师网络。
图1中,仅描述了用户偏好学生网络及其相应的教师网络,因为产品印象学生网络与其有着相似的架构。
本实施例采用本发明提出的情感分析方法,并使用以下三个数据集进行了实验操作。
三个数据集网址是:http://ir.hit.edu.cn/%7edytang/paper/acl2015/dataset.7z
现从某购物网站挑选某用户对某餐厅的评价:“这里食物非常好吃,我们跑过其他所有的餐厅,只为来到这里。”
使用本方法分析这段自然语言文本所属的情感类别。包括以下步骤:
步骤1:获取词汇嵌入表征。
给定评论文档“theaztectingaisfantastic…runpasteveryothermediocremexicanrestauranttogethere…”,用d=(s1,...,si,…,st)表示,t代表文档长度,本实施例中,t=2;每个句子si包含多个词汇,即
步骤2:用户偏好学生网络“软标签”建模:
首先,提取用户以前购买的产品序列(pi1,...,pin)和相应的评分序列(yi1,...,yin),其中,n为历史产品数目,并将用户和产品序列分别嵌入到低维向量空间中;
随后,将每个历史产品嵌入和相应的独热评分嵌入拼接起来,获取新的序列,并输入到lstm中,获得隐藏状态
最后,挑选与当前产品pi最相关的隐藏状态来生成“软标签”
其中,epy()为打分函数,用以衡量隐藏状态和当前产品表征的相关程度;
步骤3:产品印象学生网络“软标签”建模。建模过程同步骤2。
首先,提取以前购买过产品的用户序列和相应的评分序列,并将产品和用户序列分别嵌入到低维向量空间中;
随后,将每个历史用户嵌入和相应的独热评分嵌入拼接起来,获取新的序列,它进一步用作lstm的输入,以获得隐藏状态;
最后,由于用户序列中与当前用户最相似的用户能够最好地暗示当前用户最可能表达的情感,因此通过挑选当前用户最相关的隐藏状态来生成“软标签”
步骤4:构建教师网络。
其中,由于模型包含两个不同的学生网络,分别从用户偏好和产品公众印象两个角度对“软标签”进行建模,因此,设计两个不同的教师网络以匹配不同学生网络的特点;
针对用户偏好学生网络,教师网络将当前的产品嵌入和相应的独热评分进行拼接,同样将结果作为lstm的输入,同时教师网络的lstm层与学生网络共享参数,获得的隐藏状态
针对产品印象学生网络,教师网络将当前的用户嵌入和相应的独热评分进行拼接,同样将结果作为lstm的输入,同时教师网络的lstm层与学生网络共享参数。获得的隐藏状态
步骤5:进行注意力教学。
在注意力教学时,教师网络使用情感标签提取情感相关信息,并教学生网络提取相似的情感相关信息;
首先,使用学生网络中的“软标签”与教师网络中的真实情感标签分别提取文档中的情感相关信息,计算公式如下:
其中,eψ()为打分函数,用以衡量隐藏状态hjk和“软标签”y的相关程度;
其中,eψ()为打分函数,用以衡量隐藏状态hjk和真实情感标签
随后,为了教学生网络提取与情感相关度更高的信息,最小化学生网络与教师网络所提取的信息之间的差异
其中,e表示文档中句子个数。
在本实施例中,教师网络为词汇“fantastic”、“every”等分配了更高的权重,因为它们与所要预测的情感相关度更高;学生网络学习到了教师网络挑选词汇的模式,同样可以将词汇“fantastic”、“every”等挑选出来,分配更高的权重。
步骤6:进行情感预测教学。
在情感预测教学中,教师网络使用提取的情感相关信息生成情感标签的概率分布,并教导学生网络推断相似的概率分布;
首先,使用提取的情感相关信息为文档中的每个句子生成句子表示(在学生网络中)和“教师”句子表示(在教师网络中),并使用lstm层为每个句子获取隐藏状态(在学生网络中)和“教师”隐藏状态(在教师网络中);
随后,对于用户偏好学生网络及其对应的教师网络,由于它们是面向用户的,因此使用用户表征进一步提取对预测情感有帮助的信息,进而获取文档表征du(学生网络中)和
最后,教师网络使用生成的文档表示来获得情感标签的概率分布
其中,ζ是softmax激活函数,(d,o)是用于训练的“输入-输出”元组,
通过最小化学生网络与教师网络输出的概率分布之间的差异
其中,|c|为要分类的类别数;c表示文档类别。d=(s1,...,si,…,st)表示文档,t代表文档长度。
需要注意的是,公式(9)-(10)是用户偏好角度学生网络的教学,产品印象学生网络的教学使用同样的过程,因此省略计算细节;
本实例中情感类别值为5,教师网络为类别“5”分配了更高的概率,而学生网络学习到教师网络的预测能力,同样为类别“5”分配了更高的概率;
步骤7:进行情感分类。
在训练阶段,针对教师网络,最小化教师网络输出的预测概率分布
在测试阶段,为了防止标签信息的泄漏,本实施例仅使用学生网络的输出结果预测情感,即使用
比如本实例中情感类别值为5,因为用户对餐厅的评价体现出用户对其很满意,在测试阶段,本发明所提出的学生网络可以独立预测出文本所包含的情感。
根据上述步骤的操作过程,即可对文本所包含情感进行预测。
表1为包含本发明所提出的l-htn在内的12种分类方式在3种数据集上的效果比较,可以看出本发明所提出的方法优于现有的情感分析方法。
表112种分类方式——3种数据集效果比较