知识图谱的演进与基于 OpenSPG+TuGraph 的推理实践

news2024/11/28 22:51:30

本文为蚂蚁集团开发工程师王少飞在TuGraph Meetup北京站的演讲,主要介绍了蚂蚁知识图谱平台经过多年金融领域业务沉淀的知识语义增强可编程框架SPG,及TuGraph作为执行引擎在图谱推理过程的作用。

作者介绍: 王少飞,蚂蚁知识图谱推理开发工程师,作为核心开发者从0到1参与了推理引擎的建设,目前负责OpenSPG-Reasoner模块的开源和维护。

🌟OpenSPG GitHub,欢迎大家 Star 关注~:
https://github.com/OpenSPG/openspg

知识图谱发展阶段与趋势

图片

知识图谱作为结构化语义知识库,用来描述和建模现实世界中各物及其之间的复杂关系。其发展历程可概括为三个阶段:通用知识图谱阶段、领域知识图谱阶段及与大模型结合阶段。

  • 通用知识图谱阶段:此阶段以从开放数据集中抽取SPG(Subject-Predicate-Object)三元组构建静态知识库为主,旨在提升搜索推荐精准度与用户体验;
  • 领域知识图谱阶段:知识获取方式从开放支持域到封闭支持域为主,融合专家经验规则,旨在挖掘专业领域内稀缺知识,主要用于如风控、信贷等场景;
  • 企业级知识管理:当前阶段与大模型相结合,知识图谱目标变成关注知识标准化、跨域数据互联与复用等问题。

图片

从静态常识到 Deep Context:随着阶段演进,仅在推理过程中加入文本信息,概念,或加入交易或社交等实体间关系,其推理效果并无显著效果。转而强调实体多要素信息的深度协同,以揭示稀疏实体间隐含的语义关联,实现语义可解释的稠密化。

SPG语义增强

任何复杂技术的大规模产业化应用都需要统一的技术框架,以屏蔽复杂的技术细节以实现跨场景迁移性支持新业务的快速部署。蚂蚁知识图谱团队通过多年业务实践的总结,提出了新一代知识语义框架SPG并开源,充分借力LPG的结构性与RDF的语义性实现可编程范式的知识引擎架构,支持各领域图谱的高效构建和跨领域的知识语义对齐。

SPG知识图谱其主体模型的语义增强与业界主流方式存在差异,主要体现在以下方面:

  • 知识定义:将知识分为实体、概念和事件三类。实体为与业务紧密相关的客观实例,可通过属性描述与画像刻画(如用户、企业);概念为从具体到一般的抽象,描述一组实体集合,具有相对静态与较强的泛化性;事件则为附有时空约束的实体类型,例如行业事件、企业事件、诊疗事件等。

图片

  • 语义增强示意:对传统属性图进行改造,将实体的简单文本属性通过语义增强。例如,将shop的province、city等通识属性链指到具体的概念上,并建立上下级关系;将邮箱及其具体格式进行标准化处理,转化为标准实体,实现对实体属性的深度理解与有效关联。

图片

SPG能力进化与升级

SPG能力的进化与分级共包括五个阶段,其能力逐渐增强并且逐步进行兼容:

  • 兼容模式:目标是实现大数据体系下结构化与非结构化数据能够快速建立简单属性图,以及能够使用图推理能力;
  • 领域模型约束:加入更多schema约束,对普通属性进行抽象,将其抽象成一些概念或者标准的实体,此时这些主体属性不再是一个简单的属性,而是链指到一些具体的概念上;
  • 数据到知识的迭代演化:随着不断迭代,通过加入更多链指以及融合算子,来强化主体唯一性,发现主体间更丰富的语义关联。例如,知识图谱中已经存在的商店,和另一个域下有口碑描述或抽象出来的商店,可能为同一个店铺。为了消除同一实体的不一致性,通过加入内置的融合算子(fuseOp),将它融合成一个实体;
  • 谓词语义及逻辑符号:对于谓词的抽象,例如preferences在传统的属性图里就是一个简单的属性,我们把这个属性抽象成类目的概念,类目下可能有成都火锅,为此链指一条边,用户user到Category类目下可能也有一条边,于是通过链指的方式,就可以做更多的模糊推理或推荐。
  • 符号语句化阶段:定义谓词之间的关系,例如可以定义两个谓词间的互反和互斥的关系,通过符号化的表示来定义逻辑的规则,从而进行推理。

图片

利用TuGraph赋能SPG图谱推理

如何在知识图谱推理中使用 TuGraph 能力?首先在知识推理中,利用OpenSPG逻辑规则执行引擎,其大致可以分为三部分:

  • 最上层为用户的输入,用户可以通过我们自定义的符号KGDSL来输入,同时也接受ISO接口标准输入;
  • 中间层是我们的解析编译与优化过程,可以通过Lube将它解析优化成最终执行计划。右边catalog是在编译过程中或解析过程中对一些谓词,事件概念,大模型进行管理;
  • 最下层Adapter,可以去对接TuGraph-Analytics,或者是TuGraph-db。

图片

在图谱推理中,主要分为在线分析处理(OLAP)与离线场景的应用:

  • OLAP场景:在OLAP场景中,由TuGraph来提供类似于Cypher查询语言。首先用户通过Schema建模后,将想要的数据导入TuGraph-db中,之后用户每一个query进来后都有推理引擎来执行编译与优化,生成ISO-GQL语言,最终通过与TuGraph-db通信完成查询或完成修改目标。

图片

  • 离线场景:在离线场景下,利用TuGraph提供的计算编程框架,用户可嵌入自定义算子来实现支持SPG能力。整个流程需要用户新建离线任务,经规则解析器解析生成执行计划,并对每一个执行计划进行对应OP操作。根据adapter的不同,生成基于 TuGraph 每一个OP的实现。编译打包为插件提交至TuGraph-Analytics-Engine运行,最终获得逐步推理结果。左侧就是我们所提供的所有OP的列表。最终我们用到TuGraph-Analytics的一些能力,其实就是一些节点管理的能力,数据管理的能力和数据计算的能力。

图片

SPG知识图谱语义框架以其独特的语义增强方法与能力进化机制,结合 TuGraph平台的强大功能,为知识图谱的构建、推理与应用提供了有力支撑,适应了现代知识图谱技术的发展趋势与应用场景需求。

关注我们

查看官网: spg.openkg.cn/

Github: github.com/OpenSPG/ope…

SPG 知识图谱 平台致力于分享 SPG 及 SPG + LLM 双驱架构及应用相关进展,欢迎大家扫码关注~

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

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

相关文章

微信小程序抓包教程

前言 笔者最近在研究如何又简单又精准的对微信小程序进行HTTP/HTTPS流量抓包,然后进行渗透测试。研究了几天,发现了一个最适合自己的方法,特此进行记录。 前期准备 流量工具:Proxifier抓包工具:BurpSuite电脑端微信…

选择程序员是为什么?

本章节是关于为什么会选择一名程序员的经验分享 首先,我为什么会选择这个方向,可能是因为钱多,学东西不就是为了赚钱嘛?这是一点,不过最让我接收这个行业的是好奇世界的新大陆,可以简单的说就是&#xff0c…

蓝桥杯第十届c++大学B组详解

目录 1.组队 2.年号字符 3.数列求值 4.数的分解 5.迷宫 6.特别数的和 7.完全二叉树的权值 8.等差数列 9.后缀表达式 10.灵能传输 1.组队 题目解析:就是在个篮球人中选择这个最大的成绩,每个人只能选择一次不能重复选择。选满5人之后的成绩是最…

洛谷P1115最大子段和[神奇的题目]

啊,好久没更新了 往期内容推荐: 欧几里得算法-----无聊的军官pro max版本-CSDN博客 (并不怎么华丽的分割线) 一,题目描述 给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。 ## 输…

npm i -g nodemon 遇到的下载卡住及运行权限问题解决记录

一、下载nodemon原因 nodemon作用:用node环境运行js文件时可以实时刷新运行出结果 (即修改js代码后不需再手动重新运行js文件) 二、下载卡住 reify:semver:timing reifyNode:node_modules/nodemon Completed 卡住位置:reify:semver: timing reifyNode…

C语言—每日选择题—Day69

第一题 1、以下程序的输出结果是( ) int main() {char arr[2][4];strcpy (arr[0],"you");strcpy (arr[1],"me");arr[0][3]&;printf("%s \n",arr);return 0; } A: you&me B: you C: me D: err 答案及解析 A 这里重…

多项式拟合:最小二乘、拉格朗日插值、牛顿插值

多项式拟合是一种常用的数学和机器学习方法,它使用一个多项式函数来拟合一组数据点。多项式拟合的目的是在众多的样本点中找出满足样本点分布的多项式。它基于多项式函数的性质,可以表示为 yw0w1xw2x2…wnxn 的形式,其中 y 是因变量&#xff…

学习大数据,所需要的java(Maven)基础(1)

文章目录 使用Maven的优势第三方jar包添加第三方jar包获取jar包之间的依赖关系jar包之间的冲突处理将项目拆分成多个工程模块 实现项目的分布式部署Maven是什么自动化构建工具构建的概念构建环节自动化构建 Maven如何使用安装Maven核心程序maven联网问题Maven中的settings配置在…

【vue】v-bind动态属性绑定

v-bind 简写:value <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><styl…

4月跨境选品攻略:四类爆品机会,抢占市场流量!

我们来聊聊4月份海外电商的选品&#xff0c;4月份开始进入年春季&#xff0c;在西方人们开始更多的户外活动&#xff0c;阳光更加明媚&#xff0c;所以哪些产品在这个季节很好销售呢&#xff1f; 第一类&#xff1a;墨镜 谷歌搜索过去五年的搜索数据显示&#xff0c;每年4月份…

变速齿轮原理分析及检测方案

据FairGaurd游戏加固观察&#xff0c;在游戏面临的众多外挂风险中&#xff0c;除了常见的内存修改、模拟点击、注入挂等作弊手段&#xff0c;黑灰产还常用「变速」手段实现作弊。 游戏安全风险分布占比图 「变速」顾名思义是指改变游戏运行速度。具体原理为通过 HOOK 游戏内时…

遥控小车电子方案

遥控小车的功能开发主要包括以下几个方面&#xff1a; 1.基本功能开发&#xff1a; 前进、后退、左转、右转&#xff1a;通过遥控器上的控制按钮&#xff0c;实现小车的前进、后退、左转和右转。加速、减速&#xff1a;通过遥控器上的油门控制按钮&#xff0c;实现小车的加速…

Can Transformer and GNN Help Each Other?

ABSTRACT 尽管 Transformer 在自然语言处理和计算机视觉方面取得了巨大成功&#xff0c;但由于两个重要原因&#xff0c;它很难推广到中大规模图数据&#xff1a;(i) 复杂性高。 (ii) 未能捕获复杂且纠缠的结构信息。在图表示学习中&#xff0c;图神经网络&#xff08;GNN&…

论文笔记:NEFTune: Noisy Embeddings Improve Instruction Finetuning

iclr 2024 reviewer 评分 5666 1 论文思路 论文的原理很简单&#xff1a;在finetune过程的词向量中引入一些均匀分布的噪声即可明显地提升模型的表现 2 方法评估

CUDA与cuDNN详细安装教程(最新)

写在前面&#xff1a; 在深度学习中&#xff0c;我们常常要对图像数据进行处理和计算&#xff0c;而处理器CPU因为需要处理的事情多&#xff0c;并不能满足我们对图像处理和计算速度的要求&#xff0c;显卡GPU就是来帮助CPU来解决这个问题的&#xff0c;GPU特别擅长处理图像数…

2024 年“认证杯”数学中国数学建模网络挑战赛

题目 C题 云中的海盐 巴黎气候协定提出的目标是&#xff1a;在 2100 年前&#xff0c;把全球平均气温相对于工业 革命以前的气温升幅控制在不超过 2 摄氏度的水平&#xff0c;并为 1.5 摄氏度而努力。 但事实上&#xff0c;许多之前的研究已经指出&#xff0c;全球的碳排放以及…

【面试八股总结】进程(二)

参考资料 &#xff1a;小林Coding、阿秀、代码随想录 一、进程调度 当⼀个进程的状态发⽣改变时&#xff0c;操作系统需要考虑是否要换⼀个进程执行&#xff0c;这就需要⽤到“进程调度算法”。 1. 调度目标 不同的调度算法具有不同的特性&#xff0c;因为使用以下标准比较…

Codewars:找到奇数 int

Codewars&#xff1a;找到奇数 int 给定一个数组&#xff0c;找到出现次数为奇数的整数。在数组中&#xff0c;总会有一个整数出现奇数次&#xff0c;尽管其他数字可能会出现多次。 例子&#xff1a; 输入&#xff1a;findOdd([20, 1, 1, 2, 2]) 输出&#xff1a;20输入&…

Thingsboard PE智慧运维仪表板实例(一)【智慧排口截污实例】

1、仪表板总览 以该实际落地项目为案例,跟着我一起搭建智慧运维大屏!社区版和专业版都通用。本文是致力于快速搭建,所以不会详细去讲Thingsboard的知识点,只讲如何配置和使用部件。 搭建仪表板的整体效果如下: 点击左侧设备列表可以查看设备详细页面: 2、设备 我的设备都…

为什么在深度神经网络中,网络权重的初始化很重要?

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 在深度神经网络中&#xff0c;网络权重的初始化非常关键&#xff0c;因为它对网络的训练速度、收敛能力以及最终的性能都有重大影响。具体来说&#xff0c;权重初始化的重要性主要体现在以下几个方面&a…