本文是一篇计算机论文,笔者认为推荐系统在缓解信息过载方面发挥着重要作用,并已经广泛应用于各种在线服务,例如电子商务、音乐和电影。特别地,序列推荐是一项具有挑战性的任务,其目的是预测用户在给定历史行为的情况下可能与之交互的潜在项目,旨在基于用户的历史行为来模拟用户偏好的演变。
1绪论
1.1研究背景和意义
推荐系统(Recommender System)是信息处理系统(Information Processing System)的子领域,旨在预测用户对项目(比如音乐、书籍、电影等)或社交元素(如人或组)的“评分”或者“偏好”[1]。随着信息科技的高速发展,人们每天都会浏览大量的信息,获取信息也越来越方便,推荐系统可以向用户提供可能感兴趣的有关项目的建议,也就是说,它可以在用户进行决策的过程中产生很多意见,使得用户更有可能访问其感兴趣的商品或者服务,例如电影、书籍、音乐、食物、酒店和餐馆等。也催生出了如线上购物、线上听歌、线上刷短视频等线上服务系统,据不完全统计,亚马逊平台在2017年就已经拥有超过3.1亿的活跃用户和1200万种商品;社交平台Facebook在2019年也拥有超过24亿的月活跃用户;Youtube在2019年的月活用户达到了20亿;这使得互联网产生的数据呈现出指数级别的增长的趋势。再比如国内人民在手机淘宝中浏览商品、在网易云音乐中听歌曲、在抖音和快手APP上刷短视频等,这些都引发了信息的过载,信息的过载使得人们在信息处理方面面临着很大的挑战,用户很难在存在着大量信息的互联网中找到自己真正感兴趣的内容。而推荐系统在处理信息过载方面发挥着至关重要的作用,现如今,它已广泛应用于各种在线服务,例如电子商务、音乐和电影网站等,以表征用户的兴趣[2-4],其整体架构如下图1.1所示。
1.2国内外研究现状及分析
推荐系统最早出现在1990年哥伦比亚大学的Jussi Kargern写的一篇科技报告中,他在电子书架中加入推荐功能[9]。后来,亚马逊公开了基于协同过滤的推荐方法,这使得它真正得到了学术界以及工业界的关注[10]。现在的推荐系统通常可以划分为三类[5-6],基于协同过滤的推荐方法、基于内容的推荐方法和混合推荐方法。基于协同过滤的推荐方法常被应用于淘宝、拼多多、亚马逊等电商网站中,它主要通过衡量用户与用户之间的相似度以及商品和商品之间的相似度,来为用户推荐物品[10-11]。它又可以分为基于用户的协同过滤(User-based CF)和基于物品的协同过滤(Item-based CF),前者主要挖掘用户之间的相似性,它的主要做法是,对于某个特定用户来说,挖掘与该用户兴趣相似的用户群体,并将该群体中用户感兴趣的物品推荐给该指定用户,简单来说就是向用户推荐和他具有共同兴趣爱好的用户喜欢的商品,这种推荐方法通常被用于具有社会属性的场景中,比如新闻推荐场景。后者主要是根据用户以往选择过的物品,计算物品之间的相似性,从而向用户推荐与用户之间选择过物品相似的物品。这种方法适合用在物品数量显著少于商品数量,且用户社会化属性不强,而商品属性较强的推荐场景中,比如图书、电子商务以及电影网站中,在这些推荐场景中,可以利用用户的历史行为向用户做出解释,比较容易获得用户的信服。而基于内容的推荐方法主则是利用用户的描述信息、物品的描述信息以及用户对物品的操作行为来构建推荐模型[12-14]。用户的描述信息包括用户ID信息、用户年龄、用户性别、用户喜好、用户职业等,物品的描述信息包括物品ID、物品类别、用户评论,人工标注信息等,用户对物品的操作行为包括评论、收藏、点赞,点击以及购买等。因为基于内容的推荐系统大多是根据用户和商品的属性进行推荐,所以几乎不存在商品的冷启动问题,但是这种方法需要对描述信息进行透彻的分析,而且主要基于静态内容进行推荐,推荐的商品很难给用户带来惊喜。
2相关工作
2.1传统推荐模型
推荐系统作为一种广泛使用的技术,主要集中于根据用户的历史行为(如评论、点击、购买)来揭示用户和物品之间的兼容性。为了解决这些具有挑战性的问题,早期的研究提出了许多基于协同过滤(Collaborative Filtering,CF)[42-43]的算法来对用户的意图进行建模,它主要是根据用户的历史行为数据对用户的兴趣进行挖掘,并向用户推荐他们可能喜欢的商品。根据推荐方式的不同将这些推荐方法划分为基于用户的协同过滤(User-based CF)和基于物品的协同过滤(Item-based CF),前者可以挖掘出用户之间兴趣的相似性,它的主要做法是,对于某个特定用户来说,挖掘与该用户兴趣相似的用户群体,并将该群体中用户感兴趣的物品推荐给该指定用户,简单来说就是向用户推荐和他具有共同兴趣爱好的用户喜欢的商品,这种推荐方法通常被用于具有社会属性的场景中,比如新闻推荐场景。基于物品的协同过滤方法主要是根据用户以往选择过的物品,通过计算物品与物品之间的相似性,来向用户推荐与用户之间选择过物品相似的物品。这种方法适合用在物品数量显著少于商品数量,并且用户社会化属性不强,而商品属性较强的推荐场景中,比如图书网站、电子商务以及电影网站中,在这些推荐场景中,可以利用用户的历史行为向用户做推荐解释,比较容易获得用户的信服,协同过滤方式原理如图2.1所示。根据推荐模式,它又可以分为基于用户的协同过滤和基于物品的协同过滤。根据用户建模策略大致可以分为两类。第一种,基于矩阵分解(Matrix Factorization,MF)[20,44]的方法,是最流行的一种,它进行显式用户建模。它将用户和项目的表示投影到共享向量空间中,并通过嵌入之间的内积来衡量用户对特定项目的偏好。最初基于矩阵分解的方法起源于基于奇异值分解(Singular Value Decomposition,SVD)的方法,简单来说,就是将一个大矩阵分解为两个小矩阵的乘积,迁移到推荐算法来说就是分别用两个隐向量来表达用户和物品。这两个隐向量蕴含了用户和物品深层的交互信息,因此矩阵分解的方法融合了向量隐含语义和基于机器学习方法的优势,可以挖掘用户和物品之间更深层次的语义信息,因此这种方法会使得模型预测的精度有所提高。而且它还具有易于扩展的特性,比如SVD++[45]、TimeSVD[46]等都是扩展的版本。
2.2序列推荐模型
大部分早期的作品使用马尔可夫链(Markov Chains,MC)来解决顺序推荐问题[24]。例如,[52]采用马尔可夫决策过程(Markov Decision Processes,MDP)来解决顺序优化问题,它考虑了每个推荐项目的长期影响,并且考虑了它的预估值,它将N-gram模型引入基于用户行为的马尔可夫链模型,相比于之前的模型,取得了更好的推荐效果。Factorized Personalized MC(FPMC)将矩阵分解(Matrix Factorization,MF)模型和马尔可夫链(Markov Chain,MC)模型结合在一起,以同时学习一般兴趣和顺序行为转换。基于矩阵分解的模型主要通过矩阵中用户的已知偏好,来预测剩下的未知偏好,主要包括SVD分解模型、隐向量表达模型和基于学习或者优化的模型等,它主要用于建模个性化的推荐场景。基于马尔可夫链的模型主要对用户和项目的顺序交互行为进行建模,它主要基于转移矩阵,根据用户在上一时刻的行为来对用户未来的行为进行预测,它主要用于建模顺序推荐场景。因此FPMC模型结合了基于矩阵分解模型和基于马尔可夫链模型的优势,也就是说它可以结合个性化和序列两方面的信息。相比于基于马尔可夫链的模型,FPMC方法解决了数据稀疏的问题。相比于基于矩阵分解的方法,FPMC方法在稀疏数据上表现更好。因此,无论是在数据稠密还是稀疏的情况下,FPMC效果都更好。后来为了得到高阶特征,在这个领域引入了一些深度学习模型[28,53]。基于RNN的方法是最常见的策略,例如[21,54-55]和[23]。它们的基本思想是将用户之前的行为序列编码为下一个时间步的代表向量。其中GRU4rec[21]是一个典型的基于RNN的序列推荐模型,它基于GRU的方法来进行序列推荐,它的核心思想是在一个会话中,将用户点击的一系列项目看作是一个行为序列,并且将其作为训练集来训练RNN模型,而在测试阶段,将已有的点击序列作为模型的输入,并且来以此来预测下一个可能点击的项目。它首次将RNN模型应用于序列推荐领域,相比于传统的KNN模型以及矩阵分解模型,效果有显著提升。
3渐进式采样的序列推荐模型设计...............................18
3.1本章引言.....................................18
3.2模型介绍..........................................21
4实验验证......................................31
4.1数据集介绍..............................31
4.2评价指标.............................................32
5应用-网易云音乐中的主播推荐....................................47
5.1相关背景.........................................47
5.2相关技术介绍.........................................48
5应用-网易云音乐中的主播推荐
5.1相关背景
为了验证上文中所提出的推荐算法即DAPS-Rec模型在实际推荐场景中的有效性,将提出的DAPS-Rec模型应用在网易云音乐APP中的LOOK直播场景中进行直播主播的推荐。在下面的部分中,将对该直播推荐系统的背景、实现功能、模型架构、实现细节以及上线推荐效果等进行详细介绍,从而对模型的应用场景有更加深入的了解。在如今信息爆炸的大数据时代背景下,推荐系统可以帮助人们从大量的数据中筛选出有用的信息,因此,推荐系统的地位在人们的生活中也变得愈发明显,在广告系统、社交媒体、音乐系统中都发挥着不可或缺的重要作用。网易云音乐(NetEase CloudMusic)是一款音乐产品,由网易开发,以歌单、社交、地理位置等为核心要素,在公共的音乐社区中进行分享和发现。而在网易云音乐APP中,推荐系统更是发挥着举足轻重的作用,LOOK直播是网易云音乐旗下的直播产品,内容主要围绕着音乐人演唱表演、乐器演奏、声乐教学等,为音乐人提供更加专业的成长路径,并且为乐迷提供更加纯粹的交流平台。
LOOK直播中的首页直播场景是网易云音乐APP中除歌曲播放页场景之外最大的直播推荐场景。目前首页直播推荐的有效观看人数占云音乐直播整体有效观看的15%以上,但是目前首页直播推荐场景中存在着个性化不足,过度依赖主播自身能力,导致直播的马太效应严重等问题。因此,尝试从用户历史序列入手,进而对用户的兴趣进行精确刻画,实现直播场景中的“千人千面”,为每个用户定制化其可能感兴趣的直播内容。简单概括来说就是,希望通过从用户历史点击序列当中捕获用户的兴趣,从而针对每个用户的独特兴趣来为其进行个性化定制化的推荐,提高用户有效点击率,图5.1展示了整个LOOK直播域推荐系统的主要流程。也就是说,首先在网易云音乐APP场景中进行直播主播曝光,若用户对某一直播间感兴趣,便会发生点击行为,进入直播间。然后进行送礼、关注、或划出等行为,若用户在直播间中所待时长大于等于10秒,则定义该行为是一次有效观看,即发生了有效观看,也就是转化行为。
6总结与展望
6.1论文总结
在本篇论文中,为序列推荐任务提出了一种新的基于可变形注意力的架构。它利用新颖的可变形注意力机制对序列中的时间动态进行建模,其中每个query的交互项以数据依赖的方式进行选择。详细地讲,就是,之前使用的Self-attention机制在序列推荐领域显示出优越的性能,它建立所有item之间的稠密交互,来捕获全局感受野,但是像这样盲目的扩大感受野可能会带来一些问题,比如query有可能会受到user不真实兴趣的影响,比如一些随意的点击和不相关的点击,而且这样的稠密交互也可能会造成计算复杂度的增加。为了解决这些问题,设计了渐进的Deformable Attention机制,它可以对key-value的pairs进行选取,来给每一个query建立一个稀疏注意力机制。此外,为了更好地定位query的交互token,进一步提出了渐进式采样策略。的架构以更高的灵活性和效率增强了原始的基于Transformer的序列推荐模型的效果,以捕获更多信息特征并消除噪声相关性。这种灵活的机制就可以让query与更加相关的项目进行交互。并且,他通过直接减少交互项目的个数来直接降低计算复杂度和学习难度。DAPS-Rec模型主要分为特征流和位置流,特征流是先经过一个Embedding Layer,得到序列的潜特征向量,再经过L个DAPS模块,将其他位置上的特征聚集到当前位置上,最后到达预测层进行结果输出,这部分与原始的基于self-attention的序列推荐模型的整体数据流相似,而主要创新在于位置流。位置流的作用主要是为了帮助特征流进行需要交互特征的筛选,在位置流中,为了稳定网络的训练,先根据序列的有效长度范围均匀也就是等间隔的撒了K个点作为初始采样点。这部分与特征无关,仅仅与输入序列的长度有关。接着进入采样网络,它的主要作用是输出第一层的采样点,就是他会为每个query学习一组偏移量,这个偏移量就是通过Offset网络来学习的,这个网络的作用是为每个query选取的采样点生成偏移量,这个Offset小网络是通过反向传播学习的,位置就是采样点的位置,一开始是均匀分布的。然后用这个网络去生成每一个采样点的移动距离,从而得到一个短的位置序列。
参考文献(略)