編輯推薦
深度學習、自然語言處理入門書
為你開啟從AI入門到AI套用的學習之門
提供大量編程實例,配書原始碼供下載
內容提要
《智慧型問答與深度學習》面向在校學生或計算機軟體從業人員,由淺入深地介紹了人工智慧在文本任務中的套用。《智慧型問答與深度學習》不但介紹了自然語言處理、深度學習和機器閱讀理解等基礎知識,還簡述了資訊理論、人工智慧等的發展過程。
目錄
1 概述1
1.1 智慧型問答:讓機器更好地服務於人 1
1.2 問答系統類型介紹 2
1.2.1 基於事實的問答系統 3
1.2.2 基於常見問題集的問答系統 3
1.2.3 開放域的問答系統 4
1.3 使用本書附帶的源碼程式 4
1.3.1 安裝依賴軟體 4
1.3.2 下載源碼 5
1.3.3 執行示例程式 5
1.3.4 聯繫我們 6
1.4 全書結構 6
2 機器學習基礎8
2.1 線性代數 8
2.1.1 標量、向量、矩陣和張量 8
2.1.2 矩陣運算 9
2.1.3 特殊類型的矩陣 10
2.1.4 線性相關 11
2.1.5 範數 12
2.2 機率論基礎 12
2.2.1 隨機變數 13
2.2.2 期望和方差 13
2.2.3 伯努利分布 14
2.2.4 二項分布 14
2.2.5 泊松分布 15
2.2.6 常態分配 15
2.2.7 條件機率、聯合機率和全機率 17
2.2.8 先驗機率與後驗機率 18
2.2.9 邊緣機率 18
2.2.10 貝葉斯公式 18
2.2.11 最大似然估計算法 19
2.2.12 線性回歸模型 20
2.2.13 邏輯斯蒂回歸模型 21
2.3 資訊理論基礎 22
2.3.1 熵 23
2.3.2 聯合熵和條件熵 23
2.3.3 相對熵與互信息 24
2.3.4 信道和信道容量 25
2.3.5 最大熵模型 26
2.3.6 資訊理論與機器學習 29
2.4 統計學習 29
2.4.1 輸入空間、特徵空間與輸出空間 30
2.4.2 向量表示 30
2.4.3 數據集 31
2.4.4 從機率到函式 31
2.4.5 統計學習三要素 32
2.5 隱馬爾可夫模型 33
2.5.1 隨機過程和馬爾可夫鏈 33
2.5.2 隱馬爾可夫模型的定義 36
2.5.3 三個基本假設及適用場景 37
2.5.4 機率計算問題之直接計算 39
2.5.5 機率計算問題之前向算法 40
2.5.6 機率計算問題之後向算法 42
2.5.7 預測問題之維特比算法 45
2.5.8 學習問題之Baum-Welch 算法 48
2.6 條件隨機場模型 52
2.6.1 超越HMM 52
2.6.2 項目實踐 55
2.7 總結 59
3 自然語言處理基礎60
3.1 中文自動分詞 60
3.1.1 有向無環圖 61
3.1.2 最大匹配算法 63
3.1.3 算法評測 69
3.1.4 由字構詞的方法 72
3.2 詞性標註 77
3.2.1 詞性標註規範 77
3.2.2 隱馬爾可夫模型詞性標註 79
3.3 命名實體識別 81
3.4 上下文無關文法 82
3.4.1 原理介紹 83
3.4.2 算法淺析 83
3.5 依存關係分析 84
3.5.1 算法淺析 85
3.5.2 項目實踐 92
3.5.3 小結 94
3.6 信息檢索系統 95
3.6.1 什麼是信息檢索系統 95
3.6.2 衡量信息檢索系統的關鍵指標 95
3.6.3 理解非結構化數據 97
3.6.4 倒排索引 98
3.6.5 處理查詢 100
3.6.6 項目實踐 102
3.6.7 Elasticsearch 103
3.6.8 小結 112
3.7 問答語料 113
3.7.1 WikiQA 113
3.7.2 中文版保險行業語料庫InsuranceQA 113
3.8 總結 115
4 深度學習初步116
4.1 深度學習簡史 116
4.1.1 感知機 116
4.1.2 寒冬和復甦 117
4.1.3 走出實驗室 118
4.1.4 寒冬再臨 119
4.1.5 走向大規模實際套用 119
4.2 基本架構 120
4.2.1 神經元 121
4.2.2 輸入層、隱藏層和輸出層 122
4.2.3 標準符號 123
4.3 神經網路是如何學習的 124
4.3.1 梯度下降 124
4.3.2 反向傳播理論 127
4.3.3 神經網路全連線層的實現 130
4.3.4 使用簡單神經網路實現問答任務 131
4.4 調整神經網路超參數 136
4.4.1 超參數 136
4.4.2 參考建議 137
4.5 卷積神經網路與池化 138
4.5.1 簡介 138
4.5.2 卷積層的前向傳播 139
4.5.3 池化層的前向傳播 141
4.5.4 卷積層的實現 141
4.5.5 池化層的實現 145
4.5.6 使用卷積神經網路實現問答任務 148
4.6 循環神經網路及其變種 149
4.6.1 簡介 149
4.6.2 循環神經網路 149
4.6.3 長短期記憶單元和門控循環單元 153
4.6.4 循環神經網路的實現 156
4.6.5 使用循環神經網路實現問答任務 159
4.7 簡易神經網路工具包 160
5 詞向量實現及套用161
5.1 語言模型 161
5.1.1 評測 162
5.1.2 ARPA 格式介紹 162
5.1.3 項目實踐 163
5.2 One-hot 表示法 164
5.3 詞袋模型 165
5.4 NNLM 和RNNLM 165
5.5 word2vec 168
5.5.1 C-BOW 的原理 169
5.5.2 Skip-gram 的原理 172
5.5.3 計算效率最佳化 174
5.5.4 項目實踐 179
5.6 GloVe 189
5.6.1 GloVe 的原理 189
5.6.2 GloVe 與word2vec 的區別和聯繫 191
5.6.3 項目實踐 193
5.7 fastText 198
5.7.1 fastText 的原理 198
5.7.2 fastText 與word2vec 的區別和聯繫 200
5.7.3 項目實踐 201
5.8 中文近義詞工具包 204
5.8.1 安裝 205
5.8.2 接口 205
5.9 總結 205
6 社區問答中的QA 匹配206
6.1 社區問答任務簡介 206
6.2 孿生網路模型 207
6.3 QACNN 模型 207
6.3.1 模型構建 207
6.3.2 實驗結果 214
6.4 Decomposable Attention 模型 214
6.4.1 模型介紹 214
6.4.2 模型構建 216
6.5 多比較方式的比較–集成模型 216
6.5.1 模型介紹 216
6.5.2 模型構建 218
6.6 BiMPM 模型 219
6.6.1 模型介紹 219
6.6.2 模型構建 221
7 機器閱讀理解222
7.1 完型填空型機器閱讀理解任務 222
7.1.1 CNN/Daily Mail 數據集 222
7.1.2 Children’s Book Test(CBT)數據集 223
7.1.3 GA Reader 模型 226
7.1.4 SA Reader 模型 227
7.1.5 AoA Reader 模型 228
7.2 答案抽取型機器閱讀理解任務 230
7.2.1 SQuAD 數據集 231
7.2.2 MS MARCO 數據集 232
7.2.3 TriviaQA 數據集 234
7.2.4 DuReader 數據集 235
7.2.5 BiDAF 模型 235
7.2.6 R-Net 模型 237
7.2.7 S-Net 模型 240
7.3 答案選擇型機器閱讀理解任務 243
7.4 展望 245
參考文獻246
推薦序1
我們生活在一個美好的時代,人工智慧在實際中的套用越來越廣泛,很多前人暢想過的事情正在變成現實。同時,作為科技工作者,我們也應該抓住時代給予的機會,讓機器更好地服務於人。智慧型問答是一個重要方向,今天我們所使用的搜尋引擎和20 世紀末它剛剛出現時已經截然不同,基於海量數據及複雜的算法,其答案的精確程度讓人驚嘆。但是有一天,它會不會只給我們一個答案,不是一個列表,而是唯一的回答?隨著語音互動的日益普及,這個需求有著重要的價值。那么,怎么樣才能讓機器準確地理解人的問題呢?深入的思考會帶來更多的問題,世界上最聰明的一群人正在嘗試解決這些問題。
本書介紹了近年來自然語言處理和機器閱讀的成果,帶有翔實的示例,對實際套用有很好的借鑑意義。而且本書從原理上進行了解釋,這樣更能幫助讀者掌握這些技術,融會貫通,促進更多的創新,是入門自然語言處理和深度學習難得的好書。
王海良先生是本書作者之一,我們是因為共同興趣——探索實現智慧型的聊天機器人而認識的。他對智慧型問答有著很高的積極性,尤其對企業普及聊天機器人套用有著強烈的願景。本書中很多內容是作者的真知灼見,“問渠那得清如許,為有源頭活水來”。我向大家強烈推薦本書!
李紀為,香儂科技CEO
推薦序2
人工智慧時代已經到來,2018 年5 月OpenAI 發布報告,其中提到在人工智慧訓練任務中使用的算力呈指數級增長,其目前速度為每3.5 個月翻一倍(相比之下,摩爾定律是每18 個月翻一倍)。自2012 年以來,人們對算力的需求增長了超過300 000 倍,未來4 年每年還會增長10 倍,這意味著4 年後人工智慧訓練的算力規模將是現在的1 萬倍。
IBM 研究稱,在全人類的全部數據中90% 是在最近兩年內產生的,到2020 年,全世界的數據規模將是今天的44 倍。每一天,全世界會上傳超過6 億張圖片,到2017 年年底已有4.7 萬億張圖片被存儲。
所有行業都在數位化和網際網路化,所有網際網路公司都將AI 化。只有充分掌握使用人工智慧進行經營決策的企業才能成為行業領導者。每家公司都需要人工智慧工程師和分析師。
現在全國每年畢業的人工智慧博士生不足千名,碩士生不足萬名。面對行業人才短缺,需要更多的在職工程師和非人工智慧專業的碩博人才加快進入這個領域。
最新出版的計算機專業圖書已有一半和人工智慧相關,書的數量不少,但真正有學習價值的卻不多,大部分都集中在圖像識別領域。
其實語音互動及智慧型問答是人工智慧正在快速發展的方向,而且套用領域廣泛。垂直行業的人工智慧套用有著巨大潛力,需要更多的工程師加入這一行列中。當前最需要的就是有動手能力實現AI 項目,並且具備基礎知識體系的人,他們能夠根據項目套用場景和數據的不同而調整設計相應的算法模型。
當前最易入手的就是針對不同行業深入挖掘行業知識,智慧型問答是入口。本書是有著滿滿乾貨的好書。本書從智慧型問答系統的套用實例出發,系統講解了深度學習必備的數學知識,還有豐富的工程項目資源和實踐分析。按圖索驥,順著作者的指引,就能掌握智慧型問答系統所需要的知識體系。
蔣濤,CSDN 創始人、極客幫創始人
作者簡介
王海良,Chatopera聯合創始人、CEO,微軟人工智慧最有價值專家。畢業於北京郵電大學,加入IBM工作四年,先後工作於軟體開發實驗室和創新中心,從2016年開始工作於創業公司,三角獸AI算法工程師,呤呤英語AI產品負責人,負責智慧型對話系統研發。
李卓桓,PreAngel合伙人,Plug and Play投資合伙人。擁有25年編程經驗,曾任優酷網首席科學家、嘰歪網創始人,水木清華BBS站長,紫霞BBS站長。Conversational AI實踐者,熱愛滑雪、跑酷、滑雪傘等極限運動。
林旭鳴,北京郵電大學模式識別實驗室研究生,目前的研究方向為深度學習、自然語言處理與機器閱讀理解。本科期間曾獲得國家獎學金,研究生期間多次在數據類競賽中取得Top 3的成績。曾在百度、滴滴出行、微軟等公司實習。
媒體評論
本書不是簡單地羅列算法,而是指向了如何讓計算機處理語言這樣一個最有挑戰性的話題,以最終構造一個問答系統為目標,充滿了好奇和實踐精神,是陪伴你學習人工智慧和語言處理難得的好書。
王小川,搜狗CEO
對於大數據時代的文本分析,讀這一本書就夠了。本書由淺入深,從經典方法講到深度學習,以智慧型問答系統的建設為目標,涵蓋了文本處理髮展歷程中各個裡程碑式的方法。無論哪種語言,只有機器能夠“理解文本”,才有可能通過圖靈測試,希望本書能夠促進該領域的快速發展。
劉瑞芳,北京郵電大學模式識別實驗室副教授
2018 年是人工智慧的大元年,機器視覺、智慧型語音、自然語言理解、深度學習、區塊鏈等原本晦澀的技術術語湧入公眾視野,各種信息、軟文隨著媒體的大量宣傳變得似乎觸手可及。我們可以預見未來10 年中國的人工智慧將實現井噴式的增長,創業的浪潮也將推進各類AI 套用場景的落地,並塑造、培養數以萬計的AI 人才。本書聚焦智慧型問答,在信息碎片化時代幫助讀者梳理自然語言理解、機器學習、深度學習的學習邏輯,讓讀者更容易理解各類語義模型和算法背後的原理。希望本書能夠幫助讀者深入到聊天機器人的學習中。
Leo Zhou,智言科技CEO
前言
人工智慧熱潮襲來,很多人對它有著美好的預期,因為在很多工作崗位上,人們重複勞動,或者工作強度大,甚至是危險的,是不是人工智慧產品能夠改變這種現狀?另外,技術人員出於研究的目的開始學習機器學習技術。人工智慧就像是一片藍海,甚至上升到國家戰略的高度,《人工智慧基礎(高中版)》已經於2018 年出版,未來將有更多的人才進入這個迷人的領域。
近兩年,人工智慧有愈演愈烈之勢,這得益於很多人對開源社區的貢獻,因為從理論研究過渡到生產實踐需要一個過程,開源社區大大地加速了這個過程。人工智慧的創新受益於原創思想,通常這些思想以學術論文的形式發布。因此,關注arXiv 上關於使用機器學習完成各種文本任務是我的一個愛好。一些優秀的論文被發布後,也可以在GitHub 上找到對應的開源項目和開放數據集,這使得愛好者或廣大技術人員不但有機會接觸前沿的研究成果,而且可以實踐,從而套用或繼續創新。
目前,市場上有很多關於人工智慧的書籍,本書是作者在學習和使用人工智慧技術的過程中總結和整理而成的。我通過論文、開源項目、工作和比賽等方式慢慢進入機器學習的殿堂,回憶這兩年開發人機對話系統的經歷,感覺如果有一本書能從原理出發,同時也不失實踐的指導意義,將會大大加速掌握機器學習的過程,於是便產生了寫這樣一本書的想法。
本書有助於科研人員和愛好者學習深度學習、自然語言處理和機器閱讀,也可以作為深度學習和自然語言處理相關課程的教學參考書。本書配套了很多代碼示例。
本書初稿由王海良、李卓桓和林旭鳴完成,經過陳可心和李思珍的編寫,完善了部分章節。