中国人工智能发展报告:知识工程(2019—2020)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3 开放的知识图谱项目

从人工智能的概念被提出开始,构建大规模的知识库一直都是人工智能、自然语言理解等领域的核心任务之一。由于知识库构建的复杂性,大部分开放域的知识库都以开放的形式存在。下面分别介绍早期的知识库项目和以互联网为基础构建的新一代知识库项目。

3.3.1 早期的知识库项目

Cyc是持续时间最久、影响范围较广、争议也较多的知识库项目。Cyc是在1984年由Douglas Lenat开始创建的。最初的目标是要建立人类最大的常识知识库。Cyc主要由Terms和Assertions组成。Terms包含概念、关系和实体的定义。Assertions用来建立Terms之间的关系,这既包括事实(Fact)的描述,也包含规则(Rule)的描述。最新的Cyc已经包含有50万条Terms和700万条Assertions。Cyc的主要特点是以基于形式化的知识表示方法来刻画知识。形式化的优势是可以支持复杂的推理,但过于形式化也导致知识库的扩展性和应用的灵活性不够。同时,Cyc提供开放版本OpenCyc。

WordNet是最著名的词典知识库,主要用于词义消歧。WordNet由普林斯顿大学认识科学实验室从1985年开始开发。WordNet主要定义了名词、动词、形容词和副词之间的语义关系。例如,名词之间的上下位关系(如“猫科动物”是“猫”的上位词),动词之间的蕴含关系(如“打鼾”蕴含着“睡眠”)等。WordNet 3.0已经包含超过15万个词和20万个语义关系。

ConceptNet是常识知识库,最早源于MIT媒体实验室的Open Mind Common Sense(OMCS)项目。OMCS项目是由著名人工智能专家Marvin Minsky于1999年建议创立的。ConceptNet主要依靠互联网众包、专家创建和游戏三种方法来构建。ConceptNet由三元组形式的关系型知识构成,ConceptNet 5版本已经包含有2800万条关系描述。与Cyc相比,ConceptNet采用了非形式化、更加接近自然语言的描述。与链接数据和谷歌知识图谱相比,ConceptNet比较侧重于词与词之间的关系。从这个角度看,ConceptNet更加接近于WordNet,但是又比WordNet包含的关系类型多。此外,ConceptNet完全免费开放,并支持多种语言。

3.3.2 互联网时代的知识图谱

互联网的发展为知识工程带来了新的机遇。在一定程度上,互联网的出现帮助知识工程突破了传统知识工程在知识获取方面的瓶颈。从1998年Tim Berners Lee提出语义网至今,涌现出大量以互联网资源为基础的新一代知识库。这类知识库的构建方法可以分为三类:互联网众包、专家协作和互联网挖掘。

Freebase是一个开放共享、协同构建的大规模链接数据库。Freebase是由硅谷创业公司MetaWeb于2005年启动的一个语义网项目。2010年,谷歌收购了Freebase作为其知识图谱数据来源之一。Freebase主要采用社区成员协作方式构建,其主要数据来源包括维基百科Wikipedia、世界名人数据库NNDB、开放音乐数据库MusicBrainz,以及社区用户的贡献等。Freebase基于RDF三元组模型,底层采用图数据库进行存储。Freebase的一个特点是不对顶层本体做非常严格的控制,用户可以创建并编辑类和关系的定义。2016年,谷歌宣布将Freebase的数据和API服务都迁移至Wikidata,并正式关闭了Freebase。

DBPedia是早期的语义网项目。DBPedia意指数据库版本的Wikipedia,是从Wikipedia抽取出来的链接数据集。DBPedia采用了一个较为严格的本体,包含人、地点、音乐、电影、组织机构、物种、疾病等类定义。此外,DBPedia还与Freebase、OpenCYC、Bio2RDF等多个数据集建立了数据链接。DBPedia采用RDF语义数据模型,总共包含约30亿RDF三元组。

Schema.org是由Bing、Google、Yahoo和Yandex等搜索引擎公司共同支持的语义网项目。Schema.org支持各个网站采用语义标签(Semantic Markup)的方式将语义化的链接数据嵌入网页中。搜索引擎自动搜集和归集这些语义标签,快速地从网页中抽取语义化的数据。Schema.org提供了一个词汇本体用于描述这些语义标签。截至目前,这个词汇本体已经包含600多个类和900多个关系,覆盖范围包括个人、组织机构、地点、时间、医疗、商品等。谷歌于2015年推出的定制化知识图谱支持个人和企业在其网页中增加包括企业联系方法、个人社交信息等在内的语义标签,并通过这种方式快速地汇集高质量的知识图谱数据。截至2016年,谷歌的一份统计数据显示,超过31%的网页和1200万个网站已经使用了Schema.org发布语义化的链接数据。其他采用了部分Schema.org功能的还包括微软的Cortana、Yandex、Pinterest、苹果的Siri等。Schema.org的本质是采用互联网众包的方式生成和收集高质量的知识图谱数据。

WikiData的目标是构建一个免费开放、多语言、任何人或机器都可以编辑修改的大规模链接知识库。WikiData由维基百科于2012年启动,早期得到微软联合创始人Paul Allen、Gordon Betty Moore基金会以及谷歌的联合资助。WikiData继承了Wikipedia的众包协作机制,但与Wikipedia不同,WikiData支持的是以三元组为基础的知识条目(Items)的自由编辑。一个三元组代表一个关于该条目的陈述(Statements)。例如可以给“地球”的条目增加“<地球,地表面积是,五亿平方公里>”的三元组陈述。截至2016年,WikiData已经包含超过2470多万个知识条目。

BabelNet是类似于WordNet的多语言词典知识库。BabelNet的目标是解决WordNet在非英语语种中数据缺乏的问题。BabelNet采用的方法是将WordNet与Wikipedia集成。首先建立WordNet中的词与Wikipedia的页面标题的映射,然后利用Wikipedia中的多语言链接,再辅以机器翻译技术,来给WordNet增加多种语言的词汇。BabelNet 3.7包含了271种语言、1400万同义词组、36.4万组词语关系和3.8亿个从Wikipedia中抽取的链接关系,总计超过19亿个RDF三元组。BabelNet集成了WordNet在词语关系上的优势和Wikipedia在多语言语料方面的优势,成功构建了目前最大规模的多语言词典知识库。

NELL是卡内基梅隆大学开发的知识库。NELL主要采用互联网挖掘的方法从Web自动抽取三元组知识。NELL的基本理念是:给定一个初始的本体(少量类和关系的定义)和少量样本,让机器能够通过自学习的方式不断地从Web学习和抽取新的知识。目前NELL已经抽取了300多万条三元组知识。

YAGO是由德国马普研究所开发的链接数据库。YAGO主要集成了Wikipedia、WordNet和GeoNames三个来源的数据。YAGO将WordNet的词汇定义与Wikipedia的分类体系进行了融合集成,使得YAGO具有更加丰富的实体分类体系。YAGO还考虑了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述。目前,YAGO包含约1.2亿条三元组知识。YAGO是IBM Watson的后端知识库之一。

ConceptGraph是以概念层次体系为中心的知识图谱。与Freebase等知识图谱不同,ConceptGraph以概念定义和概念之间的IsA关系为主。给定一个概念如“Microsoft”,ConceptGraph返回一组与“Microsoft”有IsA关系的概念组,如“Company”“Software Company”“Largest OS Vender”等。这被称为概念化(Conceptualization)。ConceptGraph可以用于短文本理解和语义消歧中。例如,给定一个短文本“the engineer is eating the apple”,可以利用ConceptGraph来正确理解其中“apple”的含义是“吃的苹果”还是“苹果公司”。ConceptGraph的第一个版本包含超过540万个的概念、1255万个的实体和8760万条的关系。ConceptGraph主要通过从互联网和网络日志中挖掘来构建。

LOD-Linked Open Data(LOD)的初衷是实现Tim Berners-Lee在2006年提出的将有关数据链接作为语义网的设想。LOD遵循了Tim Berners-Lee提出的进行数据链接的四个规则:①使用URI标识万物;②使用HTTP URI,以便用户可以(像访问网页一样)查看事物的描述;③使用RDF和SPARQL标准;④为事物添加与其他事物的URI链接,建立数据关联。截至目前,LOD已经有约1143个链接数据集,其中社交媒体、政府、出版和生命科学四个领域的数据占比超过90%。56% 的数据集对外至少与一个数据集建立了链接,被链接最多的是DBpedia的数据。比较常用的链接类型包括foaf:knows、sioc:follows、owl:sameAs、rdfs:seeAlso、dct:spatial、skos:exactMatch等。LOD鼓励各个数据集使用公共的开放词汇和术语,但也允许使用各自的私有词汇和术语,在使用的术语中,有41%是公共的开放词汇和术语。