Python有趣|中文文本情感分析

640?wx_fmt=png

前言

前文给大家说了python机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下:

640?wx_fmt=png

数据情况和处理
数据情况

这里的数据为大众点评上的评论数据(王树义老师提供),主要就是评论文字和打分。我们首先读入数据,看下数据的情况:

 
 
  1. import numpy as np

  2. import pandas as pd

  3. data = pd.read_csv('data1.csv')

  4. data.head()

640?wx_fmt=png

情感划分

对star字段看唯一值,打分有1,2,4,5。

640?wx_fmt=png

中文文本情感分析属于我们的分类问题(也就是消极和积极),这里是分数,那我们设计代码,让分数小于3的为消极(0),大于3的就是积极(1)。

定义一个函数,然后用apply方法,这样就得到了一个新列(数据分析里的知识点)

 
 
  1. def make_label(star):

  2. if star > 3:

  3. return 1

  4. else:

  5. return 0

  6. data['sentiment'] = data.star.apply(make_label)

640?wx_fmt=png

工具包(snownlp)

我们首先不用机器学习方法,我们用一个第三库(snownlp),这个库可以直接对文本进行情感分析(记得安装),使用方法也是很简单。返回的是积极性的概率。

 
 
  1. from snownlp import SnowNLP

  2. text1 = '这个东西不错'

  3. text2 = '这个东西很垃圾'

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值