nlp 电商评论处理 -史诗级长文

Posted students

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nlp 电商评论处理 -史诗级长文相关的知识,希望对你有一定的参考价值。


#
auther bioamin #nlp of 电商评论 #-*- conding = utf-8 -*- import numpy as np import pandas as pd #画图的包 import matplotlib.pyplot as plt import seaborn as sns plt.rcParams[font.sans-serif]=[SimHei] plt.rcParams[axes.unicode_minus]=False #忽略警告 import warnings warnings.filterwarnings("ignore") import missingno new_cloumname = {"Clothing ID":"服装id","Age":"年龄","Title":"评论者标题", "Review Text":"评论内容","Rating":"分数","Recommended IND":"是否推荐", "Positive Feedback Count":"赞同该评论的人数", "Division Name":"产品高级分类", "Department Name":"产品大类", "Class Name":"产品的二级分类"} #读取数据并且利用 rename() 函数输入字典替换列名 df = pd.read_csv("Comment.csv") df=df.rename(columns = new_cloumname) df.head()

技术图片

missingno.matrix(df,fontsize = 25)

技术图片

col = "评论内容"
#删除缺失值
df = df.dropna(subset=[col])
missingno.matrix(df,fontsize = 25)

技术图片

#增加新特征
df["评论字数"]=df["评论内容"].astype(str).apply(len)
df.head()

技术图片

#评分和字数 数据可视化
#先sns.FacetGrid画出轮廓
#然后用map填充内容
g = sns.FacetGrid(data = df,col = "分数")
g.map(plt.hist,"评论字数",bins=10)
plt.show()
#评分越高,评论字数越多

技术图片

#评分与字数关系的可视化2
sns.pointplot(x="分数",y="评论字数",data=df)
plt.show()
#评分为3的人最喜欢写评论

技术图片

#找出与服装评分相关性最强的10个变量 
k=10
#df.corr()  相关系数的计算可以调用pearson方法或kendell方法或spearman方法,默认使用pearson方法。
#round()  四舍五入,保留2位小数
corr = round(df.corr(),2)
corr

技术图片

#panadas.Dataframe
# pd.DataFrame.nlargest(n ,cloumns,keep="first")  get the row of a DataFrame by the largest values of columns
cols = corr.nlargest(k,分数)
cols

技术图片

cols = corr.nlargest(k,分数)["分数"].index
cm = round(df[cols].corr(),2)
#np.zeros_like()    Return an array of zeros with the same shape and type as a given array.
#
mask = np.zeros_like(cm,dtype = np.bool)
mask[np.triu_indices_from(mask)] = True
plt.figure(figsize = (8,8))
cmap = sns.diverging_palette(220,10,as_cmap = True)
sns.heatmap(cm,mask = mask,cmap = cmap ,center = 0,annot = True ,cbar_kws = {"shrink":.5})

技术图片

df.groupby(["分数",pd.cut(df["年龄"],np.arange(0,100,10))]).size().unstack(0).plot.bar(stacked = True)

plt.show()

技术图片

#产品类别与年龄
df.groupby(["产品大类",pd.cut(df["年龄"],np.arange(0,100,10))]).size().unstack(0).plot.bar(stacked = True)

plt.show()
30-40 40-50是购物的主要年龄段 在各个产品类别中,top在各个年龄段的销量都不错 

技术图片

 

以上是关于nlp 电商评论处理 -史诗级长文的主要内容,如果未能解决你的问题,请参考以下文章

自然语言处理(NLP)基于FNN网络的电影评论情感分析

NLP自然语言处理

评论摘要的 NLP 项目

自然语言处理(NLP)基于GRU实现情感分类

电商产品评论数据情感分析

自然语言处理(NLP)基于循环神经网络实现情感分类