第1 章基礎入門 1
1.1 什麼是自然語言處理 1
1.1.1 自然語言處理概述 1
1.1.2 自然語言處理的發展曆史 3
1.1.3 自然語言處理的工作原理 6
1.1.4 自然語言處理的應用前景 7
1.2 開發工具與環境 7
1.2.1 Sublime Text 和Anaconda 介紹 7
1.2.2 開發環境的安裝與配置 8
1.3 實戰:第一個小程序的誕生 13
1.3.1 實例介紹 13
1.3.2 源碼實現 13
第2 章快速上手Python 15
2.1 初識Python 編程語言 15
2.1.1 Python 概述 15
2.1.2 Python 能做什麼 17
2.1.3 Python 的語法和特點 19
2.2 Python 進階 24
2.2.1 Hello World 24
2.2.2 語句和控製流 24
2.2.3 函數 27
2.2.4 List 列錶 29
2.2.5 元組 32
2.2.6 set 集閤 33
2.2.7 字典 33
2.2.8 麵嚮對象編程:類 34
2.2.9 標準庫 36
2.3 Python 深入——第三方庫 36
2.3.1 Web 框架 36
2.3.2 科學計算 37
2.3.3 GUI 37
2.3.4 其他庫 37
第3 章綫性代數 39
3.1 綫性代數介紹 39
3.2 嚮量 40
3.2.1 嚮量定義 40
3.2.2 嚮量錶示 42
3.2.3 嚮量定理 42
3.2.4 嚮量運算 43
3.3 矩陣 47
3.3.1 矩陣定義 47
3.3.2 矩陣錶示 48
3.3.3 矩陣運算 48
3.3.4 綫性方程組 51
3.3.5 行列式 51
3.3.6 特徵值和特徵嚮量 55
3.4 距離計算 56
3.4.1 餘弦距離 56
3.4.2 歐氏距離 57
3.4.3 曼哈頓距離 58
3.4.4 明可夫斯基距離 59
3.4.5 切比雪夫距離 61
3.4.6 傑卡德距離 62
3.4.7 漢明距離 63
3.4.8 標準化歐式距離 64
3.4.9 皮爾遜相關係數 65
第4 章概率論 67
4.1 概率論介紹 67
4.2 事件 68
4.2.1 隨機試驗 68
4.2.2 隨機事件和樣本空間 69
4.2.3 事件的計算 70
4.3 概率 71
4.4 概率公理 73
4.5 條件概率和全概率 76
4.5.1 條件概率 76
4.5.2 全概率 77
4.6 貝葉斯定理 78
4.7 信息論 79
4.7.1 信息論的基本概念 79
4.7.2 信息度量 80
第5 章統計學 85
5.1 圖形可視化 85
5.1.1 餅圖 85
5.1.2 條形圖 88
5.1.3 熱力圖 91
5.1.4 摺綫圖 93
5.1.5 箱綫圖 96
5.1.6 散點圖 99
5.1.7 雷達圖 102
5.1.8 儀錶盤 104
5.1.9 可視化圖錶用法 106
5.2 數據度量標準 108
5.2.1 平均值 108
5.2.2 中位數 108
5.2.3 眾數 110
5.2.4 期望 111
5.2.5 方差 112
5.2.6 標準差 113
5.2.7 標準分 114
5.3 概率分布 115
5.3.1 幾何分布 115
5.3.2 二項分布 116
5.3.3 正態分布 118
5.3.4 泊鬆分布 121
5.4 統計假設檢驗 123
5.5 相關和迴歸 125
5.5.1 相關 125
5.5.2 迴歸 127
5.5.3 相關和迴歸的聯係 130
第6 章語言學 132
6.1 語音 132
6.1.1 什麼是語音 132
6.1.2 語音的三大屬性 133
6.1.3 語音單位 134
6.1.4 記音符號 135
6.1.5 共時語流音變 136
6.2 詞匯 137
6.2.1 什麼是詞匯 137
6.2.2 詞匯單位 137
6.2.3 詞的構造 138
6.2.4 詞義及其分類 140
6.2.5 義項與義素 141
6.2.6 語義場 142
6.2.7 詞匯的構成 143
6.3 語法 143
6.3.1 什麼是語法 143
6.3.2 詞類 144
6.3.3 短語 148
6.3.4 單句 150
6.3.5 復句 152
第7 章自然語言處理 155
7.1 自然語言處理的任務和限製 155
7.2 自然語言處理的主要技術範疇 156
7.2.1 語音閤成 156
7.2.2 語音識彆 156
7.2.3 中文自動分詞 157
7.2.4 詞性標注 158
7.2.5 句法分析 158
7.2.6 文本分類 159
7.2.7 文本挖掘 160
7.2.8 信息抽取 161
7.2.9 問答係統 161
7.2.10 機器翻譯 162
7.2.11 文本情感分析 163
7.2.12 自動摘要 164
7.2.13 文字蘊涵 165
7.3 自然語言處理的難點 165
7.3.1 語言環境復雜 165
7.3.2 文本結構形式多樣 166
7.3.3 邊界識彆限製 166
7.3.4 詞義消歧 167
7.3.5 指代消解 168
7.4 自然語言處理展望 169
第8 章語料庫 173
8.1 語料庫淺談 173
8.2 語料庫深入 174
8.3 自然語言處理工具包:NLTK 176
8.3.1 NLTK 簡介 176
8.3.2 安裝NLTK 177
8.3.3 使用NLTK 180
8.3.4 在Python NLTK 下使用Stanford NLP 186
8.4 獲取語料庫 194
8.4.1 國內外著名語料庫 195
8.4.2 網絡數據獲取 197
8.4.3 NLTK 獲取語料庫 200
8.5 綜閤案例:走進大秦帝國 208
8.5.1 數據采集和預處理 208
8.5.2 構建本地語料庫 208
8.5.3 大秦帝國語料操作 209
第9 章中文自動分詞 216
9.1 中文分詞簡介 216
9.2 中文分詞的特點和難點 218
9.3 常見中文分詞方法 219
9.4 典型中文分詞工具 220
9.4.1 HanLP 中文分詞 220
9.4.2 其他中文分詞工具 223
9.5 結巴中文分詞 224
9.5.1 基於Python 的結巴中文分詞 224
9.5.2 結巴分詞工具詳解 227
9.5.3 結巴分詞核心內容 230
9.5.4 結巴分詞基本用法 233
第10 章數據預處理 241
10.1 數據清洗 241
10.2 分詞處理 242
10.3 特徵構造 242
10.4 特徵降維與選擇 243
10.4.1 特徵降維 243
10.4.2 特徵選擇 243
10.5 簡單實例 244
10.6 本章小結 249
第11 章馬爾可夫模型 250
11.1 馬爾可夫鏈 250
11.1.1 馬爾可夫簡介 250
11.1.2 馬爾可夫鏈的基本概念 251
11.2 隱馬爾可夫模型 253
11.2.1 形式化描述 253
11.2.2 數學形式描述 255
11.3 嚮前算法解決HMM 似然度 256
11.3.1 嚮前算法定義 256
11.3.2 嚮前算法原理 256
11.3.3 現實應用:預測成都天氣的冷熱 258
11.4 文本序列標注案例:Viterbi 算法 259
第12 章條件隨機場 263
12.1 條件隨機場介紹 263
12.2 簡單易懂的條件隨機場 265
12.2.1 CRF 的形式化錶示 265
12.2.2 CRF 的公式化錶示 266
12.2.3 深度理解條件隨機場 268
第13 章模型評估 269
13.1 從統計角度介紹模型概念 269
13.1.1 算法模型 269
13.1.2 模型評估和模型選擇 270
13.1.3 過擬閤與欠擬閤的模型選擇 272
13.2 模型評估與選擇 275
13.2.1 模型評估的概念 275
13.2.2 模型評估的評測指標 275
13.2.3 以詞性標注為例分析模型評估 276
13.2.4 模型評估的幾種方法 278
13.3 ROC 麯綫比較學習器模型 279
第14 章命名實體識彆 281
14.1 命名實體識彆概述 281
14.2 命名實體識彆的特點與難點 284
14.3 命名實體識彆方法 284
14.4 中文命名實體識彆的核心技術 286
14.5 展望 295
第15 章自然語言處理實戰 296
15.1 GitHub 數據提取與可視化分析 296
15.1.1 瞭解GitHub 的API 296
15.1.2 使用NetworkX 作圖 299
15.1.3 使用NetworkX 構建興趣圖 301
15.1.4 NetWorkX 部分統計指標 304
15.1.5 構建GitHub 的興趣圖 305
15.1.6 可視化 318
15.2 微博話題爬取與存儲分析 320
15.2.1 數據采集 320
15.2.2 數據提取 329
15.2.3 數據存儲 332
15.2.4 項目運行與分析 333
附錄A Python 與其他語言調用 337
附錄B Git 項目上傳簡易教程 339
參考文獻 341
· · · · · · (
收起)