本書總結了以神經(jīng)網(wǎng)絡為代表的現(xiàn)代自然語言生成的基本思想、模型和框架。本書共12
章,首先介紹了自然語言生成的研究背景、從統(tǒng)計語言模型到神經(jīng)網(wǎng)絡語言建模的過程,以及自然語言建模的思想與技術演化過程;其次從基礎模型角度介紹了基于循環(huán)神經(jīng)網(wǎng)絡、基于Transformer
的語言生成模型,從優(yōu)化方法角度介紹了基于變分自編碼器、基于生成式對抗網(wǎng)絡的語言生成模型,從生成方式角度介紹了非自回歸語言生成的基本模型和框架;然后介紹了融合規(guī)劃的自然語言生成、融合知識的自然語言生成、常見的自然語言生成任務和數(shù)據(jù)資源,以及自然語言生成的評價方法;最后總結了本書的寫作思路及對自然語言生成領域未來發(fā)展趨勢的展望。
本書可作為高等院校計算機科學與技術、人工智能、大數(shù)據(jù)等相關專業(yè)高年級本科生、研究生相關課程的教材,也適合從事自然語言處理研究、應用實踐的科研人員和工程技術人員參考。
黃民,清華大學計算機科學與技術系長聘副要研究興括人工智能、自然語言處理,尤其是對話系統(tǒng)、語言生成。曾獲中國人工智能學會吳文俊人工智能科步獎()、中文信息學會漢王青年創(chuàng)新獎,多次在國際主流會議獲得或杰出論文獎。研發(fā)對話系臺ConvLab和ConvLab-2,獲得NTCIR
2017年組織的短文本對話生成評測。擔任神經(jīng)領域期刊TNNLS(SCI一區(qū),影響因子>11)編委,自然語言處理領域期刊TACL執(zhí)行編輯,多次擔任自然語言處理會議ACL、EMNLP的領或資深領。
第1 章自然語言生成的研究背景. . . . . . . 1
1.1 自然語言生成的背景概述. . . . . . . 1
1.2 基本定義與研究范疇. . . . . . . . . . . .2
1.3 自然語言生成與自然語言理解. . .3
1.4 傳統(tǒng)的模塊化生成框架. . . . . . . . . 4
1.5 端到端的自然語言生成框架. . . . . 7
1.6 典型的自然語言生成任務. . . . . . . 9
1.7 自然語言生成的可控性. . . . . . . . 12
1.8 本書結構. . . . . . . . . . . . . . . . . . . . . . 14
第2 章從統(tǒng)計語言模型到神經(jīng)網(wǎng)絡語言建模. . . . . . . . . . . . . . . . . . . . . . 15
2.1 統(tǒng)計語言模型. . . . . . . . . . . . . . . . . 15
2.1.1 基本原理. . . . . . . . . . . . . . . . . . 15
2.1.2滑技術. . . . . . . . . . . . . . . . . . 17
2.1.3 語言模型評價. . . . . . . . . . . . . . 19
2.1.4 統(tǒng)計語言模型的缺點. . . . . . . . 20
2.2 神經(jīng)網(wǎng)絡語言模型. . . . . . . . . . . . . 21
2.2.1 前饋神經(jīng)網(wǎng)絡語言模型. . . . . . 21
2.2.2 基于循環(huán)神經(jīng)網(wǎng)絡的神經(jīng)語言模型. . . . . . . . . . . . . . 24
2.2.3 基于Transformer 的神經(jīng)語言模型. . . . . . . . . . . . . . 24
2.3 靜態(tài)詞向量模型. . . . . . . . . . . . . . . 26
2.3.1 分布假設與分布式表示. . . . . . 26
2.3.2 詞向量模型CBOW 和Skip-gram. . . . . . . . . . . . . . . . .27
2.3.3 詞向量模型訓練優(yōu)化:負采樣. . . . . . . . . . . . . . . . . . . .30
2.3.4 詞向量模型訓練優(yōu)化:層次化softmax . . . . . . . . . . . . 31
2.3.5 靜態(tài)詞向量的缺陷. . . . . . . . . . 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 長短期記憶神經(jīng)網(wǎng)絡與門控循環(huán)單元. . . . . . . . . . . . . . . . . 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 章基于生成式對抗網(wǎng)絡的語言生成模型. . . . . . . . . . . . . . . . 113
6.1 生成式對抗網(wǎng)絡的背景. . . . . . . 113
6.2 生成式對抗網(wǎng)絡的基本原理. . .115
6.3 生成式對抗網(wǎng)絡的基本結構. . .118
6.4 生成式對抗網(wǎng)絡的優(yōu)化問題. . .120
6.4.1 使用強化學訓練生成式對抗網(wǎng)絡. . . . . . . . . . . . . . . . .120
6.4.2 使似方法訓練生成式對抗網(wǎng)絡. . . . . . . . . . . . . . . . .123
6.5 生成式對抗模型在文本與圖像中的區(qū)別. . . . . . . . . . . . . . . . 126
6.6 生成式對抗網(wǎng)絡的應用. . . . . . . 128
6.6.1 對話生成. . . . . . . . . . . . . . . . .128
6.6.2 無監(jiān)督的風格遷移. . . . . . . . . 129
6.7 本章小結. . . . . . . . . . . . . . . . . . . . . 130
第7 章非自回歸語言生成. . . . . . . . . . . 131
7.1 基本原理. . . . . . . . . . . . . . . . . . . . . 131
7.1.1 適用場景的問題定義. . . . . . . 131
7.1.2 自回歸模型和非自回歸模型. . . . . . . . . . . . . . . . . . . . 132
7.1.3 模型結構. . . . . . . . . . . . . . . . .132
7.2 非自回歸模型的挑戰(zhàn). . . . . . . . . 136
7.2.1 一對多問題. . . . . . . . . . . . . . .136
7.2.2 內(nèi)部依賴問題. . . . . . . . . . . . .137
7.3 非自回歸模型的. . . . . . . . . 138
7.3.1 網(wǎng)絡結構的. . . . . . . . . . . 138
7.3.2 模型理論的. . . . . . . . . . . 139
7.3.3 后法. . . . . . . . . . . . .142
7.3.4 半自回歸方法. . . . . . . . . . . . .143
7.4 應用與拓展. . . . . . . . . . . . . . . . . . 144
7.5 本章小結. . . . . . . . . . . . . . . . . . . . . 145
第8 章融合規(guī)劃的自然語言生成. . . . .146
8.1 數(shù)據(jù)到文本生成任務中的規(guī)劃. . . . . . . . . . . . . . . . . . . . . . . . . 147
8.1.1 數(shù)據(jù)到文本生成任務的定義. . . . . . . . . . . . . . . . . . . . 147
8.1.2 傳統(tǒng)的模塊化方法. . . . . . . . . 149
8.1.3 神經(jīng)網(wǎng)絡方法. . . . . . . . . . . . .150
8.2 故事生成任務中的規(guī)劃. . . . . . . 158
8.2.1 故事生成任務的定義. . . . . . . 158
8.2.2 傳統(tǒng)方法. . . . . . . . . . . . . . . . .159
8.2.3 神經(jīng)網(wǎng)絡方法. . . . . . . . . . . . .160
8.3 本章小結. . . . . . . . . . . . . . . . . . . . . 163
第9 章融合知識的自然語言生成. . . . .164
9.1 引入知識的動機. . . . . . . . . . . . . . 164
9.2 引入知識面臨的挑戰(zhàn). . . . . . . . . 165
9.3 知識的編碼與表示. . . . . . . . . . . .166
9.3.1 結構化知識表示. . . . . . . . . . . 167
9.3.2 非結構化知識表示. . . . . . . . . 170
9.4 融合知識的解碼方法. . . . . . . . . 172
9.4.1 拷貝網(wǎng)絡. . . . . . . . . . . . . . . . .172
9.4.2 生成式預訓練. . . . . . . . . . . . .174
9.5 應用實例. . . . . . . . . . . . . . . . . . . . . 175
9.5.1 基于多跳常識推理的語言生成. . . . . . . . . . . . . . . . .175
9.5.2 故事生成. . . . . . . . . . . . . . . . .180
9.6 發(fā)展趨勢. . . . . . . . . . . . . . . . . . . . . 185
9.6.1 語言模型與知識的融合. . . . . 185
9.6.2 預訓練模型與知識的融合. . . 186
9.7 本章小結. . . . . . . . . . . . . . . . . . . . . 189
第10 章常見的自然語言生成任務和數(shù)據(jù)資源. . . . . . . . . . . . . . . . . . . 190
10.1 機器翻譯. . . . . . . . . . . . . . . . . . . .190
10.1.1 常規(guī)機器翻譯. . . . . . . . . . . .190
10.1.2 低資源機器翻譯. . . . . . . . . . 191
10.1.3 無監(jiān)督機器翻譯. . . . . . . . . . 192
10.2 生成式文本摘要. . . . . . . . . . . . . 192
10.2.1 短文本摘要. . . . . . . . . . . . . .192
10.2.2 長文本摘要. . . . . . . . . . . . . .193
10.2.3 多文檔摘要. . . . . . . . . . . . . .193
10.2.4 跨語言文本摘要. . . . . . . . . . 193
10.2.5 對話摘要. . . . . . . . . . . . . . . .194
10.2.6 細粒度文本摘要. . . . . . . . . . 195
10.3 意義到文本生成. . . . . . . . . . . . . 195
10.3.1 抽象語義表示到文本生成. . . . . . . . . . . . . . . .195
10.3.2 邏輯表達式到文本生成. . . . 197
10.4 數(shù)據(jù)到文本生成. . . . . . . . . . . . . 197
10.5 故事生成. . . . . . . . . . . . . . . . . . . .200
10.5.1 條件故事生成. . . . . . . . . . . .200
10.5.2 故事結局生成. . . . . . . . . . . .201
10.5.3 故事補全. . . . . . . . . . . . . . . .202
10.5.4 反事實故事生成. . . . . . . . . . 202
10.6 對話生成. . . . . . . . . . . . . . . . . . . .203
10.6.1 常規(guī)對話生成. . . . . . . . . . . .203
10.6.2 知識導引的對話生成. . . . . . 204
10.6.3 個性化對話生成. . . . . . . . . . 206
10.6.4 情感對話生成. . . . . . . . . . . .207
10.7 多模態(tài)語言生成. . . . . . . . . . . . . 208
10.7.1 圖像描述生成. . . . . . . . . . . .208
10.7.2 描述生成. . . . . . . . . . . .208
10.7.3 視覺故事生成. . . . . . . . . . . .210
10.7.4 視覺對話. . . . . . . . . . . . . . . .210
10.8 無約束語言生成. . . . . . . . . . . . . 211
10.9 本章小結. . . . . . . . . . . . . . . . . . . .213
第11 章自然語言生成的評價方法. . . 214
11.1 語言生成評價的角度. . . . . . . . 215
11.2 人工評價. . . . . . . . . . . . . . . . . . . .216
11.2.1 人工評價的分類. . . . . . . . . . 216
11.2.2 標注一致性. . . . . . . . . . . . . .217
11.2.3 人工評價的問題與挑戰(zhàn). . . . 219
11.3 自動評價. . . . . . . . . . . . . . . . . . . .220
11.3.1 無需學動評價方法. . . . . . . . . . . . . . . .222
11.3.2 可學動評價方法. . . . 228
11.4 自動評價與人工評價的結合. . . . . . . . . . . . . . . . . . . . . . . . 236
11.5 自動評價與人工評價的統(tǒng)計相關性. . . . . . . . . . . . . . . . . 238
11.5.1 Pearson 相關系數(shù). . . . . . . . 238
11.5.2 Spearman 相關系數(shù). . . . . . 239
11.5.3 Kendall 相關系數(shù). . . . . . . . 239
11.5.4 相關系數(shù)的顯著性. . . . . . . . 240
11.6 本章小結. . . . . . . . . . . . . . . . . . . .240
第12 章自然語言生成的趨勢展望. . . 242
12.1 現(xiàn)狀分析. . . . . . . . . . . . . . . . . . . .242
12.2 趨勢展望. . . . . . . . . . . . . . . . . . . .245
參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249