情感分析主要研究观点挖掘、倾向性分析等。
一,为什么需要观点挖掘和倾向性分析
文本信息主要包括两类:
但是已有的文本分析方法主要侧重在客观性文本内容的分析和挖掘。
二,什么是观点挖掘与倾向性分析
观点挖掘与倾向性分析就是从海量数据中挖掘观点信息,并分析观点信息的倾向性。
观点挖掘与倾向性分析的主要任务有:
-
观点及倾向性识别:如情感识别。
-
观点要素抽取:包括观点属性抽取和观点摘要。
- 观点检索
1,情感识别
从内容上可分为:
-
观点识别:主观的还是客观的。
-
极性分类:褒义、贬义还是中性的。
-
情感强度识别:例如好、非常好等…
从粒度等级上可分为:
-
词级别:识别一个词的倾向性。
-
特征级别(Aspect Level):识别一个Aspect的倾向性。如价格方面。
-
句子级别:识别一个句子的观点倾向性。
-
文档级别:识别一篇文本整体的倾向性。
2,观点属性抽取
-
观点持有者抽取:通常为命名实体、名词性短语或者术语。
-
观点目标抽取:通常为术语、事件、实体等
3,观点摘要
4,观点检索
根据用户的查询从文档中找出对于主题信息发表了观点的文档,主题相关并且具有主观倾向性。
三,典型方法
1,情感识别
(1)词级别
任务:识别词语的情感倾向性,构建词典资源。
基本思路:利用词之间的相似度进行扩展。
方法:基于词典的方法或者基于语料库的方法。
(2)句子级别
任务:识别句子的情感倾向性。
关键问题:如何进行特征表示。
分类:基于语料库的方法、基于词典的方法和融合方法。
与传统的基于话题的文本分类侧重于主题词特征相比,情感识别中表示倾向性的词语更加重要。
基于语料库的方法的步骤:
- 特征选择
- 极性迁移:多种语言现象造成的句子内部词的倾向性转移。例如“不是很漂亮”,其中“不是”就对“漂亮”这个词进行了倾向性的转移。
- 极性迁移的检测:可使用基于神经网络的方法。
(3)文档级别
任务:识别篇章整体观点倾向性。
绝大多数方法与句子级别方法类似:特征+分类器。
关键问题:多观点倾向性,即一篇商品评论中可能包含对于商品多方面的观点,每个观点的倾向性也可能不同,如何识别篇章整体的观点倾向性。
基于句子的划分的方法,因为篇章中的客观句对于篇章的整体观点倾向性没有意义,所以可以:
- 利用图算法从篇章中识别出观点句,剔除客观句。
- 只利用观点句来识别篇章整体的观点倾向性。
![观点句抽取](https://img-blog.csdn.net/20180616154954616?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyMDI2OTY2NDI3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
然后考虑篇章中每个句子对于篇章整体倾向性的贡献:
- 句子级倾向性和篇章级倾向性识别一体化。
- 考虑句子的上下文特征。
- 结构化CRFs模型。
![结构化的CRFs](https://img-blog.csdn.net/20180616155156282?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyMDI2OTY2NDI3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
当然也可以使用基于深度学习的方法:
![篇章级倾向性识别](https://img-blog.csdn.net/20180616155012657?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyMDI2OTY2NDI3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
主要问题:多观点混合问题,即篇章中局部观点与整体观点不一致。
(4)其他
2,观点挖掘
(1)观点对象抽取
任务:抽取观点评价的对象。
方法:利用属性词与评价词之间的依存句法关系。
(2)观点持有者抽取
基本思路:
- 命名实体识别
- 句法结构特征:卷积核
- 分类或者序列标注:SVM、NB、CRFs
- 指代消解
3,观点检测
任务:从海量文本中根据查询找到观点信息。
根据主题相关度与观点倾向性对于结果进行重排序。
关键问题:找到主题相关度得分与观点倾向性得分的折中。
基于句子的观点检索:
- BOW不能很好地表示文档中的观点信息。
- 利用topic-sentiment pair表示每一个句子。
- 采用窗口共现策略抽取pair。
- 利用HITS算法来计算每个pair在篇章中的权重。
![HITS](https://img-blog.csdn.net/20180616155048955?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyMDI2OTY2NDI3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)