本書基于Python編程語言,以實戰(zhàn)為導(dǎo)向,主要介紹中文自然語言處理的各種理論、方法及應(yīng)用案例,幫助讀者快速熟悉理論知識,理解相關(guān)技術(shù)原理,為讀者選擇自然語言處理相關(guān)的研究方向或從業(yè)領(lǐng)域提供參考。全書共分為三個部分:第一部分(第1~3章)是“基礎(chǔ)篇”,側(cè)重介紹自然語言處理的基礎(chǔ)知識,并在相應(yīng)的知識板塊中設(shè)置實驗案例;第二部分(第4~12章)是“技術(shù)篇”,主要講解自然語言處理核心技術(shù)的原理及實現(xiàn)方法,以及文本分類、特征提取、RNN等技術(shù)在自然語言處理中的應(yīng)用;第三部分(第13章)是“應(yīng)用篇”,主要介紹自然語言處理比較典型的應(yīng)用場景。
本書適合作為人工智能相關(guān)課程的教材,也可作為人工智能的普及讀物供廣大讀者自學(xué)或參考。
1.本書旨在實現(xiàn)人與計算機之間用自然語言進(jìn)行有效通信,彌補人類交流與計算機理解之間的差距。
2.本書基于Python編程語言,以實戰(zhàn)為導(dǎo)向,介紹了中文自然語言處理的各種理論、方法及應(yīng)用案例。
3.本書采用任務(wù)驅(qū)動的編寫方式,讀者可以直接進(jìn)行實驗效果體驗,并進(jìn)行自由調(diào)整。
4.本書提供豐富的教學(xué)資源,包括電子課件、習(xí)題解答、實驗設(shè)計、指導(dǎo)書等。
5.本書提供實踐所需的虛擬機以及其他配套工具軟件。
6.逐步建設(shè)在線教學(xué)網(wǎng)站,教學(xué)資源上傳網(wǎng)上,提供線上與線下同步學(xué)習(xí)。
許桂秋 《大數(shù)據(jù)導(dǎo)論》《Python編程基礎(chǔ)與應(yīng)用》《NoSQL數(shù)據(jù)庫原理與應(yīng)用》《數(shù)據(jù)挖掘與機器學(xué)習(xí)》等9本系列教材,浙江科技出版社,2019年。
第 1章 自然語言處理初探 1
1.1 什么是自然語言處理 2
1.1.1 自然語言處理的概念 2
1.1.2 自然語言處理的研究任務(wù) 3
1.2 自然語言處理的發(fā)展歷程 5
1.3 自然語言處理相關(guān)知識的構(gòu)成 7
1.3.1 基礎(chǔ)術(shù)語 7
1.3.2 知識結(jié)構(gòu) 8
1.4 探討自然語言處理的層面 9
1.5 自然語言處理與人工智能 10
1.5.1 智慧醫(yī)療 11
1.5.2 智慧司法. 11
1.5.3 智慧金融 11
1.6 本章小結(jié) 12
第 2章 使用Python進(jìn)行自然語言基礎(chǔ)處理 13
2.1 正則表達(dá)式在自然語言處理中的基本應(yīng)用 14
2.1.1 匹配字符串 14
2.1.2 使用轉(zhuǎn)義符 17
2.1.3 抽取文本中的數(shù)字 18
2.2 NumPy使用詳解 13.2 19
2.2.1 創(chuàng)建數(shù)組 19
2.2.2 獲取NumPy中數(shù)組的維度 20
2.2.3 獲取本地數(shù)據(jù) 21
2.2.4 正確讀取數(shù)據(jù) 22
2.2.5 數(shù)組索引 22
2.2.6 數(shù)組切片 23
2.2.7 數(shù)組比較 23
2.2.8 替代值 24
2.2.9 數(shù)據(jù)類型轉(zhuǎn)換 25
2.2.10 NumPy的統(tǒng)計計算方法 25
2.3 本章小結(jié) 26
第3章 使用NLTK獲取和構(gòu)建語料庫 27
3.1 語料庫基礎(chǔ) 28
3.2 NLTK 29
3.2.1 NLTK簡介 29
3.2.2 安裝NLTK 30
3.2.3 使用NLTK 31
3.2.4 在Python NLTK下使用Stanford NLP 36
3.3 獲取語料庫 40
3.3.1 通過語料庫網(wǎng)站獲取語料庫 40
3.3.2 通過編寫程序獲取語料庫 41
3.3.3 通過NLTK獲取語料庫 42
3.4 綜合案例:走進(jìn)《紅樓夢》 44
3.4.1 數(shù)據(jù)采集和預(yù)處理 44
3.4.2 構(gòu)建本地語料庫 45
3.4.3 語料操作 45
3.5 本章小結(jié) 48
第4章 jieba中文分詞 49
4.1 中文分詞簡介 50
4.2 規(guī)則分詞 50
4.2.1 正向最大匹配法 51
4.2.2 逆向最大匹配法 52
4.2.3 雙向最大匹配法 54
4.3 統(tǒng)計分詞 57
4.3.1 統(tǒng)計語言模型 57
4.3.2 HMM 58
4.3.3 其他統(tǒng)計分詞算法 65
4.4 混合分詞 65
4.5 Jieba高頻詞提取 66
4.5.1 jieba的3種分詞模式 66
4.5.2 實戰(zhàn)之高頻詞提取 66
4.6 本章小結(jié) 69
第5章 jieba詞性標(biāo)注 71
5.1 詞性標(biāo)注簡介 72
5.2 詞性標(biāo)注規(guī)范 72
5.3 jieba分詞中的詞性標(biāo)注 74
5.4 本章小結(jié) 75
第6章 命名實體識別之日期識別和地名識別 77
6.1 命名實體識別簡介 78
6.2 基于CRF的命名實體識別 79
6.3 命名實體識別之日期識別 82
6.4 命名實體識別之地名識別 86
6.4.1 安裝CRF++ 86
6.4.2 確定標(biāo)簽體系 87
6.4.3 語料數(shù)據(jù)處理 88
6.4.4 特征模板設(shè)計 90
6.4.5 模型訓(xùn)練和測試 91
6.4.6 模型使用 93
6.5 本章小結(jié) 94
第7章 提取文本關(guān)鍵詞 95
7.1 關(guān)鍵詞提取算法 96
7.2 TF-IDF算法 96
7.3 TextRank算法 97
7.4 LSA/LSI/LDA算法 99
7.4.1 LSA/LSI算法 99
7.4.2 LDA算法 100
7.5 提取文本關(guān)鍵詞 101
7.6 本章小結(jié) 108
第8章 詞向量算法 109
8.1 word2vec詞向量算法 110
8.1.1 神經(jīng)網(wǎng)絡(luò)語言模型 110
8.1.2 C&W模型 112
8.1.3 CBOW模型和Skip-gram模型 113
8.2 doc2vec/str2vec文本向量化算法 114
8.3 將網(wǎng)頁文本向量化 116
8.3.1 詞向量的訓(xùn)練 116
8.3.2 段落向量的訓(xùn)練 119
8.3.3 利用word2vec詞向量算法和doc2vec文本向量化算法計算網(wǎng)頁相似度 120
8.4 本章小結(jié) 124
第9章 句法分析 125
9.1 句法分析概述 126
9.1.1 句法分析的基本概念 126
9.1.2 句法分析的基本方法 126
9.2 句法分析的數(shù)據(jù)集與評測方法 127
9.2.1 句法分析的數(shù)據(jù)集 127
9.2.2 句法分析的評測方法 129
9.3 句法分析的常用方法 130
9.3.1 基于PCFG的句法分析 130
9.3.2 基于最大間隔馬爾可夫網(wǎng)絡(luò)的句法分析 131
9.3.3 基于CRF的句法分析 132
9.3.4 基于移進(jìn)-歸約的句法分析 132
9.4 使用Standford Parser的PCFG進(jìn)行句法分析 134
9.4.1 Stanford Parser 134
9.4.2 基于PCFG的中文句法分析實戰(zhàn) 135
9.5 本章小結(jié) 136
第 10章 情感分析 137
10.1 情感分析的應(yīng)用 138
10.2 情感分析的基本方法 139
10.2.1 詞法分析 139
10.2.2 機器學(xué)習(xí) 140
10.2.3 混合分析 140
10.3 電影評論情感分析 141
10.3.1 模型選擇 141
10.3.2 載入數(shù)據(jù) 144
10.3.3 輔助函數(shù) 146
10.3.4 模型設(shè)置 147
10.3.5 調(diào)參配置 148
10.3.6 訓(xùn)練過程 149
10.4 本章小結(jié) 149
第 11章 機器學(xué)習(xí)在自然語言處理的應(yīng)用 151
11.1 幾種常用的機器學(xué)習(xí)方法 152
11.1.1 文本分類 152
11.1.2 特征提取 152
11.1.3 標(biāo)注 153
11.1.4 搜索與排序 154
11.1.5 推薦系統(tǒng) 155
11.1.6 序列學(xué)習(xí) 156
11.2 無監(jiān)督學(xué)習(xí)的文本聚類 156
11.3 文本分類實戰(zhàn)-中文垃圾郵件分類 158
11.4 文本聚類實戰(zhàn)——用K均值聚類對豆瓣讀書數(shù)據(jù)聚類 164
11.5 本章小結(jié) 168
第 12章 深度學(xué)習(xí)在自然語言中的應(yīng)用 169
12.1 RNN簡介 170
12.1.1 簡單RNN 170
12.1.2 LSTM 172
12.1.3 Attention機制 174
12.2 Seq2Seq問答機器人 175
12.2.1 Seq2Seq模型 175
12.2.2 實戰(zhàn)Seq2Seq聊天機器人 176
12.3 本章小結(jié) 184
第 13章 自然語言處理典型的應(yīng)用場景 185
13.1 機器翻譯與寫作 186
13.1.1 機器翻譯 186
13.1.2 機器寫作 195
13.2 智能問答與對話 204
13.2.1 智能問答 204
13.2.2 智能對話系統(tǒng) 204
13.2.3 問答系統(tǒng)的主要組成 206
13.2.4 不同類型的問答系統(tǒng) 207
13.2.5 前景與挑戰(zhàn) 218
13.3 個性化推薦 218
13.3.1 推薦系統(tǒng)的概念 218
13.3.2 個性化推薦的基本問題 219
13.3.3 推薦的可解釋性 222
13.3.4 前景與挑戰(zhàn) 223
13.4 本章小結(jié) 226