数据,模型,决策分享 http://blog.sciencenet.cn/u/郭崇慧 自强不息,厚德载物

博文

基于深度学习的推荐系统——“大数据与智能决策”讨论班

已有 943 次阅读 2019-11-26 08:28 |个人分类:科研笔记|系统分类:科研笔记| 推荐系统, 深度学习

推荐系统

互联网的出现和普及给用户带来了大量的数据和信息,满足了用户在大数据时代对信息的需求,但随着网络的迅速发展而带来的网上信息量的大幅增长,使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,这就是所谓的信息超载(Information Overload)问题。

解决信息超载问题的一个有效途径是个性化推荐系统(Recommender Systems)。推荐系统根据用户的信息需求、兴趣等,利用推荐算法将用户感兴趣的信息、产品等推荐给用户。和搜索引擎相比,推荐系统通过研究用户的兴趣偏好,进行个性化计算,由系统发现用户的兴趣点,从而引导用户发现自己的信息需求。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,让用户对推荐产生依赖。作为一种信息过滤系统,推荐系统具有主动性和个性化两个最显著的特性。

多数推荐系统的结构都是由线上和线下两部分组成。线下部分通过学习用户资料和行为日志建立模型,在新的上下文背景之下,计算相应的推荐内容,呈现于线上用户页面中。

image.png

图1  推荐系统的结构

目前,推荐系统已广泛应用于诸多领域,其中最典型的便是电子商务领域。ACM RecSys会议上最常提及的应用落地场景为:电子商务、在线视频、社交网络、在线音乐、互联网广告等,这些领域是推荐系统大展身手的舞台,也是近年来业界研究和应用推荐系统的重要实验场景。

基于深度神经网络的视频推荐

文献:Covington P, Adams J, Sargin E. Deep neural networks for YouTube recommendations[C] //Proceedings of the 10th ACM conference on recommender systems. ACM, 2016: 191-198.

论文主要介绍了YouTube使用深度神经网络进行视频推荐的相关工作。文章发表在2016年ACM RecSys会议上,是利用深度学习进行推荐这方面研究中比较经典的文章。

一、引言

在YouTube视频推荐场景中,存在的主要挑战有3个:

1、规模大。表现在用户和视频两个方面,首先YouTube宣称坐拥十亿用户,其次视频的存量巨大,是百万量级的视频,所以那种只能处理小规模数据的模型在YouTube推荐场景中是完全不能使用的。

2、更新快。一方面,视频更新速度快,YouTube上每秒具有小时级别的视频进行上传;另一方面,用户的实时行为切换很快。要求模型能够捕捉到这些更新的信息。

3、噪声。首先,用户的历史行为是存在噪声的,面对百万量级的视频,每个用户只对其中一小部分视频存在观看行为,所以用户观看的相关日志是高度稀疏的。再加上用户的行为会受到外界一些推荐系统察觉不到的因素影响,比如用户受诱导点击了一个视频,但这个视频不是用户关心的内容,用户并没有进行观看,如果我们把这次点击认为是用户喜欢此视频,就引入了噪声。其次,从视频本身来看,视频内容是非结构化的。这些都对模型的鲁棒性提出了很高的要求。

二、系统概述

针对以上挑战,YouTube使用了一个两阶段的推荐模型。

第一阶段是个深度召回模型,主要作用是从百万量级的视频里粗略筛选出几百个用户很可能感兴趣的视频,这一阶段对效率要求比较高,耗费较少的资源获得用户有很大可能喜欢的视频。在召回阶段,使用神经网络模型进行召回,实际上现在召回阶段大都使用多路召回,除了模型筛选出一部分视频外,可能还要根据视频的热度、具体业务需求等通过其他途径召回,多路召回的结果进入排序模型进行更细的排序筛选。

第二阶段是深度排序模型,对召回的结果进行更细致的筛选,这时相对召回阶段,排序阶段面临的数据量已经大大减少,所以可以引入更多视频相关以及用户相关的内容来进行内容的筛选,最后展示给用户十几条推荐内容。

 image.png 

图2  两阶段的推荐模型

三、召回模型

在召回模型部分,作者将推荐问题转化成一个多分类问题,其中视频库中的每一个视频各自对应着一种类别,推荐问题变为:在时刻t,给定用户以及上下文(观看记录、搜索记录等),预测用户接下来会观看哪一种类别的视频。如果我们能求得用户接下来看每种类别视频的概率,那么就可以按照概率,将概率大的视频筛选出来。所以召回模型训练阶段的样本如下:

输入:用户观看的视频记录+搜索记录等;标签:某个视频。

在构建训练样本的时候, 需要注意以下几点:

1)作者使用的是用户隐性反馈数据,就是那些没有明确地表示出用户喜恶,但可以从中推测用户喜恶的数据。比如,用户观看了某个视频,系统就认为用户喜欢这个视频,用户搜索了某个视频,系统就认为用户喜欢这个视频等,这类的用户反馈就是隐性反馈。相对于显性反馈数据(明显表示出喜恶,如点赞、差评、问卷调查到的内容等),隐性反馈数据量比较大,在深度学习这种需要大规模数据的情况下使用隐性反馈数据是很合适的。

2)在选择样本的时候,考虑的是整个YouTube上的用户日志(甚至用户在其他网站上的观看记录),而不是只考虑YouTube推荐系统的用户日志信息,这就能够更全面地捕捉用户偏好,而不是只受推荐结果诱导。

3)对每个用户提取等数量的训练样本,而不是使用原始用户日志,减少活跃用户对模型的过度影响。

4)作为标签的视频所处的时间点一定要在作为特征的视频的时间点之后, 传统的随机留一法没有考虑特征与标签的时间顺序,这点是不符合认知的。

5)用户有一种观看新视频的偏好,作者引入了“视频年龄”这个特征表示样本的新鲜度,这样模型就能够很好的表示视频上传之后随时间的点击率分布,从而捕捉到一些视频新鲜度的信息。

四、排序模型

虽然神经网络的优势是能够自动产生高维的特征表示,但一些特征还是需要人工设计之后才能较好地表示。在排序阶段,引入了更多特征来表示视频及用户与视频之间关系,比如一个视频属于某个频道,那么就构造一个特征表示“用户看了多少这个频道的视频”,如果视频属于某个主题,就可以构造一个特征表示“用户上一次观看这一主题的视频是什么时候”,甚至还考虑了视频曾经是否曝光给用户等信息。

在排序阶段,作者将排序问题转化为一个二分类问题,原意是用样本数据来预测用户会不会对某个视频进行点击,其中,用户观看了的视频作为正样本,用户没有观看的视频作为负样本。但作者考虑到用点击率来表示用户喜好具有较大的偏差,比如,误点击、骗点击等都不能表示用户对视频的喜好,所以作者通过预测用户对一个视频的预期观看时长来代表用户对视频的喜爱程度。  

为了能够使用逻辑回归预测视频预期观看时长,作者使用了加权逻辑回归,对于正样本,将其观看时间作为样本权重,对于负样本,权重为1。在训练阶段,标签仍然为0、1两类,但在线上使用阶段,输出即为视频的预期观看时长。

备注:2019年10月22日晚上,“糖果之家”相约星期二,“大数据与智能决策”讨论班(Seminar)继续开讲,本次讨论班以推荐系统为题,共讨论了一篇文献,由硕士生进行讲解,共有青年教师、博士后、博士生和硕士生16人参加。




http://blog.sciencenet.cn/blog-34250-1207588.html

上一篇:知识图谱与关系预测——“大数据与智能决策”讨论班
下一篇:决策理论、群决策与共识达成——“大数据与智能决策”讨论班

1 何培龙

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2020-1-20 03:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部