注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Explore in Data

Just enjoy it.

 
 
 

日志

 
 

Python 文本挖掘:使用机器学习方法进行情感分析(介绍)  

2013-11-19 14:16:32|  分类: Python 文本挖掘 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
不是有词典匹配的方法了吗?怎么还搞多个机器学习方法。
因为词典方法和机器学习方法各有千秋。
机器学习的方法精确度更高,因为词典匹配会由于语义表达的丰富性而出现很大误差,而机器学习方法不会。而且它可使用的场景更多样。无论是主客观分类还是正负面情感分类,机器学习都可以完成任务。而无需像词典匹配那样要深入到词语、句子、语法这些层面。
而词典方法适用的语料范围更广,无论是手机、电脑这些商品,还是书评、影评这些语料,都可以适用。但机器学习则极度依赖语料,把手机语料训练出来的的分类器拿去给书评分类,那是注定要失败的。

使用机器学习进行情感分析,可以换一个相同意思的说法,就是用有监督的(需要人工标注类别)机器学习方法来对文本进行分类
这点与词典匹配有着本质的区别。词典匹配是直接计算文本中的情感词,得出它们的情感倾向分值。而机器学习方法的思路是先选出一部分表达积极情感的文本和一部分表达消极情感的文本,用机器学习方法进行训练,获得一个情感分类器。再通过这个情感分类器对所有文本进行积极和消极的二分分类。最终的分类可以为文本给出0或1这样的类别,也可以给出一个概率值,比如”这个文本的积极概率是90%,消极概率是10%“。

Python 有良好的程序包可以进行情感分类,那就是Python 自然语言处理包,Natural Language Toolkit ,简称NLTK 。
NLTK 当然不只是处理情感分析,NLTK 有着整套自然语言处理的工具,从分词到实体识别,从情感分类到句法分析,完整而丰富,功能强大。实乃居家旅行,越货杀人之必备良药。
两本NLTK 的参考书,非常好用。一本是《Python 自然语言处理》,这是《Natural Language Processing with Python》的中文翻译版,是志愿者翻译没有出版社出版的,开源精神万岁!另一本是Python Text Processing with NLTK 2.0 Cookbook,这本书写得清晰明了,虽然是英文版的,看起来也很舒服。特别值得一提的是,该书作者Jacob 就是NLTK 包的主要贡献者之一。而且他的博客中有一系列的文章是关于使用机器学习进行情感分类的,我的代码可以说是完全基于他的,在此表示我的感谢。
其实还有国外作者也被他启发,用Python 来处理情感分类。比如这篇文章,写得特别详细认真,也是我重点参考的文章,他的代码我也有所借用。
Jacob 在文章中也有提到,近段时间NLTK 新增的scikit-learn 的接口,使得它的分类功能更为强大好用了,可以用很多高端冷艳的分类算法了。于是我又滚过去看scikit-learn 。简直是天赐我好工具,妈妈再也不用担心我用不了机器学习啦!
有了scikit-learn 的接口,NLTK 做分类变得比之前更简单快捷,但是相关的结合NLTK 和 sciki-learn 的文章实在少,这篇文章是仅有的讲得比较详细的把两者结合的,在此也表示感谢。

但对于我而言还是有点不够的,因为中文和英文有一定的差别,而且上面提到的一些博客里面的代码也是需要改动的。终于把一份代码啃完之后,能写出一个跑得通的中文情感分类代码了。接下来会介绍它的实现思路和具体代码。
  评论这张
 
阅读(5844)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017