做个性化推荐原因
从用户角度:根据用户特征过滤掉“无效”物品/信息,推荐符合用户口味的物品/信息,从而提升用户体验,进一步也增加用户点击率,为转化提供更多可能性。
从系统的角度:可以让更多长尾的物品/信息被曝光,从而更大效率的李良勇资源。
个性化算法的大前提
1、给物打标签
标签不只是简单的给物品/信息分类,而是代表着分发给不同的用户群体,比如运动、健身类视频就可以在标签中加上“球迷”“健身达人”等,有关动漫等二次元的内容,也可以加入些类似“宅男”“萝莉”等标签。
分类是树状的,是自上而下依次划分的。在分类体系里,每个节点都有严格的父子关系,在兄弟节点层都具有可以被完全枚举的属性值。
标签是网状的,更强调表达属性关系而非继承关系, 只有权重大小之分,不强调包含与被包含关系。这就使得相对于分类而言,标签的灵活性更强。 在权威性方面,标签是弱化的,每个用户都可参与进来,基于自己的偏好贴标签,从而借助规模效应实现对信息表意完备性的覆盖。因此,在设计系统时,可以先基于产品场景快速覆盖主要标签,再结合标签集合的使用频次、专家建议等因素逐步将部分入口收敛到树状的分类体系中来。
2、为用户打标签
通常一个用户的行为数据包括:用户给物品打上标签。
给用户提供标签的方法主要有:给用户推荐一个系统中最热门的标签;给用户推荐物品上最热门的标签;给用户推荐他自己经常使用的标签等。实际过程中,为了给用户精确的推荐,除了用户的行为数据外,还会收集用户基本信息、位置信息、搜索等信息简历完整的用户画像。
推荐算法原则
1、相似物的推荐
基于物的相似性推荐是基础的推荐策略。
(1)优点
只依赖物品本身的特征而不依赖用户的行为,让新的物品、冷僻的物品都能得到展示的机会。
(2)缺点
推荐质量的优劣完全依赖于特征构建的完备性,但特征构建本身是一项系统的工程,存在一定成本;
基于物品或信息属性推荐没有考虑用户对物品的态度,用户的品位和调性很难得到诠释和表达。比如,市面上关于内容分发的书籍很多,仅从标签词上很难分辨出高下。
2、基于用户行为协同过滤
主要思路为:第一步,找到那些与你在某一方面口味相似的人群;
第二步,将这一人群喜欢的东西推荐给你。
(1)基于用户的协同过滤(user CollaborationFilter-User CF)
首先,通过用户对内容/物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。下图给出了一个例子,对于用户 A,根据用户的历史偏好,这里只计算得到一个邻居—用户C,然后将用户C喜欢的物品D推荐给用户 A。
(2)基于物品的CF
基于物品的 CF 的原理和基于用户的 CF 类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。下图给出了一个例子,对于物品A,根据所有用户的历史偏好,喜欢物品 A的用户都喜欢物品C,得出物品A和物品C比较相似,而用户C喜欢物品A,那么可以推断出用户C可能也喜欢物品 C。