新突破!动态网络表征学习在推荐领域的创新与实践

简介: 在现实生活中,用户对于一件事物的关注度即关系图往往是会随着时间而改变的。按照静态图的建模方法将不能显示地建模用户在时序上的兴趣变化。动态网络表征学习不仅能学习到当前网络的结构信息,而且也能学习到网络在时间上的变化,但是目前主要还是针对动态同构网络,本文在此基础上提出了基于层次化注意力机制的动态图表征算法,是推荐底层算法模型上的一次突破。

image.png

介绍

目前大多数 Graph Embedding 的方法如 node2vec、GCN、GraphSAGE 和 GAT 等主要是针对静态图模型的方法,也就是假设图是不会改变的。但是在现实生活中,关系图往往是会随着时间而改变。比如用户在一段时间内对连衣裙的兴趣会慢慢转移到高跟鞋,在关系图上的表现就是前一段时间用户的邻居主要都是连衣裙,但是后面一段时间用户的邻居主要都是高跟鞋。如果按照静态图的建模方法,连衣裙和高跟鞋都会出现在同一张图上,虽然可以在关系边上加上时间信息,但是其只能作为控制游走或聚合的权重,并不能显示地建模用户在时序上的兴趣变化。

动态网络表征学习也叫做 Dynamic Graph Embedding (Dynamic Network Embedding) ,不仅能学习到当前网络的结构信息,而且也能学习到网络在时间上的变化,是目前 Graph Embedding 的一个热门方向。近年来在动态网络表征学习方面相关的算法也如雨后春笋般被提出,如 DynamicTriad、DySAT 等。但是目前主要还是针对动态同构网络,受到 DySAT 和 HAN 算法的启发,我们在动态异构网络方面提出了基于层次化注意力机制的动态图表征算法(DyHAN),在离线测评上都优于目前现有的方法。

在业务落地上,考虑到开发难度和线上曝光情况,我们在之前 GraphSAGE i2i 基础上,引入动态模型更好地学习时序信息,在业务上取得了一定效果。

创新探索

在创新层面,针对用户和商品的动态异构图,我们提出基于层次化注意力机制的动态图表征算法(DyHAN, short for Dynamic Heterogeneous Graph Embedding using Hierarchical Attentions)。

图的构建

这里主要描述一下我们自己的数据集的构建信息,其他的数据集也是类似的。我们使用用户历史行为日志来构建。

节点类型:用户和商品

边类型:点击、询盘(AB)和 Order 等。

时间分片:每天的用户行为作为一个时间分片,取 10 天的时间分片来训练,第 11 天的来做评测。

节点信息:节点 id (这里为了方便实验,直接使用节点id特征,如果图有其他特征也可以加入进去)。
image.png
这样构建的关系图就是一个具有 11 个时间分片,2 个节点类型和 3 个边类型的异构动态图。在一个时间分片下,如果只看点击类型的边,我们就得到了这个时间分片下点击边类型的子图。

模型

算法主要为三层注意力机制,模型结构如图1所示。这里三层的融合分别是节点层级、边层级和时序层级上的聚合。在 DyHAN 里我们都使用了注意力机制,但是实际上这三个模块都可以替换成其他聚合方法,如节点层级的聚合可以使用 GraphSAGE 的 mean、mean-pooling 和 max-pooling 的方法。时间层级的聚合可以使用 RNN 类的方法,如 LSTM 和 GRU 等。
image.png
节点层级的聚合(Node-level Attention),目的为每个时间分片下每个边类型子图里的节点都做一个 attention 融合自身与其邻居的信息。这样融合后的向量能表示这个节点在这一类边类型下的语义信息。query 为节点本身,key 为节点的邻居(包括自己)。
image.png

边层级的聚合(Edge-level Attention), 主要作用为对每个时间分片下节点的边类型向量进行汇聚,某一类型的边类型向量可能对这个节点的贡献比较大。比如 order 的边类型向量对于交易品的贡献就比较大。
image.png
时序层级的聚合(Temporal-level Attention),主要把每个时间分片上的节点向量聚合起来。这里使用一个标准的 Scaled-Dot-Product Attention。M 为一个 mask 矩阵,主要是为了使节点向量只能看到过去的节点向量。
image.png
为了增加 expressive 的能力,每一层的聚合都可以使用 multi-head 机制。

损失函数选取 Cross Entropy,正负样本只在最后一个时间分片上选取。
image.png

实验

推荐的向量化召回就是计算两个节点的相似度来预测用户潜在感兴趣的商品,为了更好地贴合业务,我们选择边预测作为我们的实验任务。Baseline 选取了静态和动态图表征上比较有代表性的算法,如静态的主要有 DeepWalk、metapath2vec、GraphSAGE、GAT;动态的主要有 DynamicTriad、DySAT 等。我们在两个公开数据集和我们自己的数据集上进行了实验,下面是实验结果。
image.png

详细内容请参考我们的 paper:
Luwei Yang, Zhibo Xiao, Wen Jiang, Yi Wei, Yi Hu, and Hao Wang, “Dynamic heterogeneous graph embedding using hierarchical attentions,” in Proceedings of the 42nd European Conference on Information Retrieval, 2020

实践探索

考虑到目前 ICBU 推荐引擎的机制对用户向量化的曝光比例较低,在动态图表征的上线落地上我们首选在 i2i 上进行尝试,即直接在 GraphSAGE i2i 的基础上引入动态模型。

图的构建

每个时间分片图的构建沿用之前 GraphSAGE i2i 的模式,由于工程上实现的机制,只对最后一个时间分片上的节点 infer 出节点向量。因此为了不减少商品覆盖度,每一个时间分片的设置为 90 天,时间分片之间设置适当的 overlapping。

模型

这样模型其实就变成了前文详述的 DyHAN 的简化版,其分为了两层结构,第一层为GraphSAGE 的聚合机制,主要为对每个时间分片计算出节点向量。第二层为时序层级上的聚合,采用上文介绍的 Scaled-Dot-Product Attention。最后的训练是无监督训练,无监督学习样本的选取做了一些优化,同时损失函数使用 Triplet Loss。
image.png

离线评测和线上效果

离线评测:我们随机选取 session 下第一个商品作为 trigger,计算同 session 后续点击的 distinct 商品的覆盖率。这样的样本选取一万个, 原 graphsage_i2i 的覆盖率增量为 4.2%,使用 dynamic_i2i 的覆盖率增量为 10.9%。
image.png
线上效果:在 Detail 跨店推荐上线,L-AB 转化率提升 3.54%,L-O 转化率提升 14.23%。在整体 Detail 页的转化方面,D-AB 转化率提升 0.85%,D-O 转化率提升 2.57%。

总结

在动态图表征学习上我们创新地提出了 DyHAN 的方法用于异构动态图建模,同时在阿里巴巴国际站(ICBU)推荐领域引入动态图表征模型,在业务上取得了一定的效果。同时我们也发现这种时间分片的动态图表征模式运算开销比较大,因为每一个时间分片都要运行一个静态的图表征模型,如何减小运算开销是未来的一个研究方向。同时在时间维度上如何更好地融合时序信息也是未来的一个研究方向。

目录
相关文章
|
1月前
|
消息中间件 网络协议 C++
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
|
1月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
4天前
|
人工智能 监控 安全
构筑安全之盾:云计算环境下的网络安全策略与实践
【4月更文挑战第19天】 在数字化转型的浪潮中,云计算已成为企业IT架构的核心组成部分。然而,随着云服务使用的普及化,网络安全问题亦变得日益复杂和挑战性。本文将深入探讨如何在云计算环境中实施有效的网络安全策略,保障数据的安全性和完整性。我们将从云服务模型出发,分析不同服务模型下的安全威胁,并提出相应的防护措施。文章还将讨论信息安全管理的最佳实践,包括加密技术、身份验证、访问控制以及安全监控等方面,旨在为企业提供一套全面的云计算安全防护框架。
|
6天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
7天前
|
监控 安全 网络安全
云端防御:云计算环境中的网络安全策略与实践
【4月更文挑战第15天】 在数字化转型的时代,云计算已成为企业运营不可或缺的技术支撑。然而,随着云服务模式的广泛采纳,网络安全挑战亦随之而来。本文深入探讨了云计算环境下的安全威胁,分析了云服务模型对安全策略的影响,并提出了一系列创新的网络安全防护措施。通过研究最新的加密技术、访问控制机制和持续监控方法,文章旨在为企业提供一个综合性的网络安全框架,以确保其云基础设施和数据的安全性和完整性。
27 8
|
13天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
30 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
|
14天前
|
安全 网络安全 网络虚拟化
虚拟网络设备与网络安全:深入分析与实践应用
在数字化时代📲,网络安全🔒成为了企业和个人防御体系中不可或缺的一部分。随着网络攻击的日益复杂和频繁🔥,传统的物理网络安全措施已经无法满足快速发展的需求。虚拟网络设备🖧,作为网络架构中的重要组成部分,通过提供灵活的配置和强大的隔离能力🛡️,为网络安全提供了新的保障。本文将从多个维度深入分析虚拟网络设备是如何保障网络安全的,以及它们的实际意义和应用场景。
|
18天前
|
人工智能 安全 网络安全
构筑云端堡垒:云计算环境下的网络安全策略与实践
【4月更文挑战第5天】随着企业数字化转型的不断加速,云计算已成为支撑现代业务运行的关键基础设施。然而,云服务的广泛采用也带来了前所未有的安全挑战。本文将深入探讨云计算环境中的网络安全问题,并提出一系列切实可行的策略和措施,以增强数据保密性、完整性及可用性,从而确保云服务在为企业带来便利的同时,不牺牲其安全性。
13 1
|
22天前
|
安全 算法 网络安全
网络安全与信息安全:防范之道与实践策略
在数字化时代,网络安全与信息安全已成为全球关注的焦点。本文将深入探讨网络安全漏洞的成因、加密技术的最新发展以及提升安全意识的重要性。通过对这些关键领域的分析,我们旨在为读者提供一套综合性的策略,以增强个人和组织在网络空间的防护能力。
|
30天前
|
监控 安全 网络安全
云计算环境下的网络安全新策略与实践
在数字化时代,云计算为企业提供了弹性、可扩展的资源管理平台,但同时也带来了复杂的安全挑战。本文聚焦于云服务中的网络安全和信息保护问题,首先分析了云计算环境中存在的安全威胁和风险因素,然后详细探讨了当前最新的安全技术和策略,包括身份认证、数据加密、入侵检测系统以及安全运营中心(SOC)等。最后,文章提出了一套综合的安全框架,旨在帮助组织在享受云计算便利的同时,确保其数据和资源的安全性和完整性。

热门文章

最新文章