OneRec系列之知识图谱增强的腾讯视频推荐算法
导读 推荐系统中的用户冷启动和物品冷启动问题一直是业界和学术界的重要研究方向,但是由于缺乏历史行为信息,现有的基于行为信号为主的算法在此类问题上仍然很难取得满意效果。我们在多源信息融合的框架下,考虑通过引入item/user的属性静态知识图谱(static graph)和动态行为关系图谱(dynamic graph),提出了一种基于图的邻接关系增强的节点表示方法,用于更好的建模和表示推荐系统中的user和item的表征,在公开数据集MovieLens上取得了AUC 约0.5个百分点的提升。
全文目录:
-
简介
-
模型实现
-
实验评估
-
创新点
-
结论&展望
分享嘉宾|和子钰 微策略软件(杭州)有限公司 软件开发;肖玄基 Shopee 内容电商算法负责人
出品社区|DataFun
01/简介
如今大规模深度学习和稠密Embedding表达已经成为推荐系统的经典解决方案。然而当系统中的用户几乎没有点击或购买等活动,或者一些item属于低频或长尾商品时,即遇到常见的冷启动问题。这些冷启动诸问题引起了业界和学术界的极大兴趣,但还是由于缺乏历史行为信息,现有的深度学习模型很难处理。
在此我们通过引入item/user的属性静态图谱(static graph)和动态行为关系图谱(dynamic graph),提出了一种基于图的邻接关系增强的节点表示方法,用于更好的建模和表示推荐系统中的user和item的embedding。我们将系统中的item和user统一表示为node,对于每个node,我们从其静态属性的角度构建了static graph,如图1。同时基于系统中的user、item交互行为历史进行相似node关联可以构建一份动态图谱,如图2.(协同过滤即为一种最经典的对此关系挖掘的方法)。我们利用构建的图谱信息来增强node的embedding表达来提升推荐效果,并已在公开数据集MovieLens取的显著提升。
图1.图2.
02/模型实现
1.总体结构
我们的模型总体结构如图3,由YouTubeDNN、user neighbour enhancement structure、item neighbour enhancement structure三部分构成。其中user和item侧的neighbour enhancement structure结构相同,得到各自的embedding后与其他side infos进行concat。该结构与YoutubeDNN最大的区别主要在于我们基于图结构的neighbour enhancement部分,这里主要有node level attention及neighbor level attention两方面。
图3.
2.node level attention
利用static graph和dynamic graph构建node关系图,对于冷启动useer/item node而言尤其需要利用static graph在网络中构建初始关系。我们使用graph attention network(GAT)以邻接节点边的权重作为attention来聚合target node的邻接节点embedding,从而获得target node的embedding表示,如图4。
图4.
h是node的embedding矩阵,hi表示target node, hj为所有与hi相邻节点,W为可学习的转移矩阵,qTθ为可学习的加权系数。eijθ为节点间的attention权重。
eijθ用softmax做归一化得到权重aijθ。
使用node i的邻接节点以attention的方式表示i。
3.neighbor level attention
我们分别利用了static和dynamic的关系图来构建节点之间attention weighted embedding,而进一步分析这两种在进行融合时,应有不同侧重。例如当一个user兴趣和行为相对不稳定,dynamic的通过相似历史行为的user来增强的表达方式将适当削弱,user静态属性的embedding更加重要;而如果用户兴趣相对稳定时,dynamic的邻接表达将更准确和有益。因此我们在得到ziθ后,再在邻接关系层面neighbor level上做attention得到zi。
公式(4)中q、W、b都是可学习的参数,最终得到target node的表示Z。
03/实验评估
我们目前已在推荐系统领域经典的公开数据集MovieLens 1M上进行了实验验证并取得了预期效果。这里MovieLens包含了6040和user对3883部电影的超百万份的评估数据。然而整个数据集中每名用户有对超过20个电影的评分,不具有真实推荐系统环境中的冷启动用户,因此我们在此数据集上进行了稀疏剪枝------随机选择部分用户,去除其对部分电影的评分数据,分别得到MovieLens 1M'、MovieLens 1M' Sparse。
采用AUC(Area Under Curve)进行评估,结果我们的Neighbour-Enhanced-youtubeDNN在三个子数据集上都获得了提升,其中对于稀疏数据集的提升尤为显著,table4看出我们的neighbor level attention融合的方式也起到了预期效果。
04/创新点
我们通过构建两种关系图,充分利用了系统中item/user的静态与动态信息,并提出多层attention的关系提取方法,对节点的embedding表达有显著提升;
我们提出了一种通过构建静态关系图及动态关系图来增强item/user表达的深度学习网络
Neighbour-Enhanced-youtubeDNN,在推荐系统冷启动问题上取得了较好的效果,在公开数据集上得到显著提升;
05/结论&展望
推荐系统中对item/user的大规模离散embedding表示已经应用的非常普遍,利用item/user的静态属性及历史交互行为作为特征的方法也得到充分地探索。而我们发现item/user之间的静态、动态关系所构成的图结构其实还隐含了更加丰富的特征信息。本文我们通过构建关系图、利用图节点关系增强的方式进一步获得了item/user的embedding表示,取得了显著提升。
我们认为这是一个很有前景的方向,所以非常欢迎任何业务团队的同学和我们进一步共建OneRec系列算法。
git地址:
https://github.com/xuanjixiao/onerec/blob/main/README.md
今天的分享就到这里,谢谢大家。
关于OneRec
在常规推荐系统算法和系统双优化的范式下,一线公司针对单个任务或单个业务的效果挖掘几乎达到极限。从2019年我们开始关注多种信息的萃取融合,提出了OneRec算法,希望通过平台或外部各种各样的信息来进行知识集成,打破数据孤岛,极大扩充推荐的"Extra World Knowledge"。已实践的算法包括行为数据(多信号,长短期信号),内容描述,社交信息,知识图谱等。在OneRec,每种信息和整体算法的集成是可插拔的,这样的话一方面方便大家在自己的平台数据下灵活组合各种信息,另一方面方便开源共建,大家可以在上边集成自己的各种算法。OneRec分享的都是之前在线上验证过效果的工作,相关代码和论文已经开源在:
https://github.com/xuanjixiao/onerec 。欢迎大家联系我们,加入项目微信群讨论共建!邮箱:growj@126.com
OneRec系列算法目前已经发布的算法:
1)
OneRec1_NeighbourEnhancedDNN 行为和内容两种信号的强化建模。增强用户/item的表达和他们的交互。
相关文章:后续在OneRec主页放出。
相关论文:Neighbor Based Enhancement for the Long-Tail Ranking Problem in Video Rank Models , DLP-KDD 2021
2) OneRec2_Social4Rec 行为/内容之外使用social interest信息。增强用户的表达,有效融合行为,内容,社交兴趣三种信号。
相关文章:后续在OneRec主页放出。
相关论文:
https://arxiv.org/pdf/2302.09971.pdf
3) OneRec3_SparseSharing 如何更好的利用点击信号和转化信号。通过彩票理论实现神经元级别的多任务学习,进一步优化cvr的效果。
相关文章:《OneRec4_LT4REC:基于彩票假设的多任务学习算法》。
相关论文:
https://arxiv.org/abs/2008.09872
[后续] 2023 CVR多任务工作:Click-aware Structure Transfer with Sample Weight Assignment for Post-Click Conversion Rate Estimation, 2023, ECML-PKDD
[前序] 2018 CVR多任务工作:Calibration4CVR:2018年关于"神经元级别共享的多任务CVR"的初探-2018
4)OneRec4_SessionLTV 对于一个session浏览过程,结合短期reward和长期reward,通过强化学习来建模用户价值,从而找到LTV价值更高的结果给到用户,在视频场景和google RL simulator上均有正向效果。
相关论文:
https://arxiv.org/pdf/2302.06101.pdf, WWW 2023