A Survey on Retrieval-Augmented Text Generation翻译

检索增强文本生成研究综述

文章目录

  • 摘要
  • 一、Introduction
  • 二、Retrieval-Augmented Paradigm
    • 2.1 Formulation
    • 2.2 Retrieval Sources
    • 2.3 Retrieval Metrics
    • 2.4 Integration
  • 3 Dialogue Response Generation
  • 4 Machine Translation
    • 4.1 Translation Memory in SMT
    • 4.2 Translation Memory in NMT
  • 5 Other Tasks
  • 6 Future Directions
  • 7 Conclusion


摘要

提示:这里可以添加本文要记录的大概内容:

近年来,检索增强文本生成引起了计算语言学界越来越多的关注。与传统的生成模型相比,检索增强文本生成具有显著的优势,尤其是在许多NLP任务中取得了最先进的性能。本文旨在对检索增强文本生成进行一项调查。它首先强调了检索增强生成的一般范式,然后根据不同的任务,包括对话响应生成、机器翻译和其他生成任务,回顾了值得注意的方法。最后,在总结现有方法的基础上,提出了一些有前景的研究方向,以利于今后的研究。


一、Introduction

检索增强文本生成作为一种融合了新兴深度学习技术和传统检索技术的新文本生成范式,在许多NLP任务中取得了最先进的性能,并引起了计算语言学界的关注(Weston等人,2018;Dinan等人,2018年;蔡等人,2021)。与基于生成的对应模型相比,这种新范式具有一些显著的优势:1)知识不必隐式存储在模型参数中,而是以即插即用的方式显式获取,具有很大的可扩展性;2) 该范式从一些检索到的人类书面参考中生成文本,而不是从头开始生成,这可能会减轻文本生成的难度。
本文旨在综述许多具有代表性的检索增强文本生成方法,包括对话-响应生成(Weston et al.,2018)、机器翻译(Gu et al.,2019)和其他方法(Hashimoto等人,2018)
首先介绍了检索增量生成的一般范式,以及该范式下的三个关键组成部分,即检索源、检索度量和生成模型。
然后,我们介绍了关于检索增强生成的显著方法,这些方法是根据不同的任务组织的。具体而言,在对话响应生成任务中,范例/模板检索作为中间步骤已被证明有利于信息响应生成(Weston等人,2018;吴等人,2019;蔡等人,2019a,b)。此外,人们对以知识为基础的生成越来越感兴趣,探索不同形式的知识,如知识库和外部文档(Dinan et al.,2018;周等人,2018;连等人,2019;李等人,2019年;秦等,2019;吴等人,2021;张等人,2021)。关于机器翻译任务,我们总结了关于如何使用检索到的句子(称为翻译记忆)来改进统计机器翻译(SMT)(Koehn等人,2003)模型的早期工作(Simard和Isabelle,2009;Koehn和Senellart,2010),特别是,我们重点介绍了几种流行的将翻译记忆集成到NMT模型中的方法(Gu et al.,2018;张等人,2018;徐等人,2020;何等人,2021)。我们还回顾了检索增强生成在其他生成任务中的应用,如抽象摘要(Peng等人,2019)、代码生成(Hashimoto等人,2018)、转述(Kazemnejad等人,2020;Su等人,2021b)和知识密集型生成(Lewis等人,2020b)。最后,我们还指出了检索增强生成的一些有前景的方向,以推动未来的研究。


二、Retrieval-Augmented Paradigm

在本节中,我们首先给出了检索增强文本生成的一般公式。然后,我们讨论了检索递增生成范式的三个主要组成部分,包括检索源、检索度量和集成方法。
A Survey on Retrieval-Augmented Text Generation翻译_第1张图片

2.1 Formulation

大多数文本生成任务可以公式化为从输入序列x到输出序列y:y=f(x)的映射。例如,x和y可以是用于生成对话响应的对话历史和相应响应,用于机器翻译的源语言文本和目标语言翻译,等等。
最近,一些研究人员建议通过一些信息检索技术赋予模型访问外部记忆的能力,使其能够在生成过程中获得更多信息(Gu et al.,2018;Weston等人,2018;Cai等人,2019b)。检索增强生成可以进一步公式化为: y = f ( x , z ) y=f(x,z) y=f(x,z)
其中 z = { ⟨ x r , y r ⟩ } z=\lbrace \langle x^r,y^r \rangle\rbrace z={⟨xr,yr⟩}是从原始训练集或外部数据集检索的一组相关实例。该范式的主要思想是,如果 x r x^r xr(或 y r y^r yr)与输入x相似(或相关), y r y^r yr可能有利于响应生成。值得注意的是,当使用无监督检索源时, x r x^r xr=∅。通常,检索记忆可以从三种来源检索:训练语料库、与训练语料库格式相同的外部数据集和大规模无监督语料库(§2.2)。评估文本之间相关性的指标也各不相同,在§2.3中,我们将其分为三类:稀疏向量检索、密集向量检索,以及基于训练的检索。最后,如何将检索记忆集成到生成模型中也很重要,我们还在§2.4中介绍了一些流行的集成方法。

2.2 Retrieval Sources

训练语料库 以往的研究大多从训练语料库中搜索外部记忆(Song et al.,2016;顾等人,2018;Weston等人,2018)。在推理过程中,检索到的相关分数较高的例子可以作为额外的参考,减少模型生成的不确定性。这些工作的主要动机是不仅将知识存储在模型参数中,而且以明确和可访问的形式存储知识,使模型能够在推理过程中重新访问知识。
外部数据 一些研究人员还建议从外部数据集中检索相关样本(Su et al.,2021c;Xiao et al.,2021)。在这些研究中,检索池与训练语料库不同,训练语料库可以进一步提供训练语料库中不包含的额外信息。这对于诸如领域自适应和知识更新之类的应用尤其有益。例如,Khandelwal等人(2020a);郑等。(2021a)采用域内数据集作为外部存储器,以实现用于机器翻译的快速域自适应。

无监督数据 前两个来源的一个限制是,数据集必须是由对齐的输入输出对组成的监督数据集。对于机器翻译,蔡等人(2021)提出了一种跨语言检索器,可以直接从无监督语料库(即目标语言中的单语语料库)中检索目标句子。其主要思想是在密集向量空间中对齐源端句子和相应的目标端翻译,即,在没有 x r x^r xr的情况下对齐x和 y r y^r yr。因此,检索器直接连接源端输入和目标端翻译之间的点,使目标语言中的单语数据能够单独用作存储器。


2.3 Retrieval Metrics

稀疏向量检索 给定一个输入序列 x x x和一个检索语料库,检索模型旨在从语料库中检索一组相关的例子 z = { ⟨ x r , y r ⟩ } z=\lbrace \langle x^r,y^r \rangle\rbrace z={⟨xr,yr⟩}。当使用监督语料库时,通过测量 x x x x r x^r xr之间的相似性来检索 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}。对于相似性测量,稀疏向量检索方法如TF-IDF和BM25(Robertson和Zaragoza,2009)被广泛使用。它们通过反向索引有效地匹配关键字。

密集向量检索 然而,这些方法更喜欢具有相似表面的示例,并且可能无法检索仅在语义上相关的示例。为了缓解上述问题,一些研究(Cao和Xiong,2018)试图在密集向量空间中进行检索,而不是在词汇重叠中进行检索。最近的工作(Lee等人,2019)利用了预训练的语言模型,通过基于BERT的编码器将文本编码为低维密集向量。检索得分是通过向量之间的内积来计算的。

任务特定检索 基于相似性的检索是基于一种简单的启发式方法。也就是说, x r x^r xr x x x越相似, x r x^r xr y r y^r yr就越有可能帮助这一代人。然而,通过普遍文本相似性得出的最相似的模型并不一定对下游模型最好。理想情况下,检索度量将以依赖于任务的方式从数据中学习:只有当内存确实能够提高最终生成的质量时,我们才希望考虑它。为此,蔡等人(2021)提出将记忆检索器及其下游生成模型统一为一个可学习的整体。这种内存检索是针对特定任务目标进行端到端优化的。


2.4 Integration

数据增强 有几种方法可以在生成中集成检索到的外部内存。一种简单的方法是数据扩充,它通过将 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}的跨度与原始输入 x x x串联来构造一些扩充输入。通过对扩充输入进行训练,生成模型隐含地倾向于如何集成检索到的信息。尽管简单,但这种方法在许多任务中都能有效工作(Song等人,2016;Weston等人,2018;Bulte和Tezcan,2019)。

注意力机制 另一种整合方法是基于注意力机制(Bahdanau et al.,2014)。这种方式的主要思想是采用额外的编码器(在各种架构中)来对检索到的目标句子进行编码,并通过注意力将其整合(Cao和Xiong,2018;Gu等人,2018;Bapna和Firat,2019)。由于注意力机制正在成为许多NLP模型中的一个关键模块(Bahdanau et al.,2014;V aswani et al.,2017),通过注意力整合检索到的记忆成为一种非常自然和有效的方式。

骨架提取 在前两种方法中,下游生成模型学习如何隐式地从检索到的示例中过滤掉不相关甚至有害的信息。也有一些工作试图从检索到的记忆中明确地提取有用的信息,即骨架提取(Cai et al.,2019a;吴等人,2019;Cai等人,2019b)。例如,一个骨架应该是整个话语的一部分,不相关的内容被屏蔽,而生成模型在生成过程中只集成了这个骨架。


3 Dialogue Response Generation

背景 对话系统可以分为两类:聊天系统和面向任务的系统。虽然面向任务的对话系统旨在完成特定的用户任务,如机票预订,但聊天对话系统旨在为开放领域中的任何对话历史提供有意义和流畅的响应。聊天对话系统中的对话响应生成具有挑战性,部分原因是对单个对话历史(即一对多问题)的可能响应的多样性。仅靠对话历史无法决定有意义和具体的回应。此外,对话历史中不存在的外部知识对于避免安全但无聊的回应往往是必要的。我们重点关注最近为应对发展闲聊对话系统的挑战所做的努力。
大多数现代聊天对话系统可以分为两类,即基于检索的模型和基于生成的模型。基于检索的模型(Ji et al.,2014;胡等人,2014)在收到响应请求时,直接从策划的对话语料库(即检索池)中复制现有响应。检索到的回复通常是信息性的和语法性的,因为它们是从现实世界的对话中收集的,可能是由人类后期编辑的。然而,当给定的对话历史与检索池中的对话历史显著不同时,这样的系统表现不佳。另一方面,基于生成的模型(Shang et al.,2015;Vinyals和Le,2015;Li et al.,2016a)从头开始生成新的话语。这些基于生成的模型在处理看不见的对话上下文时具有更好的泛化能力。然而,生成的话语往往是枯燥的,没有信息(例如,“我不知道”、“我想是的”、“Me too”等) (Li et al., 2016a).

浅集成 正如所讨论的,基于检索的模型可能会给出信息丰富但不恰当的响应,而基于生成的模型通常会适得其反。把两个世界的优点结合起来是可取的。早期的工作(Qiu et al.,2017)试图对两个模型的输出进行重新排序。为了进行深度集成,Song等人(2016)和Yang等人(2019)用一个额外的编码器扩展了标准的SEQ2SEQ编码器模型(Bahdanau等人,2014),用于对检索结果进行编码。额外编码器的输出以及对话历史的原始编码器的输出用于向解码器提供信息。Weston等人(2018)使用了一个编码器,该编码器将原始对话历史和检索到的内容串联作为输入。 Wu et al. (2019)指出,检索到的信息应用于感知上下文差异,并进一步提出通过显式编码输入对话历史和检索到的对话历史之间的词汇差异来构建编辑向量。Pandey等人(2018)进一步提出通过上下文相似性对不同的训练实例进行加权。

深度集成 为了防止错误信息的流入,Cai等人(2019a)提出了一个通用框架,该框架首先从检索到的响应中提取骨架,然后基于提取的骨架生成响应。这一框架也被用于文体反应的生成(Su et al.,2021c)。Gupta等人(2021)建议使用范例响应的语义结构,而不是范例响应的标记来指导生成。尽管存在差异,但一个共同的问题是,生成模型很容易学会完全忽略检索到的响应,并崩溃为普通的seq2seq模型。这种情况发生在不适当的培训实例中。由于一对多的性质,经常会发现检索到的响应(提取的骨架)适合于响应查询,但与当前目标响应不一致。
早期的研究(Weston et al.,2018;Wu et al.,2019;Cai et al.,2019a)通过对数据施加硬约束(例如,丢弃检索到的响应和目标响应相似度低的数据)来缓解上述问题,然而,这大大减少了可用数据的量。蔡等人(2019b)采用了一种随机机制来生成用于训练的骨架,该机制从具有一些故意干扰的相应响应中提取骨架。Paranjape等人。(2021)提出在给定输入和目标输出的情况下,在检索的后验分布后对检索器进行建模,并通过最大化期望过度检索中的证据下界(ELBo)来与标准检索器和生成器联合训练它。

知识增强型生成 上述工作表明,基于检索的对话系统可以用于构建更好的基于生成的模型。一般来说,这是通过将生成条件设置在一些检索到的响应上来完成的。更传统的做法是,为了给回应注入外部知识,检索池不一定是对话语料库。事实上,基于知识的对话反应生成探索不同形式的知识,如知识库和外部文档(Dinan et al.,2018;周等人,2018;连等人,2019;李等,2019;秦等人,2019年;吴等人,2021;张等人,2021年;科梅里等人,2021)已经得到了积极探索。

限制 我们注意到,现有的对话应对工作存在三大局限性。首先,当前的方法只使用一个检索到的响应进行生成。将多个检索响应组合起来可能更有益。然而,这可能是困难的,因为对话反应的生成具有单一性。其次,目前的方法使用通用相关性评分进行检索。如果我们能够使用更定制的检索度量,特别是对于受控的对话响应生成(例如,人物角色、情绪等),它会更有效。第三,现有方法的检索池仅限于对话语料库(上下文-反应对)或文档。通过在其他领域或其他模式中包含更多的语料库来扩大检索库可能是有用的。正如所讨论的,未来还有很多可能的探索方向。


4 Machine Translation

检索增强翻译源于人类翻译场景(Somers,2003)。当翻译 y − y^- y来自输入源句子 x x x的语法时,人类翻译器通常需要搜索引擎从双语数据库中检索类似的句子 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}。这种被称为翻译记忆(translation memory) 的技术有助于提高人类译者的翻译质量和效率(Dillon和Fraser,2006)。随着机器翻译技术的发展,人们对利用翻译记忆改进机器翻译模型的兴趣激增。在本节的其余部分中,我们将回顾统计机器翻译( statistical machine translation SMT)和神经机器翻译(neural machine translation NMT)的翻译记忆。

4.1 Translation Memory in SMT

通常,SMT以流水线方式包括三个关键组件,如短语表提取、参数调整和解码(Koehn et al.,2003;Chiang,2007)。因此,已经做出了许多努力来利用每个组件之上的翻译记忆(TM)。

TM约束译码 约束解码是将TM集成到SMT中最直接的方法(Smith和Clark,2009;Koehn和Senellart,2010;Zhechev和V an Genabith,2010;Ma等人,2011)。其基本思想是重用 y r y^r yr中有用的分段,同时通过SMT翻译其他分段。具体来说,该方法包括三个步骤:1)通过编辑距离算法识别 x r x^r xr x x x中的不匹配段;2) 识别 y r y^r yr中的不匹配段,每个不匹配段通过字对齐算法与 x r x^r xr中的一个不匹配段对齐;3) 通过SMT解码 x x x中的每个不匹配段,然后使用结果替换 y r y^r yr中对应的不匹配段。(2016b)将这种方法从句子层面进一步扩展到短语层面。约束解码的优点是它不需要改变翻译模型(包括短语表和参数),并且可以以即插即用的方式应用。当 x x x x r x^r xr高度相似时,这种方法是成功的;否则,它的性能会大大降低,因为它明确地隔离了TM匹配和SMT解码,并以确定性的方式重用 x r x^r xr中的结果。

使用TM进行短语表聚合 还有一些值得注意的努力是通过从检索到的双语句子 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}中提取翻译规则来扩充SMT的短语表。然后,他们重新调整SMT模型的参数,SMT模型在翻译 x x x时以隐含的方式利用了 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}的翻译知识。例如,Biçici和Dymetman(2008);Simard和Isabelle(2009)以浅层组合的方式将提取的翻译规则直接组合到短语表中。他们引入了一个额外的特征来指示翻译规则是否来自 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩},然后用MERT训练所有特征权重(Och,2003)。这些工作的一个特点是,从 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}中提取的翻译规则不能完全匹配 x x x中的任何片段,即使它可能在目标端包含一些有用的单词,也是无用的。为了弥补这一观察,王等人(20132014)采用了一种深度组合的方式来使用提取的翻译规则。对于短语表中的每个规则,它设计了一个生成模型来奖励与从 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}中提取的规则相似的规则。然后,该生成模型被用作基于对数线性的SMT模型中的一个特征,该模型的权重通过MERT与其他特征一起调整。此外,李等人(2014)采用了类似的方式来奖励规则,但它依赖于一个判别模型,该模型很容易集成 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}的潜在特征。

使用TM进行参数调整 与上述两条研究路线不同,刘等人(20122014)仅在调整参数时使用翻译记忆。具体地说,当翻译输入句子 x x x时,他们首先检索许多相似的双语句子 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩},然后以逐句的方式调整检索到的句子以及给定开发数据集上的参数,即,它对每个输入句子执行独立的调整。为了提高每个调整步骤的效率,它在基线模型的 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}之上提出了一个局部更新。

尽管翻译记忆在SMT中取得了成功,但以上三种方法仍然存在一些局限性。首先,所有这些方法都使用模糊评分进行检索,这种评分高度依赖于单词匹配,因此不能回忆起单词语义相似但表面形式不同的例子。其次,这些方法将检索到的例子集成到SMT的一个模块中,无法充分利用检索到的示例中的知识。例如,前两种集成方式(约束解码和短语表聚合)是启发式的,并且没有针对翻译质量进行优化;参数调整方法对基于对数线性的SMT的少数参数进行微调,这些参数不足以从检索到的示例中保留足够的知识。第三,由于SMT是以流水线方式执行的,因此难以联合优化检索度量和SMT模型。因此,所有这些方法都采用现成的检索度量,导致性能不理想。


4.2 Translation Memory in NMT

翻译记忆在神经机器翻译中得到了广泛的研究。根据何时涉及检索,我们可以将以前的工作分为两类:1)NMT模型倾向于如何在训练阶段与检索模型合作;2) NMT模型在推理阶段仅知道检索到的数据。

Inference Phase 这方面的文献重点是在推理过程中根据 y r y^r yr中的单词来奖励一些目标单词。因此,可以根据生成模型的分布和检索模型的额外奖励来做出决策。先前的一些工作提出,基于 x x x x r x^r xr之间的句子级相似性以及 x r x^r xr y r y^r yr之间的单词对齐来奖励目标单词。给定输入句子 x x x,Zhang等人(2018)试图在当目标单词出现在 y r y^r yr中并且对齐的源单词同时出现在 x r x^r xr x x x中时,为其( y − y^- y)分配更高的奖励。何等人(2019)遵循类似的框架,在奖励时考虑这些目标词的位置信息。这些工作以明确的方式奖励目标词,然而,一句话一个模型的方法(Li et al.,2016c;Turchi et al.,2017)提出隐含地奖励目标词。对于每个测试输入 x x x,他们的方法将首先在检索到的内存 { ⟨ x r , y r ⟩ } \lbrace \langle x^r,y^r \rangle\rbrace {⟨xr,yr⟩}上微调翻译模型,然后翻译 x x x

其他人则试图根据标记级别的相似性得分来奖励目标词。这一领域的大多数工作都是基于密集检索器(Khandelwal等人,2020a),例如faiss。Khandelwal等人(2020a)构建了一个键值数据存储,其中key h ( x r , y < t r ) h(x^r,y^r_{h(xry<tr)是从 x r x^r xr翻译 y r y^r yr时每个时间步长的隐藏状态,value是其黄金真理目标词 y t r y^r_t ytr。因此,在推理时,他们可以使用 h ( x r , y < t ‘ ) h(x^r,y^`_{h(xry<t)作为查询,并在数据存储中奖励具有类似隐藏表示的目标词。尽管这种方法获得了显著的性能增益,但它的一个缺点是高延迟。为了解决这个问题,Meng等人(2021)使用了一些启发式方法,例如预过滤,以避免在整个数据存储上进行搜索。以前作品的奖励分数是通过一些非参数方法获得的,然而,Zheng等人(2021a)提出了一种轻量级网络来学习奖励分数。由于密集检索具有跨语言检索的潜力,Zheng等人(2021b)使用类似的方法来实现无监督的领域自适应,其中的主要变化是基于合成源句子和真实目标句子创建数据存储。

训练阶段 与那些与模型无关的方法不同,本领域以前的工作旨在训练生成模型,以学习如何与检索模型合作。同样值得注意的是,这一行的大多数作品在训练过程中整合检索信息时,都采用了句子级检索。为了实现其目标,Bulte和Tezcan(2019)以及Hossain等人(2020)提出了一种数据扩充方法来整合检索到的信息,其中 x x x在输入模型之前与 y r y^r yr相连。根据数据扩充方法,Xu等人(2020)提出了更多的匹配方法,以确定在源中包含哪个检索到的示例更好。

也有一些工作提出了新的体系结构来集成检索信息。在基于RNN的框架下,Cao和Xiong(2018)以及Gu等人(2018)使用门控和注意力机制来合并检索到的目标句子。当Transformer(V aswani et al.,2017)成为NMT的主干时,一些作品还使用额外的Transformer编码器对检索到的目标句子进行编码,并通过注意力机制对其进行整合(Bapna和Firat,2019;Cao et al.,2019)。Xia等人(2019)将检索到的目标句子表示在不同的数据结构中,即图结构中,并通过注意力机制进行整合。He等人(2021)提出了一种轻量级的方法来对检索到的目标句子进行编码,并利用对齐信息过滤掉不相关的信息。与以往依赖双语记忆的工作不同,蔡等人(2021)提出了一个框架,可以使用源句子作为查询,在单语数据集中检索最相似的目标句子。

局限性 在SMT的一节中,我们展示了检索增强方法的一些局限性。NMT也存在一些局限性。首先,用于推导奖励分数的信息是有限的。输入和检索到的示例之间的相似性是导出奖励分数的主要特征。然而,一些信息,例如单词和上下文的频率,也可能有利于整合翻译记忆。其次,我们什么时候应该使用检索到的信息,什么时候不应该使用,这仍然是一个悬而未决的问题。在推理阶段,方法倾向于过度整合翻译记忆,例如在每个时间步长,这不仅降低了翻译效率,还可能影响生成结果的流畅性。


5 Other Tasks

除了对话系统和机器翻译之外,检索增强生成技术在许多其他任务中也被证明是有益的。在下文中,我们重点介绍了应用检索增强生成方法的几个关键任务。

语言建模 研究表明,适当利用检索记忆中的信息可以提高大型预训练语言模型的性能。为了建立更准确的语言模型,Khandelwal等人(2020b)建议在系统中加入软记忆模块。具体来说,通过缓存训练语料库的隐藏状态来建立索引。然后,该语言模型通过k-NN搜索访问索引,并显示出大大提高的性能。作为另一个例子,Guu等人(2020)提出了一种新的范式,将检索增强技术应用于生成语言模型的预训练中。在学习过程中,他们训练一个神经选择器,该选择器对相关文本进行动态采样,以指导受损输入序列的重建。通过这种方式,预训练的模型通过明确地基于检索记忆来提供更好的结果。Lewis等人(2020a)将语言模型预训练与转述相结合的方法。在学习过程中,模型的输入序列首先被破坏。同时,检索一组多语言文本,在此基础上,模型学习重建原始输入序列。最近,Borgeud等人(2021)提出了RETRO,这是一个大型的预训练语言模型,通过检索的文档进行了增强,并使用25×更少的参数获得了与GPT-3相当的性能。

摘要 文本摘要是另一个受益于检索增强文本生成的研究领域。彭等人(2019)提出了一种自适应解码框架,该框架首先在给定源文档的情况下检索示例文档。然后,通过基于检索到的模板的自适应生成过程来导出源文档的摘要。与彭等人不同(2019),曹等人(2018)和Hossain等人(2020)在生成管道(generation pipeline)中引入了中间重新排序阶段。具体地,在生成文档摘要之前,首先基于检索文档相对于源文档的相似性得分对检索文档进行重新排序。然后,通过重写所选择的模板来生成文档摘要。

短语生成 为了解决转述生成中缺乏质量和多样性的问题,Kazemnejad等人(2020)提出了一个生成框架,该框架首先检索与输入句子相似的句子。然后,根据检索到的句子,神经编辑器生成最终的转述句子。陈等人(2019)研究了转述的另一个方面,即如何控制在生成的文本中显示的语言语法。为了实现这一目标,Chen等人(2019)提出首先提取一个作为语法模板的句子范例。然后,神经模型根据检索到的范例生成具有所需语言语法的转述。

文本样式转换 为了提高生成文本的质量,李等人(2018)提出了一种检索增强框架,该框架首先基于词汇水平的相似性来检索与输入相似的文本。然后,删除检索到的与源无关的令牌,并从编辑后的模板派生输出。肖等人(2021)也采用了这一框架,结合了来自两个来源(即稀疏和密集存储器)的检索信息,并获得了改进的模型性能。

数据到文本生成 最近,检索增量生成已经适应了数据到文本生成的任务。为了弥合结构化数据和自然语言文本之间的差距,Su等人(2021a)提出了一种新的检索增强框架。具体而言,给定源数据,首先从大型未标记语料库中检索一组候选文本。然后,应用神经选择器来测量源数据和候选文本之间的相似性,并从候选文本中提取一组更细粒度的原型。最后,生成模型将原型作为输入,生成描述给定结构化数据的文本。

虽然检索增强生成在NLP社区中得到了广泛的探索,但我们建议,未来的研究可以将这种方法扩展到涉及多种模态数据的任务中。例如,随着图像文本检索的最新进展(Jia等人,2021;Radford等人,2021),图像和文本之间的结构差距在很大程度上得到了弥合。一些早期研究(Zhang et al.,2020)表明,从图像中检索的信息可以提高神经机器翻译模型的性能。自然,这种方法可以扩展到其他多模式任务,如图像字幕(Karpathy和Li,2015)。类似的想法也可以应用于图像之外的任务,例如语音到文本的转录(Gales和Young,2007)。


6 Future Directions

尽管目前检索增强文本生成取得了成功,但如前几节所述,仍有很长的路要走。我们强调了一些方向,以促进未来的研究,如下所示:

检索灵敏度 检索增强文本生成的性能对检索质量非常敏感,即查询和检索到的示例之间的相似性。目前,当检索到的示例与查询非常相似时,检索增强文本生成模型表现良好。然而,当检索示例不太相似时,它们甚至比没有检索的生成模型更糟糕。因此,开发新的方法来解决类似性问题是很重要的。

检索效率 一般来说,如果在一定程度上扩大检索内存,就有可能检索到与查询非常相似的示例。不幸的是,缺点是,由于相当大的检索开销,检索增强生成模型的总体推理效率较低。从这个意义上说,迫切需要考虑一些方法来权衡检索内存大小和检索效率,例如,用数据压缩来代替检索内存。

局部优化与全局优化 从理论上讲,联合学习检索度量和生成模型似乎很有希望。然而,在实践中,训练短语和推理短语之间的检索度量存在着本质的差距。在训练阶段,损失被局部反向传播到仅几个检索到的示例,而在推理阶段,度量在存储器中的所有示例中全局执行。在学习更好的生成任务度量标准时,缩小这样的差距会很有趣。

多模态 随着图像文本检索的最新进展,将图像与相关文本直接关联成为可能。这促使研究人员研究在涉及不同模式数据的任务中生成基于检索的文本的可能性。一个典型的任务是图像字幕。除了图像,语音到文本转录等其他任务也可能受益于基于检索的生成方法。

多样化和可控检索 现有的大多数方法都采用了通用的检索指标,例如句子的词汇相似性。未来的工作应该探索如何使用定制的度量进行检索。这可能有利于更可控的文本生成。例如,在个性化对话生成中,具有情感和风格的实例可能更可取,包含特定术语的并行数据在机器翻译中更有帮助,等等。另一方面,使用通用度量进行检索可能导致检索结果缺乏多样性。收集一组不同的检索结果可以提高有用信息的覆盖率。因此,考虑用于检索的多个不同度量可能导致在未来产生具有更高质量的生成。


7 Conclusion

在本文中,我们综述了最近的检索增强文本生成方法。我们回顾并总结了检索增强文本生成的不同组成部分的发展,包括检索度量、检索源和集成范式。我们深入讨论了检索增强文本生成在不同应用中的应用,包括对话响应生成、机器翻译和其他生成任务。我们还指出了检索增强文本生成的一些未来方向。


你可能感兴趣的:(大模型,边缘计算与边缘智能学习,深度学习,人工智能)