热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

基于随机游走的图嵌入之快速指南

1.背景1.1何为图嵌图嵌入是利用节点属性、节点间拓扑关系将复杂、高维图数据进行向量化的一项技术。图数据结构突破传统数据库按记录组织数据的限制,具备更灵活的现实

1. 背景

1.1 何为图嵌

图嵌入是利用节点属性、节点间拓扑关系将复杂、高维图数据进行向量化的一项技术。

图数据结构突破传统数据库按记录组织数据的限制,具备更灵活的现实数据建模能力。如何将图数据结构中的信息进行合理表征,方便地应用于下游任务成为一个问题。

近年来随着NLP领域预训练词向量技术的流行,图嵌入,也就是图数据向量化也成为了一个越来越活跃的研究领域。

1.2 图数据向量化

①可以进行相似/相关节点计算、图数据挖掘等下游计算,延伸至内容推荐业务兴趣扩展模块、连接预测;

②也可以将图数据中蕴含的知识编码到深度学习网络中,参与到文本、图像、流媒体等内容理解的计算中。

在本文中,OPPO互联网技术团队针对知识图谱领域数据特性对图嵌入计算的三种思维方法,进行简要介绍。

1.3 通用知识图谱数据的特点

①关系:节点(知识图谱中称实体)之间会存在诸如互为好友、参演作品、作品归属类型等关系;

②属性:每个节点会存在各种各样的属性,比如人物会存在基本信息、背景描述等属性;

③类型:图谱中会存在诸如人物、作品、品牌、景点等类型。


2. 方法

2.1 node2vec

针对图数据中的关系,B. Perozzi等提出DeepWalk模型,开启了随机游走图嵌入的先河。

DeepWalk基本思想如下:

随机选中图中的节点,沿图中的关系进行随机的闲逛,将图数据转化为一段段类似自然语言的序列,然后通过NLP(自然语言处理)领域word2vec对序列中节点的相邻性进行建模,进而得出每个节点的向量。

DeepWalk存在一个问题:游走完全随机,无法根据网络特点(如关系权重)做到对游走进行干预。

Aditya Grover等针对这一问题提出node2vec算法,通过p/q两个参数控制随机游走下一跳的概率分配。

2.2 ANRL

针对图谱中未拆分为关系的属性(诸如描述等拆分后度极低的属性以及其他一些)研究者们提出了很多方法。本文选取其中一种ANRL来进行介绍;

ANRL由Zhen Zhang等提出,思想如下:

通过一个双目标网络,分别对节点属性、关系进行建模,最终得到的图嵌入向量受属性、关系训练数据的制约,得到一个融合了属性和关系信息的图嵌入向量。

2.3 Metapath2Vec

知识图谱通常涵盖若干领域,尤其是通用知识图谱,其中节点的类型更是各式各样。除了其中有实际意义的实体,也会有一些为了属性节点。(诸如国家)

不同类型的节点具有不同的特性:诸如国家可能会与一个电影有地域关系,也会与一个明星有国家归属关系,也会与一个景点有归属关系,也会与一个战斗机有产地关系。

所以不同类型的节点按照相同的规则进行随机游走也会存在一些固有的问题。

事实上,node2vec的随机游走确实会偏向度比较大的节点,另外我们也需要根据业务场景对不同领域的节点进行不同程度的隔离。

Yuxiao Dong等提出MetaPath2Vec算法,算法中将通过类型序列控制随机游走只在特定的类型之间进行游走,当然也可以根据业务特点进行游走概率降权。其主要过程如下:


3. 最后

知识是人类之于机器的优势。现今随着深度学习的发展,AI在很多领域通过大量的监督数据能够高效、精准的完成各种具体的任务。

然而现今深度学习等各种模型尚不能像人类一样进行普世知识积累、联想、推理、想象,或许知识图谱会是AI下一个飞跃的翅膀;事实上,图嵌入、图神经网络领域的研究近几年逐渐成为AI顶会热门话题。

本文是根据OPPO互联网服务项目中实际业务背景,对图嵌入相关技术进行了几个介绍,希望可以起到抛砖引玉的作用。

 


推荐阅读
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 探索CNN的可视化技术
    神经网络的可视化在理论学习与实践应用中扮演着至关重要的角色。本文深入探讨了三种有效的CNN(卷积神经网络)可视化方法,旨在帮助读者更好地理解和优化模型。 ... [详细]
  • 计算机学报精选论文概览(2020-2022)
    本文汇总了2020年至2022年间《计算机学报》上发表的若干重要论文,旨在为即将投稿的研究者提供参考。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 本文详细记录了一位Java程序员在Lazada的面试经历,涵盖同步机制、JVM调优、Redis应用、线程池配置、Spring框架特性等多个技术点,以及高级面试中的设计问题和解决方案。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • K-均值聚类算法是一种经典的划分方法,广泛应用于数据挖掘和机器学习领域。该算法通过将数据集划分为多个互斥的簇,确保每个对象仅归属于一个簇。然而,这种严格的归属要求忽略了潜在的离群点和数据的复杂性,限制了其在某些场景下的适用性。为了提高算法的鲁棒性和灵活性,研究者们提出了多种改进方法,如引入模糊隶属度和基于密度的聚类技术。这些改进不仅提升了算法的性能,还扩展了其在实际问题中的应用范围。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 探索聚类分析中的K-Means与DBSCAN算法及其应用
    聚类分析是一种用于解决样本或特征分类问题的统计分析方法,也是数据挖掘领域的重要算法之一。本文主要探讨了K-Means和DBSCAN两种聚类算法的原理及其应用场景。K-Means算法通过迭代优化簇中心来实现数据点的划分,适用于球形分布的数据集;而DBSCAN算法则基于密度进行聚类,能够有效识别任意形状的簇,并且对噪声数据具有较好的鲁棒性。通过对这两种算法的对比分析,本文旨在为实际应用中选择合适的聚类方法提供参考。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
  • 探讨 jBPM 数据库表结构设计的精要与实践
    探讨 jBPM 数据库表结构设计的精要与实践 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有