TensorFlow + Keras 自然語言處理實戰

王曉華

立即出貨

  • TensorFlow + Keras 自然語言處理實戰-preview-1
  • TensorFlow + Keras 自然語言處理實戰-preview-2
  • TensorFlow + Keras 自然語言處理實戰-preview-3
TensorFlow + Keras 自然語言處理實戰-preview-1

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

相關主題

商品描述

神經網絡是深度學習的核心內容,TensorFlow是現在最為流行的深度學習框架之一。
本書使用TensorFlow 2.1作為自然語言處理實現的基本工具,引導深度學習的入門讀者,從搭建環境開始,逐步深入到理論、代碼、應用實踐中去。 
本書分為10章,內容包括搭建環境、TensorFlow基本和高級API的使用、MNIST手寫體分辨實戰、Dataset API、ResNet模型、詞嵌入(word embedding)模型的實現,最後給出3個實戰案例:文本分類、基於編碼器的拼音漢字轉化模型,以及基於編碼器、解碼器的拼音漢字翻譯模型。 
本書內容詳盡、示例豐富,是機器學習和深度學習讀者必備的參考書,非常適合開設人工智能相關專業的大中專院校師生閱讀,也可作為高等院校電腦及相關專業教材使用。

作者簡介

王曉華,計算機專業講師,長期講授面向對象程序設計、數據結構、Hadoop程序設計等研究生和本科生相關課程;主要研究方向為雲計算、數據挖掘。
曾主持和參與多項國家和省級科研課題,獨立科研項目獲省級成果認定,發表過多篇論文,擁有一項專利。
著有《Spark MLlib機器學習實踐》《TensorFlow深度學習應用實踐》《OpenCV+TensorFlow深度學習與計算機視覺實戰》《TensorFlow 2.0卷積神經網絡實戰》等圖書。

目錄大綱

目   錄

第1章  自然語言之道 1
1.1  何謂自然語言處理 1
1.1.1  自然語言處理是門技術 1
1.1.2  傳統自然語言處理 2
1.2  自然語言處理為什麽難——以最簡單的情感分析為例 3
1.3  自然語言處理的展望 5
1.3.1  自然語言處理對於人工智能的意義 6
1.3.2  自然語言在金融、法律、醫療健康等方面的應用 6
1.4  搭建環境1:安裝Python 7
1.4.1  Anaconda的下載與安裝 7
1.4.2  Python編譯器PyCharm的安裝 10
1.4.3  使用Python計算softmax函數 14
1.5  搭建環境2:安裝TensorFlow 2.1 15
1.5.1  安裝TensorFlow 2.1的CPU版本 15
1.5.2  安裝TensorFlow 2.1的GPU版本 15
1.5.3  練習——Hello TensorFlow 18
1.6  實戰——酒店評論的情感分類 19
1.6.1  第一步:數據的準備 19
1.6.2  第二步:數據的處理 20
1.6.3  第三步:模型的設計 20
1.6.4  第四步:模型的訓練 21
1.6.5  第五步:模型的結果和展示 22
1.7  本章小結 22

第2章  Hello TensorFlow & Keras 23
2.1  TensorFlow & Keras 23
2.1.1  模型!模型!還是模型! 24
2.1.2  使用Keras API實現鳶尾花分類的例子(順序模式) 24
2.1.3  使用Keras函數式編程實現鳶尾花分類的例子(重點) 27
2.1.4  使用保存的Keras模式對模型進行復用 30
2.1.5  使用TensorFlow標準化編譯對iris模型進行擬合 31
2.1.6  多輸入單一輸出TensorFlow編譯方法(選學) 35
2.1.7  多輸入多輸出TensorFlow編譯方法(選學) 38
2.2  全連接層詳解 40
2.2.1  全連接層的定義與實現 40
2.2.2  使用TensorFlow自帶的API實現全連接層 42
2.2.3  打印顯示已設計的model結構和參數 45
2.3  懶人的福音——Keras模型庫 47
2.3.1  ResNet50模型和參數的載入 47
2.3.2  使用ResNet50作為特徵提取層建立模型 49
2.4  本章小結 51

第3章  深度學習的理論基礎 52
3.1  BP神經網絡簡介 53
3.2  BP神經網絡兩個基礎算法詳解 56
3.2.1  最小二乘法(LS算法)詳解 56
3.2.2  道士下山的故事——梯度下降算法 58
3.3  反饋神經網絡反向傳播算法介紹 61
3.3.1  深度學習基礎 61
3.3.2  鏈式求導法則 62
3.3.3  反饋神經網絡原理與公式推導 64
3.3.4  反饋神經網絡原理的激活函數 69
3.3.5  反饋神經網絡原理的Python實現 70
3.4  本章小結 74

第4章  捲積層與MNIST實戰 75
4.1  捲積運算基本概念 75
4.1.1  捲積運算 76
4.1.2  TensorFlow中捲積函數實現詳解 78
4.1.3  池化運算 80
4.1.4  softmax激活函數 81
4.1.5  捲積神經網絡原理 82
4.2  編程實戰:MNIST手寫體識別 85
4.2.1  MNIST數據集 85
4.2.2  MNIST數據集特徵和標簽介紹 87
4.2.3  TensorFlow 2.X編程實戰:MNIST數據集 89
4.2.4  使用自定義的捲積層實現MNIST識別 93
4.3  本章小結 96

第5章  TensorFlow Datasets和TensorBoard詳解 97
5.1  TensorFlow Datasets簡介 97
5.1.1  Datasets數據集的安裝 99
5.1.2  Datasets數據集的使用 99
5.2  Datasets數據集的使用——FashionMNIST 101
5.2.1  FashionMNIST數據集下載與展示 102
5.2.2  模型的建立與訓練 104
5.3  使用Keras對FashionMNIST數據集進行處理 106
5.3.1  獲取數據集 106
5.3.2  數據集的調整 107
5.3.3  使用Python類函數建立模型 107
5.3.4  Model的查看和參數打印 108
5.3.5  模型的訓練和評估 110
5.4  使用TensorBoard可視化訓練過程 112
5.4.1  TensorBoard文件夾的設置 113
5.4.2  TensorBoard的顯式調用 114
5.4.3  TensorBoard的使用 116
5.5  本章小結 119

第6章  從冠軍開始:ResNet 120
6.1  ResNet基礎原理與程序設計基礎 121
6.1.1  ResNet誕生的背景 121
6.1.2  模塊工具的TensorFlow實現——不要重復造輪子 124
6.1.3  TensorFlow高級模塊layers用法簡介 125
6.2  ResNet實戰:CIFAR100數據集分類 132
6.2.1  CIFAR100數據集簡介 132
6.2.2  ResNet殘差模塊的實現 135
6.2.3  ResNet網絡的實現 137
6.2.4  使用ResNet對CIFAR100數據集進行分類 140
6.3  ResNet的兄弟——ResNeXt 141
6.3.1  ResNeXt誕生的背景 141
6.3.2  ResNeXt殘差模塊的實現 143
6.3.3  ResNeXt網絡的實現 145
6.3.4  ResNeXt和ResNet的比較 146
6.4  本章小結 147

第7章  有趣的word embedding 148
7.1  文本數據處理 148
7.1.1  數據集介紹和數據清洗 149
7.1.2  停用詞的使用 151
7.1.3  詞向量訓練模型word2vec使用介紹 154
7.1.4  文本主題的提取:基於TF-IDF(選學) 157
7.1.5  文本主題的提取:基於TextRank(選學) 161
7.2  更多的word embedding方法——fastText和預訓練詞向量 164
7.2.1  fastText的原理與基礎算法 164
7.2.2  fastText訓練以及與TensorFlow 2.X的協同使用 166
7.2.3  使用其他預訓練參數做TensorFlow詞嵌入矩陣(中文) 172
7.3  針對文本的捲積神經網絡模型簡介——字符捲積 173
7.3.1  字符(非單詞)文本的處理 173
7.3.2  捲積神經網絡文本分類模型的實現——conv1d(一維捲積) 180
7.4  針對文本的捲積神經網絡模型簡介——詞捲積 182
7.4.1  單詞的文本處理 183
7.4.2  捲積神經網絡文本分類模型的實現——conv2d(二維捲積) 184
7.5  使用捲積對文本分類的補充內容 188
7.5.1  漢字的文本處理 188
7.5.2  其他細節 191
7.6  本章小結 191

第8章  實戰——站在冠軍肩膀上的情感分類實戰 193
8.1  GRU與情感分類 193
8.1.1  什麽是GRU 193
8.1.2  使用GRU的情感分類 195
8.1.3  TensorFlow中的GRU層詳解 196
8.1.4  單向不行就雙向 197
8.2  站在巨人肩膀上的情感分類 198
8.2.1  使用TensorFlow自帶的模型做文本分類 199
8.2.2  使用自定義的DPCNN做模型分類 203
8.3  本章小結 207

第9章  從0起步——自然語言處理的編碼器 208
9.1  編碼器的核心——註意力模型 209
9.1.1  輸入層——初始詞向量層和位置編碼器層 210
9.1.2  自註意力層(本書重點) 211
9.1.3  ticks和LayerNormalization 216
9.1.4  多頭自註意力 217
9.2  編碼器的實現 221
9.2.1  前饋層的實現 221
9.2.2  構建編碼器架構 223
9.3  實戰編碼器——漢字拼音轉化模型 226
9.3.1  漢字拼音數據集處理 227
9.3.2  漢字拼音轉化模型的確定 229
9.3.3  模型訓練部分的編寫 232
9.3.4  推斷函數的編寫 233
9.4  本章小結 234

第10章  從1起步——自然語言處理的解碼器 236
10.1  解碼器的核心——註意力模型 236
10.1.1  解碼器的輸入和交互註意力層的掩碼 237
10.1.2  為什麽通過掩碼操作能夠減少乾擾 242
10.1.3  解碼器的輸出(移位訓練方法) 243
10.1.4  解碼器的實現 244
10.2  解碼器實戰——拼音漢字翻譯模型 246
10.2.1  翻譯模型 246
10.2.2  拼音漢字模型的訓練(註意訓練過程的錯位數據輸入) 252
10.2.3  拼音漢字模型的使用(循環輸出的問題) 254
10.3  本章小結 256