一个简单的情感识别系统的实现
来源:互联网 发布:bp神经网络算法matlab 编辑:程序博客网 时间:2024/06/05 19:27
情感识别,主要就是正和负的识别,偶尔也有中性。类别比较少,所以相对于广义的文本分类来说,看起来要简单很多,特别是很多词汇都有很强的倾向性。当然这是针对某一特定的领域。一般的话,情感识别主要用于商品评论,因为不同的商品会有不同的术语之类的专门的某一词汇,所以如果将某一领域的数据集上学到的模型应用在另一个领域的话,可能效果会不很理想。
Stephan Raaijmakers等的这篇文章[1]提出的是一种基于阀值投票的方法,即使用独立的分类器去分各个类别的数据,最后使用新领域的数据对分类结果进行投票校验。这个方法只要使用新数据的一小部分有标即可。大概是下面这张图所描述的意思。虽然这张图是下面的paper里面的。
Shoushan Liand Chengqing Zong的这篇文章[2]同样是对多领域数据的分类研究,他们提出的方法是把特征层面和分类器层面进行融合。此文首先是批判了上图所描述的独立分类的不足,然后提出了自己的新的方法,即在分类的同时进行分类器间的融合,具体步骤如下图:
按照我的理解,相当于在初次分类结束后,进行交叉验证。
John Blitzer等人的这篇文章[3]使用的是一种叫做结构一致学习 (SCL) 算法。他们不仅用频率,也用互信息来选取关键特征,然后对目标领域,计算与源领域之间的距离,用距离的大小来分辨目标域属于哪一个领域,最后再进行分类。
Chenghua Lin等的这篇文章[4]对三种与贝叶斯关系紧密的模型在无监督的情感识别方面进行了研究。这三个模型分别是latent sentiment model隐藏情感模型 (LSM), the joint sentiment topic 连接情感话题模型(JST) model, and the Reverse-JST model逆JST模型。
在看到以上paper的之前,本人还确实不知道情感倾向识别会有这么多的人在用不同的模型进行研究,也说明这个领域有难度。
下面我的实现就没有那么高端洋气了,我使用的是一种叫做感知机(Perceptron)的方法,也叫做单层神经网络。感知机使用特征向量来表示网络,特征向量即可看成是矩阵,通过把输入的矩阵映射到一个特殊的目标函数上,通过判断目标函数的输出值来确定类别。函数表示如下:
具体的实现是:将输入的语料转换成向量,使用上面的公式进行计算,即算是学习到了一个模型,多次迭代之后,用测试数据对这些学习到的模型进行分类测试,选择正确率最高的最为以后分类的标准模型。
具体的实现代码可看:https://github.com/laozhaokun/sentimentclassify
这里是利用学习到的模型实现的在线分类的源码:https://github.com/laozhaokun/sentimentclass
具体效果可看:http://sentimentclass.sinaapp.com/
Reference
[1] Stephan Raaijmakersand Wessel Kraaij , TNO ICT, Delft, The Netherlands , Classifier Calibration for Multi-Domain Sentiment Classification
[2] Shoushan Liand Chengqing Zong, National Laboratory of Pattern Recognition Institute of Automation, Chinese Academy of Sciences, Beijing 100190, China
[3] John Blitzer Mark Dredze Fernando Pereira , Biographies,Bollywood, Boom-boxes and Blenders: Domain Adaptation for SentimentClassification
[4] Chenghua Lin,Yulan He,Richard Everson, A Comparative Study of Bayesian Models for Unsupervised Sentiment
Detection
- 一个简单的情感识别系统的实现
- 语音的情感识别问题
- 主题-情感识别的比赛
- php使用face++实现一个简单的人脸识别系统
- Qt + Opencv 实现的一个简单文字识别的demo
- 一个简单的粒子系统的实现
- 机器学习-kNN实现简单的手写数字识别系统
- 一个简单的文件传输验证码识别c/s实现
- MATLAB实现一个简单的车牌识别小程序
- 用python实现简单的文本情感分析
- 人脸情感识别相关的资料
- 基于语音信号MFCC的情感识别
- 实现一个简单的脚本系统
- 一个简单备份管理系统的实现
- JS实现一个简单的抽奖系统
- 一个群博系统的简单实现
- 实现一个简单的栅格系统
- 基于用户社会影响建模的情感识别系统框架(IEEE2014)
- NYOJ 293 Sticks 【深搜】+【剪枝】
- Sublime text追踪函数插件:ctags
- CreateDialog Tab Control 点击两次才能切换
- <<学习VI和VIM编辑器>>读书记录<3>
- 详解alpha-beta算法
- 一个简单的情感识别系统的实现
- 构造方法的重载
- 删除指定目录下的某个普通文件
- ArcGIS怎么立体地形图(已经有三维地形),想出个图 转
- 优秀博文收藏
- 认识-----Runtime类和Process类
- poj2369 置换群基础
- [第一章] Hello World
- 开源,我的一些行动