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