1.4 国内外典型的知识图谱项目
从人工智能的概念被提出开始,构建大规模的知识库一直都是人工智能、自然语言理解等领域的核心任务之一。下面分别介绍早期的知识库项目、互联网时代的知识图谱、中文开放知识图谱和垂直领域知识图谱。
1.4.1 早期的知识库项目
Cyc 是持续时间最久、影响范围较广、争议也较多的知识库项目。Cyc 最初的目标是要建立人类最大的常识知识库。典型的常识知识如“Every tree is a plant”“Plants die eventually”等。Cyc 知识库主要由术语(Term)和断言(Assertion)组成。术语包含概念、关系和实体的定义。断言用来建立术语之间的关系,既包括事实(Fact)描述,也包含规则(Rule)描述。最新的 Cyc 知识库已经包含有50万条术语和700万条断言。Cyc的主要特点是基于形式化的知识表示方法刻画知识。形式化的优势是可以支持复杂的推理,但过于形式化也导致知识库的扩展性和应用的灵活性不够。
WordNet 是最著名的词典知识库,由普林斯顿大学认知科学实验室从1985年开始开发。WordNet 主要定义了名词、动词、形容词和副词之间的语义关系。例如,名词之间的上下位关系,如“猫科动物”是“猫”的上位词;动词之间的蕴涵关系,如“打鼾”蕴涵着“睡眠”等。
ConceptNet最早源于MIT媒体实验室的OMCS(Open Mind Common Sense)项目。与 Cyc 相比,ConceptNet 采用了非形式化、更加接近自然语言的描述,而不是像 Cyc 一样采用形式化的谓词逻辑。与链接数据和谷歌知识图谱相比,ConceptNet 比较侧重于词与词之间的关系。从这个角度来看,ConceptNet更加接近于WordNet,但是又比WordNet包含的关系类型多。
1.4.2 互联网时代的知识图谱
互联网的发展为知识工程提供了新的机遇。在一定程度上,互联网的出现帮助传统知识工程突破了在知识获取方面的瓶颈。从1998年Tim Berners Lee提出语义网至今,涌现出了大量以互联网资源为基础的新一代知识库。这类知识库的构建方法可以分为三类:互联网众包、专家协作和互联网挖掘。
Freebase 是一个开放共享的、协同构建的大规模链接数据库。Freebase 是由硅谷创业公司MetaWeb于2005年启动的一个语义网项目。2010年,谷歌收购了Freebase,并作为其知识图谱数据来源之一。Freebase 主要采用社区成员协作方式构建,主要数据来源包括Wikipedia、世界名人数据库(NNDB)、开放音乐数据库(MusicBrainz)以及社区用户的贡献等。Freebase基于RDF三元组模型,底层采用图数据库进行存储。Freebase的一个特点是不对顶层本体做非常严格的控制,用户可以创建与编辑类和关系的定义。2016年,谷歌宣布将Freebase的数据和API服务都迁移至Wikidata,并正式关闭了Freebase。
DBpedia意指数据库版本的Wikipedia,是早期的语义网项目,是从Wikipedia抽取出来的链接数据集。DBpedia 采用了一个较为严格的本体,包含人、地点、音乐、电影、组织机构、物种、疾病等类定义。此外,DBpedia还与Freebase、OpenCYC、Bio2RDF等多个数据集建立了数据链接。DBpedia采用RDF语义数据模型,总共包含30亿个RDF三元组。
Schema.org是从2011年开始,由Bing、Google、Yahoo和Yandex等搜索引擎公司共同支持的语义网项目。Schema.org支持各个网站采用语义标签(Semantic Markup)的方式将语义化的链接数据嵌入到网页中。搜索引擎自动收集和归集这些数据,快速地从网页中抽取语义化的数据。Schema.org 提供了一个词语本体,用于描述这些语义标签。目前,这个词汇本体已经包含600多个类和900多个关系,覆盖范围包括个人、组织机构、地点、时间、医疗、商品等。谷歌于2015年推出的定制化知识图谱支持个人和企业在其网页中增加包括企业联系方法、个人社交信息等在内的语义标签,并通过这种方式快速汇集高质量的知识图谱数据。谷歌的一份统计数据显示,超过31%的网页和1200万家网站已经使用了 Schema.org 发布语义化的链接数据。其他采用了部分 Schema.org 功能的还包括Cortana、Yandex、Pinterest、Siri 等。Schema.org 的本质是采用互联网众包的方式生成和收集高质量的知识图谱数据。
Wikidata 的目标是构建一个免费开放、多语言、任何人或机器都可以编辑修改的大规模链接知识库。Wikidata 由 Wikipedia 于2012年启动,早期得到微软联合创始人 Paul Allen、Gordon Betty Moore基金会以及谷歌的联合资助。Wikidata继承了Wikipedia的众包协作机制,但与 Wikipedia 不同的是,Wikidata 支持以三元组为基础的知识条目(Item)的自由编辑。一个三元组代表一个关于该条目的陈述(Statement)。例如,可以给“地球”的条目增加“<地球,地表面积是,五亿平方公里>”的三元组陈述。截至2018年,Wikidata已经包含超过5000万个知识条目。
BabelNet 是类似于 WordNet 的多语言词典知识库。BabelNet 的目标是解决 WordNet在非英语语种中数据缺乏的问题。BabelNet采用的方法是将WordNet词典与Wikipedia集成。首先建立 WordNet 中的词与 Wikipedia 的页面标题的映射,然后利用 Wikipedia 中的多语言链接,再辅以机器翻译技术,给 WordNet 增加多种语言的词汇。BabelNet3.7包含了271种语言、1400万个同义词组、36.4万个词语关系和3.8亿个从Wikipedia中抽取的链接关系,总计超过19亿个RDF三元组。BabelNet集成了WordNet在词语关系上的优势和Wikipedia在多语言语料方面的优势,成功构建了目前最大规模的多语言词典知识库。
NELL(Never-Ending Language Learner)是卡内基梅隆大学开发的知识库。NELL主要采用互联网挖掘的方法从Web中自动抽取三元组知识。NELL的基本理念是:给定一个初始的本体(少量类和关系的定义)和少量样本,让机器能够通过自学习的方式不断地从Web中学习和抽取新的知识。目前,NELL已经抽取了300多万条三元组知识。
Yago 是由德国马普研究所研制的链接数据库。Yago 主要集成了 Wikipedia、WordNet和GeoNames三个数据库的数据。Yago将WordNet的词汇定义与Wikipedia的分类体系进行了融合集成,使得 Yago 具有更加丰富的实体分类体系。Yago 还考虑了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述。目前,Yago包含1.2亿条三元组知识。Yago也是IBM Watson的后端知识库之一。
Microsoft ConceptGraph 是以概念层次体系为中心的知识图谱。与 Freebase 等知识图谱不同,ConceptGraph 以概念定义和概念之间的 IsA 关系为主。例如,给定一个概念“Microsoft”,ConceptGraph返回一组与“微软”有IsA关系概念组“Company”“Software Company”“Largest OS Vender”等,被称为概念化“Conceptualization”。ConceptGraph可以用于短文本理解和语义消歧。例如,给定一个短文本“the engineer is eating the apple”,可以利用ConceptGraph正确理解其中“apple”的含义是“吃的苹果”还是“苹果公司”。微软发布的第一个版本包含超过540万个概念、1255万个实体和8760万个关系。ConceptGraph主要通过从互联网和网络日志中挖掘数据进行构建。
LOD(Linked Open Data)的初衷是为了实现Tim Berners-Lee在2006年发表的有关链接数据(Linked Data)作为语义网的一种实现的设想。LOD 遵循了 Tim 提出的进行数据链接的四个规则,即:使用URI标识万物;使用HTTP URI,以便用户可以(像访问网页一样)查看事物的描述;使用RDF和SPARQL标准;为事物添加与其他事物的URI链接,建立数据关联。LOD 已经有1143个链接数据集,其中社交媒体、政府、出版和生命科学四个领域的数据占比超过了90%。56%的数据集对外至少与一个数据集建立了链接。被链接最多的是 DBpedia 的数据。LOD 鼓励各个数据集使用公共的开放词汇和术语,但也允许使用各自的私有词汇和术语。在使用的术语中,有41%是公共的开放术语。
1.4.3 中文开放知识图谱
OpenKG 是一个面向中文域开放知识图谱的社区项目,主要目的是促进中文领域知识图谱数据的开放与互联。OpenKG.CN 聚集了大量开放的中文知识图谱数据、工具及文献,如图1-7所示。典型的中文开放知识图谱数据包括百科类的Zhishi.me(狗尾草科技、东南大学)、CN-DBpedia(复旦大学)、XLore(清华大学)、Belief-Engine(中科院自动化所)、PKUPie(北京大学)、ZhOnto(狗尾草科技)等。OpenKG 对这些主要百科数据进行了链接计算和融合工作,并通过 OpenKG 提供开放的Dump或开放访问API,完成的链接数据集也向公众完全免费开放。此外,OpenKG 还对一些重要的知识图谱开源工具进行了收集和整理,包括知识建模工具 Protege、知识融合工具 Limes、知识问答工具YodaQA、知识抽取工具DeepDive等。
图1-7 OpenKG的主网站
知识图谱 Schema 定义了知识图谱的基本类、术语、属性和关系等本体层概念。cnSchema.ORG是OpenKG发起和完成的开放的知识图谱Schema标准。cnSchema的词汇集包括了上千种概念分类(classes)、数据类型(data types)、属性(propertities)和关系(relations)等常用概念定义,以支持知识图谱数据的通用性、复用性和流动性。结合中文的特点,复用、连接并扩展了 Schema.org、Wikidata、Wikipedia 等已有的知识图谱Schema 标准,为中文领域的开放知识图谱、聊天机器人、搜索引擎优化等提供可供参考和扩展的数据描述和接口定义标准。通过 cnSchema,开发者也可以快速对接上百万基于Schema.org 定义的网站,以及 Bot 的知识图谱数据 API。cnSchema 主要解决如下三个问题:①Bots 是搜索引擎后新兴的人机接口,对话中的信息粒度缩小到短文本、实体和关系,要求文本与结构化数据的结合,要求更丰富的上下文处理机制等,这都需要 Schema的支持;②知识图谱 Schema 缺乏对中文的支持;③知识图谱的构建成本高,容易重新发明轮子,需要用合理的方法实现成本分摊。
OpenBase.AI 是 OpenKG 实现的类似于 Wikidata 的开放知识图谱众包平台。与WikiData 不同,OpenBase 主要以中文为中心,更加突出机器学习与众包的协同,将自动化的知识抽取、挖掘、更新、融合与群智协作的知识编辑、众包审核和专家验收等结合起来。此外,OpenBase 还支持将图谱转化为 Bots,允许用户选择算法、模型、图谱数据等定制生成Bots,即时体验新增知识图谱的作用。
1.4.4 垂直领域知识图谱
领域知识图谱是相对于 DBPedia、Yago、Wikidata、百度和谷歌等搜索引擎在使用的知识图谱等通用知识图谱而言的,它是面向特定领域的知识图谱,如电商、金融、医疗等。相比较而言,领域知识图谱的知识来源更多、规模化扩展要求更迅速、知识结构更加复杂、知识质量要求更高、知识的应用形式也更加广泛。如表1-1所示,从多个方面对通用知识图谱和领域知识图谱进行了比较分析。下面以电商、医疗、金融领域知识图谱为例,介绍领域知识图谱的主要特点及技术难点。
表1-1 通用知识图谱与领域知识图谱的比较
1.电商领域知识图谱
以阿里巴巴电商知识图谱为例[27] ,最新发布的知识图谱规模已达到百亿级别。其知识图谱数据主要以阿里已有的结构化商品数据为基础,并与行业合作伙伴数据、政府工商管理数据、外部开放数据进行融合扩展。在知识表示方面,除简单的三元组外,还包含层次结构更加复杂的电商本体和面向业务管控的大量规则型知识。在知识的质量方面,对知识的覆盖面和准确性都有较高的要求。在应用形式方面,广泛支持商品搜索、商品导购、天猫精灵等产品的智能问答、平台的治理和管控、销售趋势的预测分析等多个应用场景。电商知识也具有较高的动态性特征,例如交易型知识和与销售趋势有关的知识都具有较强的时效性和时间性。
2.医疗领域知识图谱
医疗领域构建有大量的规模巨大的领域知识库。例如,仅 Linked Life Data 项目包含的RDF三元组规模就达到102亿个 [3] ,包含从基因、蛋白质、疾病、化学、神经科学、药物等多个领域的知识。再例如国内构建的中医药知识图谱[28] ,通常需要融合各类基础医学、文献、医院临床等多种来源的数据,规模也达到20多亿个三元组。医学领域的知识结构更加复杂[29-31] ,如医学语义网络 UMLS 包含大量复杂的语义关系,GeneOnto[29] 则包含复杂的类层次结构。在知识质量方面,特别涉及临床辅助决策的知识库通常要求完全避免错误知识。
3.金融领域知识图谱
金融领域比较典型的例子如 Kensho 采用知识图谱辅助投资顾问和投资研究,国内以恒生电子为代表的金融科技机构以及不少银行、证券机构等也都在开展金融领域的知识图谱构建工作。金融知识图谱构建主要来源于机构已有的结构化数据和公开的公报、研报及新闻的联合抽取等。在知识表示方面,金融概念也具有较高的复杂性和层次性,并较多地依赖规则型知识进行投资因素的关联分析。在应用形式方面,则主要以金融问答和投顾投研类决策分析型应用为主。金融知识图谱的一个显著特点是高度动态性,且需要考虑知识的时效性,对金融知识的时间维度进行建模。
由上面的例子可以看出,如图1-8所示,领域知识图谱具有规模巨大、知识结构更加复杂、来源更加多样、知识更加异构、具有高度的动态性和时效性、更深层次的推理需求等特点。
图1-8 规模化的知识图谱系统工程