●篇快速入門
章初識對話機器人2
1.1實例:對話機器人的一個例子2
1.2對話機器人的商業價值3
1.2.1滿足人工智能時代的社交需求3
1.2.2宣傳商品和服務4
1.2.3提供客戶服務4
1.3本書的學習路徑圖5
1.4對話機器人所需的理論知識7
1.4.1構建對話機器人所需的知識體繫7
1.4.2理論知識的學習路徑圖8
第2章對話機器人的繫統架構10
2.1產品需求定義10
2.1.1封閉域對話vs開放域對話10
2.1.2本書所定義的產品需求12
2.2產品架構設計13
2.2.1產品整體架構13
2.2.2前端:微信小程序14
2.2.3中臺:Apache Tomcat+Java15
2.2.4後臺:TensorFlow+Python16
2.3開發環境準備17
2.3.1申請微信小程序賬號17
2.3.2安裝微信小程序開發環境20
2.3.3安裝Java開發環境20
2.3.4安裝Tomcat軟件21
2.3.5安裝MySQL數據庫21
2.3.6安裝Python及TensorFlow開發環境21
2.3.7購買配置中臺以及後臺服務器22
第2篇理論基礎
第3章人工智能基礎26
3.1入門知識:分類任務26
3.1.1從二分類任務說起26
3.1.2特征及特征提取27
3.1.3如何分類:訓練分類器29
3.1.4感知器31
3.1.5支持向量機33
3.1.6多類別分類34
3.2人工神經網絡的工作原理35
3.2.1為什麼需要人工神經網絡35
3.2.2人工神經網絡如何工作37
第4章自然語言處理基礎42
4.1自然語言處理的發展42
4.1.1從規則引擎到概率統計42
4.1.2自然語言處理要解決的問題44
4.2基於概率統計的解題思路46
4.2.1語音識別46
4.2.2中文自動分詞48
4.2.3文本匹配49
4.2.4機器翻譯51
第5章與對話機器人相關的深度學習53
5.1詞向量53
5.1.1基本概念53
5.1.2詞向量的意義及語言模型55
5.1.3Skip-Gram模型56
5.1.4CBOW模型58
5.1.5詞向量的實現方式59
5.1.6詞向量的應用61
5.2Encoder-Decoder模型61
5.2.1Encoder-Decoder模型的工作原理61
5.2.2Attention模型63
5.3BERT模型64
5.3.1從詞向量到BERT:預訓練技術的發展簡史64
5.3.2BERT模型的運作機制65
5.3.3BERT模型的意義67
第6章對話機器人的實現方式68
6.1實現對話機器人的主流技術68
6.1.1基於人工模版的技術68
6.1.2基於檢索的技術69
6.1.3基於機器翻譯的技術71
6.1.4基於深度學習的技術72
6.2對話管理73
6.2.1對話管理的主要任務74
6.2.2對話管理的實現方法75
6.2.3基於結構的方法76
6.2.4基於規則的方法76
6.2.5基於統計的方法77
第3篇動手實戰
第7章前端:對話機器人的用戶界面80
7.1創建對話機器人小程序80
7.1.1新建對話機器人小程序80
7.1.2代碼構成82
7.1.3小程序調試83
7.2對話機器人小程序開發及測試83
7.2.1用戶界面設計84
7.2.2實戰:開發主頁面84
7.2.3實戰:添加對話框85
7.2.4實戰:添加錄音、輸入框、發送按鈕86
7.2.5實戰:添加功能代碼87
第8章中臺:數據和服務管理93
8.1創建對話機器人的中臺項目93
8.1.1新建中臺項目93
8.1.2準備開發功能95
8.2編寫中臺功能代碼97
8.2.1實戰:創建小程序信息處理接口SendMessageService97
8.2.2實戰:創建語音對話接口SendAudioService103
第9章後臺:對話服務114
9.1準備數據114
9.1.1及安裝語料庫114
9.1.2實戰:文本預處理115
9.1.3實戰:生成詞向量117
9.1.4實戰:生成訓練和測試數據120
9.2建立模型122
9.2.1實戰:加載預處理好的詞向量122
9.2.2實戰:建立模型126
9.3訓練及測試模型128
9.3.1實戰:訓練和測試模型128
9.3.2實戰:驗證模型的效果130
9.4前臺、中臺、後臺繫統集成136
9.4.1實戰:創建後臺對話服務137
9.4.2實戰:聯合調試前臺、中臺、後臺程序139
第4篇擴展應用
0章任務型機器人142
10.1任務型機器人的概念和實現方式142
10.1.1任務型機器人的架構142
10.1.2自然語言理解模塊143
10.1.3對話管理模塊144
10.1.4自然語言生成模塊145
10.2實戰:創建一個任務型機器人145
10.2.1實戰:準備任務型機器人所需的數據145
10.2.2實戰:創建任務型機器人模型146
1章情感分析155
11.1基本概念和實現方式155
11.1.1什麼是情感分析155
11.1.2實現方式之一:基於詞典的方法156
11.1.3實現方式之二:基於機器學習的方法158
11.2實戰:基於深度學習的情感分析158
11.2.1實戰:準備情感分析所需的數據158
11.2.2實戰:創建情感分析模型166
2章客服機器人
12.1客服機器人的工作原理及關鍵技術178
12.2知識圖譜179
12.2.1知識圖譜的概念179
12.2.2知識圖譜的構建原則181
12.2.3知識圖譜的構建方式182
12.2.4知識圖譜之命名實體識別184
12.2.5知識圖譜之關繫抽取185
12.3【實戰】創建一個使用知識圖譜的客服機器人186
12.3.1總體架構186
12.3.2準備知識圖譜187
12.3.3識別用戶意圖和語義187
12.3.4基於知識圖譜做出反應189
內容簡介
本書將帶領讀者搭建一個真實、完整的對話機器人。
這個對話機器人的前臺采用微信小程序來實現,這是因為微信小程序開發很好簡單、門檻低、用戶體驗好,且便於企業用戶將其升級或轉為App。中臺采用“Apache Tomcat+Java”來實現,這樣可降低讀者的學習成本。後臺采用流行的TensorFlow框架來完成對話機器人對話模型的深度學習。如果讀者對這些技術不是太熟悉,也不要緊,隻要跟著書中的步驟一步步來,即可得到很終的結果。
為了完成這樣一個對話機器人,本書先介紹了人工智能基礎、自然語言處理基礎、對話機器人相關的深度學習技術,以及對話機器人的實現方法。在搭建完對話機器人後,還介紹了各種應用場景下,對話機器人擴展功能的實現方式,包括用戶意圖識別、情感分析、知識圖譜等關鍵技術。本書很好適合作為初學者入門人工智能技術的自學用書。單純學習人工智能的理論很枯燥,也很難理解,而在實戰......