零 序
从三个部分介绍知识图谱(Knowledge Graph, KG),最后做总结:
- 基础篇:定义、简史、存储和查询;
- 进阶篇:构建、推理;
- 应用篇:NLP领域、CV领域;
- 信息篇:TOP团队、感想
一 基础篇
1.1 定义和简史
三元组是知识的最细粒度的表达形式,结构上一般由主语、谓语、宾语组成或者由头实体、关系、尾实体组成,对应符号表示分别为<S, P, O>
、<h, r, t>
,比如<李渊, 儿子, 李世民>。
知识图谱把客观世界中的事实以三元组的形式存储在一张庞大的图中,G=(V, E)
。
知识图谱有四个时代,第一个时代是专家系统时代(expert system),专家系统包含大量专家知识,通过推理判断来求解复杂问题,比如Dendral;第二个时代是语义网时代(semantic web),通过资源描述框架RDF、本体语言OWL以及查询语言SPARQL来实现万维网文档的语义链接,代表作有LOC和OpenKG;第三个时代是知识库时代(knowledge base),知识库侧重从存储、组织、管理的角度对知识进行集群,比如Freebase、DBpedia;第四个时代即为现在的知识图谱(knowledge graph),它是围绕着知识库展开的所有知识图谱技术,包括抽取、存储、融合、加工、评估和更新等。
对比以上四个时代,专家系统本质上还是一个系统,只不过嵌入了一个小型的知识库,能解决更为复杂的问题;语义网则是基于万维网文档发展起来的技术;知识库则倾向于数据库和知识工程;最后的知识图谱则更多考虑人工智能、自然语言处理、信息抽取。不同时代对知识图谱有不同的理解,这是由各个时代下技术发展导致的。
结合以上所有信息,对知识图谱下一个确定性的定义:狭义上看,知识图谱只是一张图,是知识的集合;广义上看,它囊括了所有知识图谱相关的技术(实体链接、关系抽取、知识图谱补充等)。
1.2 概念和术语
- 开放领域知识图谱和垂直领域知识图谱:根据KG中知识的领域性对KG的划分,前者知识面更广,但是深度浅,后者知识面窄,但是质量高;
- 模式层和数据层:数据层是纯粹的三元组数据,模式层则是对数据层提供了规范和约束(语义网中的本体和这里的模式层的作用类似),包括概念上的关系约束、属性取值上的约束、定理上的约束等;
- 自顶向下构建和自底向上构建:前者是先人工构建本体,后填充符合本体约束的三元组数据;后者是先从异构数据源获取三元组数据,然后再提炼模式信息;前者偏向人工构建,后者偏向自动构建;
- 知识表示形式:三元组、RDF、JSON-LD、属性图,本质上都是三元组,只不过后几个增强了知识的表达能力;
1.3 存储和查询
存储和查询的解决方案并不是唯一的,解决方案有:(1)关系数据库+SQL;(2)RDF数据库+SPARQL;(3)图数据库+图查询。
二 进阶篇
2.1 构建
由于KG和数据紧密联系,所以很多KG工作的开源性较差,构建方法也会因为数据有很大变化,暂时没有一种统一的构建方法论。只有一些基本的构建流程可供参考。
- 模式设计:根据任务需求确定数据来源,然后构建本体,可以参考一些百科网站、关系数据库的表定义;
- 数据获取:从不同来源获取数据,包括结构化的、半结构化的、自由文本,数据源尽量选择质量较高的,否则数据清洗非常困难;
- 知识融合:获取的数据必须转成有效的知识表示形式,然后与知识图谱中的数据融合在一起,其中难点包括实体、属性的链接(消歧+对齐);
- 知识加工:发现并挖掘潜在的新关系,比如知识图谱补充(kg completion);
- 质量评估:生成kg的一些统计信息,比如关系稀疏度等;然后对知识的覆盖度和准确率进行评估。然而大多数情况,覆盖度和准确率很难完成,只是学术界的一个
kg的构建是一个迭代的过程,人工干涉越多,迭代的成本越高,所以将两种构建方法结合实现半自动构建是一种很好的折中方案。
2.2 推理
推理有两大方法论,一是结合符号和逻辑,二是基于嵌入和神经网络。OWL本体语言采用的就是一阶谓词逻辑的推理,知识表示学习(knowledge representation learning, KRL)是一种不错的嵌入推理方案。前者不适合深度学习,在如今的人工智能时代没有学术价值,所以知名度较低。后者的发展比较新,但是成绩不够好,分三个流派:基于矩阵分解的KRL、基于平移模型的KRL、基于图神经网络的KRL。未来,希望二者能有一个比较好的结合。
2.3 应用
在自然语言处理领域,kg有很多应用,近几年代表作有:
- 预训练:参考ERNIE、ERNIE2.0、K-BERT等;
- 关系抽取:基于远程监督的关系抽取,thunlp有很多工作都是这方面;
- KBQA:基于知识图谱的单关系问答、基于知识图谱的多跳问答(multi-hop QA);
在CV领域,目前看到比较好的就是视觉问答(visual QA)。
三 信息篇
3.1 TOP团队
- FAIR:Antonie Bordes、Scott Wen-tau Yih
- 清华大学:孙茂松、刘知远
- 北京大学:赵东岩、冯岩松
- 中科院:赵军、刘康
- 哈工大:刘挺
- 南京大学:胡伟
会议:ACL、EMNLP、COLING、NLPCC、CCKS
3.2 感想
- 学术界站在设计的角度给了很多术语和构想,但是很多设计(诸如质量评估)在落地的过程中是存在问题的;
- 由于和数据紧密联系,根据业务数据构建得到的图谱和相关技术不会对外公布,限制了KG的交流;
- 不同人对kg的理解千奇百怪,很多其他研究方向的人局限于狭义知识图谱的世界里,觉得kg就是一堆数据,只不过换了个图数据库存储而已;也有很多刚入学的研究生看到了广义的知识图谱,但是却找不到研究的切入点。其实kg不仅仅是数据,它还包括很多其他相关技术,涉及知识工程、数据挖掘、信息抽取为代表的自然语言处理等,但对于kg的研究,最最核心的就是推理,也是目前最佳的研究点;
- 也有很多人不知道kg有什么用,可以用在哪。个人觉得,如果嵌入技术足够成熟,kg可以用在NLP的所有任务上。