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

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件