我的位置:

金准人工智能 知识图谱和深度学习协同发展研究报告(上)

发布人:管理员

前言

大数据为人工智能的发展带来前所未有的数据红利,其进展突出体现在以知识图谱为代表的知识工程以及深度学习为代表的机器学习等相关领域。近年来搜索领域和自然语言处理领域热度不减,知识图谱成为搜索引擎向知识引擎转变的关键所在,融合知识图谱和深度学习,已然成为进一步提升深度学习模型效果的重要方向之一。以知识图谱为代表的符号主义、以深度学习为代表的联结主义,日益脱离原先各自独立发展的轨道,走上协同并进的新道路。其中,以阿里的“神马搜索”为代表的知识搜索引擎中,知识图谱及其相关技术的广泛应用不仅能帮助用户找到最想要的信息,更能让用户有意想不到的知识收获。


一、历史背景

大数据为机器学习,特别是深度学习带来前所未有的数据红利。得益于大规模标注数据,深度神经网络能够习得有效的层次化特征表示,从而在图像识别等领域取得优异效果。但是随着数据红利消失殆尽,深度学习也日益体现出其局限性,尤其体现在依赖大规模标注数据和难以有效利用先验知识等方面。这些局限性阻碍了深度学习的进一步发展。另一方面在深度学习的大量实践中,人们越来越多地发现深度学习模型的结果往往与人的先验知识或者专家知识相冲突。如何让深度学习摆脱对于大规模样本的依赖?如何让深度学习模型有效利用大量存在的先验知识?如何让深度学习模型的结果与先验知识一致已成为了当前深度学习领域的重要问题。

当前,人类社会业已积累大量知识。特别是,近几年在知识图谱技术的推动下,对于机器友好的各类在线知识图谱大量涌现。知识图谱本质上是一种语义网络,表达了各类实体、概念及其之间的语义关系。相对于传统知识表示形式(诸如本体、传统语义网络),知识图谱具有实体/概念覆盖率高、语义关系多样、结构友好(通常表示为RDF格式)以及质量较高等优势,从而使得知识图谱日益成为大数据时代和人工智能时代最为主要的知识表示方式。能否利用蕴含于知识图谱中的知识指导深度神经网络模型的学习从而提升模型的性能,成为了深度学习模型研究的重要问题之一。

现阶段将深度学习技术应用于知识图谱的方法较为直接。大量的深度学习模型可以有效完成端到端的实体识别、关系抽取和关系补全等任务,进而可以用来构建或丰富知识图谱。本文主要探讨知识图谱在深度学习模型中的应用。从当前的文献来看,主要有两种方式。一是将知识图谱中的语义信息输入到深度学习模型中;将离散化知识图谱表达为连续化的向量,从而使得知识图谱的先验知识能够成为深度学习的输入。二是利用知识作为优化目标的约束,指导深度学习模型的学习;通常是将知识图谱中知识表达为优化目标的后验正则项。前者的研究工作已有不少文献,并成为当前研究热点。知识图谱向量表示作为重要的特征在问答以及推荐等实际任务中得到有效应用。后者的研究才刚刚起步,本文将重点介绍以一阶谓词逻辑作为约束的深度学习模型。

二、知识图谱作为深度学习的输入

知识图谱是人工智能符号主义近期进展的典型代表。知识图谱中的实体、概念以及关系均采用了离散的、显式的符号化表示。而这些离散的符号化表示难以直接应用于基于连续数值表示的神经网络。为了让神经网络有效利用知识图谱中的符号化知识,研究人员提出了大量的知识图谱的表示学习方法。知识图谱的表示学习旨在习得知识图谱的组成元素(节点与边)的实值向量化表示。这些连续的向量化表示可以作为神经网络的输入,从而使得神经网络模型能够充分利用知识图谱中大量存在的先验知识。这一趋势催生了对于知识图谱的表示学习的大量研究。本章首先简要回顾知识图谱的表示学习,再进一步介绍这些向量表示如何应用到基于深度学习模型的各类实际任务中,特别是问答与推荐等实际应用。

2.1知识图谱的表示学习

知识图谱的表示学习旨在学习实体和关系的向量化表示,其关键是合理定义知识图谱中关于事实(三元组< h,r,t >)的损失函数 ƒr(h,t),其中和是三元组的两个实体h和t的向量化表示。通常情况下,当事实 < h,r,t > 成立时,期望最小化 ƒr(h,t)。考虑整个知识图谱的事实,则可通过最小化:

来学习实体以及关系的向量化表示,其中 O 表示知识图谱中所有事实的集合。不同的表示学习可以使用不同的原则和方法定义相应的损失函数。这里以基于距离和翻译的模型介绍知识图谱表示的基本思路[1]。

2.1.1基于距离的模型

其代表性工作是 SE 模型[2]。基本思想是当两个实体属于同一个三元组 < h,r,t > 时,它们的向量表示在投影后的空间中也应该彼此靠近。因此,损失函数定义为向量投影后的距离

其中矩阵 Wr,1 和 Wr,2 用于三元组中头实体 h 和尾实体 t 的投影操作。但由于 SE 引入了两个单独的投影矩阵,导致很难捕获实体和关系之间的语义相关性。Socher 等人针对这一问题采用三阶张量替代传统神经网络中的线性变换层来刻画评分函数。Bordes 等人提出能量匹配模型,通过引入多个矩阵的 Hadamard 乘积来捕获实体向量和关系向量的交互关系。

2.1.2基于翻译的表示学习

其代表性工作 TransE 模型通过向量空间的向量翻译来刻画实体与关系之间的相关性[3]。该模型假定,若 < h,r,t > 成立则尾部实体 t 的嵌入表示应该接近头部实体 h 加上关系向量 r 的嵌入表示,即 h+r≈t。因此,TransE 采用

作为评分函数。当三元组成立时,得分较低,反之得分较高。TransE 在处理简单的 1-1 关系(即关系两端连接的实体数比率为 1:1)时是非常有效的,但在处理 N-1、1-N 以及 N-N 的复杂关系时性能则显著降低。针对这些复杂关系,Wang 提出了 TransH 模型通过将实体投影到关系所在超平面,从而习得实体在不同关系下的不同表示。Lin 提出了 TransR 模型通过投影矩阵将实体投影到关系子空间,从而习得不同关系下的不同实体表示。

除了上述两类典型知识图谱表示学习模型之外,还有大量的其他表示学习模型。比如,Sutskever 等人使用张量因式分解和贝叶斯聚类来学习关系结构。Ranzato 等人引入了一个三路的限制玻尔兹曼机来学习知识图谱的向量化表示,并通过一个张量加以参数化。

当前主流的知识图谱表示学习方法仍存在各种各样的问题,比如不能较好刻画实体与关系之间的语义相关性、无法较好处理复杂关系的表示学习、模型由于引入大量参数导致过于复杂,以及计算效率较低难以扩展到大规模知识图谱上等等。为了更好地为机器学习或深度学习提供先验知识,知识图谱的表示学习仍是一项任重道远的研究课题。

2.2知识图谱向量化表示的应用

2.2.1问答系统

自然语言问答是人机交互的重要形式。深度学习使得基于问答语料的生成式问答成为可能。然而目前大多数深度问答模型仍然难以利用大量的知识实现准确回答。Yin 等人针对简单事实类问题,提出了一种基于 encoder-decoder 框架,能够充分利用知识图谱中知识的深度学习问答模型[4]。在深度神经网络中,一个问题的语义往往被表示为一个向量。具有相似向量的问题被认为是具有相似语义。这是联结主义的典型方式。另一方面,知识图谱的知识表示是离散的,即知识与知识之间并没有一个渐变的关系。这是符号主义的典型方式。通过将知识图谱向量化,可以将问题与三元组进行匹配(也即计算其向量相似度),从而为某个特定问题找到来自知识库的最佳三元组匹配。匹配过程如图 1 所示。对于问题 Q:“How tallis Yao Ming?”,首先将问题中的单词表示为向量数组 HQ。进一步寻找能与之匹配的知识图谱中的候选三元组。最后为这些候选三元组,分别计算问题与不同属性的语义相似度。其由以下相似度公式决定:

这里,S(Q,τ) 表示问题Q 与候选三元组τ 的相似度;xQ 表示问题的向量( 从HQ计算而得),uτ 表示知识图谱的三元组的向量,M是待学习参数。

图1 基于知识图谱的神经生成问答模型

2.2.2推荐系统

个性化推荐系统是互联网各大社交媒体和电商网站的重要智能服务之一。随着知识图谱的应用日益广泛,大量研究工作意识到知识图谱中的知识可以用来完善基于内容的推荐系统中对用户和项目的内容(特征)描述,从而提升推荐效果。另一方面,基于深度学习的推荐算法在推荐效果上日益优于基于协同过滤的传统推荐模型[5]。但是,将知识图谱集成到深度学习的框架中的个性化推荐的研究工作,还较为少见。Zhang 等人做出了这样的尝试。作者充分利用了结构化知识(知识图谱)、文本知识和可视化知识(图片)[6]等三类典型知识。作者分别通过网络嵌入(network embedding)获得结构化知识的向量化表示,然后分别用SDAE(Stacked Denoising Auto-Encoder)和层叠卷积自编码器(stackedconvolution-autoencoder)抽取文本知识特征和图片知识特征;并最终将三类特征融合进协同集成学习框架,利用三类知识特征的整合来实现个性化推荐。作者针对电影和图书数据集进行实验,证明了这种融合深度学习和知识图谱的推荐算法具有较好性能。

2.3知识图谱作为深度学习的约束

Hu 等人提出了一种将一阶谓词逻辑融合进深度神经网络的模型,并将其成功用于解决情感分类和命名实体识别等问题[7]。逻辑规则是一种对高阶认知和结构化知识的灵活表示形式,也是一种典型的知识表示形式。将各类人们已积累的逻辑规则引入到深度神经网络中,利用人类意图和领域知识对神经网络模型进行引导具有十分重要的意义。其他一些研究工作则尝试将逻辑规则引入到概率图模型,这类工作的代表是马尔科夫逻辑网络[8],但是鲜有工作能将逻辑规则引入到深度神经网络中。

Hu 等人所提出的方案框架可以概括为“teacher-student network”,如图 2 所示,包括两个部分 teacher network q(y|x) 和 student network pθ(y|x)。其中 teacher network 负责将逻辑规则所代表的知识建模,student network 利用反向传播方法加上teacher network的约束,实现对逻辑规则的学习。这个框架能够为大部分以深度神经网络为模型的任务引入逻辑规则,包括情感分析、命名实体识别等。通过引入逻辑规则,在深度神经网络模型的基础上实现效果提升。

图2 将逻辑规则引入到深度神经网络的“teacher-student network”模型

其学习过程主要包括如下步骤:

§ 利用 soft logic 将逻辑规则表达为 [0, 1] 之间的连续数值。

§ 基于后验正则化(posterior regularization)方法,利用逻辑规则对 teacher network 进行限制,同时保证 teacher network 和 student network 尽量接近。最终优化函数为:


§ 其中,ξl,gl是松弛变量,L 是规则个数,Gl 是第 l 个规则的 grounding 数。KL 函数(Kullback-Leibler Divergence)部分保证 teacher network 和student network 习得模型尽可能一致。后面的正则项表达了来自逻辑规则的约束。

§ 对 student network 进行训练,保证 teacher network 的预测结果和 student network 的预测结果都尽量地好,优化函数如下:

§ 其中,t 是训练轮次,l 是不同任务中的损失函数(如在分类问题中,l 是交叉熵),σθ 是预测函数,sn(t) 是 teacher network 的预测结果。

§ 重复 1~3 过程直到收敛。

三、知识图谱数据构建案例分析:神马搜索

3.1背景简介

为了不断提升搜索体验,神马搜索的知识图谱与应用团队,一直在不断探索和完善图谱的构建技术。其中,开放信息抽取(Open Information Extraction),或称通用信息抽取,旨在从大规模无结构的自然语言文本中抽取结构化信息。它是知识图谱数据构建的核心技术之一,决定了知识图谱可持续扩增的能力。

“神马搜索”界面:

金准人工智能专家聚焦于开放信息抽取中的重要子任务——关系抽取,首先对关系抽取的各种主流技术进行概述,而后结合业务中的选择与应用,重点介绍了基于DeepDive的方法,并详述它在神马知识图谱数据构建工作中的应用进展。

3.2关系抽取概述

3.2.1关系抽取技术分类

现有的关系抽取技术主要可分为三种 :

有监督的学习方法 :该方法将关系抽取任务当做分类问题,根据训练数据设计有效的特征,从而学习各种分类模型,然后使用训练好的分类器预测关系。该方法的问题在于需要大量的人工标注训练语料,而语料标注工作通常非常耗时耗力。

半监督的学习方法 :该方法主要采用Bootstrapping进行关系抽取。对于要抽取的关系,该方法首先手工设定若干种子实例,然后迭代地从数据从抽取关系对应的关系模板和更多的实例。

无监督的学习方法 :该方法假设拥有相同语义关系的实体对拥有相似的上下文信息。因此可以利用每个实体对对应上下文信息来代表该实体对的语义关系,并对所有实体对的语义关系进行聚类。

这三种方法中,有监督学习法因为能够抽取并有效利用特征,在获得高准确率和高召回率方面更有优势,是目前业界应用最广泛的一类方法。

3.2.2远程监督算法

为了打破有监督学习中人工数据标注的局限性,Mintz等人提出了远程监督(Distant Supervision)算法,该算法的核心思想是将文本与大规模知识图谱进行实体对齐,利用知识图谱已有的实体间关系对文本进行标注。远程监督基于的基本假设是:如果从知识图谱中可获取三元组R(E1,E2)(注:R代表关系,E1、E2代表两个实体),且E1和E2共现与句子S中,则S表达了E1和E2间的关系R,标注为训练正例。

远程监督算法是目前主流的关系抽取系统广泛采用的方法,也是该领域的研究热点之一。该算法很好地解决了数据标注的规模问题,但它基于的基本假设过强,会引入大量噪音数据。例如,从知识图谱获取三元组:创始人(乔布斯,苹果公司),下表句1和句2正确表达了该关系,但句3和句4并没有表达这样的关系,因此对句3和句4应用基本假设时会得到错误的标注信息。这个问题通常称为 the wrong label problem。

出现 the wrong label problem 的根本原因,是远程监督假设一个实体对只对应一种关系,但实际上实体对间可以同时具有多种关系,如上例中还存在CEO(乔布斯,苹果公司)的关系,实体对间也可能不存在通常定义的某种关系,而仅因为共同涉及了某个话题才在句中共现。

为了减小 the wrong label problem 的影响,学术界陆续提出了多种改进算法,主要包括:

基于规则的方法:通过对wrong label cases的统计分析,添加规则,将原本获得正例标注的wrong label cases直接标为负例,或通过分值控制,抵消原有的正标注。

基于图模型的方法:构建因子图(factor graph)等能表征变量间关联的图模型,通过对特征的学习和对特征权重的推算减小wrong label cases对全局的影响。

基于多示例学习(multi-instance learning)的方法:将所有包含(E1,E2)的句子组成一个bag,从每个bag对句子进行筛选来生成训练样本。此类方法最早提出时假设如果知识图谱中存在R(E1,E2),则语料中含(E1,E2)的所有instance中至少有一个表达了关系R。一般与无向图模型结合,计算出每个包中置信度最高的样例,标为正向训练示例。该假设比远程监督的假设合理,但可能损失很多训练样本,造成有用信息的丢失和训练的不充分。为了能得到更丰富的训练样本,又提出了multi-instance multi-labels的方法。该方法的假设是,同一个包中,一个sentence只能表示(E1,E2)的一种关系,也就是只能给出一个label,但是不同的sentence可以表征(E1,E2)的不同关系,从而得到不同的label。多label标注的label值不是正或负,而是某一种关系。它为同时挖掘一个实体对的多种关系提供了可能的实现途径。另一种改进的方法是从一个包中选取多个valid sentences作为训练集,一般与深度学习方法相结合,这种方法更详细的讲解和实现会安排在后续介绍深度学习模型的章节中。

3.3神马知识图谱构建中的关系抽取方法选择

知识图谱的数据构建,就数据源而言,分为结构化数据,半结构化数据和无结构数据三类。其中,无结构数据是最庞大、最易获取的资源,同时也是在处理和利用方面难度最大的资源。神马知识图谱构建至今,已经发展为一个拥有近5000万实体,近30亿关系的大规模知识图谱。在经历了前期以结构化和半结构化数据为主的领域图谱构建阶段,神马知识图谱的数据构建重点已经逐渐转移为如何准确高效地利用无结构数据进行实体与关系的自动识别与抽取。这一构建策略使得神马知识图谱在通用领域的建设和可持续扩增方面有很强的竞争力。

远程监督算法利用知识图谱的已有信息,使得有监督学习中所需的大规模文本标注成为可能。一方面,远程监督在很大程度上提升了有监督学习关系抽取的规模和准确率,为大规模的知识图谱数据构建和补充提供了可能;另一方面,远程监督对现有知识图谱的数据和规模有较强的依赖,丰富的标注数据对机器学习能力的提升有很大帮助。为了充分利用知识图谱规模和远程监督学习这种相辅相成的特性,在神马知识图谱的现阶段数据构建业务中,我们采用了以图谱现有的大规模实体与关系数据为依托,以远程监督算法为工具的关系抽取技术。

上文中,金准人工智能专家介绍过多种基于远程监督思想的改进方法。在具体的业务实现中,金准人工智能专家选取了领域内与业务需求最为契合的两种代表性方法:基于DeepDive的抽取系统和基于深度学习抽取算法。两种方法相辅相成,各有优势:DeepDive系统较多依赖于自然语言处理工具和基于上下文的特征进行抽取,在语料规模的选择上更为灵活,能进行有针对性的关系抽取,且能方便地在抽取过程中进行人工检验和干预;而深度学习的方法主要应用了词向量和卷积神经网络,在大规模语料处理和多关系抽取的人物中有明显的优势。在下面的章节中,金准人工智能专家来更详细地了解这两种方法的实现与应用。

3.3.1 DeepDive系统介绍

DeepDive概述

DeepDive (http://deepdive.stanford.edu/) 是斯坦福大学开发的信息抽取系统,能处理文本、表格、图表、图片等多种格式的无结构数据,从中抽取结构化的信息。系统集成了文件分析、信息提取、信息整合、概率预测等功能。Deepdive的主要应用是特定领域的信息抽取,系统构建至今,已在交通、考古、地理、医疗等多个领域的项目实践中取得了良好的效果;在开放领域的应用,如TAC-KBP竞赛、维基百科的infobox信息自动增补等项目中也有不错的表现。

DeepDive系统的基本输入包括:

l 无结构数据,如自然语言文本

l 现有知识库或知识图谱中的相关知识

l 若干启发式规则

DeepDive系统的基本输出包括:

l 规定形式的结构化知识,可以为关系(实体1,实体2)或者属性(实体,属性值)等形式

l 对每一条提取信息的概率预测

DeepDive系统运行过程中还包括一个重要的迭代环节,即每轮输出生成后,用户需要对运行结果进行错误分析,通过特征调整、更新知识库信息、修改规则等手段干预系统的学习,这样的交互与迭代计算能使得系统的输出不断得到改进。

3.3.2 DeepDive系统架构和工作流程

DeepDive的系统架构如下图所示,大致分为数据处理、数据标注、学习推理和交互迭代四个流程:

数据处理

1) 输入与切分

在数据处理流程中,DeepDive首先接收用户的输入数据,通常是自然语言文本,以句子为单位进行切分。同时自动生成文本id和每个句子在文本中的index。doc_id + sentence_index 构成了每个句子的全局唯一标识。

2) NLP标注

对于每个切分好的句子,DeepDive会使用内嵌的Stanford CoreNLP工具进行自然语言处理和标注,包括token切分,词根还原、POS标注、NER标注、token在文本中的起始位置标注、依存文法分析等。

3) 候选实体对提取

根据需要抽取的实体类型和NER结果,首先对实体mentions进行定位和提取,而后根据一定的配对规则生成候选实体对。需要特别注意,在DeepDive中,每一个实体mention的标定都是全局唯一的,由doc_id、sentence_index以及该mention在句子中的起始和结束位置共同标识。因此,不同位置出现的同名的实体对(E1,E2)将拥有不同的(E1_id,E2_id),最终的预测结果也将不同。

4) 特征提取

该步骤的目的是将每一个候选实体对用一组特征表示出来,以便后续的机器学习模块能够学习到每个特征与所要预测关系的相关性。Deepdive内含自动特征生成模块DDlib,主要提取基于上下文的语义特征,例如两个实体mention间的token sequence、NER tag sequence、实体前后的n-gram等。Deepdive也支持用户自定义的特征提取算法。

数据标注

在数据标注阶段,我们得到了候选实体对以及它们对应的特征集合。在数据标注阶段,我们将运用远程监督算法和启发式规则,对每个候选实体对进行label标注,得到机器学习所需的正例和负例样本。

1) 远程监督

实现远程监督标注,首先需要从已知的知识库或知识图谱中获取相关的三元组。以婚姻关系为例,DeepDive从DBpedia中获取已有的夫妻实体对。若候选实体对能在已知的夫妻实体对中找到匹配映射时,该候选对标记为正例。负例的标注针对需要抽取的不同关系有不同的可选方法。例如可以将没有在知识库中出现的实体对标注为负例,但在知识库收入不完整的情况下该方法会引入噪音负例;也可以用知识库中互斥关系下的实例来做负例标注,例如父母-子女关系,兄弟姐妹关系,都与婚姻关系互斥,用于标注负例基本不会引入噪音。

2) 启发式规则

正负样本的标注还可以通过用户编写启发式规则来实现。以抽取婚姻关系为例,可以定义如下规则:

l Candidates with person mentions that are too far apart in the sentence are marked as false.

l Candidates with person mentions that have another person in between are marked as false.

l Candidates with person mentions that have words like "wife" or "husband" in between are marked as true.

用户可以通过预留的user defined function接口,对启发式规则进行编写和修改。

3) Label冲突的解决

当远程监督生成和启发式规则生成的label冲突,或不同规则生成的label产生冲突时,DeepDive采用majority vote算法进行解决。例如,一个候选对在DBpedia中找到了映射,label为1,同时又满足2中第2条规则,得到label 为-1,majority vote对所有label求和:sum = 1 - 1 = 0,最终得到的label为doubt。

学习与推理

通过数据标注得到训练集后,在学习与推理阶段,Deepdive主要通过基于因子图模型的推理,学习特征的权重,并最终得到对候选三元组为真的概率预测值。

因子图是一种概率图模型,用于表征变量和变量间的函数关系,借助因子图可以进行权重的学习和边缘概率的推算。DeepDive系统中,因子图的顶点有两种,一种是随机变量,即提取的候选实体对,另一种是随机变量的函数,即所有的特征和根据规则得到的函数,比方两个实体间的距离是否大于一定阈值等。因子图的边表示了实体对和特征及规则的关联关系。

当训练文本的规模很大,涉及的实体众多时,生成的因子图可能非常复杂庞大,DeepDive采用吉布斯采样(Gibbs sampling)进行来简化基于图的概率推算。在特征权重的学习中,采用标准的SGD过程,并根据吉布斯采样的结果预测梯度值。为了使特征权重的获得更灵活合理,除了系统默认的推理过程,用户还可以通过直接赋值来调整某个特征的权重。篇幅关系,更详细的学习与推理过程本文不做展开介绍,更多的信息可参考DeepDive的官网。

交互迭代

迭代阶段保证通过一定的人工干预对系统的错误进行纠正,从而使得系统的准召率不断提升。交互迭代一般包括以下几个步骤:

1) 准召率的快速估算

l 准确率:在P集中随机挑选100个,看为TP的比例。