学习微博情感分类的特定情感词嵌入(A14, ACL2014)*

来源:互联网 发布:华孚色纺怎么样 知乎 编辑:程序博客网 时间:2024/05/22 08:01

Learning sentiment-specific word embedding for twitter sentiment classification 学习微博情感分类的特定情感词嵌入(A14, ACL2014)

文章提出了一个学习微博情感分类的词嵌入方法。大多数现存算法只对词的上下文句法结构建模学习连续词表达,忽略了文本情感。这存在问题,它们经常匹配相似的上下文句法结构但是相反的情感极性为邻居词向量。文章提出学习特定情感词嵌入(SSWE),在连续的词表达中编码情感信息。特别地,开发了三个神经网络在它们的损失函数中从文本情感极性有效包含监督。为了获得大规模训练语料,从通过积极、消极表情符号收集到的大量弱监督微博学习特定情感词嵌入。自动收集的微博包含噪声,不能直接用作好的训练数据建立情感分类器,但是为训练特定情感词嵌入提供弱监督信息是足够有效的。
采用SSWE作为情感分类监督学习框架的特征,在SemEval 2013基准数据集上评估。在预测微博极性的任务中,只使用SSWE作为特征得到的宏F1值比基于手工特征的性能最好的系统好一点。结合SSWE特征和现存的特征集后,达到了最高水平的宏F1值。在每个情感词和它的前N个最接近词极性一致性的正确性方面,SSWE比现存词嵌入学习算法性能更好。

Twitter情感分类的特定情感词嵌入

参考文献中引入C&W模型基于词的上下文句法学习词嵌入。给定一个n元文法,C&W替换中心词为一随机词ωr产生一个损坏的n元文法。训练目标是原始的n元文法相比损坏的n元文法有望获得更高的语言模型得分。排序目标函数可以优化为一个损失函数:losscw(t,tr)=max(0,1fcw(t)+fcw(tr)) (1),t是原始n元语法,tr是损坏n元文法,fcw()是一维标量,代表输入n元文法语言模型得分。C&W的神经架构由4层组成,自底向上为lookup → linear → hTanh → linear。原始和损坏的n元文法分别当做前馈神经网络的输入。输出fcw是输入的语言模型的得分,通过(2)式计算:fcw(t)=ω2(a)+b2 (2)a=h Tanh(ω1Lt+b1) (3)x<1,h Tanh(x)=11x1,h Tanh(x)=xx>1,h Tanh(x)=1。L是词嵌入的lookup表,ω1ω2b1b2是linear层的参数。
在此基础上,文章引入情感信息到神经网络学习特定情感词嵌入。用不同策略开发了3个神经网络集成微博的情感信息。

  • 基本模型1(SSWEh
    作为一个非监督方法,C&W模型不直接获取文本的情感信息。一个直观的解决方法集成情感信息是基于输入n元文法的文本预测情感分布。由于不同句子长度不同,不使用整个句子作为输入。滑动n元文法的窗口,用共享的神经网络基于每个n元文法预测情感极性。在神经网络中,较高层的分布表达解读为描述输入的特征。这样,利用顶层的连续向量预测文本的情感分布。
    假定有K个标签,更改C&W模型的顶层维数为K,在顶层上面添加一个softmax层。softmax层在这个场景中很合适因为它的输出解读为条件概率。不同于C&W,SSWEh不产生任何损坏n元文法。令fg(t)为输入t的黄金K维多项式分布,K为情感极性标签数,kfgk(t)=1。对于积极/消极分类,积极分布形如[1,0],消极分布形如[0,1]。softmax层的交叉熵是:lossh(t)=k={0,1}fgk(t)log(fhk(t)) (5)fg(t)是黄金情感分布,fh(t)是预测的情感分布。
  • 基本模型2(SSWEr
    SSWEh通过预测积极n元文法为[1,0],消极n元文法为[0,1]训练。然而,它的限制太严格。分布[0.7,0.3]也可以解读为积极标签因为积极得分大于消极得分。类似地,分布[0.2,0.8]暗示消极极性。基于以上观察,SSWEh的严格限制应该被放松。如果微博的情感极性是积极的,预测的积极分值有望比预测的消极分值大,反之亦然。
    用一个排序目标函数建模松的限制,借用SSWEh的底下四层,lookup → linear → hTanh → linear来建立松弛神经网络(SSWEr)。与SSWEh相比,softmax层移除,因为SSWEr不需要概率解读。SSWEr的损失函数:lossr(t)=max(0,1δs(t)fr0(t)+δs(t)fr1(t)) (6)fr0是预测的积极分值,fr1是预测的消极分值。δs(t)是反映一个句子情感极性的指示函数,fg(t)=[1,0],δs(t)=1fg(t)=[0,1],δs(t)=1,与SSWEh相似,SSWEr也不产生损坏n元文法。
  • 统一模型(SSWEμ
    C&W模型通过建模词的上下文句法学习词嵌入,但是忽略了情感信息。相对的,SSWEhSSWEr通过集成句子的情感极性学习特定情感词嵌入,但是没有考虑词的上下文句法。建立一个统一模型(SSWEμ),捕获句子情感信息同时词的上下文句法。给定一个原始(或损坏)n元文法和句子的情感极性作为输入,SSWEμ为每个输入n元文法预测一个2维向量。两个标量(fμ0,fμ1)分别代表输入n元文法的语言模型得分和情感得分。SSWEμ的训练目标是:原始n元文法相比损失n元文法fμ0(tr)应该获得更高的语言模型得分fμ0(t);原始n元文法的情感得分fμ1(t)应该比损失n元文法fμ1(tr)与句子的黄金极性标注更加一致。SSWEμ的损失函数是两个损失函数的线性组合:lossμ(t,tr)=αlosscw(t,tr)+(1α)lossμs(t,tr) (8)lossμs(t,tr)=max(0,1δs(t)fr1(t)+δs(t)fr1(t)) (9)
  • 模型训练
    用TwitterAPI爬取2013.4.1到2013.4.30的微博,用参考文献中的TwitterNLP对每条微博切分词,移除@用户和URL,过滤掉太短的微博(<7个词)。最终收集1000万条微博,通过用积极情感符号选择500万微博和用消极情感符号选择500万微博得到。
    训练SSWEhSSWErSSWEμ,反向传播损失。使用参考文献中的AdaGrad更新参数。经验地设置窗口大小为3,嵌入长度为50,隐层长度为20,AdaGrad学习速率为0.1。用相同的神经网络和参数设置分别对一元,二元,三元学习嵌入。

Twitter情感分类

代替手工特征,引入词和短语连续表达作为微博特征。用微博中手工标注的情感极性建立情感分类器。
探索被认为是简单有效的基于向量的语义合成学习方法:min,average和max卷积层,获得微博表达。结果是不同卷积层产生的向量的连结:z(tw)=[zmax(tw),zmin(tw),zaverage(tw)]z(tw)是微博tw的表达,zx(tw)是卷积层的结果,x{min,max,average}。每个卷积层zx分别使用一元,二元和三元嵌入,在每个lookup表的列代表的序列上执行矩阵向量操作x。zx的输出是从不同lookup表获得的结果的连结:zx(tw)=[ωx<Luni>tw,ωx<Lbi>tw,ωx<Ltri>tw]ωxzx的卷积函数,<L>tw是微博中词列向量的连结。LuniLbiLtri分别是是lookup表一元,二元,三元嵌入。

实验

  • 实验建立和数据集
    在SemEval 2013最新的Twitter情感分类基准数据集上进行实验。
  • 基准方法
    比较SSWEμ和基准情感分类方法。
  • 不同词嵌入之间的比较
    比较SSWEhSSWErSSWEμ和基准词嵌入学习算法。
  • SSWEμα的影响
    使用一元嵌入作为特征,调整参数α
  • SSWEμ中弱监督数据的影响
    实验表明当添加更多弱监督微博时,SSWEμ的正确率相应地提升。当词的上下文信息大部分被覆盖时,性能保持稳定。
  • 情感词典的词相似性
    评估度量是每个情感词和它的情感词典中前N个最近邻词极性一致性的正确率:Accuracy=#Lexi=1Nj=1β(ωi,cij)#LexN#Lex是情感词典中的词数,ωi是词典中的第i个词,cij是词典中ωi的第j近的词(距离用cosine相似度计算)。β(ωi,cij)是一个指示函数,如果ωicij有相同的情感极性,值为1,否则为0。实验中设置N=100。
    用广泛使用的2个情感词典。对于每个词典,移除在词嵌入lookup表中没有出现的词。只使用一元嵌入,因为这些情感词典不包含短语。
0 0
原创粉丝点击