当红酒遇上大数据

高帅富们钟爱的红酒和屌丝们的大数据看起来八竿子打不着。 不过,美国加州的初创公司VinEno近日推出了一个基于大量用户偏好数据分析的红酒推荐引擎。

image001

VinEno只是近来推出基于Hadoop或其他MapReduce分析工具的推荐引擎的大大小小公司之一。比如说Foursquare, 近来就在它的移动APP中加入了推荐引擎。它使用Hadoop来存储和分析数千万的用户“签到”, VinEno的App叫Vinspin, 可以向高帅富们推荐新的红酒, 而Foursquare则可以推荐到哪儿能喝一杯。

推荐引擎和数据分析平台简直就是天作之合。 数据分析平台和推荐引擎处理和分析来自网络的海量数据, 分析的结果则可以反馈给实时在线应用。

在Hadoop上现在有了一些新的工具, 可以使大数据分析变得简单。比如Twitter最近就开源了它使用的Hadoop框架Scalding。 这个框架意在简化包括推荐引擎在内的大数据应用的程序设计。

Edwin Chen, Twitter的数据分析师介绍说: “我们在我们的日常工作中大量使用Scalding, 从一次性的分析(如某个国家的用户对某一个更新的反应是什么),到为数据可视化提供数据支持(如就某类用户来说,某个指标随时间的变化),再到为我们的网站的后台算法提供支持(如针对某个搜索请求应该展示什么广告)。”

Twitter教你如何写推荐引擎

 

Edwin Chen 介绍说,Scalding与编程语言Scala整合在一起, 提供简单的语法。 他还写过一个简单的教程教程序员如何使用Scalding来编写推荐引擎。他对打算写推荐引擎的屌丝们有如下建议:

首先, 你需要准备三样东西

1)数据

2)指标框架, 用来追踪用户对推荐如何反应, 确保下次不会给更差的推荐

3)一个评估不同推荐算法的系统

关键问题是判断哪些是重要指标, 一些指标有时会互相矛盾, 有时候则不清楚某个指标意味着什么。 比如说“点击”,是不是都是好呢, 有时候也很难说, 比如说在推荐引擎的设计中, 点击可以意味着是用户喜欢这个推荐, 也可能意味着用户没有找到他想要的。

此外, 人对系统的监督也很重要。 比如说, 一个新的算法可能由于用户看来电影A而向用户推荐电影B, 网站日志也显示用户大量点击了电影B。 但是, 这也许是因为电影B比较吸引眼球而已, 而不一定是因为电影A与电影B的相关性高。 相关性不是那么容易自动检测到的。 不是所有的东西都能够通过计算机或者通过网站日志分析出来的。

还有一个重要的点就是系统需要能够处理算法之外的一些情况。 比如说, 由于MapReduce是批处理分析, 所以当有一个新用户上来的时候, 可能需要过一阵才能轮到处理这个用户, 这时候就需要实时地对用户做一些推荐而不是让用户干等。比如说可以先推荐一些相关特征的产品, 而不需要等到对用户特征进行分析后再进行推荐。

还有一点需要注意, 就是分散性的问题。 也就是说, 要在保持算法精确性和从商业角度推荐新内容之间做一个平衡。如何避免反复推荐同样的东西, 如何鼓励用户尝试新的产品或内容。 有很多指标不能很好的支持分散性, 比如反复推荐同样的东西可能会提高点击率。 但是, 你也想让用户尝试新的产品,也不想让用户对你的推荐感到厌倦。 这需要合理的指标和系统设计。

智能手机的兴起给推荐引擎提供了新的数据维度, 也让推荐引擎变得更加好用。 Edwin Chen举例说, 比如Foursquare就在推荐引擎中加入了时间维度。如果是晚上, 那么用户们更可能去酒吧或者夜店而不是早点铺子。

此外,智能手机还能够提供地点的数据维度。 如果知道一个人所在的地点, 则可以推测出很多用户的偏好信息。

推荐引擎的初创公司

 

Fabless Lab就是由两个数据分析专家创立的公司。 它提供一个推荐引擎平台, 用户可以定制成针对不同数据的推荐引擎。 这个平台叫做Pastèque, 是在Hadoop和HiBase上,基于R语言的统计分析平台。

Pastèque通过分析数据, 找出最佳的推荐算法, 而且, 在Pastèque上,还加入和一些商业规则。 “过去, 算法总是太过数学化了, 而由于很多实际的因素, 导致数学上最佳往往很难实现” Fabless Lab的CTO和联合创始人John West说。

West介绍说, 推荐引擎最初是被电子商务网站大量采用。 不过推荐引擎可不是只应用在电子商务领域。 推荐引擎也被称做预测系统,因为它试图预测用户下一步的点击。 这样的系统, 对于很多需要通过预测来解决问题的领域都会有很好的应用。 比如在传统的交通运输领域, 就可以采用预测系统。

比如, 你要在一个城市举办一个会议, 有很多人会从不同的地点赶来, 考虑到航班延误的可能性, 你如何安排行程才能保证大家能够及时到会。当你考虑如何解决这类问题的时候, West说, 很多情况下, 这更像是一个如何推荐的问题。 在他们的平台上, 他们已经利用美国交通部的历史数据做了一个测试数据库,来检验他们平台的可扩展性。

大数据与红酒

 

VinEno的Vinspin App就是建立在Pastèque基础上的。 品酒师对能够品出红酒中每种成分的味道,VinEno对大量品酒师的数据进行了收集,此外,它还建立了一套针对不同红酒的属性数据库, 在此基础上, 它采用了推荐引擎技术。 VinoEno 的CEO Kevin Bersofsky.说, 当用户告诉你他们喜欢或者不喜欢某种红酒时,你就能判断是这种红酒的哪些属性的组合导致用户喜欢或者不喜欢。 从而做出准确的推荐。

对VinEno来说, 最关键的是要判断用户说的和他们真是的想法是否一致, 当用户到红酒店时, 他们会说,我想要“果”酒, 而你看他的数据, 你就会发现, 他其实想要的并不是“果”酒, 而是“甜”酒。

当然, 实际上Vinspin不需要这么麻烦, 用户只需要告诉说喜欢某种红酒, 比如说拉菲。 算法就可以根据拉菲的特征属性,对产品进行排序, 从而推荐一些类似的其他红酒。

原文作者(Eric Smalley) 原文链接 http://data-informed.com/foursquare-vinspin-unleash-hadoop-based-recommendation-engines/

第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom

   

除非注明,本站文章均为原创或编译,未经许可严禁转载。

相关文章:


关于作者

        在TMT领域具有十余年的咨询和创业经验。 目前主要关注信息安全,同时密切关注云计算、社会化媒体、移动、企业2.0等领域的技术创新和商业价值。拥有美国麻省理工学院MBA学位和清华大学经济管理学院学士学位,曾任BDA中国公司高级顾问,服务过美国高通、英特尔、中国网通、SK电讯、及沃达丰等公司。联系邮件:wangmeng@ctocio.com