acm-header
登录

ACM通信

BLOG@CACM

数据挖掘产品评论


凯特Matsudaira

数据挖掘在产品评论中的应用

说到大数据,作为创造产品的计算机科学家,我们能做的最伟大的事情之一就是将所有的信息提炼成重要的东西。

当然,这类问题的挑战总是在于细节。本文讨论了将数据挖掘应用于产品评论的一些挑战。

如果你不熟悉Decide.com在美国,我们是一家初创公司,应用机器学习和算法来帮助预测产品的价格和模型,以回答“何时购买”的问题。现在,我们已经推出了“买什么”的第一个版本的Decide Score,它将衡量产品的相对价值和质量

让我们来看看这个新的“买什么”决定分数的细节,因为这是有趣的地方。

这个项目的目标很简单:

创建一个易于理解的分数,帮助人们从专家和用户的评论中找到要买的东西,从网上收集了许多来源。

乍一看,这似乎很简单:收集大量评论,然后将它们整合在一起创造一个分数。但是有一些细微的差别,使得这个过程变得困难,所以让我们来经历每一步。

以不同的格式从许多不同的来源收集所有的数据。
当然,这个问题可以通过一些基本的规范化和数据清除来解决,所以我就不再详细阐述这一点了。如果你想阅读更多关于数据收集的内容,你可以点击查看这篇文章是关于爬行的一些基本知识

将每条评论与“正确”的产品相匹配。

规范化模型名称和产品名称可能是一个挑战(例如,在下面的图片中,索尼Bravia电视有许多不同的模型名称)。

索尼Bravia型号名称

这种情况在某些类别中会加剧,比如平板电脑iPad可以是3G的,无线的,或者有不同容量的存储空间。我们可以将评论应用于每个特定的产品,但最终可能会出现相同产品的不同变体拥有不同分数的情况(这将让最终用户感到困惑)。

因此,这个过程的第一步是使用机器学习,根据产品名称和描述的相似性将产品分组在一起。

相同分数的冰箱的变种

处理不同类型和来源的评论。

并不是所有的评论都是平等的。我们可以很容易地将用户与专家评论区分开来。在我们的计算中,我们认为专家评论和用户评论是两个不同的来源(即使来自同一个网站),这是因为考虑到来源固有的可信度和可信赖性,它们的权重可以不同。

由于每个评论来源都有偏差,所以有必要将分数标准化,以便输入一致。例如,与其他网站相比,家得宝网站上的评论通常更高(平均评分为4.2),比如CNet的专家评论平均评分为3.5。因此,规范用户评审和专家评审是十分必要的。

下面是这个过程的一个例子:

分数归一化过程

用户评价和专家评价分别处理,然后标准化消除偏差,最后汇总成评分。每个输入被归一化为平均值0,标准差1(所以它是一个正态分布,如图所示)。这个混合得分可以被用来创建一个加权方案的决定得分。

一个普通曲线变换的例子

最后所有这些值都用a处理乙状结肠函数为了得到一个更人性化的分数。我们将函数参数化,将平均值设置为70,而高于平均值两个标准差的值设置为95。这是针对每个产品类别单独进行的,以得到以下一致的评分标准:

  • 每个类别的平均分数= 70
  • 真正的好产品= 95
  • 马克斯得分100
  • 分钟得分0

让决策得分更聪明

这一切似乎都很好,但因为你擅长数学,你可能会问自己一些问题(或至少我们问自己这些问题)-

  • 我们如何计算产品的评论数量?很少有评论的产品(比如新发布的产品)可能会因为有限的数据集而得到不成比例的高分或低分。
  • 我们如何解释产品评审分数的差异?如果产品a和B的平均评论评分相同,但对a的评价两极分化更严重,那么我们可能会想给B打更高的评分。
  • 我们如何应对产品时代?更新的产品可能没有老产品那么多的评论。随着老产品接近生命周期的结束,我们不应该把它们和新版本相提并论,即使它们得到了很好的评价。

因为我们的业务是推荐购买什么(通常是一个较新的型号),所以我们解决这些问题是至关重要的。此外,用户评论和专家评论往往具有不同的特征。对于一个产品,用户评论的数量往往比专家评论的数量多得多。高质量的专家评审来源往往更可信。因此,我们使用一组不同的技术来处理这两种类型的审阅源的这些问题。

更聪明地对待用户评论

在分析用户评论时,我们处理方差和有限样本大小的方法是通过标准误差计算来计算平均评级的置信区间。这个置信区间表示为平均评审评分的上下限。

评论较少和/或评论分数差异较大的产品,其下限和上限之间的差距自然会更大。我们使用这个置信区间的下界作为用户对决定分数的总贡献。注意,我们可能会遇到这样的情况,即用户评论集合中的度量方差为0(游戏邦注:例如,产品只有2个评论,且都是5颗星)。为了处理这一问题,我们在执行此计算之前向每个产品添加少量人工评论。

在处理用户评论时,我们处理产品年龄的方式依赖于一个基本的假设。与同类产品相比,接近生命周期末期的产品会有更少的评论,而且最近的评论分数比以前的更相关。因此,如果我们在计算置信区间的下限时只看最近的评论,我们的标准误差测量就会随着产品与普通消费者的相关性降低而自然下降。

更聪明地对待专家评论

与用户评论不同的是,我们不太可能看到多个专家评论都有完全相同的5星评级(如果我们看到了,至少这些来源更可信)。然而,任何特定类别的专家评审员的数量都要少得多,他们可能会在产品发布一个月或更长时间后发布。

因此,我们在创建平均专家评级时面临两个主要挑战。首先,我们希望奖励拥有更多专家评论的产品(比起只有14星评论的产品,我们更相信拥有24星专家评论的产品)。其次,我们不想在新产品的专家评论发表之前对其进行不当的惩罚。

为了解决第一个问题,我们人为地注入人工专家评分,并基于人工评分和真实评分的组合集计算出平均的专家评分。用机器学习的说法,我们计算平均评论评分的m估计。

为了解决第二个问题,我们注入的人工评论的数量取决于产品的年龄和类别。这样,较新的产品可能不需要那么多的专家评论来获得与具有更多专家评论的较老产品相同的专家贡献。

总之

当然,这是我们正在努力改进的一种算法和方法论,但它只是数据挖掘中许多不同想法的应用之一,这些想法可以用来产生真正的消费者价值。

如果你有建议、想法或想法,请在评论中留下他们。



特别感谢三位了不起的数据科学家Dave Hsu、Hsu Han Ooi和Sam Clark,感谢他们对本文的回顾和贡献,以及本文背后的创新。


评论


赛斯格兰姆斯

在我看来,评论的多样性是向用户报告的一个有用的方法,但我真的很好奇——你如何检测虚假评论,如何消除重复,如何处理发布在多个网站上的相同评论?

赛斯,http://twitter.com/sethgrimes


匿名

你好赛斯,
这是一个很好的问题——只要它们是相同的文本,就很容易推断出相同的评论,如果它们不是完全相同,尽管有必要使用像shingling这样的指纹算法。然而,由于大多数评论都很短,我们发现使用日期+精确匹配的文本可以为我们带来95%以上的重复评论。
实际上,我们在这个过程的早期就这么做了,因为许多网站会联合来自其他网站的评论,所以如果不这样做,我们的数据可能会被大大夸大或误导。

希望这可以帮助!
凯特


显示所有2评论

登录为完全访问
»忘记密码? *创建ACM Web帐户
Baidu
map