0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用python分析了李子柒的辣酱真的好吃吗?

lviY_AI_shequ 来源:数据不吹牛 2020-05-12 09:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近收到不少留言,除了夸小Z脑洞奇清的,问最多的竟然是:

“我是偏运营/业务分析的,复杂的分析算法我不会,还有什么方法能够对评价类数据做更深入分析吗?”

刚开始我会昧着良心回复“词云啊!”

然鹅总是会被DISS“词云太简单了吧,有点low!”

我狰狞一笑,虽然这个问题有点像“我长的不帅也没钱,有没有什么办法能够追到白富美”。但从数据分析的角度来看,仍不失为一个好问题。

好在哪里呢?在回答之前,先瞧一个数据分析常见思维误区:

一些同学总是认为,分析不出来有价值的结果,是因为有两只拦路虎,一是数据量和维度不够,二是因为自己不会复杂的分析模型和算法。然后,也没有再去思考,如何基于现状更进一步地分析问题。

数据维度和算法的价值当然不言而喻,但总是把分析不出结果和价值的锅甩出去,这种归错于外的思维非常危险,它营造了一种“分析不出结果,我也没办法”的心安理得。

而“我不会高阶分析工具和方法,但基于现状,去思考或者询问有没有更好的分析方式”,虽然这种思维也有槽点,但本身算是一种在现阶段尝试去解决问题的思路。

So,我们循着后一种思路,以李子柒在天猫上卖的一款辣椒酱评价为例:

看看基于现有的“单薄”数据维度,怎样让分析再向前迈进一步。

01 明确目标

鲁迅曾经没说过:“明确分析目标,你的分析已经成功了一大半”。

做深入分析之前,面对这一堆评价数据,我们要明确,究竟想通过分析来解决什么问题?只有明确分析目标,才能把发散的思维聚焦起来。

为了给大家一个明确的分析锚点,假设我们是这款辣椒酱的产品负责人,要基于评价,更好的获悉消费者对产品的看法,从而为后续产品优化提供思路。

所以,我们的分析目标是“基于评价反馈,量化消费者感知,指导优化产品”。

注:这里给到的一个假设目标并不完美,主要是抛砖引玉,大家可以从不同的维度来提出目标假设,尝试不同分析方向。

是不是有那么一丢丢分析思路了?别急,目标还需要继续拆解

02 拆解目标

这些年来,最有价值的一个字,便是“拆”了:

在数据分析中也是同理。

我们在上一步已经确定了“基于评价优化产品”的目标,但这只是一个笼统模糊的目标。要让目标真正可落地,“拆”是必不可少的一步。

“拆”的艺术大体可以分为两步,第一步是换位思考。

评价来源于客户,客户对产品有哪些方面的感知呢?我们可以闭上眼睛,幻想自己购买了这款辣椒酱。

接着进入第二步,基于换位的逻辑拆解,这里可以按照模拟购物流程的逻辑来拆解:

首先,李子柒本身有非常强的IP光环,大家在选购时或多或少是慕名而来。所以,在购买决策时,到底有多大比例是冲着李子柒来的?

Next,在没收到货前,影响体验的肯定是物流,付款到收货用了几天?派送员态度怎么样,送货上门了吗?

收到货后,使用之前,体感最强的则是包装。外包装有没有破损?有没有变形?产品包装是精致还是粗糙?

接下来是产品体验,拿辣椒酱来说,日期是否新鲜?牛肉用户是否喜欢?到底好不好吃?

吃完之后,我们建立起了对产品的立体感知——性价比。我花钱买这个产品到底值不值?这个价位是贵了还是便宜?实惠不实惠?

品牌、物流、包装、产品(日期、口味)和性价比五大天王锋芒初现,我们下一步需要量化消费者对于每个方面的感知。

03 Python实现

对于评价的拆解和量化,这里介绍一种简单粗暴的方式,按标点把整条评论拆分成零散的模块,再设置一系列预置词来遍历。

注:再次强调我们这篇内容的主题是“如何基于最基础的技术,做进一步的分析,这里假设我们只会最基础的python语法和pandas。

有同学会问“为什么不用分词”!此问可谓正中我怀。不过,我把这个问题当作开放式思考题留给大家——如果用分词,如何实现同样的效果,以及有什么优缺点?

言归正传,我们先看看实战爬取的评论数据,一共1794条:

把每条评论按照标点拆分成短句,为了省事,用了简单的正则拆分:

我们发现,就算是比较长段的评论,也只是涉及到品牌、物流、包装、产品和性价比的部分方面,所以,我们依次去遍历匹配,看短句中有没有相关的内容,没有就跳过,有的话再判断具体情绪。

以物流为例,当短句中出现“物流”、“快递”、“配送”、“取货”等关键词,大体可以判定这个短句和物流相关。

接着,再在短句中寻找代表情绪的词汇,正面的像“快”、“不错”、“棒”、“满意”、“迅速”;负面的“慢”、“龟速”、“暴力”、“差”等。

在我们预设词的基础上进行两次遍历匹配,大体可以判断这句话是不是和物流相关,以及客户对物流的看法是正面还是负面:

为方便理解,用了灰常丑陋的语法来一对一实现判断。包装、产品和性价比等其他模块的判断,也是沿用上述逻辑,只是在预设词上有所差异,部分代码如下:

defjudge_comment(df,result): judges=pd.DataFrame(np.zeros(13*len(df)).reshape(len(df),13), columns=['品牌','物流正面','物流负面','包装正面','包装负面','原料正面', '原料负面','口感正面','口感负面','日期正面','日期负面', '性价比正面','性价比负面']) foriinrange(len(result)): words=result[i] forwordinwords: #李子柒的产品具有强IP属性,基本都是正面评价,这里不统计情绪,只统计提及次数 if'李子柒'inwordor'子柒'inwordor'小柒'inwordor'李子七'inword or'小七'inword: judges.iloc[i]['品牌']=1 #先判断是不是物流相关的 if'物流'inwordor'快递'inwordor'配送'inwordor'取货'inword: #再判断是正面还是负面情感 if'好'inwordor'不错'inwordor'棒'inwordor'满意'inwordor'迅速'inword: judges.iloc[i]['物流正面']=1 elif'慢'inwordor'龟速'inwordor'暴力'inwordor'差'inword: judges.iloc[i]['物流负面']=1 #判断是否包装相关 if'包装'inwordor'盒子'inwordor'袋子'inwordor'外观'inword: if'高端'inwordor'大气'inwordor'还行'inwordor'完整'inwordor'好'inwordor '严实'inwordor'紧'inword: judges.iloc[i]['包装正面']=1 elif'破'inwordor'破损'inwordor'瘪'inwordor'简陋'inword: judges.iloc[i]['包装负面']=1 #产品 #产品原料是牛肉为主,且评价大多会提到牛肉,因此我们把这个单独拎出来分析 if'肉'inword: if'大'inwordor'多'inwordor'足'inwordor'香'inwordor'才'inword: judges.iloc[i]['原料正面']=1 elif'小'inwordor'少'inwordor'没'inword: judges.iloc[i]['原料负面']=1 #口感的情绪 if'口味'inwordor'味道'inwordor'口感'inwordor'吃起来'inword: if'不错'inwordor'好'inwordor'棒'inwordor'鲜'inwordor '可以'inwordor'喜欢'inwordor'符合'inword: judges.iloc[i]['口感正面']=1 elif'不好'inwordor'不行'inwordor'不鲜'inwordor '太烂'inword: judges.iloc[i]['口感负面']=1 #口感方面,有些是不需要出现前置词,消费者直接评价好吃难吃的,例如: if'难吃'inwordor'不好吃'inword: judges.iloc[i]['口感负面']=1 elif'好吃'inwordor'香'inword: judges.iloc[i]['口感正面']=1 #日期是不是新鲜 if'日期'inwordor'时间'inwordor'保质期'inword: if'新鲜'inword: judges.iloc[i]['日期正面']=1 elif'久'inwordor'长'inword: judges.iloc[i]['日期负面']=1 elif'过期'inword: judges.iloc[i]['日期负面']=1 #性价比 if'划算'inwordor'便宜'inwordor'赚了'inwordor'囤货'inwordor'超值'inwordor '太值'inwordor'物美价廉'inwordor'实惠'inwordor'性价比高'inwordor'不贵'inword: judges.iloc[i]['性价比正面']=1 elif'贵'inwordor'不值'inwordor'亏了'inwordor'不划算'inwordor'不便宜'inword: judges.iloc[i]['性价比负面']=1 final_result=pd.concat([df,judges],axis=1) returnfinal_result

运行一下,结果毕现:

第一条评价,很明显的说快递暴力,对应“物流负面”计了一分。

第二条评价,全面夸赞,提到了品牌,和正面的物流、口感信息。

第三条评价,粉丝表白,先说品牌,再夸口感。

看起来还不赖,下面我们对结果数据展开分析。

04 结果分析

我们先对结果做个汇总:

一共爬了1794条评论,评论中有提及到我们关注点的有1937次(之所以用次,是因为一条评论中可能涉及到多个方面)。粗略一瞥,口感和原料占比较高,画个图更细致的看看。

看来,辣椒酱的口感(好不好吃)是客户最最最关注的点,没有之一,占比高达57.98%,领先其他类别N个身位。

慢随其后的,是原料、品牌、性价比和包装,而物流和日期则鲜有提及,消费者貌似不太关注,或者说目前基本满足要求。

那不同类别正负面评价占比是怎么样的呢?

整体来看,主流评论以好评为主,其中口感、品牌(这个地方其实没有细分)、包装以正面评价占绝对主导。

原料和性价比,负面评价占比分别是14%和38%,而物流和日期由于本身占比太少,参考性不强。

作为一个分析师,我们从原料、性价比负面评价占比中看到了深挖的机会。

原料负面评价是单纯的在吐槽原材料吗?

初步筛选之后,发现事情并没有那么简单。

原料负面评价共出现了53次,但里面有24次给了口感正面的评价,甚至还有8次原料正面评价!罗生门吗?

这8次即正面又负面的原料评价,其实是揭了我们在预置词方面的不严谨,前面判断牛肉相关的短句,“小”就是负面,“大”就是正面,有些绝对。

而判断准确的原料差评中,虽然有一半说味道不错,但还是不留情面的吐槽了牛肉粒之小,之少,甚至还有因此觉得被骗。

如何让牛肉粒在体感上获取更多的好评,是应该在产品传播层做期望控制的宣导?还是在产品层增加牛肉的“肉感”?需要结合具体业务进一步探究。

性价比呢?

性价比相关负面评价共58次,负面情绪占性价比相关的38%。这些负面评价消费者大多数认为价格偏贵,不划算,还有一部分提到了通过直播渠道购买价格相对便宜,但日常价格难以接受。

坦白讲,这款辣酱的价格在线上确实属于高端价位,而价格体系是一个比较复杂的场景,这里暂不展开分析。

但是对于这部分认为性价比不符预期的客户,是应该因此反推产品价格,还是把他们打上“价格敏感的标签”,等大促活动唤醒收割,这是两条可以考虑并推进的道路。

物流和日期提及太少,不具备参考性,但为了不那么虎头蛇尾,我们还是顺手看一眼物流负面评价:

果然,物流是一项必备需求,基本满足预期的话消费者并不会主动提及,没达预期则大概率会雷霆震怒。而物流暴力、速度太慢是两个永恒的槽点。

至此,我们基于看起来简单的评价数据,用简单浅白的方式,做了细致的拆分,并通过拆分更进一步的量化和分析,向深渊,哦不,向深入迈进了那么一丢丢。

总结

文中涉及到的代码,主要是抛砖引玉,大家还可以结合实际,做更精细的梳理和判断。在整个分析过程中,去思考如何更深入的分析,如何明确分析方向,如何通过换位思考和流程拆解,把大目标拆成可以分析的小目标,并最终落地,则需要在实践中反复磨练,与君共勉!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2822

    浏览量

    52811
  • 算法
    +关注

    关注

    23

    文章

    4761

    浏览量

    97164
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89600

原文标题:我用python分析了李子柒的辣酱真的好吃吗?

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Termux中调试圣诞树Python代码

    python --version 如果输出Python 3.x.x(比如3.11.4),说明安装成功。 二、代码编写(两种方式可选) 方式1:Termux自带编辑器(nano)(新手推荐) 创建并编辑
    发表于 12-09 09:02

    LABVIEW 2023 Q1调用python后一直报错1671

    LABVIEW 2023Q1调用python后一直报错1671报错信息:PythonNode_AddTwoDoubles.vi中的打开Python会话Python returned
    发表于 11-12 09:51

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
    的头像 发表于 11-03 09:15 332次阅读

    Python 给 Amazon 做“全身 CT”——可量产、可扩展的商品详情爬虫实战

    一、技术选型:为什么选 Python 而不是 Java? 结论: “调研阶段 Python,上线后如果 QPS 爆表再考虑 Java 重构。” 二、整体架构速览(3 分钟看懂) 三、开发前准备(5
    的头像 发表于 10-21 16:59 388次阅读
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 给 Amazon 做“全身 CT”——可量产、可扩展的商品详情爬虫实战

    termux调试python猜数字游戏

    termux做一个猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    VS Code编辑 - 版本控制:`git`管理代码,同步至GitHub/Gitee - 任务调度:通过`crontab`设置定时测试(如每分钟运行游戏脚本:`*/1 * * * * python
    发表于 08-29 07:06

    python app不能运行怎么解决?

    我使用helloword的模板,上传IG502,但不能运行,请大神帮忙。系统日志如下:sntpc[1226]: ntp request error: 113, No route to host
    发表于 08-06 06:27

    python入门圣经-高清电子书(建议下载)

    此资料内容是一本针对所有层次的Python 读者而作的Python 入门电子书。 全书分两部分:第一部分介绍Python 编程所必须了解的基本概念,包括matplotlib、NumP
    发表于 04-10 16:53

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是Python程序?
    的头像 发表于 03-25 09:27 1547次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    DLP6500能否Python编程进行开发,是否有API接口?

    本人第一次接触DLP的开发板,想知道DLP6500这款板子能否Python编程进行开发,是否有API接口?
    发表于 02-28 06:58

    有没有什么方案能实现直接matlab或python调用D4100_usb.dll?

    是32位程序而我的电脑是64位的。 由于实验中主要用matlab编程,使用C++程序很不方便,如果能直接matlab或python调用D4100_usb.dll就会好很多。 因此,我想询问
    发表于 02-27 06:59

    如何将python文件导入到ROS系统中

    本文通过使用myCobot机械臂进行QR码视觉追踪的实践案例分析,介绍如何将 python 文件导入到 ROS 系统中。
    的头像 发表于 02-11 11:08 1207次阅读
    如何将<b class='flag-5'>python</b>文件导入到ROS系统中

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    网友热议:高铁插座充电真的伤手机?

          关于“高铁插座充电真的伤手机”这一问题,网友们的热议反映一定的关注和疑虑。使用高铁插座充电确实可能对手机造成一定的损害‌。高铁插座提供的电力经过交直流转换,带有高频脉冲,这种电波在为
    的头像 发表于 01-21 11:22 1529次阅读

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2236次阅读