腾讯大数据工程师分享:Angel图神经网络在推荐系统的应用

版权申诉
0 下载量 104 浏览量 更新于2024-07-05 收藏 1.34MB PDF 举报
"该资源是腾讯大数据高级算法工程师孙瑞鸿关于Angel图神经网络在推荐场景实践的分享,涵盖了背景介绍、图神经网络的基本概念、Angel图神经网络框架以及在推荐系统中的具体应用案例。" 在当今信息化社会,数据呈现出多样化和复杂化的趋势,其中包含了各种各样的网络结构,如社交网络、移动支付网络、通信网络和电商购物网络等。这些网络数据中蕴含了丰富的关系和信息,为推荐系统提供了新的研究方向。图神经网络(Graph Neural Networks, GNN)作为一种处理不规则数据的强大工具,正逐渐在推荐领域崭露头角。 图神经网络不同于传统的图挖掘方法,如计算节点的度、Diameter、PageRank或Closeness等指标,以及社区发现和标签传播算法。GNN更注重网络的拓扑结构和节点的属性特征,通过聚合邻居特征并融合自身特征进行学习。这种方法在实际应用中已取得显著成效,例如在黑产预警上提高了100%的覆盖率,在异常检测上提升了10%,而在推荐场景下则实现了2%的点击率提升。 Angel是腾讯开源的大规模机器学习平台,其图神经网络框架支持多种不同的GNN算法,如GraphSAGE、Supervised/Unsupervised、Isomorphism/Heterogeneous、Relational-GCN (R-GCN)、DeepGraphInfomax (DGI)、Graph Attention Network (GAT)以及EdgePropagationGCN (EdgeProp-GCN)等。其中,GraphSAGE采用了一阶和二阶采样策略,能够在大型图上进行有效的无监督或监督学习。 GraphSAGE的核心思想是通过采样邻居节点来近似节点的局部结构,这既降低了计算复杂度,又保持了图的结构信息。一阶采样仅考虑直接相邻的节点,而二阶采样则会考虑更远的邻接关系,例如通过二阶子图来捕获更复杂的依赖关系。 Angel图神经网络框架为推荐系统提供了强大的工具,能够有效地挖掘和利用复杂网络中的关系信息,从而提高推荐的准确性和效率。在社交推荐、用户画像构建、广告推荐等方面,GNN都能发挥重要作用,为用户提供更加个性化和精准的推荐内容。
2023-06-06 上传

(3) 参考利用下面的程序代码,完成代码注释中要求的两项任务。 import re """ 下面ref是2020年CVPR的最佳论文的pdf格式直接另存为文本文件后, 截取的参考文献前6篇的文本部分。 请利用该科研文献的这部分文本,利用正则表达式、字符串处理等方法, 编程实现对这6篇参考文献按下面的方式进行排序输出。 a.按参考文献标题排序 b.按出版年份排序 """ ref = """[1] Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, and Leonidas Guibas. Learning representations and generative models for 3D point clouds. In Proc. ICML, 2018 [2] Pulkit Agrawal, Joao Carreira, and Jitendra Malik. Learning to see by moving. In Proc. ICCV, 2015 [3] Peter N. Belhumeur, David J. Kriegman, and Alan L. Yuille. The bas-relief ambiguity. IJCV, 1999 [4] Christoph Bregler, Aaron Hertzmann, and Henning Biermann. Recovering non-rigid 3D shape from image streams. In Proc. CVPR, 2000 [5] Angel X. Chang, Thomas Funkhouser, Leonidas Guibas. Shapenet: An information-rich 3d model reposi-tory. arXiv preprint arXiv:1512.03012, 2015 [6] Ching-Hang Chen, Ambrish Tyagi, Amit Agrawal, Dy-lan Drover, Rohith MV, Stefan Stojanov, and James M. Rehg. Unsupervised 3d pose estimation with geometric self-supervision. In Proc. CVPR, 2019""" ref_str = re.sub(r'\[([0-9]{1})\]', r'$[\1]', ref) # 添加分隔$ print(ref_str) #脚手架代码 ref_str_2 = re.sub(r'([a-zA-Z]{2})\.', r'\1.#', ref_str) # 添加分隔# print(ref_str_2) #脚手架代码 ref_str2 = ref_str_2.replace("\n", "") ref_list = ref_str2.split("$") print(ref_list) #脚手架代码 [提示: 排序可以采用内置函数sorted(),语法如下: sorted(iterable, /, *, key=None, reverse=False), 注意掌握形式参数中带“/”和“*”的用途]

2023-05-26 上传
2023-05-25 上传