TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
Rasa實戰:構建開源對話機器人(簡體書)
滿額折

Rasa實戰:構建開源對話機器人(簡體書)

人民幣定價:89 元
定  價:NT$ 534 元
優惠價:87465
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:13 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

Rasa是一款開源的對話機器人框架,能讓開發者使用機器學習技術快速創建工業級的對話機器人。得益於豐富的功能、先進的機器學習能力和可以快速上手的特性,Rasa框架是目前流行的開源對話機器人框架。 本書首先介紹Rasa的兩個核心組件――Rasa NLU和Rasa Core的工作流程;然後詳細介紹通過使用Rasa生態系統從頭開始構建、配置、訓練和服務不同類型的對話機器人的整體過程,如任務型、FAQ、知識圖譜聊天機器人等,其中包括使用基於表單(form)的對話管理、ResponseSelector來處理閑聊和FAQ,利用知識庫來回答動態查詢的問題等,以及自定義Rasa框架,使用對話驅動的開發模式和工具來開發對話機器人,探索機器人能做什麼,並通過交互式學習來輕鬆修復它所犯的任何錯誤;最後會介紹將Rasa系統部署到具有高性能和高可擴展性的生產環境中,從而建立一個高效和強大的聊天系統。

作者簡介

孔曉泉谷歌開發者機器學習技術專家(Google Developer Expert in Machine Learning),TensorFlow Addons Codeowner,Rasa SuperHero。多年來一直在世界500強公司帶領團隊構建機器學習應用和平臺。在NLP和對話機器人領域擁有豐富的理論和實踐經驗。王 冠北京大學學士,香港科技大學碩士,先後於香港應用科技研究院、聯想機器智能實驗室及瑞士再保險與慕尼黑再保險數據科學團隊從事數據建模、計算機圖像與NLP的研發工作,發表過數篇相關國際期刊論文,並取得相關專利。當前研究方向為人工智能在金融領域的應用。

名人/編輯推薦

對話機器人開源框架Rasa首著,國內外大火的框架,Rasa致力於聊天機器人(bot)平臺和開源NLU工具在商業領域的應用開發,客戶包括瑞銀銀行、寶馬、瑞士保險公司Helvetia,以及女性健康機器人創業公司Tia。國內用Rasa的大廠有中國電信、微軟小冰、陸金所,博世汽車、一汽等。還有很多的中小型企業大量使用。

本書能幫你使用機器學習技術快速創建工業級的對話機器人。

全面解析從0開始構建、配置、訓練和服務不同類型的對話機器人的整體過程,如任務型、FAQ、知識圖譜聊天機器人等。


自然語言處理(Natural Language Processing,NLP)是人工智能領域的一個重要部分。當人工智能已經在數據建模預測和圖像分類識別等場景大放異彩的時候,隨著深度學習算法和計算機硬件的不斷發展,擁有悠久歷史的NLP漸漸展現出新的發展動力和應用落地潛力,而對話機器人是NLP集大成的應用。

對話機器人已經在互聯網和傳統行業中有了廣泛的應用,應用範圍包括自動化提升工作效率、增加客戶服務智能水平和降低人工運營成本等方面。本書以中文應用為核心,向讀者系統地介紹對話機器人的落地構建。

為什麼寫這本書

在深度學習的發展浪潮中,NLP雖然有了很多重要的進步,但是相比圖像視覺識別等領域,NLP有著特殊的一面。因為圖像中的貓都是一樣的,中國的貓在美國也是貓,不受地區、語言、文化背景等限制,所以圖像數據是通用的,算法也一致。文字則不同:全球各地的書寫語言各不相同,相同書寫語言國家中不同地區的口語方言也各有千秋,用英語語料訓練出的NLP模型並不適用於中文,因此NLP語料不具備通用性。

加上人類的語言本身具有歧義性、隱蔽性和常識性,如指代不明、諷刺、縮略等,NLP在技術實現上相當困難,在中文方面尤其如此——一方面,中文NLP缺乏學術界質量良好的大規模中文語料庫;另一方面,主流開源框架對中文NLP的支持並不友好。

據筆者所知,當前的NLP參考數據,或者完全基於傳統NLP的技術架構,與當前新的技術有所脫節,或者太過理論而缺乏實踐,尤其是對中文NLP任務實踐的深層次積累。

因此,我們在本書借助Rasa介紹構建對話機器人這一NLP集大成的任務,從而展現中文 NLP 的核心技術的實踐和應用。

關於本書作者

孔曉泉 谷歌開發者機器學習技術專家(Google Developer Expert in Machine Learning),TensorFlow Addons Codeowner,Rasa SuperHero。多年來一直在世界 500 強公司帶領團隊構建機器學習應用和平臺。在NLP和對話機器人領域擁有豐富的理論和實踐經驗。

王冠 北京大學學士,香港科技大學碩士,先後於香港應用科技研究院、聯想機器智能實驗室及瑞士再保險數據科學團隊從事數據建模、計算機圖像與NLP的研發工作,發表過數篇相關國際期刊論文和專利。當前研究方向為人工智能在金融領域的應用。

本書主要內容

本書將詳細地介紹Rasa的生態體系,按照從入門到內部原理,再到實戰的學習路線,讓第一次接觸機器學習和自然語言理解的用戶能夠迅速了解、掌握並實際運用中文NLP的核心技術。本書由初級、中級和高級3個級別的Rasa知識組成。本書內容與開發人員水平等級對應表如下所示。

本書內容與開發人員水平等級對應表

開發人員水平等級 等級能力要求 對應本書內容

初級 熟悉Rasa各個組件的概念,熟練利用現有的常用組件構建一個單機Rasa Bot 第1章、第2章、第3章

中級 熟練利用所有內建組件構建一個滿足工業標準的分布式Rasa Bot 第4章、第5章、第6章、第7章

高級 熟悉Rasa各個系統的工作原理,按照需要新增、改造或創建新的子系統和組件 第8章、第9章、第10章

如何閱讀本書

建議Rasa初學者,從頭開始逐步深入,並按照書中的項目逐一實踐,在確認已經掌握基礎概念後再繼續學習。同時建議,初學者不需要等到完全讀完整本書再去上手做實際的對話機器人,只要學會自己期望的學習內容就可以開始進行實戰,在實戰中遇到不懂的問題時,再來回顧本書或把本書當作參考手冊反復查閱。

對於已經有一定經驗的Rasa開發者,可以按照需求有選擇地精讀某些章節。有經驗的Rasa開發者快速通讀全書也有好處,一來可以了解最新的Rasa提供了哪些讀者尚不知道的高級技術(Rasa的技術體系進化得相當快),二來可以建立完善的Rasa知識體系,以後在實戰中遇到問題時,可以想起來書中提到的某個技術或方案或許可以解決這一問題。

對於非Rasa系統的對話系統開發者而言,閱讀本書可以學習Rasa系統是如何設計架構,以保證系統的可擴展性的。同時Rasa對話管理系統的設計是非常值得其他對話系統設計師參考學習的,我們建議重點閱讀第9章“Rasa的工作原理與擴展性”。

致謝

感謝谷歌通過提供谷歌云信用額度(GCP credit)的方式來支持我們的工作。


目次

第1章 人機對話基礎和Rasa簡介 1
1.1 機器學習基礎 1
1.2 自然語言處理基礎 3
1.2.1 現代自然語言處理發展
簡史 3
1.2.2 自然語言處理的基礎
任務 7
1.3 人機對話流程 7
1.3.1 確定對話機器人的應用
場景 7
1.3.2 傳統對話機器人架構 8
1.3.3 語音識別 10
1.3.4 自然語言理解 10
1.3.5 對話管理 12
1.3.6 自然語言生成 13
1.3.7 語音合成 14
1.4 Rasa 簡介 14
1.4.1 系統結構 15
1.4.2 如何安裝Rasa 16
1.4.3 Rasa 項目的基本流程 16
1.4.4 Rasa常用命令 16
1.4.5 創建示例項目 17
1.5 小結 17
第2章 Rasa NLU基礎 18
2.1 功能與結構 18
2.2 訓練數據 19
2.2.1 意圖字段 21
2.2.2 同義詞字段 22
2.2.3 查找表字段 23
2.2.4 正則表達式字段 23
2.2.5 正則表達式和查找表的
使用 24
2.3 組件 25
2.3.1 語言模型組件 26
2.3.2 分詞組件 26
2.3.3 特徵提取組件 27
2.3.4 NER組件 27
2.3.5 意圖分類組件 28
2.3.6 實體和意圖聯合提取
組件 28
2.3.7 回復選擇器 28
2.4 流水線 28
2.4.1 什麼是流水線 28
2.4.2 配置流水線 28
2.4.3 推薦的流水線配置 30
2.5 輸出格式 30
2.5.1 意圖字段 32
2.5.2 實體字段 32
2.5.3 其他可能字段 33
2.6 如何使用 Rasa NLU 34
2.6.1 訓練模型 34
2.6.2 從命令行測試 34
2.6.3 啟動服務 35
2.7 實戰:醫療機器人的NLU
模塊 36
2.7.1 功能 36
2.7.2 實現 36
2.7.3 訓練模型 38
2.7.4 運行服務 39
2.8 小結 40
第3章 Rasa Core基礎 41
3.1 功能與結構 41
3.2 領域 41
3.2.1 意圖與實體 42
3.2.2 動作 42
3.2.3 詞槽 43
3.2.4 回復 43
3.2.5 會話配置 45
3.2.6 全局性配置 45
3.3 故事 45
3.3.1 用戶消息 46
3.3.2 機器人動作與事件 46
3.3.3 輔助符號 47
3.4 動作 49
3.4.1 回復動作 49
3.4.2 表單 49
3.4.3 默認動作 49
3.4.4 自定義動作 50
3.5 詞槽 50
3.5.1 詞槽和對話行為 51
3.5.2 詞槽的類型 51
3.5.3 詞槽的映射 52
3.5.4 詞槽初始化 52
3.6 策略 53
3.6.1 策略的配置 53
3.6.2 內建的策略 53
3.6.3 策略的優先級 54
3.6.4 數據增強 54
3.7 端點 54
3.8 Rasa SDK和自定義動作 55
3.8.1 安裝 55
3.8.2 自定義動作 55
3.8.3 tracker物件 56
3.8.4 事件物件 56
3.8.5 運行自定義動作 57
3.9 Rasa支持的客戶端 57
3.10 實戰:報時機器人 59
3.10.1 功能 59
3.10.2 實現 60
3.10.3 運行動作服務器 66
3.10.4 運行Rasa服務器和
客戶端 66
3.11 小結 67
第4章 使用ResponseSelector
實現FAQ和閑聊功能 68
4.1 如何定義用戶問題 68
4.2 如何定義問題的答案 69
4.3 如何訓練Rasa 69
4.4 實戰:構建FAQ機器人 70
4.4.1 功能 70
4.4.2 實現 71
4.4.3 訓練模型 77
4.4.4 運行服務 78
4.5 小結 78
第5章 基於規則的對話管理 79
5.1 fallback 79
5.1.1 NLU fallback 79
5.1.2 策略fallback 80
5.2 意圖觸發動作 80
5.2.1 內建意圖觸發動作 80
5.2.2 自定義意圖觸發動作 81
5.3 表單 81
5.3.1 定義表單 82
5.3.2 激活表單 82
5.3.3 執行表單任務 82
5.4 實戰:天氣預報機器人 83
5.4.1 功能 83
5.4.2 實現 86
5.4.3 客戶端/服務器 97
5.4.4 運行 Rasa 服務器 97
5.4.5 運行動作服務器 97
5.4.6 運行網頁客戶端 98
5.4.7 更多可能的功能 98
5.5 小結 98
第6章 基於知識庫的問答 99
6.1 使用ActionQueryKnowledgeBase
100
6.1.1 創建知識庫 100
6.1.2 NLU 數據 102
6.1.3 自定義基於知識庫的
動作 104
6.2 工作原理 105
6.2.1 物件查詢 105
6.2.2 屬性查詢 105
6.2.3 解析指代 106
6.3 自定義 108
6.3.1 自定義
ActionQueryKnowledgeBase
108
6.3.2 自定義
InMemoryKnowledgeBase
108
6.3.3 創建自定義知識庫 110
6.4 實戰:基於知識庫的音樂百科
機器人 110
6.4.1 功能 110
6.4.2 實現 111
6.4.3 客戶端/服務器 122
6.4.4 運行 Rasa 服務器 122
6.4.5 運行動作服務器 122
6.4.6 運行網頁客戶端 122
6.4.7 使用Neo4j 123
6.5 小結 134
第7章 實體角色和分組 135
7.1 實體角色 135
7.2 實體分組 136
7.3 組件支持情況 136
7.4 實戰:訂票機器人 136
7.4.1 功能 136
7.4.2 實現 139
7.4.3 客戶端/服務器 147
7.4.4 運行 Rasa 服務器 147
7.4.5 運行動作服務器 147
7.4.6 運行網頁客戶端 148
7.5 小結 148
第8章 測試和生產環境部署 149
8.1 如何測試機器人的表現 149
8.1.1 對NLU和故事數據
進行校驗 149
8.1.2 編寫測試用的故事 149
8.1.3 評估NLU模型 151
8.1.4 評估對話管理模型 153
8.2 在生產環境中部署機器人 153
8.2.1 部署時間 153
8.2.2 選擇模型存儲方式 153
8.2.3 選擇tracker store 154
8.2.4 選擇lock store 156
8.2.5 單機高並發設置 157
8.3 實戰:單機部署高性能Rasa
服務 157
8.3.1 架設redis服務器 157
8.3.2 使用redis作為
tracker store 157
8.3.3 使用redis作為
lock store 158
8.3.4 單機高並發設置 158
8.3.5 性能測試 158
8.4 小結 159
第9章 Rasa的工作原理與
擴展性 160
9.1 Rasa的工作原理 160
9.1.1 訓練階段 161
9.1.2 推理階段 162
9.2 Rasa的擴展性 163
9.2.1 如何使用自定義NLU
組件和自定義策略 163
9.2.2 如何自定義一個NLU
組件或策略 164
9.2.3 自定義詞槽類型 165
9.2.4 其他功能的擴展性 166
9.3 實戰:實現自定義分詞器 166
9.3.1 分詞器MicroTokenizer的
簡介 166
9.3.2 代碼詳解 167
9.3.3 使用自定義分詞器 176
9.4 小結 177
第10章 Rasa技巧與生態 178
10.1 如何調試Rasa 178
10.1.1 預測結果不正確 178
10.1.2 代碼出錯 181
10.2 如何閱讀Rasa源代碼 186
10.2.1 閱讀源代碼前 186
10.2.2 閱讀源代碼時 188
10.2.3 閱讀源代碼後 188
10.3 對話驅動開發和Rasa X 189
10.3.1 對話驅動開發 189
10.3.2 Rasa X 190

10.4 運行交互式學習 193
10.4.1 啟動交互式學習 193
10.4.2 進行交互式學習 193
10.4.3 保存交互式學習的
數據 196
10.4.4 對話過程可視化 196
10.5 社區生態 197
10.5.1 數據生成工具
Chatito 197
10.5.2 數據生成工具
Chatette 198
10.5.3 數據標注工具
Doccano 199
10.5.4 Rasa Chinese軟件包 200
10.6 小結 201
附錄A 中英文術語翻譯對照表 202

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區