知识图谱初步学习(二)——关系+属性+推理 学习

知识图谱初步学习(二)——关系+属性+推理 学习


前言

上节内容是介绍如何构建一个简单的本体,只有类和其子类,这一节将继续构建本体,本次我们需要在之前构建的问本体基础上给类和实例加上属性,以及他们之间的关系,然后通过推理机进行推理。使用版本:protege5.5。

提示:以下是本篇文章正文内容,下面案例可供参考。

零、如何导入系统自带本体?

如果不想自己创建,可以先看看这个例子。
从Web打开Pizza本体。从File菜单中选择Open from URL… 打开一个对话框,询问您是否要在当前窗口中打开本体,选择No。在下一个对话框中,在URI下输入http://protege.stanford.edu/ontologies/pizza/pizza.owl ,点击OK。

一、本体构建的步骤

  1. 定义实体分类。
  2. 定义实体分类的分类关系(即子类父类的分类树)。
  3. 定义槽位以及槽位取值的限制。
  4. 设定槽位取值的缺省值。

二、本体迭代的步骤

本体开发是一个迭代过程。共分为七步,也可以说是本体构建的七步法。

  1. 确定本体的领域和范围;
  2. 考虑重新使用现有的本体;是否可以改进和扩展现有的资源来支持目标领域和任务。如果要和其他应用程序交互,则必须重用现有本体。
  3. 列举本体中的重要术语;
  4. 定义类和类的层次结构(自上而下,自下而上,混合法) ;
  5. 定义类的属性-槽位;
  6. 定义槽位的刻面(facet,槽位取值特征);
  7. 创建实例。(选择-个类-类的个体实例填充槽值)。

三、添加关系

本次构建的是按照中国图书馆馆分类法来进行构建的,之后关系构建的是图书分类和人(读者,作者,其他人)的关系。
在这里插入图片描述
先根据上一篇定义实体的分类,确定领域和其范围。如图所示:
在这里插入图片描述

1.添加对象属性

命名规则:
和Thing-样,topObiectProperty是 所有属性的根节点。对属性的操作也是主要由三个button来完成。和类-样,对象属性的名字是不能重复的。同时在《官方手册》中也建议,在命名时为了方便管理,最好能够一目了然地反应对象属性所描述的关系。如果是用英文命名,建议是第一个词用小写字母,每个词之间不用空格! (因为空格可能会在编程的时候带来麻烦),从第二个词开始首字母大写(便于区分不同的词,能够更快地理解对象属性的含义) ;此外,《手册》 还建议第一个小写单词尽量用is和has,因为这是最常见的对象属性。如果是用中文命名,我感觉就是避免歧义就好了。例子:比如"isParentOf"和"isChildOf"就是一 对互逆的对象属性。互逆关系的定义是对本体关系的补充,也是推理过程的优化。

is_part_of:和构建类的步骤类似。什么是什么的一部分。点开对象属性(Object Properties),记得选中Transitive 可传递性。
在这里插入图片描述
同理,建立look,人有这个属性,建立looked,同时将其标记成look逆关系,定义值域和定义域。write这个对象属性也是同样的创建。因为人看书,书被人看,作者写书,书被作者写。
在这里插入图片描述
:对象属性特性的定义中英文对照:来自:Protégé基本教程【Protégé5.5.0版本】喵木木 台部落。
在这里插入图片描述

  • Functional
    如果⼀个对象属性的特性是Functional(单值的),那么对于某个实例来说,通过这个对象属性进⾏关联的实例有且仅有⼀个。在这里插入图片描述

- Inverse functional
Inverse Functional特性最重要的还是体现在Functional上,它的涵义是“该对象属性的逆属性是单值属性
(single value property)”。
- Transitive
Transitive定义了对象属性的传递性。
在这里插入图片描述

- Symmetric
在这里插入图片描述

- Asymmetric
在这里插入图片描述

- Reflexive在这里插入图片描述

- Irreflexive在这里插入图片描述

2.限制属性类

又回到Classes面板下,添加图书分类和人的关系,图书是被人看的和被人写的。这里创建的就是图书被读者读,被作者写,被动关系。步骤如下:
在这里插入图片描述
道理同上,这里就是读者读书,作者写书,是主动关系,别忘记了读者和作者都是人的一部分,所以用的only,is—part—only。
在这里插入图片描述

限制类型:

  • Some (existential) 一些(存在)
  • Only (universal) 仅(普遍基数)
  • Min (mincardinality) 最小基数
  • Exactly (exact cardinality)精确基数
  • Max (max cardinality)最大基数
    建立好各自的对象属性和属性的限制之后,就可以看到不同颜色的线条,表示他们之间的关系。
    在这里插入图片描述
    鼠标悬停即可显示他们之间的关系。

在这里插入图片描述
做完记得保存!!!

总结

### 数学知识图谱构建与实现方法 数学知识图谱是一种专门针对数学领域设计的知识表示形式,它利用图结构来描述数学中的各种概念及其相互关系。以下是关于数学知识图谱的核心概念以及其实现方法和技术。 #### 1. 数学知识图谱的核心概念 数学知识图谱本质上是一个特定领域的语义网络[^1],其中包含了数学对象(如定理、定义、公式)、它们的属性以及彼此之间的逻辑关系。这些对象被建模为节点,而它们的关系则作为边存在。例如,在数学中,“勾股定理”可以作为一个节点,与其相关的“直角三角形”的性质可以通过一条有向边连接起来[^2]。 #### 2. 数据源的选择与处理 构建数学知识图谱的第一步是从可靠的资源中提取数据。常见的数据来源包括教科书、学术论文、在线百科全书(如Wikipedia)以及其他公开数据库。对于数学而言,LaTeX文档和MathML格式的内容尤其重要,因为它们能够精确地表示复杂的数学表达式。为了将这些非结构化或半结构化的信息转换成适合于知识图谱的形式,通常会采用自然语言处理技术和模式匹配算法[^3]。 #### 3. 关系抽取与推理 在获取原始数据之后,下一步就是识别并建立不同数学实体间的关系。这一步骤可能涉及多种技术路径: - **基于规则的方法**:通过预定义的一组规则手动指定如何从文本或其他输入形式中检测到某些类型的联系。 - **机器学习方法**:特别是监督学习模型已经被广泛应用于自动化发现隐藏在大量资料里的潜在关联上。这里提到过的统计方法比如贝叶斯网络就属于此类别之一[^4]。 - **深度学习框架下的解决方案**:近年来随着神经网络的发展,越来越多的研究者倾向于使用端到端训练好的嵌入层或者注意力机制驱动的架构来进行更深层次的理解和预测工作。 #### 4. 图谱存储与查询优化 一旦完成了初步的数据集成过程,则需要考虑怎样有效地保存所得到的结果以便后续检索操作变得高效快捷。目前主流的方式有两种——一种是以RDF三元组为基础的传统方式;另一种则是更加现代化的原生图形数据库系统,后者往往具备更好的性能表现特别是在面对复杂多变的需求场景时尤为突出。 #### 5. 应用实例展示 最后值得注意的是实际应用场景决定了具体实施方案细节上的差异性。例如教育平台可能会侧重于提供直观易懂的学习材料给学生群体;科研辅助工具则更多关注精准度方面的要求等等。 ```python import networkx as nx G = nx.DiGraph() # 添加节点代表不同的数学概念 G.add_node("Pythagorean Theorem", type="Theorem") G.add_node("Right Triangle", type="Concept") # 定义两者间的依赖关系 G.add_edge("Pythagorean Theorem", "Right Triangle", relation="Applies To") print(G.nodes(data=True)) print(G.edges(data=True)) ``` 上述代码片段展示了如何创建一个简单的有向图用于表示基本的数学知识点之间存在的某种层次性的关联情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微莱羽墨

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值