数模 · 2020年3月29日 0

数模-2020美赛C题-02

美赛C题分析-思路建立

让我们正式好好分析一下C题文本

一、题目翻译和适量分析

亚马逊在网购平台提供了两种功能:评级/星级(rate)、评估/评论(review)。个人评级称为“产品星级评估(star rating)”,也就是客户买完产品后的评价,由1星到5星;另外,购买产品的客户还能评论,表达自己的意见和信息。而其他客户还可以对这些评论进行评级,称为“帮助性评级/评论星级评级(helpfulness rating)”。公司用这些数据去了解市场、了解市场参与时机、对产品的设计改造等。

阳光公司打算在网上市场推出“吹风机”、“婴儿奶嘴”、“微波炉”三款产品。他们希望得到以往客户对同类竞争产品的评价,例如:关键模式(数据库领域术语,可以理解为这些产品逻辑层面上的结构)、关系、度量/评估/判定(可以理解为“评价”一类的意思)、各类参数(key patterns, relationships, measures, and parameters)以便为他们做两件事:(1)确定在线销售策略,(2)分析产品的关键设计特征,以提高产品的竞争力。

该公司曾用过数据来指导销售,但未用过如此特殊的数据组合,所以他们对其中的“基于时间的模式(time-based patterns)”很感兴趣,也希望知道这种方法能否帮助他们成功塑造产品的可交互性。

亚马逊已在附件中为您提供了相应三款产品(奶嘴、吹风机、微波炉)的往期数据,其中包括客户信息、评级信息、评论等有用的信息。

问题1:

使用数学方法,对上述三款产品数据集进行分析。主要是根据“产品星级评估”、“评论”、“评论星级评级”,对“定量/定性模式(quantitative and/or qualitative patterns)”、“关系”、“度量/评价”、“各类参数”进行分析,来帮助公司分析用户需求。

“绿标”(我看别人这么翻译的):早期评论人计划,理解为亚马逊官方评测产品;

“市场所在地”:本题的marketplace都是US美国,所以可以作为冗余数据剔除;

“客户ID”:可分析客户的回头率、评价程度、喜好程度、购买时间、对商品的喜好是否有关联程度、喜欢购买的产品类型是否有特征,所以说客户ID是一个较为重要的数据标签。

(PS:其实在一开始的时候我还对这个用户ID没啥想法,直到后来发现有相同的,尤其是奶嘴)

“评论ID”:可分析客户的反馈,调整销售策略或改进产品。此处应该指的是参与投票时的“评论的特征序号”,用于区分不同的评论,可以与后面的“评论标题、评论内容”关联起来,“捆绑”三个数据标签;

“产品ID”:就是产品的名字,很重要。

所以以上前面提到的三个ID都是比较关键的值(key);

“产品父项”、“产品名称”、“产品类别”:这三者和产品ID关联。产品父项指产品所属大类的序号,产品类别就是“宝宝用品”、“生活用品”、“家电”等,可作为冗余数据删除。PS:其中,“产品名称”、“产品父项”、“产品ID”可能有冗余项,需对数据进行筛选后判断。

“星级”、“有帮助的票数“、”总票数“:”星级“是对产品的评级,后两者“票数”是对评论进行评价。星级是比较直观的、准确的显示产品的好坏,类似国内淘宝的商品打分。票数的话,我们不妨看作点赞,只不过我们只需要看有效点赞而已。
“是否已核实购买”:就是这个交易订单有没有成功,别没付钱,然后乱评价影响市场;

“评论日期”:就是对产品的评论日期,和阳光公司感兴趣的“基于时间的模式”有关,所以也是比较重要的一项。

二、问题1解析

问题1提到,用[“产品星级评估”、“评论”、“评论星级评级”]对[“定量/定性模式(quantitative  or qualitative patterns)”、“关系”、“度量/评价”、“各类参数”]进行分析。说白了就是建立一个具有“输入”和“输出”的评价标准,或者说一种函数?(广义的?)

我们可以建立多种形式的模型,比如说:f(产品星级评估,评论,评论星级评级)=(度量/评价,产品各类参数/喜好度/好评率/实用性/等等),而这个f(x)函数模型就是“模式”或“关系”的具体数学描述。(说白了可以从权重的角度入手分析,这也是最简单的一种方法了)

从数据库的角度来说,对于“定量/定性模式”和“关系”的挖掘是较为关键的。

数据库模式是数据的一种逻辑形式,比如常说的“线性表”、“链表”、“树形图”都可以被称为一种数据库模式。针对于此题的话,可以就这么简单来看,形成一个自己内心的框架就好了。(做这道题的时候,我的数据库知识还停留在对大致的概念和含义有所了解,却不会实操,这就完蛋了)

所以(也可以说是从数据结构来说,哎这两个本质是一样的啊),在这题中,或许可能是个树形图。比如,根结点是客户,然后一级子节点是客户买过的东西,二级子节点是产品星级评级,三级是评论的星级评级,以此类推。抽象地来说就好像是在数据筛选处理之后,把.tsv文件里的表格数据顺时针旋转90°一样,得到的从根(客户ID)到叶子节点(星级、评论等)的模式。(一通分析后,还是让我感觉,从建模角度看无从下手,幸好我是个编程队员)

大致顺序也就是这样(没别的更好的了吧):

1、首先,根据前文的数据性质,对数据进行完整性、冗余度等进行筛选(包括删除、插值等);

2、然后将同类数据合并,并对数据进行标准化(数字信号化)便于处理(比如好就是1,差评就是0),将文字尽量转化为数学符号表示(文本评价根据情感和褒贬打分:所谓量化);

3、最后构造上述的f函数模型,以达到建立输入输出关系并反映评价标准的目的。

其中量化和数学模型建立可以参考如下方法:灰度预测、神经网络预测、时间序列、模糊综合判断、主成分分析、层次分析等。(虽然我们建模就没怎么用…算了,说多了都是泪)

三、问题2解析

先看一眼翻译:

a)基于对阳光公司影响最大的评级(rating)和评论(review)这两个指标,确定一个数据衡量(measures)方法;

b)基于那些“能预测或暗示产品在市场上声誉增加或减少的”数据,来分析讨论“基于时间的度量方法(measures)和模式(patterns)”;

c)以寻找一个“暗示或预示产品的成功或失败的”潜在性的方法为目的,确定一套“基于文本(text-based)和评级(rating-based)的综合度量方法”;

d)特定的星级是否会引起更多的评论?例如,客户看到一连串的差评,他是否会更倾向于写一个差评呢?

e)特定质量的文本评论(text-based reviews)是否和评级(rating)有强关联性呢?例如,“对产品很满意!”,“对产品很失望!”

 

——————————华丽丽的分割线————————————

a) 要求中已指明,是基于“评级rating”和“评论review”来建模,其中评级可以包括产品星级评级和评论星级评级。

由于影响一个产品最重要的就是评级和评论,所以a题就让我们先考虑这两个因素;

星级越高,说明产品越好;评论越好,说明产品越好,评论星级越高,说明评论越可信。

其中需要注意的是,评论和星级的评价对象是产品,所以这两者之间理应是一致的,但是现在不时的会出现“五星差评”和“一星黑粉”等等,也就是说出现了评级和星级不一致的情况。

那么,在这种情况下,有以下两个办法供参考:

1、首先对评级和星级进行关联度处理,筛选出星级和评论一致的数据,此时星级和评论的作用一致,两列数据一列冗余,可以删除一列;(想1想这工作量?毕竟我数据库那时候还啥都不会呢)

2、如果觉得剔除数据不擅长,可简化成下述方法,例如:将星级和评论分别标准化为权重,以权重来衡量这个产品的质量,比如我们通常会倾向于看评论而不是星级(五星差评),所以可以将评论的权重设置为70%,星级权重设置为30%,然后对上述两种数据归一化处理(我是倾向于这么做的),是不是太简化了…

Attention!!!这一问(其实在这之后都需要)需要一定的自然语言处理(NLP)的能力,对评论的感情进行分析。

人的情感表达因人而异,有的夸张,有的委婉:“好产品!!!”、“这东西好到让我吐!”、“哭了,没见过这样的宝贝!”,可以说NLP做的好不好可以从某种程度上决定建模结果,或者说最终结果的好坏;但是矛盾的一点在于我们的时间并不充足,当初若要让我从头做一个NLP应该是没啥问题,但是可能对人力和时间都有比较高的要求,然而在这里这只是一个普普通通的“数据预处理”,但他还是必要的;我估摸着这就是这次逼疯我的原因,以及给我颈椎病逼出来的元凶,还是太弱鸡了啊….

 

b) 要求已指明,是“基于时间的衡量方法和模式”。此处的模式可以想象成“以时间作为存储数据”的逻辑,类似于线性表,只不过坐标轴是时间。

这一问中,想找到某种数据间的关联,这关联能表明产品的声誉是在随时间增加还是减少。因此这里就需要先对“时间”和“评级”建模,对“评级”的建模方法可参照a题,把星级和评论合二为一再处理;

而对时间也得进行处理,因为在一段时间内,可能存在褒贬不一的情况,那么这个时候就需要在这段时间内对评级进行处理。

例如,把好评差评按照权重进行综合;
或者,对评价进行语言处理,分析一下到底是“真好评、真黑粉”还是“真差评、刷好评”。

而在对评级、时间处理之后,就可以建立“时间-评级”模型,可以把产品的评价转化成数值,数值越高评级越好。这样的话,也许就能做出一条随时间变化的评级曲线:比如,好评(假设已经对一段时间内的好评差评进行综合处理之后)越来越多,那么曲线应该就是越来越高的;反之,口碑崩了的话,评级就会一落千丈。

最后,需要在上述“时间-评级”模型的拐点进行处理,在拐点处对评级进行分析,是什么原因导致评级发生了变化。

是有人发了好评,引起了更多人的共鸣?
是有黑子带节奏,让不知情的人也来诋毁你的产品?
还是什么其他原因?

(这都是一些说起来简单做起来难的方法或想法)

最后,才能得出基于时间的度量方法和模式,才能分析基于时间模式的产品声誉变化。

 

c) 就是找一个方法来推测产品是否能推广成功,前提是“基于文本和评级“。

这个方法和b又差不多,就是在不同的逻辑模式下分析,寻找能影响产品评级拐点的关键因素。这里还是可以将文本评论和评级综合起来,然后寻找一个“能预测未来产品口碑的事件点或原因”。

PS:类似于股市中的“利好消息”、“利空消息(即变差的意思)”,一旦某天出现了利好/利空消息,之后的时间就会跟随这个消息发生涨跌变化,说白了可以体现出来先前评价对现在的影响,也应该算作时间的影响吧,但是这个”利X消息“得有一定说服力,要有足够的置信度和曝光度,又根据我对外网亚马逊购物评价的观察,他会把点赞数比较高的评价尽量置顶,这就说明有足够点赞数的评价同时也具备了比较好的曝光度,进而会对之后大家的口碑、评星都有比较大的影响,然后我说着说着感觉就成了下面D题的思路hhhh。

 

d) 探寻客户的情绪是否会随着他人的评论而被调动。就是让你分析一下,是不是人们都有从众心理,是不是容易被带节奏(包括带好节奏和带坏节奏)。

在这个问题中,只需要在前几问的时间模式基础下,分析一段时间内是否会有较为集中的好评或差评即可。
当然也可以说客户不容易被带动情绪,只有数据充分、言之有理即可。

 

e) 是否文本评论内容(text-based reviews)和评级(rating levels)有强关联?

这个是前面提到的一点,如何对评论内容和评级进行关联。e题这就是让你不得不对文本进行语义分析,自然语言处理就变成了一个不得不做的一个门槛。

一般来说的话,文本评论越正面,星级自然也会越高。

这里我们星级是5个等级,很多NLP在模型做出来是3等级:“好”、“坏”、“中性”(1,-1,0),从某种角度来说如果NLP能力很强(正好是你平时研究的领域?不要看我,我是做计算机视觉的doge),最好根据热情程度分5个等级,这同样比较好分析,出来的结果也会更全面。

 

PS:所以其实后面这几道题,你越坐你越会发现他们就像是一体的,就像是同一个东西的不同方面,甚至可以说是同一个东西的不同表述,很容易给人绕进去。而且由于给的属性太多,各种各样的啥规律都有反正,还各自都有道理,最后还得弄到那么一个或者几个特定的综合性的体系里作为标准去判断…这时候可能就得舍弃了,我一度怀疑有的问题是不是问了两遍…

总之这也是我的大致的思路,冲好吧…

要是还有啥补充的或者意见指正,欢迎评论~