HI,下午好,新媒易不收取任何费用,公益非盈利机构
24小时服务热线: 4000-162-306
请扫码咨询

新媒易动态

NEWS CENTER

基于内容的推荐:核心思想是根据推荐物品或内容的元数据

2020-03-24

可能很多和笔者一样非数据或算法科班出身的产品同学在涉及到需要进行内容推荐的产品时无从下手,尽管在网络上可搜索到各种算法的基本原理和公式,但或过于专业或直接呈现最终逻辑,但具体怎么做还是一头雾水,笔者抛开理论和复杂的公式,直接从产品出发设计一套最小可行性从0到1的推荐算法能力

什么是基于内容的推荐算法

基于内容的推荐:核心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。


简单地理解就是:根据用户过去喜欢的内容,为用户推荐和他过去喜欢的内容相似的内容。

二、算法整体架构说明

1. 明确算法目的

我们在最开始做推荐算法时,要清楚初始阶段目的:即在保证内容质量的前提下根据用户行为推荐尽可能符合用户期望的丰富内容。

这句话虽然很短,但包含了三个很重要的关键词:内容的质量、内容丰富(多元)度和符合预期。

2. 推荐算法整体逻辑

基于推算的场景,我们很容易发现推荐逻辑:用户在线进行操作行为时,系统向后台发起用户数据召回请求,然后根据排序模型形成最终用户看见的内容,最后通过用户的请求和记录完善用户行为,以进行后续的内容匹配。常见的推算下图:


图片虽然看起有点复杂,抽丝剥茧就三个核心:一套内容管理后台+多个权重算法+展示逻辑。

3. 推荐算法产品框架

基于算法逻辑和最小可行性目的,我们可以整理出简单的产品框架,如下图:


很明显算法推荐公式可以不用立马就建立一套复杂的算法模型,只要有基础的用户管理、内容管理能力,结合内容质量权重和用户喜好权重,考虑到去中心化和时效应影响,就可完成在保证内容质量的前提下根据用户行为推荐尽可能符合用户期望的丰富内容。

三、具体算法权重设计

1. 质量管理评分公式

质量评分总得分Score由三大模块得分加权计算得出,其公式如下所示:

(系数可根据业务情况自行调整,起始分为100)

其中A、B、C为三大模块各自得分值。Score得分为三大模块得分乘以各自对应系数。

各模块得分由其多项评分指标及对应系数加权计算得到,此处以A模块为例:


其中为A模块下对应的各项指标得分, 为各项指标得分所对应的权重系数。

A-内容流量模块评分

内容流量为是内容对流量的吸引能力体现,初始化的产品建议的核心热度加权:停留时间(退出率)>评论量>点赞量>收藏量>PV/UV>转发量。下表为案例:


B-内容质量模块评分

主要根据后台内容的状态进行评断,在机审能力未完全搭建以前,本模块受到人工影响较大。


附:评分公式

目前对于内容推荐型的评分算法,推荐贝叶斯平均评分法作。其公式如下:


其中,n为当前内容的评分次数,M为总内容平均得分,S为单个内容总得分,C为动态系数。

单个内容评分得分 = (总内容的平均得分 * C系数) + 单个产品的评分总和) / (当前内容的评分次数+ C系数)

C系数为每个内容的被评分的平均次数,即C=所有内容被评论的总次数/所有内容数量。例如:总共有1000个文章 一共被评论了50000次,那C就等于50000/1000=50。

小例:


(贝叶斯平均法评估示例)

结论:以贝叶斯平均为依据的排序更能反应真实的情况,打分次数多且评分较高的产品会更加靠前,打分次数多评分较低的产品则会更加靠后,与单纯依据每个产品的平均分排序相比,这种结果更有意义。

C-用户质量模块评分

用户质量根据后台人工标识用户属性加上其发帖质量2个维度构成。


2. 用户喜好评分公式

用户行为记录是获取用户相关推荐的主要依据,初期是根据用户关注、浏览喜好以及用户搜索关键词对用户喜好进行统计,基本的逻辑如下:


喜好评分=浏览喜好分类*0.6+关注人内容*0.4 +搜素内容分类*0.0

(系数可根据业务情况自行调整,起始分为100)


举例说明:

(1)通过用户的浏览记录,获得用户的喜好标签


那么对于同一分类下的内容按照公式增加喜好值。

(2)获取用户的关注用户,获得喜好标签


那么对于关注用户下的内容按照公式增加喜好值。

(3)如果内容1属于分类A,并且是用户D创建的,这个内容对于用户来说就是两个权重值相加  =查看内容分类*0.6+关注人内容*0.4

四、前端展示权重设计

通过质量评分和用户喜好评分,我们能得到以内容为主。针对不同用户的内容质量和喜好评分值,那么就可以得到一个简单的推荐逻辑(推荐列表):按照用户喜好评分推荐质量评分较高的内容,若得分相同则按内容创建时间倒序排列进行推荐。

但在实际推荐中除了保证用户喜好外,需

相关推荐