自然語言處理是計算語言學和人工智能之中與人機交互相關的領域之一。 本書是學習自然語言處理的一本綜合學習指南, 介紹了如何用Python實現各種NLP任務, 以幫助讀者創(chuàng)建基于真實生活應用的項目。全書共10章, 分別涉及字符串操作、統(tǒng)計語言建模、形態(tài)學、詞性標注、語法解析、語義分析、情感分析、信息檢索、語篇分析和NLP系統(tǒng)評估等主題。
本書詳細介紹如何使用Python執(zhí)行各種自然語言處理(NLP)任務,并幫助讀者掌握利用Python設計和構建基于NLP的應用的zui佳實踐。本書引導讀者應用機器學習工具來開發(fā)各種各樣的模型。對于訓練數據的創(chuàng)建和主要NLP應用的實現,例如命名實體識別、問答系統(tǒng)、語篇分析、詞義消歧、信息檢索、情感分析、文本摘要以及指代消解等,本書都進行了清晰的介紹。本書有助于讀者使用NLTK創(chuàng)建NLP項目并成為相關領域的專家。
第1章 字符串操作 1
1.1 切分 1
1.1.1 將文本切分為語句 2
1.1.2 其他語言文本的切分 2
1.1.3 將句子切分為單詞 3
1.1.4 使用TreebankWordTokenizer
執(zhí)行切分 4
1.1.5 使用正則表達式實現
切分 5
1.2 標準化 8
1.2.1 消除標點符號 8
1.2.2 文本的大小寫轉換 9
1.2.3 處理停止詞 9
1.2.4 計算英語中的停止詞 10
1.3 替換和校正標識符 11
1.3.1 使用正則表達式替換
單詞 11
1.3.2 用另一個文本替換文本的
示例 12
1.3.3 在執(zhí)行切分前先執(zhí)行替換操作 12
1.3.4 處理重復字符 13
1.3.5 去除重復字符的示例 13
1.3.6 用單詞的同義詞替換 14
1.3.7 用單詞的同義詞替換的
示例 15
1.4 在文本上應用Zipf定律 15
1.5 相似性度量 16
1.5.1 使用編輯距離算法執(zhí)行相似性度量 16
1.5.2 使用Jaccard系數執(zhí)行相似性度量 18
1.5.3 使用Smith Waterman距離算法執(zhí)行相似性度量 19
1.5.4 其他字符串相似性度量 19
1.6 小結 20
第2章 統(tǒng)計語言建模 21
2.1 理解單詞頻率 21
2.1.1 為給定的文本開發(fā)
MLE 25
2.1.2 隱馬爾科夫模型估計 32
2.2 在MLE模型上應用平滑 34
2.2.1 加法平滑 34
2.2.2 Good Turing平滑 35
2.2.3 Kneser Ney平滑 40
2.2.4 Witten Bell平滑 41
2.3 為MLE開發(fā)一個回退機制 41
2.4 應用數據的插值以便獲取混合
搭配 42
2.5 通過復雜度來評估語言模型 42
2.6 在語言建模中應用
Metropolis-Hastings算法 43
2.7 在語言處理中應用Gibbs
采樣法 43
2.8 小結 46
第3章 形態(tài)學:在實踐中學習 47
3.1 形態(tài)學簡介 47
3.2 理解詞干提取器 48
3.3 理解詞形還原 51
3.4 為非英文語言開發(fā)詞干
提取器 52
3.5 形態(tài)分析器 54
3.6 形態(tài)生成器 56
3.7 搜索引擎 56
3.8 小結 61
第4章 詞性標注:單詞識別 62
4.1 詞性標注簡介 62
默認標注 67
4.2 創(chuàng)建詞性標注語料庫 68
4.3 選擇一種機器學習算法 70
4.4 涉及n-gram的統(tǒng)計建模 72
4.5 使用詞性標注語料庫開發(fā)
分塊器 78
4.6 小結 80
第5章 語法解析:分析訓練資料 81
5.1 語法解析簡介 81
5.2 Treebank建設 82
5.3 從Treebank提取上下文無關
文法規(guī)則 87
5.4 從CFG創(chuàng)建概率上下文無關
文法 93
5.5 CYK線圖解析算法 94
5.6 Earley線圖解析算法 96
5.7 小結 102
第6章 語義分析:意義很重要 103
6.1 語義分析簡介 103
6.1.1 NER簡介 107
6.1.2 使用隱馬爾科夫模型的
NER系統(tǒng) 111
6.1.3 使用機器學習工具包訓練
NER 117
6.1.4 使用詞性標注執(zhí)行
NER 117
6.2 使用Wordnet生成同義詞
集id 119
6.3 使用Wordnet進行詞義消歧 122
6.4 小結 127
第7章 情感分析:我很快樂 128
7.1 情感分析簡介 128
7.1.1 使用NER執(zhí)行情感
分析 134
7.1.2 使用機器學習執(zhí)行情感
分析 134
7.1.3 NER系統(tǒng)的評估 141
7.2 小結 159
第8章 信息檢索:訪問信息 160
8.1 信息檢索簡介 160
8.1.1 停止詞刪除 161
8.1.2 使用向量空間模型進行
信息檢索 163
8.2 向量空間評分及查詢操作符
關聯(lián) 170
8.3 使用隱性語義索引開發(fā)IR
系統(tǒng) 173
8.4 文本摘要 174
8.5 問答系統(tǒng) 176
8.6 小結 177
第9章 語篇分析:理解才是可信的 178
9.1 語篇分析簡介 178
9.1.1 使用中心理論執(zhí)行語篇
分析 183
9.1.2 指代消解 184
9.2 小結 188
第10章 NLP系統(tǒng)評估:性能分析 189
10.1 NLP系統(tǒng)評估要點 189
10.1.1 NLP工具的評估(詞性標注器、詞干提取器及形態(tài)分析器) 190
10.1.2 使用黃金數據執(zhí)行解析器
評估 200
10.2 IR系統(tǒng)的評估 201
10.3 錯誤識別指標 202
10.4 基于詞匯搭配的指標 202
10.5 基于句法匹配的指標 207
10.6 使用淺層語義匹配的指標 207
10.7 小結 208