从人工智能的概念被提出开始,构建大规模的知识库一直都是人工智能、自然语言理解等领域的核心任务之一。下面首先分别介绍了早期的知识库项目和以互联网为基础构建的新一代知识库项目。并单独介绍了典型的中文知识图谱项目。
1.早期的知识库项目
Cyc:Cyc是持续时间最久,影响范围较广,争议也较多的知识库项目。Cyc是在1984年由DouglasLenat开始创建。最初的目标是要建立人类最大的常识知识库。典型的常识知识如”Everytreeisaplant”,”Plantsdieeventually”等。Cyc知识库主要由术语Terms和断言Assertions组成。Terms包含概念、关系和实体的定义。Assertions用来建立Terms之间的关系,这既包括事实Fact描述,也包含规则Rule的描述。最新的Cyc知识库已经包含有50万条Terms和700万条Assertions。Cyc的主要特点是基于形式化的知识表示方法来刻画知识。形式化的优势是可以支持复杂的推理。但过于形式化也导致知识库的扩展性和应用的灵活性不够。Cyc提供开放版本OpenCyc。
WordNet:WordNet是最著名的词典知识库,主要用于词义消歧。WordNet由普林斯顿大学认识科学实验室从1985年开始开发。WordNet主要定义了名词、动词、形容词和副词之间的语义关系。例如名词之间的上下位关系(如:“猫科动物”是“猫”的上位词),动词之间的蕴含关系(如:“打鼾”蕴含着“睡眠”)等。WordNet3.0已经包含超过15万个词和20万个语义关系。
ConceptNet:ConceptNet是常识知识库。最早源于MIT媒体实验室的OpenMindCommonSense(OMCS)项目。OMCS项目是由著名人工智能专家MarvinMinsky于1999年建议创立。ConceptNet主要依靠互联网众包、专家创建和游戏三种方法来构建。ConceptNet知识库以三元组形式的关系型知识构成。ConceptNet5版本已经包含有2800万关系描述。与Cyc相比,ConceptNet采用了非形式化、更加接近自然语言的描述,而不是像Cyc那样采用形式化的谓词逻辑。与链接数据和谷歌知识图谱相比,ConceptNet比较侧重于词与词之间的关系。从这个角度看,ConceptNet更加接近于WordNet,但是又比WordNet包含的关系类型多。此外,ConceptNet完全免费开放,并支持多种语言。
2.语义网与知识图谱
互联网的发展为知识工程提供了新的机遇。在一定程度上,是互联网的出现帮助突破了传统知识工程在知识获取方面的瓶颈。从1998年TimBernersLee提出语义网至今,涌现出大量以互联网资源为基础的新一代知识库。这类知识库的构建方法可以分为三类:互联网众包、专家协作和互联网挖掘。
Freebase:Freebase是一个开放共享的、协同构建的大规模链接数据库。Freebase是由硅谷创业公司MetaWeb于2005年启动的一个语义网项目。2010年,谷歌收购了Freebase作为其知识图谱数据来源之一。Freebase主要采用社区成员协作方式构建。其主要数据来源包括维基百科Wikipedia、世界名人数据库NNDB、开放音乐数据库MusicBrainz,以及社区用户的贡献等。Freebase基于RDF三元组模型,底层采用图数据库进行存储。Freebase的一个特点是不对顶层本体做非常严格的控制,用户可以创建和编辑类和关系的定义。2016年,谷歌宣布将Freebase的数据和API服务都迁移至Wikidata,并正式关闭了Freebase。
DBPedia:DBPedia是早期的语义网项目。DBPedia意指数据库版本的Wikipedia,是从Wikipedia抽取出来的链接数据集。DBPedia采用了一个较为严格的本体,包含人、地点、音乐、电影、组织机构、物种、疾病等类定义。此外,DBPedia还与Freebase,OpenCYC、Bio2RDF等多个数据集建立了数据链接。DBPedia采用RDF语义数据模型,总共包含30亿RDF三元组。
Schema.org:Schema.org是2011年起,由Bing、Google、Yahoo和Yandex等搜索引擎公司共同支持的语义网项目。Schema.org支持各个网站采用语义标签(SemanticMarkup)的方式将语义化的链接数据嵌入到网页中。搜索引擎自动搜集和归集这些,快速的从网页中抽取语义化的数据。Schema.org提供了一个词汇本体用于描述这些语义标签。截止目前,这个词汇本体已经包含600多个类和900多个关系,覆盖范围包括:个人、组织机构、地点、时间、医疗、商品等。谷歌于2015年推出的定制化知识图谱支持个人和企业在其网页中增加包括企业联系方法、个人社交信息等在内的语义标签,并通过这种方式快速的汇集高质量的知识图谱数据。截止2016年,谷歌的一份统计数据显示,超过31%的网页和1200万的网站已经使用了Schema.org发布语义化的链接数据。其它采用了部分Schema.org功能的还包括微软Cortana、Yandex、Pinterest、苹果的Siri等。Schema.org的本质是采用互联网众包的方式生成和收集高质量的知识图谱数据。
WikiData:WikiData的目标是构建一个免费开放、多语言、任何人或机器都可以编辑修改的大规模链接知识库。WikiData由维基百科于2012年启动,早期得到微软联合创始人PaulAllen、GordonBettyMoore基金会以及Google的联合资助。WikiData继承了Wikipedia的众包协作的机制,但与Wikipedia不同,WikiData支持的是以三元组为基础的知识条目(Items)的自由编辑。一个三元组代表一个关于该条目的陈述(Statements)。例如可以给“地球”的条目增加“<地球,地表面积是,五亿平方公里>”的三元组陈述。截止2016年,WikiData已经包含超过2470多万个知识条目。
BabelNet: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:NELL(Never-EndingLanguageLearner)是卡内基梅隆大学开发的知识库。NELL主要采用互联网挖掘的方法从Web自动抽取三元组知识。NELL的基本理念是:给定一个初始的本体(少量类和关系的定义)和少量样本,让机器能够通过自学习的方式不断的从Web学习和抽取新的知识。目前NELL已经抽取了300多万条三元组知识。
YAGO:YAGO是由德国马普研究所研制的链接数据库。YAGO主要集成了Wikipedia、WordNet和GeoNames三个来源的数据。YAGO将WordNet的词汇定义与Wikipedia的分类体系进行了融合集成,使得YAGO具有更加丰富的实体分类体系。YAGO还考虑了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述。目前,YAGO包含1.2亿条三元组知识。YAGO是IBMWatson的后端知识库之一。
MicrosoftConceptGraph:ConceptGraph是以概念层次体系为中心的知识图谱。与Freebase等知识图谱不同,ConceptGraph以概念定义和概念之间的IsA关系为主。给定一个概念如“Microsoft”,ConceptGraph返回一组与“微软”有IsA关系概念组,如:“Company”,“SoftwareCompany”,“LargestOSVender”等。这被称为概念化“Conceptualization”。ConceptGraph可以用于短文本理解和语义消歧中。例如,给定一个短文本“theengineeriseatingtheapple”,可以利用ConceptGraph来正确理解其中“apple”的含义是“吃的苹果”还是“苹果公司”。微软发布的第一个版本包含超过540万的概念,1255万的实体,和8760万的关系。ConceptGraph主要通过从互联网和网络日志中挖掘来构建。
LOD-LinkedOpenData:LOD的初衷是为了实现TimBerners-Lee在2006年发表的有关链接数据(LinkedData)作为语义网的一种实现的设想。LOD遵循了Tim提出的进行数据链接的四个规则,即:(1)使用URI标识万物;(2)使用HTTPURI,以便用户可以(像访问网页一样)查看事物的描述;(3)使用RDF和SPARQL标准;(4)为事物添加与其它事物的URI链接,建立数据关联。截止目前,LOD已经有1143个链接数据集,其中社交媒体、政府、出版和生命科学四个领域的数据占比超过90%。56%的数据集对外至少与一个数据集建立了链接。被链接最多的是dbpedia的数据。比较常用的链接类型包括:foaf:knows、sioc:follows、owl:sameAs、rdfs:seeAlso、dct:spatial、skos:exactMatch等。LOD鼓励各个数据集使用公共的开放词汇和术语,但也允许使用各自的私有词汇和术语。在使用的术语中,有41%是公共的开放术语。
3.中文知识图谱资源
OpenKG.CN:中文开放知识图谱联盟旨在通过建设开放的社区来促进中文知识图谱数据的开放与互联,促进中文知识图谱工具的标准化和技术普及。
Zhishi.me:Zhishi.me是中文常识知识图谱。主要通过从开放的百科数据中抽取结构化数据,已融合了百度百科,互动百科以及维基百科中的中文数据。
CN-DBPeidia:CN-DBpedia是由复旦大学知识工场实验室研发并维护的大规模通用领域结构化百科。CN-DBpedia主要从中文百科类网站(如百度百科、互动百科、中文维基百科等)的纯文本页面中提取信息,经过滤、融合、推断等操作后,最终形成高质量的结构化数据,供机器和人使用。CN-DBpedia自2015年12月份发布以来已经在问答机器人、智能玩具、智慧医疗、智慧软件等领域产生数亿次API调用量。CN-DBpedia提供全套API,并且免费开放使用。大规模商务调用,提供由IBM、华为支持的专业、稳定服务接口。
cnSchema.org:cnSchema.org是一个基于社区维护的开放的知识图谱Schema标准。cnSchema的词汇集包括了上千种概念分类(classes)、数据类型(datatypes)、属性(propertities)和关系(relations)等常用概念定义,以支持知识图谱数据的通用性、复用性和流动性。结合中文的特点,我们复用、连接并扩展了Schema.org,Wikidata,Wikipedia等已有的知识图谱Schema标准,为中文领域的开放知识图谱、聊天机器人、搜索引擎优化等提供可供参考和扩展的数据描述和接口定义标准。通过cnSchema,开发者也可以快速对接上百万基于Schema.org定义的网站,以及Bot的知识图谱数据API。