【综述阅读】Pre-trained Language Models for Text Generation: A Survey

Pre-trained Language Models for Text Generation: A Survey
中国人民大学 IJCAI 2021
论文链接:https://arxiv.org/pdf/2201.05273.pdf
综述读起来真的很漫长,虽然还有一篇90多页的在等着我QAQ

前言

本文是中国人民大学发表在IJCAI 2021的文本生成综述论文的扩展版本。作者从预训练语言模型应用于文本生成任务的三个挑战出发,即编码输入表征、设计用于文本生成的PLM模型架构、优化PLMs,详细列举了目前每个挑战下的研究进展。

一、背景介绍

文本生成任务的发展脉络:
统计语言模型->深度学习模型(seq2seq)->PLMs范式
在这里插入图片描述

二、预备知识

1. 文本生成 text generation

一段文本可被建模为一系列tokens y = <y1,…,yj,…,yn> 其中每个token都来自一个词典vocabulary V。文本生成任务旨在生成人类认为合理且可读的文本。多数情况下,文本生成以某些输入数据x(如文本,图像,表格,知识库等)为前提,且生成文本期望满足某些语言属性P(如流畅,自然,连贯等),那么文本生成任务可形式化为:
y = fM(x,P)
这里文本生成模型fM特指PLM

2. PLM-based text generation methods

主要从输入数据,模型结构和优化算法三个方面来考量基于PLM的文本生成方法
在这里插入图片描述

三、输入表征编码

1. 非结构化输入

文本表示学习的目的是将输入文本压缩为能够保留核心语义的低维向量。
i. 段落表示学习
 1) 基于层次的方法
  如:DialogBERT
 2) 基于图结构的方法
  段落可能包含重复和矛盾的信息,利于图结构可以解决该问题。例如可以将词或段落直接作为节点,它们之间的相似度作为边。
ii. 文档表示学习
 核心挑战是对句子(段落)语义进行建模并捕捉最关键的语义。
 1) 建模句子间的语义
  以分层方式学习文档表示,先学习句子表示,再学习上下文相关的句子表示。
 2) 抓住最关键的语义
  通过主题模型(topic model)获取关键语义表示。
 3) 表征学习效率问题
  可通过分治法提升效率,长文档分割为短句;局部自注意力机制。
iii. 多语言表示学习
 1) 跨语言表示
  构建一个共享embedding空间,学习多种语言的相同表征。
 2) 多语言表示
  CSR(contrastive sentence ranking)、SAS(sentence aligned substitution)

2. 结构化输入

使用PLM建模结构化数据的挑战:
(1)结构化数据和PLM之间存在语义上的差距,因为PLM通常是在自然语言文本上预训练的;
(2)对输入数据中的结构信息进行编码是不容易的;
(3)需要保持生成的文本对输入的精确性。
i. 弥合语义鸿沟
 1) 线性化结构化数据
  如将知识图谱中的三元组通过实体间的关系转换为一句话
 2) 表示对齐
  将结构化数据表征与PLM的词嵌入在语义空间对齐。
ii. 捕获结构化信息
 1) 整合额外的、与结构化信息相关的训练目标
  a) 重构输入数据的语义结构
  b) 基于结构化信息调整输出文本
 2) 将结构化信息作为输入添加
 3) 使用结构化编码模块
  a) 如StructAdapt
  b) 直观的思想是先用一个结构化编码模块编码结构化信息,然后作为PLMs的输入
iii. 确保文本的准确度
 即生成的文本要尽可能与结构化数据中的内容一致
 1) 添加额外训练目标
 2) 利用复制机制
  Pointer-generator(似乎是将输入中的关键信息复制到输出中)
 3) 将目标信息作为输入添加
  如:Logic2Text

3. 多模态输入

i. 图像标题生成
 1) 如XGPT或者VisualGPT
ii. 视频标签生成
 1) 如VideoBERT和CBT
 2) UniVL
iii. 语音识别

四、用于文本生成的预训练语言模型设计

1. 文本生成的目标可建模为给定输入数据x, 计算输出文本y的条件概率:

在这里插入图片描述

2. 标准模型结构

i. 掩码语言模型
 基于MLM任务预训练的模型,如bert
 局限性:由于存在预训练任务与下游任务不匹配的问题,通常是用掩码语言模型作为文本生成的编码器
ii. 因果语言模型
 与Transformer decoder类似,因果语言模型采用对角掩码矩阵,根据句子中前面所有词预测下一个词的概率。如GPT、CTRL
 局限性:因果语言模型只是从左到右对标记进行编码,因此忽略了输入端的双向信息。此外,语言模型不是专门为序列到序列的生成任务而设计的,因此在实践中,它们在总结和翻译等任务中没有达到很高的性能。
iii. 前缀语言模型
 在输入侧使用双向的编码模式,在输出侧使用从左到右的生成模式。如UniLM、UniLMv2和GLM等
iv. 编码-解码语言模型
 这种应该是目前效果最好的文本生成模型类别,如MASS、ProphetNet、BART、T5

3. 结构扩展

i. 扩展输入嵌入
 1) 改进位置嵌入
 2) 添加辅助信息
ii. 改进注意力机制
 使用多种编码器编码多种类型的输入

五、优化用于文本生成的PLMs

1. Fine-Tuning

i. Vanilla Fine-Tuning 直接在下游文本生成数据集上优化PLMs的损失函数
 该方法在小数据集上容易过拟合
ii. Intermediate Fine-Tuning 加入一个由足够多的带标签的实例组成的中间数据集。该中间数据集可以是来自不同领域的文本生成任务或者来自相同领域的相似NLP任务
 该方法可缓解过拟合现象
iii. Multi-Task Fine-Tuning 通过整合辅助任务来利用跨任务知识提升文本生成任务的性能。同时可以增强PLMs模型的鲁棒性
iv. Parameter-Efficient Fine-Tuning.
 1) Adapter-based Adapter使用两层前馈层和一层非线性层将输入向量先映射成较小的向量然后重新映射回原有维度。微调时固定PLMs的参数,仅微调Adapter的。
 Adapter可以帮助plm有效地捕获一些输入特征,以较低的参数额外成本生成更准确的输出文本。
 2) Freezing-based 固定大部分的PLMs参数,仅更新小部分的参数。如:在机器翻译任务中,更新交叉注意力或者decoder-encoder比更新自注意力更重要。
 3) Distillation-based 知识蒸馏 提取教师模型(teacher model)中的知识作为学生模型(student model)的输出。如:BERT作为教师模型学习生成词序列的逻辑概率,再用Seq2Seq模型作为学生模型。

2. Prompt-tuning

i. 背景在这里插入图片描述
ii. Discrete Prompts
 1) 早期使用人工设计的提示模板,如GPT-2
 2) 现在多数是让模型自动生成提示模板
iii. Continuous Prompts
 使用embedding向量作为提示词
 优点:
 1)放宽提示模板应该是自然语言词的约束;
 2)取消了提示词模板由PLM的参数化的限制。
  如Prefix-tuning

3. Property-tuning

i. Relevance:相关性是指输出文本中传达的主题语义与输入文本高度相关。
 使用多层的cross-attention机制生成文本,如DialoGPT
ii. Faithfulness:指生成的内容应遵守输入文本的语义。需要与事实相符合
  1) 设计网络捕获输入文本中的核心部分
  2) 引入额外的损失函数 如TED
iii. Order-Preservation:指语义单元(词、短语等)在输入和输出文本中的顺序是一致的。该属性在机翻任务中非常重要。

挑战与解决

在这里插入图片描述

1. 数据层面

i. 缺乏足够的训练数据
 1) 迁移学习
 2) 数据增强
  a) 对对话文本进行随机删除或者交换位置
 b) 使用搜索引擎检索文本,扩充数据
 3) 多任务学习
ii. 预训练语料中的数据bias
 PLM通常使用真实世界的数据进行训练,其方式是对训练数据的统计属性进行建模。 因此,它们继承了数据中常见的偏见和刻板印象(比如种族、性别等)。
 1) 简单方法是在生成词嵌入时,交换训练集中性别相关的词;
 2) 遮蔽姓名和代词有助于缓解偏见

2. 模型层面

i. 模型压缩
 1) Quantization 量化 降低参数存储的精度
 2) Pruning 剪枝
 3) 知识蒸馏
ii. 模型增强
 1) 大规模PLMs 如GPT-3
 2) 知识增强PLMs 如 ERNIE 3.0 和 CALM
 3) 高效PLMs

3. 优化层面

i. 满足特定的文本属性
 1) 一致性 text planing
 2) 事实性 the pointer generator
 3) 可控性
ii. 缓解调优的不稳定性
 1) 中间微调
 2) Mixout 策略 dropout的变体
 3) 对比学习

评估指标与资源

1. 评估指标

i. N-gram overLap Metrics
  这类指标在词的粒度度量模型生成文本与ground truth文本之间的匹配程度
 1) BLEU (Bilingual Evaluation Understudy )
  BLEU算法实际上就是在判断两个句子的相似程度.
  BLEU详解 https://zhuanlan.zhihu.com/p/223048748
 2) ROUGE (Recall-Oriented Understudy for Gisting Evaluation)
  NLP评估指标之ROUGE https://zhuanlan.zhihu.com/p/504279252
 3) METEOR (The Metric for Evaluation of Translation with Explicit ORdering)
  NLP基础知识点:METEOR https://blog.csdn.net/qq_39610915/article/details/117090205
 4) ChrF++ (Character n-gram F-score)
  主要在字符级别匹配以考虑语素的重叠
ii. Diversity Metrics
 1) Distinct 衡量文本的多样性,计算方式为不重复的 ngram 数量占总 ngram 数量的比例。
iii. Semantic Similarity Metrics
 将生成文本和ground-truth映射为句子嵌入,从而计算两者的语义相似度。
 1) BERTScore,一种基于预训练的BERT上下文嵌入的语言生成评估指标。BERTSCORE将两个句子的相似度计算为其标记嵌入之间的余弦相似度之和。
 BERTScore评估 https://blog.csdn.net/weixin_43056925/article/details/120940215
iv. Logit-Based Metrics
 从概率的角度评估生成文本的质量
 1) PPL:
在这里插入图片描述

2. 文本生成的相关资源

在这里插入图片描述

应用

1. 机器翻译
2. 摘要生成

i. 文档摘要生成
ii. 对话摘要生成

3. 对话系统
4. 其他

i. 问题生成
ii. 故事生成
iii. 数据2文本生成
iv. 其他等等

总结与未来方向

1. 可控式的生成
2. 优化的探索
3. Language-agnostic PLMs.
4. Ethical Concern.

参考文献

https://blog.csdn.net/CCCCcc0504/article/details/129141072
https://blog.csdn.net/weixin_42953627/article/details/125287963

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值