最好走的路越走越难,最难走的路越走越容易

Follow guwendong on Web
  • Subscribe to Beyond Search via RSS
  • Follow @clickstone on SinaWeibo
  • Join Resys Google Group
  • Follow @clickstone on Douban
  • Follow @clickstone on Twitter

Category Archives: 推荐系统

Resys China 创刊号

《Resys China》,是依托于 Resys Group 并专注于推荐系统领域的一份电子杂志。

下面是创刊号的内容目录。

  1. 业界新闻
  2. 学术动态
    • Workshop on Social Recommender Systems
    • Collaborative Filtering Over Time
  3. 精品推荐
    • YouTube’s Quest to Suggest More
    • Recommendation Systems: Increasing Profit by Long Tail
    • 推荐系统五大问题
  4. 系列连载
    • Greg Linden,Early Amazon:The First Week
  5. 精彩应用
    • 开源推荐框架 DUINE 概览
  6. Resys 精华帖
    • 大家觉得推荐系统和长尾的关系是什么
    • 基于 SNS/Lifestream 的推荐
  7. 轻松一下

感谢 yoyogary wang阿稳同学在内容编辑方面的大力协助,感谢百分点科技在 PDF 文件制作方面的鼎力支持。
现在网络阅读越来越倾向于浅阅读,希望这份人工精编的内容能够给大家带来一些思考和收获。
PDF 版本从这里下载:Resys China 创刊号

 

迟来的感谢:Resys 豆瓣活动

感谢开放的豆瓣团队,感谢阿北和胖子,感谢阿稳同学为这次活动付出的巨大努力!
感谢大家对 Resys 活动的支持,2010 咱们继续折腾!
本文原发 2010年第2期《程序员》杂志,略有修改。也愿 CSDN 的质量节节高升。

年关之际,不仅天气冷,互联网更冷,不过这些都无法熄灭思想的火花。2009年12月19日,国内推荐技术社区 Resys Group(https://groups.google.com/group/resys)的第三次线下活动,在豆瓣网的鼎力支持之下顺利举办。 

Resys,取名自 Recommender System 的简写,社区的宗旨是搭建一个专注于推荐技术领域的讨论平台。截止目前,Resys Group 发展势头喜人,受到了国内推荐技术爱好者们的热情响应,线上讨论很是热烈,线下活动也已经成功进行了三次。 

本次活动由豆瓣网提供场地、点心饮料以及纪念品支持。豆瓣网在国内互联网行业美誉度很高,这是一家以帮助用户发现未知事物为己任的公司,他们在为用户的生活带来诸多乐趣的同时,也已经让自己变得足够有趣。“豆瓣猜”作为其标志性应用,一直以来倍受关注,在 Google 上搜索 “豆瓣猜”,有超过两百万条信息,热度可见一斑。

本次活动上,豆瓣网团队首次公开分享了他们运营 “豆瓣猜”的经验,系统介绍了他们在推荐领域的实践探索,可以说是对豆瓣网的一个不同于以往角度的新颖解读。据介绍,豆瓣网的创始人阿北与算法负责人王守崑是多年的好友。在豆瓣网内部最初的定位,书籍、电影、音乐等这些应用是钉子,推荐引擎是锤子,阿北带队找钉子,王守崑负责造锤子,配合得相当合拍。后来,豆瓣网逐渐成长为了一座舞台,推荐技术也伴随着赢得了更大的施展空间。

这次活动总共有三个主题,第一个是豆瓣网王守崑的《豆瓣在推荐系统领域的实践和思考》,第二个是迅捷英翔孙超与刘凯义的《推荐也是一种产品》,第三个是百度张栋博士的《大规模机器学习算法在互联网上的应用》。

第一个主题,主讲人王守崑总结了豆瓣网在推荐应用领域的探索,包括三个方面的内容。
首先,什么样的产品适合推荐?依据在图书、电影、音乐、文章、RSS源、社会网络等领域应用推荐技术的多年经验,王守崑先从定性的角度提出是“具有媒体性的产品 (Media Product)”,即选择多样、口味(taste)很重要、单位成本不重要,同时能够广泛传播 (Information Cascade)的产品;接着在对真实的数据集进行定量分析后,进一步得出,应该是条目增长相对稳定、能够快速获得用户反馈,数据稀疏性与条目多样性、时效性比较平衡的产品,才是适合推荐的产品。
其次,王守崑分享了豆瓣网的推荐引擎如何应对高成长性的挑战,即通过算法优化与近似算法设计,来寻求推荐质量与计算资源消耗之间的平衡。
最后,针对当前推荐系统面临的问题,王守崑把推荐系统分为 Prediction,Forecasting,Recommendation 三个阶段,并探讨了一种下一代推荐引擎的构想——基于用户行为模型的、有记忆的、可进化的系统。在演讲期间,主讲人也提出了一些开放性问题留给与会者思考,比如推荐能否拥有独立的产品形态?

总结陈词,王守崑把在算法领域的长期实践提炼成一句话:“Algorithms should facilitate rather than replace social process”,点睛之笔,简洁有力,闪耀着智慧的光芒。

第二个主题,是由迅捷英翔公司的孙超与刘凯义带来的《Recommendation Algorithm is a product》。他们从日常工作实践出发,抛出了一个问题:在一个成熟的商业系统里,
1)可推荐的商品(比如彩铃)数量多、种类繁、差异大(比如二人转与交响乐);
2)用户数目众多且兴趣各异,不同的用户对不同的商品有着不同的偏好;
3)每种推荐算法所擅长解决问题的角度是不同的,比如协同过滤易出惊喜,内容推荐善于举一反三,基因推荐更加人性化。
那么,推荐引擎作为连接起用户与商品的枢纽,是否可以具备自学习的智能导航能力,依据系统反馈来自动为每一个用户优化算法配置呢?

诚恳地讲,这是一个非常有探讨价值的话题。以电影推荐为例,它是推荐技术发源的领域之一,相关的实际应用也最为深入。比如,IMDB 以基于打分的协同过滤技术为主,Jinni 将电影基因体系作为推荐引擎核心,Nanocrowd 通过分析影评的相关度来作推荐,LivingSocial: Movies 是 Facebook 上一款基于社会网络的电影推荐应用,最后还有号称要打败所有电影推荐引擎的 Clerkdogs,他们完全使用人工推荐电影。这些电影推荐引擎专注于不同的推荐维度,各有所长,国外已经有研究机构基于此开展工作,试图探索如何把不同的推荐方法更有效地组合起来。

主题三为《Parallel Algorithms For Mining Large Scale Data》,主讲人张栋博士在大规模机器学习领域经验丰富,一开场就脉络清晰地理出了机器学习领域的发展路线,从神经网络(Neural network)到支持向量机(SVM)到图模型(Graphical Model),再到条件随机场(CRF)并最后回归到深度信任网络(DBNs),各流派之间不断竞争螺旋上升,整个过程高屋建瓴并且故事性十足。接下来的主要话题,包括围绕天涯问答的算法原理,基于社会网络的精准广告,以及 MPI 与 MapReduce 两种并行计算框架的实际案例对比,都让与会者获益匪浅。

从张栋博士的报告中可以看到,顶级互联网公司对大规模计算极其重视,他们将传统的算法进行改造,使其能够适应互联网上的庞大数据量。目前业界云计算概念火热,抛开滥竽充数者,大规模数据计算能力绝对是评价云计算的硬指标之一。 Google 公司的研究总监 Peter Norvig 先生有句名言,“Worry about the data first before you worry about the algorithm”,即是在说大规模数据对于解决问题非常重要。xlvector 同学的感概,很让与会者共鸣,“评价一个(Research)工程师的指标不应该仅是懂多少种算法,还要看处理过多大规模的数据”。

本次活动的与会者,有正在从事数据挖掘相关工作的工程师,有致力于在推荐系统方面有所作为的创业人员,有对这个方向感兴趣的投资人,另外还有不少高校里专注于此方向的研究人员。各个主题的间隙是自由讨论的时间,与会者们进行了自由开放的交流。相对来讲,第一个与第三个主题更加直观和吸引人一些,毕竟大家可以从中窥得成功的经验。但是,Resys Group 同样也真诚地欢迎第二组演讲人这样的做法,提出探讨式的开放性主题,提供数据,交流体会,无权威结论,这样更加能够引发听者的思考与辩论。互联网上不会存在永远的领先者,自由、开放与分享是互联网的本质,顺应这个潮流终究可以超越。逆势而为者,死路一条。

本次活动各个主题的 PPT 文件,均可以从 http://www.slideshare.net/clickstone/tag/resys 下载。其中王守崑的报告尤其受欢迎,并在 twitter 上引发了大量转推,PPT 上传到 slideshare 网站的当天,即因为关注度高而进入了网站的首页推荐。

2010年,即将到来的 Resys Group 第四次线下活动,荣幸邀请到IBM CRL推荐技术研究团队作专场演讲,主题各个精彩,欢迎有兴趣的朋友保持关注。

 

购物车推荐

忘记在哪里看到了这么一个说法,“在结算的时候如果有太多交叉销售的选择的话,可能会让客户迷惑,反而放弃订单”。这句话涉及到电子商务领域的一个重要问题,如此定性的结论显然是不太负责任的,比如何为“太多”。遂在 twitter 上发问。@imrchen 回复说,

只要有“太多”選擇,消費者就會卻步,不論這些選擇是怎麼來的。Barry Schwartz 的 The Paradox of Choice 就很強調 Less is More 這件事。

那么,对待交叉销售问题,业界到底是怎么做的呢?让我们一探究竟。

我选了两本书进行实验:《末日之书》,这个来自豆瓣友邻推荐;《时间旅行者的妻子》,这个是因为我很想看同名电影

第一站,当当

1)进入购物车之前

  • 搜索书名,居然没有输入提示!
    意见:太 out 了,这个应该算是标配了吧。
  • 点击搜索结果里面的对应条目,弹出新窗口进入详细信息页面。
    意见:虽然弹出新窗口基本上已经是中国网民最喜闻乐见的体验了,但我认为也不能乱用。我已经找到了我要的东西了,你还留着这个结果页面搞球啊,我还得费劲把它关了。当然了,我这里是基于使用精确搜索的场景得出上面的结论。使用模糊搜索的场景,保留结果列表页是说得过去的,但我觉得还是需要分析下搜索数据,看哪种比例高。当当购书整体走下来,最突出的问题就是弹出的新窗口太多了。
  • 在书籍详细信息页面里,点击“购买”,又弹出了一个新窗口进入购物车。好吧,我忍了。

2)购物车内

上图是当当的购物车推荐区域,标题是“根据您挑选的商品,当当为您推荐”。

  • 位置,横在页面上部。
    意见:放在这里应该是觉得它比较重要,但在设计上与下面的“已购商品”产生对比,被弱化了很多。
  • 每个推荐商品,显示名称/市场价/当当价,共 3 项信息。
  • 名称有显示不完整的,鼠标放在链接上会提示完整名。
    意见:不能够直接显示完整商品名,感觉不太好。
  • 推测当当应该是认为,市场价/当当价对比,是用户购书关注的一大指标。
  • 推荐条目总共 8 条。
    问题:数目是怎么确定的?

上图是当当的已购商品区域。

  • 位置,无论视觉上,还是设计上,这个区域都是中心。
  • 显示商品名/单品积分/市场价/当当价/优惠/数量/共节省/共获积分/总金额,共 9 项信息。
  • 灰掉了“积分/市场价”,应该是想强调一下“当当价”。
    问题:如果认为灰掉的两项不重要,是否有更好的处理?
  • 变换颜色强调了“共节省/积分”,特别突出的是“总金额”。
  • 提示并进行了“图书促销区”活动的导航。
  • 可以修改商品数量,以及删除商品。

上图是特惠区的促销信息。

  • 位置在页面最下面,一般很难看到。我个人持保留意见,放在此时此地能有用吗?

3)个人看法

  • 要赞一下当当的推荐算法团队,有功力,购物车推荐的相关性不错,多样性也照顾到了。
  • 要搞清楚一个重要问题,基于当当目前的情况,购物车的首要目标是什么:刺激交叉销售,提高单个订单的总金额?还是尽量减少对结算的干扰,以保证订单地完成率?
  • 不了解设计初衷,但感觉购物车推荐部分的产品设计还有提升空间。套个专业术语,信息架构没整明白。

第二站,卓越亚马逊

1)进入购物车之前

  • 搜索书名,Bingo,有输入提示!看来 Amazon 代表了先进生产力啊。
  • 点击搜索结果里面的对应条目,当前页转入详细信息页面。
    问题:是否能够说明在卓越亚马逊这里,使用精确搜索的用户是占大多数的?
  • 在书籍详细信息页面里,点击“购买”,当前页转入购物车。好吧,我承认我是 Amazon 的拥趸。

2)购物车内

根据最近加入购物车的一个商品,在购买操作维度给出的推荐。总共 6 条。

根据最近加入购物车的一个商品,在浏览操作维度给出的推荐。总共 3 条。

根据购物车内的其它商品,在购买操作维度给出的推荐。总共 3 条。

上面三个图片是 Amazon 购物车推荐的三个区域,标题是我们喜闻乐见的“买了… 还买了…”的经典句式。

  • Amazon 清晰地传递了它的理念:购物车的核心目标是,使用交叉销售帮助用户完成更多地购买。
  • 购物车推荐区域基本上进行了满屏显示,无论视觉上,设计上,还是事实上,这里都是中心。
  • 每个推荐商品,显示图片/名称/卓越价/打星/评论数,共 5 项信息。商品名称全部完整显示。
  • 相比文字,图片能够更加有效地传递信息。
  • 三个推荐区域的条目数分别是 6/3/3,总共 12 条。

上图是已购商品区域。

  • 位置,在页面的右上部的独立区域。通过区别于其他的色块设计,使其也足够突出。
  • 显示商品名/作者/包装/卓越价/数量/总金额,共 6 项信息。
  • 突出了商品的卓越价及订单总价。
  • 不能直接修改商品数据,也不能直接删除商品。
  • 有一句看似很多余的提示语,“购物车中的商品价格与该商品页面显示的最新价格一致”。

3)个人看法

  • 卓越亚马逊显然用的是 Amazon 总部的推荐技术,效果毋庸置疑。
  • 细节上仍有待注意,推荐区域稍嫌散乱,且时常可以见到商品图片无法显示的情况。

关于购物推荐

用户购买一件商品,有两个阶段:首先是要知道有这么一个东西;然后评价一下是否需要购买,做出决定。
当当的推荐完成了第一个阶段,能够把相关性比较好的东西自动推给用户,但基本上到此就停住了,在帮助用户作决定这个阶段几乎没有作为。
细节处见真章。可以看到 Amazon 对推荐这件事情的理解的确更加到位。通过给出“打星”与“评论数”,为用户做出决定提供了一些参考。但请注意,我说的不是卓越亚马逊,他抄都没抄明白,Amazon 在同样的地方,还另外给出了书籍的作者,而卓越似乎是自作主张地去掉了。要知道,作者可是用户决定购买一本书的重要因素!

结论

内容写着写着就有点儿发散了。
转回头来,开篇的那句话,其实说的是“Shopping Cart Abandonment Rate”,它是电子商务领域的一个核心问题。它非常重要,因为可以抛开其他所有因素,只需要单纯把这个比例降低,销售收入就能够增加。但也正因为如此,一般的电子商务网站对待购物车都是格外的小心翼翼。这个事情的做法上,没有绝对的正误,一定要数据说话。
但评定标准绝对只有一条。搞清楚我之前提到的那个问题:

  1. 刺激交叉销售,提高单个订单的总金额;
  2. 尽量减少对结算的干扰,以保证订单地完成率。

哪一个能够提升最终的销售收入,哪一个就是你当前的最佳选择。

Update: 开篇的那句话来自 Tangos 的“支付结算页面造成客户流失的常见问题”这篇文章。非常抱歉,我误解了 Tangos 的原意,他说的是“支付结算页”,而不是购物车页面。一旦进入结算流程,现在业内应该已经是统一的做法了,不做任何其他产品的推荐,甚至连导航栏都全部去掉,不让任何因素影响结算完成。虽然跑了题,但这篇文章的内容应该还是具备参考价值的。

 

ResysChina 发起人
1. 持续关注 个性化推荐 技术;
2. 持续关注 Semantic Web 技术;
3. 评论与上两项相关的互联网业务与产品;

我相信技术的力量!
wendell.gu@GMail.com

Archives