描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121402494
本书总结了以神经网络为代表的现代自然语言生成的基本思想、模型和框架。本书共12 章,首先介绍了自然语言生成的研究背景、从统计语言模型到神经网络语言建模的过程,以及自然语言建模的思想与技术演化过程;其次从基础模型角度介绍了基于循环神经网络、基于Transformer 的语言生成模型,从优化方法角度介绍了基于变分自编码器、基于生成式对抗网络的语言生成模型,从生成方式角度介绍了非自回归语言生成的基本模型和框架;然后介绍了融合规划的自然语言生成、融合知识的自然语言生成、常见的自然语言生成任务和数据资源,以及自然语言生成的评价方法;*后总结了本书的写作思路及对自然语言生成领域未来发展趋势的展望。 本书可作为高等院校计算机科学与技术、人工智能、大数据等相关专业高年级本科生、研究生相关课程的教材,也适合从事自然语言处理研究、应用实践的科研人员和工程技术人员参考。
第1 章自然语言生成的研究背景. . . . . . . 1
1.1 自然语言生成的背景概述. . . . . . . 1
1.2 基本定义与研究范畴. . . . . . . . . . . .2
1.3 自然语言生成与自然语言理解. . .3
1.4 传统的模块化生成框架. . . . . . . . . 4
1.5 端到端的自然语言生成框架. . . . . 7
1.6 典型的自然语言生成任务. . . . . . . 9
1.7 自然语言生成的可控性. . . . . . . . 12
1.8 本书结构. . . . . . . . . . . . . . . . . . . . . . 14
第2 章从统计语言模型到神经网络语言建模. . . . . . . . . . . . . . . . . . . . . . 15
2.1 统计语言模型. . . . . . . . . . . . . . . . . 15
2.1.1 基本原理. . . . . . . . . . . . . . . . . . 15
2.1.2 平滑技术. . . . . . . . . . . . . . . . . . 17
2.1.3 语言模型评价. . . . . . . . . . . . . . 19
2.1.4 统计语言模型的缺点. . . . . . . . 20
2.2 神经网络语言模型. . . . . . . . . . . . . 21
2.2.1 前馈神经网络语言模型. . . . . . 21
2.2.2 基于循环神经网络的神经语言模型. . . . . . . . . . . . . . 24
2.2.3 基于Transformer 的神经语言模型. . . . . . . . . . . . . . 24
2.3 静态词向量模型. . . . . . . . . . . . . . . 26
2.3.1 分布假设与分布式表示. . . . . . 26
2.3.2 词向量模型CBOW 和Skip-gram. . . . . . . . . . . . . . . . .27
2.3.3 词向量模型训练优化:负采样. . . . . . . . . . . . . . . . . . . .30
2.3.4 词向量模型训练优化:层次化softmax . . . . . . . . . . . . 31
2.3.5 静态词向量的缺陷. . . . . . . . . . 32
2.4 语境化语言表示模型. . . . . . . . . . 33
2.4.1 ELMo . . . . . . . . . . . . . . . . . . . . 34
2.4.2 BERT . . . . . . . . . . . . . . . . . . . . 36
2.4.3 XLNet. . . . . . . . . . . . . . . . . . . .38
2.5 本章小结. . . . . . . . . . . . . . . . . . . . . . 39
第3 章基于RNN 的语言生成模型. . .41
3.1 RNN 的基本原理. . . . . . . . . . . . . . 41
3.2 RNN 的训练算法. . . . . . . . . . . . . . 42
3.3 长短期记忆神经网络与门控循环单元. . . . . . . . . . . . . . . . . 45
3.4 RNN 的架构设计. . . . . . . . . . . . . . 47
3.4.1 多层RNN . . . . . . . . . . . . . . . . 47
3.4.2 双向RNN . . . . . . . . . . . . . . . . 48
3.5 基于RNN 的语言模型. . . . . . . . 48
3.5.1 模型结构. . . . . . . . . . . . . . . . . . 49
3.5.2 主要问题. . . . . . . . . . . . . . . . . . 50
3.5.3 模型改进. . . . . . . . . . . . . . . . . . 51
3.6 序列到序列模型. . . . . . . . . . . . . . . 52
3.6.1 基本原理. . . . . . . . . . . . . . . . . . 52
3.6.2 模型结构. . . . . . . . . . . . . . . . . . 53
3.6.3 注意力机制. . . . . . . . . . . . . . . . 54
3.7 解码器的解码方法. . . . . . . . . . . . . 57
3.7.1 基于搜索的解码方法. . . . . . . . 59
3.7.2 基于采样的解码方法. . . . . . . . 61
3.8 序列到序列模型存在的问题. . . .64
3.9 本章小结. . . . . . . . . . . . . . . . . . . . . . 65
第4 章基于Transformer 的语言生成模型. . . . . . . . . . . . . . . . . 66
4.1 Transformer 模型的基本原理. . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1.1 多头注意力机制. . . . . . . . . . . . 66
4.1.2 Transformer 基本单元. . . . . . 69
4.2 基于Transformer 的编码器—解码器结构. . . . . . . . . . 71
4.2.1 基本原理. . . . . . . . . . . . . . . . . . 71
4.2.2 位置编码模块. . . . . . . . . . . . . . 73
4.2.3 Transformer 编码器. . . . . . . . 74
4.2.4 Transformer 解码器. . . . . . . . 74
4.3 Transformer 模型与RNN 模型的比较. . . . . . . . . . . . . . 77
4.4 Transformer 模型问题与解决方案. . . . . . . . . . . . . . . . . . . . . . 79
4.4.1 长距离依赖问题. . . . . . . . . . . . 79
4.4.2 运算复杂度问题. . . . . . . . . . . . 81
4.5 基于Transformer 的预训练语言生成模型. . . . . . . . . . . . . . . . . . . . . . 85
4.5.1 GPT 模型. . . . . . . . . . . . . . . . .86
4.5.2 GPT-2 和GPT-3 . . . . . . . . . . 88
4.5.3 GPT 模型的扩展. . . . . . . . . . . 90
4.6 本章小结. . . . . . . . . . . . . . . . . . . . . . 92
第5 章基于变分自编码器的语言生成模型. . . . . . . . . . . . . . . . . 93
5.1 自编码器. . . . . . . . . . . . . . . . . . . . . . 93
5.2 变分自编码器. . . . . . . . . . . . . . . . . 94
5.3 条件变分自编码器. . . . . . . . . . . . . 98
5.4 解码器设计. . . . . . . . . . . . . . . . . . 100
5.5 变分自编码器在语言生成
任务上的应用实例. . . . . . . . . . . .102
5.5.1 含类别约束的条件变分自编码器模型. . . . . . . . . . . . . 102
5.5.2 含隐变量序列的条件变分自编码器模型. . . . . . . . . . . . . 104
5.6 主要问题及解决方案. . . . . . . . . 107
5.6.1 隐变量消失. . . . . . . . . . . . . . .107
5.6.2 可解释性增强. . . . . . . . . . . . .109
5.7 本章小结. . . . . . . . . . . . . . . . . . . . . 111
第6 章基于生成式对抗网络的语言生成模型. . . . . . . . . . . . . . . . 113
6.1 生成式对抗网络的背景. . . . . . . 113
6.2 生成式对抗网络的基本原理. . .115
6.3 生成式对抗网络的基本结构. . .118
6.4 生成式对抗网络的优化问题. . .120
6.4.1 使用强化学习方法训练生成式对抗网络. . . . . . . . . . . . . . . . .120
6.4.2 使用近似方法训练生成式对抗网络. . . . . . . . . . . . . . . . .123
6.5 生成式对抗模型在文本与图像中的区别. . . . . . . . . . . . . . . . 126
6.6 生成式对抗网络的应用. . . . . . . 128
6.6.1 对话生成. . . . . . . . . . . . . . . . .128
6.6.2 无监督的风格迁移. . . . . . . . . 129
6.7 本章小结. . . . . . . . . . . . . . . . . . . . . 130
第7 章非自回归语言生成. . . . . . . . . . . 131
7.1 基本原理. . . . . . . . . . . . . . . . . . . . . 131
7.1.1 适用场景的问题定义. . . . . . . 131
7.1.2 自回归模型和非自回归模型. . . . . . . . . . . . . . . . . . . . 132
7.1.3 模型结构. . . . . . . . . . . . . . . . .132
7.2 非自回归模型的挑战. . . . . . . . . 136
7.2.1 一对多问题. . . . . . . . . . . . . . .136
7.2.2 内部依赖问题. . . . . . . . . . . . .137
7.3 非自回归模型的改进. . . . . . . . . 138
7.3.1 网络结构的改进. . . . . . . . . . . 138
7.3.2 模型理论的改进. . . . . . . . . . . 139
7.3.3 后处理的方法. . . . . . . . . . . . .142
7.3.4 半自回归方法. . . . . . . . . . . . .143
7.4 应用与拓展. . . . . . . . . . . . . . . . . . 144
7.5 本章小结. . . . . . . . . . . . . . . . . . . . . 145
第8 章融合规划的自然语言生成. . . . .146
8.1 数据到文本生成任务中的规划. . . . . . . . . . . . . . . . . . . . . . . . . 147
8.1.1 数据到文本生成任务的定义. . . . . . . . . . . . . . . . . . . . 147
8.1.2 传统的模块化方法. . . . . . . . . 149
8.1.3 神经网络方法. . . . . . . . . . . . .150
8.2 故事生成任务中的规划. . . . . . . 158
8.2.1 故事生成任务的定义. . . . . . . 158
8.2.2 传统方法. . . . . . . . . . . . . . . . .159
8.2.3 神经网络方法. . . . . . . . . . . . .160
8.3 本章小结. . . . . . . . . . . . . . . . . . . . . 163
第9 章融合知识的自然语言生成. . . . .164
9.1 引入知识的动机. . . . . . . . . . . . . . 164
9.2 引入知识面临的挑战. . . . . . . . . 165
9.3 知识的编码与表示. . . . . . . . . . . .166
9.3.1 结构化知识表示. . . . . . . . . . . 167
9.3.2 非结构化知识表示. . . . . . . . . 170
9.4 融合知识的解码方法. . . . . . . . . 172
9.4.1 拷贝网络. . . . . . . . . . . . . . . . .172
9.4.2 生成式预训练. . . . . . . . . . . . .174
9.5 应用实例. . . . . . . . . . . . . . . . . . . . . 175
9.5.1 基于多跳常识推理的语言生成. . . . . . . . . . . . . . . . .175
9.5.2 故事生成. . . . . . . . . . . . . . . . .180
9.6 发展趋势. . . . . . . . . . . . . . . . . . . . . 185
9.6.1 语言模型与知识的融合. . . . . 185
9.6.2 预训练模型与知识的融合. . . 186
9.7 本章小结. . . . . . . . . . . . . . . . . . . . . 189
第10 章常见的自然语言生成任务和数据资源. . . . . . . . . . . . . . . . . . . 190
10.1 机器翻译. . . . . . . . . . . . . . . . . . . .190
10.1.1 常规机器翻译. . . . . . . . . . . .190
10.1.2 低资源机器翻译. . . . . . . . . . 191
10.1.3 无监督机器翻译. . . . . . . . . . 192
10.2 生成式文本摘要. . . . . . . . . . . . . 192
10.2.1 短文本摘要. . . . . . . . . . . . . .192
10.2.2 长文本摘要. . . . . . . . . . . . . .193
10.2.3 多文档摘要
前言
自然语言生成经过几十年的发展,已经成为人工智能和自然语言处理的重要研究领域。早的自然语言生成系统采用规则、模板的方法,设计各司其职的模块进行文本生成,其中体现了很多人工设计的词汇、语法、句法甚至语用的语言学知识。统计语言模型则从概率统计的角度提出了语言建模的新思路,将词汇与上下文的依赖关系编码在条件概率中。以深度学习模型为基本架构的现代语言生成模型绝大多数通过端到端训练的方式,能更好地建模词汇与上下文之间统计共现关系,显著地提升了文本生成的性能。特别是以Transformer为基础架构的预训练语言生成模型,能够较好地捕获包括词汇、语法、句法、语义等各层面的语言学知识,生成效果令人惊叹。
技术的进步显著地推动了应用的发展。就自然语言生成而言,机器翻译、摘要生成、故事生成、对话生成、诗歌生成等任务都广泛地应用了以神经网络为基本架构的现代语言生成方法,生成效果相比传统方法进步显著,在许多实际应用场景中大显身手。以神经机器翻译为例,在数据丰富的领域,机器翻译的效果甚至可以媲美人工翻译的效果。Google 新推出的聊天机器人Meena 采用基于Transformer 的架构,在某些方面接近或甚至超过人类对话的效果。GPT 系列模型甚至可以生成人物角色丰富、故事情节曲折的长文本故事。机器创作,包括强调创新和创意的语言生成任务,如现代诗、歌词、古诗生成等,业已成为人工智能领域广受关注的研究课题,并在一些应用场景中落地,微软小冰甚至出版了机器
创作的现代诗歌集。
正因为这样的背景,我们认为系统地总结自然语言生成的算法、模型和技术是十分必要的。通过梳理自然语言生成特有的问题和挑战,我们希望整理、概括和归纳现有的自然语言生成模型、框架和方法,以便我们更好地思考这个领域的现状和未来。而且,目前已有的相关书籍中,还未见以自然语言生成为专题的书籍,这也是我们写这本书的重要原因之一。
本书的写作围绕自然语言文本的概率建模开展。无论是传统的统计语言模型,还是现代神经网络语言模型,都可以归结到一个基本问题,即给定上文如何预测下文。传统的统计语言模型采用符号化的条件概率表,并利用共现次数直接估计条件概率。在基于神经网络的模型中,条件概率通过一个参数化模型来表达。模型容量越大,数据越多,这种参数化模型的优势体现得越明显。从统计语言建模到神经语言建模的发展过程实际是从语言文字的符号表示到向量表示的转变过程。静态词向量、语境化语言表示的建模思路深刻地改变了传统语言表示的计算范式,但其背后恒久不变的思想依然是分布假设:出现在相似上下文中的词是相似的。
本书围绕文本的“条件概率建模”这条主线,从基础模型、优化方法、生成方式、生成机制等多个层面进行介绍。在基础模型方面,介绍了目前主流的循环神经网络和Transformer两类模型,并从模型结构、注意力机制等角度分析了两者的区别与联系。在优化方法方面,介绍了变分自编码器中变分优化和生成式对抗网络中的对抗优化方法。在生成方式方面,除了经典的自回归语言生成方式,还介绍了前沿的非自回归生成方式,为文本生成提供了一种新的视角。在生成机制方面,介绍了语言生成中重要的规划机制和知识融入机制,并介绍了具体应用案例。后系统地整理了语言生成的评价方法,从语言生成到语言评价形成了一个闭环。
本书可作为高等院校计算机科学与技术、人工智能、大数据等相关专业高年级本科生、研究生相关课程的教材,也适合从事自然语言处理研究、应用实践的科研人员和工程技术人员参考。本书的内容对理解现代语言生成模型的原理、优势和弊端将有很大的帮助。需要注意的是,理解本书内容需要具备概率统计、微积分、线性代数、机器学习的基本知识;对于深度学习方面的知识,则要求具备多层感知机、反向传播算法、自编码器等神经网络的基本知识。
本书是清华大学计算机系、人工智能研究院对话式智能(CoAI) 小组集体努力的成果,也反映了课题组这几年在语言生成上的探索与积累,部分成果也编入了本书中。另外,如果没有国内外同行的研究工作,不可能有本书的出版。后,感谢家人在写作期间无条件的支持。
由于编写时间仓促,书中难免存在错误、疏漏之处,望读者包涵,请批评指正。
评论
还没有评论。