●前言1
第1章概述7
監督學習範式9
隨機梯度下降法11
樣本和目標編碼12
獨熱表示(one-hot)12
詞頻表示(TF)14
TF-IDF表示15
目標編碼16
計算圖17
PyTorch基礎19
動態與靜態計算圖19
安裝PyTorch20
創建張量21
張量的類型和大小23
張量操作25
索引、切片、連接27
張量和計算圖31
CUDA張量32
練習題34
答案35
小結36
參考文獻36
第2章自然語言處理37
語料庫、詞和類型38
特征工程40詞形還原和詞干提取41
文檔分類42
單詞分類:詞性標注42
廣度分類:分塊和命名實體識別43
句子結構44
詞義與語義45
小結46
參考文獻47
第3章神經網絡基礎49
感知器:最簡單的神經網絡49
激活函數51
sigmoid52
Tanh53
ReLU53
Softmax54
損失函數55
均方誤差損失56
分類交叉熵損失56
交叉熵損失58
深入監督訓練59
構造樣例數據59
綜合起來:基於梯度的監督學習62
輔助訓練的概念63
正確度量模型性能:評估指標64
正確度量模型性能:分割數據集64
知道何時停止訓練65
找到合適的超參數65
規範化66
案例:餐館評論分類67
Yelp評論數據集68
理解PyTorch的數據集表示70
詞彙表(Vocabulary)、矢量化器(Vectorizer)和數據轉換器(DataLoader)73
一種感知器分類器79
訓練程序80
評估、推斷和檢查86
測試數據評估87
小結90
參考文獻91
第4章用於自然語言處理的前饋網絡93
多層感知器94
一個簡單的例子:二分類96
在PyTorch中實現MLP98
示例:用MLP進行姓氏分類102
姓氏數據集103
Vocabulary、Vectorizer和DataLoader104
姓氏分類器模型106
訓練程序108
模型評估及預測110
正則化MLP:權重正則化和結構正則化(或Dropout)112
卷積神經網絡114
CNN超參數115
在PyTorch中實現CNN120
示例:使用CNN對姓氏進行分類123
姓氏數據集類124
詞彙表、矢量化程序和數據轉換器125
用卷積網絡重新實現姓氏分類器126
培訓程序128
模型評估及預測129
CNN中的雜項主題130
池化130
批規範化(BatchNorm)131
網絡中的網絡連接(1x1卷積)131
殘差連接/殘差塊132
小結133
參考文獻134
第5章嵌入單詞和類型135
為什麼學習嵌入?136
嵌入的效率137
學習單詞嵌入的方法138
預置字的實際使用138
示例:連續詞袋模型的嵌入145
Frankenstein數據集146
Vocabulary、Vectorizer和DataLoader148
CBOWClassifier模型149
訓練程序150
模型評估及預測151
示例:使用預先訓練的嵌入進行文檔分類151
新聞數據集152
Vocabulary、Vectorizer和DataLoader153
NewsClassifier模型156
訓練程序159
模型評估及預測160
小結161
參考文獻162
第6章自然語言處理的序列建模165
遞歸神經網絡簡介166
實現ElmanRNN169
示例:使用字符RNN對姓氏國籍進行分類171
SurnameDataset類171
矢量化數據結構173
姓氏分類器模型174
訓練程序和結果177
小結178
參考文獻178
第7章自然語言處理的中級序列建模179
普通RNN(或ElmanRNN)的問題180
用門控方法解決普通RNN存在的問題181
示例:用於生成姓氏的字符RNN183
SurnameDataset類183
矢量化數據結構185
從ElmanRNN到GRU187
模型1:無條件的姓氏生成模型187
模型2:條件姓氏生成模型189
訓練程序和結果190
訓練序列模型的技巧和竅門196
參考文獻198
第8章自然語言處理的高級序列建模199
序列到序列模型,編碼器-解碼器模型和條件生成199
從序列中捕獲更多信息:雙向遞歸模型203
從序列中捕獲更多信息:注意力205
深度神經網絡中的注意力207
評估序列生成模型209
示例:神經機器翻譯211
機器翻譯數據集212
NMT的矢量化管道213
NMT模型中的編碼和解碼218
訓練程序和結果229
小結231
參考文獻232
第9章經典,前沿與下一步發展235
到目前為止,我們學到了什麼?235
NLP中的永恆主題236
對話與交互繫統236
話語237
信息提取與文本挖掘239
文件分析與檢索239
NLP前沿239
生產NLP繫統的設計模式241
接下來呢?246
參考文獻247
作者介紹249
封面介紹249