Resys China 2012会议笔记

首先不得不说的是Joyce开场,简要地介绍了Hulu的近况,也提到了她对推荐系统的三点理解:1、使用合适的产品形态来表现推荐,这一点从Hulu的全站改版推荐去理解;2、对数据的理解,对推荐应有domain knowledge;3、需要加速迭代实验,使用A/BTesting环境。另外需要提一下的是,在整个会场中Hulu都在各种hiring。

Facebook: A unified system for organic and sponsored recommendation

首场是来自于Facebook的XXX(鉴于一些原因请原谅我没有写名字),介绍了A unified system for organic and sponsored recommendation。首先提到的是关于organic和sponsored recommendation的定义,这是指Facebook在推荐形式上的两个方面,即一方面是organic recmm,没有广告主推荐,是Facebook本身用于其social网站运营的目标考虑,促进用户的engagement in community,这是为了facebook的长期利益打算的,例如:people you may know? page you may like?;另一方面是sponsored recmm,即付费广告推荐,广告主付费在某个关键字上的广告显示。
这里的motivation其实很明显:
1、在Facebook网站有多种多样的推荐形式,其中有特点的是一类:sponsored story,该推荐中包括Actor和Object两部分,如朋友XX关注了XX产品,这既有广告主利益,又可以有用户利益,这里在处理中见后面的object function以及排序;
2、有很多种不同形式的organic推荐形式(friend, game, music),推荐的方式都有其基本属性:名字,social context(如整个网站有XX人在玩,朋友也like xxx);
3、在每次点击反馈后要求页面推荐内容发生变生变化。
另外一个方面的motivation:
1、100 billion daily impression
2、multiple types of recmm: ads, people, page, event
3、产生数量巨多的ads click(没记清楚,是个convension)
定义目标也在两个方面:
1、产品目标:同时优化广告主value(short term value)和user growth and engagement(long term value),facebook value没有单独列出,因为可考虑前者的收益能作代替;
2、for ads: expected value = eCPM = CTR * 广告bid
for organic: expected value = CTR * click value,这里的click value定义有一些tricky,使用slot value来区别权重,依赖于自己的和社会的价值,这里可理解为其对应的多少money。
那么在这里CTR预估的挑战是:
1、scalability: ~500k queries per seconds at peak,billons of candidates per user
2、need to unify the auction of ads and organic recmm
3、能解决new type of recmm candidate, of new ads campaign的问题
4、支持different types of recmm candidate加入very distinct characteristics
有关CTR Modeling:LR vs Boosting
1、LR:sparse features and bigram features, online training, iterate fast on features engineering.
2、Boosting: model non-linear data distribution, 不适合online update,better prediction accuracy
最后选择LR,由于其online learning的特性,可快速适应data distribution的改变,可以更多的A/BTesting,进行更快的实验,可30min更新model。
关于CTR预估的另一方面:features,讲到了以下4个方面:
1、user: demo(age, group, …), uesr history & behavior features,这里尤其提到的是点击的间隔时间the elapsed time,表示diversity,这是很好的features,另外还有在某一推荐类别上的用户点击率;
2、context: page分类,未做NLP等特征处理
3、recmm candidate: 在所有用户的recmm candidate上的Global CTR,不同推荐产品的features?(未懂)
4、bigram结合:user demo+global CTR, recmm candidate type+current page
关于系统架构,这里有一张图:

关于monitor the model performance,使用CTR, log loss, mse来评估性能,进行A/BTesting后效果最好时才publish
另外还做了一系列支持online learning management tools。
关于unified auction有三个方面:object function(ranking), sorting and selection, pricing
首先看object function: 使用predicted CTR * (advertise bid + p * orgranic value),其中p is pacing parameter,可根据当前状态实时调整及动态更新。

1 ratio = organic spend / (organic spend + ads spend)
2 if ratio > organic budget
3     decrease p
4 else
5     increase p

因此,p可认为organic value到money的转换率。

关于sorting就直接按照object function从大至小排了,见下图:

这里要特别提到的是,广告位的value: slot value,这只与广告位的位置有关,将auction放至对应的slot上,即得对应的slot value,再与原来的value相乘得到最终的value。
关于Pricing,采用VCG Auction模式,incentive compatible,理解是:计算有你和无你时别人价值的差别来进行定价,因而可动态更新p,放至scribe中。
在VCG模式中,bidder only need to bid their true value?
关于features,可能是工作做得最多的一部分,使用90天recmm type hisotry的数据。首先针对click数目进行分桶,考虑各个分类下relative boost;另外针对elpased time(上一次推荐的间隔时间),按时间间隔分桶,计算各个分类下的relative boost。
在对比predicted CTR和真实CTR时,要做一些calibration,最左边上面那段,数据少,variance大
针对前面所用到的方法,有如下实验结果:
1、如果完全采用random方式,不做CTR预估,仅考虑使用推荐方式,能有double CTR效果;
2、当把offline的模型更新变成online,能有3%的CTR提升;
3、unified auction在both revenue & organic value上提升10%,但是造成的问题是hard to troubleshooting。
QA环节:
在VCG环境下的organic value中的click value计算问题?
A/Btesting的反复iteration
下一步优化方向:加入contextual信息,加入social information信息,之前有实验但并不work得很好
不采用GSP,而采用VCG,收入会比GSP低,因为GSP采用second price。
总结:Facebook这场干货很多,不光是其unifited system把目标组织得很好,其架构实现也很漂亮,关于CTR modeling以及features方面的工作也很有特色,值得多多学习,这部分基本上我还处于小白阶段。另外其中关于organic value的click value,以及能动态调整的pacing parameter还需要进一步思考。总之,这场内容还需要好好消化。另外,很感受到这种大公司的开放态度,国内的一些公司还没有办法相比啊。

第二场:Hulu 项亮《Recommendation anytime, anywhere in Hulu》

首先介绍自Hulu成立以来的各个产品形态及推荐理念,太快只记下了Recommendation Hub、Streamboat、Auto Play(考虑播放顺序的推荐)以及现在Personalized masthead(覆盖全站的个性化平台)。
接下来就逐个从产品来介绍推荐算法及模型的演讲,如他们在content discovery、navigational convenience上的考虑。
然后就是提出目前的hulu采用的data driven product decision,采用learning-based method, 使用watching history,要求模型能具有好的可解释性及加入domain knowledge的特性。(这点没听细致)
再讲到模型:rules vs machine learning,前者是white box,可应用domain knowledge,可快速startup,用于解决冷启动问题;后者则正好相反,based on data, hard to explain, 是black box。不过最后还是采用learning-based method,要求是based on data, 具有detailed explanation,并且方便加入domain knowledge。
关于learning-based system的架构,分为两部分:
1、relevance:white-box, 使用item-based CF(domain knowledge), 目标是improve relevance
2、ranking:black-box, 使用logistic regression, 目标是imporve business goal
另外,为了真正地帮助PM参与产品决策,Hulu作了一些simulator,一方面用于explain how item is recommended,另一方面是用于model visulization,这些都可以有效地让domain knowledge专家参与。
再进一步,就是keep tuning algorithms的事,目前的任务有两个:1.find relevance; 2.improve CTR。这里面在hulu的产品演进路上有很多尝试,有直接optimizing CTR, 有CF+Content, 有topic model, 有learning + domain knowledge等。基本上前面的方式都或多或少地存在一些问题,如CF并非能应用在所有的相关性场合,如需要在relevance和CTR间作出tradeoff(这里貌似有讲到CTR会变成feature,而不是优化目标的问题,但没听清楚。),另外针对CF不能解决diversity的问题,则使用topic model进行处理后,再只使用其中某些相关的item进行CF。
关于learning的方面,针对LR和decision tree之间作选择,最终选择DT,原因是特征少、有提高、non-linear,而且重要的是可解释性好。
提到主页的变化,主要是将item变化为tray,tray产生于genome, rules或complex algorithms,其中genome类似tag,但又需要解决情感、同义等问题,关于标签的处理,首先是人工标注,后面使用预测标签的方式替代。变化为tray的问题有三个:显示哪些tray,显示tray的顺序,以及tray中的显示item顺序。
关于挑战方面主要来自数据量,使用distributed training system(LR) on hadoop来解决,另外推荐系统能够帮助控制网站流量(后面这点未懂)。
这里的推荐系统也借助了在广告系统中的一个概念,即E&E(exploitation and exploration),因为如果只做exploitation的推荐会只能收集到所推荐产品的信息,而无法进一步扩大利益。
后面是关于Hulu在recommend anytime上面所做的工作,如支持各种devices,尤其是其中的移动设备使用不容忽视,关于这点也有很多与特定设备相关的推荐问题。
总结:如前面Joyce所说,用合适的产品形态来展现推荐理念是推荐系统应用成功的一个重要因素,看来Hulu在这方面做得很出色,这可以从各个产品的演进升级看出。

第三场:腾讯 王益《精准用户定向和效果广告》

首先介绍了在线广告的历史,所提到的效果广告包括:搜索广告、上下文广告和用户定向广告(无线、社交)。
关于上面三种不同类型的广告系统,其架构均有很大的相似性,都是使用query/page/user作为输入,为提高相关性计算的准确性而rewriting为features,然后通过已经indexing广告的倒排索引表retrieval广告,最后ranking展现输出。
在系统中涉及到的关键技术有:1、通过博弈论推导的GSP模型,所以需要CTR Prediction;2、retrieval algorithms;3、文本语义分析用作rewriting;4、user intension mining的rewriting。
针对语义分析部分,query和广告都是短文本,信息量少,会产生歧义,因此会想到使用LDA来进行topic投影。关于LSA的发展历史,分别经历了LSA, pLSA, NMF, LDA, Gap, NOCA, Rephil, Peacock。其中关于LDA和GaP,区别在于采用的分布形式不同,如前者使用狄利克雷分布和多项分布,后者使用泊松分布和啥分布,NOCA使用二项分布和啥分布。另外,多次提到Rephil来自于Google,可有学出小众Topic的潜力,后面的peacock是目前腾讯的在研项目,未正式上线,有较好的实验结果。
针对用户意图分析部分,由于腾讯内部有严格的隐私保护制度,因此数据并不能全部使用,通常是使用user feature来扩展兴趣,如qq profile,用户社交关系(微博),由于数据量少,因此还使用user features来回归学习某些特征。其中有提到LDA是base? model(莫非是generative),模型产生后,所有变量之间的关系均可以inf。提到mapreduce,限制太多,因此内部使用Go语言实现。
关于相关性计算,提到了WEND算法了,但也可以通过点积来计算相关性。这里还进一步扩展了相关性计算部分,分为三大类:集合论、线性代数、PGM。第一者代表有fuzzy set,三步能推出悖论,不靠谱;第三者太过复杂;第二者最好用,LDA就是采用第二种方式。
总结:提到将三种广告类型使用统一的框架来表述,重点介绍其中的rewriting部分,使得各项输入在同一个空间内展开,从而方便地计算其相关性。另外,这里的Topic Model讲得很精彩,从基本原理,到演化历史,讲得很深入,虽然没能记全,但是循着这里所提到的这些思路进一步学习,会更有帮助。

第四场:百度 刘其文《探索CoreEngine》

推荐的大势所趋,基本上不用介绍,这点主要提到的关于CoreEngine所关注的三个方面:
1、内容质量
2、用户建模
3、推荐排序
关于内容质量这点没说得太细致,我也没听清楚。
关于用户建模,主要是一些用户属性来设计,另外还根据反馈(正反馈、负反馈以及时间衰减)。
推荐排序,使用CTR预估,只使用上千级别特征,使用最大熵算法,采用算法+人工方式进行评估。不过又听到有采用Learning To Rank算法,使用listwise方式,用VCG作为优化指标(还是我幻听了,好像联系不起来)。
提到在线实验,在SIGIR(貌似) 2012(http://blog.sina.com.cn/s/blog_4d3a41f40101737z.html)的Microsoft有一篇很好的关于在线实验的文章,所提到实验1/3为正向,1/3无效果,1/3为负向,所以总期望为0。(不知道是什么意思?)

后面是关于创业者show环节

1、购物党:比价神器,口牌导购,看起来功能不错,尤其是其中的评论功能整理得不错,不过现在竞争多,有网易惠惠、淘宝如意淘,需要继续发力。
2、豌豆猜:拥有豌豆荚的应用安装数据,“糙、快、猛”的设计原则,快速响应设计产品,很适合创业型公司。看了推荐产品,设计得还很不错,除了有推荐原因解释外,还有引导用户反馈的正负按钮,另外发现现在用户对计数器中的数字很喜欢,尤其是喜欢优越感(数字爬在别人上面)。
3、梁斌:微博寻人产品的升级版,更加整合各项信息搜索产品,目标是完整的信息平台。不过产品追求很大,前景还不明朗。但不得不说的是梁总的发言幽默风趣,很逗了,引得全场爆笑连连,经典语录:撬羊毛不能撬得太早。
4、剪客:个性化阅读与分享产品,但目前而言产品功能还不强,收藏功能没有更多引导利用用户的收藏成本,同样是一次收藏,始终觉得delicious的方式做得最好,GetPocket等都做得很差,关于分享功能还见得不多,关于推荐功能就更见得少了。

总结

现在总结从各个嘉宾的演讲来看,Joyce在开头所提到的三点几乎是最好的总结,因为所提到的内容都或多或少地多次被提到,或许这正是如今推荐系统在现实中应用所面临的真正问题。这里要提醒一点的是,算法和模型在上面的演讲中所占的比例是很少的一块,这也几乎是验证在2011推荐系统论坛上提出的算法只占整个推荐系统10%的比重。另外,从上面的议题其实可以看出,机器学习在推荐系统中的应用已经越来越广,几乎都在考虑用机器学习的方法来解决推荐系统中的问题,不过也确实如此,就大量的数据中去挖掘有价值的信息从而作出决策,基于统计的机器学习方法还是比较靠谱的。

由于知识水平限制,整场会议只能听出以上内容,遗漏及错误之外请同去的朋友指正。

你可能感兴趣的:(Resys China 2012会议笔记)