从零构建知识图谱:技术、方法与案例
上QQ阅读APP看书,第一时间看更新

1.1 知识图谱序言

2009年5月,NBA西部半决赛正在进行,刚刚接触篮球不久的阿楠惊叹于火箭队的中国大个儿——姚明的表现,于是尝试搜索姚明的臂展。他打开Google搜索引擎,将“姚明臂展”作为关键字进行搜索,得到一整页与姚明相关的网页链接,在尝试打开若干个链接之后,阿楠终于找到一个关于姚明的介绍,里面提到姚明的臂展是7英尺5英寸。然后,他又搜索尺寸转换标准,计算出姚明的臂展足足有226.1厘米。可以看到,在当时,想要通过搜索引擎获取一个问题的答案,可能要经过很多步骤,即便Google已经在2009年3月开始支持更长的查询和初步的语义功能,想要从搜索直接获得答案仍是一件基本不可能的事情。

那么十多年后的今天,如果阿楠想得到同样的答案,会有什么不一样吗?答案是肯定的,如今在Google搜索引擎中搜索“姚明”(读者可自行尝试),会在搜索页面的右侧出现一个包含很多信息的方框,里面除了姚明的代表性图片,还有其基本信息,同时也给出了其他用户感兴趣的搜索项。搜索结果中优先给出了姚明的百科信息链接(维基百科和百度百科),还给出了姚明的相关视频及新闻。可谓内容丰富,图文并茂。

甚至,阿楠还可以用一种更简单的方法,通过在Google搜索引擎中搜索“姚明的臂展,厘米”直接得到答案。

“让搜索通往答案”正是Google搜索引擎的目标之一。而这一切都基于2012年Google发布的知识图谱(Knowledge Graph)。Google知识图谱通过从各种来源搜集信息,来增强搜索引擎结果的准确性。同时,这些不同来源的信息会被添加到搜索引擎右侧的信息框(Infobox)中。Google知识图谱在发布后的几个月内,就已覆盖了超过5.7亿个实体(Entity)以及180亿条事实(Fact),并回答了在2016年5月Google搜索引擎中接近三分之一的问题(问题搜索总量约为1000亿)[1]

利用Google知识图谱,如果用户想要搜索文艺复兴时期的达·芬奇,就会得到如图1-1所示的结果,包括不同的实体以及这些实体是如何连接在一起的。我们不仅可以看到达·芬奇的生卒年月(1452—1519),还可以看到他和他的作品(蒙娜丽莎)、他和他的出生地(意大利)之间的联系。通过发掘这样相互联系的结果,用户可以了解实体更深层次的信息,并进行关联信息的查询。

000

图1-1 Google知识图谱中“达·芬奇”的可视化搜索结果

通过以上的例子,我们可以直观地感受到,知识图谱是一种具有图结构的知识库,其结点通过一些边连接在一起,也可以看到知识图谱在搜索引擎上的强大应用。知识图谱可以看作一类语义网络(Semantic Network)。语义网络是一种表示网络中概念(Concept)之间语义关系的知识库,通常是一个有向或无向图,由表示概念的结点和表示概念之间语义关系的边组成。在图1-1中,达·芬奇是一个结点,而达·芬奇和蒙娜丽莎的关系就是一条边。

可以看到,Google通过一个强大的知识图谱,提高了用户的搜索体验。实际上,Google是站在巨人的肩膀上做了一个拓展,这个巨人就是当时世界上最大的知识图谱之一——Freebase[2]知识库。

Freebase是一个大型的众包知识库,其数据源自维基百科[3]、NNDB[4]、MusicBrainz[5]等,同时通过开源免费吸引用户贡献数据,在运行3年之后,被Google纳入麾下,成为其知识图谱的重要基石。可惜的是,Freebase官方网站已经在2016年5月关闭,用户目前仅能通过Google API下载其历史数据文件。图1-2是Freebase官方网站在关闭之前的截图。

000

图1-2 Freebase官网截图


[1] https://en.wikipedia.org/wiki/Knowledge_Graph。

[2] https://developers.google.com/freebase。

[3] https://www.wikipedia.org/。

[4] https://www.nndb.com/。

[5] https://musicbrainz.org/。