動手學自然語言處理:Python實現(第2版)
李樹德(Raymond Lee)著 毛小崗 徐同春 譯
- 出版商: 清華大學
- 出版日期: 2026-10-01
- 售價: $768
- 語言: 簡體中文
- ISBN: 730272735X
- ISBN-13: 9787302727354
-
相關分類:
Natural Language Processing、Large language model、ChatGPT、Python、Machine Learning
- 此書翻譯自: Natural Language Processing: A Textbook with Python Implementation
下單後立即進貨 (約4週~6週)
相關主題
商品描述
作者簡介
目錄大綱
目錄
第 I 部分 概念與技術
第 1 章 自然語言處理簡介 2
1.1 引言 2
1.2 人類語言與智能 3
1.3 人類語言的語言層級 5
1.4 人類語言的歧義 6
1.5 自然語言處理簡史 7
1.5.1 第一階段:機器翻譯
(20 世紀 60 年代以前) 7
1.5.2 第二階段:早期人工智能在自然語言處理中的應用(20 世紀 60 年代至70 年代) 7
1.5.3 第三階段:自然語言處理的語法邏輯階段(20世紀 70 年代至80年代) 8
1.5.4 第四階段:人工智能與機器學習(20 世紀 80 年代至 2000 年代) 8
1.5.5 第五階段:BERT、Transformer、ChatGPT與大型語言模型的興起(2000 年代–至今) 8
1.6 自然語言處理與人工智能 9
1.7 自然語言處理的主要組成部分 10
1.8 自然語言理解 11
1.8.1 語音識別 12
1.8.2 句法分析 12
1.8.3 語義分析 12
1.8.4 語用分析 12
1.9 自然語言處理的潛在應用 12
1.9.1 機器翻譯 13
1.9.2 信息提取 13
1.9.3 信息檢索 14
1.9.4 情感分析 14
1.9.5 問答型聊天機器人 14
第 2 章 N 元語言模型 16
2.1 引言 16
2.2 N 元語言模型 18
2.2.1 基本的 NLP 術語 20
2.2.2 語言建模與鏈式規則 21
2.3 馬爾可夫鏈在 N 元模型中的應用 23
2.4 實例探究:《福爾摩斯探案集》 24
2.5 N 元模型中的香農方法 28
2.6 語言模型評估與平滑技術 31
2.6.1 困惑度 31
2.6.2 外部評估方法 32
2.6.3 零計數問題 33
2.6.4 平滑技術 33
2.6.5 拉普拉斯(加 1)平滑 33
2.6.6 加 k 平滑 35
2.6.7 回退和插值平滑 36
2.6.8 古德-圖靈平滑 37
2.7 練習題 37
第 3 章 詞性標註 39
3.1 詞性的概念 39
3.2 詞性標註 40
3.2.1 語言學中詞性標註的概念 40
3.2.2 自然語言處理中詞性標註的概念 40
3.2.3 賓州樹庫項目中使用的詞性標簽 41
3.2.4 自然語言處理中詞性的重要性 43
3.3 自然語言理解中的主要組成部分 44
3.3.1 計算語言學和詞性標註 45
3.3.2 詞性和語義含義 45
3.3.3 形態與句法定義的詞性標註 46
3.4 英語中的九大詞性 46
3.4.1 英語詞類 47
3.4.2 介詞的定義 48
3.4.3 連詞的定義 49
3.4.4 代詞的定義 50
3.4.5 動詞的定義 51
3.5 詞性標註集的不同類型 52
3.5.1 標註集的概念 52
3.5.2 詞性標註的歧義性 53
3.5.3 使用知識進行詞性標註 54
3.6 詞性標註的方法 54
3.6.1 基於規則的詞性標註方法 54
3.6.2 基於規則的詞性標註示例 55
3.6.3 基於概率的詞性標註示例 56
3.6.4 使用 Brill 標註器的混合方法進行詞性標註 57
3.6.5 基於轉換的學習的概念 57
3.6.6 混合詞性標註:Brill 標註器 58
3.6.7 學習 Brill 標註器的轉換 58
3.7 詞性標註器的評估 59
3.8 練習題 60
第 4 章 句法分析 61
4.1 引言和目的 61
4.2 句法分析介紹 62
4.2.1 句法的概念 62
4.2.2 句法規則 62
4.2.3 常見的句法模式 62
4.2.4 句法分析在自然語言處理中的重要性 63
4.3 句子中的成分類型 64
4.3.1 成分的概念 64
4.3.2 成分的種類 65
4.3.3 名詞短語 65
4.3.4 動詞短語 66
4.3.5 簡單成分的復雜性 67
4.3.6 動詞短語的子類劃分 68
4.3.7 詞匯在解析中的作用 69
4.3.8 語法規則中的遞歸 70
4.4 上下文無關語法 70
4.4.1 上下文無關語言的概念 70
4.4.2 上下文無關語法的概念 71
4.4.3 上下文無關語法的主要組成部分 71
4.4.4 使用上下文無關語法的推導 72
4.5 上下文無關語法解析 73
4.5.1 形態學解析 73
4.5.2 音位學解析 73
4.5.3 句法解析 74
4.5.4 解析作為一種樹搜索 74
4.5.5 英語片段的上下文無關語法 74
4.5.6 “Play the Piano”的上下文無關語法的解析樹 74
4.5.7 自頂向下解析器 75
4.5.8 自底向上解析器 76
4.5.9 解析控制 77
4.5.10 自頂向下與自底向上解析的優缺點 78
4.6 詞匯化和概率解析 78
4.6.1 在解析中使用概率的原因 78
4.6.2 解析中的語義 79
4.6.3 概率上下文無關語法的概念 80
4.6.4 概率上下文無關語法的簡單示例 80
4.6.5 使用概率進行語言建模 83
4.6.6 概率上下文無關語法的局限性 83
4.6.7 解決方案:詞匯化解析 84
4.7 練習題 86
第 5 章 語義表示 87
5.1 引言 87
5.2 語義的概念 87
5.3 語義表示 88
5.4 語義處理 89
5.5 常見的語義表示方法 89
5.5.1 一階謂詞演算 90
5.5.2 語義網絡 90
5.5.3 概念依賴圖 90
5.5.4 基於框架的表達 91
5.6 語義表示的要求 92
5.6.1 可驗證性 92
5.6.2 歧義性 92
5.6.3 含糊性 92
5.6.4 規範形式 93
5.7 推理 94
5.7.1 推理的概念 94
5.7.2 使用一階謂詞邏輯進行推理的例子 94
5.8 Fillmore 的普遍案例理論 95
5.8.1 Fillmore 的普遍案例理論的概念 95
5.8.2 Fillmore 理論中的主要案例角色 96
5.8.3 案例角色分析中的復雜性 97
5.9 一階謂詞邏輯 98
5.9.1 一階謂詞邏輯表示方案 98
5.9.2 一階謂詞邏輯的主要元素 98
5.9.3 一階謂詞邏輯的謂詞-參數結構 100
5.9.4 一階謂詞邏輯中的語義表示問題 101
5.9.5 使用一階謂詞邏輯進行推理 101
5.10 練習題 103
第 6 章 語義分析 104
6.1 引言 104
6.1.1 語義分析的概念 104
6.1.2 語義分析在自然語言處理中的重要性 104
6.1.3 人類在語義分析方面的優勢 105
6.2 詞匯語義分析與組合語義分析 105
6.2.1 詞匯語義分析的概念 105
6.2.2 組合語義分析的概念 106
6.3 單詞意義和關系 107
6.3.1 單詞意義的概念 107
6.3.2 詞匯語義的類型 107
6.4 詞義消歧 111
6.4.1 詞義消歧的概念 111
6.4.2 詞義消歧的難點 112
6.4.3 詞義消歧的方法 113
6.5 WordNet 與在線詞庫 114
6.5.1 WordNet 的概念 114
6.5.2 Synsets 的概念 114
6.5.3 WordNet 的知識結構 115
6.5.4 WordNet 中捕獲的主要詞匯關系 116
6.5.5 WordNet 和詞典的應用 117
6.6 其他在線詞庫:MeSH 117
6.6.1 MeSH 的概念 117
6.6.2 MeSH 本體的用途 118
6.7 詞相似性和詞庫方法 118
6.7.1 引言 118
6.7.2 基於路徑的相似性 119
6.7.3 基於路徑的相似性問題 120
6.7.4 信息內容相似性 120
6.7.5 Resnik 方法 122
6.7.6 Dekang Lin 方法 122
6.7.7 擴展的 Lesk 算法 123
6.8 分布式相似性 123
6.8.1 分布式意義模型 123
6.8.2 詞向量 123
6.8.3 詞條-文檔矩陣 124
6.8.4 點互信息 125
6.8.5 計算詞條-上下文矩陣上的正點互信息的例子 126
6.8.6 加權點互信息技術 127
6.8.7 點互信息計算中的k 平滑 128
6.8.8 上下文和詞相似性測量 129
6.8.9 相似性評估 131
6.9 練習題 131
第 7 章 語用分析 133
7.1 引言 133
7.2 篇章現象 133
7.2.1 共指消解 134
7.2.2 共指消解的重要性 134
7.2.3 一致性與共指 135
7.2.4 共指關系的重要性 136
7.2.5 基於實體的一致性 137
7.3 篇章分割 137
7.3.1 篇章分割的概念 137
7.3.2 無監督篇章分割 138
7.3.3 Hearst 的 TextTiling方法 138
7.3.4 TextTiling 算法 140
7.3.5 有監督篇章分割 140
7.4 篇章連貫性 141
7.4.1 文本的連貫性 141
7.4.2 連貫關系的概念 142
7.4.3 連貫關系的類型 142
7.4.4 篇章連貫性的層次結構 143
7.4.5 指稱表達式的類型 144
7.4.6 篩選潛在指代對象的特征 144
7.4.7 代詞解釋中的偏好 145
7.5 共指消解算法 146
7.5.1 引言 146
7.5.2 Hobbs 算法 146
7.5.3 中心算法 148
7.5.4 機器學習方法 151
7.6 評估 153
7.7 練習題 153
第 8 章 遷移學習和 Transformer技術 155
8.1 遷移學習的概念 155
8.2 遷移學習的目的 156
8.3 遷移學習的解決方案 157
8.4 循環神經網絡 159
8.4.1 循環神經網絡的概念 159
8.4.2 循環神經網絡的作用 159
8.4.3 循環神經網絡體系結構 160
8.4.4 長短期記憶網絡 162
8.4.5 門循環單元 164
8.4.6 雙向循環神經網絡 165
8.5 Transformer 技術 166
8.5.1 Transformer 的概念 166
8.5.2 Transformer 架構 167
8.5.3 深入理解編碼器 168
8.6 BERT 170
8.6.1 BERT 的概念 170
8.6.2 BERT 的架構 170
8.6.3 BERT 的訓練 171
8.7 其他相關的 Transformer 技術 172
8.7.1 Transformer-XL 172
8.7.2 ALBERT 173
8.8 練習題 173
第 9 章 主要的自然語言處理應用 174
9.1 引言 174
9.2 信息檢索系統 174
9.2.1 信息檢索系統簡介 174
9.2.2 向量空間模型在信息檢索中的應用 175
9.2.3 信息檢索中的術語分布模型 179
9.2.4 潛在語義索引在信息檢索中的應用 181
9.2.5 信息檢索中的話語分割 184
9.3 文本摘要系統 185
9.3.1 文本摘要系統簡介 185
9.3.2 文本摘要數據集 187
9.3.3 文本摘要系統類型 187
9.3.4 查詢式摘要系統與通用摘要系統 188
9.3.5 單文檔與多文檔摘要 190
9.3.6 現代文本摘要系統 191
9.4 問答系統 196
9.4.1 QA 系統和人工智能 196
9.4.2 工業級問答系統概述 200
9.5 練習題 206
第 10 章 大語言模型與生成式人工智能 207
10.1 大語言模型與生成式人工智能簡介 207
10.1.1 什麼是大語言模型 207
10.1.2 生成式人工智能概述 208
10.1.3 大語言模型與生成式人工智能的交匯 209
10.1.4 大語言模型在現代人工智能中的重要性 210
10.2 大語言模型的基礎 211
10.2.1 神經網絡架構 211
10.2.2 註意力機制 212
10.2.3 Transformer 架構 212
10.2.4 模型規模化:從 BERT 到 GPT 214
10.3 大語言模型領域的主要參與者 215
10.3.1 OpenAI 的 ChatGPT(當前版本:GPT-4) 215
10.3.2 Google DeepMind的Pathways語言模型(PaLM,當前版本為 PaLM 2) 216
10.3.3 Meta 的大語言模型(LLaMA,當前版本為 LLaMA 2) 217
10.3.4 Anthropic 的 Claude(當前版本為Claude 2) 218
10.3.5 百度的 ERNIE 3.0 Titan 219
10.4 大語言模型在生成式人工智能中的應用 220
10.4.1 創意寫作與內容生成 220
10.4.2 語言翻譯 221
10.4.3 對話式人工智能與聊天機器人 222
10.4.4 文本摘要與內容策展 224
10.5 倫理考量與挑戰 225
10.5.1 偏見的檢測與緩解 225
10.5.2 隱私與數據安全 226
10.5.3 錯誤信息的傳播 226
10.5.4 大語言模型部署的倫理指南 227
10.6 未來展望與研究方向 228
10.6.1 大語言模型與生成式人工智能的當前發展趨勢 228
10.6.2 人工智能創造力的未來 230
10.6.3 大語言模型在人工智能倫理中的作用 230
10.6.4 未來發展方向:研究與開發 231
10.7 練習題 233
第 II 部分 使用 Python 實現的自然語言處理實驗教程(14 小時)
第 11 章 實驗 1:自然語言工具包使用基礎(第 1-2 小時) 236
11.1 引言 236
11.2 什麼是 NLTK 238
11.3 使用 NLTK 進行簡單的文本分詞示例 238
11.4 NLTK 的安裝 239
11.5 為什麼使用 Python 進行自然語言處理 241
11.6 NLTK 在基礎文本處理中的應用 242
11.7 使用 NLTK 進行簡單文本分析 244
11.8 使用詞匯離散圖進行文本分析 247
11.8.1 詞匯離散圖的概念 247
11.8.2 基於《理智與情感》文本的詞匯離散圖分析 248
11.8.3 基於就職演說語料庫文本的歷時詞匯離散圖分析 248
11.9 使用 NLTK 進行自然語言處理分詞操作 249
11.9.1 什麼是自然語言處理中的分詞 249
11.9.2 tokenize()與 split()的區別 250
11.9.3 統計不同的詞元 251
11.9.4 詞匯多樣性 253
11.10 NLTK 中的基本統計工具 254
11.11 使用累積模式繪制相同的頻率分布圖 255
11.11.1 罕見詞 257
11.11.2 搭配詞 258
第 12 章 實驗 2:使用自然語言工具包進行 N-gram 建模(第 3-4小時) 260
12.1 引言 260
12.2 什麼是 N-gram 261
12.3 N-gram 在自然語言處理中的應用 261
12.4 在 NLTK 中生成N-gram 261
12.5 生成 N-gram 統計信息 264
12.6 SpaCy 在自然語言處理中的應用 270
12.7 如何安裝 spaCy 271
12.8 使用 spaCy 進行分詞 271
第 13 章 實驗 3:基於自然語言工具包的詞性標註(第 5-6 小時) 278
13.1 引言 278
13.2 重新審視 NLTK 中的分詞技術 279
13.3 使用 NLTK 進行詞幹提取 281
13.3.1 詞幹提取概述 281
13.3.2 詞幹提取的意義 282
13.3.3 詞幹提取的實現方法 282
13.4 使用 NLTK 刪除停用詞 285
13.4.1 什麼是停用詞 285
13.4.2 NLTK 停用詞列表 285
13.4.3 示例文本實踐 286
13.4.4 自定義停用詞庫 286
13.5 使用 NLTK 進行文本分析 288
13.6 與 WordCloud 集成 290
13.7 使用 NLTK 進行詞性標註 292
13.7.1 什麼是詞性標註 292
13.7.2 通用詞性標註集 292
13.7.3 PENN Treebank 詞性標註集(英文與中文版本) 293
13.7.4 詞性標註的應用 294
13.8 使用 NLTK 創建自定義詞性標註器 297
第 14 章 實驗 4:基於 spaCy 的語義分析與詞向量(第 7-8 小時) 303
14.1 引言 303
14.2 詞向量的概念 304
14.3 理解詞向量 304
14.4 詞向量初探 306
14.5 類比與向量運算 309
14.6 如何創建詞向量 310
14.7 spaCy 預訓練詞向量 310
14.8 語義分析中的相似度方法 312
14.9 使用 spaCy 的高級語義相似度方法 315
14.9.1 理解語義相似度 315
14.9.2 歐幾裏得距離 315
14.9.3 余弦距離與余弦相似度 316
14.9.4 使用語義相似度進行文本分類 318
14.9.5 提取關鍵短語 319
14.9.6 提取與比較命名實體 320
第 15 章 實驗 5:情感分析與文本分類(第 9-10 小時) 323
15.1 引言 323
15.2 使用 spaCy 和 LSTM 技術的文本分類 324
15.3 技術要求 324
15.4 文本分類概述 325
15.4.1 什麼是文本分類 325
15.4.2 作為 AI 應用的文本分類 326
15.5 使用 spaCy NLP 流水線的文本分類器 327
15.5.1 TextCategorizer 類 327
15.5.2 為 TextCategorizer 格式化訓練數據 329
15.5.3 系統訓練 331
15.5.4 系統測試 333
15.5.5 針對多標簽文本分類訓練 TextCategorizer 333
15.6 使用 spaCy 進行情感分析 337
15.6.1 IMDB 大型影評數據集 337
15.6.2 數據集探索 337
15.6.3 訓練 TextClassifier 340
15.7 人工神經網絡概述 342
15.8 TensorFlow 與 Keras概述 343
15.9 使用 LSTM 技術進行序列建模 343
15.10 Keras 分詞器在自然語言處理中的應用 344
15.11 基於 LSTM 的電影影評情感分析(使用 Keras與 spaCy)348
第 16 章 實驗 6:使用 spaCy與TensorFlow 的Transformer 模型(第 11-12 小時) 355
16.1 引言 355
16.2 技術要求 356
16.3 Transformer 與遷移學習概述 356
16.4 為什麼選擇Transformer 357
16.5 BERT 技術概述 359
16.5.1 BERT 是什麼 359
16.5.2 BERT 架構 360
16.5.3 BERT 輸入格式 362
16.5.4 如何訓練 BERT 363
16.6 Transformer 與TensorFlow 364
16.6.1 HuggingFace 的Transformers 庫 364
16.6.2 使用 BERT 分詞器 366
16.6.3 BERT 中的詞向量 369
16.7 使用 BERT 回顧文本分類 370
16.8 Transformer 流水線技術 374
16.8.1 面向情感分析的Transformer 流水線 375
16.8.2 面向問答系統的Transformer 流水線 375
16.9 Transformer 與 spaCy 376
第 17 章 實驗7:基於 TensorFlow與Transformer 技術構建聊天機器人(第13-14小時) 380
17.1 引言 380
17.2 技術要求 381
17.3 AI 聊天機器人概述 381
17.3.1 聊天機器人是什麼 381
17.3.2 聊天機器人的喚醒詞 382
17.3.3 聊天機器人中的自然語言處理組件 383
17.4 使用 TensorFlow 與Transformer 技術構建電影聊天機器人 383
17.4.1 聊天機器人數據集 384
17.4.2 電影對話預處理 384
17.4.3 電影對話的分詞處理 386
17.4.4 過濾與填充過程 386
17.4.5 創建 TensorFlow 電影數據集對象 387
17.4.6 計算註意力學習權重 388
17.4.7 多頭註意力機制 389
17.4.8 系統實現 390
17.5 相關研究 405



