1.2 什么是知识图谱

前面絮絮叨叨了好些零零碎碎的文字,意在激活我们大脑对不同知识之间的联想。知识之间的关联无处不在。古今中外、人文科技、儿女情长、家国大事、现实幻想、奇闻趣事,可谓一切知识之间皆有关联。有些关联乍一看思维跳跃、没有章法,但稍加思索,就会发现其中自有逻辑所在。

知识图谱就是一种对知识间的关联进行建模的方法,目的是将这些关联关系的逻辑显式地表示出来。将上文所提到的知识用网状图(Graph)的方式组织成图1-1的形式,就形成了一个知识图谱。也就是说,知识图谱是知识的一种表示形式——一种由知识点及其之间的关联关系组成的网状图。

早在知识图谱出现以前,有识之士就在深入研究人类大脑中知识间的关联关系了。认知科学和脑科学研究的最近成果表明,人类思维活动的机制就是联想,联想的核心则是知识间的联系。哲学家大卫·休谟把人们对知识、观念或知觉之间的联系归结为三类,分别是相似关系(Resemblance)、时空的接近关系(Contiguity in time or place)和因果关系(Cause or Effect)。

以图1-1为例,李白的《静夜思》引导人们自然而然地想到月亮(月球),进而想到苏轼的《水调歌头·明月几时有》。在大卫·休谟的理论中,这个过程被认为是相似关系的体现。由苏堤到苏堤尽头的雷峰塔的联想过程,则被认为是时空的接近关系。采用因果关系的例子有“长征五号”运载火箭因为具备强大推力,所以能够逃脱地球引力的束缚;因为“嫦娥五号”在“长征五号”的运送下逃脱地球引力,所以“嫦娥五号”能够到达月球,并进行月球探测。不过,大卫·休谟在他的著作《人类理解研究》中认为,很难证明是否只有这3种根本性的关联关系,而这正是哲学、脑科学、神经科学、认知科学、心理学等诸多学科致力于解决的问题。

在偏于实践应用的知识图谱领域,并不过多深究知识间根本性的关联关系。相反,知识图谱容许或需要更加多元、多样、多维的关联关系。在实践中,通常根据场景、业务或应用的需要进行总结梳理。下面以前文和图1-1为例做简单说明,通常来说,书籍作品与人物之间的关联关系有如下两种。

●“<作品,谈及,人物>”:表达了书籍作品包含了描绘该人物有关的内容。

●“<人物,写,作品>”:表达了该书籍作品是由该人物撰写的。

这在图1-1中都有体现,比如“<水调歌头·明月几时有,谈及,苏辙>”和“<王文广,写,知识图谱>”等。此外,根据场景的需要对知识进行梳理和总结,会导致知识图谱在不同情况下存在差异。领域不同、背景不同、目标不同、应用方向不同,梳理总结的结果都会有所不同。这种差异很难避免,第2章将会详细探讨这类问题,并提出相应的方法论和工程模型等途径,尽可能化解困难、减少分歧、扩大共识。

上例中提到的“<水调歌头·明月几时有,谈及,苏辙>”和“<王文广,写,知识图谱>”被称为三元组。三元组正是知识图谱的基本元素。从上述例子可知,三元组表达的是两个知识点之间的关系,因此也常被称为关系三元组。

三元组由三个部分组成,分别为实体、关系、实体,即“<实体,关系,实体>”。有时为了区分两个实体,基于其位置,分别将它们称为头实体和尾实体,即“<头实体,关系,尾实体>”。也就是说,“水调歌头·明月几时有”和“苏辙”都是实体,“水调歌头·明月几时有”是头实体,“苏辙”是尾实体。

进一步的,知识图谱事先梳理总结的知识类型,比如“<作品,谈及,人物>”等,通常被称为关系类型,其组成部分中的“作品”和“人物”被称为实体类型,“谈及”是关系名称。在图1-1 中,知识图谱就是由无数三元组组成的巨大的图。图的顶点表示实体,也就是一个个的知识点。图的边表示了实体间的关系,也就是知识点与知识点的关联关系。

图1-1 知识图谱示例

刻画一个知识点,不能仅仅用几个字来表示,而要从不同的维度来描绘。比如人物,除有姓名之外,还有出生年月、身份证号码等。在知识图谱中,这些不同维度的描述信息被表示为实体属性。实体属性的表现形式是键值对,即“<属性名,属性值>”。比如实体“苏轼”,其属性有“<生日,1037年1月8日>”和“<性别,男>”等。依附于关系三元组上的一系列键值对就是关系属性。关系属性能够让我们从不同的视角来看待关联关系。比如关系三元组“<苏轼,写,水调歌头·明月几时有>”,其属性有“<时间,1076年>”,用于表示苏轼在1076年写了《水调歌头·明月几时有》这首词。对于实体属性,可以对其进行拉平,从而形成形似三元组的形式,并被称为属性三元组。比如“<苏轼,生日,1037年1月8日>”和“<苏轼,性别,男>”等。

至此,知识图谱的基本概念已大致介绍完毕,相信读者对知识图谱有了基本的认识。知识图谱就是由知识点和知识点之间的关联关系所组成的网状的图,是知识的天然表示形式,既便于人类理解,又易于被机器使用。在知识图谱中,实体和实体属性刻画了知识点的内容,关系和关系属性则刻画知识点之间的关联联系。

● 知识点(Knowledge Item):被组织起来的、用于表示一个抽象的或者具体的事物的信息。知识点通常与其他知识点存在各种各样的关联关系。

● 知识元素(Knowledge Element):表示组成知识点的基本信息。一个知识点通常由许多元素组成。

● 实体(Entity):是指一种独立的、拥有清晰特征的、能够区别于其他事物的事物。在信息抽取、自然语言处理和知识图谱等领域,用来描述这些事物的信息即实体。实体可以是抽象的或者具体的。在知识图谱中,知识点表示为实体;在图论、知识存储或图数据库中,实体表示为顶点。

● 关系(Relationship):实体之间的有向的、语义化的表示。在知识图谱中,知识间的关联及联系表现为关系;在图论、知识存储或图数据库中,关系表示为边。

● 知识图谱(Knowledge Graph):由实体及实体间的关系所组成的网状的图,每个实体及其关联的属性键值对用于描述知识点,而每个关系及其属性用于表示知识点间的关联关系。