Python 自然語言處理實戰 (Hands-On Natural Language Processing with Python: A practical guide to applying deep learning architectures to your NLP applications)

Rajesh Arumugam,Rajalingappaa Shanmugamani 著

  • Python 自然語言處理實戰 (Hands-On Natural Language Processing with Python: A practical guide to applying deep learning architectures to your NLP applications)-preview-1
Python 自然語言處理實戰 (Hands-On Natural Language Processing with Python: A practical guide to applying deep learning architectures to your NLP applications)-preview-1

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

商品描述

本書介紹自然語言處理和深度學習的核心概念,例如CNN、RNN、語義嵌入和Word2vec等。
讀者將學習如何使用神經網絡執行自然語言處理任務,
以及如何在自然語言處理應用程序中訓練和部署神經網絡。
讀者會在各種應用領域中使用RNN和CNN,例如文本分類和序列標記,
這對於情緒分析、客服聊天機器人和異常檢測的應用至關重要。
讀者還將掌握使用Python流行的深度學習庫TensorFlow在語言應用程序中實現深度學習的實用知識。

作者簡介

Rajesh Arumugam

目前在新加坡SAP公司負責機器學習開發工作,此前曾與日立亞洲(新加坡)社會創新中心合作,
為智慧城市的多個領域開發過機器學習解決方案。
畢業於南洋理工大學,獲計算機工程博士學位,曾在多個會議上發表過論文,
並在存儲和機器學習方面擁有專利。


Rajalingappaa Shanmugamani

目前在Kairos擔任技術經理,此前作為數據學習專家在新加坡SAP公司創新中心工作,
並在開發計算機視覺產品的許多創業公司負責過開發和諮詢工作。
畢業於印度理工學院馬德拉斯分校,獲碩士學位,學位論文主題基於產業中計算機視覺的應用程序。
他還在該領域發表了若干論文。

目錄大綱

第 1章 起步  1
1.1 NLP中的基本概念和術語 1
1.1.1 文本語料庫 1
1.1.2 段落 2
1.1.3 句子 2
1.1.4 短語和單詞 2
1.1.5 n元語法 2
1.1.6 詞袋 2
1.2 NLP技術的應用 3
1.2.1 情感分析 3
1.2.2 命名實體識別 4
1.2.3 實體鏈接 5
1.2.4 文本翻譯 6
1.2.5 自然語言推理 6
1.2.6 語義角色標記 6
1.2.7 關系提取 7
1.2.8 SQL查詢生成或語義解析 8
1.2.9 機器閱讀理解 8
1.2.10 文字蘊含 10
1.2.11 指代消解 10
1.2.12 搜索 11
1.2.13 問答和聊天機器人 11
1.2.14 文本轉語音 12
1.2.15 語音轉文本 13
1.2.16 說話人識別 14
1.2.17 口語對話系統 14
1.2.18 其他應用 14
1.3 小結 15

第 2章 使用NLTK進行文本分類和詞性標註 16
2.1 安裝NLTK 及其模塊 16
2.2 文本預處理及探索性分析 18
2.2.1 分詞 18
2.2.2 詞乾提取 19
2.2.3 去除停用詞 20
2.2.4 探索性分析 20
2.3 詞性標註 24
2.3.1 詞性標註定義 24
2.3.2 詞性標註的應用 25
2.3.3 訓練詞性標註器 25
2.4 訓練影評情感分類器 29
2.5 訓練詞袋分類器 32
2.6 小結 34

第3章 深度學習和TensorFlow 35
3.1 深度學習 35
3.1.1 感知器 35
3.1.2 激活函數 36
3.1.3 神經網絡 38
3.1.4 訓練神經網絡 40
3.1.5 捲積神經網絡 43
3.1.6 遞歸神經網絡 44
3.2 TensorFlow 45
3.2.1 通用圖形處理單元 45
3.2.2 安裝 46
3.2.3 Hello world ! 47
3.2.4 兩數相加 47
3.2.5 TensorBoard 48
3.2.6 Keras庫 49
3.3 小結 49

第4章 使用淺層模型進行語義嵌入 50
4.1 詞向量 50
4.1.1 經典方法 50
4.1.2 Word2vec 51
4.1.3 連續詞袋模型 52
4.1.4 跳字模型 53
4.2 從單詞到文檔嵌入 59
4.3 Sentence2vec 59
4.4 Doc2vec 60
4.5 小結 63

第5章 使用LSTM進行文本分類 64
5.1 文本分類數據 64
5.2 主題建模 65
5.3 用於文本分類的深度學習元架構 68
5.3.1 嵌入層 68
5.3.2 深層表示 68
5.3.3 全連接部分 68
5.4 使用RNN識別YouTube視頻垃圾評論 69
5.5 使用CNN對新聞主題分類 73
5.6 使用GloVe嵌入進行遷移學習 76
5.7 多標簽分類 79
5.7.1 二元關聯 80
5.7.2 用於多標簽分類的深度學習 80
5.7.3 用於文檔分類的attention網絡 81
5.8 小結 83

第6章 使用CNN進行搜索和去重 84
6.1 數據 84
6.2 模型訓練 85
6.2.1 文本編碼 86
6.2.2 建立CNN模型 87
6.2.3 訓練 89
6.2.4 推理 91
6.3 小結 92

第7章 使用字符級LSTM進行命名實體識別 93
7.1 使用深度學習實現NER 93
7.1.1 數據 94
7.1.2 模型 95
7.1.3 代碼詳解 96
7.1.4 不同預訓練詞嵌入的影響 98
7.1.5 改進空間 105
7.2 小結 105

第8章 使用GRU 進行文本生成和文本摘要 106
8.1 使用RNN進行文本生成 106
8.2 文本摘要 112
8.2.1 提取式摘要 112
8.2.2 抽象式摘要 114
8.2.3 最新抽象式文本摘要 123
8.3 小結 125

第9章 使用記憶網絡完成問答任務和編寫聊天機器人 127
9.1 QA任務 127
9.2 用於QA任務的記憶網絡 128
9.2.1 記憶網絡管道概述 128
9.2.2 使用TensorFlow寫一個記憶網絡 129
9.3 拓展記憶網絡以進行對話建模 134
9.3.1 對話數據集 134
9.3.2 使用TensorFlow編寫一個聊天機器人 137
9.3.3 記憶網絡相關文獻 146
9.4 小結 146

第 10章 使用基於attention的模型進行機器翻譯 147
10.1 機器翻譯概述 147
10.1.1 統計機器翻譯 147
10.1.2 神經機器翻譯 150
10.2 小結 163

第 11章 使用DeepSpeech進行語音識別 164
11.1 語音識別概述 164
1 建立用於語音識別的RNN模型 165
11.2.1 語音信號表示 165
11.2.2 用於語音數字識別的LSTM模型 167
11.2.3 TensorBoard可視化 168
11.2.4 使用DeepSpeech架構的語音轉文本模型 169
11.2.5 語音識別最新技術 178
11.3 小結 179

第12章 使用Tacotron進行文本轉語音 180
12.1 TTS領域概述 181
12.1.1 自然性與可懂性 181
12.1.2 TTS系統表現的評估方式 181
12.1.3 傳統技術——級聯模型和參數模型 182
12.1.4 關於頻譜圖和梅爾標度的一些提醒 182
12.2 深度學習中的TTS 185
12.2.1 WaveNet簡介 186
12.2.2 Tacotron 186
12.3 利用Keras的Tacotron實現 191
12.3.1 數據集 192
12.3.2 數據準備 192
12.3.3 架構實現 196
12.3.4 訓練與測試 200
12.4 小結 201

第 13章 部署訓練好的模型 202
13.1 性能提升 202
13.1.1 量化權重 202
13.1.2 MobileNets 203
13.2 TensorFlow Serving 205
13.2.1 導出訓練好的模型 206
13.2.2 把導出模型投入服務 207
13.3 在雲上部署 207
13.3.1 Amazon Web Services 207
13.3.2 Google Cloud Platform 210
13.4 在移動設備上部署 213
13.4.1 iPhone 213
13.4.2 Android 213
13.5 小結 213