神經機器翻譯 Neural Machine Translation

Philipp Koehn 張家俊,趙陽,宗成慶 譯

買這商品的人也買了...

商品描述

本書介紹了機器翻譯和評估的挑戰——包括歷史、語言和應用環境,
然後提出了用於自然語言應用的核心深度學習方法。
內含Python代碼示例,為讀者提供理解和實現自己的機器翻譯系統的實際藍圖。
本書還提供了廣泛的機器學習技巧,涉及的問題包括處理各種形式的數據、模型的增強、當前的挑戰以及方法分析和可視化。
本書包含機器翻譯領域的前沿研究,適用於該領域的本科和研究生,
以及對神經方法在更廣泛的人類語言處理領域的其他應用感興趣的研究人員,也可以作為開發人員的重要參考。

目錄大綱

作者寄語
譯者序
前言
閱讀指南
一部分 緒論
1章 翻譯問題 2
1.1 翻譯的目標 2
1.2 歧義性 4
1.2.1 詞彙翻譯問題 4
1.2.2 短語翻譯問題 4
1.2.3 句法翻譯問題 5
1.2.4 語義翻譯問題 5
1.3 語言學觀點 6
1.4 數據視角 9
1.4.1 忠實度 9
1.4.2 流暢度 10
1.4.3 齊普夫定律 11
1.5 實際問題 13
1.5.1 公開的數據 13
1.5.2 評測活動 13
1.5.3 工具集 14
2章 機器翻譯的應用 15
2.1 信息獲取 15
2.2 人工輔助翻譯 16
2.3 交流 18
2.4 自然語言處理的管道式系統 21
2.5 多模態機器翻譯 21
3章 歷史回顧 23
3.1 神經網絡 24
3.1.1 生物學啟發 24
3.1.2 感知器學習 25
3.1.3 多層網絡 25
3.1.4 深度學習 26
3.2 機器翻譯 27
3.2.1 密碼破譯 27
3.2.2 ALPAC報告與後續影響 27
3.2.3 商用系統 28
3.2.4 基於中間語言的翻譯系統 28
3.2.5 數據驅動的方法 28
3.2.6 開源的研發環境 29
3.2.7 深入用戶 30
3.2.8 神經翻譯的興起 30
4章 評價方法 32
4.1 基於任務的評價 32
4.1.1 真實世界的任務 33
4.1.2 內容理解 33
4.1.3 譯員翻譯效率 34
4.2 人工評價 35
4.2.1 忠實度和流暢度 35
4.2.2 排序 37
4.2.3 連續分數 38
4.2.4 眾包評價 40
4.2.5 人工譯文編輯率 41
4.3 自動評價指標 41
4.3.1 BLEU 42
4.3.2 同義詞和形態變體 43
4.3.3 TER 44
4.3.4 characTER 45
4.3.5 自舉重採樣 45
4.4 指標研究 47
4.4.1 關於評價的爭論 47
4.4.2 對評價指標的評價 48
4.4.3 自動評價指標缺點的相關證據 49
4.4.4 新的評價指標 50
二部分 基礎
5章 神經網絡 54
5.1 線性模型 54
5.2 多層網絡 55
5.3 非線性模型 56
5.4 推斷 57
5.5 反向傳播訓練 59
5.5.1 輸出節點權重 60
5.5.2 隱藏層節點權重 61
5.5.3 公式總結 63
5.5.4 權重更新示例 63
5.5.5 驗證集 64
5.6 探索並行處理 65
5.6.1 向量和矩陣運算 65
5.6.2 小批量訓練 65
5.7 動手實踐:使用Python實現神經網絡 66
5.7.1 Numpy庫中的數據結構和函數 66
5.7.2 前向計算 67
5.7.3 反向計算 67
5.7.4 鍊式法則的重複使用 68
5.8 擴展閱讀 71
6章 計算圖 72
6.1 用計算圖描述神經網絡 72
6.2 梯度計算 73
6.3 動手實踐:深度學習框架 77
6.3.1 利用PyTorch實現前向和反向計算 77
6.3.2 循環訓練 79
6.3.3 批訓練 80
6.3.4 優化器 81
7章 神經語言模型 83
7.1 前饋神經語言模型 83
7.1.1 表徵單詞 84
7.1.2 神經網絡架構 85
7.1.3 訓練 86
7.2 詞嵌入 86
7.3 噪聲對比估計 88
7.4 循環神經語言模型 89
7.5 長短時記憶模型 91
7.6 門控循環單元 93
7.7 深度模型 94
7.8 動手實踐:PyTorch中的神經語言模型 96
7.8.1 循環神經網絡 96
7.8.2 文本處理 97
7.8.3 循環訓練 98
7.8.4 建議 99
7.9 擴展閱讀 100
8章 神經翻譯模型 101
8.1 編碼器–解碼器方法 101
8.2 添加對齊模型 102
8.2.1 編碼器 102
8.2.2 解碼器 103
8.2.3 注意力機制 104
8.3 訓練 106
8.4 深度模型 108
8.4.1 解碼器 108
8.4.2 編碼器 109
8.5 動手實踐:利用PyTorch實現神經翻譯模型 110
8.5.1 編碼器 111
8.5.2 解碼器 111
8.5.3 訓練 113
8.6 擴展閱讀 115
9章 解碼 116
9.1 柱搜索 116
9.2 集成解碼 119
9.2.1 生成候選系統 120
9.2.2 融合系統輸出 120
9.3 重排序 121
9.3.1 利用從右到左解碼的重排序 121
9.3.2 利用反向模型的重排序 122
9.3.3 增加n-best列表的多樣性 122
9.3.4 評分組件的權重學習 123
9.4 優化解碼 126
9.5 約束解碼 127
9.5.1 XML模式 127
9.5.2 網格搜索 127
9.5.3 強制注意力 128
9.5.4 評價 129
9.6 動手實踐:Python中的解碼 129
9.6.1 假設 129
9.6.2 柱空間 129
9.6.3 搜索 131
9.6.4 輸出佳譯文 132
9.7 擴展閱讀 133
三部分 提高
10章 機器學習技巧 138
10.1 機器學習中的問題 138
10.2 確保隨機性 140
10.2.1 打亂訓練數據 141
10.2.2 權重初始化 141
10.2.3 標籤平滑 142
10.3 調整學習率 142
10.3.1 動量項 142
10.3.2 調整每個參數的學習率 143
10.3.3 批梯度更新 144
10.4 避免局部優 145
10.4.1 正則化 145
10.4.2 課程學習 145
10.4.3 drop-out法 146
10.5 處理梯度消失和梯度爆炸問題 147
10.5.1 梯度裁剪 147
10.5.2 層歸一化 147
10.5.3 捷徑連接和高速連接 148
10.5.4 LSTM和梯度消失 149
10.6 句子級優化 150
10.6.1 小風險訓練 150
10.6.2 生成對抗訓練 151
10.7 擴展閱讀 152
11章 替代架構 155
11.1 神經網絡組件 155
11.1.1 前饋層 155
11.1.2 因子分解 156
11.1.3 基本的數學運算 157
11.1.4 循環神經網絡 158
11.1.5 卷積神經網絡 159
11.2 注意力模型 160
11.2.1 注意力計算 160
11.2.2 多頭注意力 161
11.2.3 細粒度注意力 162
11.2.4 自註意力 162
11.3 卷積機器翻譯模型 163
11.4 融合注意力機制的捲積神經網絡 165
11.4.1 編碼器 165
11.4.2 解碼器 166
11.4.3 注意力 167
11.5 自註意力:Transformer 167
11.5.1 自註意力層 167
11.5.2 解碼器中的注意力 168
11.6 擴展閱讀 171
12章 重溫單詞 173
12.1 詞嵌入 173
12.1.1 潛在語義分析 174
12.1.2 連續詞袋模型 175
12.1.3 Skip Gram 176
12.1.4 GloVe 176
12.1.5 ELMo 177
12.1.6 BERT 178
12.2 多語言詞嵌入 178
12.2.1 特定語言詞嵌入之間的映 179
12.2.2 語言無關的詞嵌入 180
12.2.3 僅使用單語數據 180
12.3 大詞彙表 182
12.3.1 低頻詞的特殊處理 182
12.3.2 字節對編碼算法 183
12.3.3 句子片段化算法 184
12.3.4 期望大化訓練 185
12.3.5 子詞正則化 185
12.4 基於字符的模型 186
12.4.1 字符序列模型 186
12.4.2 基於字符的單詞表示模型 186
12.4.3 集成基於字符的模型 188
12.5 擴展閱讀 189
13章 領域自適應 195
13.1 領域 195
13.1.1 語料庫之間的差異 196
13.1.2 多領域場景 197
13.1.3 領域內與領域外 198
13.1.4 自適應效應 198
13.1.5 合理的警告 199
13.2 混合模型 199
13.2.1 數據插值 199
13.2.2 模型插值 200
13.2.3 領域感知訓練 201
13.2.4 主題模型 202
13.3 欠採樣 204
13.3.1 Moore-Lewis:語言模型交熵 204
13.3.2 基於覆蓋範圍的方法 205
13.3.3 樣本加權 206
13.4 微調 206
13.4.1 約束更新 207
13.4.2 文檔級自適應 208
13.4.3 句子級自適應 209
13.4.4 課程訓練 210
13.5 擴展閱讀 210
14章 越平行語料庫 214
14.1 使用單語數據 215
14.1.1 增加語言模型 215
14.1.2 回譯 216
14.1.3 迭代回譯 217
14.1.4 往返訓練 217
14.2 多種語言對 218
14.2.1 多種輸入語言 219
14.2.2 多種輸出語言 219
14.2.3 共享模塊 220
14.3 訓練相關任務 221
14.3.1 預訓練詞嵌入 221
14.3.2 預訓練編碼器和解碼器 221
14.3.3 多任務訓練 222
14.4 擴展閱讀 222
15章 語言學結構 228
15.1 有指導的對齊訓練 228
15.2 建模覆蓋度 230
15.2.1 在推斷過程中約束覆蓋度 230
15.2.2 覆蓋度模型 231
15.2.3 繁衍率 232
15.2.4 特徵工程與機器學習 232
15.3 添加語言學標註 233
15.3.1 輸入句子的語言學標註 233
15.3.2 輸出句子的語言學標註 234
15.3.3 語言學結構化的模型 235
15.4 擴展閱讀 236
16章 當前挑戰 238
16.1 領域不匹配 238
16.2 訓練數據規模 240
16.3 稀有詞 241
16.4 噪聲數據 243
16.4.1 真實世界中的噪聲 243
16.4.2 合成噪聲 245
16.4.3 噪聲對翻譯質量的影響 246
16.5 柱搜索 248
16.6 詞對齊 250
16.7 擴展閱讀 251
17章 分析與可視化 253
17.1 錯誤分析 253
17.1.1 神經機器翻譯的典型錯誤 253
17.1.2 語言學錯誤類型 255
17.1.3 真實世界中的研究案例 256
17.1.4 目標測試集 257
17.1.5 合成語言 259
17.2 可視化 259
17.2.1 詞嵌入 260
17.2.2 編碼器狀態:詞義 261
17.2.3 注意力機制 262
17.2.4 多頭注意力機制 263
17.2.5 語言模型預測中的記憶 264
17.2.6 解碼器狀態 266
17.2.7 柱搜索 266
17.3 探測向量表示 267
17.3.1 分類器方法 267
17.3.2 實驗發現 268
17.4 分析神經元 269
17.4.1 認知理論 269
17.4.2 個體神經元 269
17.4.3 揭示神經元 271
17.5 追溯模型決策過程 271
17.5.1 層級間相關性傳遞 271
17.5.2 相關性傳遞在機器翻譯中的應用 273
17.5.3 顯著性計算 274
17.6 擴展閱讀 275
參考文獻 279