贈ChatGPT中文範例的自然語言處理入門書

贈ChatGPT中文範例的自然語言處理入門書

《贈ChatGPT中文範例的自然語言處理入門書》是一本清華大學出版社出版的圖書,作者是[美] 萩原聖人(Masato Hagiwara),譯者是葉偉民、葉孟良、陳佳偉。

基本介紹

  • 中文名:贈ChatGPT中文範例的自然語言處理入門書
  • 作者:[美] 萩原聖人(Masato Hagiwara)
  • 譯者:葉偉民、葉孟良、陳佳偉
  • 出版時間:2023年9月
  • 出版社:清華大學出版社 
  • 頁數:292 頁
  • ISBN:9787302639602
  • 定價:98 元
內容簡介,圖書目錄,作者簡介,

內容簡介

雖然訓練計算機以解釋和生成語音和文本這個挑戰很大,但是它在減少勞動力和改進人機互動方面所帶來的回報也很大!自然語言處理(NLP)領域目前正在快速發展,誕生了大量新的工具和實踐。這本獨特的書可以給讀者帶來一系列可以套用於機器翻譯、語音助手、文本生成等領域的創新NLP技術。
  《贈ChatGPT中文範例的自然語言處理入門書》將展示如何構建實用的、可以改變人類和計算機協同工作方式的NLP應用程式。本書通過對每個核心NLP主題進行清晰、直觀的解釋和指導,幫助你創建許多有趣的應用程式,包括情感分析器和聊天機器人。在該過程中,你將使用Python和開源庫(AllenNLP和Hugging Face Transformers)加快開發過程。● 設計、開發和部署實用的NLP應用程式
● 構建命名實體標註器
● 構建機器翻譯系統
● 構建語言生成系統和聊天機器人

圖書目錄

第Ⅰ部分 基礎
第1章 自然語言處理簡介 3
1.1 什麼是自然語言處理 4
1.1.1 什麼是NLP 4
1.1.2 什麼不是NLP 5
1.1.3 AI、機器學習、深度學習和
NLP之間的關係 7
1.1.4 為什麼學習NLP 9
1.2 典型的NLP套用和任務 11
1.2.1 NLP套用 11
1.2.2 NLP任務 13
1.3 構建NLP套用 18
1.3.1 NLP套用的開發 18
1.3.2 NLP套用的結構 21
1.4 本章小結 22
第2章 你的第一個NLP套用 23
2.1 情感分析簡介 23
2.2 NLP的數據集 24
2.2.1 什麼是數據集 24
2.2.2 斯坦福情感樹庫 25
2.2.3 訓練集、驗證集和測試集 26
2.2.4 使用AllenNLP載入SST
數據集 28
2.3 使用詞嵌入 29
2.3.1 什麼是詞嵌入 30
2.3.2 如何在情感分析中使用詞嵌入 31
2.4 神經網路 32
2.4.1 什麼是神經網路 32
2.4.2 循環神經網路和線性層 33
2.4.3 情感分析的神經網路架構 34
2.5 損失函式及最佳化器 36
2.6 訓練你自己的分類器 38
2.6.1 批量處理 38
2.6.2 把所有組件整合在一起 39
2.7 評估分類器 39
2.8 部署套用 40
2.8.1 進行預測 40
2.8.2 通過Web提供預測服務 41
2.9 本章小結 42
第3章 詞嵌入與文檔嵌入 43
3.1 嵌入簡介 43
3.1.1 什麼是嵌入 43
3.1.2 為什麼嵌入很重要 44
3.2 語言的構建塊:字元、單詞
和短語 45
3.2.1 字元 45
3.2.2 單詞、詞元、語素和短語 46
3.2.3 n-gram 47
3.3 詞元化、詞幹提取和詞形
還原 47
3.3.1 詞元化 47
3.3.2 詞幹提取 49
3.3.3 詞形還原 49
3.4 Skip-gram和CBOW 50
3.4.1 詞嵌入的數字從何而來 50
3.4.2 通過單詞相關性推導得出 51
3.4.3 線性層 52
3.4.4 softmax 54
3.4.5 使用AllenNLP實現Skip-gram 55
3.4.6 CBOW模型 59
3.5 GloVe 60
3.5.1 GloVe如何學習詞嵌入 61
3.5.2 使用預訓練GloVe向量 62
3.6 fastText 64
3.6.1 使用子詞信息 64
3.6.2 使用fastText工具包 66
3.7 文檔級嵌入 66
3.8 對嵌入可視化 69
3.9 本章小結 71
第4章 句子分類 73
4.1 循環神經網路(RNN) 73
4.1.1 處理可變長度的輸入 73
4.1.2 RNN抽象結構 75
4.1.3 Simple RNN和非線性函式 76
4.2 長短期記憶(LSTM)和門控
循環單元(GRU) 79
4.2.1 梯度消失問題 79
4.2.2 長短期記憶 81
4.2.3 門控循環單元 83
4.3 準確率、查準率、查全率和
F-度量 84
4.3.1 準確率 84
4.3.2 查準率和查全率 85
4.3.3 F-度量 86
4.4 構建AllenNLP訓練流水線 86
4.4.1 實例和欄位 87
4.4.2 詞表和詞元索引器 88
4.4.3 詞元嵌入和RNN 89
4.4.4 構建個人模型 90
4.4.5 把所有東西整合在一起 91
4.5 配置AllenNLP訓練流水線 92
4.6 實戰示例:語言檢測 94
4.6.1 使用字元作為輸入 95
4.6.2 創建數據集讀取器 95
4.6.3 構建訓練流水線 97
4.6.4 用新的實例預測 99
4.7 本章小結 100
第5章 序列標註和語言模型 101
5.1 序列標註簡介 101
5.1.1 什麼是序列標註 101
5.1.2 使用RNN編碼序列 103
5.1.3 實現AllenNLP的Seq2Seq
編碼器 105
5.2 構建詞性標註器 106
5.2.1 讀取數據集 106
5.2.2 定義模型和損失值 107
5.2.3 構建訓練流水線 109
5.3 多層和雙向RNN 110
5.3.1 多層RNN 110
5.3.2 雙向RNN 112
5.4 命名實體識別 114
5.4.1 什麼是命名實體識別 114
5.4.2 標註span 115
5.4.3 實現命名實體識別器 115
5.5 語言模型 117
5.5.1 什麼是語言模型 117
5.5.2 為什麼語言模型很有用 118
5.5.3 訓練RNN語言模型 119
5.6 使用RNN生成文本 120
5.6.1 向RNN提供字元 120
5.6.2 構建語言模型 121
5.6.3 使用語言模型生成文本 123
5.7 本章小結 125
第Ⅱ部分 高級模型
第6章 序列到序列(Seq2Seq)
模型 129
6.1 介紹序列到序列模型 129
6.2 機器翻譯入門 131
6.3 構建你的第一個翻譯器 134
6.3.1 準備數據集 134
6.3.2 訓練模型 137
6.3.3 運行翻譯器 139
6.4 Seq2Seq模型的工作原理 140
6.4.1 編碼器 140
6.4.2 解碼器 142
6.4.3 貪婪解碼算法 144
6.4.4 束搜尋解碼 147
6.5 評估翻譯系統 148
6.5.1 人工評估 148
6.5.2 自動評估 149
6.6 實戰示例:構建聊天
機器人 150
6.6.1 對話系統簡介 150
6.6.2 準備數據集 151
6.6.3 訓練和運行聊天機器人 152
6.6.4 下一步 154
6.7 本章小結 155
第7章 卷積神經網路 157
7.1 卷積神經網路(CNN)簡介 157
7.1.1 RNN簡介及其缺點 157
7.1.2 使用模式匹配進行句子分類 159
7.1.3 卷積神經網路 159
7.2 卷積層 160
7.2.1 使用過濾器匹配模式 160
7.2.2 整流線性單元(ReLU) 162
7.2.3 組合分數 163
7.3 匯聚層 164
7.4 實戰示例:文本分類 165
7.4.1 回顧文本分類 166
7.4.2 使用CNN編碼器
(CnnEncoder) 166
7.4.3 訓練和運行分類器 167
7.5 本章小結 168
第8章 注意力機制和Transformer
模型 169
8.1 什麼是注意力機制 169
8.1.1 普通Seq2Seq模型的局限性 170
8.1.2 注意力機制 170
8.2 用於Seq2Seq模型的注意力
機制 172
8.2.1 編碼器-解碼器注意力機制 172
8.2.2 通過機器翻譯比較帶注意力
和不帶注意力的Seq2Seq
模型 173
8.3 Transformer模型和自注意
力機制 175
8.3.1 自注意力機制 176
8.3.2 Transformer模型 179
8.3.3 實驗 181
8.4 基於Transformer模型的
語言模型 183
8.4.1 基於Transformer的語言
模型 184
8.4.2 Transformer-XL 185
8.4.3 GPT-2 188
8.4.4 XLM 190
8.5 實戰示例:拼寫檢查器 191
8.5.1 像機器翻譯一樣看待拼寫
檢查器 191
8.5.2 訓練拼寫檢查器 193
8.5.3 改進拼寫檢查器 195
8.6 本章小結 198
第9章 使用預訓練語言模型進行
遷移學習 199
9.1 遷移學習 199
9.1.1 傳統的機器學習 199
9.1.2 詞嵌入 200
9.1.3 什麼是遷移學習 201
9.2 BERT 202
9.2.1 詞嵌入的局限性 202
9.2.2 自監督學習 204
9.2.3 預訓練BERT 204
9.2.4 適應BERT 206
9.3 實戰示例1:使用BERT
進行情感分析 208
9.3.1 對輸入詞元化 209
9.3.2 構建模型 211
9.3.3 訓練模型 212
9.4 其他預訓練語言模型 215
9.4.1 ELMo 215
9.4.2 XLNet 216
9.4.3 RoBERTa 217
9.4.4 DistilBERT 218
9.4.5 ALBERT 219
9.5 實戰示例2:使用BERT
進行自然語言推理 221
9.5.1 什麼是自然語言推理 221
9.5.2 使用BERT進行句子對分類 222
9.5.3 使用AllenNLP構建Transformer
模型 224
9.6 本章小結 228
第Ⅲ部分 投入生產
第10章 開發NLP套用的
最佳實踐 233
10.1 批量處理實例 233
10.1.1 填充 233
10.1.2 排序 235
10.1.3 掩碼 236
10.2 神經網路模型中的詞元化 238
10.2.1 未知詞 238
10.2.2 字元模型 239
10.2.3 子詞模型 240
10.3 避免過擬合 242
10.3.1 正則化 242
10.3.2 早停法 244
10.3.3 交叉驗證 245
10.4 處理不平衡的數據集 246
10.4.1 使用恰當的評估指標 246
10.4.2 上採樣與下採樣 247
10.4.3 損失加權 248
10.5 超參數調優 249
10.5.1 超參數的例子 249
10.5.2 格線搜尋與隨機搜尋 250
10.5.3 使用Optuna調優 251
10.6 本章小結 253
第11章 部署和套用NLP套用 255
11.1 NLP套用架構 256
11.1.1 全面考慮後再開始
機器學習 256
11.1.2 按實時性選擇正確的套用
形式 257
11.1.3 項目結構 258
11.1.4 版本控制 258
11.2 部署NLP模型 260
11.2.1 測試 260
11.2.2 訓練-服務偏差 261
11.2.3 監控 262
11.2.4 使用GPU 263
11.3 實戰示例:對外提供服務
和部署NLP套用 265
11.3.1 通過TorchServe對外
提供服務 265
11.3.2 部署模型 269
11.4 解釋和可視化模型預測 271
11.5 展望 274
11.6 本章小結 275

作者簡介

Masato Hagiwara 於 2009 年獲得名古屋大學計算機科學博士學位。他曾在 Google 和 Microsoft 研究院實習,並在北京多鄰國科技有限公司擔任過高級機器學習工程師。他現在經營自己的研究和諮詢公司。

相關詞條

熱門詞條

聯絡我們