自然語言處理實戰 利用Python理解、分析和生成文本 ( 簡體 字) |
作者:[美]霍布森·萊恩,科爾·霍華德,漢納斯·馬克斯·哈普克 | 類別:1. -> 程式設計 -> 自然語言 2. -> 程式設計 -> Python |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 53333 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:10/1/2020 |
頁數:432 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115540232 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書是介紹自然語言處理(NLP)和深度學習的實戰書。NLP已成為深度學習的核心應用領域,而深度學習是NLP研究和應用中的必要工具。本書分為3部分:第一部分介紹NLP基礎,包括分詞、TF-IDF向量化以及從詞頻向量到語義向量的轉換;第二部分講述深度學習,包含神經網絡、詞向量、卷積神經網絡(CNN)、循環神經網絡(RNN)、長短期記憶(LSTM)網絡、序列到序列建模和注意力機制等基本的深度學習模型和方法;第三部分介紹實戰方面的內容,包括信息提取、問答系統、人機對話等真實世界系統的模型構建、性能挑戰以及應對方法。 本書面向中高級Python開發人員,兼具基礎理論與編程實戰,是現代NLP領域從業者的實用參考書。 |
目錄:第 一部分 處理文本的機器 第 1章 NLP概述 3 1.1 自然語言與編程語言 3 1.2 神奇的魔法 4 1.2.1 會交談的機器 5 1.2.2 NLP中的數學 5 1.3 實際應用 7 1.4 計算機“眼”中的語言 8 1.4.1 鎖的語言(正則表達式) 9 1.4.2 正則表達式 9 1.4.3 一個簡單的聊天機器人 11 1.4.4 另一種方法 14 1.5 超空間簡述 17 1.6 詞序和語法 19 1.7 聊天機器人的自然語言流水線 20 1.8 深度處理 22 1.9 自然語言智商 24 1.10 小結 26 第 2章 構建自己的詞匯表——分詞 27 2.1 挑戰(詞干還原預覽) 28 2.2 利用分詞器構建詞匯表 29 2.2.1 點積 37 2.2.2 度量詞袋之間的重合度 37 2.2.3 標點符號的處理 38 2.2.4 將詞匯表擴展到n-gram 43 2.2.5 詞匯表歸一化 48 2.3 情感 55 2.3.1 VADER:一個基于規則的情感分析器 56 2.3.2 樸素貝葉斯 58 2.4 小結 61 第3章 詞中的數學 62 3.1 詞袋 63 3.2 向量化 67 3.3 齊普夫定律 74 3.4 主題建模 76 3.4.1 回到齊普夫定律 79 3.4.2 相關度排序 80 3.4.3 工具 82 3.4.4 其他工具 83 3.4.5 Okapi BM25 85 3.4.6 未來展望 85 3.5 小結 85 第4章 詞頻背后的語義 87 4.1 從詞頻到主題得分 88 4.1.1 TF-IDF向量及詞形歸并 88 4.1.2 主題向量 89 4.1.3 思想實驗 90 4.1.4 一個主題評分算法 94 4.1.5 一個LDA分類器 95 4.2 潛在語義分析 99 4.3 奇異值分解 103 4.3.1 左奇異向量U 105 4.3.2 奇異值向量S 106 4.3.3 右奇異向量VT 107 4.3.4 SVD矩陣的方向 107 4.3.5 主題約簡 108 4.4 主成分分析 109 4.4.1 三維向量上的PCA 111 4.4.2 回歸NLP 112 4.4.3 基于PCA的短消息語義分析 114 4.4.4 基于截斷的SVD的短消息語義分析 116 4.4.5 基于LSA的垃圾短消息分類的效果 117 4.5 潛在狄利克雷分布(LDiA) 119 4.5.1 LDiA思想 120 4.5.2 基于LDiA主題模型的短消息語義分析 121 4.5.3 LDiA+LDA=垃圾消息過濾器 124 4.5.4 更公平的對比:32個LdiA主題 125 4.6 距離和相似度 127 4.7 反饋及改進 129 4.8 主題向量的威力 132 4.8.1 語義搜索 133 4.8.2 改進 135 4.9 小結 135 第二部分 深度學習(神經網絡) 第5章 神經網絡初步(感知機與反向傳播) 139 5.1 神經網絡的組成 140 5.1.1 感知機 140 5.1.2 數字感知機 141 5.1.3 認識偏置 142 5.1.4 誤差曲面 153 5.1.5 不同類型的誤差曲面 154 5.1.6 多種梯度下降算法 155 5.1.7 Keras:用Python實現神經網絡 155 5.1.8 展望 158 5.1.9 歸一化:格式化輸入 159 5.2 小結 159 第6章 詞向量推理(Word2vec) 160 6.1 語義查詢與類比 160 6.2 詞向量 162 6.2.1 面向向量的推理 165 6.2.2 如何計算Word2vec表示 167 6.2.3 如何使用gensim.word2vec模塊 175 6.2.4 生成定制化詞向量表示 177 6.2.5 Word2vec和GloVe 179 6.2.6 fastText 180 6.2.7 Word2vec和LSA 180 6.2.8 詞關系可視化 181 6.2.9 非自然詞 187 6.2.10 利用Doc2vec計算文檔相似度 188 6.3 小結 190 第7章 卷積神經網絡(CNN) 191 7.1 語義理解 192 7.2 工具包 193 7.3 卷積神經網絡 194 7.3.1 構建塊 195 7.3.2 步長 196 7.3.3 卷積核的組成 196 7.3.4 填充 198 7.3.5 學習 199 7.4 狹窄的窗口 199 7.4.1 Keras實現:準備數據 201 7.4.2 卷積神經網絡架構 206 7.4.3 池化 206 7.4.4 dropout 208 7.4.5 輸出層 209 7.4.6 開始學習(訓練) 211 7.4.7 在流水線中使用模型 212 7.4.8 前景展望 213 7.5 小結 214 第8章 循環神經網絡(RNN) 215 8.1 循環網絡的記憶功能 217 8.1.1 隨時間反向傳播算法 221 8.1.2 不同時刻的權重更新 223 8.1.3 簡要回顧 225 8.1.4 難點 225 8.1.5 利用Keras實現循環神經網絡 226 8.2 整合各個部分 230 8.3 自我學習 231 8.4 超參數 232 8.5 預測 235 8.5.1 有狀態性 236 8.5.2 雙向RNN 236 8.5.3 編碼向量 238 8.6 小結 238 第9章 改進記憶力:長短期記憶網絡(LSTM) 239 9.1 長短期記憶(LSTM) 240 9.1.1 隨時間反向傳播 247 9.1.2 模型的使用 250 9.1.3 臟數據 251 9.1.4 “未知”詞條的處理 254 9.1.5 字符級建模 255 9.1.6 生成聊天文字 260 9.1.7 進一步生成文本 262 9.1.8 文本生成的問題:內容不受控 269 9.1.9 其他記憶機制 269 9.1.10 更深的網絡 270 9.2 小結 271 第 10章 序列到序列建模和注意力機制 272 10.1 編碼-解碼架構 272 10.1.1 解碼思想 273 10.1.2 似曾相識? 275 10.1.3 序列到序列對話 276 10.1.4 回顧LSTM 277 10.2 組裝一個序列到序列的流水線 278 10.2.1 為序列到序列訓練準備數據集 278 10.2.2 Keras中的序列到序列模型 279 10.2.3 序列編碼器 280 10.2.4 思想解碼器 281 10.2.5 組裝一個序列到序列網絡 282 10.3 訓練序列到序列網絡 282 10.4 使用序列到序列網絡構建一個聊天機器人 284 10.4.1 為訓練準備語料庫 285 10.4.2 建立字符字典 286 10.4.3 生成獨熱編碼訓練集 286 10.4.4 訓練序列到序列聊天機器人 287 10.4.5 組裝序列生成模型 288 10.4.6 預測輸出序列 288 10.4.7 生成回復 289 10.4.8 與聊天機器人交談 290 10.5 增強 290 10.5.1 使用裝桶法降低訓練復雜度 290 10.5.2 注意力機制 291 10.6 實際應用 292 10.7 小結 294 第三部分 進入現實世界(現實中的NLP挑戰) 第 11章 信息提取(命名實體識別與問答系統) 297 11.1 命名實體與關系 297 11.1.1 知識庫 298 11.1.2 信息提取 300 11.2 正則模式 300 11.2.1 正則表達式 301 11.2.2 把信息提取當作機器學習里的特征提取任務 302 11.3 值得提取的信息 303 11.3.1 提取GPS位置 303 11.3.2 提取日期 304 11.4 提取人物關系(事物關系) 309 11.4.1 詞性標注 309 11.4.2 實體名稱標準化 313 11.4.3 實體關系標準化和提取 314 11.4.4 單詞模式 314 11.4.5 文本分割 314 11.4.6 為什么split(.! )函數不管用 316 11.4.7 使用正則表達式進行斷句 316 11.5 現實世界的信息提取 318 11.6 小結 319 第 12章 開始聊天(對話引擎) 320 12.1 語言技能 321 12.1.1 現代方法 322 12.1.2 混合方法 326 12.2 模式匹配方法 327 12.2.1 基于AIML的模式匹配聊天機器人 328 12.2.2 模式匹配的網絡視圖 334 12.3 知識方法 334 12.4 檢索(搜索)方法 336 12.4.1 上下文挑戰 336 12.4.2 基于示例檢索的聊天機器人 338 12.4.3 基于搜索的聊天機器人 341 12.5 生成式方法 343 12.5.1 聊聊NLPIA 343 12.5.2 每種方法的利弊 345 12.6 四輪驅動 345 12.7 設計過程 347 12.8 技巧 349 12.8.1 用帶有可預測答案的問題提問 349 12.8.2 要有趣 350 12.8.3 當其他所有方法都失敗時,搜索 350 12.8.4 變得受歡迎 350 12.8.5 成為連接器 351 12.8.6 變得有情感 351 12.9 現實世界 351 12.10 小結 352 第 13章 可擴展性(優化、并行化和批處理) 353 13.1 太多(數據)未必是好事 353 13.2 優化NLP算法 354 13.2.1 索引 354 13.2.2 高級索引 355 13.2.3 基于Annoy的高級索引 357 13.2.4 究竟為什么要使用近似索引 361 13.2.5 索引變通方法:離散化 362 13.3 常數級內存算法 363 13.3.1 gensim 363 13.3.2 圖計算 363 13.4 并行化NLP計算 364 13.4.1 在GPU上訓練NLP模型 364 13.4.2 租與買 365 13.4.3 GPU租賃選擇 366 13.4.4 張量處理單元TPU 367 13.5 減少模型訓練期間的內存占用 367 13.6 使用TensorBoard了解模型 369 13.7 小結 372 附錄A 本書配套的NLP工具 373 附錄B 有趣的Python和正則表達式 380 附錄C 向量和矩陣(線性代數基礎) 385 附錄D 機器學習常見工具與技術 391 附錄E 設置亞馬遜云服務(AWS)上的GPU 403 附錄F 局部敏感哈希 415 資源 421 詞匯表 428 |
序: |