情感分析也称为意见挖掘,是自然语言处理(NLP)中的一个领域,它试图在文本中识别和提取意见
除了提取意见,还可以提取:
态度:发言者是表达了积极还是消极的意见
主题:正在谈论的事情
意见持有人:表达意见的实体
有很多实际应用场景,例如:
社交媒体监控
品牌监控
客户之声(VoC)
客户服务
员工分析
产品分析
市场研究与分析
实现情感分析的方法有很多种,可分为:
基于规则的,手动制定一些规则来执行情绪分析。
自动系统,依靠机器学习技术从数据中进行学习。
混合系统,结合了基于规则和自动的方法。
基于规则的:
这时需要定义一组规则,用于识别态度,意见主体等。
例如可以这样做:
1. 定义两个态度极性的词列表(例如,诸如差,最差,丑陋等负面词,和好,最佳,美丽等正面词)。
2. 给一个文本
计算文本中出现的正面词数。
计算文本中出现的否定词数。
3. 如果正面词出现的数量大于负面单词出现的数量,则返回正面情绪,相反,返回负面情绪。否则,返回中立。
当然这个方法非常非常简单,没有考虑单词如何在一个序列中组合的
自动方法
这种主要是依赖于机器学习技术。
情绪分析任务通常被建模为分类问题,可以使用 Naïve Bayes, Logistic Regression, Support Vector Machines, Neural Networks 等算法。
Naïve Bayes:使用贝叶斯定理来预测文本的类别。
Logistic Regression:非常着名的算法,给定一组特征(X)的情况下预测值(Y)。
Support Vector Machines::非概率模型,将文本看作多维空间中的点,被映射到空间的不同区域作为不同的类别。
Neural Networks:用 RNN 等神经网络来处理
之前写过一篇简单的 怎样做情感分析
https://www.jianshu.com/p/1909031bb1f2
混合方法:
就是将二者结合起来