對話機(jī)器人開源框架Rasa首著,國內(nèi)外大火的框架,Rasa致力于聊天機(jī)器人(bot)平臺和開源NLU工具在商業(yè)領(lǐng)域的應(yīng)用開發(fā),客戶包括瑞銀銀行、寶馬、瑞士保險(xiǎn)公司Helvetia,以及女性健康機(jī)器人創(chuàng)業(yè)公司Tia。國內(nèi)用Rasa的大廠有中國電信、微軟小冰、陸金所,博世汽車、一汽等。還有很多的中小型企業(yè)大量使用。
本書能幫你使用機(jī)器學(xué)習(xí)技術(shù)快速創(chuàng)建工業(yè)級的對話機(jī)器人。
全面解析從0開始構(gòu)建、配置、訓(xùn)練和服務(wù)不同類型的對話機(jī)器人的整體過程,如任務(wù)型、FAQ、知識圖譜聊天機(jī)器人等。
自然語言處理(Natural Language Processing,NLP)是人工智能領(lǐng)域的一個(gè)重要部分。當(dāng)人工智能已經(jīng)在數(shù)據(jù)建模預(yù)測和圖像分類識別等場景大放異彩的時(shí)候,隨著深度學(xué)習(xí)算法和計(jì)算機(jī)硬件的不斷發(fā)展,擁有悠久歷史的NLP漸漸展現(xiàn)出新的發(fā)展動(dòng)力和應(yīng)用落地潛力,而對話機(jī)器人是NLP集大成的應(yīng)用。
對話機(jī)器人已經(jīng)在互聯(lián)網(wǎng)和傳統(tǒng)行業(yè)中有了廣泛的應(yīng)用,應(yīng)用范圍包括自動(dòng)化提升工作效率、增加客戶服務(wù)智能水平和降低人工運(yùn)營成本等方面。本書以中文應(yīng)用為核心,向讀者系統(tǒng)地介紹對話機(jī)器人的落地構(gòu)建。
為什么寫這本書
在深度學(xué)習(xí)的發(fā)展浪潮中,NLP雖然有了很多重要的進(jìn)步,但是相比圖像視覺識別等領(lǐng)域,NLP有著特殊的一面。因?yàn)閳D像中的貓都是一樣的,中國的貓?jiān)诿绹彩秦垼皇艿貐^(qū)、語言、文化背景等限制,所以圖像數(shù)據(jù)是通用的,算法也一致。文字則不同:全球各地的書寫語言各不相同,相同書寫語言國家中不同地區(qū)的口語方言也各有千秋,用英語語料訓(xùn)練出的NLP模型并不適用于中文,因此NLP語料不具備通用性。
加上人類的語言本身具有歧義性、隱蔽性和常識性,如指代不明、諷刺、縮略等,NLP在技術(shù)實(shí)現(xiàn)上相當(dāng)困難,在中文方面尤其如此——一方面,中文NLP缺乏學(xué)術(shù)界質(zhì)量良好的大規(guī)模中文語料庫;另一方面,主流開源框架對中文NLP的支持并不友好。
據(jù)筆者所知,當(dāng)前的NLP參考數(shù)據(jù),或者完全基于傳統(tǒng)NLP的技術(shù)架構(gòu),與當(dāng)前新的技術(shù)有所脫節(jié),或者太過理論而缺乏實(shí)踐,尤其是對中文NLP任務(wù)實(shí)踐的深層次積累。
因此,我們在本書借助Rasa介紹構(gòu)建對話機(jī)器人這一NLP集大成的任務(wù),從而展現(xiàn)中文 NLP 的核心技術(shù)的實(shí)踐和應(yīng)用。
關(guān)于本書作者
孔曉泉 谷歌開發(fā)者機(jī)器學(xué)習(xí)技術(shù)專家(Google Developer Expert in Machine Learning),TensorFlow Addons Codeowner,Rasa SuperHero。多年來一直在世界 500 強(qiáng)公司帶領(lǐng)團(tuán)隊(duì)構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用和平臺。在NLP和對話機(jī)器人領(lǐng)域擁有豐富的理論和實(shí)踐經(jīng)驗(yàn)。
王冠 北京大學(xué)學(xué)士,香港科技大學(xué)碩士,先后于香港應(yīng)用科技研究院、聯(lián)想機(jī)器智能實(shí)驗(yàn)室及瑞士再保險(xiǎn)數(shù)據(jù)科學(xué)團(tuán)隊(duì)從事數(shù)據(jù)建模、計(jì)算機(jī)圖像與NLP的研發(fā)工作,發(fā)表過數(shù)篇相關(guān)國際期刊論文和專利。當(dāng)前研究方向?yàn)槿斯ぶ悄茉诮鹑陬I(lǐng)域的應(yīng)用。
本書主要內(nèi)容
本書將詳細(xì)地介紹Rasa的生態(tài)體系,按照從入門到內(nèi)部原理,再到實(shí)戰(zhàn)的學(xué)習(xí)路線,讓第一次接觸機(jī)器學(xué)習(xí)和自然語言理解的用戶能夠迅速了解、掌握并實(shí)際運(yùn)用中文NLP的核心技術(shù)。本書由初級、中級和高級3個(gè)級別的Rasa知識組成。本書內(nèi)容與開發(fā)人員水平等級對應(yīng)表如下所示。
本書內(nèi)容與開發(fā)人員水平等級對應(yīng)表
開發(fā)人員水平等級 等級能力要求 對應(yīng)本書內(nèi)容
初級 熟悉Rasa各個(gè)組件的概念,熟練利用現(xiàn)有的常用組件構(gòu)建一個(gè)單機(jī)Rasa Bot 第1章、第2章、第3章
中級 熟練利用所有內(nèi)建組件構(gòu)建一個(gè)滿足工業(yè)標(biāo)準(zhǔn)的分布式Rasa Bot 第4章、第5章、第6章、第7章
高級 熟悉Rasa各個(gè)系統(tǒng)的工作原理,按照需要新增、改造或創(chuàng)建新的子系統(tǒng)和組件 第8章、第9章、第10章
如何閱讀本書
建議Rasa初學(xué)者,從頭開始逐步深入,并按照書中的項(xiàng)目逐一實(shí)踐,在確認(rèn)已經(jīng)掌握基礎(chǔ)概念后再繼續(xù)學(xué)習(xí)。同時(shí)建議,初學(xué)者不需要等到完全讀完整本書再去上手做實(shí)際的對話機(jī)器人,只要學(xué)會自己期望的學(xué)習(xí)內(nèi)容就可以開始進(jìn)行實(shí)戰(zhàn),在實(shí)戰(zhàn)中遇到不懂的問題時(shí),再來回顧本書或把本書當(dāng)作參考手冊反復(fù)查閱。
對于已經(jīng)有一定經(jīng)驗(yàn)的Rasa開發(fā)者,可以按照需求有選擇地精讀某些章節(jié)。有經(jīng)驗(yàn)的Rasa開發(fā)者快速通讀全書也有好處,一來可以了解最新的Rasa提供了哪些讀者尚不知道的高級技術(shù)(Rasa的技術(shù)體系進(jìn)化得相當(dāng)快),二來可以建立完善的Rasa知識體系,以后在實(shí)戰(zhàn)中遇到問題時(shí),可以想起來書中提到的某個(gè)技術(shù)或方案或許可以解決這一問題。
對于非Rasa系統(tǒng)的對話系統(tǒng)開發(fā)者而言,閱讀本書可以學(xué)習(xí)Rasa系統(tǒng)是如何設(shè)計(jì)架構(gòu),以保證系統(tǒng)的可擴(kuò)展性的。同時(shí)Rasa對話管理系統(tǒng)的設(shè)計(jì)是非常值得其他對話系統(tǒng)設(shè)計(jì)師參考學(xué)習(xí)的,我們建議重點(diǎn)閱讀第9章“Rasa的工作原理與擴(kuò)展性”。
致謝
感謝谷歌通過提供谷歌云信用額度(GCP credit)的方式來支持我們的工作。