论文浅尝 | DB4Trans:数据库内置知识图谱嵌入模型训练引擎

news2024/12/30 3:44:16

2494c822053ad0dafb0702e1b6e7b882.png

笔记整理:柳鹏凯,天津大学硕士

发表期刊:计算机学报 第45卷Vol.45, 第9期 No.9

链接:http://cjc.ict.ac.cn/online/onlinepaper/lpk-202297212908.pdf

动机

知识图谱嵌入技术主要将知识图谱中的实体和关系嵌入到连续的向量空间中,有助于完成诸如链接预测等下游任务。随着基于知识的人工智能的日益普及和应用,知识图谱的数据规模正在急剧增加。然而,大部分的知识图谱嵌入工作主要关注模型训练的结果,忽略了对于数据规模的可扩展性,在处理大规模知识图谱时表现出较差的性能。通过将知识图谱嵌入模型与数据库在数据管理上的优势进行有效的结合,能够在保证知识图谱嵌入模型训练的准确率和效率的同时,提供更好的可扩展性以支持大规模知识图谱数据的训练。基于此,本文提出一种数据库内置知识图谱嵌入模型训练引擎DB4Trans。首先,设计了一种用于知识图谱嵌入模型训练的数据存储方案,对实体和关系进行编码并建立索引结构,以实现模型训练过程中对中间结果的访问和更新;其次,提出了一种数据库内置的模型训练算法,对数据库与内存间的数据批量交换方案进行设计以支持大规模数据的训练与存储;最后,在不同数据集上进行了测试,比较了模型训练与预测的时间、模型训练的准确率、存储时间和空间效率并验证了方法的可扩展性。实验结果表明,所提出的方法能够在不影响模型训练效率和准确率的同时,通过内存与数据库间的数据交换,支持在数据库内完成大规模知识图谱的训练过程。

亮点

DB4Trans的亮点主要包括:

(1)设计了一种新颖的数据库内置知识图谱嵌入模型训练引擎,基于“存算一体化”的思想,以TransE模型为例,设计数据存储方案,使用关系数据库完成对知识图谱嵌入模型的训练与存储;

(2)提出数据库内模型训练算法,利用数据库技术支持模型训练的工作流程,基于设计的存储及索引方案提升模型训练过程中数据的读写速度从而保证模型训练的效率,并提出数据库与内存间的数据批量交换的方案以支持大规模数据的训练与存储。

概念及模型

DB4Trans主要以训练数据与模型在数据库中的存储及在内存中的计算与迭代训练两个方面为研究重点设计技术方案,总体架构如图1所示。DB4Trans将数据库技术与知识图谱嵌入的整体流程相融合,在数据库内进行知识图谱嵌入模型的训练,(1)将训练数据中的实体和关系进行编码后按照设计的存储方案导入并存储在数据库内;(2)在训练过程中,分批次将数据导入内存中完成模型训练的计算与迭代过程;(3)在多轮迭代之后,数据库内存储的实体和关系的嵌入值,即为模型训练所得到的结果。可以直接使用得到的训练结果进行链接预测等下游任务。

e54cf636a8b40d5ae8b418947172028e.png

图1 DB4Trans总体架构图

数据存储方案

在读入知识图谱数据后,随机地将其划分为训练数据和测试数据,并将训练数据按照实体和关系分别存储到数据库的实体表和关系表中。根据训练时指定的嵌入向量的维数,在数据库中能够直接用向量类型的字段对训练结果进行存储与表示。对于用于训练的正例数据,建立训练数据表来存储三元组,表中每一行对应数据中一条(h,r,t)三元组,存储头实体、关系与尾实体的字典编码值。

1d5a05e125296f1e93c3bce609253aab.png

图2 数据存储方案示例

数据库内置模型训练优化技术

结合TransE模型工作流程,基于设计的数据存储方案,给出利用数据库技术进行模型训练的具体流程,使用数据库与内存间的数据批量交换策略来优化训练的过程,以支持大规模知识图谱的训练。考虑到现有KB2E方法存在的问题,DB4Trans利用数据库技术优化大规模知识图谱嵌入的模型训练过程。根据设计的数据存储方案,提出数据库和内存之间的数据批量交换算法。通过随机采样的方式,将训练数据从数据库读取到内存中,根据目标函数迭代计算进行模型的训练,并将实体和关系的嵌入值更新到数据库中。从而实现对大规模知识图谱嵌入模型的训练。

知识图谱嵌入模型适用性

提出的数据库内置知识图谱嵌入模型训练引擎对于在TransE基础上提出的其他基于翻译的知识图谱嵌入模型同样具有适用性。现有的不同模型从不同的角度把相应的语义信息嵌入知识图谱的向量表示中,如TransH、TransR等,本文提出的数据存储方案与数据库内置模型训练算法能够适用于该类模型。此外,通过对知识图谱嵌入模型可解释性的研究,可以将模型的训练及预测过程进行分解并提出新的算子,如数据批量交换算子、梯度下降计算算子以及不同模型对应得分函数计算的算子。通过在数据库底层实现这些新的算子,可以获取数据库技术对不同的大规模知识图谱嵌入模型训练过程的支持。

实验

本节在不同的数据集上进行实验,与TransE模型在单机环境下的框架进行训练的效率和链接预测得到的准确率进行比较,使用的数据集包括两个常用于进行链接预测评估任务的数据集WordNet和Freebase的子集。图3给出了实验所用数据集的具体统计信息,记录了实体、关系的数量以及训练集和测试集包含三元组的数量。

4af4c4ad7ebb08ae71a2cb7d5d8a64ca.png图3 实验数据集

从3个方面对本文提出的方法的性能进行分析与比较.为了验证DB4Trans不会对模型训练的准确率和效率造成影响,将DB4Trans与KB2E在小规模的数据集上进行模型训练,并比较(1)模型训练与预测的效率;(2)模型训练结果进行链接预测的准确率。为了验证DB4Trans对于处理大规模数据集的适用性,并测试其对于数据采样与训练的有效性与高效性,分析(3)在不同规模的数据集下,DB4Trans对数据进行存储的空间开销与数据导入、分批采样训练的时间开销。

在常用的小规模数据集上测试,记录TransE模型训练和预测的时间。图4表明DB4Trans通过数据库进行模型训练与预测可以与原框架KB2E达到相近的效率。小规模数据集上模型训练与预测时间开销的测试证明了DB4Trans能够在不影响效率的前提下支持数据库内置的模型训练与预测。

e0c5e460eb0d61710c5c15099b211b0a.png图4 不同数据集进行模型训练与预测的时间

对上述四个数据集进行链接预测得到的结果进行分析,将DB4Trans和KB2E两种方法得到的三元组的Hits@10的值进行比较,两种方法训练得到的模型在预测结果上基本相近,各数据集训练结果准确率的差异与图5中迭代后loss值的差异相符。结果表明两种方法可以在模型训练的准确性上达到相当的效果,从而验证了DB4Trans对于模型预测的有效性,即DB4Trans利用数据库进行模型训练不会对预测结果的准确率造成影响。

597ebbbd77c027ce64875b8a9163cdf0.png

图5 模型训练 loss 值随迭代次数变化曲线

传统KB2E框架需要将数据全部读入内存后进行计算。在数据规模过大时,导致占用内存过大而无法直接对大规模数据进行训练。而DB4Trans能够通过数据库和内存间的批量数据交换读取数据进行训练,并将训练好的模型存储到数据库中。图6给出了DB4Trans与KB2E对于不同数据集进行采样的时间开销。可以看出,随着训练数据规模的增加,数据导入与采样的效率相比于传统方法能够提升至多一个数量级。

24d7755ca8526d1ba4c53dc1fe406aaa.png图6 数据导入与随机采样所消耗的时间

通过数据在内存和数据库之间的交换,数据分批次从磁盘读入内存中进行训练,经过多次迭代,将训练后的模型结果更新到磁盘中,以用于后续的预测任务。通过这样的方式,能够有效避免现有的TransE实现方法存在的因需要一次性将数据全部读入内存中而导致在进行训练时内存占用率会过大的问题。因此,DB4Trans具备可扩展性并适用于大规模的数据集的训练与预测。

总结

本文提出了一种数据库内置的知识图谱嵌入模型训练引擎DB4Trans,能够在关系数据库内部进行知识图谱嵌入模型的训练,并利用基于数据库技术的优化方法,通过磁盘和内存间数据的不断交换,以支持大规模知识图谱数据的训练。以TransE模型为例,设计训练数据和模型的存储方案,提出利用数据库内的数据访问算法进行模型训练的优化方法。在不同数据集上的实验结果表明,通过将知识图谱嵌入模型训练与数据库技术相结合,DB4Trans能够在不影响原有方法训练准确率和效率的前提下,支持大规模知识图谱的训练,对数据规模具有良好的扩展性,同时也为今后面向知识图谱嵌入的查询工作提供了基础。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

07141a51b147faeb65a35d29b6cfed01.png

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Centos Java1.8+Nginx+redis+pgsql 手工配置

一、系统升级,安装系统常用工具及配置 1.1 升级软件及Centos 内核 yum update -y yum clean all cat /etc/redhat-release 1.2 安装虚拟机守护进程 yum install qemu-guest-agent -y 1.3 安装系统常用工具包 yum install lrzsz vim wget dnf -y 1.4关…

2023牛客寒假算法基础集训营3 -- E-勉强拼凑的记忆(贪心 + 二分)

题目如下: 题解 or 思路: 我们可以发现:除了 n2n 2n2 无解, 其他情况答案至少为 n12\frac{n 1}{2}2n1​ 答案在 n12\frac{n 1}{2}2n1​ 到 nnn 之间 我们可以假设 答案为 ansansans 最优摆放为: 所以可以二分去求…

软件工程 黄金点游戏

这个故事最初出现在 《移山之道》中,我经常拿来做和创新的时机相关课堂练习和讨论,效果很好。我把这个练习和它的一些延伸话题都搬到这个新博客里。 黄金点游戏 N个同学(N通常大于10),每人写一个 0~100之间的有理数 …

1、认识IntelliJ IDEA

文章目录1、认识IntelliJ IDEA1.1 JetBrains公司介绍1.2 IntelliJ IDEA介绍1.3 IDEA的主要优势(对比Eclipse)1.3.1 功能强大1.3.2 符合人体工程学1.4 IDEA的下载【尚硅谷】idea实战教程-讲师:宋红康 生活是属于每个人自己的感受,不…

Python:Docx文档模板创建使用

✨博文作者 wangzirui32 💖 喜欢的可以 点赞 收藏 关注哦~~ 👉本文首发于CSDN,未经许可禁止转载 😎Hello,大家好,我是wangzirui32,今天我们来学习Docx文档模板创建与使用,开始学习吧…

2023新春祝福html代码,包你学会

前言大家新年好!今天是年三十,在这个充满喜悦和欢乐的节日里,祝大家新年快乐。不论你在外面过的风生水起还是不尽人意,回到家一家人团团聚聚才是最好的。进入正题,我们作为IT民工,我们要用自己的方式表达对…

第三天总结 之 商品管理界面的实现 之 页面中 下拉框问题的解决

页面中下拉框问题的解决 在页面中 点击商品类型这个图标 会出现下拉框 展示所有的商品类型 然后通过选择的 类型 来作为 查询时的一个条件 即 当不选或选择展示所有商品时 按照 不对这个条件进行操作 选择其他的商品类型时 会查询出含有该类型的商品 下拉框中 数据的展示与 如…

java设计模式中责任链模式是什么/怎么用责任链模式避免if-else语句

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 6.5 责任链模式 6.5.1 定义 职责链模式,为避免请求发生者与多个处理者耦合在一起,将所有请求处理者通过前一对象记住其下一对象的引用而连…

重学Attention

注意力机制对比RNN 主要解决了RNN无法并行,并且不能解决长序列依赖问题 所以为什么设计 Q K V这三个矩阵 一边来是让 K V的 首先通过Q 和 K点击计算Attention矩阵,这个矩阵表明的是V上每一个特征与Q的相关程度,相关程度高的,权重…

解剖一道有意思的指针题

这道指针题挺有意思的,将各级指针之间的联系联系起来,仔细分析会发现也不难,重在逻辑思维,做完将会加深你对指针的理解的,好好享受指针带来的乐趣吧!!!结果是什么呢?//题…

FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(三)

第七章 实战项目提升,完善简历 19.OV7725摄像头实时采集送HDMI显示(三) 在详细介绍过OV7725 CMOS Sensor的相关背景知识和如何初始化其内部寄存器达到输出预期视频流的目的后,就到了该例程的核心内容即把OV7725输出的视频流预先缓…

Zotero入门教程

文章目录一、生成Bibliography二、Zotero文献自动导入1. 为什么要使用SCI-HUB2. 如何自定义PDF解析器三、在Zotero中添加Extension四、文件存储位置的修改五、markdown笔记功能一、生成Bibliography 在 Document Preferences中点击“管理样式”,就可以在Zotero Styl…

我的周刊(第075期)

我的信息周刊,记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。🎯 项目elasticvue[1]基于 Vue 的 Elasticsearch 管理客户端…

Linux常见命令 16 - 权限管理命令 chown, chgrp, umask

目录 1. 改变文件/目录所有者 chown 2. 改变文件/目录的所属组 chgrp 3. 显示文件的缺省(默认)权限 umask [-S] 1. 改变文件/目录所有者 chown 改变文件权限使用chmod,只有root和当前文件拥有者可以更改,如果想要更改目录/文件的所有者&#xff0c…

MutationObserver的示例代码的使用(附示例代码)

MutationObserver的使用 首先先介绍一下MutationObserver的特点 1.MutationObserver的回调属于微队列 2.它会在触发指定 DOM 事件时,调用指定的回调函数,说白了就是用来检测DOM节点的 MutationObserver回调函数 参数 callback 一个回调函数&#xff0…

论文投稿指南——中文核心期刊推荐(环境科学 2)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

在甲骨文云容器实例(Container Instances)上部署Oracle Linux 7 Desktop

甲骨文云推出了容器实例,这是一项无服务器计算服务,可以即时运行容器,而无需管理任何服务器。 今天我们尝试一下通过容器实例部署Oracle Linux 7 Desktop。 创建容器实例 在甲骨文容器实例页面,单击"创建容器实例"&am…

分享150个PHP源码,总有一款适合您

PHP源码 分享150个PHP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 150个PHP源码下载链接:https://pan.baidu.com/s/1PWajFunhPFyoNFGc6F4qSQ?pwd0sq5 提取码&#…

Linux rm命令详解,Linux删除文件目录

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 rm 命令一、常用操作1. 删除文件2. 删除目录二、其他操作作用:删除文件或目录 参数: -f 直接删除&#xff0c…

steam/csgo搬砖项目真的假的?

本文全文干货分享,如果你想通过steam搬砖做副业赚钱,看这一篇就够了! 这个项目是什么意思? 是不是你也很好奇这个玩法?我们先看下我们自己的数据,再来解释一下我们怎么赚的钱 一、项目原理 利用steam平台…