学习微博情感分类的特定情感词嵌入(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替换中心词为一随机词
在此基础上,文章引入情感信息到神经网络学习特定情感词嵌入。用不同策略开发了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)=1,如果fg(t)=[0,1],δs(t)=−1 ,与SSWEh 相似,SSWEr 也不产生损坏n元文法。 - 统一模型(
SSWEμ )
C&W模型通过建模词的上下文句法学习词嵌入,但是忽略了情感信息。相对的,SSWEh 和SSWEr 通过集成句子的情感极性学习特定情感词嵌入,但是没有考虑词的上下文句法。建立一个统一模型(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万微博得到。
训练SSWEh ,SSWEr 和SSWEμ ,反向传播损失。使用参考文献中的AdaGrad更新参数。经验地设置窗口大小为3,嵌入长度为50,隐层长度为20,AdaGrad学习速率为0.1。用相同的神经网络和参数设置分别对一元,二元,三元学习嵌入。
Twitter情感分类
代替手工特征,引入词和短语连续表达作为微博特征。用微博中手工标注的情感极性建立情感分类器。
探索被认为是简单有效的基于向量的语义合成学习方法:min,average和max卷积层,获得微博表达。结果是不同卷积层产生的向量的连结:
实验
- 实验建立和数据集
在SemEval 2013最新的Twitter情感分类基准数据集上进行实验。 - 基准方法
比较SSWEμ 和基准情感分类方法。 - 不同词嵌入之间的比较
比较SSWEh ,SSWEr ,SSWEμ 和基准词嵌入学习算法。 SSWEμ 中α 的影响
使用一元嵌入作为特征,调整参数α 。SSWEμ 中弱监督数据的影响
实验表明当添加更多弱监督微博时,SSWEμ 的正确率相应地提升。当词的上下文信息大部分被覆盖时,性能保持稳定。- 情感词典的词相似性
评估度量是每个情感词和它的情感词典中前N个最近邻词极性一致性的正确率:Accuracy=∑#Lexi=1∑Nj=1β(ωi,cij)#Lex∗N ,#Lex 是情感词典中的词数,ωi 是词典中的第i个词,cij 是词典中ωi 的第j近的词(距离用cosine相似度计算)。β(ωi,cij) 是一个指示函数,如果ωi 和cij 有相同的情感极性,值为1,否则为0。实验中设置N=100。
用广泛使用的2个情感词典。对于每个词典,移除在词嵌入lookup表中没有出现的词。只使用一元嵌入,因为这些情感词典不包含短语。
- 学习微博情感分类的特定情感词嵌入(A14, ACL2014)*
- 文本情感分类---搭建LSTM(深度学习模型)做文本情感分类的代码
- 学习微博中情感分类的句子表达(NLPCC2013)
- 基于情感词典的文本情感分类
- 基于cnn的情感分类
- 文本情感分类(一)
- 文本情感分类(二)
- 文本情感分类(四)
- 微博舆情 之 特定话题情感分析
- 基于情感词库和PMI互信息的情感分类
- Keras + LSTM + 词向量 情感分类/情感分析实验
- 文本情感分类(二):深度学习模型
- 文本情感分类(二):深度学习模型
- 基于机器学习的NLP情感分析(二)---- 分类问题
- 情感
- 情感
- 情感
- 情感
- Android系统jar环境变量SYSTEMSERVERCLASSPATH
- JavaScript学习笔记之JS函数(一)
- warning incompatible implicit declaration of built-in function 'printf'
- 数据结构面试题1.2.9-查找最小的K个元素-使用最大堆
- 修改AfxMessageBox对话框标题
- 学习微博情感分类的特定情感词嵌入(A14, ACL2014)*
- Struts框架核心工作流程与原理
- 随机数、序列数生成、数组排序
- SpringMVC进阶(四)——注解开发
- Java学习笔记【输入输入知识要点】
- 不进化,则消亡
- Java-Mail 发送邮件
- 算法--设计一个有getMin功能的栈
- 字符字节转换器,不同编码下字符字节互转