- ·上一篇文章:孙宇晨公开回应刘明指责:总有人选择负重前行,也有人选择切割撇清
- ·下一篇文章:东南亚应用&游戏Q1 TOP100下载榜之印尼
作为产品经理,不懂一点个性化推荐原理,怎么行?
原标题:作为产品经理,不懂一点个性化推荐原理,怎么行?在之前的文章《针对大众点评V10改版的一些看法》里面提到要想提高用户对内容的点击率,可以通过算法来实现个性化推荐。具体到实操阶段,虽然主要涉及到算法,但作为一名产品经理还是有必要了解的,为此我最近梳理出个性化推荐相关内容,不足之处,欢迎大家指正和讨论。1. 为何要做个性化推荐个性化推荐,一方面从用户角度,可以基于用户特征过滤掉“无效”物品/信息,推荐符合用户口味的物品/信息,从而提升用户体验,进一步也增加用户点击率,从而为转化提供更多的可能性;另一方面从系统的角度,也可以让更多长尾的物品/信息被曝光,从而最大效率的利用资源。如下图所示,可以看出好的个性化推荐比简单热门排序算法有更好的的有效信息覆盖度(图中斜线面积)。2. 推荐算法的前提——断物识人通常我们说物以类聚、人以群分,推荐算法也是基于用户喜好物品/信息的相似性和同类用户兴趣相同的原理来推荐,这里就涉及到人一物和人—人—物的关系,为了可量化人与物以及人与人的关系,我们需要做的就是给提炼出人和物的特征——即给人和物打上标签,通过标签抽象出事物更具有表意性、更为显著的特点,然后通过标签进行匹配。2.1 给物打上标签标签不只是简单的给物品/信息分类,而是代表着分发给不同的用户群体,比如运动、健身类视频就可以在标签中加上“球迷”“健身达人”等,有关动漫等二次元的内容,也可以加入些类似“宅男”“萝莉”等标签。这里补充一下标签和分类的区别,分类是树状的,是自上而下依次划分的。在分类体系里,每个节点都有严格的父子关系,在兄弟节点层都具有可以被完全枚举的属性值,如天猫的商品服务分类(下图)。应用分类时必须考虑分类权威性和信息完备性问题,避免因为子节点覆盖不全或分类错误导致的认知问题。标签是网状的,更强调表达属性关系而非继承关系, 只有权重大小之分,不强调包含与被包含关系。这就使得相对于分类而言,标签的灵活性更强。 在权威性方面,标签是弱化的,每个用户都可参与进来,基于自己的偏好贴标签,从而借助规模效应实现对信息表意完备性的覆盖。因此,在设计系统时,可以先基于产品场景快速覆盖主要标签,再结合标签集合的使用频次、专家建议等因素逐步将部分入口收敛到树状的分类体系中来。通过PGC和UGC可以获取物品/信息标签。例如人人都是产品经理上文章通过审核后,官方会在文章下面会打上相关标签。有的产品除给物品/信息打上标签之外,还会以分值代表这一标签的表征程度,如音乐推荐引擎潘多拉(Pandora)的音乐基因工程中,歌曲体系被抽离出450个标签,细化到如主唱性别、电吉他失真程度、背景和声类型等。每一首歌曲都会经由工作人员耗时二三十分钟,有选择性地标注一些标签,并以0~5的分值代表这一标签的表征程度。而在豆瓣,给电影的标签的是普通网友产出(如下图所示)。群体的力量为豆瓣积累了大量具有语义表意性的标签。当然,由于用户的多样性和编辑的开放性,用户标签系统需要经过特定的清洗和归一处理。2.2 给用户打上标签一个用户行为的数据集一般由一个三元组的集合表示,其中记录{u,i,b}表示用户u给物品i打上了标签b(当然实际中会包含用户属性、物品属性等,更为复杂)。给用户提供标签一般有4种方法 :除了用户行为数据外,还会收集用户基本信息、位置信息、搜索等信息建立完整的用户画像。3. 推荐算法原则——物以类聚、人以群分 3.1 物以类聚:基于物的相似性推荐基于物的相似性推荐是基础的推荐策略。如果你浏览或购买过某种类型的内容/物品,则基于类型或标签给你推荐其他内容/物品(如下图)。以内容推荐为例,其用于相似度计算的常见因素有:作者层面的相似性(基于订阅或偏好关系),内容层面的相似性(如关键词、话题、类目、标签等)。如果想要进一步细化,那么可以借助TF– IDF方式给不同的标签设定权重,其基本思想是一个标签在某内容中出现次数越多, 同时在所有内容中出现次数越少, 越能够代表该内容, 那么这个标签的权重应该较高,反之区分度就没有那么高,权重较低。以内容/物品属性来推荐:(1)优点只依赖物品本身的特征而不依赖用户的行为,让新的物品、冷僻的物品都能得到展示的机会。(2)缺点因此,为了在推荐中更好地引入受众反馈因素,提出了基于用户行为的“协同过滤”概念。3.2 人以群分:基于用户行为的协同过滤协同推荐是目前应用最为广泛的推荐机制,其基于用户行为的特点使我们不需要对内容/物品进行完整的标签化分析和建模,从而实现了领域无关,可以很好地发现用户的潜在兴趣偏好。考虑到协同过滤的方式依赖历史数据,新的用户和新的物品会存在冷启动的问题,该问题笔者会在后续文章中继续进行探索和梳理。基于用户的协同其基础思路分为两步:目前主要包括三个子类:基于用户( User- based)的协同、基于物品( Item- based)的协同、和基于模型( Model- based)的协同。(1)基于用户的 CF(User CF)基于用户的CF的基本思想相当简单,通过用户对内容/物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。下图给出了一个例子,对于用户 A,根据用户的历史偏好,这里只计算得到一个邻居—用户C,然后将用户C喜欢的物品D推荐给用户 A(如下图):① 发现偏好相同的用户通常用 Jaccard 公式或者余弦相似度计算两个用户之间的相似度。设 N(u) 为用户 u 喜欢的物品或信息集合,N(v) 为用户v喜欢的物品或信息集合,那么u和v的相似度为:假设目前共有4个用户:A、B、C、D;共有5篇物品或信息:a、b、c、d、e。用户与物品/信息的关系(用户喜欢物品/信息),如下图左边所示,为计算方便,通常首先需要建立“物品—用户”的倒排表(如下图中间所示),然后对于每个物品,喜欢他的用户,两两之间相同物品加1。例如喜欢物品 a 的用户有 A 和 B,那么在矩阵中他们两两加1(如下图右边所示)。计算用户两两之间的相似度,上面的矩阵仅仅代表的是公式的分子部分。以余弦相似度为例(如下图),到此,计算用户相似度就大功告成,可以很直观的找到与目标用户兴趣较相似的用户。② 推荐物品首先需要从矩阵中找出与目标用户u最相似的K个用户,用集合S(u, K) 表示,将S中用户喜欢
作为产品经理,不懂一点个性化推荐原理,怎么行?