最近在看像亮的《推荐系统实践》,看到推荐系统评测指标这里,就突然想从自己常用的产品(主要是手机淘宝)里找一些实际的例子来加深自己的理解。当然,我不是阿里的员工,没有接触过这些推荐系统,只是根据经验猜测,说的不一定准确。
作者提到的评测指标有:用户满意度、预测准确度、覆盖率、多样性、新颖度、惊喜度、信任度、实时性、健壮性、商业目标。
(1)用户满意度
用户满意度是让用户去评判推荐系统的一种方法,最简单直白的方式是在推荐结果处加一个调差问卷,问用户对推荐结果是否满意。当然,实际的设计还是会设计得巧妙一些。比如手机淘宝首页的下方有一个“猜你喜欢”模块,这里向用户推荐了许多商品,长按一个商品的图片,会出现一个“垃圾箱”的操作按钮,如果用户对这个商品的推荐不满意,可以直接点击删除。
(2)预测准确度
预测准确度,文中举的例子是让用户给推荐结果打分。最典型的应该是百度文库的打分功能了吧,通过统计用户对文档的打分,来判断一份文档的质量。
不过,我认为预测准确度应该是与商业目标结合的,这个有更多的评价方式,比如看点击率、转化率等等。就比如手机淘宝有一个“有好货”模块,用户可以对每个商品进行点赞。被用户点赞的商品,相对来说,预测准确的概率更高。
(3)覆盖率
覆盖率是推荐系统对物品长尾发掘能力的一个评价指标,是推荐系统能推荐的物品占总物品集合的比例。是否采用这个指标应该算是“马太效应”和“长尾理论”之间的博弈。推荐爆款通常是最保险的推荐方式,但是新品曝光也非常重要。比如,淘宝对商品进行搜索排序时,有一个规则是,以7天为周期上下架,越接近下架时间的商品排名越靠前。这个规则很好地照顾了新入驻的卖家的利益,也解决了新品曝光的问题。
在信息论和经济学中有两个著名指标可以用来定义覆盖率,信息熵和基尼指数。
(4)多样性
多样性是指向用户提供多种不同产品的推荐。我认为,当用户数据较少,或其历史数据的特征繁杂时,可以尝试使用多样性的推荐,来提高命中率。比如我会在一个时间段浏览不同的商品,“有好货”模块的推荐系统拿捏不准我会买哪种商品,或者说它认为哪一种我都想买,就会给我推荐多种品类的商品,如下图所示。
(5)新颖度
新颖指的是给用户推荐他们没有听说过的产品。最简单的方法是,把用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。比如,某大型外贸网站的“You may also like”模块,就会剔除当天已经向该用户推荐过的商品。但是仅仅靠这样处理,能做到的新颖度也是非常有限的。
一般来说,热门度越低的商品越可能让用户觉得新颖。如果推荐商品的平均热门度越低,推荐结果的新颖度就可能更高。但是这样往往会牺牲精确度,个人认为,在电商行业使用这个指标来评价推荐结果,风险较高。
(6)惊喜度
惊喜性是指推荐的商品与用户以往喜欢的商品不相似,但是用户却觉得很满意。比如一个用户以往在网站搜索的都是衣服,突然给她推荐了一款项链,用户觉得非常喜欢。不过这个指标目前还无法定量衡量,而且我这个资深网购达人,目前也还没有哪个电商网站的推荐系统让我感受到过惊喜(⊙o⊙)。
(7)信任度
信任度即让用户对推荐系统产生信任,增加与推荐系统的交互,产生购买欲。提高信任度主要有两种方法,一种是增加推荐系统的透明度,让用户了解其工作机制,以淘宝手机店铺为例,页面下方有一个“买了还买”的模块,推荐的是购买当前浏览商品的用户还购买了其他什么商品;另一种是考虑用户的社交网络信息,比如好友推荐。对于信任度的研究,主要集中在评论网站Epinion的推荐系统上。
Epinion:如果用户A信任用户B的评论,就给用户A推荐用户B评论过的商品。
(8)实时性
实时性包括两个方面,一个是向用户实时推荐更新的列表以满足用户新的行为需求,比如手机淘宝付款成功页的商品推荐,应该是比较实时的;另一个是能够将新加入系统的物品推荐给用户,比如手机淘宝的每日首发页面。
(9)健壮性
健壮性是指推荐系统的抗攻击能力,评测方法主要是模拟攻击。在电商行业,平台卖家会为了自己商品的排名去作弊,竞争对手会恶意破坏。比如,手机淘宝的搜索排名会考虑一件商品的好评率,好评率越高排名越靠前,那么该商品卖家就可能通过刷单刷好评的方式提高排名,竞争对手也可能恶意差评去拉低对方商品的排名。
(10)商业目标
任何推荐系统的目标最终都要回归到商业目标。对电商来说,最直接的表现就是销售额,细化的指标还有点击率、转化率、销量增长率等等。
附录:部分推荐系统评测指标的量化公式