0
点赞
收藏
分享

微信扫一扫

知识图谱从入门到应用——知识图谱的知识表示:基础知识


分类目录:《知识图谱》总目录​ 相关文章:
· 知识图谱的知识表示:基础知识 ·

知识图谱的知识表示:符号表示方法​ ·

知识图谱的知识表示:向量表示方法

实际上,人类的自然语言,以及创作的绘画和音乐、数学语言、物理模型、化学公式等都是人类知识的表示形式和传承方式。具有获取、表示和处理知识的能力是人类心智区别于其他物种心智的最本质的特征之一。所以,传统的人工智能领域有一个经典的研究方向叫知识工程和专家系统。这种经常被称为是GOFAI(Good Old Fashioned AI)的基本思想是建立一个系统,能够从专家大脑里获取知识,即知识工程,再通过一个推理引擎为非专家用户提供服务。回到20世纪的人工智能研究。1993年,当时的MIT AI Lab有一篇发表在AI Magazine上的文章,题目叫What is Knowledge Representation。虽然这篇文章探讨的主题和当下的深度学习相去甚远,但对于这篇文章里面所探讨的AI难题,当下的人工智能仍然远远没有解决。

简单而言,KR就是用易于计算机处理的方式来描述人脑知识的方法。KR不是数据格式、不等同于数据结构、也不是编程语言。对于人工智能而言,数据与知识的区别在于KR支持推理。首先“客观事物的机器标识”。每个客观事物应该有一个统一的机器标示,即事物的命名体系,这就好比我们来到这个世界,首先记住的是万事万物的名字。其次,“一组本体约定和概念模型”。我们记住了大家的名字,然后会进一步做概念的抽象,这几个人是本科生、那几个人是博士生、他们都是浙大学生,这门课是必修课,上课老师的研究方向是知识图谱等。我们通过对认知的事物进行抽象建立起有关万事万物的抽象概念模型,这就是本体。再进一步,“支持推理的表示基础”。我们建立了关于万物的概念表示体系,就能进一步开始推理。比如如果知道知识图谱课程的主题分类是人工智能,就可以近似地推断上这门课的老师的研究方向之一是人工智能。第四点,“用于高效计算的数据结构”。是说这种表示方法还要易于被机器处理,比如自然语言文本也可以表示前面所有的知识内容,但却并不易于被机器处理,所以自然语言不是适合于机器的知识表示方法。最后“人可理解的机器语言”,这一条是说知识表示同时也是要易于人理解的,这和AI的可解释性要求有关,这也是当前神经网络方法表示知识的最大问题。

知识图谱从入门到应用——知识图谱的知识表示:基础知识_语义网络

符号表示与向量表示

传统人工智能领域的知识表示方法主要以符号表示方法为主,例如影响今天知识图谱发展的语义网络、描述逻辑等,影响对话系统的框架系统等。这些方法都尝试用计算机符号表示人脑中的知识逻辑,虽然很多方法已经逐渐不被人提及,但实际上对今天的很多信息系统的建设都或多或少地产生过影响。符号表示方法的主要缺点是不易于刻画隐式的知识,同时因为推理依赖于知识描述的精确性,比如一个字符串表示稍有错误就无法完成推理,因而传统的符号人工智能研究的很多推理机都没有得到大规模的实用。随着深度学习和表示学习的兴起,用参数化的向量来表示实体以及实体之间的关系,并利用神经网络来实现更加鲁棒的推理成为一个重要的发展趋势。基于向量的方法有一个比较大的好处是易于捕获隐式的知识。例如,可以将张三和李四两个实体都投影到向量空间,如果他们都有一个共同的属性,比如“就读于浙江大学”,尽管知识库并没有明确描述张三和李四是校友关系,但可以通过两个实体在向量空间的位置再叠加“校友关系”的向量表示,近似地推断出他们之间可能存在校友关系、同学关系,甚至同班关系。这种在向量空间处理隐含知识的能力非常重要,因为我们永远无法显示描述所有的知识。事实上,人脑也并不会记忆所有的知识,而是经常性地基于记得住的知识推断新的知识。向量表示的另外一个好处是将推理过程转化为向量、矩阵或张量之间的计算,这摆脱了传统基于符号搜索的推理计算方式,效率更高。但知识向量化有一个比较大的缺点是丢失了符号表示的可解释性。

更进一步,知识的向量化为有机地融合多种模态的数据提供了便利。向量化的表示已经在人工智能的其他领域非常常见。例如,在自然语言处理中,可以为句子中的每个词学习一个向量表示(Word Embedding)或分布式向量表示(Distributed Vector Representation)。在图像视频中可以为每个视觉对象学习一个向量表示。例如,一个视觉感知的“树”,怎样和大脑中有关“树”的概念对应起来;关于“树”的大段自然语言描述又怎样和知识图谱中的“树”的概念定义关联起来。深度学习专家Hinton曾经在2015年AAAI Symposium的一个有关知识表示与推理的论坛上做了一个题为“Aetherial Symbol”的报告。他这样总结:智能的精华是怎样实现推理,推理的关键是形式化逻辑。同时他批评了深度学习至上的观点,指出学习需要清楚地知道要学习的是什么,那些认为任何东西都可以学习出来的想法是愚蠢的。他也反驳了传统符号主义的观点,认为大脑中并没有符号和图像的存储,而是一些向量之间的相互发生作用。因此将符号表示和神经网络方法相互结合是知识表示的重要发展方向,特别是对于知识图谱,这两者的有机融合也是知识图谱的构建和应用非常重要的基本技术路线。

描述逻辑

描述逻辑(Description Logic)是和知识图谱最接近的知识表示方法。描述逻辑是一阶谓词逻辑的可判定子集,主要用于描述本体概念和属性,对于本体知识库的构建提供了便捷的表达形式。它的核心表达要素很简单,包括:概念(Concepts),例如学生、教授等;关系(Relations),例如朋友、爱人等;个体(Individuals),例如小明、小红等。一个由描述逻辑实现的知识库通常包含两个部分,即:TBox和ABox,TBox包含内涵知识,用于描述概念的一般性质。例如需要声明Mother的概念是“有小孩的人”这个概念的子概念。ABox包含外延知识,描述论域中的特定个题,例如声明张三是一名学生,张三和李四是同学关系等。这也是知识图谱的基本表示单元。

霍恩规则逻辑

霍恩规则逻辑(Horn Logic)也是应用广泛的知识表示方法,也是一阶谓词逻辑的子集,主要特点是表达形式简单、复杂度低,且易于描述规则型知识。著名的Prolog语言就是基于霍恩逻辑设计实现的。它的核心表达要素包含三个方面:

  • 原子(Atom):由一个谓词陈述构成,例如​​has_child(Helen, Jack)​
  • 规则(Rules):由头部原子和体部原子组成,一条规则描述了多个体部原子与单个头部原子之间的逻辑推导关系
  • 事实(Facts):是指没有头部且没有变量的规则,例如:​​hasson_(Helen, Jack):-​​。

这类以谓词逻辑为基础的知识表示方法的主要优点是接近自然语言,容易被接受,且易于表示精确知识,因为有严格的形式定义和推理规则,易于精确实现。主要缺点是无法表示不确定性知识,难以表示启发性知识及元知识,存在组合爆炸问题,即:经常出现事实、规则等的组合爆炸,导致效率低。

产生式系统

产生式系统(Production System)是一种意义更广泛的规则系统,专家系统多数是基于产生式系统,例如Feigenbaum研制的化学分子结构专家系统DENDRA,Shortliffe研制的诊断感染性疾病的专家系统MYCIN等。产生式系统的核心表达形式是:​​IF P THEN Q CF=[0, 1]​​​,其中​​P​​​是产生式的前提,​​Q​​​是一组结论或操作,​​CF​​​(Certainty Factor)为确定性因子,也称置信度。例如,可以定义一条产生式规则:​​IF(本微生物的染色斑是革兰氏阴性、本微生物的形状呈杆状、病人是中间宿主)THEN 该微生物是绿脓杆菌​​​,置信度为​​CF=0.6​​。

产生式系统的优点包括:

  • 自然性:它采用了人类常用的表达因果关系的知识表示形式,既直观、自然,又便于进行推理
  • 模块性:产生式系统中的规则形式相同,易于模块化管理
  • 有效性:能表示确定性知识、不确定性知识、启发性知识、过程性知识等
  • 清晰性:产生式有固定的格式,既便于规则设计,又易于对规则库中的知识进行一致性、完整性的检测。

产生式系统的缺点是效率不高,由于产生式系统求解问题的过程是一个反复进行“匹配—冲突消解—执行”的过程。而规则库一般都比较大,匹配又十分费时,因此其工作效率不高。另外一个缺点是不能表达结构性知识,它对具有结构关系的知识无能为力,它不能把具有结构关系的事物间的区别与联系表示出来。

框架系统

框架系统的基本思想认为人们对现实世界中事物的认识都是以一种类似于框架的结构存储在记忆中。当面临一个新事物时,就从记忆中找出一个合适的框架,并根据实际情况对其细节加以修改、补充,从而形成对当前事物的认识。框架系统在很多NLP任务如Dialogue系统中都有广泛的应用。框架系统的基本表达结构是框架,一个框架由若干个“槽”(Slot)结构组成,每个槽又可分为若干个“侧面”,槽用于描述对象某一方面的属性;侧面用于描述相应属性的一个方面;槽和侧面所具有的属性值分别称为槽值和侧面值。下图所示为一个框架系统的举例,可以看到框架系统其实和面向对象的思想相近:

知识图谱从入门到应用——知识图谱的知识表示:基础知识_知识表示_02


框架系统的优点是对知识的描述比较全面和完整,知识库的质量也比较高,另外框架允许数值计算,这一点是框架系统优于其他方法的一个主要特点。框架系统的缺点是维护成本比较高,质量要求也比较高,框架的表达形式其实并不灵活,很难与其他形式的数据集配合使用。

语义网络

语义网络(Semantic Net)已经在前面的文章中多次提及。1968年J.R.Quillian在其博士论文中最先提出语义网络,把它作为人类联想记忆的一个显式心理学模型,并在他设计的可教式语言理解器TLC(Teachable Language Comprehenden)中用作知识表示方法。例如,WordNet就是一个非常典型的语义网络。WordNet由普林斯顿大学认知科学实验室从1985年开始开发,主要定义了名词、动词、形容词和副词之间的语义关系。例如名词之间的上下位关系(如:“猫科动物”是“猫”的上位词),动词之间的蕴含关系(如:“打鼾”蕴含着“睡眠”)等。WordNet3.0已经包含超过15万个词和20万种语义关系。

语义网络的优点是它是一种结构化的知识表示方法,易于把事物的属性以及事物间的各种语义联想显式地表示出来,同时直观地把事物的属性及其语义联系表示出来,便于理解,因此自然语言与语义网络的转换比较容易实现,在自然语言理解系统中应用最为广泛。缺点是语义网络没有公认的形式表示体系。一个给定的语义网络所表达的含义完全依赖于处理程序如何对它进行解释;同时通过推理网络而实现的推理不能保证其正确性,例如支持全称量词和存在量词的语义网络在逻辑上是不充分的,不能保证不存在二义性;语义网络表示知识的手段多种多样,灵活性高,但由于表示形式不一致,使得处理复杂度高,对知识的检索相对复杂。如下图所示为语义网络的实例,每个节点代表一个概念,每条边代表词之间的语义关系,例如描述(Fish lives_in Water)等关系:

知识图谱从入门到应用——知识图谱的知识表示:基础知识_知识表示_03


知识表示与推理在人工智能的发展历史上一直居于核心位置。传统的知识表示方法主要以符号表示为主,与知识图谱有关的典型方法有:描述逻辑、霍恩规则逻辑、产生式系统、框架系统和语义网络等。这些方法各有优缺点,但都有一个共同的缺点是知识的获取过程主要依靠专家和人工,越复杂的知识表示框架,知识获取过程越困难。

知识表示是传统符号人工智能研究的核心。知识表示的方法在早期语义网的发展过程中主要用来为知识图谱的概念建模提供理论基础。现实的知识图谱项目由于规模化构建的需要,常常降低表示的逻辑严格性。目前,较为常见的知识图谱实践包括RDF图模型和属性图模型。尽管很多知识图谱并没有应用复杂的知识表示框架,Schema工程对于知识图谱的构建仍然是基础性和必要性的工作,高质量的知识图谱构建通常从Schema设计开始。在知识图谱的深度利用中,如复杂语义的表达、规则引擎的构建、推理的实现,会对更有丰富表达能力的知识表示方法有更多的需求。图模型是更加接近于人脑认知和自然语言的数据模型,RDF作为一种知识图谱表示框架的参考标准,向上对接OWL等更丰富的语义表示和推理能力,向下对接简化后的属性图数据库以及图计算引擎,仍然是最值得重视的知识图谱表示框架。知识(图谱)的表示学习是符号表示与神经网络相结合比较自然且有前景的方向。知识的向量表示有利于刻画隐含不明确的知识,同时基于神经网络和表示学习实现的推理在一定程度上可以解决传统符号推理所面临的健壮性不高和不容易扩展等众多问题。

参考文献:
[1] 陈华钧.知识图谱导论[M].电子工业出版社, 2021
[2] 邵浩, 张凯, 李方圆, 张云柯, 戴锡强. 从零构建知识图谱[M].机械工业出版社, 2021


举报

相关推荐

0 条评论