课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/

视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239

这里回顾CS224N Lecture 15的课程内容,这一讲主要介绍了自然语言生成(NLG)。

备注:图片均来自课程课件。

Recap: LMs and decoding algorithms

自然语言生成(NLG)是指生成新文本的任务。

解码算法

  • 贪心算法:每次选择概率最高的单词
  • 束搜索(k):每一步考虑$k$个概率最大的序列
  • Top-n采样:每次从概率最大的$n$个单词中采样
  • Softmax温度:增加超参数$\tau$,$P_{t}(w)=\frac{\exp \left(s_{w} / \tau\right)}{\sum_{w^{\prime} \in V} \exp \left(s_{w^{\prime}} / \tau\right)}$

NLG tasks and neural approaches to them

Summarization

定义
  • 任务:给定输入文本$x$,写一个简短的摘要$y$,其中包含$x$的主要信息。
  • 两种方法:
    • 提取摘要:选择原始文本的一部分(通常是句子)以形成摘要。
    • 抽象摘要:使用自然语言生成技术生成新文本。
评估

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)

Neural summarization

Neural summarization使用生成加复制机制来产生摘要:

  • Seq2seq + attention系统擅长编写流畅的输出,但不擅长正确复制细节(如稀有单词)
  • 复制机制要注意使seq2seq系统能够轻松地将单词和短语从输入复制到输出

复制机制的图示如下:

每次生成单词前计算$p_{\text {gen}}$,以$p_{\text {gen}}$的概率生成单词,$1-p_{\text {gen}}$的概率从文本中提取:

复制机制的问题
  • 复制太多
  • 不擅长整体内容选择,尤其是在输入文档很长的情况下
  • 没有选择内容的整体策略
bottom-up summarization

bottom-up summarization将生成摘要分为两个阶段:

  • 内容选择阶段:使用神经序列标记模型将单词标记为包含或不包含
  • 自下而上的注意阶段:seq2seq + attention不处理标记为不包含的单词(使用mask)

RL

使用强化学习直接优化ROUGE,但这样会产生人为评分较低的摘要。

Dialogue

“对话”包含多种类型:

  • 面向任务的对话
    • 辅助(例如客户服务,提供建议,问题解答,帮助用户完成诸如购买或预订某物的任务)
    • 合作(两个智能体通过对话共同解决任务)
    • 对抗(两名智能体通过对话竞争一项任务)
  • 社会对话
    • 聊天(娱乐或陪伴)
    • 治疗/心理健康
Seq2seq-based dialogue
  • 标准seq2seq +attention方法的简单应用在(chitchat)对话中普遍存在严重缺陷:
    • 泛型/无聊的回应
    • 不相关的回应(与背景没有足够的关联)
    • 重复
    • 缺乏上下文(不记得对话历史记录)
    • 缺乏一致的性格
Irrelevant response problem

解决不相关性的问题是更换损失函数:

NLG evaluation

  • 我们没有自动指标来充分体现整体质量(即代表人类质量判断的指标)
  • 但是我们可以定义更详细的自动指标来捕获生成的文本的特定方面:
    • 流利度(计算出训练有素的LM的概率)
    • 正确的风格(对LM进行目标语料库训练的概率)
    • 多样性(稀有单词的用法,n-gram的唯一性)
    • 与输入的相关性(语义相似性度量)
    • 简单的事情,例如长度和重复
    • 特定于任务的指标,例如 压缩率
  • 尽管这些指标无法衡量整体质量,但它们可以帮助我们跟踪一些我们关心的指标