“猜你喜欢”是怎么产生的?
2016/9/8 人人都是产品经理

    

     在百度百科大致介绍了推荐算法,这是一个很有意思的人工智能(artificial intelligence)。想想看,计算机能够根据大数据较为精确地了解人们的喜好、预测可能的结果,那如果输入人类的表情、内心与行为方式给机器人,它是不是也就能像人一样进行思考和对话呢?

     目前的科技已部分地完成了这种可能。下面想介绍下小编个人对推荐算法的浅薄之见,也是一个深入学习、认真思考的开篇。

     推荐算法的Base可以分三类:用户性质、对象性质、用户与对象的交互过程。用网上的话来说,就是以人为本、以物为本和协同过滤(我喜欢称之为“联动”)。这三类算法并不会孤立存在,一般会交错切换或者加权共生,意思就是会综合起来使用或者在不同场景使用不同方法。我把它们单一的存在,称为“一度推荐”;综合在一起时,称为“二度推荐”。

     一度推荐

     首先说说“一度推荐”。

     ▍基于用户性质的推荐

     第一类叫基于用户性质的推荐,可以说是用户与用户的交互过程。具体来说,就是根据用户的label、喜好等个性来建立一个“同好会”。

     同好会也有分层,低层的只对应一个关键字词(tag),高层的会对应多个tag,故每个用户会有N个同好会,越高层联系越紧密。在推荐的时候,根据分层高低来进行前后排序。说白了,高层产生于低层,低层只是质变之前的量变,可以不作他用。

     ▍基于对象性质的推荐

     第二类叫基于对象性质的推荐,可以说是对象与对象的交互过程,根据对象(产品/内容)的本身相似度进行同类推荐。这就包括作用、场景、品牌、价格、目标用户、label等tag,在用户搜索浏览某些tag时,系统会据此来进行相应推荐,推荐排序可以是以加权算法计算的相似度高低。

     例如,A与B-Z均有关联,但要做推荐,那么简化版的计算公式为相似度=tag1*权重1+tag2*权重2+...+tagN*权重N,所得结果按高低排序。

     ▍用户与对象的交互过程

     第三类叫用户与对象的交互过程,根据用户显式或隐式的行为,比如搜索、浏览、关注、收藏、分享、下载、评价等加强的行为,或者取关、删除、拉黑、秒关等减弱的行为,还有关系传递(同类用户也看过B、买物品A的人80%的也买了B)。

     其中,根据用户不同的行为及展现出的喜好的强弱,进行权重的加减。另外我想到的用户二次行为,也要加入到运算中,比如推荐后主动浏览、多次浏览等。

     除了这些用户行为,系统也可以进行预测型行为来进一步提高推荐准确度,比如消息推送后点开链接、“换一组”的tag等。此类算法有几个经典的,例如余弦相似度、泊松相关系数等,稍后会一一说明。

     推荐算法

     这里有几种最主要的推荐算法供大家了解,因为小编数学一般,不能很深入了解,故写得较简略。

     一,余弦相似度和修正余弦相似度

     公式如下(截图来自百度百科):

    

     将向量根据坐标值,绘制到向量空间中,求得他们的夹角,并得出夹角对应的余弦值。余弦值的范围在[-1,1]之间,值越趋近于1,代表夹角越小,两个向量的方向越一致,相似度也越高。

     修正余弦相似度是为了加入取关、删除、低评价等影响相似度的用户反向行为,也算是对余弦相似度缺点的修正

     二,潜在因子(Latent Factor)算法

     用户-潜在因子矩阵Q(用户多个tag的关注喜爱度)和对象-潜在因子矩阵P(对象多个tag的关联包含度),用矩阵表示即为:R=QP,也是值高者胜(本算法整理自知乎上的回答@nick lee)。

     三,Pearson相关系数

     是用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系,公式如下:

    

     通常情况下通过以下取值范围判断变量的相关强度:

     0.8-1.0 极强相关

     0.6-0.8 强相关

     0.4-0.6 中等程度相关

     0.2-0.4 弱相关

     0.0-0.2 极弱相关或无相关

     此外,还有一种我觉得特别有意思的推荐算法,可称之为互动的生态圈型,也就是UGC和官网的联动推荐。

     目前算法主要是官方来主导的,基于其背后的大数据系统,但用户参与很少,基于用户的social性质,这种生态圈型的算法会成为一种趋势,用户可以自行建立电台、社区等个性化“文件夹”,进行用户之间的相互推荐,特别适用于电商、娱乐型产品,淘宝的社区、微淘都具有此类属性。

     具体的方式可以是基于用户之间的关联,推荐同类用户的个人“文件夹”;基于对象之间的关联,推荐含有相同tag的个人“文件夹”,鼓励和引导用户贡献内容,加强社交属性,增强用户归属感和成就感,增加用户黏性,这种知乎就做得很好,虽然不至于主动推荐,但专为用户开放一个入口,可以接触到可能感兴趣的他人“文件夹”。

     出现的疑问一:如何避免推荐的单一化?

     解决方式可以是推荐用户没有加强或减弱行为下的tag,进行热门推荐、换一组形式的tag。在推荐比例上,遵循推荐数量为强关联:中等关联:弱关联=4:2:1,。

     出现的疑问二:如何解决用户冷启动的问题?

     解决方式可以是排行榜、热门推荐等,也可以在最初让用户选择tag和拒绝部分tag,进行初步推荐,在后续用户行为增加后再进行精细化推荐。

     以上是从个人兴趣点出发,仅为拙见。

     作者:小乔,公众号:乱入花间化绿叶。产品小白一枚,希望通过这种每周一次深入思考总结的方式,促进自己的成长,走出从0到1到无穷的产品之路

     本文由 @小乔 原创发布于人人都是产品经理。未经许可,禁止转载。

    

     ↓↓↓ 点击"阅读原文" 下载APP

    http://weixin.100md.com
返回 人人都是产品经理 返回首页 返回百拇医药