第一篇 基础知识篇
第1章 知识图谱概述
1.1 知识图谱简介
在过去的10~15年,知识图谱及其相关应用已经在各个方面改变了人们的生活。无论是从搜索引擎中得到更直观的搜索结果、在网上购物时借助推荐系统获取更加个性化的购物体验,还是近年来问世的种类繁多的语音助手,如Siri、Google Assistant以及小爱同学等,人们每天都在与知识图谱进行无数次的交互。知识图谱把复杂的知识领域通过数据挖掘、信息处理、知识计量和图形绘制而显示出来,揭示知识领域的动态发展规律,为科学研究和实际应用提供有价值的数据和智能支撑。本节从知识图谱的概念、常见的知识图谱以及知识图谱的价值与应用三个方面对知识图谱进行简单的介绍。
1.1.1 图、图谱与知识图谱
一个图(graph)由节点和边组成。当节点和边有了语义标签时,这个图里就有了图谱:可以按照边的标签来搜索和显示分类(如is-a或part-of)连接的相关节点集合(图集),如华谱系统里由 father-of关系连接的一份份家谱谱系图。图谱具有分类编辑的系统性和逻辑性,而不同的语义标签可以在一个图中连接不同的图谱。当节点和边的语义标签有了领域知识对其进行解释时,这个图才能成为一个知识图谱(knowledge graph)。
知识图谱是一种语义图谱。尽管“知识图谱”这一专有名词是Google公司于2012年提出的,但与知识图谱这一概念相关的研究早已出现[1,2]。
知识图谱由节点和边组成,其中节点用于表示语义符号,而边则表示语义符号之间的语义关系。知识图谱中的节点可以是一个具体的实体,如人名“马克龙”、地名“法国”等,也可以是某些抽象概念,如“总统”、“人工智能”等。知识图谱中的边代表了实体之间的各种关系,如亲属、合作等。知识图谱中的边还可以代表实体的属性,如书籍的标题、城市的位置等。总体而言,知识图谱是由学科专家借助人工智能技术和机器学习算法创建的知识领域模型,是一种揭示实体之间关系的语义网。图1.1展示了一个知识图谱的基本结构。
图1.1 知识图谱的基本结构
一般地,知识图谱可以形式化地定义为由结构化三元组组成的有向图,表示为,其中为实体集,;为关系集,;为三元组集合,。
以三元组(巴黎,位于,法国)为例,其中“巴黎”称为头实体,其类型为“城市”,“法国”称为尾实体,其类型为“国家”,头实体和尾实体之间的关系为“位于”。在某些三元组中,关系代表实体的某种属性,相应地,此时尾实体也称为属性值,如(史蒂夫 乔布斯,出生于,1955年)。目前大多数知识图谱都以三元组的形式来表示各种类型的知识,但知识图谱中的知识表示(knowledge representation)除了这种以三元组表示的二元关系以外,也包括类别、属性等不同粒度、不同层次的语义关系。
互联网上存在海量的知识资源,这些知识资源大多数以非结构化的形式表示,如文本、音频、图片等。对于计算机,处理非结构化数据通常是非常困难的。知识图谱对互联网错综复杂的非结构化数据进行加工、处理和整合,将其转化为清晰、简洁的“实体-关系-实体”三元组和“实体-属性”对,从而实现知识提取和知识整合,*终形成图结构的知识库,使得计算机可以轻松处理。
1.1.2 知识图谱的价值
知识图谱通过节点和关系对真实世界的各种场景进行直观的建模,使用“图”这种基础的数据结构直观、自然、高效地表达世界上的各种实体和关系。在表达能力方面,相比于传统数据库,知识图谱表达关系的方式更加多样,基于图论等背景知识可以进行更加复杂多样的关联分析,满足企业的分析和管理需求;在推理能力方面,可以基于知识图谱的图结构设计相应的业务规则,通过本体推理辅助业务决策;在时间和空间开销方面,知识图谱通常采用图数据库进行存储,相比于传统数据库响应时间更短,计算能力更强,向用户返回结果的速度更快。
自1984年Cyc①项目启动以来,陆续出现了一系列的知识库和知识图谱项目,如通过专家知识构建的Cyc、WordNet②,通过互联网资源及群体智能构建的Freebase③、DBpedia④、Wikidata⑤、YAGO[3]、BabelNet[4],以及使用机器学习技术自动构建的NELL[5]和Knowledge Vault[6]等。知识图谱在多个领域都展现出了广泛的应用价值。例如,美团公司构建了大规模餐饮娱乐知识图谱“美团大脑”⑥,实现了对商家和消费者的多维度精准刻画。当消费者在美食类目下以“鱼”为关键字进行搜索时,可以通过知识图谱得知“鱼”是一种“食材”,进而在提供搜索结果时除了提供“清蒸鱼”、“糖醋鱼”等传统的搜索结果外,还能够提供“赛螃蟹”这样的将鱼肉作为主料的菜品,从而丰富了搜索结果,提升了用户体验。在金融领域,可以通过用户在网络的通信信息构建知识图谱的关联关系,对用户在信贷行为上高频交互过的人员和群组进行溯源,从而精准定位骗贷团伙,实现反欺诈领域的监控和预警。
总之,知识图谱因其对现实世界进行建模的特点,已经成功俘获了大批客户,涉及金融、广告、信息技术(IT)、社交网络甚至传统制造业等多个领域。在未来,随着人工智能逐渐渗透到每一个人的生活中,知识图谱势必会得到更加广泛的应用。
1.1.3 知识图谱的挑战
尽管知识图谱已经在许多方面得到了广泛的应用,但其目前仍有一些亟待解决的问题。其一是知识来源的缺失,或称为知识的确定性问题。目前知识图谱中的知识多是从维基百科(Wikipedia)等互联网资源中经过清洗和处理得到的,而很难对这些知识进行溯源,进而证实或证伪。《华盛顿邮报》曾报道称,通过Google得到的搜索结果缺少消息来源,“削弱了人们核实信息的能力”。其二是如何区分同名的不同实体,如网球运动员李娜和演员李娜。其三是如何通过知识图谱进行推理,如某人的长子和次子之间的关系就是兄弟。
另外,目前绝大多数的知识图谱并不包含图谱中的实体和关系的任何背景信息,换句话说,大多数“知识图谱”只是通过自然语言处理等技术从非结构化数据中生成的“数据图谱”,这些图谱提炼了原始数据中的信息,但并不具备推理能力。目前有一些工作致力于解决这些方面的问题[7,8],如何使知识图谱具有更强大的智能,仍然是非常具有挑战性的问题。
1.2 知识图谱的发展历程
知识图谱技术由历史上的许多相关技术,如语义网、本体论、人工智能等多个方面继承和发展而来。知识图谱的发展历程可以追溯到20世纪70年代问世的专家系统,该系统依据领域专家的知识和经验模拟人类的决策过程进行推理和判断,以解决需要人类专家处理的复杂问题。如图1.2所示,20世纪80年代开始,依赖专家知识构建的Cyc、WordNet等本体知识库问世,这类知识库是知识图谱的早期雏形。进入21世纪,出现了第一个大规模的现代开放域知识图谱DBpedia,随着人工智能技术的发展又出现了能够自动构建的知识图谱,如NELL和Knowledge Vault等。本节将从传统的知识库、现代的知识图谱、人工智能时代的知识图谱三个方面进行介绍。
图1.2 知识图谱的发展历程
1.2.1 传统的知识库
Cyc和WordNet是较为典型的依赖专家知识构建的早期知识库项目。Cyc项目开始于1984年,其*初的目标是建立人类*大的常识知识库,并在此基础上完成知识推理等任务。Cyc目前包含50万个实体、约3万个关系以及500万条事实,主要由术语(term)和断言(assertion)进行表示。Cyc项目还开放了一个可以免费使用的子集,即OpenCyc。早期的Cyc项目大多采用人工构建的方法来推进,近年来Cyc也开始尝试使用自然语言理解工具从互联网的非结构化数据中抽取知识。自2008年起,Cyc的资源开始被映射到Wikipedia、DBpedia等资源上,这使得Cyc与现代知识库项目建立链接变得更加容易。Cyc的一大特点是其采用了形式化的方式描述知识,这使得Cyc可以进行复杂推理。
展开