本書介紹自然語言處理的原理和方法及其代碼實現(xiàn),是一本著眼于自然語言處理教學(xué)實踐的圖書。
本書分為3個部分。第一部分介紹基礎(chǔ)技術(shù),包括文本規(guī)范化、文本表示、文本分類、文本聚類。第二部分介紹自然語言的序列建模,包括語言模型、序列到序列模型、預(yù)訓(xùn)練語言模型、序列標(biāo)注。第三部分介紹自然語言的結(jié)構(gòu)建模,包括成分句法分析、依存句法分析、語義分析、篇章分析。本書將自然語言處理的理論與實踐相結(jié)合,提供所介紹方法的代碼示例,能夠幫助讀者掌握理論知識并進(jìn)行動手實踐。
本書適合作為高校自然語言處理課程的教材,也可作為相關(guān)行業(yè)的研究人員和開發(fā)人員的參考資料。
·名家作品:上海交通大學(xué)ACM班創(chuàng)辦人俞勇教授、上?萍即髮W(xué)博士生導(dǎo)師屠可偉副教授等共同編寫
·多位業(yè)內(nèi)大咖力薦:文繼榮|周明|邱錫鵬|李磊|楊笛一等學(xué)術(shù)及工業(yè)界大咖力薦
·配套資源豐富:配套源代碼+在線視頻課程+在線討論區(qū)+在線習(xí)題+教學(xué)課件,助你輕松入門并系統(tǒng)學(xué)習(xí)大模型背后的自然語言處理底層技術(shù)
屠可偉,上?萍即髮W(xué)信息科學(xué)與技術(shù)學(xué)院長聘副教授、研究員、博士生導(dǎo)師。研究方向包括自然語言處理、機器學(xué)習(xí)等,主要研究將符號、統(tǒng)計和神經(jīng)方法相結(jié)合用于語言結(jié)構(gòu)的表示、學(xué)習(xí)與利用。發(fā)表論文100余篇,主要發(fā)表在ACL、EMNLP、AAAI 等人工智能領(lǐng)域頂級會議。擔(dān)任多個頂級會議程序委員會委員和領(lǐng)域主席。曾獲ACL 2023杰出論文獎,以及SemEval 2022和SemEval 2023最佳系統(tǒng)論文獎。
王新宇,上?萍即髮W(xué)博士,長期從事自然語言處理研究工作,在ACL、EMNLP、NAACL等頂級會議上發(fā)表論文10余篇,擔(dān)任ACL、NAACL會議的領(lǐng)域主席以及ACL滾動審查(ACL Rolling Review)執(zhí)行編輯。曾獲得中國中文信息學(xué)會優(yōu)秀博士學(xué)位論文提名、SemEval 2022最佳系統(tǒng)論文獎等榮譽。
曲彥儒,伊利諾伊大學(xué)厄巴納-香檳分校博士生,長期從事自然語言處理研究工作,在ACL、NAACL、AAAI、ICLR等會議上發(fā)表了多篇論文。
俞勇,上海交通大學(xué)ACM班創(chuàng)辦人,國家級教學(xué)名師,上海交通大學(xué)特聘教授。2018年創(chuàng)辦伯禹人工智能學(xué)院,在上海交通大學(xué)ACM班人工智能專業(yè)課程體系的基礎(chǔ)上,對人工智能課程體系進(jìn)行創(chuàng)新,致力于培養(yǎng)卓越的人工智能算法工程師和研究員。
第 1章 初探自然語言處理 1
1.1 自然語言處理是什么 1
1.2 自然語言處理的應(yīng)用 2
1.3 自然語言處理的難點 3
1.4 自然語言處理的方法論 4
1.5 小結(jié) 5
第 一部分 基礎(chǔ)
第 2章 文本規(guī)范化 8
2.1 分詞 8
2.1.1 基于空格與標(biāo)點符號的分詞 8
2.1.2 基于正則表達(dá)式的分詞 9
2.1.3 詞間不含空格的語言的分詞 12
2.1.4 基于子詞的分詞 13
2.2 詞規(guī)范化 17
2.2.1 大小寫折疊 17
2.2.2 詞目還原 18
2.2.3 詞干還原 19
2.3 分句 19
2.4 小結(jié) 20
第3章 文本表示 22
3.1 詞的表示 22
3.2 稀疏向量表示 24
3.3 稠密向量表示 25
3.3.1 word2vec 25
3.3.2 上下文相關(guān)詞嵌入 30
3.4 文檔表示 30
3.4.1 詞-文檔共現(xiàn)矩陣 31
3.4.2 TF-IDF加權(quán) 31
3.4.3 文檔的稠密向量表示 33
3.5 小結(jié) 33
第4章 文本分類 35
4.1 基于規(guī)則的文本分類 35
4.2 基于機器學(xué)習(xí)的文本分類 36
4.2.1 樸素貝葉斯 36
4.2.2 邏輯斯諦回歸 42
4.3 分類結(jié)果評價 45
4.4 小結(jié) 47
第5章 文本聚類 49
5.1 k均值聚類算法 49
5.2 基于高斯混合模型的最大期望值算法 53
5.2.1 高斯混合模型 53
5.2.2 最大期望值算法 53
5.3 無監(jiān)督樸素貝葉斯模型 57
5.4 主題模型 60
5.5 小結(jié) 61
第二部分 序列
第6章 語言模型 64
6.1 概述 64
6.2 n元語法模型 66
6.3 循環(huán)神經(jīng)網(wǎng)絡(luò) 67
6.3.1 循環(huán)神經(jīng)網(wǎng)絡(luò) 67
6.3.2 長短期記憶 73
6.3.3 多層雙向循環(huán)神經(jīng)網(wǎng)絡(luò) 76
6.4 注意力機制 80
多頭注意力 83
6.5 Transformer模型 85
6.6 小結(jié) 91
第7章 序列到序列模型 93
7.1 基于神經(jīng)網(wǎng)絡(luò)的序列到序列模型 93
7.1.1 循環(huán)神經(jīng)網(wǎng)絡(luò) 94
7.1.2 注意力機制 96
7.1.3 Transformer 98
7.2 學(xué)習(xí) 101
7.3 解碼 106
7.3.1 貪心解碼 106
7.3.2 束搜索解碼 107
7.3.3 其他解碼問題與解決技巧 110
7.4 指針網(wǎng)絡(luò) 111
7.5 序列到序列任務(wù)的延伸 112
7.6 小結(jié) 113
第8章 預(yù)訓(xùn)練語言模型 114
8.1 ELMo:基于語言模型的上下文相關(guān)詞嵌入 114
8.2 BERT:基于Transformer的雙向編碼器表示 115
8.2.1 掩碼語言模型 115
8.2.2 BERT模型 116
8.2.3 預(yù)訓(xùn)練 116
8.2.4 微調(diào)與提示 117
8.2.5 BERT代碼演示 117
8.2.6 BERT模型擴展 121
8.3 GPT:基于Transformer的生成式預(yù)訓(xùn)練語言模型 122
8.3.1 GPT模型的歷史 122
8.3.2 GPT-2訓(xùn)練演示 123
8.3.3 GPT的使用 125
8.4 基于編碼器-解碼器的預(yù)訓(xùn)練語言模型 128
8.5 基于HuggingFace的預(yù)訓(xùn)練語言模型使用 129
8.5.1 文本分類 129
8.5.2 文本生成 130
8.5.3 問答 130
8.5.4 文本摘要 131
8.6 小結(jié) 131
第9章 序列標(biāo)注 133
9.1 序列標(biāo)注任務(wù) 133
9.1.1 詞性標(biāo)注 133
9.1.2 中文分詞 134
9.1.3 命名實體識別 134
9.1.4 語義角色標(biāo)注 135
9.2 隱馬爾可夫模型 135
9.2.1 模型 135
9.2.2 解碼 136
9.2.3 輸入序列的邊際概率 137
9.2.4 單個標(biāo)簽的邊際概率 138
9.2.5 監(jiān)督學(xué)習(xí) 139
9.2.6 無監(jiān)督學(xué)習(xí) 139
9.2.7 部分代碼實現(xiàn) 141
9.3 條件隨機場 146
9.3.1 模型 146
9.3.2 解碼 147
9.3.3 監(jiān)督學(xué)習(xí) 148
9.3.4 無監(jiān)督學(xué)習(xí) 149
9.3.5 部分代碼實現(xiàn) 149
9.4 神經(jīng)序列標(biāo)注模型 154
9.4.1 神經(jīng)softmax 154
9.4.2 神經(jīng)條件隨機場 154
9.4.3 代碼實現(xiàn) 155
9.5 小結(jié) 156
第三部分 結(jié)構(gòu)
第 10章 成分句法分析 160
10.1 成分結(jié)構(gòu) 160
10.2 成分句法分析概述 161
10.2.1 歧義性與打分 161
10.2.2 解碼 162
10.2.3 學(xué)習(xí) 162
10.2.4 評價指標(biāo) 163
10.3 基于跨度的成分句法分析 163
10.3.1 打分 164
10.3.2 解碼 165
10.3.3 學(xué)習(xí) 170
10.4 基于轉(zhuǎn)移的成分句法分析 173
10.4.1 狀態(tài)與轉(zhuǎn)移 173
10.4.2 轉(zhuǎn)移的打分 174
10.4.3 解碼 175
10.4.4 學(xué)習(xí) 176
10.5 基于上下文無關(guān)文法的成分句法分析 177
10.5.1 上下文無關(guān)文法 177
10.5.2 解碼和學(xué)習(xí) 178
10.6 小結(jié) 179
第 11章 依存句法分析 181
11.1 依存結(jié)構(gòu) 181
11.1.1 投射性 182
11.1.2 與成分結(jié)構(gòu)的關(guān)系 182
11.2 依存句法分析概述 184
11.2.1 打分、解碼和學(xué)習(xí) 184
11.2.2 評價指標(biāo) 184
11.3 基于圖的依存句法分析 185
11.3.1 打分 185
11.3.2 解碼 186
11.3.3 Eisner算法 186
11.3.4 MST算法 191
11.3.5 高階方法 194
11.3.6 監(jiān)督學(xué)習(xí) 194
11.4 基于轉(zhuǎn)移的依存句法分析 195
11.4.1 狀態(tài)與轉(zhuǎn)移 196
11.4.2 打分、解碼與學(xué)習(xí) 196
11.5 小結(jié) 198
第 12章 語義分析 200
12.1 顯式和隱式的語義表示 200
12.2 詞義表示 201
12.2.1 WordNet 201
12.2.2 詞義消歧 203
12.3 語義表示 204
12.3.1 專用和通用的語義表示 204
12.3.2 一階邏輯 205
12.3.3 語義圖 205
12.4 語義分析 206
12.4.1 基于句法的語義分析 206
12.4.2 基于神經(jīng)網(wǎng)絡(luò)的語義分析 207
12.4.3 弱監(jiān)督學(xué)習(xí) 209
12.5 語義角色標(biāo)注 209
12.5.1 語義角色標(biāo)注標(biāo)準(zhǔn) 209
12.5.2 語義角色標(biāo)注方法 211
12.6 信息提取 211
12.7 小結(jié) 212
第 13章 篇章分析 213
13.1 篇章 213
13.1.1 連貫性關(guān)系 213
13.1.2 篇章結(jié)構(gòu) 214
13.1.3 篇章分析 215
13.2 共指消解 215
13.2.1 提及檢測 216
13.2.2 提及聚類 216
13.3 小結(jié) 220
總結(jié)與展望 221
參考文獻(xiàn) 223
中英文術(shù)語對照表 228
附 錄 234