KE_TG

作者: 992134d3a7cd | 来源:发表于2022-02-21 02:50 被阅读0次

[TOC]

文本生成任务的基本定义

从给定的输入序列生成预期的输出序列,称为序列到序列 (Seq2Seq)。 Seq2Seq 任务和模型于 2014 年首次引入 [117]。
它将输入文本映射到编码器-解码器方案下的输出文本。
编码器将输入序列映射到固定大小的向量,
解码器将向量映射到目标序列。

已经在深度神经编码器-解码器架构下提出了各种文本生成模型。
流行的架构包括循环神经网络 (RNN) 编码器-解码器,
卷积神经网络 (CNN) 编码器-解码器 ,
Transformer 编码器-解码器

仅输入文本包含的知识有限,生成的性能仍然远远不能令人满意。

例如,在对话系统中,仅以输入文本为条件,文本生成系统通常会对语料库 中的常用词或短语产生琐碎或不明确的响应,
机器会倾向于生成一些较为常见而缺少具体含义的语句,
例如给定输入文本“我的皮肤太干了”, 生成得到“我也是”。或“天哪!”。与知识丰富的人类反应相比,这些平凡的反应缺乏有意义的内容。

相比之下,人类不断地从更广泛的来源获取、理解和存储知识。
例如,在对话中,人们往往先从相关话题(如运动、美食)中选择概念,然后将这些话题组织成可理解的内容进行回应;
对于摘要,人们倾向于编写包含输入文档中使用的关键字的摘要,并进行必要的修改以确保语法的正确性和流畅性;
在问答(QA)中,人们使用与问题相关的常识或专业知识来推断答案。
因此,通常需要输入序列之外的知识来生成信息丰富的输出文本。

什么是知识增强文本生成?

一般来说,知识是围绕特定主题的熟悉度、意识或理解。
在 NLG 系统中,知识是对输入文本及其周围上下文的认识和理解。
这些知识来源可以分为内部知识和外部知识。
内部知识创造发生在输入的文本,包括但不限于关键字、主题、语言特征和内部图结构。

外部知识获取自外部来源,包括但不限于知识库、外部知识图谱和基础文本。 这些来源提供的信息(例如,常识三元组、主题词、评论、背景文档)可以通过各种神经表示学习方法用作知识,然后应用于增强文本生成过程。 此外,知识为具有显式语义的模型引入了可解释性。 这种将知识融入文本生成的研究方向被称为知识增强文本生成。

问题定义 1(知识增强文本生成)。
给定一个文本生成问题,其中系统有一个输入序列𝑋,旨在生成一个输出序列𝑌。 假设我们还可以访问表示为 𝐾 的其他知识。
知识增强文本生成,旨在结合知识 𝐾 ,利用给定 𝑋 ,来更好地生成Y。

在对话系统中,主题感知的 Seq2Seq 模型有助于理解输入序列的语义,并生成信息量更大的响应,例如“然后滋润和滋润你的皮肤”。在上述示例中输入“我的皮肤太干了”。

在摘要中,当与同一实体相关的复杂事件可能跨越多个句子时,知识图产生结构化摘要并突出相关概念的接近性。知识图增强的 Seq2Seq 模型生成的摘要能够正确回答 10% 以上的主题相关问题 。

在问答 (QA) 系统中,存储在知识库中的事实完成了问题中缺失的信息并详细说明了细节以促进答案生成 [30, 48]。

在故事生成中,使用从知识图谱中获得的常识知识有助于理解故事情节,并更好地逐步叙述后续情节,因此每一步都可以反映为知识图谱上的一个链接,整个故事就是一条路径。

知识增强文本生成的Challenges

第一个挑战,如何从不同来源获得有用的相关知识。

从主题、关键字、知识库、知识图谱和基于知识的文本中发现知识的工作越来越多。

我们调查的主要内容分为两部分:
(1)将知识整合到文本生成中的一般方法(第 2 节);
(2)根据不同的知识增强来源的具体方法和应用(第3-4节)。

我们首先将现有的知识增强文本生成工作分为两类:
内部知识增强和外部知识增强文本生成。

第二个挑战,如何有效地理解和利用获得的知识来促进文本生成。

已经探索了多种方法来改进编码器-解码器架构
(例如,注意力机制、复制和指向机制)。attention mechanism, copy and pointing mechanism).

我们对最近的知识增强文本生成方法进行分类,我们讨论了 2016 年或之后发表或发布的 80 多篇论文中提出的 7 个主流应用程序。

将知识整合到文本生成中的一般方法

早期使用:
基于RNN的编码器-解码器框架,如 RNN Seq2Seq
现在应用越来越广泛:
基于CNN 的 编-解码器
基于Transformer 编-解码器

从概率的角度来看,编码器-解码器框架学习可变长度序列上的条件分布,
该可变长度序列以另一个可变长度序列为条件:
𝑃(𝑌 |𝑋) = 𝑃(𝑦 1 , · · · ,𝑦 𝑚 |𝑥 1 , · · · ,𝑥 𝑛 ) = 𝑝(𝑦 𝑡 |𝑋,𝑦 1 , · · · ,𝑦 𝑡−1 ).

编码器
编码器学习将可变长度序列编码为固定长度的向量表示。

RNN 编码器顺序读取输入句子𝑋。
CNN 编码器在顺序窗口中对单词及其周围的单词执行卷积操作。 Transformer 编码器避 是完全依赖自注意机制,来绘制输入中不同标记之间的全局依赖关系𝑋。

我们将它们统一表示为:
(h 1 , h 2 , · · · , h 𝑛 ) = Encoder(e(𝑥 1 ), e(𝑥 2 ), · · · , e(𝑥 𝑛 )),

e(𝑥 𝑖 ) 是 word embedding of word 𝑥 𝑖
h 𝑖 是 基于上下文的hidden representation of 𝑥 𝑖 .

解码器
解码器将给定的固定长度向量表示,解码为可变长度序列。
特别是,解码器在每个时间步生成输出序列的一个token 。
在每个步骤中,模型都是自回归的,
在生成下一个token时使用先前生成的token作为附加输入。

形式上,解码函数表示为:

s 𝑡 = Decoder(s 𝑡−1 , e(𝑦 𝑡−1 ))
𝑝(𝑦 𝑡 |𝑦𝑡−1,𝑦𝑡−2, · · · ,𝑦 1 ) = Readout(s 𝑡 ),

其中 Readout(·) 是一个非线性的多层函数,用来输出 𝑦 𝑡 的概率。

优化
生成过程被视为一个序列化的多标签分类问题,它可以通过负对数似然(NLL)损失直接优化。
因此,通过最大似然估计 (MLE) 生成文本模型的目标被表述为:
L 𝑁𝐿𝐿 (𝜃) = − log𝑝 𝜃 (𝑌 |𝑋) = − log (𝑝 𝜃 (𝑦 𝑡 |𝑦 <𝑡 ,𝑋)) .

KE 模型架构

在神经网络的背景下,几种通用的神经架构被广泛使用和定制,以将有关正在解决的问题的知识融入模型中。

注意力机制

在编码器和解码器 [3] 中捕获每个时间步的权重是很有用的。
在解码阶段,添加了上下文向量 c 𝑡,因此隐藏状态 s 𝑡 为:
s 𝑡 = Decoder(s 𝑡−1 , e(𝑦 𝑡−1 ), c 𝑡 )

与上面等式(3) 不同,
这里的概率,取决于目标词 𝑦 𝑡 的不同上下文向量 c 𝑡,
而 c 𝑡 取决于输入序列 映射得到的 隐藏状态 H = {h 𝑖 } 𝑖=1 𝑛 的序列。

在 RNN-Seq2Seq 解码器中,c 𝑡 被计算为 {h 𝑖 } 𝑖=1 𝑛 的加权和:

在 Transformer 解码器中,
在编码器的两个子层之上,
解码器插入了第三个子层,
该子层对编码器堆栈 H 的输出,执行多头注意力。
transformer 的有效实现使用缓存的历史矩阵 S 𝑡 生成下一个token。

为了与 RNN-Seq2Seq 进行比较,我们使用循环符号总结了 Transformer 解码器:
S 𝑡 = Transformer-Decoder(S 𝑡−1 , e(𝑦 𝑡−1 ), H),

其中
S 𝑡 = [(K 𝑡 (1) , V 𝑡 (1) ), · · · , (K 𝑡 (𝑙) , V 𝑡 (𝑙) )],
(K 𝑡 (𝑖) , V 𝑡 (𝑖) ) ) 对应于从 0 到 𝑡 的所有时间步生成的第 𝑖 层的键值对。
我们不使用具体的名字,而使用 Encoder(·) 和 Decoder(·) 来表示编码器和解码器。

Knowledge-related attention 知识关联的注意力
注意力机制已被广泛用于将知识表示纳入最近的知识增强 NLG 工作中。
总体思路是通过将隐藏上下文向量 (c 𝑡 ) 和知识上下文向量 (表示为 c 𝑡 𝐾 ) ,组合到解码器更新中来学习知识感知上下文向量 (表示为 ec 𝑡 ),
例如 ec 𝑡 = 𝑓 𝑚𝑙𝑝 (c 𝑡 ⊕ c 𝑡 𝐾 )。

知识上下文向量 (c 𝑡 𝐾 ) 对知识表示(例如,主题向量、知识图中的节点向量)计算注意力。
表 1 总结了各种知识关注,包括关键字关注 [69, 70, 73],主题关注 [79, 134, 139, 152],知识库关注 [34, 48],知识图关注 [54, 63, 151 ],以及基于文本的注意力 [9, 87]。

复制和指向机制

CopyNet 和指针生成器 (Pointer-generator, PG) 用于选择输入序列中的子序列,并将它们放在输出序列中的适当位置。

CopyNet 和 PG 具有可微分的网络架构。
他们可以很容易地以端到端的方式进行训练。
在 CopyNet 和 PG 中,生成 target token的概率是生成模式和复制模式这两种模式的概率的组合。
首先,它们代表全局词汇表 V 和source序列 V 𝑋 的词汇表中的唯一tokens。 他们构建了一个扩展的词汇表 V ext = V ∪ V 𝑋 ∪ {unk}。
CopyNet 和 PG 之间的区别在于计算扩展词汇表上的分布的方式。 CopyNet 通过以下方式计算分布
𝑝(𝑦 𝑡 ) = 𝑝 𝑔 (𝑦 𝑡 ) + 𝑝 𝑐 (𝑦 𝑡 ),

其中𝑝𝑔(·|·)和𝑝𝑐(·|·)代表生成模式和复制模式的概率。
不同的是,PG 显式计算生成模式和复制模式之间的切换概率𝑝 𝑚。
它循环使用注意力分布作为副本分布。

V ext 上的分布由下式计算
𝑝(𝑦 𝑡 ) = 𝑝 𝑚 (g) · 𝑝 𝑔 (𝑦 𝑡 ) + (1 − 𝑝 𝑚 (g)) · 𝑝 𝑐 (𝑦 𝑡 ),
其中𝑝 𝑚 (g) 表示选择生成模式的概率,它是通过非线性多层 (MLP) 函数获得的。
重要的是,CopyNet 和指针生成器网络已被用作许多知识增强 NLG 工作的基础模块。

知识相关模式 Knowledge-related mode
知识相关模式,选择获得的知识中的子序列,并将它们放在输出序列中的适当位置。 它帮助 NLG 模型生成不包含在全局词汇表 (V) 和输入序列 (V𝑋) 中的单词。
例如,通过添加知识库模型,扩展词汇表(V𝑒𝑥𝑡)从知识库中添加实体和关系,即 V𝑒𝑥𝑡 = V + V 𝑋 + V 𝐾𝐵。 生成目标令牌的概率是三种模式的概率的组合:生成模式、复制模式和知识库模式。 因此,知识相关模式不仅可以有规律地生成词,而且可以在知识源中产生适当的子序列。 表 1 总结了不同类型的知识相关模式,如主题模式 [139]、关键字模式 [70]、知识库模式 [48]、知识图模式 [151, 159] 和背景模式 [87, 107]。

记忆网络

记忆网络 (MemNNs) 是在可能较大的外部记忆上的循环注意模型 [116]。
他们将外部记忆写入几个嵌入矩阵,并使用查询(一般来说,输入序列𝑋)向量重复读取记忆。 这种方法对长对话历史进行编码并记住外部信息。

给定要存储在内存中的输入集 {𝑚 1 , · · · ,𝑚 𝑖 }。
MemNN 的记忆由一组可训练的嵌入矩阵 C = {C 1 , · · · , C 𝐾+1 } 表示,其中每个 C 𝑘 将标记映射到向量,以及一个查询(即输入序列)向量 h 𝑘 𝑋用作阅读头。 该模型在 𝐾 跃点上循环,并使用以下方法计算每个内存 𝑚 𝑖 在跃点 𝑘 的注意力权重:
p 𝑖 𝑘 = softmax((h 𝑘 𝑋 ) ⊤ C 𝑖 𝑘 ),

其中 C 𝑖 𝑘 = C 𝑘 (𝑚 𝑖 ) 是第 𝑖 位置的记忆内容,即将𝑚 𝑖 映射到记忆向量中。 这里,p 𝑘 是一个软内存选择器,它决定与查询向量 h 𝑘 𝑋 的内存相关性。 然后,模型通过 C 𝑘+1 上的加权和读出内存 o 𝑘,

然后,使用 h 𝑘+1 𝑋 = h 𝑘 𝑋 + o 𝑘 为下一跳更新查询向量。 编码步骤的结果是记忆向量 o 𝐾 并成为解码步骤的输入。

知识相关的记忆
内存增强编码器-解码器框架在许多 NLG 任务中取得了可喜的进展。 例如,MemNN 被广泛用于对面向任务的对话系统中的对话历史进行编码 [106, 135]。 这样的框架使解码器能够在生成期间从存储器中检索信息。 最近的工作探索了使用记忆网络对外部知识进行建模,例如知识库 [82, 144] 和主题 [34, 158]。

图网络

图网络通过图节点之间的消息传递来捕获图的依赖关系。 图神经网络 (GNN) [138] 和图到序列 (Graph2Seq) [6] 有助于弥合图表示学习和文本生成之间的差距。 知识图、依赖图和其他图结构可以通过各种 GNN 算法集成到文本生成中。 这里我们将图表示为 G = (U, E),其中 U 是实体节点的集合,E 是(类型化的)边的集合。 现代 GNN 通常遵循邻域聚合方法,该方法通过聚合来自其相邻节点和边缘的信息来迭代更新节点的表示。 在聚合的 𝑘 迭代之后,节点表示捕获其 𝑘 跳邻域内的结构信息。 形式上,节点 𝑢 ∈ U 的第 𝑘 层是:

应用
图网络已普遍用于将知识集成到图结构中,例如知识图和依赖图。 图注意力网络[123]可以与序列注意力相结合,共同优化[151, 159]。 我们将在后续章节中介绍不同的图结构知识,例如知识图谱(4.2 节)、依赖图(3.3.2-3.3.3 节)和开放知识图谱(OpenKG)(3.4 节)。

预训练语言模型

预训练语言模型 (PLM) 旨在通过对大规模未标记语料库进行自我监督训练来学习通用语言表示。最近,BERT [25] 和 T5 [104] 等大量 PLM 在各种 NLP 下游任务中取得了显着的性能。但是,这些 PLM 在执行知识密集型任务时会遇到两个问题。首先,这些模型难以掌握结构化的世界知识world knowledge,例如概念和关系,这在语言理解中非常重要。例如,BERT 无法在许多常识推理和 QA 任务上提供出色的性能,其中许多概念直接链接到常识知识图 [146]。其次,由于预训练和微调之间的领域差异,这些模型在特定领域的任务上表现不佳。例如,BERT 在医疗领域处理电子病历分析任务时无法充分发挥其价值 [78]。

最近,人们在研究如何将知识整合到 PLM 中做出了很多努力 [45、78、80、140、146、161]。具体来说,我们将介绍一些专为 NLG 任务设计的 PLM。总体而言,这些方法可以分为两类:第一类是将实体表示显式注入 PLM,其中表示是从外部源预先计算的 [80, 155]。例如,KG-BART 使用 TransE [11] 等知识嵌入算法对 KG 的图结构进行编码,然后将信息实体嵌入作为辅助输入 [80]。然而,将实体表示显式注入 PLM 的方法被认为是文本中单词的嵌入向量和 KG 中的实体的嵌入向量是通过不同的方式获得的,这使得它们的向量空间不一致 [78]。第二个是通过执行与知识相关的任务将知识信息隐式建模到 PLM 中,例如概念顺序恢复 [161]、实体类别预测 [146]。例如,CALM 提出了一种新的对比目标,用于将更多常识知识打包到参数中,并联合预训练生成和对比目标以增强常识 NLG 任务 [161]。

KE 的 学习与推理

除了专门的模型架构之外,将知识注入生成模型的一种常见方式是通过监督知识学习。
例如,可以将知识编码为目标函数,指导模型训练以获取所需的模型行为 [27, 61]。 通过将不同类型的知识表达为特定形式的目标,这些方法具有整合不同类型知识的灵活性。 一般来说,知识增强学习与模型架构无关,可以与上述架构相结合。

学习与知识相关的任务

根据知识设计学习任务,以便训练模型以获取知识信息。

知识作为目标
这些方法主要可以分为两类,如图3所示。
第一类知识相关任务基于知识创建学习目标,并训练模型以恢复目标。
这些任务可以作为辅助任务与文本生成任务相结合,从而形成多任务学习设置。
例如,知识损失被定义为预测和真实知识句子之间的交叉熵,它与标准对话生成损失相结合以增强基础对话[27, 61]。类似的任务包括关键字提取损失 [70]、模板重新排序损失 [13、129]、知识图谱上的链接预测损失 [57]、路径推理损失 [81]、模式损失 [137、159]、bag-of- word (BOW) loss [74, 143] 等。
第二类方法直接从知识中导出文本生成目标,并在标准文本生成任务中使用这些(通常是嘈杂的)目标作为监督。这种方法称为弱监督学习。弱监督学习加强了知识和目标序列之间的相关性。例如,在基于方面的摘要问题中,工作[118]根据外部知识库自动创建目标摘要,用于以监督方式训练摘要模型。

知识作为条件
设计知识相关任务的第二种方法是通过以知识为条件生成来增强文本生成任务。也就是说,目标是学习一个函数𝑝𝜃(𝑌|𝑋,𝐾),其中𝑋是输入序列,𝑌是目标文本,𝐾是知识。
一般来说,知识𝐾首先是从外部给出的(例如,风格、情感)或从外部资源中检索(例如,来自知识库的事实、来自维基百科的文档)或从给定的输入文本(例如,关键字、主题词)中提取。
其次,使用条件文本生成模型来整合知识并生成目标输出序列。在实践中,知识通常通过注意力机制 [3] 和复制/指向机制 [43, 109] 等软执行算法来补救。以知识为条件广泛应用于知识增强文本生成。
例如,通过考虑角色[154]和情感[158],控制响应的各个方面,例如礼貌[96],将响应建立在外部知识来源[27, 42, 159] 并生成主题连贯序列 [119, 143]。此外,使用变分自动编码器 (VAE) 来强制执行以知识为条件的生成过程是无监督 NLG 的一种流行方法。通过操纵某些属性的潜在空间,例如主题 [132] 和风格 [50],可以生成具有所需属性的输出序列,而无需使用并行数据进行监督。

有知识约束的学习

知识增强学习的另一种范式不是在封装知识的独立任务中创建培训目标,而是将知识视为约束以规范文本生成培训目标。

后验正则化 (PR) 框架被提出来限制模型后验在未标记数据上的空间,以此来引导模型朝着期望的行为方向发展 [35, 164]。 PR 已被用作一个原则框架,通常对概率模型(包括深度网络)施加知识约束 [51, 153]。 PR 使用约束项来增强任何常规训练目标 L(𝜃)(例如,负对数似然,如等式(5)中的)以编码相关知识。形式上,将约束函数表示为 𝑓 (𝑋,𝑌) ∈ R,使得 𝑓 (𝑋,𝑌) 值越高,表示生成的序列 𝑌 包含了知识。 PR 引入了一个辅助分布 𝑞(𝑌 |𝑋),并通过鼓励较大的预期 𝑓 (𝑋,𝑌) 值对 𝑞 施加约束:E𝑞[𝑓 (𝑋,𝑌)]。同时,鼓励模型𝑝𝜃通过KL散度项保持接近𝑞。因此,学习问题是一个有约束的优化:

具有知识约束的推理。

预训练的语言模型利用大量未注释的数据和简单的对数似然训练目标。
如果我们不修改模型架构以允许外部输入知识或使用特定数据进行微调,那么在预训练模型中通过特定知识控制语言生成是很困难的 [24]。
即插即用语言模型 (PPLM) 开辟了一种在推理过程中利用特定知识控制语言生成的新方法。 在推理过程的每个生成步骤中,PPLM 将历史矩阵沿两个梯度之和的方向移动:一个朝向条件属性模型 𝑝(𝑎|𝑌) 下属性 𝑎 的更高对数似然性,另一个朝向更高对数似然性 未修改的预训练生成模型𝑝(𝑌|𝑋)(例如,GPT)。 具体来说,属性模型𝑝(𝑎|𝑌) 对 ΔS 𝑡 进行基于梯度的更新,如下所示:

内部知识增强 的 NLG

NLG Enhanced by Topic

Topic 可以被认为是文本的代表或压缩形式,经常被用来保持语义连贯性和指导 NLG 过程。主题建模是一种强大的工具,用于以潜在主题 [10] 的形式查找文档集合的高级内容。一个经典的主题模型,潜在狄利克雷分配(LDA),已被广泛用于推断捕获单词和文档的潜在语义的低维表示[10]。在 LDA 中,每个主题被定义为单词的分布,每个文档被定义为主题的混合分布。 LDA根据文档的主题分布和主题的词分布生成文档中的词。
神经技术的最新进展开辟了一种从词预测和上下文预测任务中学习词的低维表示的新方法,使神经主题模型成为从文本中寻找潜在主题的流行选择 [12, 47]。

接下来,我们介绍通过主题增强的流行 NLG 应用:

对话系统
Seq2Seq 通常会在语料库中生成常用词或短语的琐碎或不明确的句子 [139]。 例如,聊天机器人可能会经常说“我不知道”、“我知道”。 尽管这些离题的回复可以安全地回复许多查询,但信息很少,它们很无聊。 这样的响应可能会很快导致对话结束,严重损害用户体验。 因此,非常需要生成主题响应。

机器翻译
尽管输入和输出语言不同(例如,将英文翻译成中文),但内容是相同的,并且在全球范围内,在同一主题下。 因此,主题可以作为一种辅助引导,将一种语言的输入文本的语义信息保存到另一种语言的输出文本中。

释义
主题信息在一定程度上有助于理解潜在含义并确定语义范围。 自然,释义涉及同一主题,可以作为辅助指导,促进源语义的保存。

我们将主题增强 NLG 方法总结为三种方法:
(M1)利用生成主题模型中的主题词;
(M2) 联合优化生成模型和CNN主题模型;
(M3) 通过具有变分推理的神经主题模型增强 NLG。

M1:利用生成主题模型中的主题词。
主题有助于理解句子的语义,并在一定程度上确定语义谱。
为了增强文本生成,一个有效的解决方案是首先使用生成主题模型(例如 LDA)发现主题,然后将主题表示合并到神经生成模型中,如图 4(a)所示。在现有工作中,有两种主流方法来表示从生成主题模型中获得的主题。第一种方法是为输入序列中的每个词使用生成的主题分布(即主题上的词分布)[94, 152]。第二种方法是将特定主题分配给输入序列,然后选择该主题下概率最高的 top-𝑘 词,并使用词嵌入(例如 GloVe)来表示主题词 [79, 139]。显式使用主题词可以带来比主题分布更强的引导,但是当某些生成的主题词不相关时,引导可能会偏离目标输出序列。张等人。通过将主题分布与编码器和解码器隐藏状态连接起来,提出了使用主题通知 Seq2Seq 模型的第一项工作[152]。邢等人。设计了一个主题感知的 Seq2Seq 模型,以使用主题词作为先验知识来帮助对话生成 [139]。

M2:联合优化生成模型和CNN主题模型
LDA 模型与神经生成模型的训练过程分离,无法适应输入和输出序列之间依赖关系的多样性。 因此,解决这个问题的想法是使用神经主题模型。 卷积神经网络 (CNN) 用于通过迭代卷积和池化操作来学习潜在主题表示。 人们越来越关注使用 CNN 将潜在主题隐式映射到可用于增强文本生成任务的主题向量 [36, 134]。 实证分析表明,基于卷积的主题提取器在多种应用(例如对话系统、文本摘要、机器翻译)中的表现优于基于 LDA 的主题模型。 但是,缺少理论分析来确保卷积捕获的主题的质量。 并且它们的可解释性不如基于 LDA 的主题模型令人满意。

M3:通过具有变分推理的神经主题模型增强 NLG
神经主题模型可以通过反向传播[12]有效地训练。在神经主题模型中,可以使用 Dirichlet 分布作为先验,为每个文档 [89] 生成多项分布的参数𝜃 𝑑。 LDA 的生成过程表示为: (1) 𝜃 𝑑 ∼ Dirichlet(𝛼); (2) 𝑡 𝑖 ∼ 多项式(𝜃 𝑑 ); (3)𝑤𝑖∼多项式(𝛽𝑡𝑖),其中𝑑表示文档的词袋表示,𝑡𝑖表示单词𝑤𝑖的主题分配,𝛽𝑡𝑖表示给定主题的单词上的主题分布作业𝑡𝑖。然而,定向生成模型遇到了建立低方差梯度估计器的问题。苗等人。用神经网络参数化多项分布,并通过变分推理联合学习模型参数[89]。他们创建了神经结构,用于构建以多元高斯分布为条件的主题分布,表示为 𝜃 𝑑 ∼ G(𝜇 0 , 𝜎 0 2 ),其中 G(𝜇 0 , 𝜎 0 2 ) 由一个有条件的神经网络组成在各向同性高斯 N(𝜇 0 , 𝜎 0 2 ) 上。采用高斯先验分布使得重新参数化可以为变分分布构建无偏且低方差的梯度估计器 [26]。在没有共轭先验的情况下,参数的更新直接且容易地从变分下限推导出来。形式上,文档对数似然的变分下限是:

不同方法的讨论和分析
对于 M1,主题模型(例如 LDA)具有严格的概率解释,因为单词和文档的语义表示被组合成一个统一的框架。此外,主题模型可以很容易地使用并集成到生成框架中。例如,主题词可以表示为词嵌入;主题嵌入可以通过主题注意力集成到解码阶段。然而,LDA 模型与生成的训练过程是分离的,因此它们不能适应输入和输出序列之间依赖关系的多样性。

对于 M2,它是一个端到端的神经框架,可以同时学习潜在主题表示并生成输出序列。卷积神经网络 (CNN) 通常用于通过迭代卷积和池化操作生成潜在主题。但是,缺少理论分析来确保卷积捕获的主题的质量。而且它们的可解释性不如基于 LDA 的主题模型。

对于 M3,神经主题模型结合了神经网络和概率主题模型的优点。它们支持反向传播以进行联合优化,有助于形成更连贯的主题,并且可以扩展到大型数据集。一般来说,神经主题模型可以提供比 LDA 更好的主题连贯性 [12, 132, 143]。然而,神经变分方法具有相同的缺点,即假设主题分布是各向同性的高斯分布,这使得它们无法对主题相关性进行建模。现有的神经主题模型假设文档应该是 i.i.d。采用VAE,而它们通常是相关的。相关性对于主题建模至关重要。

NLG Enhanced by Keywords

关键字(又名,关键短语,关键术语)通常被称为一个或多个单词的序列,提供文档内容的紧凑表示。文档关键词获取的主流方法可以分为两类[112]:关键词分配和关键词提取。关键字分配意味着关键字是从受控的术语词汇表或预定义的分类法中选择的。关键字提取选择文档中明确呈现的最具代表性的单词,它独立于任何词汇表。关键字提取技术(例如,TF-IDF、TextRank、PMI)已被广泛使用了数十年。许多 NLG 任务可以受益于将这种浓缩形式的基本内容合并到文档中,以保持语义连贯性并指导生成过程。

接下来,我们介绍通过关键字增强的流行 NLG 应用:

• 对话系统。关键字有助于启发和驱动生成的回复提供信息,并避免生成带有很少语义的普遍相关的回复。此外,最近的工作将个性化信息引入对话的生成中,以帮助提供更好的对话响应,例如情感 [71, 114, 158] 和角色 [154, 157]。

• 问题生成。 它旨在从给定的答案及其相关上下文中生成问题。 给定一个答案及其相关上下文,就可以提出多个问题,重点关注上下文和各种表达方式。

研究人员开发了一系列关键字增强 NLG 方法。 这些方法可以分为两种方法:
(M1)将关键字分配结合到文本生成中
(M2) 将关键词提取结合到文本生成中。

M1:将关键字分配合并到文本生成中
当为输入文档分配关键字时,可能的关键字集由预定义的词汇[112]限定。 关键字分配通常由分类器实现,该分类器将输入文档映射到预定义词汇表中的单词 [23、71、114、158]。 不幸的是,一些 NLG 场景没有适当的预定义词汇表,因此关键字分配不能广泛用于增强 NLG 任务。 一种适用的场景是使用预先确定的领域特定词汇表来保持输入和输出序列之间的相关性 [23]。 另一种情况是生成具有特定属性的对话,例如角色 [113、143]、情感 [71、114、158]。

M1.1:将分配的关键字添加到解码器中
关键字分配的一种直接方法是从预定义的词汇表中分配单词并将它们用作关键字 [113, 143]。有时,输入序列没有明确的关键字,但我们可以从预定义的词汇表中找到一个。例如,对话语句“如果你那天阻止了他,情况就会不同。”表示悲伤,但没有“悲伤”这个词。为了解决这个问题,Li 等人。提出了一种通过将来自编码器的隐藏状态总和拟合到分类器中来预测情绪类别的方法 [71]。然后,将在情感类别的指导下生成响应。为了动态跟踪生成的序列中表达了多少情感,Zhou 等人。提出了一个记忆模块来捕捉解码过程中的情绪动态[158]。在解码阶段开始之前,每个类别都使用情绪状态向量进行初始化。在每一步,情绪状态都会衰减一定的量。一旦解码过程完成,情绪状态衰减为零,表示情绪已完全表达。

M1.2:为生成的序列分配关键字
正如 [114] 中提到的,明确地结合情感关键词会受到压倒性地表达某种情感的影响。相反,宋等人。建议不是通过明确使用情感词来增加情感体验的强度,而是通过在情感上以不同的方式隐含地结合中性词[114]。具体来说,他们使用情感分类器来构建句子级情感鉴别器,这有助于识别表达某种情感但不明确包含太多文字情感词的反应。鉴别器连接到解码器的末端。

3.2.2 M2:将关键词提取结合到文本生成中
关键词提取从输入文档中选择显着词[112]。最近的工作使用了统计关键字提取技术(例如,PMI [73]、TextRank [69])和基于神经的关键字提取技术(例如,BiLSTM [70])。将提取的关键字合并到生成中的过程很像第 3.2.1 节中讨论的过程。它将关键字作为解码器的附加输入。最近的工作通过添加另一个序列编码器来表示关键字来改进编码阶段 [69, 70]。然后,上下文化的关键字表示与输入序列表示一起被送入解码器。为了推进关键字提取,Li 等人。建议使用多任务学习来训练关键字提取器网络并生成摘要 [22, 70]。因为摘要和关键字提取都旨在从输入文档中选择重要信息,所以这两个任务可以受益于共享参数以提高捕获输入文本要点的能力。在实践中,他们将输入文档和真实摘要之间的重叠词作为关键词,并采用 BiLSTM-Softmax 作为关键词提取器。类似的想法也被用于问题生成任务 [22, 133]。他们使用输入答案上下文和真实问题之间的重叠词作为关键字。

不同方法的讨论和分析
优点和缺点。对于M1来说,关键词分配的主要优势是保证了关键词的质量,因为不相关的关键词不包含在预定义的词汇表中。另一个优点是即使两个语义相似的文档没有共同的词,它们仍然可以分配相同的关键字。但是,主要有两个缺点。一方面,在新域中创建和维护字典的成本很高。因此,字典可能不可用。另一方面,如果文档中出现的潜在关键词不在词汇表中,它们将被不幸地忽略。因此,关键字分配适用于需要特定类别的关键字来指导生成具有这些关键信息的句子的任务。例如,对话系统会产生具有特定态度的响应。

对于 M2,关键字提取选择文档中明确呈现的最具代表性的单词,它独立于任何词汇表。它易于使用,但有两个缺点。首先,它不能保证一致性,因为如果它们不共享相同的词集,相似的文档仍然可能由不同的关键词表示。其次,当输入文档没有合适的代表词,不幸的是,关键词提取器从文档中选择了一个不相关的词作为关键词,这种错误的引导会误导生成。因此,关键词提取适用于输出序列需要在输入序列中保留重要信息的任务,例如文档摘要和释义。

定量分析。
表 3 总结了关键字增强 NLG 工作中使用的任务和数据集。与关键字增强方法(E-SCBA [71])和基本的 Seq2Seq 注意力模型相比,关键字增强方法可以大大提高生成质量(由 BLEU 评估)和情感表达(由情感-w 和情感-s 评估)在 NLPCC 数据集上。此外,如表 3(a) 所示,EmoDS [114] 在三种 M1 方法中取得了最好的性能,这表明将关键字分配作为判别任务可以比在句子解码之前分配关键字有更好的改进。对于 M2 方法,由于大多数方法是在不同的任务上评估的,我们只能比较“不使用关键字”和“使用关键字”之间的性能。如表 3(b) 所示,利用从输入序列中提取的关键字到 Seq2Seq 模型中可以提高摘要和问题生成任务的生成质量。与 KGAS [70] 和 KIGN [69] 相比,我们可以观察到使用 BiLSTM-Softmax 提取关键字(通过使用𝑋和𝑌之间的重叠词作为标签的监督方式)比使用 TextRank(无监督方式)具有更好的性能。

NLG Enhanced by Linguistic Features
语言学特征增强的 NLG

特征丰富的编码器意味着编码器不仅读取输入序列,还包含辅助的手工特征[110、149、160]。语言特征是最常见的手工制作的特征,例如词性 (POS) 标签、依赖解析和语义解析。
3.3.1 POS标签和NER标签。词性标注 (POS) 分配标记标记以指示标记的语法类别和词性,例如名词 (N)、动词 (V)、形容词 (A)。命名实体识别 (NER) 将非结构化文本中提到的命名实体分类为预定义的类别,例如人 (P)、位置 (L)、组织 (O)。
CoreNLP 是最常用的工具 [84]。尽管有同音异义词和构词过程,但相同的表面词形式可能在几种词类型之间共享。结合 NER 标签和 POS 标签可以更好地检测命名实体并理解输入序列,从而进一步改进 NLG [28, 93, 160]。

3.3.2 句法依赖图。句法依赖图是一个有向无环图,表示词之间的句法关系[4]。例如,在句子“猴子吃香蕉”中,“猴子”是谓词“吃”的主语,“香蕉”是宾语。通过利用依赖信息来增强序列表示,可以捕获源长距离依赖约束和不同单词的父子关系 [1, 4, 15]。在 NLG 任务中,依赖信息通常以三种不同的方式建模,如下所示: (i) 线性化表示:线性化依赖图,然后使用序列模型获得语法感知表示 [1]; (ii) 基于路径的表示:根据词与对齐中心位置的线性距离计算注意力权重,即词到依赖图中心位置的距离越大,词对上下文向量是[15]; (iii) 基于图的表示:使用 GNN 从依赖关系中聚合信息 [4]。

3.3.3 语义依赖图。语义依赖图表示句子中内容词之间的谓词-参数关系,并具有基于不同注释系统的各种语义表示方案(例如,DM)。语义依赖图中的节点通过语义角色标记(SRL)或依赖解析提取,并通过不同的语义内和语义间关系[98]连接。由于语义依赖图引入了更高级别的信息抽象,可以捕获相同底层谓词-参数结构的不同实现之间的共性,因此它已被广泛用于改进文本生成 [59,75,98]。金等人。提出了一种语义依赖引导的摘要模型[59]。它们通过堆叠编码器来合并语义依赖图和输入文本,以指导摘要生成过程。堆叠编码器由序列编码器和图编码器组成,其中句子编码器首先通过堆叠的多头自注意力读取输入文本,然后图编码器捕获语义关系并将语义图结构合并到上下文中。级别表示。

开放知识图增强 NLG
对于那些基于输入文本之外的数据构建的 KG(例如 ConceptNet),我们将它们称为外部 KG。 相反,内部 KG 被定义为仅基于输入文本构建的 KG。 在本节中,我们将讨论合并内部 KG 以帮助 NLG [30, 54]。

内部 KG 在理解输入序列方面起着重要作用,尤其是当它很长时。通过构建一个内部 KG 中介,冗余信息可以被合并或丢弃,产生一个基本压缩的形式来表示输入文档 [30]。此外,当与同一实体相关的复杂事件可能跨越多个句子时,KG 上的表示可以产生结构化的摘要并突出相关概念的接近性[54]。构建内部 KG 的主流方法之一是使用开放信息提取 (OpenIE)。与传统的信息提取 (IE) 方法不同,OpenIE 不限于预先知道的一小组目标实体和关系,而是提取输入文本中发现的所有类型的实体和关系[95]。通过这种方式,OpenIE 促进了从文本中提取的关系的领域独立发现,并扩展到大型异构语料库。

获得内部KG后,下一步就是学习内部KG的表示,并将其集成到生成模型中。例如,朱等人。使用图注意力网络(GAT)来获得每个节点的表示,并通过注意力将其融合到基于转换器的编码器-解码器架构中[163]。他们的方法生成具有更高事实正确性的抽象摘要。黄等人。首先使用 GAT 将每个段落编码为子 KG,然后使用 Bi-LSTM [54] 连接所有子 KG。此过程对主题转换和重复进行建模,从而能够识别值得注意的内容,从而有利于总结。

NLG 由外部知识增强
4.1 NLG 由知识库增强 NLG 的最大挑战之一是发现序列内和/或跨输入和输出序列的元素的依赖关系。依赖关系实际上是各种类型的知识,例如常识、事实事件和语义关系。
知识库 (KB) 是一种流行的技术,它为搜索引擎等基于知识的系统收集、存储和管理大规模信息。它有大量由主语、谓语和宾语组成的三元组。人们也称它们为“事实”或“事实三胞胎”。最近,研究人员一直在设计使用知识库作为外部知识的方法,以便更轻松、更快、更好地学习依赖关系。

接下来,我们介绍知识库增强的流行 NLG 应用:

• 问答。通常很难仅根据给定的问题生成正确的答案。这是因为,根据问题要查找的内容,一个好的答案可能有不同的形式。它可以用缺失的信息准确地完成问题。它可能会详细说明问题的某些部分。它可能需要根据一些事实和/或常识进行推理和推理。因此,由于缺乏常识/事实知识[8],仅将输入问题纳入神经生成模型通常会导致任务失败。可以从知识库中检索常识和事实的相关结构化信息。

• 对话系统。知识库在生成对话或对话方面的需求与 QA 相关,但在两个方面有所不同。首先,对话或对话在以“你有什么建议吗? ” 其次,在某个步骤响应话语需要回忆之前的上下文以确定涉及的实体。知识库将在识别长期上下文中的依赖关系方面发挥重要作用。

为了处理 KB 和输入/输出序列之间的不同类型的关系,这些方法可以分为两种方法,如图 5 所示: (M1) 围绕 KB 设计监督任务以进行联合优化; (M2) 通过选择知识库或事实来增强合并。

M1:围绕 KB 设计监督任务以进行联合优化。
获取、存储和表示事实知识的知识库 (KB) 可用于增强文本生成。然而,设计有效的合并以实现所需的增强具有挑战性,因为普通 Seq2Seq 通常无法表示离散的孤立概念,尽管它们在学习平滑共享模式(例如语言多样性)方面表现良好。为了充分利用知识库,我们的想法是在多个任务上联合训练神经模型。例如,目标任务是答案序列生成,附加任务包括知识库中的问题理解和事实检索。可以在统一的编码器-解码器框架设计中共享知识。通常,问题理解和事实检索是相关且有用的任务,因为可以解析问题以匹配(例如,字符串匹配、实体链接、命名实体识别)其主题和谓词与 KB 中的事实三元组的组件,以及答案是三元组的对象。 KBCopy 是第一个使用事实知识库生成响应的工作 [29]。在生成过程中,KBCopy 能够从 KB 中复制单词。然而,直接从 KBs 中复制相关词极具挑战性。 CoreQA 使用复制和检索机制以端到端的方式生成答案序列 [48]。具体来说,它有一个检索模块来理解问题并从知识库中查找相关事实。然后,问题和所有检索到的事实被两个独立的编码器转换为潜在表示。在解码阶段,通过对输入序列和检索到的事实进行联合关注,将集成表示馈送到解码器。图 5(a) 展示了一个通用管道,它首先从 KB 中检索相关的三元组,然后将排名靠前的三元组用于生成过程。

M2:通过选择知识库或知识库中的事实来增强合并。理想情况下,事实的相关性与输入和输出序列相关性是令人满意的,但是在实际情况中并不总是如此。连等人。解决了基于检索模型(例如语义相似性)从知识库中选择相关事实的问题可能无法有效地实现适当的知识选择[74]。原因是不同种类的选定知识事实可用于为相同的输入话语生成不同的响应。给定一个特定的话语和响应对,来自话语和响应的知识库的后验分布可以为知识选择提供额外的指导。挑战在于先验分布和后验分布之间的差异。具体来说,模型仅根据先验分布学习选择有效知识,因此在推理过程中很难获得正确的后验分布。

为了解决这个问题,Lian 等人的工作。 [74]和吴等人。 [137](如图5(b)所示)使用先验分布近似后验分布,以便即使没有后验信息也能选择适当的知识。他们引入了一种辅助损失,称为 KullbackLeibler 散度损失 (KLDivLoss),用于测量先验分布和后验分布之间的接近度。 KLDivLoss 定义如下:
其中𝑁是检索到的事实数。当最小化 KLDivLoss 时,后验分布 𝑝(𝑘|𝑋,𝑌) 可以被视为标签来应用先验分布 𝑝(𝑘|𝑋) 来逼近𝑝(𝑘|𝑋,𝑌)。最后,总损失写为 KLDivLoss 和 NLL(生成)损失的总和。

不同方法的讨论与分析
KB 中的三元组与输入序列之间的相关性在发现用于序列生成的知识方面起着核心作用。 M1 中的方法通常遵循解析输入序列、检索相关事实的过程,随后可以根据输入序列和先前检索到的事实生成知识感知输出。即使通过使用记忆网络[82]对 KB 建模进行了改进,现有的 KG 增强方法仍然无法有效地选择精确的三元组。

M2 的方法改进了事实的选择,其中地面实况响应用作后验上下文知识来监督先验事实概率分布的训练。吴等人。使用精确匹配和召回来衡量检索到的三元组是否用于生成目标输出[136]。表 4 显示了 [136, 137] 中报告的基于 M1 的方法和基于 M2 的方法的实体召回分数。我们观察到,与基于 M1 的方法相比,基于 M2 的方法可以大大提高三重检索的准确性以及生成质量。

KB 增强方法仍然存在挑战。一是检索到的事实可能包含噪声信息,使生成不稳定[61]。这个问题在 NLG 任务中是极其有害的,例如基于 KB 的问答和面向任务的对话系统,因为 KB 中的信息通常是响应中的预期实体。

知识图谱增强的 NLG

知识图谱(KG)作为一种结构化的人类知识,引起了学术界和工业界的极大关注。 KG 是事实的结构化表示(也称为知识三元组),由实体 *、关系和语义描述 [58] 组成。 “知识库”和“知识图谱”这两个术语可以互换使用,但它们不必是同义词。知识图谱被组织为一个图,因此实体之间的连接是其中的一等公民。在 KG 中,人们可以很容易地通过链接来发现实体是如何相互连接来表达某些知识的。人工智能研究的最新进展证明了在推荐系统等各种应用中使用 KG 的有效性 [127]。

接下来,我们介绍通过知识图谱增强的流行 NLG 应用:

• 常识推理。它旨在使机器能够在生成过程中从 KG 中获取人类常识。这些方法利用常识知识图谱的结构和语义信息,并在多跳关系路径上执行推理,以便通过常识推理的证据链来增加有限的信息。常识推理生成中的流行任务包括溯因推理(例如,𝛼NLG 任务)[7, 57]、反事实推理 [56, 57] 和实体描述生成 [21]。

• 对话系统。它经常将 KG 用于链接实体和关系中的语义 [97、121、151、159]。对话可能会将焦点从一个实体转移到另一个实体,从而打破一个话语分成几个片段,可以表示为连接实体及其关系的链接路径。
• 创意写作。这项任务可以在科学和讲故事的领域中找到。科学写作旨在逐步解释自然过程和现象,因此每一步都可以反映为KG上的一个链接,整个解释是一条路径[63, 130]。在故事生成中,KG 中的隐性知识可以促进对故事情节的理解,并更好地预测下一个情节会发生什么[45,46,80]。

与单独的、独立的知识三元组相比,知识图谱为模型提供了全面丰富的实体特征和关系,以克服数据分布的影响,增强其鲁棒性。因此,节点嵌入和关系路径在各种文本生成任务中发挥了重要作用。相应的技术是知识图嵌入(KGE)[131]和基于路径的知识图推理[17]。此外,可以使用新兴的图神经网络 (GNN) [138] 和图到序列 (Graph2Seq) 框架 [6] 在 KG 中编码多跳和高阶关系。

定义 4.1(知识图(KG))。知识图谱(KG)是由被视为节点的实体和关系以及不同类型的边组成的有向多关系图。形式上,KG 定义为 G = (U, E, R),其中 U 是实体节点的集合,E ⊆ U × R × U 是 U 中具有一定关系的节点之间的类型化边的集合架构 R。

然后给定文本生成任务中的输入/输出序列,与序列关联的 KG 子图可以定义如下。

定义 4.2(序列相关的 K-hop 子图)。与序列相关的 K-hop 子图定义为 G 𝑠𝑢𝑏 = (U 𝑠𝑢𝑏 , E 𝑠𝑢𝑏 , R),其中 U 𝑠𝑢𝑏 是通过实体链接函数映射的实体节点集的并集𝜓 : U ×X → U 𝑠𝑢𝑏 和他们在 K-hops 中的邻居。类似地,E 𝑠𝑢𝑏 ⊆ U 𝑠𝑢𝑏 × R × U 𝑠𝑢𝑏 是 U 𝑠𝑢𝑏 中节点之间的类型化边的集合。

与序列相关的子图提供了任务数据(即序列)的图形形式,因此可以将 KG 和序列集成到图算法中。

已经提出了许多方法来学习 KG 语义和输入/输出序列之间的关系。它们可以分为四种方法,如图 6 所示: (M1) 将知识图嵌入融入语言生成; (M2) 将知识转化为具有三元组信息的语言模型; (M3) 通过寻路策略对知识图谱进行推理; (M4) 使用图神经网络改进图嵌入。

M1:将知识图嵌入到语言生成中。知识图嵌入 (KGE) 技术从 KG [131] 中学习节点嵌入。 KGE 旨在从 KG 中实体节点的连接信息(即不同类型的关系)中捕获实体节点之间的语义相关性。主要思想是在低维向量空间 R 𝑑 中表示实体和关系,其中 𝑑 ≪ |U ∪R|,以减少数据维数,同时保留 KG 的固有结构。 TransE [11] 是使用最广泛的 KGE 技术。在 TransE 中,给定一个 KG 边 (𝑢 𝑖 ,𝑟,𝑢 𝑗 ),该关系被视为平移向量 r,因此嵌入的实体 u 𝑖 和 u 𝑗 可以以低平移误差连接,即 u 𝑖 + r ≈你𝑗。例如,我们有 −−−−−→ → → 𝑇𝑜𝑘𝑦𝑜 + 𝐼𝑠𝐶𝑎𝑝𝑡𝑖𝑐𝑎𝑙𝑂𝑓 ≈ 𝐽𝑎𝑝𝑎𝑛 用于知识边缘(东京,IsCapticalOf,日本)。如图 6(a) 所示,将 KGE 合并到 NLG 中的常见策略是将原始单词表示 (x) 与来自 KGE [151, 159] 的相应实体表示 (u) 连接起来。

接地文本增强 NLG

基于知识的文本是指可以提供与输入序列相关的附加知识的文本信息。文本信息可能在训练语料库或结构化数据库中找不到,但可以从在线资源的海量文本数据中获取。这些在线资源包括百科全书(例如维基百科)、社交媒体(例如 Twitter)、购物网站(例如亚马逊评论)。基于知识的文本在理解输入序列及其周围上下文方面起着重要作用。例如,维基百科文章可能会为输入文本提供文本解释或背景信息。亚马逊评论可能包含回答产品相关问题所需的必要描述和评论。推文可能包含人们对事件的评论和总结。因此,基于知识的文本通常被视为重要的外部知识源,以帮助各种 NLG 应用。

接下来,我们介绍基于知识的文本增强的流行 NLG 应用程序:

• 对话系统。构建一个完全由数据驱动的对话系统很困难,因为大多数通用知识都没有出现在训练语料库中[42]。缺乏普遍知识极大地限制了完全数据驱动的生成方法的吸引力,因为它们必然会回避或有缺陷地响应,并且很少包含有意义的事实内容。为了在响应中注入事实信息,智能机器有望获得必要的背景信息以产生适当的响应。

• 总结。纯粹依赖于输入文本的 Seq2Seq 模型有时会“失去控制”。例如,3% 的摘要包含少于三个单词,4% 的摘要重复一个单词超过 99 次,如 [13] 中所述。此外,Seq2Seq 模型通常专注于按确切顺序复制源词,这在抽象摘要中通常不是最优的。因此,利用与输入文档相似的文档摘要作为模板可以为摘要过程提供参考 [13, 129]。

• 问答(QA)。通常很难仅根据给定的问题生成正确的答案。例如,在不了解亚马逊产品的任何信息的情况下,很难对用户提出的“笔记本电脑的电池寿命长吗?”等问题给出满意的答案。或“这冰箱无霜吗?”因此,产品描述和客户评论可以作为回答产品相关问题的参考 [9, 16]。

为了处理接地文本和输入/输出序列之间的不同类型的关系,这些方法可以分为两种方法,如图 7 所示:(M1)用检索到的信息引导生成; (M2) 将背景知识建模为响应生成。

4.3.1 M1:用检索到的信息引导生成。由于在训练语料库中没有呈现基于知识的文本,一个想法是基于输入文本从外部来源检索相关的文本信息(例如,评论、相关文档、摘要模板),并将检索到的基于文本的文本合并到生成过程。这个过程类似于在文本生成任务中设计知识获取和 KB 和 KG 的合并。不同之处在于地面文本是非结构化且嘈杂的。因此,研究人员设计了知识选择和整合方法来应对挑战。根据阶段的数量,我们进一步将相关方法分为两类:retrieve-then-generate(也称为retrieval-augmented generation,简称RAG,在现有的许多论文[64,68,99]中)方法(2-阶段方法)和检索、重新排序和重写方法(三阶段方法)。

M1.1:检索增强生成(RAG)。 RAG 遵循两个阶段的过程:检索和生成。特别地,如图 7(a) 所示,检索器 𝑝(𝑍 |𝑋) 首先返回给定查询 𝑋 的文本段落的分布(通常是前 K 个截断的),然后是生成器 𝑝(𝑦 𝑖 |𝑋,𝑍, 𝑦 1:𝑖−1 ) 基于先前标记𝑦 1:𝑖−1 的上下文、原始输入𝑋和检索到的段落𝑍生成当前标记。检索事实或评论片段的方法多种多样,包括从由命名实体索引的原始文本条目集合中匹配 [42];通过统计方法(如 BM25 [27])或基于神经的检索方法(如密集段落检索 (DPR) [68])对大型集合中的相关文档进行评分。为了训练检索器和生成器,现有的大部分工作都联合优化了这两个组件,而没有直接监督应该检索什么文档 [64, 68]。然而,通过要求人类专家标记应该检索的文档并添加检索损失(导致多任务学习设置),生成性能可以大大提高 [27, 61],尽管标记过程非常耗时- 消耗和劳动密集型的任务。

加兹维尼内贾德等人。提出了一个基于知识的神经对话模型(KGNCM),这是第一个从 Foursquare 和 Twitter 检索评论片段的工作。然后它将片段合并到对话响应生成中[42]。它使用端到端的记忆网络[116]根据选定的评论片段生成响应。刘易斯等人。通过利用预训练的神经检索器和生成器,引入了通用检索增强生成 (RAG) 框架。它可以轻松地在下游任务上进行微调,并且在各种知识密集型 NLG 任务上展示了最先进的性能 [68]。最近,融合解码器

BENCHMARK, TOOLKIT AND LEADERBOARD PERFORMANCE

文本生成通用评价基准的开发有助于促进相关领域研究的发展。现有的文本生成基准并没有特别关注选择已广泛用于知识增强文本生成的任务和数据集。因此,我们重新筛选了现有的四个文本生成基准,即 GLGE [77]、GEM [40]、KilT [99]、GENIE [60],并确定了 9 个基准数据集用于评估知识增强 NLG 方法。以下是我们的选择标准:

• 我们只考虑具有开放获取下载链接的基准数据集。

• 我们专注于各种文本生成任务,涉及各种应用程序。

• 我们为每个文本生成任务选择最多三个基准数据集。

• 我们包括内部和外部以知识为中心的数据集。

• 我们更喜欢使用多参考数据集进行稳健的自动评估。

基于基准选择标准,我们最终确定了 9 个以知识为中心的任务,涵盖了各种 NLG 任务,包括常识推理、文本摘要、问题生成、生成式问答和对话。数据统计如表9所示。描述和数据集链接如下:

• 维基百科向导(WOW):它是一个开放域对话数据集,其中两个说话者进行开放式转换,该转换直接基于从维基百科检索到的知识。 (资料链接:https://parl.ai/projects/wizard_of_wikipedia/

• CommonGen:它是一个生成的常识推理数据集。给定一组通用概念,任务是使用这些概念生成一个描述日常场景的连贯句子。 (资料链接:https://inklab.usc.edu/CommonGen/

• 𝛼NLG-ART:它是一个生成常识推理数据集。鉴于对世界的不完整观察,它的任务是对部分可观察的过去和未来的可能解释产生一个有效的假设。 (资料链接:http://abductivecommonsense.xyz/

• ComVE:它是一个生成常识推理数据集。任务是在给定反事实陈述的情况下生成解释。 (资料链接:https://github.com/wangcunxiang/SemEval2020-Task4-Commonsense-Validation-and-Explanation

• ELI5:它是用于长篇问答的数据集。任务是为不同的问题生成解释性的多句答案。网络搜索结果被用作回答问题的证据文件。 (资料链接:https://facebookresearch.github.io/ELI5/

• SQuAD:它是一个用于生成答案感知问题的数据集。任务是根据给定的文本段落或文档生成针对给定答案范围的问题。 (资料链接:https://github.com/magic282/NQG

• CNN/DailyMail (CNN/DM):它是一个用于摘要的数据集。给定一篇新闻文章,目标是生成一个摘要,代表原始内容中最重要或最相关的信息。 (资料链接:https://www.tensorflow.org/datasets/catalog/cnn_dailymail

• Gigaword:它是一个用于汇总的数据集。与 CNN/DM 类似,目标是为新闻文章生成标题。 (资料链接:https://www.tensorflow.org/datasets/catalog/gigaword

关于未来方向的讨论

已经进行了许多努力来解决知识增强文本生成及其相关应用的问题。为了推进该领域,仍然存在几个未解决的问题和未来的方向。设计更有效的方法来表示知识并将其集成到生成过程中仍然是知识增强 NLG 系统中最重要的趋势。从更广泛的角度来看,我们提供了三个方向,使得现在值得关注这些努力:(i)将知识整合到视觉语言生成任务中,(ii)从更广泛的来源学习知识,尤其是预训练的语言模型,(iii)学习知识从有限的资源中,(iv) 以持续的方式学习知识。

6.1 将知识融入视觉语言生成任务

除了文本到文本的生成任务之外,近年来人们对视觉语言 (VL) 生成任务的兴趣日益浓厚,例如描述视觉场景 [49] 和回答与视觉相关的问题 [85]。尽管近年来在 VL 生成任务上取得了成功,但由于基于图像的事实描述通常不足以生成高质量的标题或答案 [162],因此仍有改进的空间。可以添加外部知识以生成有吸引力的图像/视频字幕。我们观察到一些开创性的工作试图利用外部知识来增强图像/视频字幕任务。例如,Tran 等人。提议通过使用外部知识库(即Freebase)来检测各种视觉概念并生成字幕,以识别名人和地标等广泛的实体[120]。周等人。使用常识知识图(即ConceptNet)来推断一组与描述对象识别模块[162]在场景中发现的对象的单词直接或间接相关的术语。此外,毛等人。 [85] 提出了一种神经符号学习器,用于改进视觉语言生成任务(例如,视觉问答)。

然而,现有的知识增强视觉语言生成任务方法仍有很大的探索空间。未来工作的一些有希望的方向包括使用其他知识源,例如检索图像/文本以帮助解决开放域视觉问题回答和图像/视频字幕任务;带来结构化的知识,为他们制作的字幕提供理由,为不同的受众和背景量身定制字幕等。

从更广泛的来源学习知识

应该花更多的研究努力来学习更广泛地发现知识,并结合来自不同来源的多种形式的知识来改进生成过程。更多的知识来源可以但不限于网络结构、字典和表格。例如,Yu 等人。 [147] 和 An 等人。 [2] 通过引入引文图增加了科学论文意图检测和摘要的任务;于等人。通过从维基词典中检索稀有词的描述并将它们作为附加输入提供给预训练的语言模型 [148],从而增强了稀有词的表示。此外,结构化知识和非结构化知识可以在增强文本生成方面发挥互补作用。为了提高知识丰富度,Fu 等人。结合了结构化(知识库)和非结构化知识(基础文本)[34]。

利用来自预训练语言模型的知识。预训练的语言模型可以从数据中学习大量深入的知识,而无需访问外部存储器,作为参数化的隐式知识库 [68, 104]。然而,如 [45] 中所述,在故事生成任务上直接微调预训练的语言生成模型仍然存在知识不足的问题,通过预训练的编码器表示输入文本,导致重复、逻辑冲突和缺乏生成的输出序列中的长程相干性。因此,从预先训练的语言模型中发现知识可以更加灵活,例如知识蒸馏、数据增强以及使用预先训练的模型作为外部知识[100]。期望从预训练的语言模型中获取知识的更有效方法。

6.3 从有限的资源中学习知识

当前大多数 NLG 研究都在广泛标记的数据上进行,以支持模型训练。然而,这与许多现实世界的应用场景形成鲜明对比,在这些场景中,只有少数示例可用于新领域。有限的数据资源导致可以在新领域学习的知识有限。例如,学习在新领域下发生的对话的主题信息很困难,因为该主题以前可能很少讨论;用低资源语言构建序列的句法依赖图很困难,因为许多语言特征具有很大的独特性。此外,由于收集特定领域知识三元组的人力成本,外部知识库通常不完整且不足以覆盖完整的实体和关系。因此,快速的域适应是文本生成任务中的一项基本任务。解决这些问题的一个潜在途径是元学习,在 NLG 的背景下,这意味着生成模型在训练时开发出一套广泛的技能和模式识别能力,并在没有重新训练的情况下快速适应给定很少示例的新任务从头开始的模型。最近,学术界和工业界都对研究不同 NLG 任务中的元学习感兴趣。因此,构建有效的元学习算法是一个很有前途的研究方向,该算法只需要一些特定于任务的微调来快速学习新任务。对于知识增强的文本生成,在新知识有限的新领域(例如,只有几个知识三元组)上快速调整模型至关重要。

相关文章

  • KE_TG

    [TOC] 文本生成任务的基本定义 从给定的输入序列生成预期的输出序列,称为序列到序列 (Seq2Seq)。 Se...

网友评论

      本文标题:KE_TG

      本文链接:https://www.haomeiwen.com/subject/losblrtx.html