python进行情感分析

一、数据获取

在天猫爬取斯凯奇品牌下的男鞋店铺共5或6个,除去重复评论后,共条,放在Excel文件。

二、文本预处理

import pandas as pd
import numpy as np
import jieba
import warnings


warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim')
outputfile=r'F:\数据分析与模型\毕业论文\代码\data\review_uniqe.txt'
data=pd.read_excel('F:\数据分析与模型\毕业论文\斯凯奇5、6个店铺评论(仅评论).xlsx',header=None)#header=None的作用是在导入时不让第一行文本成为列索引,在导出时的作用是CSV文件里不包含列索引字段(如0,1,2,3等)
data=pd.DataFrame(data)


#文本去重
data=pd.DataFrame(data[0].unique())
data.to_csv(outputfile,index=False,header=None,encoding='UTF-8')


#数据重新导入
data=pd.read_csv(outputfile, encoding = 'utf-8', header = None)


#分词
mycut = lambda s: ' '.join(jieba.cut(s)) #自定义简单分词函数,以空格分词
data1=data[0].apply(mycut)
#因为无列名,只有0、1这样的列索引,所以dataframe直接调用data[0]
#data格式为Dataframe([35634 rows x 1 columns]),data[0]格式为Series(Name: 0, dtype: object,第一行评论index为0),data1为分词后的一个series,data1[0]取第一行


#去除停用词
stoplist='F:\数据分析与模型\毕业论文\代码\stoplist.txt'
stop = pd.read_csv(stoplist, encoding = 'utf-8', engine='python',header = None, sep = 'tipdm')
#sep设置分割词,由于csv默认以半角逗号为分割词,而该词恰好在停用词表中,因此会导致读取出错
#所以解决办法是手动设置一个不存在的分割词,如tipdm。
stop = [' ', '','\n'] + list(stop[0])#Pandas自动过滤了空格符
data2=data1.apply(lambda s: s.split(' ')) # 返回一个由空格分割的列表['商品','很棒','快递',...]
data3=data2.apply(lambda x: [i for i in x if i not in stop])#x是指data2
#逐词判断是否停用词,思路同上  
#上面这句代码的语法是:列表推导式子。意思是说,如果i不在停用词列表(stop)中,就保留该词语(也就是最前面的一个i),否则就进行删除  
#上面的这句代码中,把for i in x看做整体,把if i not in stop看做判断语句,把最前面的i看做满足if语句之后的执行语句即可。  
#data2为series,如何将多个series合并为dataframe


#去除字数<某阈值的评论
data4=[]#33533条
for i in data3:
    a=''.join(i)#转为字符串
    b=len(a)
    if b>=4 and a!='用户填写评论' and a!='初次评论':
        data4.append(a)
data5=pd.DataFrame(data4)


#重新分词、去重
data6=data5[0].apply(mycut)#data5[0]为series
data6=pd.DataFrame(data6.unique())
data6.to_csv('F:\数据分析与模型\毕业论文\代码\data\data_process_last.txt',header=None,index=False,encoding='UTF-8')

三、word2vec训练

1、产品特征词库建立

一方面将从某品牌显示器说明书和其官网产品详情页中人工抽取显示器领域特征词,另一方面利用 Word2vec语词聚类法从海量的用户评论中寻找特征词关联词汇,扩充完善产品特征词库。

步骤猜测:人工抽取的词语放到一个TXT里,然后通过导入文本文件后,再建立word2vec模型。(接下来要进行的是了解word2vec原理及如何通过它来找出特征词关联词)


  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值