资讯专栏INFORMATION COLUMN

机器学习实战,使用朴素贝叶斯来做情感分析

levinit / 1547人阅读

摘要:至于为什么选取朴素贝叶斯,很大一个原因是因为朴素贝叶斯在垃圾邮件分类上有不错的效果,而确定一个句子属于那种情感,和判断一封邮件是否为垃圾邮件有异曲同工之妙。

前言

前段时间更新了一系列基础的机器学习算法,感觉有些无味,而且恰好那时买了了国内某公司的云服务器,就打算部署一套文本处理的WEB API,顺别应用一下之前学习到的机器学习算法。(文末放出地址)

本文不会涉及过于复杂的数学原理,主要讲述如何提取特征与调用模型。

实现了的api

分词
访问/cut?sentence=&method=,其中sentence参数指明需要分词的句子,method参数指明分词的方式。

统计词频
访问/count?sentence=&=method=,其中的参数说明和分词的api一致。

情感分析
访问/count?sentence=,因为目前是针对句子的,因此sentence的范围限制了在1~200词之间。

本文重点讲述情感分析的实现。

情感分析的实现

情感分析的应用是多种多样的,往大了说,可以用于国家对某个热点进行舆情监控,选举的选情分析,电商对产品的售后意向调查,往小了说还可以写一个脚本对你女神的微博进行关心,在女神不开心的时候及时送上关心。

至于情感分析的实现,在学术论文上均有提及,大致过程都可以分为提取情感极性词,将语句转化为向量,扔进你训练好的模型里

在这里我们针对实际情况做出一定的修改,提取情感极性词,必然是需要词典来参考的,虽然各大语言机构都有公开的词典,,但并不建议使用这些词典。其中一个原因是因为这些公开的词典太过书面化,和“礼貌”,不太接近日常生活。因此这这里我采用的是自定义词典,另外一点是,在提取关键词部分不仅仅是提取情感相关的词语,同时也使用其他日常用语,比如草泥马,虽然不像开心,伤心这样的情感极性词,但草泥马显然具有明确的情感偏向。

值得说明的是,我们既然在提取特征词的时候考虑到平常的词语,同样也就意味这一些乱七八糟的词语会混进来,所以我们在提取完特征词后,同时计算它们的词频,只取频率排名的前20%,(当然这个数字可以根据自己需要调整)。

挑选的出来的特征词就构成了[word1,word2,word3……],同时检测训练样本,若样本中出现了特征词,则该样本的特征向量对应位置置1,否则为0。

构成特征向量后,我选取的算法是朴素贝叶斯,关于其原理,可以查看我支持的专栏机器学习从入门到放弃之朴素贝叶斯。至于为什么选取朴素贝叶斯,很大一个原因是因为朴素贝叶斯在垃圾邮件分类上有不错的效果,而确定一个句子属于那种情感,和判断一封邮件是否为垃圾邮件有异曲同工之妙。

在sklearn中,只要添加如下代码即可。

from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
gnb = gnb.fit(feature, label)
result = gnb.predice(test)

上述api中涉及的分词操作均是使用 结巴分词 完成。

测试效果

下面测试用例又黄又暴力,未成年观众在家长的陪同下观看。

开源代码

dudulu

WEB API测试页面

目前只有情感分析的api的测试页面

dudulu
不得不说使用了必应的背景图来做自己网站的背景图效果相当不错。

后话

希望大家多多调戏(目前语料只支持中文),后端的日志会记录下测试记录(算是收集数据),我会周期性上去更新模型,效果理论上会越变越好。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38185.html

相关文章

  • ApacheCN 人工智能知识树 v1.0

    摘要:贡献者飞龙版本最近总是有人问我,把这些资料看完一遍要用多长时间,如果你一本书一本书看的话,的确要用很长时间。为了方便大家,我就把每本书的章节拆开,再按照知识点合并,手动整理了这个知识树。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 贡献者:飞龙版...

    刘厚水 评论0 收藏0
  • 成为数据科学家的入门项目

    摘要:基于大量的数据统计,网球是一种很好的预测类体育项目。数据科学家根据历史数据和玩家信息来构建预测模型,并将结果与博彩公司的评估进行比较。目标是找出机器学习模型与博彩公司评估之间的差距,从而有机会获胜。这是一个很好的实际数据科学项目。 作者:chen_h微信号 & QQ:862251340微信公众号:coderpai简书地址:https://www.jianshu.com/p/56c......

    Julylovin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<