2.1 什么是知识表示
2.1.1 知识表示的五个用途
第1章曾经提到过一个问题:什么是知识?柏拉图说知识是“Justified True Belief”。实际上,人类的自然语言,以及创作的绘画和音乐、数学语言、物理模型、化学公式等都是人类知识的表示形式和传承方式。具有获取、表示和处理知识的能力是人类心智区别于其他物种心智的最本质的特征之一。所以,传统的人工智能领域有一个经典的研究方向叫知识工程和专家系统。这种经常被称为是GOFAI(Good Old Fashioned AI)的基本思想是建立一个系统,能够从专家大脑里获取知识,即知识工程,再通过一个推理引擎为非专家用户提供服务。
那么到底什么是知识表示(Knowledge Representation,KR)呢?回到20世纪的人工智能研究。1993年,当时的MIT AI Lab有一篇发表在AI Magazine上的文章,题目叫What is Knowledge Representation。虽然这篇文章探讨的主题和当下的深度学习相去甚远,但对于这篇文章里面所探讨的AI难题,当下的人工智能仍然远远没有解决。
简单而言,KR就是用易于计算机处理的方式来描述人脑知识的方法。KR不是数据格式、不等同于数据结构、也不是编程语言。对于人工智能而言,数据与知识的区别在于KR支持推理。本书摘录了这篇文章中关于KR的五个用途的表述,如图2-1所示。首先“客观事物的机器标识”。每个客观事物应该有一个统一的机器标示,即事物的命名体系,这就好比我们来到这个世界,首先记住的是万事万物的名字。其次,“一组本体约定和概念模型”。我们记住了大家的名字,然后会进一步做概念的抽象,这几个人是本科生、那几个人是博士生、他们都是浙大学生,这门课是必修课,上课老师的研究方向是知识图谱等。我们通过对认知的事物进行抽象建立起有关万事万物的抽象概念模型,这就是本体。再进一步,“支持推理的表示基础”。我们建立了关于万物的概念表示体系,就能进一步开始推理。比如如果知道知识图谱课程的主题分类是人工智能,就可以近似地推断上这门课的老师的研究方向之一是人工智能。第四点,“用于高效计算的数据结构”。是说这种表示方法还要易于被机器处理,比如自然语言文本也可以表示前面所有的知识内容,但却并不易于被机器处理,所以自然语言不是适合于机器的知识表示方法。最后“人可理解的机器语言”,这一条是说知识表示同时也是要易于人理解的,这和AI的可解释性要求有关,这也是当前神经网络方法表示知识的最大问题,关于这一点,后面还会专门提及。
图2-1 知识表示的五个用途
2.1.2 符号表示与向量表示
传统人工智能领域的知识表示方法主要以符号表示方法为主,例如影响今天知识图谱发展的语义网络、描述逻辑等,影响对话系统的框架系统等。这些方法都尝试用计算机符号表示人脑中的知识逻辑,虽然很多方法已经逐渐不被人提及,但实际上对今天的很多信息系统的建设都或多或少地产生过影响。将在下一节简略回顾这些历史上出现过的各种知识表示方法。
符号表示方法的主要缺点是不易于刻画隐式的知识,同时因为推理依赖于知识描述的精确性,比如一个字符串表示稍有错误就无法完成推理,因而传统的符号人工智能研究的很多推理机都没有得到大规模的实用。随着深度学习和表示学习的兴起,用参数化的向量来表示实体以及实体之间的关系,并利用神经网络来实现更加鲁棒的推理成为一个重要的发展趋势。基于向量的方法有一个比较大的好处是易于捕获隐式的知识。例如,可以将张三和李四两个实体都投影到向量空间,如果他们都有一个共同的属性,比如“就读于浙江大学”,尽管知识库并没有明确描述张三和李四是校友关系,但可以通过两个实体在向量空间的位置再叠加“校友关系”的向量表示,近似地推断出他们之间可能存在校友关系、同学关系,甚至同班关系。这种在向量空间处理隐含知识的能力非常重要,因为我们永远无法显示描述所有的知识。事实上,人脑也并不会记忆所有的知识,而是经常性地基于记得住的知识推断新的知识。向量表示的另外一个好处是将推理过程转化为向量、矩阵或张量之间的计算,这摆脱了传统基于符号搜索的推理计算方式,效率更高。但知识向量化有一个比较大的缺点是丢失了符号表示的可解释性,如图2-2所示。关于这一点,会在后续章节多次提及。
图2-2 从知识表示到知识表示学习
更进一步,知识的向量化为有机地融合多种模态的数据提供了便利。向量化的表示已经在人工智能的其他领域非常常见。例如,在自然语言处理中,可以为句子中的每个词学习一个向量表示(Word Embedding)或分布式向量表示(Distributed Vector Representation)。在图像视频中可以为每个视觉对象学习一个向量表示。例如,一个视觉感知的“树”,怎样和大脑中有关“树”的概念对应起来;关于“树”的大段自然语言描述又怎样和知识图谱中的“树”的概念定义关联起来。
深度学习专家Hinton曾经在2015年AAAI Symposium的一个有关知识表示与推理的论坛上做了一个题为“Aetherial Symbol”的报告。他这样总结:智能的精华是怎样实现推理,推理的关键是形式化逻辑。同时他批评了深度学习至上的观点,指出学习需要清楚地知道要学习的是什么,那些认为任何东西都可以学习出来的想法是愚蠢的。他也反驳了传统符号主义的观点,认为大脑中并没有符号和图像的存储,而是一些向量之间的相互发生作用。因此将符号表示和神经网络方法相互结合是知识表示的重要发展方向,特别是对于知识图谱,这两者的有机融合也是知识图谱的构建和应用非常重要的基本技术路线,这一点也将贯穿于本书的始终。