当机器学会"理解":知识图谱的诞生
当机器学会"理解":知识图谱的诞生
2012年5月的一个清晨,旧金山阳光明媚。Google搜索的界面上悄然出现了一个不起眼的变化——当用户搜索某些实体(如名人、地点、电影)时,搜索结果页面的右侧会浮现出一个信息面板。这个面板包含了实体的照片、基本信息、相关实体链接,以及一个优雅的彩色圆点图示。在图示中,不同的概念以节点形式呈现,节点之间的关联则以线条连接。这就是Google知识图谱(Google Knowledge Graph)首次亮相的姿态。
没有人预料到,这个看似简单的功能更新,会成为互联网发展史上的一个重要节点。在此后的十年里,知识图谱从Google的一个实验性功能,逐步演变为支撑智能搜索、问答系统、推荐算法乃至通用人工智能的底层基础设施。它不仅改变了机器理解世界的方式,更深刻地影响了数十亿人获取信息、解决问题的方式。
然而,知识图谱的故事并非始于2012年。若要真正理解这门技术的本质与价值,我们需要回溯到更久远的过去——回到万维网诞生之初,回到一个英国物理学家用笔在餐巾纸上画下草图的那个下午,回到Tim Berners-Lee提出语义网愿景的1989年。
万维网的未尽之梦
1989年3月,在瑞士日内瓦的欧洲核子研究组织(CERN)大楼里,一位名叫Tim Berners-Lee的32岁英国物理学家正在思考一个问题:如何让分散在世界各地的研究人员更高效地共享信息?
彼时的CERN是一个独特的存在。这里聚集着世界上最聪明的大脑,但信息的流通却异常艰难。研究人员分布在不同的楼层、不同的建筑甚至不同的国家,他们使用不同的电脑系统,存储着格式各异的数据。每当有新成员加入项目时,往往需要花费数周时间才能搞清楚"谁在哪里做什么"这个看似简单的问题。
Tim向CERN提交了一份名为"Information Management: A Proposal"的备忘录。在这份后来被誉为"万维网诞生地"的文件中,他提出了一个革命性的构想:创建一个全球性的信息空间,在这个空间里,任何文档都可以通过"超链接"与任何其他文档相连,无论它们位于世界何处。
这个构想最终演变成了我们今天所熟知的万维网(World Wide Web)。Tim Berners-Lee不仅设计了HTTP协议、HTML语言和URL地址这些核心技术,还编写了世界上第一个浏览器和服务器软件。1991年8月,第一个万维网网站正式上线,标志着信息革命的新纪元。
然而,在Tim的内心深处,万维网始终是一个"未完成的梦想"。他清楚地看到,当时设计的超链接机制存在一个根本性的局限:链接连接的是文档,而非文档所描述的事物本身。
让我们用一个具体的例子来说明这个问题。当你在网页上看到这样一句话:"苹果公司的CEO库克于2011年接替乔布斯成为新的掌门人",网页中的"苹果公司"、"库克"、"乔布斯"这三个词仅仅是文本字符。人类的读者可以自然地理解这些词指的是什么——苹果公司是一家总部位于库比蒂诺的科技巨头,库克和乔布斯都是这家公司的著名管理者。但对计算机而言,这三个词不过是三串字符,它们之间毫无关联。
这种"有意义但无理解"的困境,困扰了Tim很久。他开始思考一个更深层的问题:如果网页上链接的不是文档,而是概念——是人、是公司、是日期、是事件——那么机器是否也能像人类一样理解这些信息?
1994年,在美国芝加哥举办的第一届国际万维网大会上,Tim Berners-Lee首次公开阐述了他的新愿景:语义网(Semantic Web)。他的设想是,在现有的万维网之上构建一层新的语义层,使得机器不仅能够存储和展示信息,还能够理解信息之间的含义和关系。
> "The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation." > > 语义网不是独立于现有万维网之外的另一个网络,而是现有万维网的延伸。在语义网中,信息被赋予明确的语义含义,从而更好地实现计算机与人类的协同合作。 > > —— Tim Berners-Lee, 2001
这篇发表于《科学美国人》杂志的文章,可以被视为语义网运动的宣言书。Tim提出,语义网需要解决三个核心问题:如何表达语义信息、如何建立语义关联、如何实现自动推理。为了回答这些问题,他和他的团队设计了一整套技术标准,包括RDF(资源描述框架)、OWL(网络本体语言)、SPARQL(语义网查询语言)等。
RDF的设计理念尤其值得关注。它采用了一种极为简洁却强大的数据结构——三元组(Triple)。每一个三元组由三个部分组成:主语(Subject)、谓词(Predicate)和宾语(Object)。例如,"库克是苹果公司的CEO"可以表示为:
``` (库克, 职业, CEO) (库克, 雇主, 苹果公司) ```
这看起来简单得近乎原始,但正是这种简洁赋予了RDF无与伦比的扩展性。任何知识——无论是关于人、公司、地点还是抽象概念——都可以分解为这样的三元组。更妙的是,三元组本身可以作为另一个三元组的主语或宾语,形成一条长长的推理链条。
Tim Berners-Lee为语义网绘制了一幅宏大的蓝图。在他看来,如果这个愿景得以实现,搜索引擎将能够准确回答"苹果公司CEO的出生地是哪里"这样的复杂问题,而不仅仅是返回一堆可能相关的网页链接。智能代理软件将能够代替用户完成订票、购物、研究等各种任务,无需人工干预。整个互联网将从一个文档海洋,蜕变为一个真正互联的知识网络。
然而,语义网的发展轨迹并未完全按照Tim的设想前进。
从语义网到链接数据:一条更务实的道路
语义网的概念甫一提出,便在学术界引发了热烈反响。W3C(万维网联盟)专门成立了语义网活动小组,陆续发布了一系列技术规范。MIT、牛津、斯坦福等顶尖高校纷纷设立相关研究项目。大量论文涌现在各大会议和期刊上,探讨如何用本体(Ontology)描述世界,如何实现自动推理,如何构建语义搜索引擎。
然而,当学术界沉浸在理论探索的兴奋中时,工业界却显得有些冷淡。原因很简单:语义网的标准太过复杂,部署成本太高,而实际收益却不够明显。
以OWL为例。这套语言提供了丰富的建模能力,支持表达"人的父亲必须是人类"、"一个人的出生日期必须早于死亡日期"这样的复杂约束。然而,要在真实环境中使用OWL,需要精心设计本体模型,需要专业的知识工程师,需要大量的数据标注工作。更棘手的是,OWL的推理引擎在处理大规模数据时性能堪忧,远远无法满足实际应用的需求。
与此同时,互联网上的数据正在以前所未有的速度增长。Facebook的用户数突破了一亿,Twitter上每天产生数亿条推文,YouTube每分钟上传的视频长度超过了300小时。海量数据的涌入,让"如何从中发现有价值的信息"成为更迫切的问题。语义网描绘的美好蓝图,在这场数据洪流面前显得有些力不从心。
就在语义网运动陷入瓶颈之际,Tim Berners-Lee本人再次站了出来。2006年,他在著名的Linked Data原则中,提出了一个更为务实、更易落地的方案。
这四条原则后来被广泛引用,成为链接数据运动的基石:
> 链接数据原则(Linked Data Principles) > > 1. 使用URI作为事物的标识符 > 2. 使用HTTP URI,让人们可以查找这些标识符 > 3. 当有人查找某个URI时,提供有用的信息,使用标准格式(RDF) > 4. 包含指向其他URI的链接,以便人们可以发现更多相关事物
与语义网相比,链接数据的核心理念可以用一句话概括:不要追求一步到位的"完美语义",先让数据互联起来。它不需要复杂的本体建模,不需要昂贵的推理引擎,只需要三个基本元素:唯一标识符(URI)、标准化数据格式(RDF)和指向其他数据的链接。
Tim用一张经典的层级图(Linked Data Pyramid)来说明这一理念。图的底部是静态文档——这是1990年代互联网的主要内容;往上是命名数据,承认每个网页、图片、视频都应该有唯一的标识;再往上是RDF数据,此时数据不再是死的文本,而是可以被程序解析的结构化信息;最高层是链接RDF,此时数据不仅结构化,而且相互关联,形成一张巨大的知识网络。
2007年是一个重要的年份。在Tim Berners-Lee的推动下,DBpedia项目正式启动。这个项目从维基百科的海量文章中提取结构化信息,转化为RDF格式的链接数据。DBpedia的创建者们设计了一套优雅的映射机制:将维基百科 infobox中的信息自动映射为RDF三元组,将维基百科的内部链接转化为语义关系。
例如,当维基百科在介绍"北京"时,其infobox可能包含这样的信息:
- 人口:约2100万
- 位置:中国
- 别名:首都
DBpedia会自动将这些信息转化为:
``` (北京, 类型, 城市) (北京, 人口, 2100万) (北京, 位于, 中国) (北京, 别名, 首都) ```
而"北京"这个概念本身,也被分配了一个全局唯一的URI:`http://dbpedia.org/resource/Beijing`。任何其他数据集——无论是描述中国地理信息的Geonames,还是记录奥运会的SportsDB——都可以通过这个URI与DBpedia相连,从而发现北京与天安门广场、故宫博物院、2008年北京奥运会等概念之间的关联。
DBpedia迅速成为链接数据云的核心节点。到2008年,它已收录了超过200万个实体,覆盖218种语言。与此同时,一批重要的链接数据集相继问世:Freebase汇集了来自各种来源的结构化知识; Wikidata试图用社区协作的方式构建一个开放的百科知识库;FOAF(Friend of a Friend)标准让社交网络中的人际关系得以用RDF描述;MusicBrainz为音乐领域建立了详尽的元数据库。
2009年5月,Tim Berners-Lee在TED大会上发表了一场著名演讲。演讲中,他掏出一张手帕,上面绘制着一个简单的图表:几个圆点,用线条连接。他解释道,这就是他梦想中的互联网的未来——不是一堆孤立的文档,而是由数据点编织而成的网络,每一个数据点都通过语义关系与其他数据点相连。
"链接开放数据云"(Linked Open Data Cloud)正是这一愿景的具体呈现。这张不断扩展的图表展示了几十个相互链接的数据集,涵盖了地理、媒体、政府、生命科学、出版等众多领域。每个数据集都用圆圈表示,连接线则表示数据之间的跨数据集链接。到2014年,链接开放数据云已包含超过1000个数据集,产生了超过500亿条RDF三元组。
但客观地说,这场链接数据运动虽然在学术界和技术社区产生了广泛影响,却始终未能进入主流视野。大多数普通互联网用户对RDF、URI、SPARQL这些术语一无所知,也从未体验过"数据互联"带来的便利。链接数据更像是一场技术人员自嗨的盛宴,而真正的爆发,还在等待一个关键的催化剂。
这个催化剂,来自一家当时还默默无闻的小公司。
MetaWeb:被Google收购的隐形冠军
让我们把时间拨回到2000年代中期,地点切换到美国加州旧金山市区。在一间不起眼的办公室里,一群工程师正在开发一个雄心勃勃的项目:构建一个覆盖世间万物的巨型知识库。
这个项目的发起人叫Danny Kurtzmescht,中文圈常译作"丹尼·费特"或直接音译为"丹尼·科茨"。他是一位连续创业者,此前曾创办过两个成功的科技公司。2005年,年仅26岁的费特创立了MetaWeb,目标直指一个极具挑战性的任务:为互联网上的所有实体——人、地点、公司、产品、电影、书籍——建立全面的语义索引,让任何人都能像搜索文档一样搜索"概念"本身。
费特雇佣了一支精干的团队,其中包括后来成为Google知识图谱核心负责人的John Giannandrea。团队采用了一种独特的知识获取策略:他们不仅从维基百科、Freebase等已有数据源中抽取信息,更重要的是,他们雇佣了大量人工编辑,对机器抽取的结果进行校验和补充。这些编辑需要阅读大量的实体描述,然后标注出关键属性和关系。
Freebase是MetaWeb的核心产品。这是一个类似于维基百科但更强调结构化的知识库。与维基百科不同,Freebase中的每个条目都有预定义的字段模板:人物条目包含出生日期、死亡日期、职业、雇主、配偶等字段;电影条目包含导演、演员、编剧、上映日期、票房等字段;地点条目包含国家、人口、面积、海拔等字段。用户可以通过搜索框直接查询这些结构化数据,也可以通过"类型"浏览器浏览特定类别的所有实体。
Freebase的知识覆盖范围令人惊叹。到2010年被Google收购时,它已收录了:
- 超过1200万个实体
- 覆盖数千种不同的"类型"
- 记录了超过5000万条关系
- 支持40多种语言的本地化
更重要的是,Freebase的API被设计得极为友好。开发者只需要几行代码,就可以查询"汤姆·克鲁斯主演的所有电影"或"人口超过1000万的城市"这样的复杂问题。超过10万个第三方应用接入了Freebase的API,包括Netflix、Spotify、IMDb等知名服务。
Google敏锐地捕捉到了Freebase的潜力。2010年7月,Google宣布收购MetaWeb,交易金额据报道在1亿到2亿美元之间。Danny Kurtzmescht加入Google,John Giannandrea则担任了Google搜索部门的核心工程师,直接负责将Freebase的成果整合到Google搜索产品中。
收购完成后,Google并未立即大张旗鼓地宣传Freebase的存在。但在幕后,一场大规模的整合工作正在进行。Google的技术团队开始将Freebase的结构化知识与Google搜索的索引系统深度融合。他们开发了新的索引格式,使得结构化知识可以与传统网页文档在同一个查询中被检索;他们设计了新的排序算法,综合考虑实体的权威性、相关性和用户意图;他们还创建了实体识别(Entity Recognition)技术,让搜索引擎能够自动识别用户查询中的实体概念。
2012年5月16日,Google在官方博客上正式宣布推出"Knowledge Graph"。博客文章写道:
> "We've been working on an intelligent model — in a parlance twoware folks call a 'knowledge graph' — which harnesses the collective intelligence of the web and the web itself to provide a more intuitive way to find the most relevant and authoritative information."
Google知识图谱的发布,在技术上并不复杂——它本质上是Freebase的结构化知识库在搜索场景中的新包装。但从市场角度看,这是一个划时代的事件。Google首次将"知识图谱"这个概念带入了普通用户的视野,也首次向全世界展示了结构化知识在搜索引擎中的巨大价值。
从Google到百度:知识图谱的全球化浪潮
Google知识图谱的成功,很快引发了整个行业跟风。
2014年,Microsoft在Bing搜索中推出了Satori知识图谱。与Google类似,Satori的目标是为Bing用户提供关于人物、地点、组织的结构化信息卡片。Microsoft还宣布,Satori的知识库已收录超过5000万个实体,覆盖几乎所有主要语言。
同年,中国互联网巨头百度也宣布上线"百度知识图谱"。百度知识图谱的特别之处在于,它针对中文语境进行了深度优化,不仅收录了大量中文实体和关系,还特别关注了中国文化特有的概念——如中医穴位、成语典故、古典诗词等。百度的工程师们还开发了专门的实体消歧技术,能够根据上下文语境准确识别中文文本中的实体指代。
2015年,Amazon开始在Alexa智能助手中应用知识图谱技术。Amazon的知识图谱专注于产品领域,不仅收录了海量商品的基本信息,还建立了品牌、类别、特性、价格等维度之间的复杂关系。这使得Alexa能够回答"帮我找一款3000元以内、支持WiFi和蓝牙功能的中国品牌扫地机器人"这样的复杂语音查询。
2016年,Facebook宣布推出Graph Search功能,虽然后来被整合到其他产品中,但Facebook构建的社交知识图谱——包含超过20亿用户、数十万亿的朋友关系、点赞记录、分享内容——仍然被视为全球最大的社会网络知识图谱之一。
一时间,知识图谱成为了科技行业最炙手可热的技术方向。Gartner在2013年和2014年连续将"知识图谱"列入年度十大战略性技术趋势。CB Insights的数据显示,2013年至2018年间,全球知识图谱相关创业公司的融资总额超过了10亿美元。
这一波浪潮中,一些有趣的应用形态也开始涌现。Wolfram Alpha试图用知识图谱技术打造一个"会计算的搜索引擎",用户可以直接询问"从北京到纽约的距离是多少"或"中国的GDP增长率",系统会基于内置的知识库直接给出答案。IBM Watson则将知识图谱与自然语言处理相结合,在Jeopardy!智力问答节目中击败了人类冠军,向全世界展示了知识驱动AI的潜力。
知识图谱的本质:什么是"图",什么又是"谱"
在深入了解知识图谱的历史脉络之后,我们现在可以更从容地来探讨一个根本性的问题:知识图谱究竟是什么?
从字面上看,"知识图谱"由"知识"和"图谱"两个词组成。"知识"不难理解——它是人类对世界的认知,是关于事物、概念、事实的描述。那么"图谱"呢?"图"指的是图论(Graph Theory)中的图结构,由节点(Node)和边(Edge)组成;"谱"则暗示了某种系统性、完整性和结构性的特征。
将两者结合,知识图谱的核心理念便是:用图结构来组织和表示知识。
在知识图谱中,有两种基本元素:实体(Entity)和关系(Relation)。实体对应着客观世界中的具体事物——一个人、一座城市、一家公司、一部电影。关系则描述实体之间的联系——"居住于"、"创立于"、"主演了"。每个实体可以拥有多个属性(Property),比如"人"这个类型的实体可以有"姓名"、"出生日期"、"国籍"等属性。
将知识表示为图结构带来了一个显著的优势:知识之间的关联可以被直观地表达和高效地遍历。假设我们想知道"苹果公司的CEO库克的出生地在中国哪个省份",在知识图谱中,这个问题可以通过遍历以下路径得到答案:
``` 库克 -> 雇主 -> 苹果公司 ->