每天给你送来NLP技术干货!
© 作者|唐天一
机构|中国人民大学高瓴人工智能学院
研究方向 | 自然语言生成
来自 | RUC AI Box
本文分享我们小组在会议中发表的长文(oral),旨在使用语境调优(Context-Tuning)技术,增强生成文本的信息量和相关性。
论文链接:Context-Tuning: Learning Contextualized Prompts for Natural Language Generation
开源代码:https://github.com/RUCAIBox/Context-Tuning
COLING 2022即将于10月12日在韩国庆州召开,这次和大家分享我们小组在会议中发表的长文(oral),旨在使用语境调优(Context-Tuning)技术,增强生成文本的信息量和相关性。
一、引言
自然语言生成(又称为文本生成)旨在基于输入数据用人类语言生成合理且可读的文本。随着预训练语言模型的发展,GPT-3,BART等模型逐渐成为了生成任务的主流模型。近年来,为了利用预训练阶段编码的丰富知识,提示学习成为了一个简单而强大的方法。
这篇工作主要聚焦于开放式文本生成,例如故事生成和评论生成。在这种场景下,输入仅包含有限的信息,而任务目标是要生成富含信息量且与主题相关的长文本。例如下表中的例子,我们需要写一段关于“live-action”和“animation”的评论,这需要对这两个主题的背景信息有深入的了解。现有的提示学习方法,会在输入前加上人工的离散提示(例如表中的“Write a story about:”),或者在输入前加上可学习的连续型提示。但是这些提示是静态的,更多是包含任务相关的信息,但与输入无关,很难依靠他们去生成富含信息量的文本。
同时在长文本生成中,一个常见的问题是“跑题”,即生成的文本逐渐和主题无关。为了解决以上两个问题,我们分别提出了语境提示(contextualized prompts)和连续反向提示(continuous inverse prompting),来增强生成文本的信息量和相关性。
二、语境调优(Context-Tuning)
本文提出了一种创新的连续提示方法,称语境调优,用于微调预训练模型来进行自然语言生成,我们的核心贡献有三点:①我们首次提出了输入相关的提示——语境提示,抽取预训练模型中的知识作为提示来丰富生成文本的信息量。②我们使用了连续反向提示,最大化基于输出生成输入的概率,来增强生成文本的相关性。③我们使用了一种轻量化的语境调优方法,在只微调0.12%参数的情况下保持98%的性能。
1.语境提示(contextualized prompts)
语境提示是基于输入文本 生成的提示,我们使用BERT作为提示生成器来抽取模型中有关输入的知识,以此达到丰富信息量的目的。
具体的,我们在 两端各放置 个 得到BERT的输入:
。
经过BERT的编码,我们得到这些 的顶层表示,作为初始提示:
。
然后我们使用一种“语义对齐”操作,将这些隐提示对应到真实词表空间,得到我们的语境提示 :
。
其中 是BERT的词表矩阵, 是BERT预测 的映射矩阵。直觉地,我们可以将语义对齐操作看做是预测 的概率分布,然后将相应的词向量加权平均。
最后我们将语境提示加在输入两端,使用BART作为我们的生成模型,建模输入 到输出 的概率:
。
2.连续反向提示(continuous inverse prompting)
连续反向提示通过建模从输出到输入的反向过程,改进自然语言生成,使生成文本与输入的相关性更强。
我们有这样一个假设,如果我们可以从输出恢复输入,我们便认为输出与输入相关。但在一些生成场景下,这从输出恢复输入并不自然,因此我们使用连续反向提示来缓解这一现象。我们在输出两端添加连续反向提示 ,并建模输出到输入的概率:
。
我们期望反向提示可以更好地反映输出到输入的关系,这更多取决于任务本身,因此这里的反向提示是静态的。
最后,我们结合语境提示和连续反向提示,选择联合概率最大的生成文本:
。
3.轻量化语境调优
考虑到我们的语境提示引入了两个预训练模型,我们使用了一种轻量化微调方法BifFit,即仅微调每个参数的bias项,最终我们仅需要微调全量模型0.12%的参数。因此,我们在实验中考虑了全量微调和轻量化微调两种场景。
三、实验
为了验证语境调优的有效性,我们在四个开放式文本数据集上进行了测试:WritingPrompts,ROCStories,ChangeMyReivew和WikiPlots。
我们考虑了六个基线方法(其中前四个用于全量微调,后两个用于轻量化微调):
通用文本生成模型:BART,GPT-2和T5;
专为故事生成设计的方法:HINT;
轻量化方法:Prefix-tuning和Prompt tuning
同时,我们使用BLEU来衡量生成文本的质量,用Distinct来评价生成文本的多样性。
实验结果表明我们在全量微调和轻量化微调两种场景下均优于基线模型,其中轻量化模型在仅微调0.12%参数的情况下可以达到全量微调98%的表现。
消融实验中,我们尝试替换语境提示、删除语义对齐或反向提示,生成结果均有下降,这验证了我们语境提示和连续反向提示的有效性。
人工评价表明,使用语境调优生成的文本在流畅性、信息量、相关性和一致性上均优于基线模型,且有82.83%的生成文本被认为是人所写的。
四、总结
本文提出了用于自然语言生成的“语境调优”技术:
我们提出“语境提示”,增强生成文本的信息量;
我们使用“连续反向提示”,增强生成文本的相关性;
我们提出轻量化微调语境调优,仅微调0.12%的参数却能保持98%的性能。
我们的代码已在GitHub开源(https://github.com/RUCAIBox/Context-Tuning),欢迎大家使用与讨论。
📝论文解读投稿,让你的文章被更多不同背景、不同方向的人看到,不被石沉大海,或许还能增加不少引用的呦~ 投稿加下面微信备注“投稿”即可。
最近文章
DiffCSE: 将Equivariant Contrastive Learning应用于句子特征学习
苏州大学NLP团队文本生成&预训练方向招收研究生/博士生(含直博生)
NIPS'22 | 重新审视区域视觉特征在基于知识的视觉问答中的作用
武汉大学提出:用于基于统一Aspect的情感分析的关系感知协作学习
全新的多模态预训练范式:微软提出GLIP统一了对象检测和短语定位任务
COLING'22 | SelfMix:针对带噪数据集的半监督学习方法
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注~