专题直播:http://labs.chinamobile.com/focus/imic_2012
程序员
2012年8月21日至8月22日,中国移动在北京国际会议中心举办“第六届移动互联网国际研讨会”,聚焦于云、管、端、“台”,更普遍、更深刻地探索构建合做双赢的产业新生态,打造移动互联新生活。如下为Hulu软件研究人员项亮发表演讲。 算法
如下为演讲速记:
网络
谢谢你们来听咱们的报告。以前的嘉宾都讲了不少界面怎么设计、产品怎么定义之类的,我今天给你们分享一些算法方面的东西。首先关于推荐系统。这是我今天的主要内容,关于推荐系统,什么是推荐系统?你们有两种不一样的认识,从狭义的方面来说,你们会认为好比说亚马逊首页给你推荐,这个就叫作推荐系统,其余的都不算,这个在我看来,其实推荐系统给他一个比较明确的定义,就是可以经过用户行为的变化,来改变用户浏览所看到的东西的东西,就叫作推荐系统,好比说你在网上买了一双鞋,而后你买完鞋之后去了一个页面,发现这个页面和别人不同,是跟你刚刚买鞋这个行为发生的变化很是相关的一种变化,这是推荐系统所产生的。
iphone
推荐系统有一些任务,首先推荐系统在整个网站里面,它链接了三方面的参与者。首先是用户,而后是物品,我要卖的东西,而后还有网站自己,对这三方面的人,或者是说提供这些东西的这些提供商来讲,这些系统须要解决三个问题,第一个是咱们知道如今的社会是一个信息扩展社会。会在网站上看到各类各样的东西,特别是网店兴起以后你们的选择范围比之前大不少,因此如何从这些海量的商品中或者是信息中找到用户感兴趣的信息,是推荐系统的第一个任务。
工具
第二个任务是推荐系统在知足用户的同时,也要知足物品的提供商,好比说咱们Hulu最主要的提供商是卖电视的,像美国的福克斯,CPS,这些内容提供商。咱们必需要把他们很长远的电影给推荐出去,不能说他卖一千部电影,咱们只推荐一部,其余的不放这是一个推荐任务。另一个是不少网站有不少搜索,还有各类各样的排行榜,为何要用推荐系统,若是其余的产品可以带来推荐系统,可以带来的全部好处,就没有必要用推荐系统,因此说推荐系统的第三个任务是要帮助使用他的网站增长他的用户粘性。
测试
这个推荐系统诞生从正式的学术上的诞生起源于1994年,当时美国的一些研究人员发表了一篇论文,从论文开始产生了一个词,推荐系统才正式诞生,从诞生到如今已经用了不少的领域。特别是近几年应用的领域不少,像电子商务里面有淘宝,当当等等,音乐上就有豆瓣电台之类的,另外像社交网络有新浪微博。还有像本地服务中的大众点评。这里截取了推荐系统的界面,来讲明它的应用。刚刚说了对推荐系统有比较狭义的认识,我截屏截出来的东西就叫作推荐系统,好比说Hulu的首页里面,上面是Hulu的,下面是亚马逊里面的,亚马逊里面会根据你之前看过的书,买过的书给你推荐一些书,这是根据用户个性化的行为给用户推荐物品这是一个比较狭义的推荐系统。
优化
这是咱们在移动互联网上作的一个个性化推荐的产品,你们知道这个在看视频网站这件事情上,有不少的设备均可以看视频网站,好比说iphone和Ipad,家里面的电视,包括机顶盒都会用来看视频,根据咱们的研究发现,在设备上看视频和在网站上看视频有很是大的不一样点。在设备上看视频的用户更须要一种工具帮助他们发现他们个性化的,所喜欢的东西。由于在设备上,你们知道输入是很是困难的,用户的兴趣也是很不明确的。基于这些咱们在这个设备上设计了一个和网站上彻底不同的应用。你们看到整个第一屏的全部东西,从最上面的,若是对美剧看兴趣的都知道,最上面有一个电影,这个里面展现不少的美剧。下面也是一些个性化的,告诉客户你以前看过什么东西。下面是根据你用户的行为给你作的推荐。再下面是一些其余的好友给你作的推荐。咱们在设备应用上加入了更多的个性化的元素。
网站
跟咱们同样的,亚马逊也是,你们若是看到亚马逊在网站上的首页,会发现有各类各样的繁杂的分类目录,最近改过版,比之前好多了,可是在手机上只有一个搜索和推荐。其实就知足了用户的需求,一种是用户有明确的目的,我今天想买一个袜子我就去搜索了,另外是客户不知道干什么,就想买一个东西,就去推荐。这是中国的大众点评。主要是考虑用户所处的上下文,好比说他所处的时间和地点,给他推荐的餐馆之类的。
设计
这个豆瓣也是同样,音乐能够是是推荐最适合的场景。在我看来一个好的推荐系统,最好的场景是用户极端的无聊,极端的不知道本身想干什么,这种状况下你听音乐,不多有人说我今天就要听这么一个音乐,不会有这样一我的。你们就是说我只是想听音乐,我不知道我想听什么,你按照个人风格给我推荐就能够了。豆瓣电台在iphone上的界面,把手机打开,登上豆瓣电台,戴上耳机就能够听了,你不告诉他你想听什么,他也不让你有选择。你也没办法搜索我想听什么。
视频
除了这个以前的个性化推荐之外,还有相关的产品,相关物品推荐,好比说你在Hulu上看到了一个电影,咱们会给你推荐类似的东西,或者是说你在亚马逊上买了一本书,咱们会给你推荐一些类似的书。其实这个用的范围更普遍。不少的网站没有个性化的推荐,也就是说首页没有推荐,可是每个商品的页面都有推荐。并且这个推荐给电子商务网站带来的销售量的增长也是有很大的影响的。
好比说我以前听过一个电商网站的说法,有一个应用叫作打包销售。主要的方法是大家买了一本书以后,下面会有一个界面,你买这本书和那本书一块儿买能够便宜多少钱,这对销售额的增加颇有用的,这也是有相关推荐的,这是在亚马逊上买程序员修炼之道以后,告诉你应该买这本书的人,也买了其余的什么东西。另外这个是视频网站上每看完一个视频之后,会弹出一个框,你们上优酷和奇艺也能够看到,这样能够增长用户的视频浏览时间。
再说这个推荐系统有什么算法以前,咱们说一下评测。咱们设计一个任何东西以前,咱们要了解他的评测指标。若是你没有目的,就没有方法直线你的目的。对于评测有三种评测方法。第一种是离线实验,咱们搞一个数据集,咱们本身在这定一些指标,去优化,若是你们作过数据挖掘和记忆搜集会知道我优化一个指标,而后第二种是说你离线实验,以后你以为这个离线效果已经很好,为何要先作离线实验呢,由于没有任何成本,只须要一个研究人员搞一个数据集,搞几天就能够出来了,可是弄出来以后,只是说离线指标要好,可是离线指标好不表明你上线就可以获得商业上的增加。第二步就是咱们要作用户调查,咱们花钱雇一帮人来推这个系统,你用这个爽不爽之类的东西。你须要花钱雇人,这个才能帮你填这些调查表格,最后你用户调查,离线实验感受都很爽,你就能够放在线上作测试之类的。这固然是实验方法了。
关于在线评测的实验指标,一个是点击率一个是转化率。可是这两个率的定义,对不一样的网站是不同的。点击率比较容易定义,用户点的东西。可是对于转化率来讲,电商网站和视频网站的转化率就不同了。电商的转化率是定单,真正从这个用户这赚多少钱了。对于视频来讲的话,看你的影视模式,你靠放广告的话,就要让用户的观看时间变长就知道了。你们知道优酷,你多看一个视频就能够多看一个广告,你最终的光看时长越长的话,转换率就越高,还分为短时间的转化率和长期的转化率。
好比说咱们以前在实验中发现,美国的用户,我不知道中国用户有没有这种特色。他们平时不怎么看电影,周末会看电影。你平时给他积攒的电影他会积攒到周末看。若是记录了那一天的转化率的话,可能算不出转化,可是若是时间日后的话,会发如今必定时间内会转化的。
离线指标很是多了,这个指标多得让人以为你不知道以哪个目标做为优化为主。其中一个比较著名的是推荐的准确率,主要是描述了推荐系统预测一件事情的能力。好比说我推荐系统预测你明天会去买一双鞋,你明天真的去买一双鞋了,就叫作预测准确了。不少时候不能表明推荐系统的真实的能力,由于推荐系统,包括咱们设计不少离线算法预测正确的都是很是显而易见的事情,好比说我预测你明天会吃饭,明天太阳从东边升起。不少时间咱们所评测的准确率高的推荐系统,是由于他预测到了显而易见的事情,对于不显而易见的事情,不少系统没有预测准。
覆盖度呢,我前面说这个用户系统对内容和提供商来讲都是很重要的,好比说之前一千本书,你只把其中的十本推荐给了客户,另外的没有给客户推荐,那么你的覆盖率是1%。也就是说覆盖率描述了这个系统,是否能够把常规的系统推荐给用户的能力。
多样性是说用户看到的推荐结果是多样的,为何是多样的呢。你们以为这只是这个研究人员追求的指标,我以为应该多样就应该多样。其实不是这样的,由于用户的兴趣自己是多样的。而咱们推荐系统的能力,并不能知道用户在当时和当地须要什么东西。那么为了解决我不知道他在当时当地须要什么东西的问题,咱们最简单的解决方案,咱们把他可能喜欢的各类各样的东西都弄出来,让他本身选择一个,好比说这我的曾经喜欢这个刘德华的歌,也喜欢张学友的歌,今天这个客户来了,他可能也是想找刘德华,可是你并不知道他今天只是想找刘德华,因此你要使你的结果多样,使他可以更容易的击中他的兴趣。
新颖性和准确率有一点关系,不少的推荐系统只是把一些显而易见的东西预测出来了,因此新颖性是考量了把一些用户不知道的,好比说用户每天吃饭,今天也吃饭,这个没意义,若是客户每天吃饭,今天没吃饭你告诉他,这个会很新颖。
另外信任度呢,你们知道推荐这个东西和社交网络同样都是一个线下活动的线上表现。好比说现实生活中会交朋友,好比说赵本山的卖拐,会推荐一个拐给你,如何认为我要买这个拐呢,必须有一个信任度,一样一个东西,赵本山卖给你你可能会买,可是我卖给你你并不必定会买。个人推荐结果是同样的,可是你给用户的信任度不一样,会影响用户的最后决策。信任度的下一个是可解决性,主要是说提升推荐系统信任度的方法,是让你的结果能够解释,告诉用户为何推荐这个东西,用户不少时候知道这个缘由之后能够更好的相信你的结果,最后一个指标是你的系统能不能受到一些攻击,我这我的,我本身卖鞋的,我想把个人鞋每天弄到首页上,我攻击你的系统。你的系统在这种攻击下怎么样应对。
而后主要的方法有这么五种,有内容过滤,协同过滤,根据用户的行为进行郭彤,社会化过滤,上下文相关推荐。内容过滤最简单的,一个用户看过大话西游,无间道以后,看过色戒,还会看什么,最有可能看临歧的电影,这是由刘德华和梁朝伟和周星弛三人合演的,这是一个内容推荐的例子。
而后机遇用户协同过滤,给用户推荐他有类似兴趣的其余用户喜欢的物品。好比说我都知道看过金庸全集一之后会看金庸全集二,可是没有人知道喜欢啤酒的人会买尿布,这件事以前你们不知道。可是最后经过协同过滤挖掘数据之后才知道,社会化过滤,好比说在新浪微博上也有的,第一种给用户推荐好友喜欢的物品,第二种是给用户推荐好友。给用户推荐好友最典型的应用是像你们都要找工做,找工做人脉很重要,这个时候推荐好友和重要。
最后这个是上下文的推荐,这幅图表现什么事情呢,像你们都看过了希尔顿和他的朋友在家里面看电影,这个包含了不少上下文,第一个是在家里面看的,地点,第二个是和什么人看,和朋友,没有说时间,能够说是晚上看的,通常的PC确定放在家里面,因此在PC上放的时候,确定在同一个时间,同一个地方,同一个什么什么,通常不会和好友围着PC看,可是移动设备不同,能够变化的,能够经过GPS数据很容易拿到的,因此上下文决定了对推荐效果很大的影响。
最后说一下咱们前面提到了不少推荐算法,可是有一些很好,有一些在某种程度上好,可是怎么样才能让这些算法发挥最大的做用呢。咱们要把这个推荐算法融合一下,不只要融合算法,还要融合各类行为。咱们说推荐系统就是用户的行为了,用户的行为很是的。因此好的推荐算法,应该融合用户的各类各样的行为,利用各类各样不一样的算法给用户推荐一个结果。
我前面讲了不少,推荐系统也有不少挑战,好比说冷启动,优化目标,我前面那么多指标,哪一些指标更重要,还有异购的,多源的数据,各类各样的数据。最后是前面不少人提到了产品设计,和用户界面怎么作。
推荐系统和移动互联网来讲,个人经验并非特别多,我只是总结了一些移动互联网的特色。第一个是用户大部分的时候都是处于无聊的心态,大部分都是处于地铁上或者是电梯里看移动互联网,不多有人在工做的时候看,屏幕很小,不少人说过了。第三个是移动设备上输入文字很困难,你们以为Ipad和iphone很能够,可是要想在电视上输入一句话很难。用户通常是处在通常的明确上下文当中,用户的设备是各类各样的,好比说有安卓和iphone等等。最后是用户的数据比PC上更丰富,由于有各类各样的数据。个人演讲到这里,谢谢你们。
(本文为现场速记稿,不表明移动Labs及中国移动观点)