论文读书笔记-semi-supervised recursive autoencoders for predicting sentiment distributions

文章主要介绍了使用递归自编码器做句子情感分类的方法。和之前的方法相比,本文的算法没有使用任何预设定的情感词汇和极性转换规则。并在movie reviews数据集上取得了SOTA的效果。
当时主流的方法还是词袋模型,但词袋模型无法很好的句法信息,而一些改进则利用的是一些手工特征(如:情感词,解析树,极性转换规则)
本论文的创新:

使用层次结构和成分语义信息
可以使用无标签数据,也可以监督学习,且不需要手工特征
没有把情绪限制在积极/消极, 而把情绪映射到一个复杂的相互关联的分布

文章介绍了一个使用半监督学习的递归自编码器,它以词嵌入为输入,使用层次的结构从非监督文本中学习词汇和句子表示,并使用层次结构中的节点来预测情感标签的分布。
--------------------- 
作者:Doit_ 
来源:CSDN 
原文:https://blog.csdn.net/qq_31456593/article/details/88880523 
版权声明:本文为博主原创文章,转载请附上博文链接!

这篇文章主要介绍了如何把深度学习的方法对文本进行分析,得到这段文本中表现的用户情感。在做文本分析时,依据词向量得到某一段文字的向量空间,然后逐层向上分析,继而得到整段文字的向量表示,对这个向量分析得到用户的情感。
 
下面是本文的一些要点:
1、  前人的工作
almost all previous work is based onsingle, positive/negative categories or scales such as star ratings.之前都是基于单一化(估计只有一个顶),赞成/反对,星级评分这些对用户情感进行分析。
 
2、  这篇文章要解决的三个问题
-Our model exploits hierarchical structureand uses compositional semantics to understand sentiment.即使用层次化的方法去理解结构和语意
-trained both on unlabeled domain data andon supervised sentiment data and does not require any language-specificsentiment lexica or parsers.可以用无标记或者有标记的数据进行训练,不需要任何语言字典
-a multidimensional distribution overseveral complex, interconnected sentiments.能够针对较复杂的有联系的情感进行分析
 
3、  训练数据
Confessions are labeled with a set of fivereactions by other users.
You rock(expressing approvement )
Tehee(amusement)
I understand
Sorry
Hugs
Wow
Just wow(displaying shock)
以上就是训练数目中提供的用户情感分类
 
4、  单词向量表示
文章这里是把单词看成神经网络中的一个个神经元,为了表示这些神经元需要把单词转换为向量形式。作者这里采用了两种不同的方法:
-initialize each word vector x by samplingit from a zero mean Gaussian distribution.按照高斯分布对每个单词随机分配一个向量,然后用神经网络不断修正这些向量来满足已有的情感标记分布情况。
-pre-train the word vectors with anunsupervised neural language model.   Thesemodels jointly learn a embedding of words into a vector space and use thesevectors to predict how likely a word occurs given its context.使用无监督的神经语言模型进行单词向量的识别。
在把单词向量化之后,就得到一个单词向量空间L。假设我们现在有m个词,每个词对应一个索引k,指向单词向量空间第k个位置,于是要求出每个单词就变成了一个投影运算:


这里b是一个0,1二元向量,只有k的位置为1,其余位置均为0.
继而一个句子能够表示成一个向量组(x1,…xm)。这种表示方式比之前的二元表示方式更容易进行自动编码。
 
5、  传统递归编码
自动编码的目的针对输入的数据学习得出一种表现形式。
给定一个向量组x=(x1,…xm),通过学习得到下面一棵树:


第一个父节点y1通过(c1,c2)=(x3,x4)得到:


W是两个孩子节点链接向量,为了验证这种方法是否可靠,可以用得到的数据还原出原来的叶子节点,比较两者的差异:


上面是通过得到的数据还原得到叶子节点。


通过欧几里得距离判断误差。
不断向上迭代,把得到的y1看成叶子节点,最终构造出整棵树。
 
6、  无监督递归编码
我们的目的就是最小化重构树的误差。假设A(x)代表从语句x能够构造树的全部可能集合,T(y)是一个函数,返回树中所有非叶子节点的索引s。于是误差率表示为:


可以通过贪心算法来求解,类似于赫夫曼编码,首先两两配对,每次选取误差最小的那个组合。it selects the pair which had the lowest reconstruction error (Erec)and its parent representation p will represent this phrase and replace bothchildren in the sentence word list.
不过,在构造时,需要考虑到不同节点之间的权重,比如两个节点(x3,x4)得到父节点y1和叶节点x1进行合并时不能看成是同等级别的:


最后是进行归一化操作:


 
7、  半监督递归编码
前面通过贪心算法构造出了表征这段文本的树,就可以用这棵树来描述这段文本。利用这一点,在每个父节点上增加一个平滑层就能够预测每个类别的分布情况:


假设我们有K个标签,d就是一个K维的分布,∑d=1


假设tk表示多标签中第k个元素的分布情况,我们能够得到关于dk的一个概率,然后进行交叉验证:

 

最终半监督RAE目标函数为:


其中:


针对这个目标函数,采用梯度下降求解即可:


 
最后是和其他方法对比的效果:
--------------------- 
作者:Felven 
来源:CSDN 
原文:https://blog.csdn.net/zhaoxinfan/article/details/14524697 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值