知识工程

知识工程的概念是1977年美国斯坦福大学计算机科学家费根鲍姆教授 (E.A.Feigenbaum) 在第五届国际人工智能会议上提出的。

当时围绕知识工程的主要研究是专家系统。所谓专家系统是指利用某种方法将专业领域的专家知识收集下来,并存储在程序中,然后利用程序代码模拟人类的思维(推理+搜索)过程,去尝试解决某些专业领域的问题。

专家系统的核心在于知识获取知识表示以及推理机制

主要的三个研究领域

知识工程把有关知识库系统、专家系统等的构造技术作为主要课题.其研究的主要领域包括以下三个方面:

  1. **知识获取:**研究知识处理系统如何从系统外部获得知识、充实知识库,包括对外部的数据进行知识化。
  2. **知识表示:**研究怎样对知识进行形式化地描述,以便让计算机能合理地存贮和使用知识。
  3. **知识使用:**研究在知识处理系统中应如何组织和利用知识,使用怎样的推理方法,以达到所希望的目标。

这几个方面在之后的二三十年中都各自有一定的发展,直到二十一世纪初,互联网时代的到来,海量数据的爆发,传统的专家系统的模式对这些已经无能为力了,专家系统的思路不能够满足人工智能发展对于“智能”方面的需求了。这个时候知识图谱登场了。

知识表示

人类的语言、绘画、音乐、数学语言、物理模型、化学公式……等,都是人类知识的表示形式和传承方式获取、表示和处理知识的能力是人类心智区别于其他物种心智的最本质特征,也是人脑智能的最本质特征。只有具备了获取、表示和处理知识能力的人工智能才是真正的智能。

知识表示法,又称做知识重呈、知识表现、知识表征,是认知科学和人工智能两个领域共同存在的问题。在认知科学里,它关系到人类如何储存和处理资料。在人工智能里,其主要目标为储存知识,让程式能够处理,达到人类的智慧。目前这个领域仍然没有一个完美的答案。

在深度学习兴起之前,如何用计算机易于处理的方式表示人类知识一直是人工智能领域研究的核心问题。

人工智能发展历程中,出现的几种典型的知识表示方式:

1. Description Logic:

2. Horn Logic:

3. Production Systems:

4. Frame Systems:

5. Semantic Network:

上述 5 种知识描述系统各有优缺,但都有一个共同的缺点:知识获取主要靠专家和人工,越复杂的知识表示框架,获取知识越困难。

2012年谷歌提出了知识图谱技术,不过知识图谱相关的一些技术研究基本都是前面几十年技术的延续,而不是革新。知识图谱主要在知识表示方面有了一些比较重大的改变。

知识图谱(新型知识表示方法)

  1. 知识图谱的几种符号表示形式(重在知识的解释,不重在知识的推测)
    1. 属性图(是 Neo4j 实现的图结构模型)

      1. 节点
        1. 标签
        2. 节点属性
      2. 关系
        1. 标签
        2. 边属性
        3. 方向
        4. 开始节点
        5. 结束节点
    2. RDF (Resource Description Framework)(三元组)

      1. Subject 主:猫
      2. Predicate 谓:是
      3. Object 宾:动物
    3. RDFS(S-Schema):

      1. Class、subClassOf、type、Property、subPropertyOf、Domain、Range
      2. 利用RDFS可以进行简单的推理
      3. 如果需要更复杂的表示方法,则需要用OWL
    4. OWL:(Web Ontology Language) (网络本体语言)

      1. The W3C Web Ontology Language (OWL) is a Semantic Web language designed to represent rich and complex knowledge about things, groups of things, and relations between things. (英语:World Wide Web Consortium,缩写W3C,是指:万维网联盟)

      2. OWL is part of the W3C’s Semantic Web technology stack, which includes RDFRDFSSPARQL , etc.

      3. OWL 有非常丰富的关系描述,用以描述事物之间极其复杂的关系

        Untitled

    5. RDFS的 S-Schema 是RDF的扩充,OWL 是 S-Schema 的扩充,三者都

  2. 知识图谱的向量表示形式(不重在知识的解释,重在知识的推测)
    1. 词向量表示:
      1. 让机器大量阅读文献,然后统计,某个词的上一个词和下一个词出现频率最高的分别是哪些,将这种词的分布概率投射到向量空间,经常一起出现的词,比如 “蝴蝶” 和 “飞” 等,在向量空间的距离较近,不经常一起出现的词,在向量空间距离较远。通过向量空间的距离,可以进行上下文预测,补全句子等
    2. 知识图谱的向量表示:
      1. 让机器大量阅读知识三元组(RDF),有相同关系的主体和客体之间在向量空间的距离差值相同,借此可以预测两个实体间存在某种关系的概率大小。