自然語言處理與計算語言學 Natural Language Processing and Computational Linguistics

Bhargav Srinivasa-Desikan 何煒譯

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

商品描述

自然語言處理是一門融語言學、計算機科學、數學於一體的科學,
研究人與計算機之間用自然語言進行有效通信的各種理論和方法。
計算語言學是指通過建立形式化的數學模型來分析、處理自然語言,
並在計算機上用程序來實現分析和處理的過程,旨在以機器來模擬人的部分或全部語言能力的目的。

《自然語言處理與計算語言學》作為一本借助於Python編程語言以及各種開源工具(如Gensim、spaCy等)
來執行文本分析、自然語言處理和計算語言學算法的圖書,
從應用層面介紹了相關的理論知識和所涉及的技術。
《自然語言處理與計算語言學》共分為15章,其內容涵蓋了文本分析的定義、
使用Python進行文本分析的技巧、spaCy語言模型、Gensim工具、
詞性標註及其應用、NER標註及其應用、依存分析、主題模型、
高級主題建模、文本聚類和文本分類、查詢詞相似度計算和文本摘要、
詞嵌入、使用深度學習處理文本、使用Keras和spaCy進行深度學習、
情感分析與聊天機器人的原理介紹等。
《自然語言處理與計算語言學》適合對自然語言處理的實現細節感興趣的Python程序開發人員閱讀。
如果讀者俱備統計學的基本知識,對學習本書內容會大有裨益。

作者簡介

Bhargav Srinivasa-Desikan 

是就職於法國INRIA公司(位於里爾)的一名研究人員。
作為MODAL(數據分析與機器建模)小組的一員,致力於度量學習、預測聚合和數據可視化等研究領域。
同時,他也是Python開源社區的一名活躍貢獻者,
在2016年度Google的夏季編程賽上,他通過Gensim實現了動態主題模型。
Bhargav是歐洲和亞洲PyCons和PyDatas的常客,並使用Python進行文本分析教學。
他也是Python機器學習軟件包pycobra的維護者,
還在Machine Learning Research雜誌上發表過相關文章。

目錄大綱

第 1章 什麼是文本分析 1
1.1 什麼是文本分析 1
1.2 蒐集數據 5
1.3 若輸入錯誤數據,則輸出亦為錯誤數據(garbage in,garbage out) 8
1.4 為什麼你需要文本分析 9
1.5 總結 11

第 2章 Python文本分析技巧 12
2.1 為什麼用Python來做文本分析 12
2.2 用Python進行文本操作 14
2.3 總結 18

第3章 spaCy語言模型 19
3.1 spaCy庫 19
3.2 spaCy的安裝步驟 21
3.3 故障排除 22
3.4 語言模型 22
3.5 安裝語言模型 23
3.6 安裝語言模型的方式及原因 25
3.7 語言模型的基本預處理操作 25
3.8 分詞 26
3.9 詞性標註 28
3.10 命名實體識別 29
3.11 規則匹配 30
3.12 預處理 31
3.13 總結 33

第4章 Gensim:文本向量化、向量變換和n-grams的工具 34
4.1 Gensim庫介紹 34
4.2 向量以及為什麼需要向量化 35
4.3 詞袋(bag-of-words) 36
4.4 TF-IDF(詞頻-反向文檔頻率) 37
4.5 其他表示方式 38
4.6 Gensim中的向量變換 38
4.7 n-grams及其預處理技術 42
4.8 總結 44

第5章 詞性標註及其應用 45
5.1 什麼是詞性標註 45
5.2 使用Python實現詞性標註 49
5.3 使用spaCy進行詞性標註 50
5.4 從頭開始訓練一個詞性標註模型 53
5.5 詞性標註的代碼示例 57
5.6 總結 59

第6章 NER標註及其應用 60
6.1 什麼是NER標註 60
6.2 用Python實現NER標註 64
6.3 使用spaCy實現NER標註 67
6.4 從頭開始訓練一個NER標註器 72
6.5 NER標註應用實例和可視化 77
6.6 總結 79

第7章 依存分析 80
7.1 依存分析 80
7.2 用Python實現依存分析 85
7.3 用spaCy實現依存分析 87
7.4 從頭開始訓練一個依存分析器 91
7.5 總結 98

第8章 主題模型 99
8.1 什麼是主題模型 99
8.2 使用Gensim構建主題模型 101
8.3 隱狄利克雷分配(Latent Dirichlet Allocation) 102
8.4 潛在語義索引(Latent Semantic Indexing) 104
8.5 分層狄利特雷過程(Hierarchical Dirichlet Process) 105
8.6 動態主題模型 108
8.7 使用scikit-learn構建主題模型 109
8.8 總結 112

第9章 高級主題建模 113
9.1 高級訓練技巧 113
9.2 探索文檔 117
9.3 主題一致性和主題模型的評估 121
9.4 主題模型的可視化 123
9.5 總結 127

第 10章 文本聚類和文本分類 128
10.1 文本聚類 128
10.2 聚類前的準備工作 129
10.3 K-means 132
10.4 層次聚類 134
10.5 文本分類 136
10.6 總結 138

第 11章 查詢詞相似度計算和文本摘要 139
11.1 文本距離的度量 139
11.2 查詢詞相似度計算 145
11.3 文本摘要 147
11.4 總結 153

第 12章 Word2Vec、Doc2Vec和Gensim 154
12.1 Word2Vec 154
12.2 用Gensim實現Word2Vec 155
12.3 Doc2Vec 160
12.4 其他詞嵌入技術 166
12.5 總結 172

第 13章 使用深度學習處理文本 173
13.1 深度學習 173
13.2 深度學習在文本上的應用 174
13.3 文本生成 177
13.4 總結 182

第 14章 使用Keras和spaCy進行深度學習 183
14.1 Keras和spaCy 183
14.2 使用Keras進行文本分類 185
14.3 使用spaCy進行文本分類 191
14.4 總結 201

第 15章 情感分析與聊天機器人 202
15.1 情感分析 202
15.2 基於Reddit的新聞數據挖掘 205
15.3 基於Twitter的微博數據挖掘 207
15.4 聊天機器人 209
15.5 總結 217