什么是本体论(ontology)

以下内容参考B站博主:10分钟了解什么是Ontology本体(一)_哔哩哔哩_bilibili

 

ontology本体论,按照单词来说,onto词根代表存在,logy词根代表学说。

简单来说,哲学本体论追问“世界本质是什么”,计算机领域的本体则是一种让机器理解概念的“知识模型”。

image

 

本体建模就是把某个领域的知识,按照上述“标准”搭建成模型的过程。核心工作通常是明确几样东西:

  • 类(概念):领域里有哪些重要事物,比如“医院”领域里的“医生”“患者”“药品”。

  • 属性:这些事物有什么特征,比如“医生”有“姓名”“科室”。

  • 关系:事物之间怎么关联,比如“医生”治疗“患者”。

建好之后,这个模型就能用于知识图谱、语义搜索、数据集成等场景,让机器能进行简单的逻辑推理。

需要注意:本体的构成存在两个版本

(1)W3C制定OWL的官方标注分类,类、个体、属性(数据属性和对象属性)、公理

(2)国内知识图谱的分类,类、属性、关系,约束,这里把个体的实例放到了知识图谱,把属性的数据数据和对象属性分别拆开成属性和关系,公理对应约束条件。

image

 

什么是语义网技术栈

(1)IRI,全局唯一标识

最底层是IRI,给每个事物一个全局唯一的标识,哪怕是不同的HR系统和项目系统,只要是同一个IRI就是同一个东西,这是跨系统数据集成的基础

image

 (2)RDF,三元组数据模型

RDF把所有知识都表示成三元组:主语、谓语、宾语。例如张三管理研发部,就是一个三元组,许多三元组在一起则构成一张图。

image

 (3)RDFS,基本模式词汇

RDFS在RDF的基础上,加入了最基本的模式词汇:类、子类、属性的定义域和值域。这里已经可以描述一个简单的类层次,

image

 (4)OWL,本体语言,描述逻辑

OWL以描述逻辑为理论基础,表达能力更强,可以声明互斥的类、基数限制、逆属性和传递属性,还能用已有的类组合出新的类

image

 (5)SPARQL和SHACL

查询用SPAEQL,写法像SQL,匹配的是图模式。数据校验用SHACL,可以检查每个员工必须有入职日期这类约束。

image

 这里需要注意:

OWL采用开放世界假设,在传统数据库里,如果查不到一条记录就认为它不成立,但OWL里没有查到记录只是认为未知,并不代表不成立。

例如本体规定每个员工至少就职于一个部门,而李四的数据里没有部门,数据库的约束会直接报错;OWL推理机制却会认为李四一定就职于某个部门,只是暂时不知道是哪个,要检查数据是否完整,应该用SHACL,按照封闭世界的方式来验证

image

 

本体和普通数据模型最大的区别是什么

最大的区别在于,本体能够推理,推理机读取本体和数据,按照逻辑规则自动推出隐含的事实

image

 (1)第一种是沿着类层次推理。例如张三是经理,经理是员工的子类,员工又是人的子类,所以推理机可以得出张三是员工,也是人

image

 (2)第二种来自定义域和值域。假设数据里只写了一句话:王五管理市场部,虽然没有提到王五是什么,但因为管理的定义域是经理,值域是部门,推理机可以得出王五是经理,市场部是部门

image

 (3)第三种来自属性的特征。

传递属性(Transitive):例如测试组下属于研发部,研发部下属于技术中心,那么测试组也下属于技术中心

互逆属性(InverseOf):例如管理和被管理可以声明为互逆属性,只写一个方向,另一个方向自动成立

image

 (4)另外,推理机还能检查一致性。如果有人把研发部同时标成了人,而本体声明人和部门互不相交,推理机就会报告矛盾,这相当于在逻辑层面给数据跑了一遍单元测试

image

 

这是本篇文章的重点:本体论在大模型时代的用法

在大模型时代,本体建模就是为某个领域定义一套共享的概念、关系和操作语义,形成机器可用的“语义约束层”。它通过约束信息抽取、图检索增强生成、智能体语义层三种方式,让大模型应用更规范、检索更相关、智能体更可靠。

(1)约束信息抽取:本体建模是“抽取规则的定义过程”,本体建模预先定义领域中的类(概念)、关系、属性,大模型从文本中抽取三元组时必须按照这套预先的框架来输出。因此,本体建模在这里的作用是约束信息抽取的结果,让抽取出的三元组更规范、更一致、更可复用。

(2)图检索增强生成(GraphRAG):本体建模是“知识图谱结构的设计过程”,在传统 RAG 基础上引入知识图谱,自动从文档抽取实体与关系构建一张完整知识关系网络。因此,本体决定了知识图谱的结构,帮助检索出更相关的上下文

(3)智能体语义层:本体建模是“业务语义层的构建过程”,把业务中的概念、属性和可执行操作明确地定义出来。智能体借助这层语义理解业务概念和可执行操作,从而更准确地理解任务、降低出错概率。

image

 

很多人搞不清楚,本体和知识图谱这两个经常一起出现,具体有什么区别

我是这么理解的,知识图谱 = 模式层(本体)+ 实例数据。

(1)本体负责定义规则。例如下图中,本体定义了有哪些类型(人物、作品、博物馆、城市)、允许什么关系(创作、收藏于、位于),负责定义规则和骨架。

(2)知识图谱负责填充数据,由具体的实体、关系、属性构成。例如下图中,知识图谱负责填充具体是谁、哪件作品、哪个馆、哪座城市的实例数据,达芬奇是人物类的实例,蒙娜丽莎是作品类的实例,知识图谱里的每一条具体事实,都必须符合本体定义的类与关系规则。

image

image

 

我们再回过头看一下,什么是本体

(1)定义:本体是对共享概念化的形式化、明确的规范说明

(2)构成:本体是由类、个体、属性、公理构成

(3)语言:本体可以用RDF、RDFS、OWL、SPAEQL、SHACL进行表达

(4)推理:本体可以用推理机推出隐含的知识

(5)知识图谱:知识图谱是承载海量事实的图,本体是它的语义骨架

image

image

 

现在本体论,本体建模为什么又火起来了

我理解的是在大模型时代,本体怎么定义的方式改变了。

(1)传统做法,要靠知识工程师和业务专家一起花几个月梳理概念、编写映射,这才是很多团队望而却步的原因

(2)大模型时代,可以让AI先读数据目录里的表结构、注释和样例数据,直接起草本体和映射,再交给专家审核。

 

AWS开源的Context Ontology Accelerator就是这样的一个工具,流程分为三步:

(1)扫描:连接数据源,发现表结构,补充元数据,也可以导入非结构化文档

(2)建模:根据数据归纳出本体,定义指标,构建统一的语义图

(3)服务:通过查询和图遍历,把上下文交给Agent

image

 

本体建好了,如何交给Agent应用

目前通用的方法是MCP(模型上下文协议),语义层把自己的能力封装成MCP 工具,让大模型或智能体通过调用这些工具来“动手”操作本体。

image

 

posted @ 2026-11-03 17:55  马铃薯1  阅读(9)  评论(0)    收藏  举报