作者 | 肖仰华
编辑 | 朱莉
本文转载自知识工厂(ID:fudankw)
肖仰华博士,复旦大学计算机科学与技术学院教授,博士生导师,知识工场实验室负责人。
此文内容取自肖仰华教授在华为、CCF等场合所做报告,完整内容见书籍《知识图谱:概念与技术》的第15章《知识图谱实践》。
摘要:经历了大数据时代的洗礼,各行业积累了前所未有的海量数据。但是各行业的大数据犹如锁在笼中的雄狮,威力难以释放。知识图谱为各领域提供了一种便捷的知识表达、积累与沉淀方式,为行业大数据的理解与洞察提供了丰富的背景知识。大数据驱动的行业智能化对知识图谱这类背景知识提出了广泛诉求。行业智能化势必走上数据驱动与知识引领相融合的新型路径。知识图谱如何助力各行业智能化过程涌现出来大量的工程问题?
这些问题需要得到有效解决,需要得到深入理解。过去5-6年的落地实践也为总结知识图谱的最佳实践奠定了基础。知识图谱落地过程中的基本原则与最佳实践的总结已经成为了各行业图谱落地的迫在眉睫的任务。大量的知识图谱落地项目走在错误的或者曲折的道路上。本报告将结合复旦大学知识工场实验室十多个典型知识图谱落地项目,系统论述面向行业智能化的知识图谱落地过程中的基本原则与最佳实践。
1. 概述
知识图谱技术最终需要在应用与实践中证明其价值。与知识图谱实践相关的问题包括知识图谱系统、知识图谱工程以及知识图谱应用与产业。知识图谱系统是一类以知识图谱建设与应用为核心内容的人机协作系统。知识图谱系统的建设是知识图谱应用的主要抓手。知识图谱工程是以知识图谱系统的建设与应用为基本内容的工程学科,是众多工程学科的重要分支之一。
随着知识图谱技术的应用深入,越来越多的行业和企业正在积极推进知识图谱系统的建设。为了有效支撑知识图谱的工程实践,一些企业推出各类知识图谱相关的咨询服务、解决方案、服务平台、系统软件、数据服务等形态各异的产品与服务。供应方与需求方,学术界与产业界共同构成了知识图谱的产业生态。
1.1 知识图谱应用的推动力
当前,知识图谱的应用与实践有着鲜明的中国特色。首先,随着我国人口红利消失与人力成本增长,我国的实体企业有着迫切的智能化升级与转型需求,对知识图谱技术的应用提出了强烈需求。传统实体企业需要进一步解放劳动力,进一步降低人力成本。将知识赋予机器,实现简单知识工作(只需简单知识即可完成的工作)自动化无疑是解决方案之一。
其次,我国有着丰富的应用场景和数据基础,使得知识图谱在各行业的大规模应用成为可能。我国的互联网、电信、电商、社交、出行等各行业都积累了丰富的大数据,各种面向消费者、企业、政府的应用模式齐全多样,这些都为知识图谱技术的规模化应用提供了富含养分的土壤。最后,中国一批头部企业先行先试为知识图谱在更大范围的普及与应用起到了积极示范。我国的很多互联网平台以及IT企业已经建成了数个世界级平台,这些平台积累丰富的知识图谱应用经验,为知识图谱在其他行业的普及与应用起到了良好的示范与带动作用。
知识图谱技术在当下中国的实践呈现以下几个典型特点。这些特点体现了当前的宏观发展环境以及技术生态对于知识图谱技术需求的迫切性。
(1)与行业智能化升级紧密结合。很多行业经过数十年的信息化建设,基本上完成数据的采集与管理的使命,为各行业智能化升级与转型奠定了良好的基础。对于企业而言,增加收入、降低成本、提质提效、安全保障都是其业务核心诉求。知识图谱技术的应用是进一步满足这些核心诉求的手段之一。
在行业智能化的实现过程中,迫切需要将行业知识赋予机器并且让机器具备一定程度的行业认知能力,从而让机器代替行业从业人员从事简单知识工作。一方面,知识积累与沉淀一直是行业追求的目标。另一方面,提质提效的压力迫使企业积极探索认知智能在企业各工种中的应用。利用知识图谱技术,沉淀行业知识、实现简单知识工作自动化,是当下以及未来一段时间内行业智能化的核心内容。
与行业智能化的深度融合要求知识图谱研究与落地从通用知识图谱转向了领域、行业知识图谱,转向企业知识图谱。领域应用的样本稀疏、场景多样、知识表示复杂等问题对于知识图谱技术均提出了巨大挑战。
(2)与机器智脑的建设深度融合。随着我国人工智能战略的持续推进,作为人工智能的重要分支的机器人产业迎来了发展的黄金期。其中,各种服务机器人,包括客服机器人、陪伴机器人、问诊机器人、导购机器人、理财机器人等已经日益融入到人们的日常生活中。与工业机器人相比,服务机器人对机器的认知水平要求更高,而对动作能力要求相对较低。
因此,决定服务机器人服务效果的是大脑而非四肢。建设具有一定认知能力的机器智脑是服务机器人产业发展的至关重要环节,而机器智脑的重要组成部分是知识库。机器是否具有知识并且能够利用知识形成认知能力进而解决问题,是服务机器人更好地造福人类社会的关键。以知识图谱为代表的大数据知识工程为炼就机器智脑带来了全新机遇。未来机器智脑的演进过程也将是知识图谱等知识库技术不断赋能机器人以及各类硬件终端的过程。
与机器智脑建设的深度融合要求针对智能终端与智能机器开展相应的知识工程研究,要求从多模态(语音、图像、视频、传感器等)、类人化(情感、美感、伦理、道德、价值观等)等角度进一步拓展知识图谱的表示,深化知识图谱的应用。
(3)与数据治理以及大数据价值变现紧密结合。很多行业和企业都有大数据,但是这些大数据非但没有创造价值,反而成为了很多行业的负担。阻碍大数据价值变现的根本原因在于缺少智能化的手段,具体而言是缺少一个能像人一样能够理解行业数据的知识引擎。行业从业人员具有相应的行业知识,才能理解行业数据进而开展行业工作。
类似地,把同样的行业知识赋予机器,构建一个行业知识引擎,机器才可能提炼、萃取、关联、整合数据(对应于传统的数据治理),才可能代替人去理解、挖掘、分析、使用数据(对应于大数据的价值变现),可以代替行业从业人员挖掘数据中的价值,从而有力支撑大数据的价值变现。知识图谱已经成为知识引擎的核心,成为大数据价值释放的关键技术之一。
与数据治理以及大数据价值变现的深度融合要求进一步发展从大数据的统计关联筛选语义关联的有效手段,需要进一步深化元知识的表示与应用技术(以有效指导数据融合与关联)。
1.2 知识图谱应用与产业现状
当前,知识图谱应用仍然是以典型项目、典型场景的试点为主,由点及面的普及正蓄势待发。当前知识图谱的产业已经初具形态。知识图谱的产业形态分为三类典型形态:数据与服务、产品与系统、咨询与解决方案。
(1)数据与服务。知识图谱应用的直接方式建设通用或领域知识图谱并将知识图谱中的数据对外提供服务。单纯的图谱数据服务能力较为有限,往往需要针对应用场景提供深度服务,特别是基于知识图谱的认知服务。一些通用平台包括IBM Watson、微软认知服务、百度大脑等都在尝试提供基于知识图谱数据与认知服务。
除了通用知识图谱之外,特定领域或者行业知识图谱也对数据与认知服务有着强烈需求。在图书情报、出版传媒、招聘就业、知识产权等相关领域,缺乏头部企业,第三方平台发展空间较大。并且这些领域数据相对公开、容易获取,使得构建独立的第三方服务平台成为可能。
(2)产品与系统。知识图谱的大规模应用与产业化是需要各类成熟的产品与软件系统支撑的。比如很多行业图谱的建设需要互联网数据源的补充,这就需要大规模的分布式爬虫系统。建好的大规模知识图谱通常需要借助图数据管理系统的管理。大量的企业或者团队在从事相关系统的研发。目前涉及知识获取的产品与系统仍然有很大的发展空间。知识获取技术总体上仍在持续发展,技术尚未定型,为其固化相应的产品形态具有一定的难度。
(3)咨询与解决方案。知识图谱建设是个典型的系统工程,与建筑工程十分相似,都需要论证、设计、实施、监理、验收等各个环节。知识图谱落地过程中最为重要的环节不是实现,而是论证与设计,这就给专注于知识图谱咨询和解决方案设计与实施的企业提供了丰富的机会。
这一现状的原因有以下几点:第一、对于很多行业的头部企业而言,企业知识资源建设是自身升级与转型的命脉。命脉是不可能假手于他人,企业会牢牢掌握系统建设的主动权与控制权。而咨询恰是一种企业具有完全控制的权利又能引入外部智力资源增强建设能力的方式。第二、知识图谱技术发展到成熟阶段尚需时日,因此,标品化的服务与产品仍然稀缺,在这样的阶段,咨询与定制化的解决化方案自然更容易落地,更容易满足用户需求。
知识图谱产业的三种形态已经出现并迅速发展。知识图谱技术在2018年8月首次进入了国际知名咨询公司Gartner的技术成熟度曲线。如图1所示,知识图谱技术正处在技术成熟度曲线的上升阶段。Gartner预期知识图谱将成在未来5-10年内逐步成熟。这种关注很大程度上是由知识图谱的应用与产业的发展而推动的。伴随着行业智能化转型、简单知识工作自动化、机器智脑的发展、感知智能产业的升级等一系列进程的推进,知识图谱技术的应用与产业化将迎来一波热潮。
图1 知识图谱技术成熟曲线
1.3 知识图谱实践的系统工程观念
知识图谱实践是一种典型的大规模知识工程,是典型的系统工程,在实践过程中应该坚持系统观与工程观。
(1)工程观。所谓知识图谱的工程观,是指利用数学和科学原理提出解决实际问题的有效方案的观念。基础的自然学科的认识世界为基本使命,而工程学科旨在改造世界。然而工程师们改造世界的过程本身就是通过实践来认识世界的过程。因而工程与科学又是密切相关的。
特别是随着人工智能的发展,我们有机会通过构建具有人类水平的智能机器这样一种具体实践去回答“我们从哪里来,又将去往何方”等一系列终极问题。具体到知识图谱,作为一类大规模知识工程,其当下的重要使命在于解决各行业智能化升级转型过程中涌现的一系列实际问题。能否解决这些问题,如何解决这些问题,是摆在知识工程研究者和实践者面前迫切需要回答的问题。
工程观势必要求实践者具备优化问题的求解思路。工程中的大部分问题是受资源约束的最优化问题。任何知识图谱实践所能投入的资源(人力、资金、数据)总是有限的,然而实际问题的解决却又是迫切的。因而,工程实践往往需要利用这些有限资源提出最优方案。明确优化问题中的约束、建立合理的优化目标、提出廉价的方案是解决优化问题的关键。
例如在知识图谱建设中,目标图谱的规模、粒度、精度都是优化目标需要考虑的因素,有多少人力(特别是专家)、有多少数据往往都是约束。过于宏大、不切实际的目标容易造成巨大困难。有文献[1]指出,手动构建知识图谱,每个三元组的成本大约在 2 到 6 美元左右,自动构建成本降低 15 到 250 倍,即便如此每个三元组仍需消耗 1 美分到 15 美分的成本。因此,在知识图谱相关的工程实践中需要注重优化问题,注意实际约束。
知识图谱的工程观要强调实践的重要性。知识工程提出之初就注重从实践中总结知识工程的关键问题,并发展必要的理论以进一步指导工程实践。工程实践与理论研究是相辅相成的,不是对立的。质能转换、航空动力学等等从理论到成熟的实践经历了数十年的时间。
在人工智能的理论研究与工程实践中,实践绝不是从属地位。“知行合一”是中国人追求的理想境界,“知”往往走在“行”之前。但是人工智能的研究与实践不同,“行”更多地走在“知”之前。当下技术的进步有加速发展的趋势,但理论研究的速度仍然保持原有速度,已经难以跟上技术发展的需求。技术的快速发展反过来要求,理论总结必须提速以适应技术发展的快速需要。
(2)系统观。系统观认为现实世界的大部分复杂系统都是由相互作用、相互依赖的若干组成部分结合而成的具有特定功能的有机整体。知识图谱系统组件众多、涉及要素多样、人机协作复杂,是一类典型的复杂系统。明确知识图谱系统的组成及其之间的相互关系是十分重要的。
相比较而言,知识图谱的部分组件的实现,比如实体识别或者关系抽取,其效果取决于一两个关键模型。但是,知识图谱作为系统的整体不是若干组件的简单组合,而是复杂策略指引下的有机组合。比如,在当前NLP仍然不能有效完成抽取任务时,能否充分利用各类资源、能否有效利用已经积累的业务知识、能否有效利用人力因素进行验证或者标注,均对这一问题有着显著影响。
作为一个复杂系统,知识图谱系统具有涌现性、交互性以及演化性等鲜明特征。系统的涌现性是指系统在整体上体现出其各组成简单组合所不具备的特性,也就是1 1>2的特性。这一点对于如何在当前NLP技术不成熟的前提下实现知识工程成功落地具有积极意义。很多知识工程在某些场景下要求极高,比如智能医疗系统,有着近乎100%准确率的要求。
虽然每个独立的NLP模型都难以达到完美的要求,但是各种模型经由各种策略组合在一起(比如人机协同策略)则有可能达到这一苛刻要求。知识图谱系统与外部数据与应用之间存在着复杂的交互,是个动态开放的系统。随着环境的变化,应用需求与数据都会发生变化,从而要求知识图谱系统作出相应调整。知识图谱系统的动态与演化仍然是个开放问题。
知识图谱作为大规模知识工程,与传统知识工程也存在着本质差别。当下的大数据知识工程是以知识的规模化表示与应用为其核心标志的。这决定了大数据知识工程是以大规模自动化知识获取为其根本立足点的。自动化知识获取势必要求降低对于专家的依赖。受限于当前人工智能总体发展水平,高度自动化、少量人干预势必要以降低知识的描述精度为代价的。而知识描述能力的降低,又进一步削弱了相应的推理能力。大规模的互联网应用催生了知识图谱这样的知识表示。
知识图谱通过二元语义关联作为其知识表示的核心,具有简单普适以及适合从数据中高度自动化获取等优点,但也有表达能力较弱的缺点。目前,得以成功应用的知识图谱推理往往都是基于上下位关系的简单推理。但是对于传统知识工程,推理引擎、解释构件等等都是专家系统的重要组成部分[2]。如何兼具规模与效用(知识表示与知识推理的能力)仍然是知识图谱有待进一步深入的研究问题。
1.4 知识图谱助力行业智能化的演进路径
如前文所述,知识图谱日益承担起助力行业智能化的使命。探索基于知识图谱的行业智能化演进路径因而十分关键。经过多年实践,这一路径日渐清晰,呈现出知识资源建设与知识应用迭代式发展模式,如图2所示。
在每一轮迭代周期,优先选择预期效果较好的应用场景,建设以知识图谱为核心的知识资源,并开展相应的知识应用。再根据来自内外部用户的反馈,完善相应的应用与知识资源建设。当特定应用初现成效之后,再从有限的应用逐步拓展到更多的应用场景,建设更多的知识资源。整个过程持续迭代下去,直至完成行业或者企业全面的智能化。
采取由点及面的迭代式螺旋发展模式的根本原因有几点。首先、完整的知识资源建设是一个十分艰巨的任务。知识资源建设任重道远,很难一蹴而就。任何一个普通人所掌握的知识都可以说是无边无界的。当前所构建的知识库离机器达到普通人认知世界所需要的知识水平还十分遥远。
知识资源建设必定是一个持续完善的过程,很难毕其功于一役。所以,应当谨慎选择应用痛点,构建满足应用场景需要的相应知识资源。知识资源建设的基本原则是适度。“适”是指对于特定应用场景的适配,“度”是指合理把控知识的边界与体量。其次,行业与企业的发展环境变化迅速,一成不变的知识库是难以适应快速变化的外部环境的。
图2 知识图谱助力行业智能化的演进路径
2. 知识图谱系统
知识图谱技术的落地与实践以知识图谱系统的建设、实施与运营为主要内容。知识图谱系统是一类以知识图谱建设与应用为核心内容的人机协作系统。本节对知识图谱系统的外部环境、系统要素以及基本架构展开介绍。
2.1 知识图谱系统的外部环境
作为一类大规模复杂系统,知识图谱系统是作为企业更为庞大的信息系统或智能系统的一部分。与传统的信息系统相比较,知识图谱构建与应用是知识图谱系统的基本标志。在当前企业信息化与智能化建设过程中,知识图谱系统对于其他信息系统,起到了助推与赋能的作用,而不是代替。各类管理信息系统(比如企业的财务、人事管理信息系统)以及智能信息系统(比如智能门禁系统、商务智能系统)有其自身存在的不可代替的价值。
没有这些系统积累的数据与业务知识,知识图谱系统是建设难以成功。知识图谱系统给其他信息系统带来认知能力,这种能力体现为一系列具体的认知服务。知识图谱系统赋能其他信息系统这种关系决定了知识图谱建设不是“大破大立”式的另起炉灶与重新建设,而是“和风细雨”式的柔性改造与能力升级。知识图谱与企业其他信息系统之间的关系如图3所示。
图3 知识图谱系统与其他业务系统之间的关系
随着知识图谱在领域与企业应用的普及,知识图谱日益占据向上支撑应用、向下统摄数据的核心地位。如图4所示,在一个典型的企业知识图谱系统中,知识图谱与数据之间的关系是双向的。一方面各业务系统的数据是知识图谱构建的知识来源。另一方面,知识图谱中的关联关系也为各业务数据的关联与融合提供了支撑,使得自主普适的数据关联成为可能,例如ID与身份证之间的同义关系可以指导相应字段的映射。
知识图谱系统与应用之间的关系也是双向的。一方面知识图谱系统的各类认知服务支撑企业的各种典型应用的智能化升级。另一方面,各类应用为知识图谱系统提供反馈。这里的反馈包含两个主要内容,一是对认知服务能力的效果的反馈,二是对于知识图谱中的知识质量的反馈。在很多大型企业中,由于业务多元、服务多样,对于技术与服务的平台化提出了诉求。越来越多的技术中台与业务中台的建设被提上了议事日程。随着智能化技术的推进,中台的智能化已经成为鲜明趋势。知识图谱向上支撑应用、向下统摄数据的这一核心地位,决定了知识图谱系统将成为未来智能化中台的核心引擎。
图4 知识图谱系统向上支撑应用、向下统摄数据的核心地位
2.2 知识图谱系统关键要素
知识图谱系统的核心要素包括人、算法与数据。三者相互影响、密不可分,共同构成了知识图谱系统的坚实基础。算法需要人定义特征、选择模型;算法需要标注数据;数据来自人的活动,来自人的标注;算法的结果支撑人的行为与决策。
图5 知识图谱系统的三个要素
这里的人是指知识图谱系统的各类人类角色。人是知识图谱系统的发起者、设计者、实施者与评价者,是知识图谱系统的核心。知识图谱中的人员涉及众多角色,按照知识图谱系统生命周期的三个主要阶段可以分为几类角色。
(1)在分析与论证阶段,需要领域专家与知识图谱系统工程师共同开展需求分析,论述知识图谱系统建设的必要性与可行性。必要性从应用需求的迫切性与业务价值等角度进行评判。可行性从数据资源禀赋、应用要求以及知识表示的复杂程度等角度来评估,并进一步合理规划知识图谱系统建设所需要的数据资源、人员投入以及成本投入等等。(2)在设计与实施阶段,需要各类工程师完成数据治理、知识加工、算法设计以及样本标注等各环节的任务。(3)在运营与评价阶段,需要运维工程师对于知识图谱系统进行长期运维,需要用户对系统实施效果加以评价。
图6 知识图谱系统的人员角色
这里的数据是特指作为知识图谱知识来源的数据。数据是符号化的记录,数据经过知识加工而成为知识,知识是数据的结晶。知识图谱作为的大数据知识工程代表,能否实现自动化知识获取是关键。而自动化知识获取的前提是数据。
知识图谱系统所使用的数据类型众多,可以是事实数据、也可以是元数据(关于数据的数据);可以按照模态分为关系数据、文本数据、多媒体数据;也按照业务类型数据分为人事、财务、物料等各类数据;还可以按照来源分为内部数据与外部数据。外部数据可以分为百科数据、Web数据、社交媒体、新闻媒体数据、企业内部业务数据等等;从业务知识的来源角度可以分为领域本体、叙词表、领域百科、企业社区等数据。
大数据的一个基本特点在于其多样性(Variety)。知识图谱的来源同样是多样的,这对大规模知识加工提出可巨大挑战。大规模知识工程需要应对来源不同、模式异构的数据自动加工整理成为知识的巨大复杂性。面向不同类型、不同来源的数据,知识获取、知识验证等算法都需要定制。因此,大规模自动化知识获取在数据处理层面就面临着的巨大挑战。
这里的算法是对于知识图谱系统整个生命周期中涉及的自动化计算过程、模型、策略的总称。知识图谱构建、管理与应用等各个环节均涉及大量算法。知识构建环节包括知识的获取模型、知识的融合策略、知识的验证机制以及知识的评估方法。知识管理环节,涉及知识图谱的存储模型、组织方法、索引方式、查询模型、检索方法等等。知识应用环节,涉及基于知识图谱的语言理解模型、语义搜索模型、智能推荐模型、自然语言问答模型、面向知识图谱的推理机制与解释方法等等。
2.3 知识图谱系统的典型架构
知识图谱系统接受外部数据作为输入,历经数据处理、知识加工、知识管理和认知服务,最终为各种场景下的应用提供认知服务能力。其基本过程如图7所示。数据处理层接受原始数据作为输入,经过数据处理形成高质量的数据。高质量的数据进入知识加工层,经过各种知识加工工序生成高质量的知识图谱。大规模高质量的知识图谱是知识管理层的主要管理对象。知识管理层提供知识图谱的存储、索引与检索能力。这些基本的知识访问能力进一步支撑基于知识图谱的认知服务实现。
图7 知识图谱系统的主要流程
(1)数据处理层
如图8所示,数据处理层主要包括数据甄别、数据清洗、数据转换和数据融合等步骤。数据甄别旨在明确建立领域知识图谱的数据来源。可能来自互联网上的领域百科爬取,可能来自通用百科图谱的导出,可能来自内部业务数据的转换,也可能来自外部业务系统的导入。应该尽量选择结构化程度相对较高、质量较好的数据源,以尽可能降低知识获取代价。
不同来源有着不同的质量,需要不同的数据加工方式。数据清洗、数据转换与数据融合等步骤与传统构建数据仓库所需要的数据处理相类似。数据清洗是对数据中的噪音,特别是来自互联网的错误、虚假等信息进行清洗,对表示不规范的数据进行统一与规范化。数据转换将不同形式、不同格式的数据转换成统一的表达形式。数据融合是针对不同来源的数据在数据层面进行融合。这里的数据融合与后续的知识融合有相似之处,也有不同之处。后续的知识融合是在识别了实体、属性等知识要素之后完成的。而此处的数据融合是字段、元组等层次的融合,数据或信息还未汇聚到实体上。
图8 数据处理层的主要流程
(2)知识加工层
知识加工层是整个知识图谱系统的核心。它接受数据处理层形成的高质量数据作为输入,输出高质量的知识图谱。如图9所示,知识加工的核心有三步:知识表示 知识获取 知识验证。知识表示旨在明确应用所需的知识表示形式。知识获取在相应的知识表示框架下获取相应的知识实例。知识验证对获取的知识质量展开验证。当存在多个数据来源时,往往还需要知识融合针对不同来源的数据所获取的知识进行融合。质量提升可以作为单独的环节,也可以融于知识获取的具体实现中。因此,知识融合与质量提升都是可选的模块。
图9给出了知识加工在领域与企业应用中的具体步骤。在领域知识图谱应用中,知识表示体现为模式设计,知识获取通常包含词汇挖掘、实体发现、关系发现等三个主要内容。整个流程中的关键模块分别介绍如下:
1、模式设计。这一步与传统的本体设计极为相似。基本目标是把认知领域的基本框架赋予机器。内容包括指定领域的基本概念,以及概念之间subclassof关系(比如足球领域需要建立“足球运动员”是“运动员”的子类);明确领域的基本属性;明确属性的适用概念;明确属性值的类别或者范围。比如“效力球队”这个属性一般是定义在足球运动员这个概念上,其合理取值是一个球队。
此外,领域还需定义约束或规则,比如部分属性具有单值约束(比如每个实体“出生日期”的取值单一),还有些属性对是互逆的(比如球队的“隶属球员”属性与球员的“效力球队”互逆)。这些元数据对于消除知识库不一致、提升知识库质量具有重要意义。
2、词汇挖掘。人们从事某个行业的知识的学习,都是从该行业的基本词汇开始的。在传统图书情报学领域,领域知识的积累往往是从叙词表的构建开始的。叙词表里涵盖的大都是领域的主题词,及这些词汇之间的基本语义关联。这一步需要识别领域的高质量词汇、同义词、缩写词,以及领域的常见情感词。比如在政治领域,需要知道特朗普又被称为“川普”,其英文简称为Trump。
3、实体发现。需要指出的是领域词汇只是识别出领域中的重要短语和词汇,但是这些短语未必是一个领域实体。从领域文本识别某个领域常见实体是理解领域文本和数据的关键一步。在实体识别后,还需对实体进行归类。能否把实体归到相应的类别(或者说将某个实体与领域类别或概念进行关联),是实体归类的基本目标,是理解实体的关键步骤。比如将特朗普归类到政治人物、美国总统等类别,对于理解特朗普的含义具有重要意义。
4、关系发现。关系发现或者知识库中的关系实例填充,是整个领域知识图谱构建的重要步骤。关系发现根据不同的问题模型又可以分为关系分类、关系抽取和开放关系抽取等不同变种。关系分类旨在将给定的实体对分类到某个已知关系;关系抽取旨在从文本中抽取某个实体对的具体关系;开放关系抽取(OpenIE)从文本中抽取出实体对之间的关系描述。也可以综合使用这几种模型与方法,比如根据开放关系抽取得到的关系描述将实体对分类到知识库中的已知关系。
5、知识融合。因为知识抽取来源多样,不同的来源得到的知识不尽相同,这就对知识融合提出了需求。知识融合需要完成实体对齐、属性融合、值规范化等步骤。实体对齐是识别不同来源的同一实体。属性融合是识别同一属性的不同描述。不同来源的数据值通常有不同的格式、不同的单位或者不同的描述形式。比如日期有数十种表达方式,这些需要规范化到统一格式。
6、质量提升。知识图谱的质量是构建的核心问题。作为大规模知识表示,数据驱动的构建方式是当前知识图谱的基本特点。语料的偏置(bias)以及自动化方法的错误势必导致知识图谱的质量问题:缺漏、错误、陈旧。因此需要对知识图谱进行补全、纠错和更新。质量提升对于大规模知识图谱的建设是不可或缺的。
7、知识验证。知识验证是对知识图谱的质量最后把关。仍然需要由人来完成最终的验证。对于数以亿计的大规模图谱,全量验证代价极大,通常通过抽样完成验证。也可以通过众包方式将验证任务分发给众包工人由众包工人完成验证。在人工验证环节,待验证知识的组织(比如分组、排序等方式)对验证效率有着极大的影响,往往需要予以充分考虑。总体而言,知识验证还有待从心理学、人机交互等多学科角度深入研究这一问题。
经历了上述步骤之后得到一个初步的领域知识图谱。在实际应用中会得到不少反馈,这些反馈作为输入进一步指导上述流程的完善,从而形成闭环。此外,除了上述自动化构建的闭环流程,还应充分考虑人工的干预。人工补充很多时候是行之有效的方法。比如一旦发现部分知识缺漏或陈旧,可以通过特定的知识编辑工具实现知识的添加、删除和修改。也可以利用众包手段将很多知识获取任务分发下去。
图9 知识加工层的的主要流程与关键模块
(3)认知服务层
认知服务层是基于知识图谱提供认知能力,包括语言理解和认知服务两类基本能力以及推理引擎这一核心模块,其典型架构如图15.10所示。在语言理解层次,提供从自然语言到知识图谱中的知识要素的映射,包括实体理解(实体链接)、概念理解(概念识别)、属性理解、主题理解(主题识别)等。在有些应用中需要将自然语言映射到事件描述框架,因此还需要开展框架映射。
基于语言理解的基本能力,形成认知服务,包括语义搜索、智能推荐、问答交互以及解释生成。这些认知服务都是基于知识图谱所形成的。比如知识图谱中的实体与概念可以帮助识别搜索中的实体或概念,从而有助于搜索的意图识别。
在概念图谱支撑下,可以实现基于上下位关系的推荐,比如搜索iPhone X,通过其上位词高端手机推荐华为P20等。问答交互主要实现基于知识图谱的问答。其中,问题理解、属性匹配、会话引导与答案生成都可以利用知识图谱的知识。随着可解释需求日益增多,为机器决策生成解释日益重要。比如从知识图谱中找到关联路径解释实体对之间的关系(对应路径发现);为一个待解释问题匹配相应的知识图谱子图等等(对应解释匹配)。
图10 认知服务层的主要架构
此外,在整个认知服务的实现过程中,推理引擎的实现也是十分重要的,推理某种意义上是符号知识存在的最为独特的价值。知识图谱上推理引擎的实现可以弥补知识的缺失,提升系统的智能程度。
知识图谱上的推理有几种主要的实现方式。第一、另行定义规则,以知识图谱作为基本事实,开展推理。比如通过定义“父亲的父亲是爷爷”这样的规则,就可以从“A的父亲是B,B的父亲是C”,推理出“C是A的爷爷”。第二、基于知识图谱的分布式推理。随着深度学习的流行,基于知识图谱的向量表示成为知识图谱中实体与关系重要表示方式。给定实体h与t的向量表示(比如h,t),如果向量h,t的距离足够相近,则推断h与t语义相近。第三、基于知识图谱上的显式推理。这种推理方式将知识图谱建模为异构信息网络,当两个实体h与t在知识图谱之间存在多条可达路径,且路径上的语义关联强度足够大,则推断h与t语义相近。
显然基于图模型的显式推理可解释。事实上不难利用显式推理所找到的路径作为特征,训练学习知识图谱的向量表示。在实际的应用中,往往是多种推理机制并存,最后通过特定协同机制完成最终推理。比如往往先用分布式推理进行粗筛选,再利用显式推理和基于规则的推理生成可解释结果,并将最终推理结果呈现给终端用户。
(4)知识管理层
知识管理层旨在实现知识图谱数据的有效管理和高效访问,其主要模块如图11所示。知识图谱的管理涉及知识图谱的建模、存储、索引和查询。在建模部分明确知识图谱的数据结构。存储部分完成知识图谱在磁盘或者分布式环境下的存储与组织方式。为了加速大规模知识图谱上的查询通常需要建立相应的索引结构,包括基于子结构的索引和关键字索引。最终基于这些索引方式实现各类查询,包括特定子图结构的查询(比如路径、社区、一般子图等等)和关键字查询。
图11 知识管理层的主流模块
3. 知识图谱工程
知识图谱系统的建设是个系统工程,需要谨慎论证、详尽规划、有序推进、持续运营以及全面保障,这些都必须付诸工程实践才能实现。知识图谱工程是以知识图谱系统的建设为核心内容的一类工程实践。本章首先介绍知识图谱工程开展的基本原则,再介绍知识图谱工程的过程模型、可行性分析以及实践建议。
3.1 基本原则
知识图谱工程实践过程中呈现出一些普适的基本原则。坚持这些基本原则是保障知识图谱工程顺利实施的前提。
(1)合理定位。为知识图谱项目设定合理的定位目标十分重要。期望过高,或者期望明显高于当前技术水平会带来不良后果。我们首先必须心怀敬畏。人类的智能是通过数百万年进化而成的。即便当前技术进步日新月异,要在有限的数十年内让机器完全达到人类的认知水平仍然是个足够伟大的目标。任何一个普通人在知识方面所具有的智能,都是当前机器所无法企及的。
以当前的技术水平,代替专家助理的工作是个合适的目标,代替领域专家的工作仍然十分困难。专家的很多知识是隐性的,难以言明的,难以外化的。专家之所以为专家,是需要经年累月的学习与训练。专家所积累的不单单是简单的关联事实,更涉及思维方式、场景适配、异常处理等知识。
这里涉及大量的元知识(meta-knowledge,也就是有关知识的知识)、涉及大量难以有效表示的知识。这些都是当前机器难以代替的。而专家助理的工作则相对简单,是规则性的简单知识工作,比如查找文件、整理文档、收发邮件等等,普通人只需要具备简单的词汇知识与基本事实即可胜任,是有可能率先在实际应用场景取得成效的。
(2)应用牵引。应用牵引的发展思路是与平台支撑的思路相对而言的。前者从应用出发,明确技术需求。后者从技术能力与平台出发去适配应用。在互联网飞速发展的时代,平台化思维成就了一批优秀的企业。平台型模式一般较为简单,因而可以规模化。
以淘宝这类B2C平台为例,店家与消费以及平台之间的关系明确,业务模式简单且具有同质化,这就为技术与业务的平台化提供了可能。但是当前人工智能的发展多以场景化应用为主。基于知识图谱的认知智能还没发展到普适、通用智能的阶段。不同应用,不同场景所需要的知识表示不同、知识获取手段不同、数据资源禀赋不同,这都决定了知识图谱技术平台化发展的异常艰难。
(3)循序渐进。一颗苹果树上的苹果不可能同时成熟。此时,最简单的策略就是先摘成熟的果子,坐等其他苹果自然成熟再行采摘。同样,知识图谱技术体系复杂多样,包括知识表示、知识抽取、知识融合、知识推理、知识存储和知识检索等。每类关键技术的成熟度不同,有的已进入实用化阶段,有的仍处于学术研究阶段。
一个产业的发展历程通常呈现出是部分技术先成熟再逐步带动相关技术发展的特点。整个产业技术的成熟是需要经过漫长的发展周期的。企图速战速决、毕其功于一役是不现实的。知识图谱各项技术成熟程度不均衡是当前知识图谱产业实践的基本情形。大部分技术仍然停留在只能在特定测试集上取得一定效果,还难以在广泛而多样数据上取得稳定效果。具有较高产业成熟度的技术还不多。
(4)先简后难。在知识图谱的整个技术栈中,仍然存在一些瓶颈性难题,比如从文本中的知识获取仍然面临不少困难,落地困难重重。即便是一个简单的中文分词任务仍然需要大量的研究工作,比如对短语“南京市长江大桥”进行分词,可以是“南京市 长江大桥”,也可以是“南京市长 江大桥”,准确的分词有赖上下文语义的准确理解。
因此,实际落地过程应遵循先简后难的原则:先从结构化程度高的数据中抽取出易于获得的语言知识(如叙词表、上下位概念),再从半结构化数据中抽取出世界知识(如<刘德华,职业,演员>),进而总结出业务知识(比如,体温达到39度可能感冒了),最后再处理决策知识.
(5)由粗到细。知识表示是有粒度粗细之分的。比如在司法知识表示方面,某个法律条款(比如“机动车变道,应打开相应的变道指示灯”)可作为合适的知识表示粒度,也可以进一步细化为条件(机动车变道)与结果(打开相应的变道指示灯)。条件部分的知识表示还可以进一步细分为实体(机动车)与动作(变道),显然粒度越细表达越精准。
但是知识获取的难度也越大,知识的不确定性也越强。比如在概念图谱中,实例的概念归属往往随着概念粒度的变细而变得越加不确定。例如,堡是个食物几乎没有人会有异议,但若说汉堡是个健康食物,则可能会有人反对。因此,知识资源的建设应该遵循由粗到精,逐步求精的基本原则。
(6)求同存异。知识是人们认知世界的结果。不同的认知主体对于同一个世界的认识是有差异的,知识因而具有主观性。在当前阶段去深究知识的主观性问题可能十分困难。知识的主观性差异往往是细微的。不同人对于“高个子”到底多高会有量上的细微差别,但是没有人会认为2.2米还不是高个子。
因此,比较务实的作法是求同存异,搁置争议。随着系统的上线,用户反馈数据日益增多,有争议的事实,可以使用数据驱动的方法来加以界定。比如对于搜索“矮个子NBA球星”,如果大部分用户在这一搜索关键词下,点击的球星都在1.8米以下,那么1.8米以下对于NBA球星而言或许就是矮个子。知识图谱落地中,应该暂且搁置争议,先解决容易解决的问题,剩下的问题在时机成熟时或许就自然能够解决。
(7)人机协同。当前知识图谱的落地,需要机器和人,二者缺一不可。传统知识工程对于人有着较强的依赖,限制了知识库的规模与效用;大数据知识工程强调数据驱动的知识获取,依赖机器实现自动化知识获取。但是当前的知识获取自动化仍然需要人的干预,人在环中仍是常态。
当前的人工智能总体上是人类指导下的智能(Human supervised AI),机器智能在以下几点需要人类的指导。机器需要人类特别是领域专家赋予机器以认知世界、认知特定领域的基本概念框架,比如领域本体或者领域模式的定义。其次,机器需要人类标注样本、反馈结果。一个词汇是否是合适的领域词汇。一幅病理图片是否指征相应的病变,这些都需要有着深刻的业务知识才能完成。因此,人机协同时知识图谱工程推进的基本原则之一。
图12 人在环中的人工智能发展模式
(8) 快速启动。很多行业或者企业在开展知识图谱项目时,或多或少已经存在很多相关知识资源,比如领域本体、叙词表等等。互联网上的公开来源也存在不少相关的百科资源,通用百科图谱已经涵盖了某个领域大量的实体。这些知识资源往往消耗了巨大人工成本经过多年持续积累而得,是相关知识图谱构建的宝贵财富。充分利用这些资源,提高领域知识图谱构建的起点,是知识图谱项目成功落地的关键思路之一。
知识资源建设有个很有意思的现象,那就是从无到有的构建代价要显著高于在不完善的知识库上的完善代价。此外,跨领域迁移也是降低构建成本的重要思路,因为相近领域的知识是可以复用的,比如在给中国移动建设知识图谱时可以借鉴中国电信的知识图谱。这个原则也意味着知识图谱落地过程中,将来会涌现出一大批面向特定行业提供知识图谱解决方案的企业。因此,复用是知识资源建设的重要策略之一。
3.2 过程模型
知识图谱工程的生命周期包含三个主要阶段:分析与论证、设计与实施以及运营与评价。每个阶段作为后续阶段的输入。三个阶段相继完成后,整个工程过程进入下一轮,如此循环往复、迭代进行,直至实现智能化。
(1)分析与论证。这一阶段的基本目标是明确知识图谱的应用目标,分析知识图谱的业务价值,论证知识图谱项目上线的必要性;对所设定目标所涉及的数据资源、人员投入、资金投入等角度作出可行性评估,以及投资收益分析;对于整个知识图谱工程项目的进行规划。
(2)设计与实施。对知识图谱系统相关的数据库、数据流程、系统架构、关键算法、系统选型等等进行设计,制定详细的设计方案;进行代码开发,实现相关算法;集成相关系统,完成系统上线。
(3)运营与评价。知识图谱工程是一种典型的智能化工程。智能化相关的系统在建设完成后,仍然要经历多轮运营与优化。在每一轮迭代,获取用户的使用日志、评估反馈是十分关键的。这些反馈与日志是是下一轮建设或优化的输入,知识图谱工程持续演进的重要依据。
图13 知识图谱工程过程演进模型
知识图谱系统的设计与实施环节从知识的加工流程角度来看包含四个重要环节:知识表示、知识获取、知识管理与知识应用。这四个环节循环迭代。
知识应用环节明确应用场景,明确知识的应用方式。知识表示定义了领域的基本认知框架,明确领域有哪些基本的概念,概念之间有哪些基本的语义关联。比如企业家与企业之间的关系可以是创始人关系,这是认知企业领域的基本知识。知识表示只提供机器认知的基本骨架,还要通过知识获取环节来充实大量知识实例。比如乔布斯是个企业家,苹果公司是家企业,乔布斯与苹果公司就是“企业家-创始人-企业”这个关系的一个具体实例。
知识实例获取完成之后,就是知识管理。这个环节将知识加以存储与索引,并为上层应用提供高效的检索与查询方式,实现高效的知识访问。四个环节环环相扣,彼此构成相邻环节的输入与输出。在知识的具体应用过程中,会不断得到用户的反馈,这些反馈会对知识表示、获取与管理提出新的要求,因此整个生命周期会不断迭代持续演进下去。
3.3 可行性分析
知识图谱技术仍然是发展中的技术,很多技术还不成熟,因此做好可行性分析十分重要。知识图谱落地的可行性与以下几个因素关系密切。
(1)是否是封闭应用。封闭的对立面就是开放。所谓开放性是指无法预期可能发生的事态,从而无法有效预设先验规则。换言之,在开放环境中,机器很容易碰到无法合理处理的情形,因为这些情形没有被定义过、没有被描述过,使得机器无所适从。开放性问题是知识工程乃至整个人工智能的根本难题。它与一系列我们经常提及的人工智能难题诸如常识理解、小样本学习、元学习都有着密切关系。开放性难题是带来一次次人工智能寒冬的“罪魁祸首”。
开放性难题对于知识工程的挑战体现在知识的需求难以闭合。也就是说,实际应用所需要的知识中往往会超出领域所预先设定的知识边界。比如在金融知识图谱落地过程中,单单涵盖公司、法人、机构、产品这些核心往往不足以支撑智能应用。基于金融知识图谱的关联分析往往会牵扯出几乎万事万物。比如,诸如龙卷风等气候灾害,会使得农作物产量下降,农业机械的出货量因而就会下降,农机的发动机产量也就相应要下降,从事农机发动机关键部件生产的公司业绩就会下降,相关公司的股票可能就会下跌。
事实上,一切实体都身处在一个复杂的因果网络中,世界是普遍关联的。这就导致沿着任何一个实体开展关联分析都极为容易超出预先设定的知识边界。因此,行业应用中的知识需求难以封闭于领域知识的边界范围内。而传统知识工程成功应用的场景,比如计算机系统配置、数学定理证明,都是相对封闭的应用。在几何定理的证明中不会用到推理规则之外的任何知识。
(2)是否涉及常识。越少涉及常识,越容易成功。常识是我们每个人都知道无需言明即可理解的知识。常识获取与理解是通用人工智能实现的关键基础问题。常识难以建模、难以获取、机制不明等问题对大规模常识获取与理解提出了严峻挑战。首先、常识难以建模。我们都知道太阳从东边升起,人是两条腿走路的,鱼是在水里游的,这些都是常识,但是如何严格界定则十分困难。至今我们还给不出关于常识的严格定义。不同人所言及的“常识”在内涵与外延上是存在一定差异的。
本段之初所阐述的“我们每个人都知道无需言明即可理解的知识”,这里的“我们”、“知识”、“言明”、“理解”都是很难再进一步严格定义的。比如“我们”是指全体人类么?是否应该包含史前人类?如果界定在当下的人类,那么精神病人呢?儿童呢?几乎所有的常识定义都会遇到这样那样的挑战。其次,常识难以获取。我们每个人都理解常识,因而不用挂在嘴边说明,就能彼此理解。因此,文本或者语料中对于常识鲜有提及,常识因而也就无从抽取。常识缺失也就成了知识库的常态。
最后,机制不明。人类究竟是如何形成常识理解的?这是个非常值得深入思考的问题。我们人类的常识理解大都是以直接的近乎直觉的方式完成的。水洒了,正常人都会及时躲避。因为我们知道水会沾湿衣物。但是,我们没有任何人是先思及“水会沾湿衣物”,再行躲避的。那么机器是否也有着与人类类似的常识理解机制?机器的常识理解之路与人类是否一致?这些问题均需要进一步深入研究。
(3)是否涉及元知识(Meta-knowledge)。所谓元知识是指有关知识的知识,包括属性的领域(Domain)与范围(Range)。比如“父亲”作为属性发生在人物这个类别的实体上(这是在指定Domain),取值也只能是个人物。包括领域内的约束,比如父亲都必须比子女年龄大。也可以是如何使用知识的知识,比如吃了不洁净的物品呕吐了,我们立即就会判断有可能是不洁饮食导致的食物中毒。看似简单的判断建立在我们能够调用医学知识形成结论而不是数学知识的前提之下。为特定场景或应用适配相关知识,越来越多实际应用场景对这种元知识提出了诉求。
总体而言,元知识需求越大,应用越加困难。其根本原因在机器归纳能力有限。任何归纳都是按照既定的认知框架进行的。比如从样本学习一个分类器,本质上也是在归纳。但是分类器的模型不管是支持向量机还是深度模型都需要预先指定,模型本身就是一类元知识。总体而言,当前的机器智能还不足以自我发展出认知世界的框架。
需要说明的是,上述判断条件都不是绝对的,都是相对的。因此是一种定性判断,而非定量判断。满足上述条件,且程度越深,实现越困难,但并非绝无实现之可能。比如大部分互联网应用属于开放应用,但是知识图谱率先发轫于互联网搜索,实则是因为应用相对简单。因此,可行性还可以从复杂性的对立视角加以研判。
(1)简单知识。知识是否有复杂简单之分?如果承认这点,知识的复杂性又应该如何度量?这些问题总体上还是开放问题。但是,直觉上我们会觉得某些知识比其他知识简单。人类学习的先后顺序一定程度上就是顾及了知识的简单与复杂之分。没有人会否认疾病诊断、司法抗辩用到的知识会比叠个纸飞机用到的知识复杂。
虽然知识的复杂性内在机理和评测机制仍不清楚,但是从操作层面来看,可以从特定人群学习某类知识所需要时间来评估。比如考虑完成了基础教育(比如中国的九年制基础教育)的人群,对于不同知识,这一人群学习周期不同。显然对于某个企业的客服知识,几乎一周简单培训就可以上岗。但是对于治病的知识,即便一个医学院学生可能也要学习十多年才能掌握。
在自然语言相关的知识中,词汇知识的掌握难度小于语法与语义知识。在知识图谱落地过程中,语言知识相对于业务知识而言简单;静态关联知识比动态过程知识简单。这些直接决定了在知识图谱落地过程中,语言知识以及静态关联知识往往能优先于其知识形态形成应用效果。
(2)简单应用。知识的应用也有复杂简单之分。比如同样是在医疗领域,医院的导诊显然要比医生的看病要简单很多。导诊只需要根据症状进行简单的分类,即便不够精准,在具体科室医生治疗时还有进一步纠正的机会。然而,医生看病本身则要复杂很多,一个医生要近十年的学习才有可能胜任疾病诊治的任务。但是,应用本身的复杂性显然也是很难量化的,在算法复杂性领域可以根据问题与输入规模之间的关系量化问题以及相应方案的复杂性。但是知识应用的复杂性机制还不明确。直觉上需要用到的知识越多、需要掌握的异常越多、所应用的规则分支繁复,则相应的应用越复杂。
此外在领域或者企业知识图谱落地过程中,数据资源禀赋与知识资源积累也是可行性判断的两个重要的维度。数据资源禀赋包括构建知识图谱所依赖的数据是否完整、数据质量是否足够精良、数据是否可用?巧妇难为无米之炊。没有好的数据是提炼不出好的知识图谱的。很多企业数据完整性存在缺陷,存在数据缺失,会对知识图谱构建造成巨大的障碍。有些数据虽然完整,但是来源分散、形态各异、质量低劣,这些都会对数据治理本身提出巨大挑战。
在另外一些情况下,数据可用性较低,比如存在行业壁垒,数据无法分享;存在国家安全与个人隐私的顾虑,数据无法公开或者使用。这些障碍都是数据层面对于知识图谱系统提出的挑战。领域或者行业知识资源的积累情况也是判断知识图谱工程可行性的重要因素。在很多领域,已经积累了多年的相关知识资源。比如医疗领域领域专家耗费了大量资源构建了很多本体、术语库。不同领域的知识资源积累情况不同。知识资源越丰富,越有利于知识图谱工程的建设。
表1对于上述提及的可行性判断要素进行了分类汇总,并给出了相应的问题检查列表,以方便知识图谱工程实践的开展。
表1 知识图谱工程可行性论证检查列表
3.4 知识图谱工程实践建议
知识图谱工程属于工程性学科,不断总结其最佳实践是非常有必要的。本小节根据当前已经落地的知识图谱工程总结一些有代表性的经验。值得注意的是,这些“经验”随着时间的推移、环境的变化,也需要不断作出调整。
(1)合理控制知识表示的范围与粒度。很多场景下知识表示的粒度是个需要仔细斟酌的问题。一般而言,粒度越细表达能力越强,但是其表达与获取代价也越大。细粒度知识表示一般是领域应用的强需求之一。比如在知识管理领域,粒度粗放已经成为阻碍企业知识管理发展的根本问题。传统知识搜索只能搜索到文档级别,如果不幸这个文档含有1000页内容,则会给用户带来巨大麻烦。但是,凡事过犹不及,太细粒度的知识表示也往往会给知识获取带来巨大的复杂性。
合理控制知识表示的粒度,不盲目求精求细,是知识库技术落地成功的关键思路之一。很多落地实践中过早地陷入细粒度知识获取的泥潭当中,消耗巨大但收效甚微。但事实上细粒度的知识表示在很多场景下也是不必要的。因此,在实践中建议紧扣应用需求,从应用出发反推需要怎样粒度的知识表示。
(2)合理控制不同视角下的不同图谱。知识图谱是认知世界的结果。管理者视角与用户视角是不同的,不同用户的视角往往也是不同的。比如龙,在东方人的视角下往往是吉祥的,而在西方人的视角往往是凶恶的、有贬义的;“物美价廉的水果”这个品类对于不同人理解完全不同。因此不同的视角下应该有着不同的图谱。
一般而言,要针对不同的角色,定制相应的图谱。因而需要从一份通用图谱中演化出其不同视角下的不同视图,如图14所示。考虑到图模型的普适性,可以定制不同的权重(比如不同文化的视野下对于“龙”的喜好程度),以体现不同角色对于知识的不同认知。
图14 知识图谱的不同视图
(3)区别对待冷启动与热运营两个阶段。知识图谱的建设与运营是两个不同的阶段。要区别对待这两个阶段,两个不同的阶段采用不同的策略,不能一概而论。冷启动阶段的特点是缺乏用户行为数据,各类基于用户反馈的机器学习模型很少能在这一阶段发挥效果,更多地需要借助专家经验与知识,以人工方式设定很多参数与规则。在系统运营一段时间后,用户反馈数据日益增多,使得基于反馈日志的学习模型成为可能,比如搜索排序模型、推荐模型等等。表3总结了冷启动与热运营的不同思路与策略。
表3 冷启动与热运营的不同策略
(4)建设与运营并重。建设与运营是知识图谱工程两个重要的阶段。受传统信息化建设思路的影响,很多智能系统陷入了重建设轻运营的误区。事实上,任何一个智能系统均需要经历多轮迭代方能成熟,只有持续运营才能保持系统处于最佳状态。
智能系统的运营是数据驱动的。数据驱动需要不断收集用户数据。用户数据体现的是用户兴趣与行为。而用户的兴趣与行为是会随着环境的变化而变化的。一个有效的智能系统必须随着用户的演进而演进,否则容易失效。从长远看,运营甚至重于建设。建设是一次性的,而运营是持续的、长期的、周期性的、重复开展的。
(5)合理处理知识的扁平化与纵深化矛盾。在实际知识图谱工程中,知识的广度(对应扁平化)与深度(对应纵深化)往往是一对不可调和的矛盾。为了广度,往往要牺牲深度;为了深度往往要牺牲广度。前者以通用知识图谱为例,通用知识图谱较为宽广,但缺乏深度,体现在平均关系数小于相应的领域知识图谱。深度知识在风险管控、安全防范等领域十分重要。恶意意图的行为往往具有隐蔽性等特点,难以通过简单语义关联发现。因而相关图谱的建设要往纵深方向发展。如图15所示,实际的知识图谱往往需要在知识的深度与广度之间进行平衡。
图15 知识图谱中知识的广度与深度的平衡
(6)坚持迭代式演进路径。螺旋迭代式发展是知识图谱工程实践有序推进的基本模式。在整个知识图谱工程中,有着大量迭代模型。比如,知识资源建设与知识应用的迭代式演进(见图2)、知识图谱工程的三个关键步骤的迭代(见图13)。此外还包括知识库积累与知识抽取模型的迭代发展:一方面积累知识库,另一方面利用积累的知识指导知识抽取,进而利用更先进的抽取模型抽取更多更好的知识。
还包括知识图谱系统建设与知识图谱系统运营的迭代:建设完成之后,通过运营得到的用户反馈数据进一步指导知识图谱系统建设与优化。迭代模式之所以重要,其根本原因在于知识图谱技术的任何单项技术还难以支撑实际应用。实际问题的解决尚需多个单点技术的协同。迭代式发展意味知识图谱的长期发展过程是迂回曲折的,是渐进式发展的道路。
(7)区别对待静态知识与动态知识。人类对世界的认识是在不断变化的。因此,体现在知识库中的知识也不应该是一成不变的。知识的动态变化是绝对的,静止不变是相对的。但是绝大部分知识在有限时间内变化的可能性是极低的,比如地球是圆的,在很长一段时间人们对于这个事实的信念是不会发生改变的。
对于知识图谱中的数据处理,与之类似,要区别对待静态知识和动态知识。一般而言事实是相对易变的,而模式是相对不变的。比如机构的领导人过一段时间就会发生变化,但是人与机构之间的这种任职关系发生改变的可能性要低很多,属于相对不变的知识。易变事实的更新十分重要,常常需要依赖数据驱动方法。而模式的改变由于更新频次相对较低,手工维护更为明智。
小结
本章针对知识图谱技术实践中的几个关键问题,包括知识图谱系统、知识图谱工程以及知识图谱应用与产业,做了初步探讨。随着知识图谱技术应用的深化,知识图谱产业日益成熟,将会对知识图谱的工程实践方面提出更多的需求。
这里对于知识图谱与系统科学(特别是系统工程和管理信息系统)之间的关系做一初步讨论。首先,知识图谱工程非常迫切地需要来自系统科学的理论指引与方法论指导。系统科学作为一般系统的基本原理的科学对于知识图谱也是具有指导意义的。但是另一方面,传统的系统科学对于当前大数据人工智能系统的实践缺乏有力的支撑。
应该说,当前的人工智能系统本质上是数据驱动的智能系统。这类智能系统在数据驱动与人机协作等方面与传统信息系统有着根本不同。比如在数据驱动方面,智能系统的数据大都作为模型训练之用,传统信息系统的数据大都只作为用户查询或者简单统计分析的来源而已;在人机协作方面,智能系统的人的作用在于让机器具备认知框架、给予机器模型学习以适当的反馈与引导,而传统信息系统的人的作用更多地体现为系统语义、规则的制定,以及系统的使用与反馈。
因此,传统的系统科学以及信息系统理论仍需进一步发展以满足以知识图谱为代表的智能系统的建设与实施的需要。从系统科学角度从新思考智能系统(特别是大数据人工智能系统)的一般性原则与方法是个极为迫切的研究问题。
肖仰华教授主编的知识图谱教材《知识图谱:概念与技术》即将出版,全面解析知识图谱的概念与技术。敬请关注。
(*本文为 AI科技大本营转载文章,转载请联系原作者)