关注【搜狐技术产品】,第一时间获取技术干货
01简介
在推荐系统的排序环节中,我们经常使用CTR(Click-Through Rate)预估的方式来构建排序模型。在业界的实际应用上,如何通过大规模数据提取出有效特征对用户行为建模、泛化一直是研究人员的工作方向,由于在推荐系统的实际应用中,数据通常非常稀疏,如何从大规模的稀疏特征中提取出有效的泛化特征是CTR预估模型的一个重大挑战。本文我们首先介绍了CTR预估模型的演变历史,并介绍如何使用DNN在推荐系统的排序情景进行CTR预估,通过特殊的网路结构得到高效的泛化特征提高模型的预测能力。
02DNN在推荐系统中的应用
2.1 点击率预估模型
在新闻推荐系统中,想得到用户最可能点击的新闻,给定某用户及新闻的集合,通过提取特征我们可以得到三种特征:
- 用户特征(用户兴趣、年龄、性别等)
- 上下文特征(机型、网路等)
- 待预估新闻特征(类别、标签等)
我们需要计算出用户对待预估新闻的点击率,通过对预估点击率的降序排序得出用户最可能点击的前K个新闻。
最开始做点击率预估的模型为LR(Logistic Regression),将上述特征代入LR模型可以得到一个简单的点击率预估模型。然而,在推荐情景中,用户的行为是稀疏的,即一个用户能看到的新闻是有限的,如何从用户有限的浏览中推测出用户可能喜欢的新闻,就是推荐工作的重点,在这里使用LR如果只是简单的对上述特征进行建模,是无法得到特别好的效果的,原因是LR模型本身无法对特征进行泛化,它只能对某特征直接计算其相应的权重??,如果想使得LR具备泛化能力,则需要我们在数据端"手动泛化",例如:
将用户的兴趣与待估新闻的类别进行组合,得到一个interact特征,假如用户喜欢看科比相关的新闻,则待排新闻为体育类别的新闻应该比娱乐类别的新闻的值应该更高,因此我们能构造出特征用户喜欢科比且待排新闻为体育类
,并且通过业务理解,我们能知道这个特征一定比用户喜欢科比且待排新闻为娱乐类
在LR模型中得到的权重高。