自然語言處理入門 自然语言处理入门

何晗

  • 自然語言處理入門-preview-1
  • 自然語言處理入門-preview-2
自然語言處理入門-preview-1

買這商品的人也買了...

商品描述

這是一本務實的入門書,助你零起點上手自然語言處理。

HanLP 作者何晗匯集多年經驗,從基本概念出發,逐步介紹中文分詞、
詞性標註、命名實體識別、信息抽取、文本聚類、文本分類、
句法分析這幾個熱門問題的算法原理與工程實現。
書中通過對多種算法的講解,比較了它們的優缺點和適用場景,
同時詳細演示生產級成熟代碼,助你真正將自然語言處理應用在生產環境中。

隨著本書的學習,你將從普通程序員晉級為機器學習工程師,最後進化到自然語言處理工程師。

作者簡介

何晗(@hankcs)

自然語言處理類庫HanLP 作者(GitHub 加星超過14 600),
“碼農場”博主(日活躍讀者數超過3000),埃默里大學計算機博士生,
研究方向是句法分析、語義分析與問答系統。

HanLP 和“碼農場”是NLP 領域實用的學習資源,
何晗大約每周處理一次HanLP GitHub上的Issues。

目錄大綱

 

第1章新手上路1
1.1自然語言與編程語言.2
1.1.1詞彙量.2
1.1.2結構化.2
1.1.3歧義性.3
1.1.4容錯性.3
1.1.5易變性.4
1.1 .6簡略性.4
1.2自然語言處理的層次.4
1.2.1語音、圖像和文本..5
1.2.2中文分詞、詞性標註和命名實體識別.5
1.2.3信息抽取.6
1.2.4文本分類與文本聚類..6
1.2.5句法分析.6
1.2.6語義分析與篇章分析..7
1.2.7其他高級任務7
1.3自然語言處理的流派.8
1.3.1基於規則的專家系統. .8
1.3.2基於統計的學習方法..9
1.3.3歷史.9
1.3.4規則與統計.11
1.3.5傳統方法與深度學習11
1.4機器學習..12
1.4.1什麼是機器學習13
1.4.2模型..13
1.4.3特徵..13
1.4.4數據集..15
1.4.5監督學習..16
1.4.6無監督學習.17
1.4.7其他類型的機器學習算法..18
1.5語料庫19
1.5.1中文分詞語料庫19
1.5.2詞性標註語料庫19
1.5.3命名實體識別語料庫20
1.5.4句法分析語料庫20
1.5.5文本分類語料庫20
1.5.6語料庫建設.21
1.6開源工具..21
1.6.1主流NLP工具比較..21
1.6.2Python接口23
1.6.3Java接口.28
1.7總結.31
 

第2章詞典分詞32
2.1什麼是詞..32
2.1.1詞的定義..32
2.1.2詞的性質--齊夫定律..33
2.2詞典.34
2.2.1HanLP詞典.34
2.2.2詞典的加載.34
2.3切分算法..36
2.3.1完全切分..36
2.3.2正向最長匹配.37
2.3.3逆向最長匹配.39
2.3 .4雙向最長匹配.40
2.3.5速度評測..43
2.4字典樹46
2.4.1什麼是字典樹.46
2.4.2字典樹的節點實現47
2.4.3字典樹的增刪改查實現.. 48
2.4.4首字散列其餘二分的字典樹.50
2.4.5前綴樹的妙用.53
2.5雙數組字典樹55
2.5.1雙數組的定義.55
2.5.2狀態轉移..56
2.5.3查詢..56
2.5.4構造*57
2.5.5全切分與最長匹配60
2.6AC自動機..60
2.6.1從字典樹到AC自動機61
2.6.2goto表61
2.6.3output表..62
2.6.4fail表63
2.6.5實現..65
2.7基於雙數組字典樹的AC自動機.67
2.7.1原理..67
2.7.2實現..67
2.8HanLP的詞典分詞實現71
2.8.1DoubleArrayTrieSegment72
2.8.2AhoCorasickDoubleArrayTrie-Segment .73
2.9準確率評測.74
2.9.1準確率..74
2.9.2混淆矩陣與TP/FN/FP/TN..75
2.9.3精確率..76
2.9.4召回率..76
2.9. 5F1值..77
2.9.6中文分詞中的P、R、F1計算..77
2.9.7實現..78
2.9.8第二屆國際中文分詞評測..79
2.9.9OOVRecallRate與IVRecallRate.81
2.10字典樹的其他應用.83
2.10.1停用詞過濾..83
2.10.2簡繁轉換87
2.10.3拼音轉換90
2.11總結.91
 

第3章二元語法與中文分詞.92
3.1語言模型..92
3.1.1什麼是語言模型92
3.1.2馬爾可夫鏈與二元語法..94
3.1.3n元語法..95
3.1.4數據稀疏與平滑策略96
3.2中文分詞語料庫.96
3.2.11998年《人民日報》語料庫PKU.97
3.2.2微軟亞洲研究院語料庫MSR98
3.2.3繁體中文分詞語料庫98
3.2.4語料庫統計.99
3.3訓練.100
3.3.1加載語料庫..101
3.3.2統計一元語法..101
3.3.3統計二元語法..103
3.4預測..104
3.4.1加載模型104
3.4.2構建詞網107
3.4.3節點間的距離計算111
3.4.4詞圖上的維特比算法.112
3.4.5與用戶詞典的集成115
3.5評測..118
3.5.1標準化評測..118
3.5.2誤差分析118
3.5.3調整模型119
3.6日語分詞122
3.6.1日語分詞語料..122
3.6.2訓練日語分詞器.123
3.7總結..124
 

第4章隱馬爾可夫模型與序列標註.125
4.1序列標註問題.125
4.1.1序列標註與中文分詞.126
4.1.2序列標註與詞性標註.127
4.1.3序列標註與命名實體識別128
4.2隱馬爾可夫模型..129
4.2.1從馬爾可夫假設到隱馬爾可夫模型129
4.2.2初始狀態概率向量.130
4.2.3狀態轉移概率矩陣.131
4.2.4發射概率矩陣..132
4.2.5隱馬爾可夫模型的三個基本用法..133
4.3隱馬爾可夫模型的樣本生成133
4.3.1案例--醫療診斷.133
4.3.2樣本生成算法..136
4.4隱馬爾可夫模型的訓練..138
4.4.1轉移概率矩陣的估計.138
4.4.2初始狀態概率向量的估計139
4.4.3發射概率矩陣的估計.140
4.4.4驗證樣本生成與模型訓練141
4.5隱馬爾可夫模型的預測..142
4.5.1概率計算的前向算法.142
4.5 .2搜索狀態序列的維特比算法..143
4.6隱馬爾可夫模型應用於中文分詞.147
4.6.1標註集148
4.6.2字符映射149
4.6.3語料轉換150
4.6.4訓練151
4.6.5預測152
4.6.6評測153
4.6.7誤差分析154
4.7二階隱馬爾可夫模型*154
4.7.1二階轉移概率張量的估計155
4.7.2二階隱馬爾可夫模型中的維特比算法156
4.7.3二階隱馬爾可夫模型應用於中文分詞158
4.8總結..159
 

第5章感知機分類與序列標註.160
5.1分類問題160
5.1.1定義160
5.1.2應用161
5.2線性分類模型與感知機算法161
5.2.1特徵向量與樣本空間.162
5.2.2決策邊界與分離超平面164
5.2.3感知機算法..167
5.2.4損失函數與隨機梯度下降*169
5.2.5投票感知機和平均感知機171
5.3基於感知機的人名性別分類174
5.3.1人名性別語料庫.174
5.3.2特徵提取174
5.3.3訓練175
5.3.4預測176
5.3.5評測177
5.3.6模型調優178
5.4結構化預測問題..180
5.4.1定義180
5.4.2結構化預測與學習的流程180
5.5線性模型的結構化感知機算法..180
5.5.1結構化感知機算法.180
5.5.2結構化感知機與序列標註182
5.5.3結構化感知機的維特比解碼算法..183
5.6基於結構化感知機的中文分詞..186
5.6.1特徵提取187
5.6.2多線程訓練..189
5.6.3特徵裁剪與模型壓縮*.190
5.6.4創建感知機分詞器.192
5.6.5準確率與性能..194
5.6.6模型調整與在線學習*.195
5.6.7中文分詞特徵工程*.197
5.7總結..199
 

第6章條件隨機場與序列標註.200
6.1機器學習的模型譜系200
6.1.1生成式模型與判別式模型201
6.1.2有向與無向概率圖模型202
6.2條件隨機場..205
6.2.1線性鏈條件隨機場.205
6.2.2條件隨機場的訓練*207
6.2.3對比結構化感知機.210
6.3條件隨機場工具包.212
6.3.1CRF++的安裝212
6.3.2CRF++語料格式213
6.3.3CRF++特徵模板214
6.3.4CRF++命令行訓練215
6.3.5CRF++模型格式*216
6.3.6CRF++命令行預測217
6.3.7CRF++代碼分析*218
6.4HanLP中的CRF++API220
6.4.1訓練分詞器..220
6.4.2標準化評測..220
6.5總結..221
 

第7章詞性標註.222
7.1詞性標註概述.222
7.1.1什麼是詞性..222
7.1.2詞性的用處..223
7.1.3詞性標註223
7.1.4詞性標註模型..223
7.2詞性標註語料庫與標註集.224
7.2. 1《人民日報》語料庫與PKU標註集..225
7.2.2國家語委語料庫與863標註集.231
7.2.3《誅仙》語料庫與CTB標註集..234
7.3序列標註模型應用於詞性標註.. 236
7.3.1基於隱馬爾可夫模型的詞性標註..237
7.3.2基於感知機的詞性標註238
7.3.3基於條件隨機場的詞性標註..240
7.3.4詞性標註評測..241
7.4自定義詞性..242
7.4.1樸素實現242
7.4.2標註語料243
7.5總結..244
 

第8章命名實體識別.245
8.1概述..245
8.2基於規則的命名實體識別.246
8.3命名實體識別語料庫. .250
8.4基於層疊隱馬爾可夫模型的角色標註框架252
8.5基於序列標註的命名實體識別..260
8.6自定義領域命名實體識別.266
8.7總結..268

第9章信息抽取.270
9.1新詞提取270
9.2關鍵詞提取..276
9.3短語提取283
9.4關鍵句提取..284
9.5總結..287
 

第10章文本聚類.288
10.1概述..288
10.2文檔的特徵提取291
10.3k均值算法293
10.4重複二分聚類算法..300
10.5標準化評測..303
10.6總結..305
 

第11章文本分類.306
11.1文本分類的概念306
11.2文本分類語料庫307
11.3文本分類的特徵提取.308
11.4樸素貝葉斯分類器..312
11.5支持向量機分類器..317
11.6標準化評測..320
11.7情感分析321
11.8總結..323
 

第12章依存句法分析.324
12.1短語結構樹..324
12.1.3賓州樹庫和中文樹庫.326
12.2依存句法樹..327
12.3依存句法分析.333
12.4基於轉移的依存句法分析..334
12.5依存句法分析API340
12.6案例:基於依存句法樹的意見抽取..342
12.7總結..344
 

第13章深度學習與自然語言處理345
13.1傳統方法的局限345
13.2深度學習與優勢348
13.3word2vec..353
13.4基於神經網絡的高性能依存句法分析器.360
13.5自然語言處理進階..363
自然語言處理學習資料推薦.365