zoukankan      html  css  js  c++  java
  • 知识工程及语义网技术 2020-03-12 (第二节)-构建本体

    https://www.bilibili.com/video/BV1PE411j7xq/?spm_id_from=333.788.recommend_more_video.4

    前面讲的都是一些规范,这些规范。是为了指导我们具体的使用。是为了构建这种称为语义网的本体。这是这一章的主要内容。

     

    本体是对一个领域里面公认的概念去建模,目的是要便于大家去分享。以便于形式化的描述和计算机处理。

    语义网里面的本体一般称作Web本体。

     rdf3元组,最上面的是主语,他有一个谓词叫做creator。下面是他的取值叫作宾语。

    rdf只是定义了一个三元组的数据模型。他不是一个真正的本体。所以需要进行一些扩展。快点的rdf的模式。

    rdf的模式里面定义了什么呢?定义了subclassof的关系。定义了定义域和值域。

    男人是人的一个子类。doman代表定义域。Range代表值域。这就是二df增加的部分。Rdfs他的表达能力不够。后来介绍了owl。即Web本体语言.Owl本体语言能做的事情更加丰富。

     A也有一个孩子是B,表示B有一个双亲是A。

     我还定义了一个约束。Parent类应该满足一个约束。

    注意哦!genid又是一个匿名节点。这个匿名节点表达了一个约束。Parent是一个约束的子类。所以parent应该满足这个约束。这个约束讲的是什么呢?这个约束是说对parent来说,他应该有一个属性,叫作hasChild。也就是说能称为她叫做父亲或者母亲,她应该是有一个孩子。他有孩子的这个数量至少应该有一个。在这样的一个情况下,owl他的表达能力就更加丰富了。

     我们现在所使用的本体就是用RDFS。或者是owl构建的。

    比如说雅虎,他有一个根据Web网页的分类目录。介绍了这个Web网页大概分成多少类.

    这些分类目录呢实际上都可以用。Subclassof来描述出来。这时候就形成了最简单的本体。

    The friend of a friend也可以是一个本体。是社交领域的一个术语。

    UMLS是医学领域领域的一个本体术语。

    UMLs和程序开发里面的Uml不是一回事。UML指的是Unified. Modelling Language. 指的是统一建模语言。

    1.2万个Web本体可能有重复的。

    本体其实不太多,但是利用本体可以产生大量的rdf数据。这就是我们所说的事实。也就是关于个体的数据。

    比如说一个图书馆分类目录里面可能有一个科幻小说目录。但是呢这个科幻小说下面可以有很多很多本科幻小说。就是说可以有很多个体的书。

     这个是对于细胞建立的一个本体。

     

     有人闲着没事干,为热狗定义了一个本体。对热狗领域里面的术语以及他们相关的关系也可以去定义。

     对于战斗机进行定义相关的本体。这个呢就比这个热狗要复杂很多。

     对人体的循环系统也可以定义本体。

    所以本体实际上是无处不在的。它可以应用的领域也非常广泛。

    本体工程是计算机科学和信息科学里面的一个新的领域。他主要研究的是构建本体的方法和方法学。在一个定义域内的一组概念以及这些概念之间的关系的形式化表达。对于一些抽象的概念,动作行为、时间、和信念的大规模的表达都可以作为人体工程的例子。

    计算机科学和信息科学领域的本体工程,主要研究的是构建本体的方法和方法学。在一个定义域内的一组概念以及这些概念之间的关系的形式化表达。对于一些抽象的概念,动作行为、时间、和信念的大规模的表达都可以作为人体工程的例子。

    那么这个概念呢是本体工程的一个狭义的概念。也就是说他认为的本体工程呢就是主要在构建本体这件事情上。是构建本体的方法和方法学。

    子类-父类的层次结构就可以用RDFS里面的subclassof去描述。

    对于属性及属性值的约束,比如说doman和range。

    定义个体并填充属性值。比如说张三的friend的取值是李四.

    广义上的本体工程如下:

     本体,它其实是知识工程里面的一个核心内容。

    知识工程需要用到专家知识。而专家知识可以用本体的形式去表达。

    本体工程可能比较聚焦,它主要是用RDFS语言和owl语言去描述知识。

    知识工程呢则是用逻辑、规则、Petri网去表达知识。

    软件工程则使用uml去表达知识。

    在知识获取方面,早期可能采用人工构建的方式。而近几年可能可以采用机器生成的方式。对知识工程呢可以采用主动式的询问专家,或者被动式的从专家那里获取知识。

    构建本体工程的主要工具有protege,这个工具是斯坦福大学开发的。大家可以可视化的去开发一个小的本体。

    Jena是惠普的研究院开发的。现在已经转给了安帕奇的开源基金会。它是一个面向Java的一个本体的解析工具。通过它可以把本体读取的内存。然后再进行相应的操作。

    Pellet是马里兰大学开发的一个本体的推理机。相对来讲它是比较高效快速的一个推理机。

    知识工程的主要工具是SWI-prolog。主要进行规则的查询推理。

    软件工程的主要开发工具是Rational rose.。主要用来建模UML各种语言各种阶段。并简单的生成一些代码。

    这个表格。简单的对本体工程,知识工程,软件工程做了一个对比。

    避免重新造轮子的情况。

    互操作性就是Interoperability。指的是互相使用对方数据进行集成进行交互的这样一个过程。

    数据库里面就有很多遗留的数据。由于缺乏文档。以及缺乏一些显式的说明。时间长了,比如说程序员退休了,后面接手的人就很难去理解。可能需要花费很大的精力去理解。如果你对这个领域有一些显式化的说明。那么很容易帮助程序员去理解。

     一个本体可以为数据库和知识库声明一个结构。

    所以说本体构建或者本体工程。可能只是整个智能系统的一个开始。先把本体工程建好,才能为后面的智能应用提供基础。

    下节课按照斯坦福的七步法去开发一个某一个领域的本体。

  • 相关阅读:
    一些开发中用到的注解
    ios下设置user-scalable=no无效
    git的使用
    mongoose操作
    mongodb常用命令
    node express安装
    弹窗
    css实现全图滚动
    前端小技巧
    实现移动端轮播图
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/14517761.html
Copyright © 2011-2022 走看看