知识图谱的演进与基于 OpenSPG+TuGraph 的推理实践
本文为蚂蚁集团开发工程师王少飞在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…
版权声明: 本文为 InfoQ 作者【可信AI进展】的原创文章。
原文链接:【http://xie.infoq.cn/article/95a12f10a54b598a63a0238e1】。文章转载请联系作者。
评论