机器学习实战一——朴素贝叶斯中文情感分类模型

本文介绍了使用朴素贝叶斯进行中文情感分类的步骤,包括数据标签标注、中文分词、去除停用词、词条向量化、特征数统计、算法编写和训练,以及实验结果。通过降低维度处理,实现了对23000条豆瓣电影评论的情感分析,最终得到约87.45%的准确率。
摘要由CSDN通过智能技术生成

简介:

考研复试顺利结束,目前正忙于毕业设计——《网络文本数据的爬取与数据分析》,如题,概括的说包括两项任务,一个是爬虫与数据采集,另外一个是进行数据分析。目前爬虫工作全部完成,爬取的内容是豆瓣的电影评论(23000条),后文我会提供数据下载链接。而对于后者数据的分析,需要做的主要工作是对于评价文本进行情感的分类。也就是积极或者消极。对于其初步实现,初步计划是使用朴素贝叶斯、svm、cnn三种方法来实现。进过两天的调整,朴素贝叶斯情感分类模型初步实现。

朴素贝叶斯情感分类模型的实现思路

对于朴素贝叶斯这种有监督的机器学习算法来说,我们实现的思路主要包括:

  1. 数据标签标注
  2. 中文分词处理
  3. 去除停用词
  4. 词条向量化
  5. 统计特征数,尽可能的减少特征数,达到数据清洗的效果
  6. 编写算法,训练数据
  7. 调整参数,达到最优效果

1. 数据标签标注

这个操作处理需要根据自己的数据进行相应调整,以我的数据集为例,我爬取的数据集是豆瓣电影下的1 2 4 5分电影短评,这么做的原因有:

  1. 短评较长评来讲,根据情感倾向,灌水评论也更多一些,对于训练更有帮助。除此之外,分词后的特征维度更少,这样也有利于降低过多特征对于实验结果的影响。
  2. 1 2 4 5 以3为分界线,恰好分别置为消极、积极情感的评论,这样就可以通过写程序将1 2 分的评论打上0的标签,表示消极。另一方面,4 5 置为1,表示积极。

2.中文分词处理

这块借助工具,结巴(文档有更详细的使用方式)进行分词。分词效果如下:
豆瓣影评分词

3. 去除停用词

这里操作的实质就是查找,剔除。不在赘述。停用词地址

4.词条向量化

向量化的操作实质就是将分词后的句子,按照其单词在总词汇表中是否出现标记为0或1 [0:没出现|1:出现]
那么,一条分好词的句子就变成了[0,1,0,1,1…]的一维矩阵。所以在向量化之前我们要做的便是生成总词汇表,思路也很简单,无非就是把所有的词去重后,全部放在一个list中,那么此时词条向量化后的长度也就确定下来,即总词汇表的长度。

5.统计特征数

什么是特征数呢?其实在4中

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值