python文本分析(原書第2版)

python文本分析(原書第2版)

《python文本分析(原書第2版)》是2020年機械工業出版社出版的圖書,作者是[印度] 迪潘揚·薩卡(Dipanjan Sarkar),本書遵循結構化和綜合性的方法,介紹了文本和語言語法、結構和語義的基礎概念和高級概念。從自然語言和Python的基礎開始,進而學習先進的分析理念和機器學習概念。全面提供了自然語言處理(NLP)和文本分析的主要概念和技術。

基本介紹

  • 書名: Python文本分析(原書第2版) 
  • 作者:[印度] 迪潘揚·薩卡(Dipanjan Sarkar)
  • 出版社:機械工業出版社
  • ISBN:9787111666776
內容簡介,圖書目錄,出版背景,作者簡介,

內容簡介

本書遵循結構化和綜合性的方法,介紹了文本和語言語法、結構和語義的基礎概念和高級概念。從自然語言和Python的基礎開始,進而學習先進的分析理念和機器學習概念。全面提供了自然語言處理(NLP)和文本分析的主要概念和技術。包含了豐富的真實案例實現技術,例如構建分類新聞文章的文本分類系統,使用主題建模和文本摘要分析app或遊戲評論,進行熱門電影概要的聚類分析和電影評論的情感分析。介紹了基於Python和流行NLP開源庫和文本分析實用工具,如自然語言工具包(nltk)、gensim、scikit-learn、spaCy和Pattern。

圖書目錄

譯者序
推薦序
前言
致謝
作者簡介
技術審校者簡介
第1章 自然語言處理基礎1
1.1 自然語言2
1.1.1 什麼是自然語言2
1.1.2 語言哲學2
1.1.3 語言習得和用法4
1.2 語言學6
1.3 語言句法和結構7
1.3.1 單詞9
1.3.2 短語10
1.3.3 從句12
1.3.4 語法13
1.3.5 語序類型學20
1.4 語言語義21
1.4.1 辭彙語義關係22
1.4.2 語義網路和模型24
1.4.3 語義表示25
1.5 文本語料庫31
1.5.1 文本語料庫標註及使用31
1.5.2 流行的語料庫32
1.5.3 訪問文本語料庫33
1.6 自然語言處理38
1.6.1 機器翻譯38
1.6.2 語音識別系統39
1.6.3 問答系統39
1.6.4 上下文識別與消解39
1.6.5 文本摘要40
1.6.6 文本分類40
1.7 文本分析40
1.8 機器學習41
1.9 深度學習41
1.10 本章小結42
第2章 Python自然語言處理43
2.1 了解Python43
2.2 Python之禪44
2.3 套用:何時使用Python45
2.4 缺點:何時不用Python47
2.5 Python的實現和版本47
2.6 建立強大的Python環境48
2.6.1 用哪個Python版本48
2.6.2 用哪個作業系統49
2.6.3 集成開發環境49
2.6.4 環境設定50
2.6.5 軟體包管理52
2.6.6 虛擬環境53
2.7 Python語法和結構55
2.8 使用文本數據55
2.8.1 字元串文字56
2.8.2 表示字元串57
2.8.3 字元串操作和方法58
2.9 基本的文本處理和分析:綜合案例67
2.10 自然語言處理框架70
2.11 本章小結71
第3章 處理和理解文本73
3.1 文本預處理和整理74
3.1.1 刪除HTML標籤74
3.1.2 文本標記解析76
3.1.3 刪除重音字元87
3.1.4 擴展縮寫詞87
3.1.5 刪除特殊字元89
3.1.6 大小寫轉換89
3.1.7 文本校正89
3.1.8 詞幹提取96
3.1.9 詞形還原99
3.1.10 刪除停用詞100
3.1.11 將以上整合在一起—構建文本規範器101
3.2 理解文本句法和結構102
3.2.1 安裝必要的依賴項103
3.2.2 機器學習的重要概念105
3.2.3 詞性標註105
3.2.4 淺層解析或分塊112
3.2.5 依存關係解析120
3.2.6 成分結構解析123
3.3 本章小結129
第4章 用於文本表示的特徵工程131
4.1 理解文本數據132
4.2 構建文本語料庫132
4.3 預處理文本語料庫133
4.4 傳統特徵工程模型135
4.4.1 詞袋模型135
4.4.2 n-gram詞袋模型137
4.4.3 TF-IDF模型137
4.4.4 提取新文檔的特徵143
4.4.5 文檔相似度143
4.4.6 主題模型146
4.5 高級特徵工程模型149
4.5.1 載入聖經語料庫150
4.5.2 Word2Vec模型150
4.5.3 基於Gensim的強大Word2Vec模型163
4.5.4 Word2Vec特徵用於機器學習任務165
4.5.5 GloVe模型169
4.5.6 GloVe特徵用於機器學習任務170
4.5.7 FastText模型173
4.5.8 FastText特徵用於機器學習任務174
4.6 本章小結175
第5章 文本分類176
5.1 什麼是文本分類177
5.1.1 正式定義177
5.1.2 主要的文本分類類型178
5.2 自動文本分類178
5.2.1 正式定義179
5.2.2 文本分類任務類型180
5.3 文本分類藍圖180
5.4 數據檢索182
5.5 數據預處理和規範化183
5.6 構建訓練和測試數據集186
5.7 特徵工程技術187
5.7.1 傳統特徵工程模型188
5.7.2 高級特徵工程模型188
5.8 分類模型189
5.8.1 多項式樸素貝葉斯190
5.8.2 邏輯回歸191
5.8.3 支持向量機193
5.8.4 集成模型194
5.8.5 隨機森林195
5.8.6 梯度提升機195
5.9 評估分類模型196
5.10 構建和評估文本分類器199
5.10.1 分類模型的詞袋特徵200
5.10.2 分類模型的TF-IDF特徵202
5.10.3 比較模型性能評估205
5.10.4 分類模型的Word2Vec嵌入205
5.10.5 分類模型的GloVe嵌入207
5.10.6 分類模型的FastText嵌入208
5.10.7 模型調優209
5.10.8 模型性能評估212
5.11 套用217
5.12 本章小結217
第6章 文本摘要和主題模型219
6.1 文本摘要和信息提取220
6.1.1 關鍵短語提取220
6.1.2 主題建模221
6.1.3 自動文檔摘要221
6.2 重要概念221
6.3 關鍵短語提取223
6.3.1 搭配223
6.3.2 基於權重標籤的短語提取228
6.4 主題建模231
6.5 研究論文的主題建模232
6.5.1 主要目標232
6.5.2 數據檢索233
6.5.3 載入和查看數據集233
6.5.4 基本文本整理234
6.6 Gensim的主題模型235
6.6.1 特徵工程的文本表示236
6.6.2 潛在語義索引238
6.6.3 從頭開始實現LSI主題模型245
6.6.4 LDA250
6.6.5 MALLET的LDA模型257
6.6.6 LDA調優:查找主題數259
6.6.7 解釋主題模型結果263
6.6.8 預測新研究論文的主題266
6.7 Scikit-Learn的主題模型269
6.7.1 特徵工程的文本表示270
6.7.2 潛在語義索引270
6.7.3 LDA274
6.7.4 非負矩陣分解276
6.7.5 預測新研究論文的主題279
6.7.6 可視化主題模型280
6.8 自動文檔摘要282
6.8.1 文本整理284
6.8.2 特徵工程的文本表示285
6.8.3 潛在語義分析285
6.8.4 TextRank288
6.9 本章小結291
第7章 文本相似度和聚類293
7.1 基本概念294
7.1.1 信息檢索294
7.1.2 特徵工程294
7.1.3 相似度度量295
7.1.4 無監督的機器學習算法295
7.2 文本相似度295
7.3 分析詞項相似度296
7.3.1 漢明距離297
7.3.2 曼哈頓距離298
7.3.3 歐幾里得距離300
7.3.4 萊文斯坦編輯距離300
7.3.5 餘弦距離和相似度304
7.4 分析文檔相似度307
7.5 構建電影推薦系統308
7.5.1 載入和查看數據集308
7.5.2 文本預處理310
7.5.3 提取TF-IDF特徵311
7.5.4 成對文檔相似度的餘弦相似度311
7.5.5 查找與示例電影相似的電影312
7.5.6 構建電影推薦系統313
7.5.7 獲取流行的電影列表313
7.5.8 成對文檔相似度的Okapi BM25排名315
7.6 文檔聚類322
7.7 電影聚類323
7.7.1 特徵工程324
7.7.2 k-均值聚類324
7.7.3 近鄰傳播算法329
7.7.4 Ward凝聚層次聚類332
7.8 本章小結335
第8章 語義分析336
8.1 語義分析簡介337
8.2 探索WordNet337
8.2.1 理解同義詞集338
8.2.2 分析辭彙的語義關係339
8.3 詞義消歧345
8.4 命名實體識別347
8.5 從零開始構建NER標註器353
8.6 使用訓練的NER模型構建端到端的NER標註器360
8.7 分析語義表示362
8.7.1 命題邏輯362
8.7.2 一階邏輯364
8.8 本章小結368
第9章 情感分析369
9.1 問題描述370
9.2 安裝依賴項370
9.3 獲取數據370
9.4 文本預處理與規範化371
9.5 無監督的詞典模型372
9.5.1 Bing Liu詞典373
9.5.2 MPQA主觀詞典373
9.5.3 pattern詞典374
9.5.4 TextBlob詞典374
9.5.5 AFINN詞典376
9.5.6 SentiWordNet詞典377
9.5.7 VADER詞典380
9.6 使用有監督的學習進行情感分類382
9.7 傳統的有監督機器學習模型384
9.8 新的有監督深度學習模型386
9.9 高級的有監督深度學習模型392
9.10 分析情感成因399
9.10.1 解釋預測模型399
9.10.2 分析主題模型404
9.11 本章小結409
第10章 深度學習的前景410
10.1 為什麼我們對嵌入痴迷411
10.2 詞嵌入模型的趨勢412
10.3 通用句子嵌入模型的趨勢413
10.4 理解文本分類問題417
10.5 使用通用句子嵌入417
10.5.1 載入依賴417
10.5.2 載入和查看數據集418
10.5.3 構建訓練、驗證和測試數據集419
10.5.4 基本文本整理419
10.5.5 構建數據接入函式420
10.5.6 使用通用句子編碼器構建深度學習模型421
10.5.7 模型訓練421
10.5.8 模型評估423
10.6 紅利:使用不同的通用句子嵌入進行遷移學習423
10.7 本章小結與展望429

出版背景

數據是新的“石油”,特別是文本、圖像和視頻等非結構化數據,包含了豐富的信息。然而,由於處理和分析這類數據的內在複雜性,人們經常避免在處理結構化數據集之外花費額外的時間和精力去冒險分析這些非結構化數據源,而這些非結構化數據源有可能是潛在的金礦。自然語言處理(NLP)就是所有與利用工具、技術和算法去處理和理解基於自然語言的數據有關的事物,這些數據往往像文本、語音等一樣,是非結構化的。在本書中,我們將研究經過驗證的策略——技術和工作流程,從業者和數據科學家可以利用這些技術和工作流程從文本數據中提取有用的見解。
在當今這個快節奏的世界中,成為計算機視覺和自然語言處理等領域的專家已經不再是一個奢望,而是任何一位數據科學家所必需的。本書是一本從業者的參考指南,讀者可以從中學習和套用NLP技術,從充滿噪聲和非結構化的文本數據中提取可供操作的見解。本書可幫助讀者理解NLP中的關鍵概念,並通過廣泛的案例研究和實際示例,幫助讀者掌握套用NLP解決實際問題的的工具、技術和框架。我們使用Python 3和的、的框架,包括NLTK、Gensim、spaCy、Scikit-Learn、TextBlob、Keras和TensorFlow,來展示本書中的示例。你可以在GitHub上找到本書中所有的例子,地址為https://github.com/dipanjanS/text-analytics-with-python。
到目前為止,在該領域的學習過程中,我一直在與各種問題作鬥爭,面臨了許多挑戰,也隨著時間的推移吸取了各種教訓。這本書包含了我在文本分析和自然語言處理領域獲得的大量知識,在這些領域,僅僅基於一堆文本文檔構建一個花哨的詞雲已經不再足夠。也許學習文本分析的問題不是缺乏信息,而是信息太多,這通常稱為信息過載。有太多的資源、文檔、論文、書籍和期刊,包含了太多的內容,以至於常常會讓這個領域的新手不知所措。你可能會問這樣的問題:解決問題的正確方法是什麼?文本摘要是如何工作的?哪些框架適合解決多類文本分類問題?等等。通過將數學和理論概念與使用Python的真實案例研究的實際實現相結合,本書試圖解決這個問題,並幫助讀者避免迄今為止我在學習過程中遇到的緊迫問題。
本書遵循了一個全面的結構化的方法。首先,在初的章節中,本書介紹了自然語言理解和Python文本數據處理的基礎知識。一旦你熟悉了這些基礎知識,我們將介紹文本處理、解析和理解。接下來,我們將在餘下的每一章中討論文本分析中一些有趣的問題,包括文本分類、聚類和相似性分析、文本摘要和主題模型、語義分析和命名實體識別、情感分析和模型解釋。後一章是一個有趣的章節,介紹了由深度學習和遷移學習帶來的NLP的進展,我們還介紹了一個使用通用句子嵌入進行文本分類的示例。
本書的目的是讓你感受文本分析和NLP的廣闊前景,並用必要的工具、技術和知識武裝你,以便於解決你需要解決的問題。我希望本書對你有所幫助,並祝你在文本分析和NLP的世界中度過愉快的學習旅程!

作者簡介

迪潘簡·薩卡爾(Dipanjan Sarkar)是紅帽(Red Hat)公司的數據科學家、暢銷書作者、顧問和培訓師。他曾在多家初創公司以及《財富》 500強公司(如英特爾)任職並提供諮詢服務,主要致力於利用數據科學、高級分析、機器學習和深度學習來構建大規模智慧型系統。他擁有數據科學和軟體工程專業的碩士學位,是自學教育和大規模開放線上課程的堅定支持者。他目前涉足開源產品領域,致力於提高全球開發人員的生產力。

相關詞條

熱門詞條

聯絡我們