HuggingFace 自然語言處理詳解 — 基於 BERT 中文模型的任務實戰

李福林

  • HuggingFace 自然語言處理詳解 — 基於 BERT 中文模型的任務實戰-preview-1
  • HuggingFace 自然語言處理詳解 — 基於 BERT 中文模型的任務實戰-preview-2
  • HuggingFace 自然語言處理詳解 — 基於 BERT 中文模型的任務實戰-preview-3
HuggingFace 自然語言處理詳解 — 基於 BERT 中文模型的任務實戰-preview-1

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

商品描述

本書綜合性講解HuggingFace社區提供的工具集datasets和transformers,書中包括最基礎的工具集的用例演示,也包括具體的項目實戰,以及預訓練模型的底層設計思路和實現原理的介紹。通過本書的學習,讀者可以快速掌握HuggingFace工具集的使用方法,掌握自然語言處理項目的一般研發流程,並能研發自己的自然語言處理項目。 本書共14章,分為工具集基礎用例演示篇(第1~6章),詳細講解HuggingFace工具集的基本使用方法。中文項目實戰篇(第7~12章),通過幾個實戰項目演示使用HuggingFace工具集研發自然語言處理項目的一般流程。預訓練模型底層原理篇(13~14章),詳細闡述了預訓練模型的設計思路和計算原理。 本書將使用最簡單淺顯的語言,帶領讀者快速地瞭解HuggingFace工具集的使用方法。通過本書中實戰項目的學習,讀者可以掌握一般的自然語言處理項目的研發流程。通過本書中預訓練模型底層原理的學習,能夠讓讀者知其然也知其所以然,做到融會貫通。 本書適合有PyTorch編程基礎的讀者閱讀,也適合作為對自然語言處理感興趣的讀者的參考圖書。

目錄大綱

  

  

  

  

  

  

  

  

工具集基礎用例演示篇

第1章  HuggingFace簡介 3

第2章  使用編碼工具 6

2.1  編碼工具簡介 6

2.2  編碼工具工作流示意 6

2.3  使用編碼工具 8

2.4  小結 15

第3章  使用數據集工具 16

3.1  數據集工具介紹 16

3.2  使用數據集工具 17

3.2.1  數據集加載和保存 17

3.2.2  數據集基本操作 19

3.2.3  將數據集保存為其他格式 24

3.3  小結 25

第4章  使用評價指標工具 26

4.1  評價指標工具介紹 26

4.2  使用評價指標工具 26

4.3  小結 27

第5章  使用管道工具 28

5.1  管道工具介紹 28

5.2  使用管道工具 28

5.2.1  常見任務演示 28

5.2.2  替換模型執行任務 34

5.3  小結 35

第6章  使用訓練工具 36

6.1  訓練工具介紹 36

6.2  使用訓練工具 36

6.2.1  準備數據集 36

6.2.2  定義模型和訓練工具 39

6.2.3  訓練和測試 43

6.3  小結 47

中文項目實戰篇

第7章  實戰任務1:中文情感分類 51

7.1  任務簡介 51

7.2  數據集介紹 51

7.3  模型架構 52

7.4  實現代碼 53

7.4.1  準備數據集 53

7.4.2  定義模型 58

7.4.3  訓練和測試 60

7.5  小結 64

第8章  實戰任務2:中文填空 65

8.1  任務簡介 65

8.2  數據集介紹 65

8.3  模型架構 66

8.4  實現代碼 67

8.4.1  準備數據集 67

8.4.2  定義模型 73

8.4.3  訓練和測試 76

8.5  小結 79

第9章  實戰任務3:中文句子關系推斷 81

9.1  任務簡介 81

9.2  數據集介紹 81

9.3  模型架構 82

9.4  實現代碼 83

9.4.1  準備數據集 83

9.4.2  定義模型 88

9.4.3  訓練和測試 90

9.5  小結 92

第10章  實戰任務4:中文命名實體識別 93

10.1  任務簡介 93

10.2  數據集介紹 93

10.3  模型架構 95

10.4  實現代碼 96

10.4.1  準備數據集 96

10.4.2  定義模型 102

10.4.3  訓練和測試 105

10.5  小結 115

第11章  使用TensorFlow訓練 116

11.1  任務簡介 116

11.2  數據集介紹 116

11.3  模型架構 116

11.4  實現代碼 117

11.4.1  準備數據集 117

11.4.2  定義模型 121

11.4.3  訓練和測試 123

11.5  小結 132

第12章  使用自動模型 133

12.1  任務簡介 133

12.2  數據集介紹 134

12.3  模型架構 134

12.4  實現代碼 135

12.4.1  準備數據集 135

12.4.2  加載自動模型 137

12.4.3  訓練和測試 138

12.5  深入自動模型源代碼 141

12.6  小結 147

 

 

預訓練模型底層原理篇

第13章  手動實現Transformer 151

13.1  Transformer架構 151

13.2  註意力 152

13.2.1  為什麽需要註意力 152

13.2.2  註意力的計算過程 153

13.2.3  註意力計算的矩陣形式 155

13.2.4  多頭註意力 156

13.3  位置編碼 157

13.3.1  為什麽需要位置編碼 157

13.3.2  位置編碼計算過程 157

13.4  MASK 159

13.4.1  PAD MASK 159

13.4.2  上三角MASK 160

13.5  Transformer計算流程 161

13.5.1  編碼器 161

13.5.2  整體計算流程 162

13.5.3  解碼器解碼過程詳細講解 163

13.5.4  總體架構 164

13.6  簡單翻譯任務 165

13.6.1  任務介紹 165

13.6.2  定義數據集 166

13.6.3  定義MASK函數 169

13.6.4  定義Transformer工具子層 171

13.6.5  定義Transformer模型 176

13.6.6  訓練和測試 180

13.7  兩數相加任務 184

13.7.1  任務介紹 184

13.7.2  實現代碼 185

13.7.3  訓練和測試 186

13.8  小結 189

第14章  手動實現BERT 190

14.1  BERT架構 190

14.2  數據集處理 191

14.2.1  數據處理過程概述 191

14.2.2  數據集介紹 193

14.2.3  數據處理實現代碼 193

14.3  PyTorch提供的Transformer工具層介紹 201

14.4  手動實現BERT模型 211

14.4.1  準備數據集 211

14.4.2  定義輔助函數 215

14.4.3  定義BERT模型 217

14.4.4  訓練和測試 219

14.5  小結 226

 

 

  

VI

 

 

VII