知识图谱的研究热点逐渐出现重数量轻结构化的倾向,这与深度学习和联结主义思想的盛行密不可分。认知图谱依据人类认知的双加工理论,动态构建带有上下文信息的知识图谱并进行推理。本文回顾了知识图谱的发展历史,指出认知图谱提出的动机并展望其发展前景。
知识图谱是由谷歌(Google)公司在年提出来的一个新的概念。本质上是语义网的知识库。知识图谱由节点和边组成,节点表示实体,边表示实体与实体之间的关系,这是最直观、最易于理解的知识表示和实现知识推理的框架,也奠定了现代问答系统的基础。从20世纪80年代的知识库与推理机,到21世纪初的语义网络和本体论,其核心是早期版本的知识图谱,要么侧重知识表示,要么侧重知识推理,但一直苦于规模小、应用场景不清楚而发展缓慢。年,谷歌发布的亿实体的大规模知识图谱彻底改变了这一现状1;同时,深度学习技术的发展也推波助澜,掀起了知识图谱领域研究的新热潮,特别是以Trans[1]为代表的知识图谱嵌入,以及使用大型知识图谱增强其他应用,如推荐系统、情感分析等。
然而,当知识图谱在诸多应用中取得成功的同时,其方法论始终笼罩着几朵“乌云”,如歧义问题、链接困难、关系的冗余与组合爆炸等。虽然针对这些问题的一些修补工作取得了不错的效果,但是想要真正解决这些问题,或许需要在深度学习时代重新考虑知识表示的框架与方法论,因此,认知图谱[2]应运而生。
认知图谱可以被解释为“基于原始文本数据,针对特定问题情境,使用强大的机器学习模型动态构建的,节点带有上下文语义信息的知识图谱”。认知图谱的应用框架遵循认知心理学中的“双过程理论”(dualprocesstheory)[3],系统1(system1)负责经验性的直觉判断,这一黑盒过程提取重要信息,并动态构建认知图谱;系统2(system2)则在图上进行关系推理,由于认知图谱保留了实体节点上语义信息的隐表示,所以在符号逻辑之外,比如图神经网络等深度学习模型也可以大显身手。
1
知识图谱
1、早期知识图谱与逻辑推理
知识图谱的理论发源于20世纪下半叶的人工智能热潮中,多组研究者独立地提出相似的理论。它脱胎于众多著名认知心理学家提出的语义网络(semanticnetworks)[4]理论,最为著名的有Sowa等人在年提出的ConceptNet[5]。在符号主义的思潮中,许多早期知识图谱将关系局限为几种特殊的基本关系,如“拥有属性”“导致”“属于”等,并定义一系列在图谱上推理的规则,期望通过逻辑推理实现智能。
图1为早期知识图谱[6]中的例子,这里的“ALI”表示“相似性”(alikeness),CAU表示“导致”(cause);□为节点,其内容通过EQU“等价”(equal)来标注或者通过ALI来说明其性质或类别。
然而,早期知识图谱的思路遇到了许多实际的困难。比如不完美的文本数据导致结构解析困难,归约为基本关系的过程需要大量人工参与,语意中的细微差别丢失,完美的推理规则无法穷举等。实际上,这些问题并非来自知识图谱,而是符号主义本身的特性,在之后的实践中,胜利的天平会逐渐向联结主义的方法倾斜。
2、语义网和本体论
语义网[7](SemanticWeb)是万维网发明者、ACM图灵奖获得者蒂姆·伯纳斯-李(TimBerners-Lee)提出的一个愿景,在自然语言理解远不及今日发达的20世纪初,通过自然语言进行细粒度的网络自动查询是一种奢望。即使是今天,先进的语音助手(例如Siri等),依旧只能处理相当有限的操作,但是自然语言理解技术的飞速进步也带来了曙光。当时的Tim则另辟蹊径,如果网页能将自己本身的信息用三元组标签的形式记录下来,方便机器理解,那么语义搜索就很容易实现。
为了实现这一目标,人们设计了资源描述框架(RDF)描述语言和描述本体的RDFS/OWL,但是由于互联网创作者们并不积极,语义网时至今日仍然未能得到很好的实现,相关话题的研究也逐渐被知识图谱所代替。然而,三元组的结构化信息和本体研究中积累的技术却成为了宝贵的知识财富。
3、大规模知识图谱
年发布的谷歌知识图谱再次将这个领域带入聚光灯下,然而,构建庞大而高质量的知识图谱并不容易。Freebase[8]是谷歌知识图谱的前身,它整合了包括许多私人维基在内的大量网络资源。另一个常用的知识图谱是DBpedia[9],它从维基百科中抽取结构化的知识再进行本体的构建。通过结构化,用户可以使用SPARQL语言进行查询。YAGO[10]也是开源知识图谱,被应用于IBMWaston问答系统。
NELL[11]是卡耐基梅隆大学教授汤姆·米切尔(TomMitchell)带领开展的知识自动学习。NELL项目开启了一个机器学习实现知识图谱构建的浪潮,目标是持续不断地从网络上获取资源并进行事实发现、规则总结等,里面涉及到命名实体识别、同名消歧、规则归纳等关键技术。图2是NELL系统的自动持续构建框架。
ArnetMiner[12]是清华大学知识工程实验室构建的面向科技领域的知识图谱,项目实现了高精度学者画像、同名消歧、智能推荐、趋势分析等关键技术。该工作获得了ACMSIGKDD的时间检验论文奖(Test-of-TimeAward)。
4、深度学习时代的知识图谱
深度学习时代的知识图谱拥有大量的实体和关系,然而大量不同的关系上很难定义逻辑规则,在知识图谱上“推理”也转入黑盒模型预测的范式。Bordes等人[13]的知识库结构嵌入和Socher等人[14]的NeuralTensorNetwork(NTN)率先将神经网络引入知识图谱的研究,特别是NTN将知识图谱中实体和关系的单词嵌入的平均值作为该节点的表示,训练神经网络判断(头实体,关系,尾实体)的三元组是否为真,在知识图谱补全(推理)任务中取得了很好的效果,图3为NTN知识库补全网络。然而,简单地用词向量表示实体本身,会忽略它们独特的符号特征:例如美国网红“JamesCharles”和20世纪著名时尚设计师“CharlesJames”的词向量平均结果相同,可是其知识图谱上的相关属性有很大差别。
因此,研究者将更多的目光转向大型知识图谱自身的嵌入训练,其中最为优雅有效的开创性工作是Bordes等人[1]的TransE。该算法的目的是为知识图谱中每个关系或实体学习一个d维向量表示,对于知识图谱中任意的三元组事实(h,r,t),算法要求它们的向量表示满足h+r≈t,这个想法是来自词向量的类似特性,为了训练得到这样的嵌入,算法定义目标函数:
其中d(h+r,t)是向量h+r与t之间的距离,通常使用欧几里得距离;h和r是负采样得到的样本,最终使用间隙损失函数(marginalloss)来进行比对学习。
后来的一系列工作无论从命名上还是框架上,都延续了TransE的风格进行改进。例如为了解决一对多和多对多的复杂关系,TransH[15]将关系建模为平面而不是向量,进而要求头尾实体的嵌入向量在该平面上的投影满足
,图4为TransH模型向量空间的示意图。这个方向的众多改进工作,如TransR[16]、TransG[17]等在Wang等人[18]的综述中得到了很好的概括。
知识图谱的应用中,最主要的是基于知识图谱的问答系统(KBQA),如图5所示。由于知识图谱本身是对机器友好的结构,如果有了相应的SPARQL语句,即可很容易地在知识图谱中查询到最终的答案。因此,难度主要集中在如何将自然语言问题解析为知识图谱内存在的关系或者实体的合法查询。针对这个问题,Dai等人[19]提出了CFO模型,Huang等人[20]提出了KEQA,后者预测实体的嵌入并从知识图谱嵌入中寻找附近的结果,把自然语言处理中的预测模型与知识图谱嵌入的工作结合了起来。
知识图谱另一个重要的方向是复杂问题推理。知识图谱往往是不完备的,复杂问题往往在图谱中没有明显答案,甚至没有对应的关系。但是,通过多步推理,我们仍有可能从图谱中获得对应的答案。这个方向较为著名的工作有Xiong等人[21]的Deeppath(见图6),使用强化学习的方法探索知识图谱中的推理路径。这个思路也启发了后续的一些工作,例如使用策略梯度的MINERVA[22]和Lin等人[23]奖赏塑造等。
5、知识图谱的缺陷
知识图谱的缺点本质上都是“二元一阶谓词逻辑”作为知识表示本身的缺陷带来的。长久以来,知识表示是研究者孜孜不倦追寻探索的话题,完全依靠(头实体,关系,尾实体)这样的命题,尽管能表示大部分简单事件或实体属性,但对于复杂知识却束手无策。在对知识理解的细粒度要求越来越高的今天,这一缺点成为了知识图谱的阿喀琉斯之踵。
“李政道和杨振宁共同提出宇称不守恒的理论”,这个事实如果要计入知识图谱,通常不得不记作(杨振宁和李政道,提出,宇称不守恒理论)”,而这样头实体就无法与两位科学家的其他信息链接;如果将头实体拆开,则无法反映“共同提出”,与事实不符。归根结底,“……和……共同提出……”是一个三元关系,无法被知识图谱直接记录。
如果说这个例子可以通过在知识图谱中引入超边(hyperedge)来改进,那么下面的二阶谓词逻辑的例子则完全超出了现有框架。“克隆羊的各项属性都与本体相同”,在知识图谱中,各项属性都由不同关系刻画,因此这句话无法被知识图谱所记录;在更宽泛的知识库理论中,这通常被列为“规则”,然后执行大量枚举操作,去“推理”出克隆羊的各项关系属性,而对于规则的理解和形式化往往带有浓厚的人工色彩,一条高阶逻辑也可能涉及到海量的实体,使得图谱十分冗余。
我们最后