1.1 概述

从狭义上说,自然语言处理 = 自然语言生成 + 自然语言理解。
自然语言理解重在分析,重点在于分析出语义的意图。过程通常是自底向上的,以词性、语法、语用、篇章、语义解析的顺序进行,需要在多个假设中选择最可能的一个或多个作为最终输出。主要困难在于歧义和输入信息不足。
自然语言生成重在规划和构建,重点在于翻译为人类可读的语言文本。过程通常是自顶向下的,从上层的语义出发,先要确定篇章和语用结构,再确定概念到词的映射,最后确定词形和具体的表型。


基于现代深度学习框架的自然语言处理模型在性能上显著地超越了基于规则或传统机器学习的方法,时至今日,基于神经网络的语言模型已经成为语言生成方法的主流方式。传统的统计语言模型采用符号化的条件概率表,并利用共现次数直接估计条件概率。在基于神经网络的模型中,条件概率通过一个参数化模型来表达,模型容量越大,数据越多,这种参数化模型的优势体现得越明显。从统计语言建模到神经语言建模的发展过程实际是从语言文字的符号表示到向量表示的转变过程。


自然语言生成可以应用于机器翻译、对话生成、故事生成、诗歌生成、摘要生成等任务。

  • 机器翻译:在数据丰富的领域,机器翻译的效果可以媲美人工翻译。
  • 对话生成:Google 聊天机器人 Meena 采用基于 Transformer 的架构,在某些方面接近甚至超过人类对话的效果。
  • 故事生成:GPT 系列模型可以生成人物角色丰富、故事情节曲折的长文本故事。
  • 诗歌生成:微软小冰出版了机器创作的现代诗歌集。

    1.2 基本定义

    在特定的交互目标下,从给定输入信息(可为空)生成人类可读的语言文本的自动化过程。系统输入可以表示为四元组

    • CG:交互目标(Communicative Goal),即所生成的语言文本服务于何种通信、交互目的。
    • UM:用户模型(User Model),即所生成的语言文本的读者或受众。
    • KB:任务相关的领域知识库(Knowledge Base),如实体、关系、领域规则等信息。
    • CH:上下文信息(Context History),即模型在生成当前文本时需要考虑的输入信息,可能为文本、数据、图像或视频等。

1.3 传统的模块化生成框架