Advertisement

A Survey on Knowledge-Enhanced Pre-trained Language Models

阅读量:

摘要

近年来,在自然语言处理(NLP)领域内借助BERT等预训练语言模型(plm),我们取得了巨大的进展。然而这些技术虽然在几乎所有NLP任务中均创下了新纪录但仍面临着诸多困难包括可解释性不足推理能力有限以及通常需要高昂的人力成本进行下游任务的数据标注。因此为了克服这些局限性研究人员提出了将外部知识融入plm体系中的概念即为知识增强预训练语言模型(keplm)这一创新性思路认为其具备突破现有技术瓶颈的巨大潜力。本研究系统地探讨了这一前沿领域具体而言本文旨在分析当前KEPLM的主要知识形式及其分类并详细阐述现有的构建与评估方法框架最后深入探讨其在实际应用中的表现及未来研究的主要方向。

1.介绍

通过在大规模数据集上进行训练后重新优化的语言模型(plm)首先被设计用于广泛的应用场景,并随后直接应用于下游任务中。接着将其转移到下游任务中或者在另一个小数据集上进一步微调以满足特定NLP任务的需求。早期的plm模型如Skip-Gram[1]和GloVe[2]主要基于浅层神经网络构建,并且其基于窗口大小上下文的学习方法产生了静态语义向量表示。这种表示方法难以应对动态环境中的多义词问题。随着深度学习的发展过程得以推进,在这种背景下研究人员开始尝试利用深度神经网络来生成动态语义嵌入从而提高任务性能水平。起初的研究者仍然局限于监督学习的传统模式认为若无充足的标注数据则很难充分释放深度学习的能力潜力然而自监督学习的兴起带来了如BERT[3]等大型语言模型能够通过预测预先被掩盖的内容从而从大规模未标注文本数据中提取大量知识并取得了显著的进步成果随后许多大型模型开始采用Transformer[4]架构以及自监督学习策略来解决NLP问题plm研究逐渐进入快速发展的新阶段而最新的研究成果则体现在OpenAI的ChatGPT1的成功应用中

随着深入研究,在探索PLM的过程中发现了多项局限性。具体而言,在现有研究基础上指出:尽管PLM被广泛视为黑箱模型其决策机制不可见导致难以实现有效的解释功能;此外其鲁棒性不足主要源于深度神经网络模型对对抗示例的敏感依赖;同时其推理能力也存在明显限制因为这类模型完全依赖数据训练而非基于逻辑推理进行知识获取。针对这些缺陷KEPLM系统通过系统整合外部专业知识得以有效弥补上述缺陷从而实现了对传统PLM的改进效果显著如图1所示展示了KEPLM与现有的ChatGPT系统的对比分析结果。

尽管对KEPLM的相关综述或调查数量有限[5][6][7][8] 但随着一系列新技术的不断涌现 这一研究领域正以显著的速度发展与扩张。这项调查致力于从多维度的角度向人工智能领域的研究人员提供关于keplm最新动态最详尽的信息概述。

本研究的其余部分结构安排如下:第一段将介绍研究的整体框架与主要目标;第二段阐述该方法的基本原理与实现细节;第三段详细说明算法的具体步骤及其优化策略;第四段分析实验结果并进行结果验证;第五段探讨算法的时间复杂度及空间复杂度问题;第六段对比现有相关算法并分析其优劣之处;第七段提出改进建议并展望未来发展方向

2.背景

在本节内容中,我们依次详细阐述了PLM的基本概念,并进一步探讨了其与知识结合的最新发展趋势。

2.1 Pre-trained Language Models

于2013年时起始点被设定为word2vec这一方法...

2.2 Knowledge and PLMs

研究方向包含两个方面: 一是以知识库的形式呈现PLM(knowledge base, KBs),二是通过知识提升其性能。本文着重探讨其中一项。

2.2.1 Using PLMs as Knowledge Bases

KBs(例如Wikidata[58]和ATOMIC[26])通常以关系三元组的形式存储实体及其关联信息。plm被视为一种结构化KBs的可能替代方案,在这一领域吸引了众多研究人员的关注。自LAMA项目启动以来[59],研究者们致力于探索plm是否能够替代传统的结构化KBs系统。Wan等学者[60]深入研究了如何利用预训练语言模型自动生成知识库。Heinzerling等人则探讨了神经网络在准确性和记忆容量方面的权衡问题,并认为plm作为一种替代方案具有潜力。Safavi等人强调显性知识类型的准确性优于潜在知识类型,并指出显式知识型知识库与潜在式PLM之间存在不可替代性。Wang等人的研究表明[64]:生成模型在回答闭域问题时仍面临局限性;而AlKhamissi等人则提出了PLM需具备关键特性才能成为有效的知识管理系统

2.2.2 Enhancing PLMs with Knowledge

一方面,在现有技术的基础上我们还可以通过引入知识来提升和拓展预训练语言模型(PTLM)。在许多涉及领域广泛的应用场景中——如问答任务所示——通过引入额外的参数能够显著增加PTLM所学到的知识总量;然而其实际效果却远逊于直接将专业知识融入PLMs体系中[66]。因此有必要探索更加系统化的方式将专业知识有机地融入PLMs之中以进一步提升其性能。

基于这些标记符的体系结构(ERNIE[67]、KnowBert[68]、K-BERT[69])作为早期探索

3.KEPLMs的3个知识来源

在本节中,我们将详细介绍集成到plm中的常见知识类型和格式。

3.1 Types of Knowledge

几种类型的知识常见地被整合到PLM中

3.1.1 Linguistic Knowledge

部分-of-speech tagging是一种广泛采用的语言学标记方法。常见的标注类型涵盖代词、动词、名词等多种语义单位。这一技术对于解析自然语言处理中的数据特征具有重要意义,在情感分析等应用领域发挥着关键作用。SentiLARE[70]系统通过精准的词语标注机制有效提升情感分析的准确性。

该模型利用句法分析解析出句子的结构,其主要包含成分和依赖关系。Syntax-BERT[71]采用了具有较高语法相关性的掩码来整合来自选择区和依赖树的信息。K-Adapter[72]整合了依赖解析信息,并显著提升了依赖关系预测任务的性能。

交叉领域通用性的实现可以通过学习多语言语料库。有时通过学习多领域语料库, PLMs能够实现交叉领域的通用性。例如, 如XLM-K[73]研究表明, 一种语言的知识可能有助于处理另一种.

3.1.2 Semantic Knowledge

语义知识旨在通过模型辅助理解文本内涵。

3.1.3 Commonsense Knowledge

人们通常拥有对日常世界和活动的一般性知识[81]。常见的知识库参考表1。

常规知识在知识库(KBs)中被以三元组形式记录,在这种表示法中,前体和后端实体通常采用短语而非单一单词的形式这一特点与传统百科全书式的知识组织方式存在显著差异。例如,在传统的知识库系统中,“无食物”的相关性通常由(无食物→原因→去商店)这样的典型三元组来描述;而在传统的百科全书式知识库中,则采用(中国→首都→北京)这样的固定三元组形式。

根据表1的数据展示,在知识图谱领域中,ConceptNet[9]因其广泛的应用而成为最具影响力的基准数据集。它涵盖了34种主要的关系类别,并且在常见问题解答、事实核查以及基于知识的故事生成等方面展现出显著的应用价值。

ATOMIC[26]专注于基于条件-结果模型的推理知识研究,在具体案例中如'当X给予Y一个赞美的时候,Y往往会对此表示感谢',该研究涉及到了原因及其结果,包括了自主性和非自主性事件,行为和心理状态等多个维度,这对常识推理具有重要意义.该方法学不仅适用于生成相关问题及问答,也可应用于实际研究中,例如Guan等[23]和Mitra等[27]的相关工作.

该系统所包含的常识数据相较于先前的相关知识来源更加全面且精确,在涵盖范围上主要包含三个维度:社会互动、物理现象以及基于事件的知识。研究团队将ATOMIC20[28]形式的知识节点转化为自然语言短语进行大规模预训练,并显著提升了该方法在因果推理与常识问答方面的性能表现。

ASER[30]是一种基于事件和关联构建的大型随机性知识网络。它具体涵盖了如吉姆对鲍勃的咆哮与其自身情绪低落之间的因果联系等复杂常识性知识。

3.1.4 Encyclopedic Knowledge

百科知识

百科知识包含着开放领域广泛的信息,并采用文本或三元组形式进行呈现。Wikipedia2被视为一种多语言的非结构化百科全书。BERT通过将维基百科作为预训练数据集来学习上下文表示;而其他方法通常依赖于知识三元组来利用百科全书式的知识。

Wikidata[58]是整合百科知识时使用最广泛的知识图谱。K-Adapter[71]、ERNIE[67]、KgPLM[82]和ERICA[83]等keplm使用维基数据[58]作为知识来源。其他常用的英语百科知识图谱包括Freebase[84]、DBpedia[85]和NELL[86]。CN-DBpedia[87]是一个广泛使用的中文百科知识图谱。为中文下游任务设计的keplm,如K-BERT[69],使用CN-DBpedia作为知识来源。

该研究者KEPLER[88]开发了大规模的知识图谱系统Wikidata5M。在数据组织方面,在表示实体及其间的关系时采用了高质量的描述策略。该系统通过这些详细信息初始化了知识表示模型,在此基础上CoLAKE[89]也采用了类似的方法以构建其知识图谱基础。

3.1.5 Domain Knowledge

与之相比,在对比之下

生物医学知识一般表现为症状或疾病之间的三联体关系,这些关系通常位于头端或尾端位置,例如(细菌性肺炎伴随特定形态和炎症特征)等。电子商务知识主要由商品名称构成,而商品描述则由一系列简短的词语组合来表达具体信息。例如,产品"iPhone XS"的具体描述包括iOS系统、4G网络支持、T-Mobile服务以及OLED屏幕等技术参数。情感知识可以通过多种途径来表征,包括使用情感词汇以及分析词语的情感极性等因素。

3.2 Formats of Knowledge

plm中通常包含四种知识格式,即实体词典、知识图、纯文本和标记图像。

3.2.1 Entity Lexicon

实体字典

为了实现不同实体间的知识整合需求,在对齐层上构建统一的知识表示框架时

作为Kepler的概念模型:整合知识嵌入与预训练语言模型表示

有代码

第一种方法能够深入分析知识库中实体相邻节点的信息。
受文本中的词与KG中的实体的嵌入向量空间不一致的影响而不得不面对异构嵌入空间的挑战。

采用实体嵌入的方法向知识中注入信息既简便又直观。然而,在更新知识图谱时需实施再训练机制;若在预训练期间导入模型参数,则必须对模型参数展开相应处理。

3.2.2 Knowledge Graph

知识图中存储的知识通常采用语义(RDF)三元组的形式表示。为了整合这些三元组信息,在适当的位置将其融入文本中。一种常用的方法是在适当的位置附加这些三元组信息,例如参考文献[69]、[91]等;另一种方法是将这些嵌入信息整合到整个文本的嵌入表示中

该段落已按照要求进行了改写:

3.2.3 Plain Text

为了整合文本中的知识内容, 我们可以通过将知识三元组转换为句子来构建预训练语料库, 或者在文本中添加相关的实体定义. 常识性知识库中的三元组通常适合作为句子处理. 例如,Hosseini等[29]将atomic2020中的一个典型三元组(PersonX accidentally fell, xEffect, PersonX broke an arm)成功地转化为"Tracy accidentally fell." 这种方法生成的句子可以直接输入到模型中进行持续的预训练.

采用在文本末尾附加生僻词定义的方法用于Dict-BERT[95]系统中,则有助于模型更好地理解和学习生僻词;然而该系统不适用于处理多义词。

3.2.4 Captioned Images

与上述以文本形式呈现的知识不同,在视觉感知的知识体系中包含物体表征方面的信息,在实际应用场景中这类信息往往无法直接从纯文本描述中获取。为了实现对视觉知识的有效整合,在模型构建过程中可能会采取以下策略:首先通过检索与当前任务相关联的高质量图像数据集;随后对该批次图像样本进行深度神经网络编码处理;接着将这些图像样本的嵌入特征与现有的文本表示进行融合融合;最后将这种多模态的信息表示形式应用于 downstream的任务处理过程;此外,在预训练任务中也可以通过将文本与图像对齐的方式来整合视觉方面的知识

4.Building KEPLMS

在构建keplm时,外部知识可以隐式或显式地融入到plm中。

4.1 Implicit Incorporation of Knowledge

4.1.1 Knowledge-Guided Masking Strategies

4.1.1知识引导的屏蔽策略

基于BERT的预训练语言模型通常会选择维基百科等非结构化的文本文档作为其预训练数据。这些非结构化的文本数据蕴含着丰富的上下文语义信息。BERT通过掩码语言建模(Masked Language Modeling, MLM)机制来学习词项的上下文关系。然而,在现有数据中往往会被忽视的重要实体和短语信息未得到充分挖掘。通过引入超越单个词项的知识引导掩蔽策略(Knowledge Guided Masking Strategy),PLM能够整合并利用实体及短语等深层知识。

ERNIE[98]在BERT中加入了实体级和短语级掩蔽策略,从而指导BERT的预训练,将文本中的实体和短语信息融合在一起。SKEP[47]提出不屏蔽实体或短语,而是屏蔽情感词,从而将情感知识注入文本表示中。与简单随机选择实体或短语进行掩蔽(如在ERNIE中)不同,GLM[15]使用知识图谱知情采样,为更重要的实体分配更高的权重。具体来说,GLM的屏蔽策略会在20%的时间里屏蔽一个普通单词,在80%的时间里屏蔽一个实体。当GLM需要屏蔽一个实体时,那些能够在ConceptNet中特定跳数内到达句子中其他实体的实体[9]被认为是更关键的,并被赋予更高的选择概率。通过这种方式,GLM可以将keplm的构建推向知识图中更关键的实体。如图4所示,假设在给定句子中的四个实体中,“sick”、“baby”和“cry”三个实体在ConceptNet中可以在特定跳数内到达,而另一个实体“sometimes”不能到达,当实体级掩蔽被激活时,GLM会给前者比后者更多的机会被掩蔽进行预训练;只有当单词级屏蔽被激活时,句子中的其他非实体单词才会被采样。

E-BERT[40]未采用基于预定义几率在两种遮蔽模式间做出选择的方式(如同GLM那样),而是在训练过程中动态地采用了混合遮蔽策略。这种策略使得模型能够在预训练阶段根据需要灵活地在词性级别的遮蔽与短语级别之间的遮蔽关系中进行切换(如图5所示)。

当时间点t达到特定条件时,E-BERT[40]切换到词级掩蔽模式;相反地,在这种情况下会进入短语掩蔽模式。其中r是在每次迭代过程中随机生成的一个数值参数。每一轮迭代都会分别计算并综合这两种掩蔽模式下的损失函数值。

来跟踪学习到的词级信息和短语级信息的拟合进度,分别用

表示。进一步利用词级掩蔽相对于短语级掩蔽的相对重要性

如图1所示,在当前迭代过程中损失较高的模式将更容易被选中于下次迭代过程

由此可知,E-BERT通过其自适应机制实现了在两种掩蔽模式之间的切换,并在此过程中实现了动态平衡。

若干基于KEPLM的技术通过将与知识相关的预训练任务融入其中以实现隐含的知识整合,如图6所示

KALM[99]通过实体信号增强了输入序列的信息量,并在此预训练目标中增加了实体预测任务以促进模型更好地学习实体信息。
KEPLER[88]引入了知识嵌入预训练任务,并在此基础上共同使用了一个Transformer Encoder以实现文本增强的知识嵌入和知识增强的plm。
Vokenization[97]提出了voken(可视化令牌)这一概念;它通过引入语音分类任务来预测每个标记对应的图像,并利用这些图像进一步增强了模型的能力。这种方法已被证明能够有效提升某些自然语言处理下游的任务表现。

4.2 Explicit Incorporation of Knowledge

plm显式集成外部知识的主要途径有三种:通过引入额外的输入信息、建立专门的知识融合模块以及开发外部数据接口。前两种方式均通过在模型中添加额外的信息源来实现相关知识的注入(如图7和图8所示)。第三种方式则实现了文本与知识空间的分离,并由此促进后续的知识更新

4.2.1 !!!!Modifying the Model Input

一定数量的keplm在预训练阶段通过在模型输入中融入相关知识三元组或实体描述的方式完成这一过程

采用多种策略将知识以三元组的形式进行整合和共享。ERNIE 3.0[91]通过在输入文本前添加相关三元组信息作为扩展性输入供模型处理。K-BERT[69]则在每个句子中注入相关三元组数据,并构建一个基于这些信息生成的树状结构作为模型输入方式。具体而言,在包含实体"apple"的输入中,K-BERT[69]会从知识图中检索头部实体为"apple"的所有相关三元组,并将这些关系及尾部实体附加到"apple"节点上,从而生成新的树状结构作为辅助输入。为了控制知识噪声水平,研究者设计并创建了一个可见矩阵来监测和管理这一过程中的噪声引入情况。随后,Zhang等[11]对K-BERT模型进行了优化改进,进一步降低了引入的知识噪声量。CoLAKE[89]则直接在输入文本中融入了大量知识三元组,并将其视为一个完整的全连接词图,通过整合知识形成更加丰富的语义网络来进行处理工作,其灵感来源于K-BERT技术的发展思路,并在减少知识噪声方面做出了相应改进工作。对于问答系统任务,Bian等[92]提出了一种创新的方法:他们将与查询问题相关的多个知识性三元组按照预先定义的模板转换为辅助文本信息,并将这些辅助文本与问题陈述及备选答案一并输入到模型中进行训练学习,该方法在常识问答领域取得了令人满意的实验效果。然而需要注意的是,以上所有依赖于引入外部知识进行信息整合的方法都有可能破坏原有句子的原有语义结构特征,因此在整个整合过程中我们必须时刻注意并尽量减少由于引入外部知识所带来的潜在负面影响或干扰因素影响程度

另外还有多种方法致力于将知识以 entity 形式整合. Dict-BERT利用Wiktionary资源提取生僻词定义并附加在句尾. 同样地,DKPLM则侧重于长尾 entity 并通过相关三元组引入伪令牌表示替代其嵌入. 与之不同的是WKLM采用相同类型的其他 real entity 代替文本中的现有 entity. 接着要求 model 识别哪些替换后的 entity 正确以及哪些被错误替换. 该 method 通过仅修改预训练阶段的 input data 来实现功能.

该研究提出了一种改进方法,在模型输入中融入实体知识(如图8所示)。具体而言,在处理每个输入句子时,默认将其视为一个完全连通的网络结构(即每两个节点之间都存在一条边)。研究者将这些句子中的实体信息作为关键节点,并构建了一个子图(其中以该关键节点为核心,在知识库中形成三元组关系),从而获取相关实体的信息特征。随后将这些新增的知识点追加至原始文本尾部,并同步投入预训练过程。在这一过程中,研究者还对不同类型的节点进行了差异化初始化处理:包括词性标记节点、实体识别节点以及关系连接节点等三种类型。通过与传统BERT方法相比(即未整合实体知识的方法),该改进方案在执行关系分类任务时实现了5.2%的提升效果

DKPLM[101]定义了长尾实体的概念,其代表的是模型未能充分从语料库中学习到的部分 entities. 在预训练阶段对这类 long-tail entities 进行重点学习,有助于提升模型对 semantic relations 的理解,从而进一步提升语言表达能力. 为此本研究引入了一种名为 KLT 的方法用于识别这类 long-tail entities:我们假设在任何给定句子中得分低于 average 的那些 entities 即被视为该句子中的 long-tail entities. 具体而言,在计算过程中我们采用以下公式:

这三个指标分别代表实体在语料库中的出现频率、语义重要性以及其在知识图谱中一定跳跃次数内的关联节点数量。如图9所示,在文本检测到的长尾实体嵌入基础上替换了伪令牌嵌入作为模型的新输入来源。这些伪令牌嵌入是通过知识图谱中的相关三元组与实体描述按照特定编码方式进行构建的。研究结果表明,在处理 entities classification 和 relation classification 任务时, DKPLM[101] 的表现优于 RoBERTa[103] (提升了 2.1% 在 entities classification 方面以及 2.87% 在 relation classification 方面), 这证明了将 long-tail entities information 整合进 PLM 能够提升语言表达能力和模型性能。

4.2.2 !!!!Adding Knowledge Fusion Modules

不同于上一节介绍的方法, 本节所介绍的方法均涉及不同模态空间的融合. 具体而言, 文本与知识模态之间的编码存在差异, 并新增了一个模态融合模块. 如图所示, 这类知识融合模块主要分布在三个关键区域:

(a)在整个PLM上,
(b)在各个Transformer层之间,
(c)在各个Transformer层内部

如图10(a)所示的方法可以划分为两大类。其中一类是以T-K架构为基础的ERNIE系列方法[67]。该架构通过实体嵌入整合知识体系:T-Encoder处理后紧接着是K-Encoder,在此架构基础上发展起来的各种BERTMK模型在获取实体嵌入时存在显著差异。其中大多数BERTMK模型在学习知识空间中的实体嵌入时充分考虑了节点间的相互作用关系及丰富的语义信息。然而研究者们发现传统的基于三元组训练的ERNIE模型在获取实体嵌入时存在不足即其无法根据具体文本语境动态调整实体表示以捕捉到更丰富的语义特征。为此他们提出了一种改进型的方法CokeBERT该方法通过引入更多与文本相关的节点信息来动态优化实体嵌入进而克服上述不足实现了更好的语义表示效果

第二类方法是在预训练语言模型(PLM)之后附加其他知识融合结构的一种实现方式。KEPLM通过采用注意力机制来整合文本信息与知识模式这一特点而受到关注[104]。研究表明,JointLK[14]通过设计一种双向互动机制,使得每个问题令牌能够参与到KG节点中去,同时每个KG节点也能够参与到相应的问题令牌中,从而实现了两种模态表示之间的多轮交互更新与融合优化.KET[46]则创新性地引入分层自注意力机制,将情感知识有机地融入到文本表示之中.值得注意的是,Liu等人在文献[93]中提出了一种基于上下文编码的技术框架,该方法通过对相关三元组进行编码处理后,再结合门控机制将其有效地整合到原始文本嵌入表示中.此外,还有许多基于交互节点设计的工作值得借鉴.这些研究均强调了通过引入交互节点模块来进行不同模态间的协同学习的重要性.特别值得一提的是,QA-GNN[12]正是基于这种思路构建了一个跨模态信息整合框架,将其应用于常识性问答任务取得了显著成效.在此启发下,GreaseLM[13]进一步提出了一种双模态交互式模型架构:在每种模态中分别设计独立的知识表示模块,并通过中间层的交互节点模块来进行信息传递与特征提取,最终达到优化另一种模态表示的目的.具体架构如图11所示.

图10 (b)所示的方法是在PLM的Transformer编码器层之间增加了知识融合模块。将知心BERT[68]应用于Transformer编码器块之间的连接处,并对相关实体的知识进行了整合。该方法特别关注ERNIE未能处理的一种常见语义模糊现象:对于同一实体在不同语境中可能具有不同语义的情形,在整合其知识时应依据其实体意义进行处理。JAKET[105]则采用了编码器-解码器架构,在其编码器与解码器之间设置了独立的知识融合模块,并通过多头图注意力机制将知识子图中的信息融入到文本表示中。具体而言,在文本经过编码器前六层处理后(即生成其对应的实体嵌入表示),随后将其输入到模型后六层进行后续训练,并通过正向传播机制,在知识空间与文本空间之间实现了相互促进的关系建立

图10 (c)所展示的方法则是在Transformer层中增加了融合模块。例如,在Transformer块层中插入了一个知识融合模块的方法源自KALA[94]。其灵感来源于调制的思想即利用知识空间中的知识去调节文本空间中的嵌入。一些方法则会考虑到知识图中实体及其上下文信息比如BERT-MK[32];另一些则基于文本上下文对实体邻居节点进行过滤后再进行嵌入处理。在每个实体位置上加入相应的实体嵌入表示后输入到模型的最后六层以便于后续训练过程。这样可以实现两者的相互循环强化以促进更好的表征学习效果

如图10 (c)所示,在Transformer层中加入了一个融合模块。例如,在KALA[94]的研究中,在Transformer块层中插入了知识融合模块。其灵感来源于调制的概念,并非直接使用信息传递的方式而是利用了知识空间中的信息来调节文本空间中的嵌入过程。通过这种方式在系统中引入 knowledge fusion module 更加直观,并且整合后的 information 主要采用 entity 表示形式。此外,在一些方法中

全部评论 (0)

还没有任何评论哟~