本世纪初,研究者们提出了「知识图谱」这一术语,谷歌从2012年起大力推广「知识图谱」技术,让它在学术界和工业界迅速流行了起来。随之,网上也出现了对知识图谱大量的定义和讨论。
但不管如何,客观地说,它都是多个研究领域共同的结晶,包括语义Web、数据库、知识表征和推理、自然语言处理、机器学习等。
数字计算机的出现和普及、第一代编程语言(LISP、FORTRAN、COBOL、ALGOL等最具代表性的语言)、一个新的科学和技术领域(即计算机科学)的诞生,标志着数字时代的开端。接下来,我们将重点介绍这一时代的五条发展路线:
(1)第一条发展路线是自动推理。Newell、Shaw和Simon在1956年发明的「LogicTheorist」是第一个标志性的处理复杂信息的程序。在这之后,他们于1958年开发的「通用解题程序」,很好地阐释了研究人员奉为圭臬的研究范式:「该程序是作者的研究工作的一部分,目的是理解人类智能、适应能力和创造能力背后的信息处理机制」。其目标为:「构建可以解决对智能和适应性有所需求的计算机程序,并探索这些程序中有哪些可以与人类处理问题的方式相匹配」。此后,研究者们继续在自动推理领域取得了一系列进展,其中较为突出的工作有:Robinson第一定理(归结原理)[5]、Green和Raphael通过开发问答系统将数据库中的定理证明和演绎联系起来[6][7]。在实践层面上,「推理」特征的实现是多种多样的。JosephWeizenbaum的ELIZA系统就是一个很好的例子,只要程序编写正确,该程序就可以用英语进进行关于任何话题的对话。
(3)第三条发展路线是从非结构化数据源中检索信息。一旦具备了一定的计算能力,人们就可以从传统的结构化数据之外的数据源中获取数据。其中,具有里程碑意义的工作是:BertramRaphael于1964年发表的「SIR:AComputerProgramforSemanticInformationRetrieval」。该系统展示了可以合理地被称为「理解」语义信息的能力。它使用单词关联和属性列表来建模对话语句中传达的关系信息。同时,他们通过格式匹配处理程序从英语句子中提取语义内容。
(4)第四条发展路线是处理数据的语言和系统。这一方向具有标志性的工作是:CharlesBachman于1963年提出的集成数据存储(IDS)系统[9]。IDS系统在磁盘上维护共享文件的集合,拥有构造和维护这些集合的工具和一种操作数据的应用程序语言。这种做法保证了工作的效率,但是牺牲了后来被称为「数据独立性」的特性。IDS成为了「CODASYL」标准的基础,后来还演变成了人们熟知的数据库管理系统(DBMS)。此外,人们认为应该有更多的专用语言来处理数据,从而催生了COBOL(1959)。COBOL是一种早期的面向数据处理的编程语言,其语法看上去与英语类似。
(5)第五条发展路线是知识的图表征。由RichardH.Richens于1956年提出的「语义网络」是知识图谱领域最重要的概念之一,起初人们将它作为自然语言机器翻译的一种工具[10]。然而,只有少数研究人员独立地进行了进一步的研究,其中较为有影响力的工作有:RossQuillian于1963年发表的「Anotationforrepresentingconceptualinformation:AnapplicationtosemanticsandmechanicalEnglishparaphrasing」,他于1967年发表的博士论文「Wordconcepts:Atheoryandsimulationofsomebasicsemanticcapabilities」也对此进行了说明[11]。在上世纪50年年代和60年代期间,人们意识到:
当时技术的局限性则包括:
上世纪70年代,计算机在工业界得到了更加广泛的应用。在这十年间,诸如苹果和微软等著名的公司纷纷成立。同时,像「Wordstar」和「Visicalc」等数据处理系统也诞生了。此时,存储和处理能力不断提升,人类的专业知识渐渐积累,从而推动了大型公司对改进数据管理方法的需求。
1、数据对数据处理需求的增长带来了通过「表征独立性」(RepresentationalIndependence)概念体现的劳动分工。这个时候,程序员和应用程序现在「忘掉」为了访问数据而对数据进行物理上的组织的方法。这一想法是EdgarCodd的论文「ARelationalModelofDataforLargeSharedDataBanks」的核心,该论文描述了利用关系作为一种数学模型来提供表征独立性(Codd将其称之为「数据独立性」)。这种理念促进了数据库管理系统和建模工具的发展。
在建模层面上,PeterChen在他的论文「TheEntity-RelationshipModel-TowardaUnifiedViewofData」中介绍了「关系-实体」(ER)数据模型,提倡基于实体和它们之间的关系对数据建模。这样的ER模型以图的形式包含了现实世界的语义信息。这是早期尝试将概念设计与数据模型(在本例中是关系数据模型)联系起来的尝试之一。
在这十年间,研究者们通过意义和形式化语义对语义网络进行了拓展。另一种代表性的人工智能语言是MarvinMinsky于1974年在论文「AFrameworkforRepresentingKnowledge」中提出的Frames,它是一种为局部和微观的数据赋予结构和可扩展性的方式,即给出一种「统一且连贯的理论」。其中,我们将一个由节点和关系组成的网络定义为一个「帧」。
1976年,JohnSowa在他的论文「ConceptualGraphsforaDataBaseInterface」中引入了概念图,作为一种将自然语言查询和断言映射到关系型数据库中的中间语言。这种形式化的体系体现为概念和关系类型的有序逻辑。
这份工作后来影响了Brachman和Levesque,启发他们确定了一个易处理的一阶逻辑的子集,而这后来成为了描述逻辑领域的第一个研究进展。(详见1980年代)
在构建一个基于知识的系统时,一个重要的问题是「从哪里获取知识」,该领域被称为「知识获取」。专家系统是对特定领域人类专家的知识(特别是规则)进行编码的程序,它解决了知识获取的问题。
上世纪60年代后期,EdwardShortliffe开始开发第一个专家系统,该系统在70年代逐渐流行了起来。MYCIN是专家系统的一个经典范例,它是一个识别引起严重感染的细菌的专家系统[14]。于1977年在法国的图卢兹举行的逻辑和数据库研讨会是这十年中的一个里程碑事件,它由HerveGallaire,JackMinker,和Jean-MarieNicolas组织。在这次研讨会上,出现了诸如RayReiter提出的「封闭世界假设」和KeithClark提出的「失败即否定」原则等重要的概念,这次会议可以被认为标志着数据逻辑方法的诞生,对该领域产生了深远的影响。人们普遍认为,这次研讨会形式化定义了逻辑和数据库之间的联系,并将其作为一个单独的字段。在这十年间,人们意识到:
当时技术的局限性包括:
20世纪80年代,随着个人电脑的蓬勃发展,计算任务逐渐从工业界发展到家庭。在数据管理领域,关系型数据库工业发展迅速(Oracle、Sybase、IBM等公司纷纷入场)。面向对象的抽象作为一种新的表征独立性的形式而发展起来。与此同时,互联网开始改变人们交流和交换信息的方式。
2、知识20世纪80年代最重要的成就是形式化定义了语言表达能力和计算复杂度或推理任务之间的根本上的平衡。这在Brachman和Levesque的论文「TheTractabilityofSubsumptioninFrame-BasedDescriptionLanguages」中得到了首次展示。要想提升语言的表达能力,就必须在计算效率上付出代价。这导致研究人员开展一系列工作寻找表达性连续体(ExpressivityContinuum)的平衡点,从而产生了一套名为「描述逻辑」的新逻辑理论。最突出的系统有「KL-ONE」、「LOOM」、「CLASSIC」等。除了描述逻辑,另一个形式化体系在此期间也得到了发展:「F-逻辑」,它深受对象(Object)和帧(Frame)的影响。尽管这些早期的逻辑系统在当时并没有得到大规模的工业应用,但它们表明逻辑推理可以在易于处理的软件中实现。最终,它们将成为当今应用最广泛的本体建模语言OWL和语义网络的基础(详见2000年代)。在这里,值得一提的是,非单调推理技术在这十年间也得以发展。例如,许多形式化体系(包括限定推理、缺省逻辑、自认知逻辑、以及条件逻辑)被引入到非单调推理中[20]。
四、数据、知识和网络(20世纪90年代)
20世纪90年代,两种改变世界的现象级技术诞生了。首先,万维网横空出世。这种全球信息基础设施彻底改变了传统的数据、信息和知识实践。在通用信息空间的概念下,任何人都可以发布信息和阅读(从文本和图像等形式开始),它以分布式的方式完全改变了知识和数据管理的哲学和实践。其次,我们社会几乎所有的方面都被数字化(从纸张到电子,从电子模拟信号到电子数字信号)。这些现象为我们今天所知的大数据铺平了道路[27]。科学研究和工业生产都转向了这些新的发展领域。
3、数据+知识在此期间,演绎数据库体现了传统数据库上数据和知识的融合达到了巅峰。1990年-1999年举办的「演绎数据库研讨会」和1994年到2003年举办的「表征与数据库研讨会」等学术活动是该领域研究活动的中心,这些研究进展催生了Datalog的一些改进版本(例如Datalog+/-)。这些研究的主要挑战是如何在大规模网络数据上进行形式化推理。事实上,将网络视为一个通用的信息空间,引起了开发语言来描述、查询和推理海量数据、信息和知识的需求。在这十年间,最雄心勃勃的计划就是将网络上的知识和数据结合起来,这一想法并最终命名为「语义网络」。诸如简单HTML本体扩展(SHOE)、语义Web中间件「Ontobroker」[32]、本体推理层(OIL)和DARPA智能体标记语言(DAML)、知识查询与操作语言(KQML)和欧盟资助的专题网络「OntoWeb」[33](用于知识管理和电子商务的基于本体的信息交换)等等的研究进展对语义网络项目产生了强烈的影响,并为其定下了框架,最终融合在了网络本体语言OWL的定义中。其目标是汇聚网络上的诸如知识表征、本体、逻辑、数据库、信息检索等技术。这些发展催生了一个围绕网络及其可能性的研究和实践的新领域。在这十年间,人们意识到:
五、大规模的数据和知识(21世纪)
在21世纪初,我们见证了电子商务、在线社交网络(例如,Facebook、Twitter)的爆炸式增长,并且认识到可用数据是海量的(即大数据)。这导致人们开发了新的系统和方法,以比以前更大的规模管理和分析数据。在21世纪第一个十年末,统计方法(通过引入深度学习)开始在各种各样的应用取得了超越逻辑方法的性能表现。