
1.4 知识图谱的发展历史
人工智能的目标是使机器可以像人一样完成需要通过人脑才能完成的任务,包括分析、推理与预测等,如通过著名的“图灵测试”。人类的高级思维活动离不开知识。人工智能也必然不能离开知识。从人工智能的概念诞生开始,知识就作为最基本的元素伴随其中。研究人员正在试图用计算机表示、存储知识并在其基础上通过检索、推理与预测等计算方法来实现机器的智能行为。因此,知识工程作为人工智能技术的重要分支,一直伴随人工智能技术的不断进步,并根据数据规模、计算能力、应用需求等因素呈现出不同的技术特点。人工智能从技术路线上来说有几个大致的方向:一个是神经网络或连接主义学派;另一个是统计或经验主义学派,统计机器学习就是在此基础上发展起来的;还有一个是知识工程,也被称为符号主义。知识图谱是知识工程在新时期大数据环境下技术的主要落地方式。该技术虽然在2012年才因为Google得名,但其溯源从20世纪50年代开始就已经存在了,进一步涵盖了专家系统、语义网、描述逻辑等重要技术形态。回顾知识工程和知识图谱60年来的发展历程,可以将其分成五个标志性的时期,即前知识工程时期、专家系统时期、万维网1.0时期、群体智能时期及知识图谱时期,如图1-4所示。

图1-4 知识图谱发展过程
① 1950—1970年:图灵测试,前知识工程。在人工智能发展的初期,人们把精力主要放在如何构造一个推理的模型,并在这个模型中进行问题的求解。在这个时期,因为数据获取能力的欠缺,导致忽视了对于数据中蕴含知识的加工与利用。这一时期主要有两种方法:符号主义和连接主义。符号主义认为物理符号系统是智能行为的充要条件;连接主义认为大脑(神经元及其连接机制)是一切智能活动的基础。这一时期具有代表性的研究是通用问题求解程序(GPS):将问题进行形式化表达,从问题的初始状态,结合表示和规则搜索得到目标状态。其中最成功的应用是博弈论和机器定理证明等。这一时期的知识表示方法主要有符号逻辑、产生式规则、语义网络等。同期人工智能和知识工程的先驱Minsky、Mccarthy、Newell及Simon等学者因为在感知机、人工智能语言、通用问题求解和形式化语言方面的杰出贡献分别获得了1969年、1971年和1975年的图灵奖。
② 1970—1990年:专家系统。由于过分强调对人类推理机制的模拟而忽视了数据知识,使人工智能难以在实际应用中发挥作用,大多数的工作都沦为实验室的玩具。从20世纪70年代开始,人工智能开始转向建立基于知识的系统,希望通过知识库和推理机实现智能。1977年,费根鲍姆(Feigenbaum)最早提出了“知识工程”的概念,把知识作为智能系统的核心。他通过实验和研究分析,提出实现智能行为的主要手段在于知识,而且在多数实际情况下是特定领域的知识,使知识工程成为当时人工智能领域中取得实际成果最丰富、影响最大的一个分支。这一时期出现了很多知识表示方法,对于后面知识图谱的产生起到了非常深远的影响。例如,以一阶谓词逻辑为代表的逻辑表示方法;1974年,由明斯基(Minsky)提出的框架表示法(Frame);1978年,由汤姆金斯(Tomkins)提出的脚本表示法(Script),主要用来描述过程性知识;1968年,由奎利恩(Quillian)提出了语义网络(Semantic Network),用相互连接的节点和边来表示知识。这些知识表示方法与现代知识图谱的表示方法虽然有很多共同之处,但是语义网络缺乏统一的标准,没有一个统一的知识框架,无法区分概念和实体。在这些知识表示方法的基础之上,研究者希望可以根据这些知识库来实现人工智能系统的应用,随之涌现出了很多成功的限定领域专家系统,如MYCIN医疗诊断专家系统、识别分子结构的DENRAL专家系统及计算机故障诊断XCON专家系统等。20世纪80年代后期,出现了很多专家系统的开发平台,可以将专家领域的知识转变成计算机可以处理的知识。特别是以Cyc为代表的常识性大型知识库系统,希望能够用知识描述世界,同时实现对自然语言的理解、生成与推理。虽然这些知识库系统由于构建与维护的困难、计算能力的欠缺和描述能力的缺乏而最终失败,但也为后面知识图谱的发展奠定了基础。
③ 1990—2000年:万维网和统计机器学习。该时期出现了很多人工构建的大规模知识库,如Word Net和中文的Hownet等。万维网Web 1.0的产生为人们提供了一个开放平台,使用HTML定义文本的内容,通过超链接把文本连接起来,可使大众共享信息。W3C提出的可扩展标记语言XML,实现了对互联网文档内容的结构通过定义标签进行标记,为互联网环境下大规模知识表示和共享奠定了基础。万维网Web 1.0的出现使知识从封闭知识走向开放知识,从集中知识成为分布知识。这是文本数据开始爆炸性增长的开始,也使以统计机器学习为核心的人工智能技术逐步占据主流。由此人们开始将注意力从人工构建知识库和推理规则转变为如何自动获取知识,学习并利用知识。为使信息更加规范并便于检索,1998年,网景公司(Netscape)制订了开放目录规范计划(ODP),依照网页的性质及内容分门别类,帮助人们进行有效而快捷的检索。为了便于更好地组织知识,人们也开始提出一些关于本体的知识表示方法。
④2000—2006年:群体智能。进入新世纪后,群体智能的出现使得互联网的数据进一步爆炸性增长,特别是所生成的内容,包括百科、博客、论坛等,虽然基于关键字搜索引擎提升了获取信息的效率,但是在信息获取的准确度上存在很大缺陷。随着搜索技术的发展,人们更加意识到网页字符流背后语义的重要性,也就是知识的重要性。为了更好地理解互联网上的内容,并对多源内容进行融合,2001年,由Tim Berners-Lee提出了语义网(Semantic Web)的概念,旨在对互联网内容进行结构化语义表示,并提出互联网上语义标识语言RDF(资源描述框架)和OWL(万维网本体表述语言)。它们利用本体描述互联网内容的语义结构,通过对网页进行语义标识获得网页内容的语义信息,使人们和机器能够更好地协同工作[9]。百科类协同知识资源(如维基百科、百度百科、互动百科等)的出现,对语义网的发展起到了决定性的作用。通过多人协作,知识的建立变得相对容易,互联网大众用户都可以对世界知识做出贡献并且加以共享。这也成为今天大规模结构化知识图谱的重要基础。
⑤2006年至今:在知识图谱拥有海量数据和大规模知识库的基础上,人们开始把重点放到如何应用这些知识到实际中,希望可以在如此大量知识的基础上,对自然语言做到真正的理解,提高计算语言处理的效率,为智能应用提供动力。与传统手工构建知识库不同,从2006年开始,大规模维基百科类富结构知识资源的出现和网络规模信息提取方法的进步,使得对大规模知识的获取方法取得了巨大进展。其中的代表是DBpedia和Freebase,它们都是以维基百科的Infobox为数据来源构建的。为提升搜索质量,Google公司在Freebase的基础之上提出了知识图谱(Knowledge Graph),试图通过事实性知识对网页内容进行语义理解,提取非结构化文本中实体及实体之间的关系结构,提高搜索的准确度。在这样的浪潮之下,知识图谱再次成为人工智能研究与应用的热点。大规模的知识图谱不仅可以应用于搜索引擎,更可以在语义理解、智能问答、大数据分析、商业智能中得到非常广泛的应用,并进一步推动语义网、自然语言处理和数据库等技术的发展。特别是知识图谱嵌入式表示的发展,使知识图谱计算与深度学习、增强学习自然结合,进一步提升了语义理解的能力,使符号主义和连接主义开始相互融合和促进。现在的通用知识图谱包含数以千万级或亿级规模的实体(Entities),以及数十亿或百亿的事实(Facts)(属性值和与其他实体的关系)。这些实体被组织到成千上万的由语义类体现的客观世界的概念结构中。除了通用的大规模知识图谱,各行业也在建立行业和领域的知识图谱,在各种真实的场景中体现出广泛的应用价值。
总之,知识图谱是人工智能应用的核心之一。知识图谱发展到今天,经历了从实验室到工业界、从小规模到大规模、从人工构建到自动生成的过程。人们在如何表示知识、获取知识、融合知识与应用知识上面进行了近半个世纪的探索与实践,并且会随着计算能力、存储能力的不断发展,取得更新的成果。需要指出的是,当前大规模知识图谱仍然存在重事实、轻逻辑的问题。这与实际应用场景的需要和逻辑表示能力的欠缺有关。另外,知识图谱还缺乏描述人类智能不确定性和模糊性等特点的能力。这些问题都需要未来的进一步努力。