APP下载

基于Python的电商产品评论数据分析方法探讨

2022-07-19李宇航通信作者

信息记录材料 2022年5期
关键词:词表爬虫分词

李 琴,李宇航,定 会(通信作者)

(武昌首义学院 湖北 武汉 430064)

0 引言

在网购竞争激烈的环境下,电商行业各大企业既要提高产品质量、降低产品价格,还要了解客户的想法和需求,所以需要格外关注客户购买商品后的评论,从客户留下的评论文本中提取出有价值的信息进行分析,以便进一步调整或优化经营策略。

客户在购买产品后留下的评论能够体现客户对产品的情感、态度与建议,商家通过评论数据可以直观地了解到客户的需求以及产品的不足,利于对产品或服务进行改进。

因此,本文针对用户在京东商城中美的电热水器留下的评论数据,进行数据预处理以及可视化并最终根据结果得出结论,给出建议。

1 相关技术介绍

本文所述数据分析过程,主要运用Python数据采集方法结合Python第三方库共同实现。

1.1 Python介绍

Python在近年来快速发展,被广泛应用于Web开发、网络爬虫、数据处理、人工智能、机器学习以及大数据等方面。总的来说,Python语言特点可以归纳为以下几点。

1.1.1 简单易学

Python语言简单易读,与其他语言相比,在使用Python编程的过程中不需要使用大量的代码就可以实现相同的功能。

1.1.2 免费开源

用户在使用Python完成开发后无需担心版权问题,所有使用都是免费的[1]。

1.1.3 面向对象型语言

Python是一种面向对象的语言,因此Python支持面向对象的风格或代码封装在对象的编程技术中。

1.1.4 强大的功能库

Python中有强大的标准库和第三方库,编程过程中使用者只需要导入相关的库,就可以快速、准确地解决自己的问题。

1.2 数据采集基本方法

利用Python进行数据采集即网络爬虫,是一种按照一定的规则自动抓取互联网信息的程序或者脚本。爬虫的基本流程为:发起请求-获取响应内容-解析内容-保存数据。利用爬虫获取数据主要有以下两条技术路线。

(1)利用Python的第三方库Requests库中的相关方法进行数据采集。Requests爬虫是一种页面级爬虫功能库,使用时非常简单,重点在于页面下载,适用于少量、简单的数据获取。

(2)利用爬虫框架来获得网页数据。爬虫框架主要有Scrapy爬虫和Selenium爬虫。Scrapy爬虫框架在抓取静态网页数据时利于提升爬取效率,Selenium爬虫框架主要用于抓取网页中动态加载的内容。相对于Requests爬虫,爬虫框架使用时较难,重点在于爬虫结构,适用于大量数据的采集。

1.3 数据处理和可视化所用库

在Python中进行数据预处理和可视化需要导入Python的第三方库。

1.3.1 Numpy

Numpy是Python中用于数组处理的第三方库。虽然Python可以用列表灵活地处理数据,但当数据量太大时,数据处理速度就会变慢。因此,在数据处理的过程中,Numpy提供了强大的数组功能和广播机制,以及对数据进行快捷处理的函数[1],进而提高了对数据处理的速度。

1.3.2 Pandas

Pandas是基于Numpy开发的功能库,用于对数据的预处理。利用Pandas处理数据,首先要先读取相关的数据文件,Pandas提供的方法可以快速读取Csv、Excel、Json等类型的数据文件。读取到数据文件之后,根据需求对数据进行选择、过滤、分组、分割、合并等操作,还可以对缺失值、异常值和重复值进行处理。

1.3.3 Matplotlib

数据可视化是将数据以图表的形式更清晰地展示出来,通过数据可视化可以得到数据间的关系等有效信息。在Python中提供了很多数据可视化的工具,但使用最广泛的是Matplotlib库。使用Matplotlib库可以用少量代码,快速将已处理的数据绘制成图表进行展示,并且根据不同的业务场景可以绘制出直方图、折线图、条形图、散点图等多种图表。这些图表能够以PNG、PDF等多种格式保存。

1.3.4 Jieba和WordCloud

Jieba库是对中文进行分成处理,将一句话根据需要切割成不同的词语。它支持3种分词模式:精确模式、全模式、搜索引擎模式。3种分词模式各有自己的特点,使用的过程中根据不同的业务场景进行选取。

WordCloud库是对得到的文本信息进行过滤,对文本中出现频率较高的关键词突出显示,不同的关键词采用不同颜色和字体大小[2],最终绘制成词云图,使读者很快地从图中得到文本中的关键信息。WordCloud库中内置函数可以快速地对文本信息进行处理,绘制词云图,减少了代码量。

2 电商产品评论数据分析的方法与过程

对电商产品评论数据进行分析主要经过确定数据来源、进行数据预处理、进行评论分词、可视化得到结果,最后再对结果进行分析这一系列步骤。

2.1 数据来源

利用Python网络爬虫技术可以对京东商城中美的电热水器的评论数据进行数据采集,但本文是利用已有的数据进行处理和分析,此处不再详细介绍数据采集的过程。

2.2 数据预处理

数据预处理是在可视化前将数据按照想要的数据结果进行处理,本文主要对评论数据进行了去重和清洗操作。

2.2.1 数据去重

评论中会出现大量系统自动给出的评论,对于这种没有分析价值的数据要进行去重处理,以及不同用户发布的相同评论,为了避免将相似评论删除,在评论去重时仅保留第一条完全相同的评论。

因此,在评论去重的时候,笔者仅考虑将评论文本完全重复的数据删除。主要步骤如下:首先导入Pandas库,接着利用Pandas库中的read_csv()方法读取保存在本地的评论数据(笔者保存的是Csv类型的文件),再利用drop_duplicates()方法将指定的“content”这一列中完全重复地评论删除。

2.2.2 数据清洗

获取到的原始评论数据中不仅有重复评论,还有一些评论中包含了数字和英文字母,以及很多像“热水器”“电热水器”这种与商品名称有关的词,这些词语对于后续的分析都没有很大帮助。因此,要将这些数据进行清洗,这里主要使用了正则模块中的方法,先使用re.compile()方法将要清洗的数字、字母以及中文词语编译为字节代码,再利用re.sub()方法替换其中需要匹配的字符串。

2.3 数据分词

获取到的评论数据是完整的句子或段落,需要在分词处理后再进行可视化。

2.3.1 对评论进行分词

Jieba库自带一个dict.txt词典,包含两万多条注明了词性和词频的词语。在进行分词处理时,根据给定的dict.txt词典,基于true树结构进行高效的词图扫描,将可以得到的分词情况形成一个有向无环图(DAG)。然后,采用动态规划查找频率最大的路径和基于词频的最大切分组合[3]。对于dict.txt词典中不存在的词,称为未登录词,可以根据不同的业务需求自行定义词典,但格式需要与dict.txt词典一致。

2.3.2 去除停用词

停用词是指在信息检索过程中,为了节省存储空间和提高搜索效率,搜索引擎会自动过滤掉的一些词或者字。停用词主要有两类,一类是使用范围比较广泛的字词,比如指代词;另一类就是文本数据中出现次数比较多的字词,比如语气助词、连词、介词等,这两类词语在信息检索过程中没有实际意义,会被自动忽略掉。

在做停用词处理的时候,可以从网上找一些权威的停用词典,根据自己的业务需求,在此基础上进行添加或删除,形成自己的停用词典。

经过分析,笔者对获得的美的热水器评论数据进行了分词,根据分词结果判断出评论词中的停用词,建立停用词典(因信息太多,此处不做展示),并进行了去除停用词处理。

2.4 数据可视化

因为本案例最终是想对用户评论的情感进行分析,所以在进行可视化之前还需要筛选出评论中可以反映用户情感倾向的词语。经过观察,发现这些评论数据中属于名词类型的词语更能表达出用户对产品的情感倾向,筛选出评论中名词的过程不再赘述。

在提取出可以反映用户情感的名词之后,就可以绘制可视化图表了。由于此处是以文本信息来进行分析,所以本文选择绘制出词云图查看效果,绘制的词云图将评论中出现频率较高的关键词突出显示。在本例中需要WordCloud模块中的WordCloud库绘制词云,并且最终使用Matplotlib模块中的Pyplot库将结果显示出来。首先进行词频统计并将词频按照降序排序,最终选择前100个词进行词云绘制。绘制的最终结果见图1。

由绘制结果可知,在评论中“安装”“师傅”“速度”“服务”“产品”“服务态度”等词出现的频率较高,由此可初步判断客户对这些方面的关注较高,但从这个词云图中不能看出客户对这些方面持有何种态度,因此,还需要对词云图进行优化。

探讨客户对产品是持有满意、差评或者一般的态度是进行情感分析[4],就是分析客户是对产品各方面情况的情感倾向。分析客户的情感倾向要对情感词进行匹配,本案例主要用了知网发布的“情感分析用词语集(beta版)”进行词典匹配,将“中文正面评价”和“中文正面情感”两个词表合并[5],作为本案例的正向情感词表,并在其中加入了“太棒了”“满意”“给力”等适用于本例场景的词。将“中文负面评价”“中文负面情感”两个词表合并[5],作为本案例的负向情感词表,在其中加入了“廉价”“不好”“恶劣”等适用于本例场景的词。

构建好情感词表后,编码读取正负面评论情感词表,正向情感词赋予权重1,负向情感赋予权重-1,使用merge函数按照已构建好的情感词表与分词结果进行匹配。

匹配完成之后还要考虑在评论中存在双重否定的情况,若出现双重否定,则表达的是客户相反的情感态度。将本案例中使用到的否定词构建出一个否定词表,再编码读取否定词表,处理评论中的双重否定情况。

最后,使用WordCloud函数分别对正向情感评论和负向情感评论绘制词云图,绘制结果见图2和图3。

2.5 结果分析与建议

从绘制出的正向情感评论词云图中看到“安装”“师傅”“满意”“很快”“物流”“服务”“态度”“质量”等词语出现的频率较高,可以从中得到物流速度很快;产品质量不错,值得信赖;安装师傅服务态度令客户满意等信息。

从绘制出的负向情感评论词云图中看到“安装”“财务”“慢”“加热”“实体店”“师傅”等词出现的频率较高,从中可以得出商家在财务处理的方面还有些欠缺,不能让客户满意;部分客户认为热水器加热太慢;产品的使用感不如客户在实体店购物的使用感。

总的来说,客户对美的热水器的安装、物流速度、客服以及安装师傅的服务态度、产品的售后保障和服务、产品的质量、品牌以及各方面的收费情况都比较在意,商家应该在这些方面格外注意客户的感受,逐步优化经营策略。

通过分析,对美的热水器提出以下建议。

(1)继续保持物流速度快、外观美观这些优点,同时要提升产品质量,优化热水器的加热速度和容量,以此提升自身品牌的核心竞争力,让客户更加信赖美的品牌的产品。

(2)虽然有客户对安装师傅的服务态度比较满意,但需要提升财务处理的能力,及时为客户开发票,合理收费并将收费细则向客户公开。

(3)及时关注客户的使用感受,对比实体店的产品与自身产品的差异,提升客户使用的满意度。

对美的热水器的评论数据进行分析后,商家要在业务需求、管理模式和经营观念上做出转变。为了更好地给客户购买的体验感以及顺应电商行业的发展潮流,商家可采用直播和电商平台结合的营销模式促进热水器的销售。以此激发客户购买产品的动力,拉近与客户的沟通,更有利于及时向客户的需求进一步调整。

3 结语

基于Python的电商产品评论数据分析方法主要经过数据采集、数据预处理、数据可视化以及对可视化的结果进行分析的过程,但在数据处理和可视化的过程中则需要根据不同的业务场景对评论数据进行去重、清洗、分词等操作,并根据业务需求对可视化结果不断进行优化。本文仅以已有的京东商城中美的电热水器的评论数据为例论述了用Python进行数据分析的方法,在实际生活中对不同数据进行分析的方法还需要更深入的探讨和研究。

猜你喜欢

词表爬虫分词
利用网络爬虫技术验证房地产灰犀牛之说
面向分级阅读的分级词表研制*
基于Python的网络爬虫和反爬虫技术研究
分词在英语教学中的妙用
A Chinese-English List of the Sports Programmes in Winter Olympics 冬奥会项目名称汉英对照词表
“义务教育常用词表”当进入语文课程标准
结巴分词在词云中的应用
结巴分词在词云中的应用
基于Scrapy框架的分布式网络爬虫的研究与实现
谁抢走了低价机票