理解本体

这是一篇关于的本体的介绍性的文章。作为一个哲学领域的课题,“本体论”在不久之前开始吸引人工智能专家的目光。正如其他新概念一样,本体论在信息科学领域仍然存在许多根本性的争议,如“什么是本体?”这样的问题亦难有一个广泛认可的答案(讽刺的是,本体试图解答的的正是“什么是什么?”这样的问题)。因此,这篇文章所有的观点,都是以我个人的理解为基础的,做不得严肃的学术参考。

什么是本体?

本体是哲学的一个基础分支,其研究的对象是存在的本质。换句话说,我们如何定义“什么是什么?”或“为什么某个东西是某个东西?”。

问你自己一个简单的问题:为什么你是你?换句话说,是什么定义了你?是你的名字吗?是你的外貌吗?还是你的身份证号码?

正确的答案是“以上皆是”,我们可以通过两个方面来定义一个唯一个体:一是个体本身的属性;二是该个体与其他个体之间的关系。只要我们定义的足够精确,那么这个世界上没有两个完全一模一样的个体,不论这个个体是具体的,如某个苹果,还是抽象的,如一个理论。

就以我自己为例子吧:我的姓氏是丛,我的社会保险号码是X87127XXX(敏感信息),我的身高身高是168厘米,我的性别是男……这些是“我”这个人类个体的部分属性。而我与这个世界存在着千丝万缕的联系,例如我的父亲是另一个人类个体,我的宠物是一只叫“六”的美洲猎狐犬等等。

属性与关系定义了“我”这个个体的存在性与唯一性。即便有一天我可以被复制,而且复制的程度是如此精细,以至于我的复制品与我在纳米级上是完全一致的,然而我们仍然是不同的个体,因为在时空中我们不可能处在同一个坐标上(即在同一时间存在于同一个位置)。

讨论哲学是令人着迷的,那么到底什么是本体呢?从计算机科学和信息科学的角度来看,本体是对一个概念体系的明确表述。

这个定义也许比之前哲学部分的讨论更让人费解,实际上,本体在计算机科学中就是对于某一个领域内的个体的相关信息进行归纳整理和抽象后所得到的一个表达。所谓的相关信息即我们之前提到的“属性”与“关系”。

从不同的角度来理解

如果你仍然没有头绪,那么让我试着从不同的角度来解释一个本体具体是什么样子的。(我想让事情尽可能简单,所以在非常有限的篇幅里,我很难使用每个领域精确的定义来阐释问题,对于下文中明显的错误和歧义我表示道歉)

编程的视角

如果你用Java,C++或其他面向对象的程序设计语言编程,那么几乎每天你都在跟本体打交道。构造本体时,首先我们要对一组类似的个体进行抽象,将其概念化,例如每一个人类都有“身高”、“体重”的属性,都与某个地区有“出生于”的关系,你完全可以将其理解为类的构造,每一个个体是一个类(Class)的实例(Instance)。在一个本体中,最重要的一种关系是“是(isA)”关系,这在OOP中表现为类的继承关系,例如“人”是“哺乳动物”的具体化,“哺乳动物”是“动物”的具体化,“动物”是“生物”的具体化。

其他的类型,例如出生地,可以表现为一个成员变量中存储的另一个类的实例的指针(Pointer)或引用(Reference)。

数学的视角

从数学的角度来看,你可以将一个本体视为一个多关系图,由一个3阶张量来表达。你在学校期间可能很少会看到这两个概念,简单来说,一个多关系图是“简单图(Graph)”这个概念的扩展:一个简单图由顶点和边组成,每条边连接两个顶点,我们可以将一个简单图视为顶点之间某一种关系的表达,例如“朋友”。

如果我们要表达相同顶点之间多种关系,例如“朋友”、“同学”和“恋人”,那么这就需要三个具有同样顶点的简单图。当我们将这三个简单图重叠在一起,并为每个简单图中的边赋予不同的名称(Label),这就形成了一个多关系图。

我们知道一个简单图可以用一个邻接矩阵来表达,一个多关系图是由若干个简单图组成的,将邻接矩阵上升一个维度,我们就得到一个3阶张量,其中两个维度是顶点,第三个维度则是关系。

逻辑的视角

从逻辑学的视角来看,一个本体可以用谓词逻辑命题来表达。例如:

isA(人,哺乳动物)
isA(哺乳动物,动物)
isA(动物,生物)
hasParent(人,人)
hasChild(人,人)

本体的“概念”和“属性”表达为项,“关系”则表达为谓词。

本体语言和工具

本体语言是用于构造本体的计算机语言。

目前最广为流行的本体语言是Web Ontology Language(OWL),一种基于XML和RDF的本体语言。

其他一些语言包括:

  • F-Logic
  • Resource Description Framework (RDF)
  • RDFS
  • OKBC
  • Ontology Inference Layer (OIL)
  • Knowledge Interchange Layer (KIF)
  • ……

用于构造、编辑和分析本体的工具有很多,而且每天都在增加中,我很难给出一个列表。但是其中一个重要的工具是Protégé,由斯坦福大学生物信息学研究中心开发,包括两个主要分支:

  • Protégé-Frames:基于OKBC
  • Protégé-OWL:基于OWL

Protégé提供了完整的本体编辑与构造工具,同时拥有丰富的插件可以让你完成对本体的额外工作(例如本体的视觉化插件)。

 

感谢你耐心的阅读这篇文章,希望这里的内容对你有些帮助。同时我为文中错误的和有歧义的文字表示道歉。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值