8.21 知识图谱嵌入技术研究综述-知网-张天成、田雪、孙相会等-软件学报.2023,34(01)-动态知识图谱嵌入

本文主要是介绍8.21 知识图谱嵌入技术研究综述-知网-张天成、田雪、孙相会等-软件学报.2023,34(01)-动态知识图谱嵌入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(三)双曲几何模型

        虽然嵌入方法已经在许多应用中被证明是成功的,但它们存在一个普遍的局限性,即对复杂模式的建模能力本质上受到嵌入空间维数的限制。目前还没有一种方法能够在不丢失信息的情况下计算大型图结构数据的嵌入。

        Adcock 等人的实证分析表明,许多现实世界网络表现出潜在的树状结构。为了利用这种结构性质学习更有效的表示方法,Nickel 等人提出在双曲空间 (具有常负曲率的空间) 中计算嵌入,这是因为双曲空间天然适合于建模层次结构,或者也可以认为,双曲空间是树的连续版本,相比欧式空间 (零曲率空间) 可以更准确、更简洁的表示分层数据。Nickel 等人提出了基于双曲空间Poincare ball 模型的 Poincare 方法,非常适合于基于梯度的优化。

        实际上,多关系知识图谱往往表现出多个层次结构,为了解决这一问题,提出了 MuRP 模型。MuRP 相对于 Poincare 模型而言更加完善,它是一种在双曲空间的 Poincare ball 模型中嵌入分层多关系数据的方法,通过矩阵-向量乘法和加法学习关系特定参数来转换实体嵌入。

        关系矩阵是对角的,因此 MuRP 的参数数量随实体和关系的数量线性增加,使其可以用于大型知识图谱。

(四)其他模型

         除了利用卷积神经网络对 KGE 进行建模的方法,最近也有研究将胶囊网络应用于解决 KGE 问题。例如:CapsE 模型,该模型探索了一种用于对关系三元组建模的胶囊网络。总体来说,CapsE 在 ConvKB 卷积提取特征映射后加入两个胶囊层,在第一层中,构造 k 个胶囊,其中来自所有特征映射相同维度的条目被封装到一个相应的胶囊中,每个胶囊可以捕捉嵌入三元组中相应维度条目之间的许多特征。这些特征被概括并输入到第二层的胶囊中,该胶囊产生一个向量输出,其长度用作三元组的分数。

        CapsE 是首个考虑将胶囊网络用于知识图谱补全的方法。 

        此外,CrossE 模型进一步考虑了实体与关系之间的双向影响,显式地建模交叉交互。Cross模型主要包括 4 个步骤:(1) 为头实体 h 生成交互嵌入; (2) 生成关系 r 的交互嵌入;(3) 结合交互嵌入;(4) 比较组合嵌入 与尾实体嵌入的相似性。

(五)模型总结

         本节归纳总结了最新的知识图谱嵌入方法,由卷积神经网络模型,旋转模型,双曲几何模型和其他模型 4 个部分组成,表 4 对相关的最新知识图谱嵌入研究方法进行了总结。

三大类知识图谱嵌入方法,即:基于距离的模型,语义匹配模型与最新的 KGE 模型。表 5 从类别、方法、提出年份及优缺点 4 方面对这几类知识图谱嵌入方法的部分代表模型进行对比。

3  动态知识图谱嵌入

        当前 KGE 的研究主要集中于静态知识图谱,其中事实不会随时间发生变化,例如:TransE,TransH,TransR,RESCAL 等。但是,在实际应用中,知识图谱通常是动态的,例如 Twitter 中的社交知识图,DBLP 中的引文知识图等,其中事实随时间演变,仅在特定时间段内有效。以往的静态 KGE 方法完全忽略了时间信息,这使得静态 KGE 方法无法在这些实际场景中工作。因此,有必要设计一种用于动态知识图谱嵌入的方法。

        t-TransE 是第一个考虑将时间信息用于 KGE 的方法,使用时间顺序约束建模中时间敏感关系之间的转换,并强制嵌入在时间上保持一致。t-TransE 认为时间敏感事实的发生时间可以表示事实和时间敏感关系的特定时间顺序。因此,t-TransE 是一个结合时间顺序信息而提出来的时间感知链接预测模型。

        然而,t-TransE 不是直接将时间整合到学习的嵌入中,而是首先学习关系之间的时间顺序。然后在 KGE 阶段将这些关系顺序合并为约束,因此,t-TransE 学习到的嵌入不是显式时间感知的。

        Know-Evolve使用双线性嵌入学习方法对 KG 元素的非线性时间演化进行建模。然而,它将域限制为本质上非常密集的基于事件交互类型的数据集。

        Dasgupta 等人从 TransH 方法中获得启发,在 2018 年提出了 HyTE 方法。HyTE 是一个基于超平面的时间感知知识图谱嵌入方法,该方法将每个时间戳与相应的超平面相关联,将时间显式的合并到实体关系空间中。因此,它不仅能够利用时间指导来进行 KG 推理,还可以预测缺少时间注释的关系事实的时间范围。

        为了在保持动态 KG 固有结构的同时,在学习的嵌入中结合时间信息。一种通常的做法是将动态 KG 分割成多个静态子 KG,每个子 KG 对应于特定的时间段,然后分别在这些段上学习嵌入 (HyTE, Flexible Translation 就采用了这种做法)。这类模型虽然在嵌入过程中考虑了 KG 的时间信息,但不能显式地建模动态 KG 的演化过程。最 近,Tang 等人提出了一个结合时间演化的可感知时间间隔的动态知识图谱嵌入方法 (TDG2E),TDG2E 是一种鲁棒的动态知识图谱嵌入方法,将时间信息直接编码到学习的嵌入中。

        TDG2E 既保留了当前子 KG 的结构信息,又能同时保留动态 KG 的演化模式。它首先将时间范围内的输入 KG 分割为多个静态子 KG,每个子 KG 对应于一个时间单元,并将每个子 KG 的实体和关系投影到时间感知超平面中。然后利用基于 GRU 的模型处理动态知识图谱嵌入的学习过程中涉及到的子 KG 之间的依赖关系。此外,考虑累积的结构信息直接导致连续的结构,进一步引入辅助损失,通过利用先前的结构信息 (即 GRU 的隐藏状态) 监督下一个子 KG 的学习过程。

        表 6 将 TDG2E 模型与其他动态 KGE 方法进行对比,直观地展示了 TDG2E 方法的优越性。然而,从大量文献中可以得出结论:现有的大多数知识图谱嵌入方法仍然关注于静态知识图谱,忽略了知识图谱中时间范围信息的可用性与重要性。实际上,在表示学习过程中合并时间信息可能会产生更好的 KG 嵌入,时间感知的知识图谱嵌入研究仍然是一个有待于进一步探索的领域。

什么是GRU?

        门控循环神经网络(gated recurrent neural network)是为了更好地捕捉时序数据中间隔较大的依赖关系,门控循环单元(gated recurrent unit,GRU)是一种常用的门控循环神经网络。

参考:

GRU简介

这篇关于8.21 知识图谱嵌入技术研究综述-知网-张天成、田雪、孙相会等-软件学报.2023,34(01)-动态知识图谱嵌入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/237391

相关文章

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

go动态限制并发数量的实现示例

《go动态限制并发数量的实现示例》本文主要介绍了Go并发控制方法,通过带缓冲通道和第三方库实现并发数量限制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录带有缓冲大小的通道使用第三方库其他控制并发的方法因为go从语言层面支持并发,所以面试百分百会问到

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注