学习微博中情感分类的句子表达(NLPCC2013) Learning sentence representation for emotion classification on microblogs

文章采用伪标记数据,来通过深度信任网络(DBN)算法学习句子表达。数据是通过微博情感分析中弱监督学习和训练语言模型得到。在监督学习框架上的实验结果表明,使用伪标记数据,深度信任网络学到的表达比基于主成分分析和基于隐性Dirichlet分配的表达要好。引入基于深度信任网络的表达于基本特征,性能进一步提高。
文章中通过情感符号收集的信息叫做伪标记语料。利用伪标记语料学习DBN基本框架中的句子表达。
微博情感分析可以从两个角度来看,依赖于目标的和目标独立的情感分析。文章研究目标独立的情感分类任务。

方法

从伪标记语料学习表达一些步骤是必要的。为了获得伪标记语料,每个类(Happy,Sad,Angry和Surprise)的表情符号需要提前选定。为了减少手工工作同时过滤有歧义的表情符号,基于它们的质量和数量选择有代表性的表情符号。接着预处理和标准化来保证伪标记语料的质量。然后,提出基本特征映射每条信息到相同维数的特征空间。最后采用深度信任网络通过一个非监督,贪心逐层算法学习句子表达。

  • 表情符号的选择
    为了保证自动标记的质量,不是所有的表情符号都保留,有歧义的需要过滤掉。因此,基于质量和数量的表情符号自动排序策略很重要。受参考文献的启发,每个表情类中的每个表情符号的重要性为:Si(ej)=Acci(ej)∗log10(freq(ej)) (1)S_i(e_j)=Acc_i(e_j)*log_{10}(freq(e_j))\ (1),Acci(ej)=∑kco_freq(ej,swik)∑k∑Ico_freq(ej,swIk) (2)Acc_i(e_j)=\frac{\sum_kco\_freq(e_j,sw_{ik})}{\sum_k\sum_Ico\_freq(e_j,sw_{Ik})}\ (2)。(1)式中第一个乘子对应质量因子,第二个乘子指示数量因子。第二个乘子中的freq(ej)freq(e_j)代表语料中表情符号eje_j的频度。(2)式中,co_freq(ej,swikco\_freq(e_j,sw_{ik}代表表情符号eje_j和第i个表情符号类中第k个情感词swiksw_{ik}在语料中的共现。最后通过计算结果,每个情感类排在前面的表情符号被选定。
  • 伪标记语料收集
    为了产生高质量数据,预处理:
    -移除信息的转帖部分来保持用户编辑的纯源内容。
    -代替正式的元数据为对应的标准格式。代替@XXX为REF,#标签#为TAG。
    -基于最长共同子序列(LCS)移除重复的信息。
    -移除长度小于10的信息。
    预处理之后,只包含一种表情符号的信息将被收集作为伪标记信息。也就是说包含不同情感类表情符号的信息不收集。接着,通过参考文献中的语言技术平台实现分词。
  • 基本特征
    受参考文献的启发,文章使用的基本特征为:
    -词一元特征。为了控制特征空间的维数,考虑在伪训练数据中最频繁的2000词。
    -标点特征。手动选择可以反映情感的标点序列,如:!!!,…和???。这些标点特征根据是否出现在信息中作为二值特征使用。
    -情感词典特征。为了映射信息中的情感词为预定义的情感类,引入外部词典。给定一条信息,词典用于判断每个情感类中的词是否存在于信息中,对应的特征作为二值特征。
    -拟声词特征。手动建立拟声词词典(OL)。拟声词特征是二值的,根据给定信息中是否存在拟声词。
    -功能词特征。功能词大多数是动词。手动收集功能词词典。同样是二值的。
    抽取完基本特征后,每条信息映射为相同维的特征空间,将作为可见节点的输入来学习句子表达。
  • 情感分类的表达学习
    DBN模型由3层组成,3层中的每一层代表限制玻尔兹曼机(RBM),DBN的训练过程是逐层贪心、非监督的,直观目的是重构。思想是一次训练一层,从低层开始,当前添加层的训练目标是重构之前的层。
    提出限制玻尔兹曼机建模集成二值向量为二层网络。底层中观察到的信息的基本特征对应层v的可见单元,隐式特征对应层h的隐藏单元。共同配置(v,h)的能量:E(v,h)=−∑i∈inputsbivi−∑j∈featuresbjhj−∑i,jvihjwij (3)E(v,h)=-\sum_{i\in inputs}b_iv_i-\sum_{j\in features}b_jh_j-\sum_{i,j}v_ih_jw_{ij}\ (3),viv_i和hjh_j是可见层的第i个节点和隐藏层的第j个节点,bib_i和bjb_j分别为它们的偏差,wijw_{ij}是它们之间的权重。
    在训练过程中,每个RBM在它的输入向量执行一个非线性转换,输出向量是下一层的输入。sigmod函数用于计算每个节点是开启的概率。随机激活隐藏单元后,虚构向量产生。隐藏单元的状态通过虚构向量更新,△wij=ϵ(<vihj>data−<vihj>recon) (4)△w_{ij}=\epsilon(_{data}-_{recon})\ (4),ϵ\epsilon是学习速率,<vihj>data<script type="math/tex" id="MathJax-Element-16">_{data}</script>是v中第i个节点和h中第j个节点在一起的概率,<vihj>recon<script type="math/tex" id="MathJax-Element-17">_{recon}</script>是重构阶段对应的概率。

实验

  • 数据集
    用微博API收集从2009年9月到2010年9月的120万中文信息。随机选择100万信息来获得伪标记语料。移除重复信息后,获得2万表情符号数据作为伪标记数据,每类表情5000条信息。随机选取同样数量的没有表情符号的信息作为未标记数据。
  • 词典资源
    采用了几个词典资源,比如情感词典(EL),拟声词词典(OL)和功能词词典(FWL)。
  • 网络构建

总结和未来工作

当伪标记数据的量比标记数据大时,获得更好的性能。在更多伪标记语料的情况下,性能是否继续提高?

学习微博中情感分类的句子表达(NLPCC2013)相关推荐

  1. 疫情微博文本情感分类 (简化版SMP2020赛题)

    编者按 代码仅供参考,欢迎交流:请勿用于任何形式的课程作业.如有任何错误,敬请批评指正~ Pytorch系列文章: Pytorch实验一:从零实现Logistic回归和Softmax回归 Pytorc ...

  2. python3中情感分类_python中的情感分类

    python3中情感分类 This post is the last of the three sequential posts on steps to build a sentiment class ...

  3. NLPcc2013-2014微博文本情感分类数据集

    从xml中提取的,文件格式为tsv,和csv差不多,可以转为其他格式 链接:https://pan.baidu.com/s/1lDiuvpbT5qPc_uJJs0cPUQ 提取码:t5i7 impor ...

  4. 学习笔记(05):自然语言处理Word2Vec视频学习教程-影评情感分类任务概述

    立即学习:https://edu.csdn.net/course/play/5226/106441?utm_source=blogtoedu pandas读入训练数据.

  5. 深度学习在情感分类中的应用

    简介与背景 情感分类及其作用 情感分类是情感分析的重要组成部分,情感分类是针对文本的情感倾向进行极性分类,分类数量可以是二分类(积极或消极),也可以是多分类(按情感表达的不同程度),情感分析在影音评论 ...

  6. 基于 Word2Vec 和 SVM 的微博舆情情感演化分析 论文笔记

    目录 论文标题 引言 标题论文学术结构 1.相关研究综述(先前学者的研究) 2.研究方法 3.基于 Word2Vec 和 SVM 的微博情感演化分析 4.基于 Word2Vec 词相似度的舆情主体对象 ...

  7. 【毕业设计_课程设计】基于机器学习的情感分类与分析算法设计与实现(源码+论文)

    文章目录 0 项目说明 1 研究目的 2 研究方法 3 研究结论 4 项目流程 4.1 获取微博文本 4.2 SVM初步分类 4.3 使用朴素贝叶斯分类 4.4 AdaBoost 4.4.1 二分类A ...

  8. 情感分类《Thumbs up?Sentiment Classification using Machine Learning Techniques》

    相关背景: 这篇论文发表于2002,那时大量的文本分类研究都是对文章的主题分类,例如判断一篇文章是体育类还是财经类.然而随着在线评论的网站大肆兴起,为了提供更言简意赅的信息,就需要判断人们针对某件事发 ...

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

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

最新文章

  1. 数据结构与算法实验祝恩_《数据结构与算法》实验教学大纲
  2. MySQL连接问题【如何解决MySQL连接超时关闭】
  3. ffmpeg 花屏的问题
  4. web重启tomcat_使用docker构建jdk镜像和web服务镜像
  5. python菜鸟教程100例-Python 练习实例4
  6. 大型网站架构系列:20本技术书籍推荐
  7. B550-I Ryzen 9 5950X RX 5700 XT 黑苹果efi引导文件
  8. springboot+redis实现文章浏览量记录
  9. c# spire.xls 设置文字为微软雅黑_微软推出的逆天神器,让我抛弃用了5年的 Chrome。...
  10. 一个寒门博士的论文后记:我还是没有能力让母亲安享晚年
  11. 学生用计算机怎么调,学生计算器怎么调时间
  12. RationalDMIS 7.1 量块程序 2020
  13. 区块链零知识证明:STARKs, Part II
  14. 解决iPhone部分机型下面有小黑条遮挡问题
  15. 将网页制作为chm文件
  16. 如何解决Mac只能登QQ不能联网
  17. 中国摄像头CMOS需求潜力旺盛
  18. 自适应textarea文本域高度原理
  19. kotlin协程知识点梳理
  20. 程序员中国制造--2017

热门文章

  1. 【Java Web基础】(五)实现新增下拉列表—由用户输入内容(Html+JS)
  2. 全国计算机等级考试评分标准,全国计算机等级考试评分标准
  3. Java 第5、8、9章复习
  4. vue + element-ui 对登录功能、重置表单、退出功能、路由重定向、挂载路由导航守卫的实现
  5. ionic3学习之Events
  6. eplan好看的电缆图表_eplan,电缆图表,模板
  7. html调用优酷视频播放,优酷网视频播放器站外调用详解
  8. Redis教程–事务机制基本介绍
  9. Linux执行某些命令缺少libtinfo.so.5
  10. C++强制类型转化:reinterpret_cast