前言
前文给大家说了python机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下:
数据情况和处理
数据情况
这里的数据为大众点评上的评论数据(王树义老师提供),主要就是评论文字和打分。我们首先读入数据,看下数据的情况:
import numpy as np
import pandas as pd
data = pd.read_csv('data1.csv')
data.head()
情感划分
对star字段看唯一值,打分有1,2,4,5。
中文文本情感分析属于我们的分类问题(也就是消极和积极),这里是分数,那我们设计代码,让分数小于3的为消极(0),大于3的就是积极(1)。
定义一个函数,然后用apply方法,这样就得到了一个新列(数据分析里的知识点)
def make_label(star):
if star > 3:
return 1
else:
return 0
data['sentiment'] = data.star.apply(make_label)
工具包(snownlp)
我们首先不用机器学习方法,我们用一个第三库(snownlp),这个库可以直接对文本进行情感分析(记得安装),使用方法也是很简单。返回的是积极性的概率。
from snownlp import SnowNLP
text1 = '这个东西不错'
text2 = '这个东西很垃圾'