內容簡介
文本處理是目前互聯網內容應用(如搜索引擎、推薦引擎)的關鍵技術。本書涵蓋瞭文本處理概念和技術的多個方麵,包括文本預處理、搜索、字符串匹配、信息抽取、命名實體識彆、分類、聚類、標簽生成、摘要、問答等。本書的特點在於通過實例來理解文本處理的這些概念和技術,讀者利用現有的開源工具就可以自己實現這些實例。
作者簡介
王斌,博士,中國科學院信息工程研究所研究員,博士生導師,研究方嚮為信息檢索與自然語言處理。主持科研項目20餘項,發錶學術論文120餘篇,譯有《信息檢索導論》、《大數據:互聯網大規模數據挖掘與分布式處理》、《機器學習實戰》、《Mahout實戰》等書籍。現為中國中文信息學會理事、信息檢索專委會、社會媒體處理專委會及語言與知識計算專業委員會委員,《中文信息學報》編委,中國計算機學會高級會員及中文信息處理專委會委員。
目錄
第1章 開始駕馭文本 1
11 駕馭文本重要的原因 2
12 預覽:一個基於事實的問答係統 4
121 嗨,弗蘭肯斯坦醫生 5
13 理解文本很睏難 8
14 駕馭的文本 11
15 文本及智能應用:搜索及其他 13
151 搜索和匹配 13
152 抽取信息 14
153 對信息分組 15
154 一個智能應用 15
16 小結 15
17 相關資源 16
第2章 駕馭文本的基礎 17
21 語言基礎知識 18
211 詞語及其類彆 19
212 短語及子句 20
213 詞法 21
22 文本處理常見工具 23
221 字符串處理工具 23
222 詞條及切詞 23
223 詞性標注 25
224 詞乾還原 27
225 句子檢測 29
226 句法分析和文法 31
227 序列建模 33
23 從常見格式文件中抽取內容並做預處理 34
231 預處理的重要性 35
232 利用Apache Tika抽取內容 37
24 小結 39
25 相關資源 40
第3章 搜索 41
31 搜索和多麵示例:Amazoncom 42
32 搜索概念入門 44
321 索引內容 45
322 用戶輸入 47
323 利用嚮量空間模型對文檔排名 51
324 結果展示 54
33 Apache Solr搜索服務器介紹 57
331 首次運行Solr 58
332 理解Solr中的概念 59
34 利用Apache Solr對內容構建索引 63
341 使用XML構建索引 64
342 利用Solr和Apache Tika對內容進行抽取和索引 66
35 利用Apache Solr來搜索內容 69
351 Solr查詢輸入參數 71
352 抽取內容的多麵展示 74
36 理解搜索性能因素 77
361 數量判定 77
362 判斷數量 81
37 提高搜索性能 82
371 硬件改進 82
372 分析的改進 83
373 提高查詢性能 85
374 其他評分模型 88
375 提升Solr性能的技術 89
38 其他搜索工具 91
39 小結 93
310 相關資源 93
第4章 模糊字符串匹配 94
41 模糊字符串匹配方法 96
411 字符重閤度度量方法 96
412 編輯距離 99
413 n元組編輯距離 102
42 尋找模糊匹配串 105
421 在Solr中使用前綴來匹配 105
422 利用trie樹進行前綴匹配 106
423 使用n元組進行匹配 111
43 構建模糊串匹配應用 112
431 在搜索中加入提前輸入功能 113
432 搜索中的查詢拼寫校正 117
433 記錄匹配 122
44 小結 127
45 相關資源 128
第5章 命名實體識彆 129
51 命名實體的識彆方法 131
511 基於規則的實體識彆 131
512 基於統計分類器的實體識彆 132
52 基於OpenNLP的基本實體識彆 133
521 利用OpenNLP尋找人名 134
522 OpenNLP識彆的實體解讀 136
523 基於概率過濾實體 137
53 利用OpenNLP進行深度命名實體識彆 137
531 利用OpenNLP識彆多種實體類型 138
532 OpenNLP識彆實體的背後機理 141
54 OpenNLP的性能 143
541 結果的質量 144
542 運行性能 145
543 OpenNLP的內存使用 146
55 對新領域定製OpenNLP實體識彆 147
551 訓練模型的原因和方法 147
552 訓練OpenNLP模型 148
553 改變建模輸入 150
554 對實體建模的新方法 152
56 小結 154
57 進一步閱讀材料 155
第6章 文本聚類 156
61 Google News中的文檔聚類 157
62 聚類基礎 158
621 三種聚類的文本類型 158
622 選擇聚類算法 160
623 確定相似度 161
624 給聚類結果打標簽 162
625 聚類結果的評估 163
63 搭建一個簡單的聚類應用 165
64 利用Carrot2對搜索結果聚類 166
641 使用Carrot2API 166
642 使用Carrot2對Solr的搜索結果聚類 168
65 利用Apache Mahout對文檔集聚類 171
651 對聚類的數據進行預處理 172
652 K-means聚類 175
66 利用Apache Mahout進行主題建模 180
67 考察聚類性能 183
671 特徵選擇與特徵約簡 183
672 Carrot2的性能和質量 186
673 Mahout基準聚類算法 187
68 緻謝 192
69 小結 192
610 參考文獻 193
第7章 分類及標注 195
71 分類及歸類概述 197
72 分類過程 200
721 選擇分類機製 201
722 識彆文本分類中的特徵 202
723 訓練數據的重要性 203
724 評估分類器性能 206
725 將分類器部署到生産環境 208
73 利用Apache Lucene構建文檔分類器 209
731 利用Lucene對文本進行分類 210
732 為MoreLikeThis分類器準備訓練數據 212
733 訓練MoreLikeThis分類器 214
734 利用MoreLikeThis分類器對文檔進行分類 217
735 測試MoreLikeThis分類器 220
736 將MoreLikeThis投入生産環境 223
74 利用Apache Mahout訓練樸素貝葉斯分類器 223
741 利用樸素貝葉斯算法進行文本分類 224
742 準備訓練數據 225
743 留存測試數據 229
744 訓練分類器 229
745 測試分類器 231
746 改進自舉過程 232
747 將Mahout貝葉斯分類器集成到Solr 234
75 利用OpenNLP進行文檔分類 238
751 迴歸模型及最大熵文檔分類 239
752 為最大熵文檔分類器準備訓練數據 241
753 訓練最大熵文檔分類器 242
754 測試最大熵文檔分類器 248
755 生産環境下的最大熵文檔分類器 249
76 利用Apache Solr構建標簽推薦係統 250
761 為標簽推薦收集訓練數據 253
762 準備訓練數據 255
763 訓練Solr標簽推薦係統 256
764 構建推薦標簽 258
765 對標簽推薦係統進行評估 261
77 小結 263
78 參考文獻 265
第8章 構建示例問答係統 266
81 問答係統基礎知識 268
82 安裝並運行QA代碼 270
83 一個示例問答係統的架構 271
84 理解問題並産生答案 274
841 訓練答案類型分類器 275
842 對查詢進行組塊分析 279
843 計算答案類型 280
844 生成查詢 283
845 對候選段落排序 285
85 改進係統的步驟 287
86 本章小結 287
87 相關資源 288
第9章 未駕馭的文本:探索未來前沿 289
91 語義、篇章和語用:探索高級NLP 290
911 語義 291
912 篇章 292
913 語用 294
92 文檔及文檔集自動摘要 295
93 關係抽取 298
931 關係抽取方法綜述 299
932 評估 302
933 關係抽取工具 303
94 識彆重要內容和人物 303
941 全局重要性及權威度 304
942 個人重要性 305
943 與重要性相關的資源及位置 306
95 通過情感分析來探測情感 306
951 曆史及綜述 307
952 工具及數據需求 308
953 一個基本的極性算法 309
954 高級話題 311
955 用於情感分析的開源庫 312
96 跨語言檢索 313
97 本章小結 315
98 相關資源 315
精彩書摘
這顯著地提高瞭web搜索引擎及更小型搜索引擎的門檻。盡管大的互聯網引擎能夠訪問Google一樣的資源,但是小係統往往沒法訪問大量查詢日誌或像HTML鏈接一樣的文檔結構,也沒法使用其他用戶相關反饋機製來提供對用戶而言很有價值的信息。花時間構建復雜方案之前,我們給齣有助於改進結果的兩個關鍵事項。
1.用戶訓練:有時需要給用戶展示齣,通過學習一些關鍵語法技巧(如短語等)可以將檢索結果提高到何種程度。
2.外部知識:是否存在某個指示信息使得一篇或多篇文檔比其他文檔更重要?例如,也許該文檔是CEO寫的,或者100個人中有99人將其標為有用,或者該文檔的邊緣收益是對比文檔的五倍。不管是什麼,都要想辦法將這個知識編碼到係統當中並作為搜索的一個因素。如果搜索係統不容許這麼做,那麼可能是時候構建一個新係統瞭!
除瞭用戶訓練和使用索引的先驗知識之外,還有很多辦法可以提高查詢速度和精度。首先,在大部分情況下,查詢詞項之間應該是AND而非0R的關係。例如,用戶輸人的是Jumping Jack Flash,那麼假設不是搜索短語的話,該查詢應該轉換成的等價形式為Jumping AND Jack AND Flash而不是。通過使用JAND,所有的查詢詞項都應該匹配。當然這種做法幾乎可以肯定會提高正確率,但是可能會降低召迴率。由於采用這種做法隻需要對更少的文檔進行評分,因此其速度肯定會更快。使用AND可能會導緻零結果查詢,但是如果想要結果的話之後可以迴退到一個0R查詢。對於簡單查詢AND可能不會産生足夠的結果的一個唯一可能是文檔集非常小(大概來講,少於200000篇文檔)。
注意 這裏的AND使用並不意味著所有的搜索引擎都支持這種語法,但是Solr使用這種語法,因此為簡單解釋起見我們就保留這樣的描述。
……
前言/序言
駕馭文本:文本的發現 組織和處理 下載 mobi epub pdf txt 電子書