当前位置:主页 > 财经 >

【深度解密】今日头条个性化资讯推荐技术(3)

发布时间: 2017-12-03 04:07 来源:网络整理

方法主要建模用户对当前某类新闻的感兴趣的程度,这取决于两个方面:用户对这类新闻的兴趣度以及当前某类新闻的热度。通过贝叶斯理论,这两个方面可以直接用如下公式联系在一起:

其中分子左半部分

表示用户当前对某类新闻感兴趣的概率,它是通过最近不同时间段用户对某类新闻感兴趣的程度来汇总计算,而用户某个时间段内对一类新闻感兴趣的程度则通过下式计算。

这个公式粗看起来比较复杂,实际含义其实很简单,可以理解为简单统计下某类新闻阅读量占用户该时间段内所有新闻阅读量的比例即可。而分子右半部分

表示当前本地区某类新闻的热度(这类新闻被该地区点击的概率),实际也是统计一下短时间内对这类新闻的用户点击占比得到的。

总体来看,该算法是非常简洁自然的,它针对CF遗留的问题进行了很好的解决:1)引入新闻类别解决了新新闻的冷启动;2)引入用户兴趣解决了个性化和推荐精确度的问题。但新用户冷启动还有优化的空间,因为按照这个方法,同一地区不同新用户推荐的都是该地区最热门的内容。

● Yahoo Today

Yahoo Today团队2009年在WWW上发表 《Personalized Recommendation on Dynamic Content Using Predictive Bilinear Models》,重点解决资讯推荐里的冷启动问题。不同于上一篇google news的做法,这篇文章试图同时解决新用户和新资讯的冷启动。本文的基本假设:用户画像能刻画用户的阅读兴趣,新闻的画像也可以表示新闻的点击率,而用户喜欢一条新闻的程度则取决于静态预测和动态预测两个方面,都是用feature-based learning方法来建模用户对资讯感兴趣的程度。具体来讲,用户xi对资讯zj的兴趣得分如下计算。

所谓的 bilinear model 的含义当你隐去一个自变量时,另一个自变量和因变量成线性关系。比如下式不考虑z时,s和x成线性关系;不考虑x时,s和z也成线性关系。进一步如果将用户和资讯的特征分为静态和动态两大类,则上式可写为:

最后一个等式后面的第一项是静态预测得分,第二项则是动态预测的得分。

所以当一个新的用户到来时,第二项的特征是没有,相当于仅用用户的画像等静态特征来解决新用户的预测问题。当一个新资讯时,也是同样的道理。静态特征如搜集到的用户的年龄、性别、地域等基础属性,以及从其他途径获取的如在相似产品上的行为、其他场景上的历史信息等,还有资讯的类目、主题等。而动态特征如用户在Yahoo Today上的各种阅读、点击、评分以及加工出来的某条资讯、某类资讯分时间段的各种统计值等。有了预测分s,和真实的label (比如用户是否点击一个资讯r(i,j))做个比较就能得到机器学习训练时的反馈信息。本文优化目标是基于贝叶斯理论推导出来的最大化后验概率(maximum-a-posteriori, MAP),而优化方法则采用熟知的梯度下降法(gradient-descent, GD)。

2010年,Yahoo又发表了一篇更加有效解决冷启动的文章《A Contextual-Bandit Approach to Personalized News Article Recommendation》。这篇文章基于传统的Explore-Exploit(EE)套路,大家可能比较熟悉的是为新item随机一部分流量让其曝光,得到一些反馈,然后模型才能对其有较好的建模能力,这是最na?ve的EE策略。

稍微高大上一点的做法则是upper confidence bound(UCB)策略: 假设有K个新item没有任何先验,每个item的回报也完全不知道。每个item的回报均值都有个置信区间,而随着试验次数增加,置信区间会变窄,对应的是最大置信边界向均值靠拢。如果每次投放时,我们选择置信区间上限最大的那个,则就是UCB策略。这个策略的原理也很好理解,说白了就是实现了两种期望的效果:

1.均值差不多时,每次优先给统计不那么充分的资讯多些曝光;

2.均值有差异时,优先出效果好的。





搜索