Python 和 NLTK 自然語言處理 (Natural Language Processing: Python and NLTK)
[印度] 尼天·哈登尼亞(Nitin Hardeniya)雅各布·帕金斯(Jacob Perkins) 迪蒂·喬普拉(Deepti Chopra) 尼什·斯喬希
- 出版商: 人民郵電
- 出版日期: 2019-06-01
- 定價: $828
- 售價: 8.5 折 $704
- 語言: 簡體中文
- ISBN: 7115503346
- ISBN-13: 9787115503343
-
相關分類:
Python、Text-mining
- 此書翻譯自: Natural Language Processing: Python and NLTK
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$560Python 自然語言處理 (Natural Language Processing with Python)
-
$500NLP 漢語自然語言處理原理與實踐
-
$250NLTK 基礎教程 — 用 NLTK 和 Python 庫構建機器學習應用 (NLTK Essentials)
-
$403$379 -
$403機器學習之路 : Caffe、Keras、scikit-learn 實戰
-
$505情感分析 : 挖掘觀點、情感和情緒 (Sentiment Analysis: Mining Opinions, Sentiments, and Emotions)
-
$2,081$1,971 -
$480$379 -
$403Python 自然語言處理
-
$465$441 -
$4655G 移動通信系統及關鍵技術
-
$580$458 -
$327$311 -
$281智能的本質 人工智能與機器人領域的64個大問題
-
$680$537 -
$454零基礎入門學習 Python, 2/e
-
$594$564 -
$580$458 -
$620$490 -
$1,000$850 -
$520$406 -
$980$774 -
$352自然語言表示學習 — 文本語義向量化表示研究與應用
-
$880$695 -
$449知識圖譜 — 面向科技文獻的構建技術與應用實踐
相關主題
商品描述
NLTK是自然語言處理領域中非常受歡迎和廣泛使用的Python庫。NLTK的優點在於其簡單性,其中大多數復雜的自然語言處理任務使用幾行代碼即可完成。本書旨在講述如何用Python和NLTK解決各種自然語言處理任務並開發機器學習方面的應用。本書介紹了NLTK的基本模塊,講述了採用NLTK實現自然語言處理的大量技巧,討論了一些文本處理方法和語言處理技術,展示了使用Python實現NLP項目的大量實踐經驗。本書主要內容包括文本挖掘/NLP任務中所需的所有預處理步驟,如何使用Python 3的NLTK 3進行文本處理,如何通過Python開展NLP項目。
本書適合NLP和機器學習領域的愛好者、Python程序員以及機器學習領域的研究人員閱讀。
作者簡介
[印度]尼天·哈登尼亞(Nitin Hardeniya)雅各布·帕金斯(Jacob Perkins)迪蒂·喬普拉(Deepti Chopra)尼什·斯喬希譯者:林賜
Nitin Hardeniya是一位數據科學家,精通Python、NLTK、機器學習,與多家知名公司都有長期的合作。他的業務範圍比較廣,擅長解決不同領域的各種業務問題。他發表過5篇專利。
目錄大綱
模塊1 NLTK基礎知識
第1章自然語言處理簡介3
1.1為什麼要學習NLP 4
1.2從Python的基本知識開始7
1.2.1列表7
1.2.2自助8
1.2.3正則表達式9
1.2.4詞典11
1.2.5編寫函數11
1.3 NLTK 13
1.4試一試18
1.5本章小結18
第2章文本的整理和清洗19
2.1文本整理19
2.2文本清洗21
2.3句子拆分器22
2.4標記解析22
2.5詞幹提取24
2.6詞形還原25
2.7停用詞刪除26
2.8生僻字刪除27
2.9拼寫校正27
2.10試一試28
2.11本章小結28
第3章詞性標註30
3.1什麼是詞性標註30
3.1.1斯坦福標註器33
3.1. 2深入了解標註器34
3.1.3序列標註器35
3.1.4布里爾標註器37
3.1.5基於標註器的機器學習37
3.2命名實體識別38
3.3試一試40
3.4本章小結41
第4章對文本的結構進行語法分析42
4.1淺層語法分析與深層語法分析42
4.2語法分析的兩種方法43
4.3為什麼需要語法分析43
4.4不同類型的語法分析器45
4.4.1遞歸下降的語法分析器45
4.4.2移位歸約語法分析器45
4.4.3圖表語法分析器45
4.4.4正則表達式語法分析器46
4.5依存分析47
4.6組塊化49
4.7信息抽取51
4.7.1命名實體識別52
4.7.2關係抽取52
4.8本章小結53
第5章NLP應用54
5.1構建第一個NLP應用54
5.2其他的NLP應用58
5.2.1機器翻譯58
5.2.2統計機器翻譯59
5.2.3信息檢索59
5.2.4語音識別61
5.2.5文本分類62
5.2.6信息提取63
5.2.7問答系統64
5.2.8對話系統64
5.2.9詞義消歧64
5.2.10主題建模64
5.2.11語言檢測65
5.2.12光學字符識別65
5.3本章小結65
第6章文本分類66
6.1機器學習67
6.2文本分類68
6.3採樣70
6.3.1樸素貝葉斯73
6.3 .2決策樹75
6.3.3隨機梯度下降76
6.3.4邏輯回歸77
6.3.5支持向量機78
6.4隨機森林算法79
6.5文本聚類79
6.6文本的主題建模81
6.7參考資料83
6.8本章小結83
第7章網絡爬取85
7.1網絡爬蟲85
7.2編寫第一個爬蟲程序86
7.3 Scrapy中的數據流89
7.3.1 Scrapy命令行界面89
7.3.2項94
7.4站點地圖蜘蛛96
7.5項管道97
7.6外部參考98
7.7本章小結99
第8章與其他Python庫一同使用NLTK 100
8.1 NumPy 100
8.1.1 ndarray 101
8.1.2基本操作102
8.1.3從數組中提取數據103
8.1.4複雜的矩陣運算103
8.2 SciPy 107
8.2.1線性代數108
8.2.2特徵值和特徵向量108
8.2.3稀疏矩陣109
8.2.4優化110
8.3 Pandas 111
8.3 .1讀取數據112
8.3.2時序數據114
8.3.3列轉換115
8.3.4噪聲數據116
8.4 Matplotlib 117
8.4.1 subplot 118
8.4.2添加軸119
8.4.3散點圖120
8.4.4柱狀圖120
8.4.5 3D圖121
8.5外部參考121
8.6本章小結121
第9章使用Python進行社交媒體挖掘122
9.1數據收集122
9.2數據提取126
9.3地理可視化128
9.3.1影響者檢測129
9.3.2 Facebook 130
9.3 .3影響者的朋友134
9.4本章小結135
第10章大規模的文本挖掘136
10.1在Hadoop上使用Python的不同方法136
10.1.1 Python的流137
10.1.2 Hive/Pig UDF 137
10.1.3流包裝器137
10.2在Hadoop上運行NLTK 138
10.2.1 UDF 138
10.2.2 Python流140
10.3在Hadoop上運行Scikit- learn 141
10.4 PySpark 144
10.5本章小結146
模塊2使用Python 3的NLTK 3進行文本處理
第1章標記文本和WordNet的基礎149
1.1引言149
1.2將文本標記成句子150
1.2.1準備工作150
1.2.2工作方式151
1.2.3工作原理151
1.2.4更多信息151
1.2.5請參閱152
1.3將句子標記成單詞152
1.3.1工作方式152
1.3.2工作原理153
1.3.3更多信息153
1.3.4請參閱154
1.4使用正則表達式標記語句154
1.4.1準備工作155
1.4.2工作方式155
1.4.3工作原理155
1.4.4更多信息155
1.4.5請參閱156
1.5訓練語句標記生成器156
1.5.1準備工作156
1.5.2工作方式156
1.5.3工作原理157
1.5.4更多信息158
1.5.5請參閱158
1.6在已標記的語句中過濾停用詞158
1.6.1準備工作158
1.6.2工作方式159
1.6.3工作原理159
1.6.4更多信息159
1.6.5請參閱160
1.7查找WordNet中單詞的
Synset 160
1.7.1準備工作160
1.7.2工作方式160
1.7.3工作原理161
1.7.4更多信息161
1.7.5請參閱163
1.8在WordNet中查找詞元和同義詞163
1.8.1工作方式163
1.8 .2工作原理163
1.8.3更多信息163
1.8.4請參閱165
1.9計算WordNet和Synset的相似度165
1.9.1工作方式165
1.9.2工作原理165
1.9.3更多信息166
1.9.4請參閱167
1.10發現單詞搭配167
1.10.1準備工作167
1.10.2工作方式167
1.10.3工作原理168
1.10.4更多信息168
1.10.5請參閱169
第2章替換和校正單詞170
2.1引言170
2.2詞幹提取170
2.2.1工作方式171
2.2.2工作原理171
2.2.3更多信息171
2.2.4請參閱173
2.3使用WordNet進行詞形還原173
2.3. 1準備工作173
2.3.2工作方式173
2.3.3工作原理174
2.3.4更多信息174
2.3.5請參閱175
2.4基於匹配的正則表達式替換單詞175
2.4.1準備工作175
2.4.2工作方式175
2.4.3工作原理176
2.4.4更多信息177
2.4.5請參閱177
2.5移除重複字符177
2.5.1準備工作177
2.5.2工作方式178
2.5.3工作原理178
2.5.4更多信息179
2.5.5請參閱179
2.6使用Enchant進行拼寫校正180
2.6.1準備工作180
2.6.2工作方式180
2.6.3工作原理181
2.6.4更多信息181
2.6.5請參閱183
2.7替換同義詞183
2.7.1準備工作183
2.7.2工作方式183
2.7.3工作原理184
2.7.4更多信息184
2.7.5請參閱185
2.8使用反義詞替換否定形式186
2.8 .1工作方式186
2.8.2工作原理187
2.8.3更多信息187
2.8.4請參閱188
第3章創建自定義語料庫189
3.1引言189
3.2建立自定義語料庫190
3.2.1準備工作190
3.2.2工作方式190
3.2.3工作原理191
3.2.4更多信息192
3.2.5請參閱192
3.3創建詞彙表語料庫192
3.3.1準備工作192
3.3.2工作方式193
3.3.3工作原理193
3.3.4更多信息194
3.3.5請參閱194
3.4創建已標記詞性單詞的語料庫195
3.4.1準備工作195
3.4.2工作方式195
3.4.3工作原理196
3.4.4更多信息196
3.4.5請參閱199
3.5創建已組塊短語的語料庫199
3.5.1準備工作199
3.5.2工作方式199
3.5.3工作原理201
3.5.4更多信息201
3.5.5請參閱203
3.6創建已分類文本的語料庫203
3.6.1準備工作204
3.6.2工作方式204
3.6.3工作原理204
3.6.4更多信息205
3.6.5請參閱206
3.7創建已分類組塊語料庫讀取器206
3.7 .1準備工作206
3.7.2工作方式207
3.7.3工作原理208
3.7.4更多信息209
3.7.5請參閱213
3.8懶惰語料庫加載213
3.8.1工作方式213
3.8.2工作原理214
3.8.3更多信息214
3.9創建自定義語料庫視圖215
3.9.1工作方式215
3.9.2工作原理216
3.9.3更多信息217
3.9.4請參閱218
3.10創建基於MongoDB的語料庫讀取器218
3.10 .1準備工作219
3.10.2工作方式219
3.10.3工作原理220
3.10.4更多信息221
3.10.5請參閱221
3.11在加鎖文件的情況下編輯語料庫221
3.11.1準備工作221
3.11.2工作方式221
3.11.3工作原理222
第4章詞性標註224
4.1引言224
4.2默認標註225
4.2.1準備工作225
4.2.2工作方式225
4.2.3工作原理226
4.2.4更多信息227
4.2.5請參閱228
4.3訓練一元組詞性標註器228
4.3.1工作方式228
4.3.2工作原理229
4.3.3更多信息230
4.3.4請參閱231
4.4回退標註的組合標註器231
4.4.1工作方式231
4.4.2工作原理232
4.4.3更多信息232
4.4.4請參閱233
4.5訓練和組合N元標註器233
4.5.1準備工作233
4.5 .2工作方式233
4.5.3工作原理234
4.5.4更多信息235
4.5.5請參閱236
4.6創建似然單詞標籤的模型236
4.6.1工作方式236
4.6.2工作原理237
4.6.3更多信息237
4.6.4請參閱238
4.7使用正則表達式標註238
4.7.1準備工作238
4.7.2工作方式238
4.7.3工作原理239
4.7.4更多信息239
4.7.5請參閱239
4.8詞綴標籤239
4.8.1工作方式239
4.8.2工作原理240
4.8.3更多信息240
4.8.4請參閱241
4.9訓練布里爾標註器241
4.9.1工作方式241
4.9.2工作原理242
4.9.3更多信息243
4.9.4請參閱244
4.10訓練TnT標註器244
4.10.1工作方式244
4.10.2工作原理244
4.10.3更多信息245
4.10.4請參閱246
4.11使用WordNet進行
標註246
4.11.1準備工作246
4.11.2工作方式247
4.11.3工作原理248
4.11.4請參閱248
4.12標註專有名詞248
4.12.1工作方式248
4.12.2工作原理249
4.12.3請參閱249
4.13基於分類器的標註249
4.13.1工作方式250
4.13.2工作原理250
4.13.3更多信息251
4.13.4請參閱252
4.14使用NLTK訓練器訓練標註器253
4.14.1工作方式253
4.14.2工作原理254
4.14.3更多信息258
4.14.4請參閱260
第5章提取組塊261
5.1引言261
5.2使用正則表達式組塊和
隔斷262
5.2.1準備工作262
5.2.2工作方式262
5.2.3工作原理263
5.2.4更多信息265
5.2.5請參閱267
5.3使用正則表達式合併和拆分
組塊267
5.3.1工作方式267
5.3.2工作原理269
5.3.3更多信息270
5.3.4請參閱271
5.4使用正則表達式擴展和刪除
組塊271
5.4.1工作方式271
5.4.2工作原理272
5.4.3更多信息273
5.4.4請參閱273
5.5使用正則表達式進行部分
解析273
5.5.1工作方式273
5.5.2工作原理274
5.5.3更多信息275
5.5.4請參閱276
5.6訓練基於標註器的組塊器276
5.6.1工作方式276
5.6.2工作原理277
5.6.3更多信息278
5.6.4請參閱279
5.7基於分類的分塊279
5.7.1工作方式279
5.7.2工作原理282
5.7.3更多信息282
5.7.4請參閱283
5.8提取命名實體283
5.8.1工作方式283
5.8.2工作原理284
5.8.3更多信息284
5.8.4請參閱285
5.9提取專有名詞組塊285
5.9.1工作方式286
5.9.2工作原理286
5.9.3更多信息286
5.10提取部位組塊287
5.10.1工作方式288
5.10.2工作原理290
5.10.3更多信息290
5.10.4請參閱290
5.11訓練命名實體組塊器290
5.11.1工作方式290
5.11.2工作原理292
5.11.3更多信息292
5.11.4請參閱293
5.12使用NLTK訓練器訓練
組塊器293
5.12.1工作方式293
5.12 .2工作原理294
5.12.3更多信息295
5.12.4請參閱299
第6章轉換組塊與樹300
6.1引言300
6.2過濾句子中無意義的
單詞301
6.2.1準備工作301
6.2.2工作方式301
6.2.3工作原理302
6.2.4更多信息302
6.2.5請參閱303
6.3糾正動詞形式303
6.3.1準備工作303
6.3.2工作方式303
6.3. 3工作原理305
6.3.4請參閱306
6.4交換動詞短語306
6.4.1工作方式306
6.4.2工作原理307
6.4.3更多信息307
6.4.4請參閱307
6.5交換名詞基數308
6.5.1工作方式308
6.5.2工作原理309
6.5.3請參閱309
6.6交換不定式短語309
6.6.1工作方式309
6.6.2工作原理310
6.6.3更多信息310
6.6.4請參閱310
6.7單數化複數名詞310
6.7.1工作方式310
6.7.2工作原理311
6.7.3請參閱311
6.8鏈接組塊變換311
6.8.1工作方式311
6.8.2工作原理312
6.8.3更多信息312
6.8.4請參閱313
6.9將組塊樹轉換為文本313
6.9.1工作方式313
6.9.2工作原理314
6.9.3更多信息314
6.9.4請參閱314
6.10平展深度樹314
6.10.1準備工作315
6.10.2工作方式315
6.10.3工作原理316
6.10.4更多信息317
6.10.5請參閱318
6.11創建淺樹318
6.11.1工作方式318
6.11.2工作原理320
6.11.3請參閱320
6.12轉換樹標籤320
6.12.1準備工作320
6.12.2工作方式321
6.12.3工作原理322
6.12.4請參閱322
第7章文本分類323
7.1引言323
7.2詞袋特徵提取324
7.2.1工作方式324
7.2 .2工作原理325
7.2.3更多信息325
7.2.4請參閱327
7.3訓練樸素貝葉斯分類器327
7.3.1準備工作327
7.3.2工作方式328
7.3.3工作原理329
7.3.4更多信息330
7.3.5請參閱333
7.4訓練決策樹分類器334
7.4.1工作方式334
7.4.2工作原理335
7.4.3更多信息335
7.4.4請參閱337
7.5訓練最大熵分類器337
7.5.1準備工作337
7.5.2工作方式337
7.5.3工作原理338
7.5.4更多信息339
7.5.5請參閱340
7.6訓練scikit-learn 分類器340
7.6.1準備工作341
7.6.2工作方式341
7.6.3工作原理342
7.6.4更多信息343
7.6.5請參閱345
7.7衡量分類器的精准率和召回率346
7.7.1工作方式346
7.7.2工作原理347
7.7.3更多信息348
7.7.4請參閱349
7.8計算高信息量單詞349
7.8.1工作方式350
7.8.2工作原理351
7.8.3更多信息352
7.8.4請參閱354
7.9使用投票組合分類器354
7.9.1準備工作355
7.9.2工作方式355
7.9.3工作原理356
7.9.4請參閱356
7.10使用多個二元分類器分類357
7.10.1準備工作357
7.10.2工作方式357
7.10.3工作原理361
7.10.4更多信息362
7.10.5請參閱363
7.11使用NLTK訓練器訓練分類器363
7.11.1工作方式363
7.11.2工作原理364
7.11.3更多信息365
7.11.4請參閱371
第8章分佈式進程和大型數據集的處理372
8.1引言372
8.2使用execnet進行分佈式標註372
8.2.1準備工作373
8.2.2工作方式373
8.2.3工作原理374
8.2. 4更多內容375
8.2.5請參閱377
8.3使用execnet進行分佈式組塊377
8.3.1準備工作377
8.3.2工作方式377
8.3.3工作原理378
8.3.4更多內容379
8.3.5請參閱379
8.4使用execnet並行處理列表379
8.4.1工作方式379
8.4.2工作原理380
8.4.3更多內容381
8.4.4請參閱381
8.5在Redis中存儲頻率分佈382
8.5.1準備工作382
8.5.2工作方式382
8.5.3工作原理384
8.5.4更多內容385
8.5.5請參閱386
8.6在Redis中存儲條件頻率分佈386
8.6 .1準備工作386
8.6.2工作方式386
8.6.3工作原理387
8.6.4更多內容388
8.6.5請參閱388
8.7在Redis中存儲有序字典388
8.7.1準備工作388
8.7.2工作方式388
8.7.3工作原理390
8.7.4更多內容391
8.7.5請參閱392
8.8使用Redis和execnet進行分佈式單詞評分392
8.8.1準備工作392
8.8.2工作方式392
8.8.3工作原理393
8.8.4更多內容396
8.8.5請參閱396
第9章解析特定的數據類型397
9.1引言397
9.2使用dateutil解析日期和時間398
9.2.1準備工作398
9.2.2工作方式398
9.2.3工作原理399
9.2.4更多信息399
9.2.5請參閱399
9.3時區的查找和轉換400
9.3.1準備工作400
9.3.2工作方式400
9.3.3工作原理402
9.3.4更多信息402
9.3.5請參閱403
9.4使用lxml從HTML中提取URL 403
9.4.1準備工作403
9.4.2工作方式403
9.4.3工作原理404
9.4.4更多信息404
9.4. 5請參閱405
9.5清理和剝離HTML 405
9.5.1準備工作405
9.5.2工作方式405
9.5.3工作原理405
9.5.4更多信息406
9.5.5請參閱406
9.6使用BeautifulSoup轉換HTML實體406
9.6.1準備工作406
9.6.2工作方式406
9.6.3工作原理407
9.6.4更多信息407
9.6.5請參閱407
9.7檢測和轉換字符編碼407
9.7.1準備工作408
9.7.2工作方式408
9.7.3工作原理409
9.7.4更多信息409
9.7.5請參閱410
附錄A賓州treebank詞性標籤411
模塊3使用Python掌握自然語言處理
第1章使用字符串417
1.1標記化417
1.1.1將文本標記為句子418
1.1.2其他語言文字的標記化418
1.1.3將句子標記為單詞419
1.1.4使用TreebankWordTokenizer 進行標記化420
1.1.5使用正則表達式進行標記化421
1.2規範化424
1.2.1消除標點符號424
1.2.2轉化為小寫和大寫425
1.2.3處理停用詞425
1.2.4計算英語中的停用詞426
1.3替代和糾正標記427
1.3.1使用正則表達式替換單詞427
1.3.2使用一個文本替換另一個文本的示例428
1.3.3在標記化之前進行替代428
1.3.4處理重複的字符428
1.3.5刪除重複字符的示例429
1.3.6使用單詞的同義詞替換單詞430
1.4在文本上應用齊夫定律431
1.5相似性量度431
1.5.1使用編輯距離算法應用相似性量度432
1.5.2使用杰卡德係數應用相似性量度434
1.5 .3使用史密斯-沃特曼算法應用相似性量度434
1.5.4其他字符串相似性指標435
1.6本章小結436
第2章統計語言模型437
2.1單詞頻率437
2.1.1對給定文本進行最大似然估計441
2.1.2隱馬爾可夫模型估計448
2.2在MLE模型上應用平滑450
2.2.1加一平滑法450
2.2.2古德-圖靈算法451
2.2.3聶氏估計456
2.2.4威滕貝爾估計457
2.3為MLE指定回退機制457
2.4應用數據插值獲得混合和匹配458
2.5應用困惑度評估語言模型458
2.6在建模語言中應用梅特羅波利斯-黑斯廷斯算法459
2.7在語言處理中應用吉布斯採樣459
2.8本章小結461
第3章詞語形態學—試一試462
3.1詞語形態學462
3.2詞根還原器463
3.3詞形還原466
3.4開髮用於非英語語言的詞根還原器467
3.5詞語形態分析器469
3.6詞語形態生成器471
3.7搜索引擎471
3.8本章小結475
第4章詞性標註—識別單詞476
4.1詞性標註476
4.2創建POS標註的語料庫482
4.3選擇某個機器學習算法484
4.4涉及n元組方法的統計建模486
4.5使用POS標註的語料庫開發組塊器491
4.6本章小結494
第5章解析—分析訓練數據495
5.1解析495
5.2構建樹庫496
5.3從樹庫中提取上下文無關文法的規則501
5.4從CFG中創建概率上下文無關的文法507
5.5 CYK圖解析算法509
5.6厄雷圖解析算法510
5.7本章小結516
第6章語義分析—意義重大517
6.1語義分析517
6.1.1 NER簡介521
6.1.2使用隱馬爾可夫模型的
NER系統525
6.1.3使用機器學習工具包訓練
NER 530
6.1.4使用POS標註的
NER 531
6.2從Wordnet中生成同義詞集
ID 534
6.3使用Wordnet消除歧義537
6.4本章小結541
第7章情感分析—我很高興542
7.1情感分析542
7.2使用機器學習的情感分析548
7.3本章小結572
第8章信息檢索—訪問信息573
8.1信息檢索573
8.1.1停用詞刪除574
8.1.2利用向量空間模型進行信息檢索576
8.2向量空間評分以及與查詢操作器交互583
8.3利用隱含語義索引開發IR 系統586
8.4文本摘要587
8.5問答系統588
8.6本章小結589
第9章話語分析—知識就是信仰590
9.1話語分析590
9.1.1使用定中心理論進行話語分析595
9.1.2回指解析596
9.2本章小結601
第10章NLP系統的評估— 性能分析602
10.1對NLP系統進行評估的需求602
10.1.1 NLP工具(POS標註器、詞幹還原器和形態分析器)的評估603
10.1.2使用黃金數據評估解析器613
10.2 IR系統的評估614
10.3錯誤識別的指標614
10.4基於詞彙匹配的指標615
10.5基於語法匹配的指標619
10.6使用淺層語義匹配的指標620
10.7本章小結621
參考書目622