本体(Ontology)概述

article/2025/9/6 19:13:00

认识本体

       本体(Ontology)的概念源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体可以在语义层次上描述知识,可以看成描述某个学科领域知识的一个通用概念模型。德国学者Studer在1998年给出了本体的相关定义“本体是共享概念模型的形式化规范说明”。这个定义包含了四层含义:即共享(share)、概念化(Conceptualization)、明确性(Explicit)和形式化(Formal)。

(1)共享:指本体中体现的知识是共同认可的,反映在领域中公认的术语集合。

(2)概念化:指本体对于事物的描述表示成一组概念。

(3)明确性:指本体中全部的术语、属性及公理都有明确的定义。

(4)形式化:指本体能够被计算机所处理,是计算机可读的。

      本体通常用来描述领域知识。我们可以这样理解它:本体是从客观世界中抽象出来的一个概念模型,这个模型包含了某个学科领域内的基本术语和术语之间的关系(或者称为概念以及概念之间的关系)。本体不等同于个体,它是团体的共识,是相应领域内公认的概念集合。

                                          领域本体示例

本体分类

      关于本体的研究非常广泛,最为常用的分类方法是根据本体应用主题,将这些为数众多的本体划分为五种类型:领域本体、通用或常识本体、知识本体、语言学本体和任务本体。而依据本体的层次和领域依赖度,Guarino等人将其分为四类:顶层本体、领域本体、任务本体和应用本体。

(1)顶层本体:研究通用的概念以及概念之间的关系,如空间、时间、事件、行为等,与具体的应用无关,完全独立于限定的领域,因此可以在较大范围内进行共享。

(2)领域本体:研究的是特定领域内概念及概念之间的关系。

(3)任务本体:定义一些通用任务或者相关的推理活动,用来表达具体任务内的概念及概念之间关系。

(4)应用本体:用来描述一些特定的应用,既可以引用领域本体中特定的概念,又可以引用任务本体中出现的概念。

                                                                                             

                                              本体分类

本体中的建模元语言

      一个本体可以由类(class)、关系(relations)、函数(function)、公理(axioms)和实例(instances)五种元素组成。其中类也称之为概念。

(1)类:描述领域内的实际概念,既可以是实际存在的事物,也可以是抽象的概念,如大学、电影、人等;

(2)关系:用于描述类(概念)之间的关系,如part-of、kind-of等;

(3)函数:函数是一类特殊的关系,在这种关系中前n-1个元素可以唯一决定第n个元素,如mother-of关系就是一个函数,mother-of(x,y)表示y是x的母亲,x可以唯一确定它的母亲y;

(4)公理:公理代表本体内存在的事实,可以对本体内类或者关系进行约束,如概念甲属于概念乙的范围;

(5)实例:表示具体某个类的实际存在,如云财是大学的一个实例;

本体类(概念)之间的关系有四种基本关系。

本体中类(概念)之间的四种基本关系
关系关系描述
part-of局部与整体的关系
kind-of父类与子类之间的关系
Instance-of在类中填充实例,类与实例之间的关系
Attribute-of类的属性,有对象属性和数据属性

本体的构建方法

      本体的构建方法多种多样,常见的有如下几种。

1、TOVE法:TOVE是指多伦多虚拟企业(Toronto Virtual Enterprise)专门用于构建TOVE本体(关于企业建模过程的本体)。

2、METHONTOLOGY法:专用于构建化学本体(有关化学元素周期表的本体)。

3、骨架法:专门用于构建企业本体,建立在企业本体基础之上,是相关商业企业间术语和定义的集合。

4、KACTUS工程法:是基于KACTUS项目而产生的,KACTUS是指关于多用途复杂技术系统的知识建模工程。

5、七步法:斯坦福大学医学院开发的七步法,用于领域本体构建。七步骤为:确定领域本体的范畴;复用现有的本体;列出领域内的术语;定义类和类的等级关系;定义类的属性;定义属性的分面;填充实例。

6、基于叙词表的领域本体构建:叙词表又称为主题词表,是一种语义词典,由术语及术语之间的关系组成,能够反映某学科领域的语义相关概念。由于叙词表包含丰富的领域概念和一定的语义关系,在表达和知识结构上与本体有着天然联系,包含了本学科比较完整的术语,因此,国内外很多学者都在尝试将叙词表转换为本体。国内目前基于叙词表已经转化成型的本体原型有《国防科学技术叙词表》和《中国农业科学叙词表》。

本体的描述语言

     本体的描述语言众多,而W3C推荐的本体描述语言主要有RDF、RDFS和OWL。

1、RDF(Resource Description Framework,资源描述框架)

客观世界中任何一种关系都可以用一个三元组(主体/主语、谓语、客体/宾语)来进行表达。RDF用于描述web上的资源,是使用XML语言编写、计算机可读的,不是为了向用户展示。RDF使用web标识符(主体/主语)来标记资源,使用属性(谓语)和属性值(客体/宾语)来描述资源。这里的资源、属性和属性值就构成了一个陈述(或者被称为陈述中的主体、谓语和客体)。

比如一个陈述:The author of book is fengxianhe.

这里,陈述的主体是book,谓语是author,客体是fengxianhe。

本体中的类(概念)就是RDF三元组中的主体/客体,类的属性就是RDF三元组中的谓语。RDF数据也可以被表示为一个带有标记的有向图,图上的节点对应三元组中的主体和客体,边对应谓语。

2、RDFS(RDF Schem,RDF词汇描述语言)

RDFS是在RDF基础上对其进行扩展而形成的本体语言,解决了RDF模型原有的缺点,定义了类、属性、属性值来描述客观世界,并且通过定义域和值域来约束资源,更加形象化表达了知识。

3、OWL(Web Ontology Language,Web本体语言)

OWL是由W3C开发的网络本体语言,用来对本体进行语义描述。OWL保持了原有RDF、RDFS的兼容性,有保证率较好的语义表达能力,根据表达能力的增强顺序OWL分为三种子语言:OWL-Lite、OWL-DL和OWL-Full。OWL本体中有3中基本元素:类、属性和实例。

本体的开发工具

      大规模领域本体的构建比较复杂,耗时耗力,而且需要具备领域背景知识的专家参与。手工构建一个规模化的领域本体是不可能的,为了方便领域本体的构建,国外研究机构提出了半自动化构建领域本体的方法,借助流行的本体编辑工具protege。protege是斯坦福大学医学院基于Java语言编写的,本体构建工具,它提供了一个图形化和交互式的知识本体开发环境。支持RDF、RDFS、OWL等本体语言在系统外对本体进行编辑和修改。

                                                                                  protege开发界面


​​​​

 


http://chatgpt.dhexx.cn/article/6drvigov.shtml

相关文章

区块链 Vs. 互联网,创新在哪里?

本文转载自共识未来公众号 引言:最近关于区块链革命的提法少了很多,我们很少再听到“区块链即将颠覆互联网”的提法,这似乎也寓意着区块链技术(加密技术)正在进入一个理性发展的阶段,如果按照Gartner的技术…

js提交form表单

【背景】 前段时间将边用边学javascript.pdf书看完了,其中之前最不熟悉的也是这次印象最深刻的就是提交form表单,所以在这里总结一下js提交form表单,以及表单中对应的一些扩展知识O(∩_∩)O~ 【概念】 表单在网页中主要负责数据采集功能;一个表单偶三个基本组成部分&am…

JavaScript笔记-点击button提交form表单

功能如下&#xff1a; 点击购买后&#xff0c;点击确定。 确定调用了一个js函数&#xff0c;提交form表达给后端 代码如下&#xff1a; <div class"modal-footer"><button type"button" class"btn text-white border bg-dark" data-b…

yeild函数

1、把函数变成一个生成器 2、起到延迟的作用&#xff0c;在需要的时候产生结果&#xff0c;节省资源 3、声明一个序列不同的是生成器在不使用的情况下&#xff0c;是不占内存的 def getNum(n):i 0while i < n:print(i)i 1getNum(5)def getNum(n):i 0while i < n:retu…

Python关键字------yeild

文章目录 yeild例子 在阅读python程序源码的时候&#xff0c;发现yeild关键字&#xff0c;产生了疑惑&#xff0c;看了很多博客感觉没有能够讲清楚的。 yeild yeild其实可以理解成return&#xff0c;不够有点区别的是return是不会执行下面的语句&#xff0c;而yeild在满足一定…

join(),sleep() 和 yeild() 方法的区别

目录 1、join() 方法&#xff1a;释放锁 2、sleep() 方法&#xff1a;不释放锁 3、yeild() 方法&#xff1a;不释放锁 1、join() 方法&#xff1a;释放锁 使用场景&#xff1a; 等待调用 join() 方法的线程结束之后&#xff0c;程序再继续执行&#xff0c;一般用于等待异步…

C#中关于Task.Yeild()的探究

在与同事讨论async/await内部实现的时候&#xff0c;突然想到Task.Yeild()这个函数&#xff0c;为什么呢&#xff0c;了解一点C#async/await内部机制的都知道&#xff0c;在await一个异步任务&#xff08;函数&#xff09;的时候&#xff0c;它会先判断该Task是否已经完成&…

python yeild next使用注意事项

关于得带的基本使用方法&#xff0c;可以往上查一下。这里主要记录下在编码中可能遇到的报错&#xff0c;和处理方式。 import timedef func3():for i in range(5):yield iwhile True:a next(func3())print(a)time.sleep(1) 如果使用上面这种取值方式&#xff0c;你会发现会…

Java多线程礼让yeild()和插队join()方法案例

一. yeild()和join()方法 1.yeild():线程礼让&#xff0c;让当前正在执行的线程可能暂停&#xff0c;但不阻塞 2.yeild():当前正在执行的线程可能暂停&#xff0c;也可能不暂停。 3.yeild():是静态方法&#xff0c;而join()是非静态方法 4.join():能…

gitlab artifacts too large

gitlab在打包artifacts遇到&#xff1a; Uploading artifacts as “archive” to coordinator… too large archive 413 error 网上看了很多方案&#xff0c;一般都是说在admin账户的setting下找到CI/CD&#xff0c;把Maximum artifacts size (MB)改大点 当然这是其中一个点哈…

IDEA 解决 artifacts not found 问题

目录 1. 问题2. 解答方法一方法二 1. 问题 部署 Tomcat 时&#xff0c;选择 Edit Configuration 无 Artifact 选项。 2. 解答 方法一 选择 Fix 直接修复即可。 方法二 打开 Project Structure&#xff1b;选择 Aritfacts 选项&#xff1b;点击 号&#xff0c;选择 Web …

jenkins使用Send build artifacts over SSH遇到的坑

在jenkins构建项目后&#xff0c;优势需要把jar等文件复制到其他服务器&#xff0c;如下图&#xff0c;可以使用Send build artifacts over SSH功能。 但是在使用时可能会遇到无法复制成功 可以从以下几方面入手&#xff0c;基本可以解决该问题 1、检查是否配好了目标主机的用…

【论文笔记】Details or Artifacts: A Locally Discriminative Learning Approach toRealistic Image Super-Reso

细节还是伪纹理&#xff1a;真实图像超分辨率的局部判别方法 来自于CVPR2022&#xff0c;作者Jie Liang&#xff0c; Hui Zeng and Lei Zhang 论文地址&#xff1a;https://arxiv.org/abs/2203.09195 Abstract: 目前超分想要优异的纹理信息&#xff0c;那GAN&#xff08;生成…

解析IDEA中的Artifacts配置

1. Artifact 2. Artifact名称 3. Artifact类型 4. 输出路径&#xff08;也就是Deployment root部署根目录&#xff09;&#xff0c;项目运行后的输出根目录 5. 输出根目录&#xff0c;即4指定的地址 6. 输出目录下的结构层次 针对指定项目&#xff0c;对应分析 1. 输出根…

idea配置Tomcat时没有Artifacts选项

想要解决没有artifacts选项的问题&#xff0c;首先要配置项目结构。 点击加号&#xff0c;选择web 然后修改地址,编译后的文件将会生成在你修改的文件夹下&#xff0c;点击Apply应用所作的修改&#xff0c;然后点击Create Artifacts 此时idea就会在Artifacts下生成一个Web expl…

idea为web项目添加tomcat并配置Artifacts

背景 有一天聪明的小峰从网上找了一个web项目&#xff0c;但是只有代码没有启动步骤&#xff0c;作为小白的我解决这个问题也不太顺利特此记录一下。 主要解决的问题&#xff1a; 为项目添加tomact 配置Artifacts 引入 jar包 小峰找的项目地址&#xff1a;https://github.com/…

idea配置factets和Artifacts

最近需要把项目部署到服务器&#xff0c;需要打个war包&#xff0c;有好多不太明白&#xff0c;把搜索学习到的知识点汇总一下&#xff0c;以备后用&#xff0c;本人使用的版本是2020.3版本。 在说明这个配置过程之前&#xff0c;先简单的介绍一下这两个是什么&#xff0c;有什…

IDEA中WEB项目结构和Artifacts设置

公司的WEB项目结构一直比较随意&#xff0c;没有统一的规范&#xff0c;新增项目也是直接用旧的项目文件夹拷贝过去修改&#xff0c;时间长了以后项目文件结构混乱&#xff0c;研究了半天终于找到了&#xff08;可能&#xff09;正确的目录结构设置&#xff0c;能够直接输出正确…

棋盘效应(Checkerboard Artifacts)

定义&#xff1a;棋盘效应是由于反卷积的“不均匀重叠”&#xff08;Uneven overlap&#xff09;的结果。使图像中某个部位的颜色比其他部位更深&#xff1a; 具体原因&#xff1a;在反卷积操作时&#xff0c;如果卷积核&#xff08;Kernel&#xff09;大小不能被步长&#xff…

Idea 精准到类的打包方式:Artifacts 打包

这种打包方式更精确&#xff0c;可以直接精确到具体类&#xff0c;这种情况下打的包&#xff0c;上传到 Flink web 时&#xff0c;不需要手动写入 class 文件名&#xff0c;它会自动填入&#xff0c;如果没有自动填入&#xff0c;或许是你的 Flink 版本太低了&#xff0c;我的是…