数据分析:汽车评论主题分析与情感极性分析
一、项目目的
根据汽车评论数据,进行评论的主题分析,与情感判别分析。
二、数据预处理
导入模块
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import re
# 正常显示中文
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 正常显示符号
from matplotlib import rcParams
rcParams['axes.unicode_minus']=False
from sklearn import preprocessing
from sklearn.feature_extraction.text import TfidfVectorizer,CountVectorizer
import jieba
导入文本数据
import pandas as
train=pd.read_csv(r'C:\Users\Administrator.USER-20180908SZ\Desktop\汽车情感分析数据集\train.csv')
#test=pd.read_csv(r'C:\Users\Administrator.USER-20180908SZ\Desktop\汽车情感分析数据集\test_public.csv')
path_stopwords=r'C:\Users\Administrator.USER-20180908SZ\Desktop\stopwords.txt'
#训练集总共9947条数据,Columns分别是,评论ID号,评论内容,主题,情感值,情感词
#train.info()
#9947个数据样本中,有8290个不重复的评论
train['content_id', 'content'].head()
content_id content \
0 vUXizsqexyZVRdFH 因为森林人即将换代,这套系统没必要装在一款即将换代的车型上,因为肯定会影响价格。
1 4QroPd9hNfnCHVt7 四驱价格貌似挺高的,高的可以看齐XC60了,看实车前脸有点违和感。不过大众的车应该不会差。
2 QmqJ2AvM5GplaRyz 斯柯达要说质量,似乎比大众要好一点,价格也低一些,用料完全一样。我听说过野帝,但没听说过你说...
3 KMT1gFJiU4NWrVDn 这玩意都是给有钱任性又不懂车的土豪用的,这价格换一次我妹夫EP020可以换三锅了
4 nVIlGd5yMmc37t1o 17价格忒高,估计也就是14-15左右。
print(train.content.nunique())
#训练集中不重复的content_id和content,columns(id-content)
content_set = train.groupby(['content_id','content']).size().reset_index().iloc[:,:2]
#content_set.head()
文本处理
#去除短句,评论长度大于等于4,从结果看,所有评论都大于等于4
content_set = content_set[content_set['content'].apply(len)>=4] #columns(id-content)
#print(content_set.count())
#使用jieba分词,去除训练集和测试集中的停用词
def stopwordslist(filepath): # 创建停用词列表
global stopwords
stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()]
return stopwords
def seg_sentence(sentence): # 对句子进行分词
#sentence = re.sub('[a-zA-Z]*','',sentence) # 去