Transformer深度解析與NLP應用開發
梁志遠、韓曉晨
- 出版商: 清華大學
- 出版日期: 2025-04-01
- 定價: $714
- 售價: 8.5 折 $607
- 語言: 簡體中文
- ISBN: 7302685622
- ISBN-13: 9787302685623
-
相關分類:
Text-mining
下單後立即進貨 (約4週~6週)
相關主題
商品描述
目錄大綱
目 錄
引 言 1
一、從統計學習到Transformer崛起 1
二、開發環境配置:構建高效的Transformer開發平臺 3
第1章 Transformer與自然語言處理概述 7
1.1 Transformer的基礎架構與原理 7
1.1.1 多頭註意力機制的核心計算 8
1.1.2 位置編碼與網絡穩定性的設計 11
1.2 深度學習經典架構CNN和RNN的局限性 15
1.2.1 CNN在自然語言處理中的應用與局限 15
1.2.2 RNN架構與長序列建模問題 17
1.3 自註意力機制 19
1.3.1 自註意力機制的矩陣計算原理 19
1.3.2 計算復雜度與信息保持 21
1.4 BERT雙向編碼器與GPT單向生成器 23
1.4.1 BERT架構與雙向信息編碼 23
1.4.2 GPT架構與單向生成能力 26
1.5 基於Transformer的遷移學習 27
1.5.1 遷移學習方法與特定任務適應性 27
1.5.2 遷移學習的實際應用與優化策略 30
1.6 Hugging Face平臺開發基礎 34
1.6.1 關於Hugging Face 35
1.6.2 環境準備 35
1.6.3 快速上手:使用預訓練模型 35
1.6.4 數據預處理與分詞 36
1.6.5 使用自定義數據集進行推理 36
1.6.6 微調預訓練模型 37
1.6.7 保存與加載模型 38
1.6.8 部署模型到Hugging Face Hub 39
1.7 本章小結 40
1.8 思考題 40
第2章 文本預處理與數據增強 41
2.1 文本數據清洗與標準化 41
2.1.1 正則表達式在文本清洗中的應用 41
2.1.2 詞乾提取與詞形還原技術 46
2.2 分詞與嵌入技術 48
2.2.1 n-gram分詞與BERT分詞原理 48
2.2.2 Word2Vec與BERT詞嵌入的動態表示 50
2.3 字符級別與詞級別的嵌入方法 56
2.3.1 字符級嵌入模型的實現與優勢 56
2.3.2 FastText在細粒度信息捕捉中的應用 58
2.4 數據集格式與標簽處理 63
2.4.1 JSON和CSV格式的數據讀取與處理 63
2.4.2 多標簽分類的標簽編碼與存儲優化 68
2.5 數據增強方法 70
2.5.1 同義詞替換與句子反轉的增強策略 70
2.5.2 EDA方法在數據擴充中的應用 73
2.6 本章小結 77
2.7 思考題 77
第3章 基於Transformer的文本分類 79
3.1 傳統的規則與機器學習的文本分類對比 79
3.1.1 基於邏輯樹和正則表達式的關鍵詞分類 79
3.1.2 TF-IDF與詞嵌入在傳統分類算法中的應用 81
3.2 BERT模型在文本分類中的應用 83
3.2.1 BERT特徵提取與分類頭的實現 83
3.2.2 BERT在二分類與多分類任務中的微調 86
3.3 數據集加載與預處理 88
3.3.1 使用Hugging Face datasets庫加載數據集 89
3.3.2 數據清洗與DataLoader的批處理優化 90
3.4 文本分類中的微調技巧 92
3.4.1 學習率調度器與參數凍結 92
3.4.2 Warmup Scheduler與線性衰減 95
3.5 本章小結 98
3.6 思考題 99
第4章 依存句法與語義解析 100
4.1 依存句法的基本概念 100
4.1.1 依存關系術語解析:主謂賓結構與修飾關系 100
4.1.2 使用SpaCy構建依存關系樹與句法提取 102
4.2 基於Tree-LSTM的依存句法打分方法 104
4.2.1 Tree-LSTM處理依存樹結構的實現 104
4.2.2 句法結構的打分與信息傳遞機制 107
4.3 使用GNN實現依存關系 109
4.3.1 圖神經網絡在依存結構建模中的應用 110
4.3.2 節點特徵與邊權重的依存關系表示 112
4.4 Transformer在依存解析中的應用 115
4.4.1 BERT上下文嵌入與GNN模型的結合 115
4.4.2 混合模型在依存關系建模中的應用 117
4.5 依存句法與語義角色標註的結合 118
4.5.1 語義角色標註的定義與依存關系融合 119
4.5.2 使用AllenNLP實現句法結構與語義角色標註的結合 121
4.6 本章小結 123
4.7 思考題 124
第5章 序列標註與命名實體識別 125
5.1 序列標註任務與常用方法 125
5.1.1 BIO編碼與標簽平滑技術 125
5.1.2 條件隨機場層的數學原理與實現 129
5.2 雙向LSTM與CRF的結合 131
5.2.1 雙向LSTM的結構與工作原理 131
5.2.2 ELMo模型的上下文嵌入與序列標註 133
5.3 BERT在命名實體識別中的應用 134
5.3.1 BERT的CLS標記與Token向量在NER中的作用 134
5.3.2 NER任務的微調流程與代碼實現 136
5.4 實體識別任務的模型評估 138
5.4.1 NER評估標準:準確率、召回率與F1分數 138
5.4.2 各類實體的性能評估與代碼實現 140
5.5 結合Gazetteers與實體識別 141
5.5.1 領域特定詞典的構建與應用 141
5.5.2 結合詞典信息提升實體識別準確性 144
5.6 本章小結 147
5.7 思考題 147
第6章 文本生成任務的Transformer實現 149
6.1 生成式文本任務的基本方法 149
6.1.1 n-gram模型與馬爾可夫假設 149
6.1.2 n-gram模型在長文本生成中的局限性 150
6.2 優化生成策略 152
6.2.1 Greedy Search與Beam Search算法 152
6.2.2 Top-K採樣與Top-P採樣 155
6.3 T5模型在文本摘要中的應用 159
6.3.1 T5編碼器-解碼器架構在文本摘要中的應用 159
6.3.2 T5模型的任務指令化微調與應用優化 161
6.4 生成式Transformer模型的比較 164
6.4.1 GPT-2、T5和BART的架構區別與生成任務適配 164
6.4.2 生成式模型在文本摘要和對話生成中的對比應用 167
6.5 Transformer在對話生成中的應用 169
6.5.1 對話生成模型的上下文保持與一致性 169
6.5.2 使用GPT-2與DialoGPT構建多輪對話生成系統 172
6.6 文本生成的端到端實現 173
6.6.1 新聞摘要任務的文本生成流程 173
6.6.2 多種生成方式結合:提升生成質量 175
6.7 本章小結 178
6.8 思考題 178
第7章 多語言模型與跨語言任務 180
7.1 多語言詞嵌入與對齊技術 180
7.1.1 對抗訓練在詞嵌入對齊中的應用 180
7.1.2 跨語言文本相似度計算的投影矩陣方法 183
7.2 XLM與XLM-R的實現 185
7.2.1 XLM與XLM-RoBERTa在多語言任務中的模型結構 185
7.2.2 多語言文本分類與翻譯任務中的應用實例 186
7.3 使用XLM-RoBERTa進行多語言文本分類 188
7.3.1 XLM-RoBERTa的加載與微調流程 188
7.3.2 標簽不均衡與語言分佈不平衡的處理技巧 190
7.4 跨語言模型中的翻譯任務 192
7.4.1 XLM-RoBERTa在翻譯任務中的應用 192
7.4.2 翻譯任務的模型微調與質量提升策略 194
7.5 多語言模型的代碼實現與評估 197
7.5.1 多語言模型的數據加載與訓練實現 197
7.5.2 BLEU與F1分數在跨語言任務中的評估應用 199
7.5.3 多語言模型綜合應用示例 202
7.6 本章小結 205
7.7 思考題 206
第8章 深度剖析註意力機制 207
8.1 Scaled Dot-Product Attention的實現 207
8.1.1 查詢、鍵和值的矩陣計算與縮放 207
8.1.2 softmax歸一化與註意力權重的提取與分析 210
8.2 多頭註意力的實現細節與優化 212
8.2.1 多頭註意力的並行計算與輸出拼接 212
8.2.2 初始化方法與正則化技巧防止過擬合 215
8.3 層歸一化與殘差連接在註意力模型中的作用 217
8.3.1 層歸一化的標準化與穩定性提升 217
8.3.2 殘差連接在信息流動與收斂性中的作用 219
8.4 註意力機制在不同任務中的應用 221
8.4.1 機器翻譯與摘要生成中的註意力應用實例 221
8.4.2 註意力權重可行性解釋 225
8.5 Attention Is All You Need論文中的代碼實現 226
8.5.1 多頭註意力與前饋神經網絡的分步實現 226
8.5.2 位置編碼的實現與代碼逐行解析 229
8.6 本章小結 232
8.7 思考題 232
第9章 文本聚類與BERT主題建模 234
9.1 文本聚類任務概述 234
9.1.1 K-means算法在文本聚類中的應用 234
9.1.2 層次聚類算法的實現與潛在類別發現 237
9.2 使用Sentence-BERT進行聚類 238
9.2.1 Sentence-BERT的文本嵌入表示 239
9.2.2 短文本與長文本聚類的相似度分析 240
9.3 BERT在主題建模中的應用 244
9.3.1 BERT與LDA結合實現主題模型 244
9.3.2 動態嵌入生成語義化主題表示 246
9.4 本章小結 250
9.5 思考題 250
第10章 基於語義匹配的問答系統 251
10.1 使用Sentence-BERT進行語義相似度計算 251
10.1.1 句子嵌入在語義相似度中的應用 251
10.1.2 餘弦相似度的計算與代碼實現 253
10.2 語義匹配任務中的數據標註與處理 255
10.2.1 數據標註格式設計 255
10.2.2 數據不平衡問題:重採樣與加權 259
10.3 基於BERT的問答系統 261
10.3.1 BERT在SQuAD數據集上的微調流程 262
10.3.2 CLS與SEP標記在問答任務中的作用 266
10.4 使用DistilBERT進行MRC優化 269
10.4.1 DistilBERT的蒸餾過程與模型簡化 269
10.4.2 DistilBERT在問答系統中的高效應用 271
10.5 本章小結 275
10.6 思考題 275
第11章 常用模型微調技術 277
11.1 微調基礎概念 277
11.1.1 凍結層與解凍策略的應用場景 277
11.1.2 微調中的參數不對稱更新 281
11.2 使用領域數據微調BERT模型 283
11.2.1 金融與醫學領域數據的預處理與標簽平衡 283
11.2.2 BERT微調過程中的參數初始化與學習率設置 285
11.3 參數高效微調(PEFT)進階 288
11.3.1 LoRA、Prefix Tuning的實現與應用 288
11.3.2 Adapter Tuning的工作原理與代碼實現 291
11.4 本章小結 294
11.5 思考題 294
第12章 高級應用:企業級系統開發實戰 296
12.1 基於Transformer的情感分析綜合案例 296
12.1.1 基於BERT的情感分類:數據預處理與模型訓練 296
12.1.2 Sentence-BERT文本嵌入 300
12.1.3 情感分類結果綜合分析 305
12.2 使用ONNX和TensorRT優化推理性能 307
12.2.1 Transformer模型的ONNX轉換步驟 307
12.2.2 TensorRT量化與裁剪技術的推理加速 312
12.2.3 ONNX Runtime的多線程推理優化與分佈式部署 316
12.2.4 TensorRT動態批量大小支持與自定義算子優化 318
12.3 構建NLP企業問答系統 321
12.3.1 清洗、增強和格式化數據 322
12.3.2 模型訓練、微調及推理服務支持 327
12.3.3 RESTful API接口 330
12.3.4 系統狀態記錄與異常監控 332
12.3.5 系統開發總結 337
12.4 本章小結 339
12.5 思考題 339