使用 python 基于朴素贝叶斯进行文本分类学习笔记之一:开始

最近一些项目开始使用机器学习和神经网络,有一个项目是对从搜索引擎抓回来的文字判断倾向性,看文章是正面的还是负面的(抱怨、怀疑、责备),没办法,我们所服务的互联网金融最近就是一个被高度关注的领域。

之前开发小组使用 R 语言基于朴素贝叶斯方法做了一些训练,并得到了一些结果,不过在正式环境运行的程序只是使用了结果,没有进行持续的训练和测试使用。

于是,我们开始研究怎么用 python 来基于贝叶斯方法进行训练和测试,python 世界里,基于 bayes 算法的资料多如牛毛,看的也有点晕。这次我们没有直接用现成的库,而是基于下面这本书:

s26696371

“机器学习实战”,这本书中的内容都是用 python 写的各类机器学习的算法,虽然豆瓣评价一般,给我们入门的确不错。

如豆瓣所说,这本书的代码写得的确比较乱,并且关键是基于 python2,所以我们按照书上的指引,修改了原来的代码,符合 python3语法,并且严格的符合 pep-8 python 命名规范等,并且修改为一个标准的类,便于使用。

同时,书中原来的例子是基于英文的,特别是一些关于网站倾向性和垃圾邮件的例子,不太适合中国国情,反而将程序弄得比较复杂,一并优化了。

大致分以下步骤:

  1. 基于书上的代码,修改 bayes 代码,减少不必要的函数,执行原书中的英文例句分类。
  2. 从京东网站上挑选一个手机的评论,从好评和差评中获得训练文本,引入中文分词,得到评价倾向性的结果。(分类在这里就是得到一个倾向性的判断,0或者1,好或者坏,是某种倾向或者没有没有倾向)
  3. 优化中文处理,引入停用词功能,增加分类判断的准确性。

使用 python 基于朴素贝叶斯进行文本分类学习笔记之一:开始
使用 python 基于朴素贝叶斯进行文本分类学习笔记之二:将原书程序修改并转换为类
使用 python 基于朴素贝叶斯进行文本分类学习笔记之三:中文内容的倾向性判断初步
使用 python 基于朴素贝叶斯进行文本分类学习笔记之四:增加测试文本和计算正确率
使用 python 基于朴素贝叶斯进行文本分类学习笔记之五:增加停用词

Leave a Reply