《Java中文文本信息處理---從海量到精準》是2017年5月清華大學出版社出版的圖書,作者是羅剛、張子憲、崔智傑。
基本介紹
- 中文名:Java中文文本信息處理---從海量到精準
- 作者:羅剛、張子憲、崔智傑
- 出版社:清華大學出版社
- 出版時間:2017年5月
- 定價:56 元
- ISBN:9787302469360
內容簡介,圖書目錄,
內容簡介
本書以讓零基礎的讀者通過自學完成一個中文分詞系統為目標,從Java基礎語法開始講解,然後介紹文本處理相關的數據結構和算法,最後介紹如何實現文本切分和詞性標註。
本書是介紹業界熱門的以Java開發中文分詞技術的唯一書籍。本書選取相關領域的經典內容,深入理解和挖掘,也綜合了實踐性強的創新想法,適合對軟體開發感興趣的青少年或者大學生閱讀和學習。
圖書目錄
第1章 Java軟體開發 1
1.1 背景 3
1.1.1 好身體是一切成功的保證 3
1.1.2 路線圖 4
1.1.3 Java 4
1.2 軟體工具 7
1.2.1 搜尋引擎 7
1.2.2 Windows命令行 8
1.2.3 機器翻譯 9
1.2.4 Linux 10
1.2.5 原始碼比較工具 11
1.3 Java基礎 11
1.3.1 準備開發環境 11
1.3.2 Eclipse 13
1.4 本章小結 17
第2章 結構化程式設計 19
2.1 基本數據類型 19
2.2 變數 20
2.2.1 表達式執行順序 22
2.2.2 簡化的運算符 23
2.2.3 常量 24
2.3 控制結構 25
2.3.1 語句 25
2.3.2 判斷條件 25
2.3.3 三元運算符 27
2.3.4 條件判斷 27
2.3.5 循環 31
2.4 方法 36
2.4.1 main方法 41
2.4.2 遞歸調用 41
2.4.3 方法調用棧 42
2.5 數組 42
2.5.1 數組求和 45
2.5.2 計算平均值舉例 45
2.5.3 前趨節點數組 46
2.5.4 快速複製 47
2.5.5 循環不變式 49
2.6 字元串 50
2.6.1 字元編碼 52
2.6.2 格式化 53
2.6.3 增強switch語句 54
2.7 數值類型 54
2.7.1 類型轉換 58
2.7.2 整數運算 59
2.7.3 數值運算 60
2.7.4 位運算 61
2.8 安裝Java 69
2.8.1 伺服器端安裝 69
2.8.2 自動安裝Java 70
2.9 提高代碼質量 72
2.9.1 代碼整潔 72
2.9.2 單元測試 72
2.9.3 調試 73
2.9.4 重構 73
2.10 本章小結 74
第3章 面向對象編程 77
3.1 類和對象 77
3.1.1 類 78
3.1.2 類方法 78
3.1.3 類變數 79
3.1.4 實例變數 79
3.1.5 構造方法 82
3.1.6 對象 84
3.1.7 實例方法 87
3.1.8 調用方法 89
3.1.9 內部類 89
3.1.10 克隆 90
3.1.11 結束 91
3.2 繼承 92
3.2.1 重寫 92
3.2.2 繼承構造方法 94
3.2.3 接口 95
3.2.4 匿名類 98
3.2.5 類的兼容性 98
3.3 封裝 98
3.4 重載 99
3.5 靜態 100
3.5.1 靜態變數 100
3.5.2 靜態類 100
3.5.3 修飾類的關鍵字 101
3.6 枚舉類型 101
3.7 集合類 105
3.7.1 動態數組 105
3.7.2 散列表 106
3.7.3 泛型 109
3.7.4 Google Guava集合 112
3.7.5 類型擦除 112
3.7.6 遍歷 114
3.7.7 排序 117
3.7.8 lambda表達式 119
3.8 比較 119
3.8.1 Comparable接口 119
3.8.2 比較器 120
3.9 SOLID原則 122
3.10 異常 123
3.10.1 斷言 123
3.10.2 Java中的異常 124
3.10.3 從方法中拋出異常 126
3.10.4 處理異常 128
3.10.5 正確使用異常 130
3.11 字元串對象 132
3.11.1 字元對象 135
3.11.2 查找字元串 135
3.11.3 修改字元串 136
3.11.4 格式化 136
3.11.5 常量池 137
3.11.6 關於對象不可改變 139
3.12 日期 140
3.13 大數對象 141
3.14 給方法傳參數 142
3.14.1 基本類型和對象 143
3.14.2 重載 145
3.15 檔案操作 146
3.15.1 文本檔案 146
3.15.2 二進制檔案 149
3.15.3 檔案位置 152
3.15.4 讀寫Unicode編碼的檔案 153
3.15.5 檔案描述符 155
3.15.6 對象序列化 156
3.15.7 使用IOUtils 160
3.16 Java類庫 161
3.16.1 使用Java類庫 162
3.16.2 構建JAR包 163
3.16.3 使用Ant 167
3.16.4 生成JavaDoc 167
3.16.5 ClassLoader 168
3.16.6 反射 172
3.17 編程風格 173
3.17.1 命名規範 173
3.17.2 流暢接口 174
3.17.3 日誌 175
3.18 IDEA 181
3.19 實例 181
3.20 本章小結 183
第4章 處理文本 185
4.1 字元串操作 185
4.2 有限狀態機 188
4.2.1 從NFA到DFA 190
4.2.2 DFA 194
4.2.3 DFA交集 197
4.2.4 DFA並集 203
4.2.5 有限狀態轉換 204
4.3 本章小結 207
第5章 數據結構 209
5.1 鍊表 209
5.2 樹算法 210
5.2.1 標準Trie樹 211
5.2.2 鍊表Trie樹 221
5.2.3 二叉搜尋樹 223
5.2.4 數組形式的二叉樹 227
5.2.5 三叉Trie樹 233
5.2.6 三叉Trie樹交集 244
5.2.7 Trie樹詞典 245
5.2.8 平衡Trie樹 249
5.2.9 B樹 250
5.3 雙數組Trie 251
5.4 佇列 257
5.4.1 鍊表實現的佇列 257
5.4.2 優先佇列 258
5.4.3 找出前k個最大的元素 261
5.5 堆疊 262
5.6 雙端佇列 264
5.7 散列表 268
5.7.1 快速查找的散列表 269
5.7.2 HashMap 272
5.7.3 套用散列表 276
5.7.4 開放式定址 279
5.7.5 布隆過濾器 282
5.7.6 SimHash 284
5.8 圖 286
5.8.1 表示圖 287
5.8.2 遍歷圖 295
5.9 大數據 297
5.10 本章小結 297
第6章 算法 299
6.1 貪婪法 299
6.2 分治法 301
6.3 動態規劃 302
6.4 在中文分詞中使用動態規划算法 303
6.5 本章小結 310
第7章 最長匹配分詞 311
7.1 正向最大長度匹配法 312
7.2 逆向最大長度匹配法 316
7.3 處理未登錄串 320
7.4 開發分詞 324
7.5 本章小結 326
第8章 機率語言模型的分詞方法 327
8.1 一元模型 328
8.2 整合基於規則的方法 334
8.3 表示切分詞圖 336
8.4 形成切分詞圖 342
8.5 數據基礎 344
8.5.1 文本形式的詞表 344
8.5.2 資料庫詞表 348
8.6 改進一元模型 349
8.7 二元詞典 352
8.8 完全二叉數組 357
8.9 三元詞典 360
8.10 N元模型 361
8.11 N元分詞 362
8.12 生成語言模型 368
8.13 評估語言模型 369
8.14 機率分詞的流程與結構 370
8.15 本章小結 371
第9章 詞性標註 373
9.1 數據基礎 376
9.2 隱馬爾科夫模型 377
9.3 存儲數據 385
9.4 統計數據 390
9.5 整合切分與詞性標註 392
9.6 知識型詞性序列標註 396
9.7 本章小結 396
參考資源 397
後記 398