作者:王楠 赵宏宇 蔡月
来源:华章科技
通用知识图谱大体可以分为百科知识图谱(Encyclopedia Knowledge Graph)和常识知识图谱(Common Sense Knowledge Graph)。
百科知识图谱是百科事实构成的,通常是“非黑即白”的确定性知识。早在2010年微软就开始构建商用知识图谱,应用于旗下的搜索、广告、Cortana等项目。2012年谷歌基于Freebase正式发布Google Knowledge Graph。
目前微软和谷歌拥有全世界最大的通用知识图谱,脸书拥有全世界最大的社交知识图谱。而阿里巴巴和亚马逊则分别构建了商品知识图谱。
相比之下,国内知识图谱创业公司则从智能客服、金融、法律、公安、航空、医疗等“知识密集型”领域作为图谱构建切入点。除了上述商业通用图谱以外,DBpedia、Yago、Wikidata、BabelNet等开放域百科知识图谱也蓬勃发展。
另一种常识知识图谱,则集成了语言知识和概念常识,通常关心的是带有一定的概率的不确定事实,因此需要挖掘常识图谱的语言关联或发生概率。下面,我们将对两类知识图谱做详细介绍。
百科知识图谱构建模式可以分为两类。一类是对单百科数据源进行深度抽取,典型代表有DBpedia。另一类是结合了语言知识库(如WordNet)后,出现了一大批兼具语言知识的百科知识库,如Google Knowledge Graph后端的Freebase、IBM Waston后端的YAGO,以及BabelNet。
此外,还有世界最大开放知识库WikiData等。下面我们分别进行介绍。
1. DBpedia
DBpedia是始于2007年的早期语义网项目,也就是数据库版本的多语言维基百科。DBpedia采用了严格的本体设计,包含人物、地点、音乐、组织机构等类型定义。从对维基百科条目和链接数据集中抽取包括abstract、infobox、category等信息。
DBpedia采用了RDF语义框架描述,DBpedia与Freebase、OpenCyc、BioRDF等其他数据集也建立了实体映射关系,目前拥有127种语言的超过2800万个实体与30亿个RDF三元组。根据抽样评测,RDF三元组的正确率达到88%[1]。
2. YAGO
YAGO由德国马普研究所于2007年研制,集成了维基百科、wordNet和GeoNames三个来源的数据,是IBM沃森大脑的后端知识库之一。YAGO利用规则对维基百科实体的infobox进行抽取,通过实体类别推断构建“概念-实体”、“实体-属性”间的关系。
另外YAGO也融合了语言知识,比如将维基百科标签与WordNet中的概念(Synset)进行映射,以WordNet概念体系完成百科知识本体构建。很多知识条目也增加了时空属性维度描述。
目前,YAGO拥有10种语言约459万个实体,2400万个知识三元组。YAGO2包含了100个以上关系类型,20万实体类别,300万实体和2.2亿知识三元组等。通过人工评测,YAGO中三元组的正确率约为95%[2]。
3. Freebase
Freebase是Google Knowledge Graph的早期版本,由MetaWeb公司在2005年建立,通过开源免费共享方式众筹数据[3]。
Freebase通过对象、事实、类型和属性进行知识表示,其中一个重要的创新在于采用复合值类型(Compound Value Type,CVT)来处理多元关系,也就是说一个关系包含多个子二元关系。这样采用CVT唯一标识扩展了关系表示的能力。目前Freebase正在向Wikidata上迁移以进一步支持谷歌语义搜索。
4. BabelNet
BabelNet是目前世界上最大的多语言百科知识库之一,它本身可被视为一个由概念、实体、关系构成的语义网络[4]。BabelNet采用类似YAGO的思路,将维基百科页面标题与WordNet概念进行映射,通过维基百科跨语言页面链接以及机器翻译系统,为WordNet提供非英语语种链接数据。
目前BabelNet共拥有271个语言版本,包含了1400万个概念、36.4万个词语关系和3.8万个链接数据,拥有超过19亿个RDF三元组。BabelNet中每个概念包含所有表达相同含义的不同语言的同义词。由于BabelNet中的错误来源主要在于维基百科与WordNet之间的映射,目前的映射正确率大约在91%。
5. Wikidata
Wikidata顾名思义,与维基百科有着千丝万缕的联系。它由维基媒体基金会发起和维持,目前是一个可以众包协作编辑的多语言百科知识库。Wikidata中的每个实体存在多个不同语言的标签、别名、描述,通过三元组声明表示每一个条目,比如实体“London-中文标签-伦敦”。
此外,Wikidata利用参考文献标识每个条目的来源或出处,通过备注处理复杂多元表示,刻画多元关系。截至2017年,Wikidata能够支持近350种语言、2500万个实体及7000万个声明,支持数据集的完全下载[5]。
常识知识图谱除了语言知识库以外,还包括Cyc、ConceptNet、NELL以及Microsoft ConceptGraph。现阶段百科和常识知识图谱的融合越来越多,下面详细介绍一下。
6. Cyc
Cyc是1984年由Douglas Lenat创建的,作为知识工程时代一项重要进展,最初目标是建立人类最大的常识知识库。Cyc知识库主要由术语和断言组成,术语包含概念、关系和实体的定义。而断言用来建立术语间关系,通过形式化谓词逻辑进行描述,包括事实描述和规则描述。
Cyc主要特点是基于形式化语言表示方法来刻画知识,支持复杂推理,但是也导致扩展性和灵活性不够,现有Cyc知识库包括50万条术语和700万条断言。
7. ConceptNet
ConceptNet是一个大规模的多语言常识知识库,起源于一个MIT媒体实验室众包项目Open Mind Common Sense(OMCS),其本质为一个描述人类常识的大型语义网络[6]。
ConceptNet侧重于用近似自然语言描述三元组知识间关系,类似于WordNet。ConceptNet中拥有如“IsA、UsedFor、CapableOf”等多种固定关系,允许节点是自然语言片段或句子,但关系类型确定有利于降低知识获取的难度。
ConceptNet知识表示框架包含了如下要素:概念、词汇、短语、断言和边。其中断言描述概念间的关系,类似于RDF中的声明,边类似于RDF中的属性,一个概念包含了多条边,而一条边可能有多个来源和附加属性。
ConceptNet目前拥有304个语言的版本,超过390万个概念,2800万个断言,知识三元组正确率约为81%,支持数据集的完全下载。
8. Microsoft ConceptGraph
Microsoft ConceptGraph前身是Probase,以概念层次体系(Taxonomy)为核心,主要包含的是概念间关系,如“IsA”“isPropertyOf”“Co-occurance”以及实例(等同于上文中的实体)。
其中每一个关系均附带一个概率值,用于对概念进行界定,因此在语义消歧中作用很大。比如说概念电动汽车,实体可以为特斯拉,那么通过IsA关系描述中“汽车”或“人名”,加上时间属性,保证了语义理解的正确性。
目前,Microsoft ConceptGraph拥有500多万个概念、1200多万个实例以及8500万个IsA关系(正确率约为92.8%)。支持HTTP API调用[7]。
9. NELL
NELL(Never-Ending Language Learner)是卡内基梅隆大学基于互联网数据抽取而开发的三元组知识库。它的基本理念是给定少量初始样本(少量概念、实体类型、关系),利用机器学习方法自动从互联网学习和抽取新的知识,目前NELL已经抽取了400多万条高置信度的三元组知识。
中文类知识图谱对于中文自然语言理解至关重要,特别是中文开放知识图谱联盟(OpenKG)的努力,推动了中文知识图谱普及与应用[8]。
OpenKG借鉴了Schema.org知识众包模式,搭建了中文知识图谱建模、推理、学习的可解释接口规范cnSchema,构建中文知识图谱核心数据结构,包括数据(实体、本体、陈述)、元数据(版本管理、信息溯源、上下文),支持RDF逻辑层、JSON-LD存储层和计算层三个层次的知识表示。
OpenKG技术平台目前已经包含了Zhishi.me、CN-DBPedia、PKUBase、XLore,以及常识、医疗、金融、城市、出行等15类开放中文知识图谱。下面我们介绍几个常见的中文知识图谱项目。
10. Zhishi.me
Zhishi.me是构建中文链接数据的第一份工作,借鉴DBpedia的思路,对百度百科、互动百科和中文维基百科中的信息进行抽取,然后对多源同一实体进行对齐和链接[9]。
此外,结合社交站点的分类目录及标签云,Zhishi.me也融合中文模式(Schema),包含三种概念间关系,即equal、related与subClassOf关系。Zhishi.me中拥有约40万个中文概念、1000万个实体与1.2亿个RDF三元组,所有数据可以通过在线查询得到。人工评测正确率约为84%,并支持数据集的完全下载。
11. XLore
XLore是一个大型的中英文知识图谱,它旨在从各种不同的中英文在线百科中抽取并生成RDF三元组,并建立中英文实体间的跨语言链接[10]。目前,XLore大约有246万个概念、44万个关系或属性、1600万个实体,详细情况可以参考其官方网站。
12. CN-DBpedia
CN-DBpedia是目前规模最大的开放百科中文知识图谱之一,主要从中文百科类网站(如百度百科、互动百科、中文维基百科等)页面中提取信息[11]。
CN-DBpedia的概念本体复用已有成熟的概念体系(如DBpedia、YAGO、Freebase等)。针对实体正文内容涉及的属性构建一个抽取器(分类器),从百科文本抽取内容,经过滤、融合、推断等操作后,最终形成高质量的结构化数据。
目前CN-DBpedia涵盖1600万以上个实体、2.2亿个关系,相关知识服务API累计调用量已达2.6亿次。
在中文领域,还有上交大发布的知识图谱AceKG,超1亿个实体,近100G数据量,使用Apache Jena框架进行驱动[12]。思知平台发布的ownthink通用知识图谱[13]。此外,百度公司在过去多年的实践中,内部积累通用/领域/多源异构类知识图谱规模已经达到亿级实体和千亿级属性关系。
相关参考:
[1] https://wiki.dbpedia.org/develop/datasets
[2] https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/
[3] https://www.npmjs.com/package/freebase
[4] https://babelnet.org/
[5] https://dumps.wikimedia.org/wikidatawiki/
[6] http://alumni.media.mit.edu/~hugo/conceptnet/
[7] http://concept.research.microsoft.com
[8] http://www.openkg.cn/
[9] http://zhishi.me/
[10] https://xlore.org/
[11] http://kw.fudan.edu.cn/cndbpedia/intro/
[12] http://jena.apache.org
[13] https://www.ownthink.com/
关于作者:王楠,北京大学博士,“创青春-中关村U30”2020年度优胜者,先后任教于中国科学院、北京信息科技大学计算机学院。研究方向包括人工智能算法、知识图谱、自然语言处理与地球电磁学等。
赵宏宇,现就职于腾讯看点搜索团队,担任算法研究员。有多年NLP、搜索系统、推荐系统的工作经验,涉及专利、招聘和网页搜索等场景。精通PyTorch、TensorFlow等主流深度学习框架,擅长运用NLP前沿技术解决工业项目难题。
蔡月,清华-深圳湾实验室联合培养博士后,于2017年获得北京大学生物医学工程博士学位。曾担任东软医疗上海磁共振研发中心高级算法研究员。研究方向为数据科学、磁共振图像算法、深度学习等,擅长脑科学领域数据分析、磁共振图像加速、去噪等算法研究。
本文摘编自《自然语言理解与行业知识图谱:概念、方法与工程落地》,经出版方授权发布。(ISBN:978-7-111-69830-2)
《自然语言理解与行业知识图谱》
推荐语:本部分首先阐述自然语言理解的发展脉络和理解逻辑,主要围绕语言符号、处理体系、语义理解等进行探讨,引出自然语言理解的自动分析原理和方法,包括自然语言特征、统计学习、机器学习、深度学习、知识图谱等。
评论列表
的概念(Synset)进行映射,以WordNet概念体系完成百科知识本体构建。很多知识条目也增加了时空属性维度描述。 目前,YAGO拥有10种语言约459万个实体,2400万个知识三元组。YAGO2包含了100个以上关系类型,
0种语言约459万个实体,2400万个知识三元组。YAGO2包含了100个以上关系类型,20万实体类别,300万实体和2.2亿知识三元组等。通过人工评测,YAGO中三元组的正确率约为95%[2]。 3. Freebas