对话机器人在瓜子的实践
本文根據(jù)車好多NLP方向負(fù)責(zé)人王文斌老師在DataFun“AI+”Talk—— “Application of AI In Second Hand Market”中分享的《對(duì)話機(jī)器人在瓜子的實(shí)踐》編輯整理而成。
今天主要分享以下幾個(gè)方面,首先介紹下什么是對(duì)話機(jī)器人,然后講一下技術(shù)選型的過程,設(shè)計(jì)了怎樣的算法架構(gòu)和系統(tǒng)架構(gòu),最后分享下線上的效果以及在瓜子中面臨的一些挑戰(zhàn)。
?
目前對(duì)話機(jī)器人很火,是有多方面原因的:第一,圖靈在定義智能時(shí)就將對(duì)話機(jī)器人作為人工智能的一個(gè)標(biāo)志;第二,深度學(xué)習(xí)技術(shù)越來(lái)越成熟,對(duì)話機(jī)器人在工業(yè)界已經(jīng)達(dá)到一定水平;第三,對(duì)話機(jī)器人由于有智能客服的積累,有很多公司在做這方面的東西。上面是一個(gè)智能客服設(shè)計(jì)圖,左邊是接入渠道,登錄進(jìn)來(lái),會(huì)提供一些客服產(chǎn)品,如機(jī)器人客服、人工在線客服、云呼叫中心,以及用戶依據(jù)產(chǎn)品做一些自助服務(wù)。聊天過程中用戶會(huì)將其數(shù)據(jù)留下來(lái)(反饋數(shù)據(jù)、對(duì)話數(shù)據(jù)、人工客服數(shù)據(jù)),利用這些數(shù)據(jù)就可以做分析,如客服數(shù)據(jù)可以做質(zhì)檢,用戶數(shù)據(jù)可以做營(yíng)銷工作,與CRM接入打通。
?
接下來(lái)講一下會(huì)什么要有對(duì)話機(jī)器人,開始瓜子目標(biāo)就是提高效率,用機(jī)器替代人,達(dá)到縮減人力和培訓(xùn)成本、7*24小時(shí)在線服務(wù)、質(zhì)量可控的目標(biāo)。在發(fā)展的過程中概念慢慢升華到一個(gè)在線化的概念,就是數(shù)字化、數(shù)據(jù)化和智能化。數(shù)字化就是將用戶和企業(yè)交互的數(shù)據(jù)都記錄下來(lái),將數(shù)據(jù)結(jié)構(gòu)化,做成算法可用的數(shù)據(jù)叫數(shù)據(jù)化,有了數(shù)據(jù)化就可以用建模等一系列智能化手段做一些智能化提升。在線化做后可以做到整個(gè)溝通可追蹤、提供可優(yōu)化、差異化的服務(wù)以及精細(xì)化運(yùn)營(yíng),最終推動(dòng)企業(yè)在線化。
在線機(jī)器人是在線聊天的一部分,既是整個(gè)服務(wù)閉環(huán)的入口也是出口。用戶可以在聊天中表達(dá)和解決相應(yīng)的訴求,而搜索、推薦更像是一個(gè)被動(dòng)的過程,IM是一個(gè)主動(dòng)表達(dá)訴求的門戶。
?
對(duì)話機(jī)器人的分類:開放式的有微軟小冰、度秘;任務(wù)導(dǎo)向的有訂機(jī)票、詢問天氣。從角色定位角度,如提供IM通道其實(shí)就是架構(gòu),只有有了骨架才能做相應(yīng)的應(yīng)用,算法在里面是一個(gè)關(guān)鍵的作用,后期其實(shí)更多的是偏產(chǎn)品化的東西。對(duì)話機(jī)器人技術(shù)是透明的,區(qū)別在于誰(shuí)做的細(xì)節(jié)更完善。開發(fā)的角度就是完善三個(gè)視圖,客戶視圖: 對(duì)話內(nèi)容、對(duì)話框、對(duì)話框外推薦信息;客服視圖:對(duì)話上下文、客戶畫像、背景信息、訂單畫像,管理者視圖:控制臺(tái)、知識(shí)庫(kù)。
對(duì)話機(jī)器人經(jīng)典流程:語(yǔ)音喚醒,告訴你要干嘛,喚醒之后經(jīng)過語(yǔ)音識(shí)別轉(zhuǎn)化為文本,這時(shí)候可以做語(yǔ)義理解(其中可能需要知識(shí)庫(kù)交互),將語(yǔ)義理解的結(jié)果通過對(duì)話管理引擎拿到用戶對(duì)應(yīng)的話術(shù),將對(duì)應(yīng)的話術(shù)轉(zhuǎn)化為文本,最后轉(zhuǎn)化為語(yǔ)音輸出。
?
?
說明下對(duì)話機(jī)器人的核心概念,如“幫我定一張明天上午10點(diǎn)從北京到上海的機(jī)票”,這句話的意圖就是“訂機(jī)票”。槽位就是如果要完全理解一句話并且能夠夠返回結(jié)果信息還需要什么屬性,這句話槽位信息有:起飛時(shí)間 = 明天早上10點(diǎn),起始地 = 北京,目的地 = 上海。
?
接下來(lái)講一下技術(shù)選型,這是對(duì)話機(jī)器人選用技術(shù)調(diào)研的過程。對(duì)話機(jī)器人開始是基于關(guān)鍵詞,然后就是模板技術(shù),目前很多公司還在使用,優(yōu)點(diǎn)是質(zhì)量可控、準(zhǔn)確率高,其缺點(diǎn)就是泛化能力比較弱。隨著功能不斷迭代,模板很大程度依賴于人工,不能自主提升自己的泛化能力。然后有了基于搜索的對(duì)話機(jī)器人,有很強(qiáng)的業(yè)務(wù)適應(yīng)能力,其缺點(diǎn)就是準(zhǔn)確率低。最近幾年深度學(xué)習(xí)火起來(lái)后,利用深度學(xué)習(xí)替換原來(lái)的模型進(jìn)行意圖識(shí)別,意圖識(shí)別相對(duì)傳統(tǒng)方法準(zhǔn)確率提升很大,但是缺點(diǎn)就是對(duì)數(shù)據(jù)質(zhì)量要求較高。
模板可以部分自動(dòng)生成,如果上線也需要應(yīng)用方自己審核與補(bǔ)充,話術(shù)也需要應(yīng)用方自己去配置。搜索技術(shù)更多的是先用意圖識(shí)別做一個(gè)路由器的功能,然后路由到一些小的robot,每個(gè)robot做一類事情。深度學(xué)習(xí)與傳統(tǒng)分類方法做的事情類似,也是在做多意圖的意圖分類,確定意圖后會(huì)通過一對(duì)一或其他配置方式將其關(guān)聯(lián)回答。
?
下面是一個(gè)模板算法,“泉州過戶到廈門會(huì)不會(huì)很麻煩”,這個(gè)模板在前面沒有出現(xiàn)過,就無(wú)法匹配,需要將模板提取出來(lái),固化到知識(shí)庫(kù)、模板庫(kù)中。
對(duì)話機(jī)器人發(fā)展到后面越來(lái)越注重運(yùn)營(yíng),有一個(gè)管理平臺(tái),就是知識(shí)庫(kù)。固化知識(shí),給運(yùn)營(yíng)提供管理入口。前面例子就是維護(hù)問題到模板以及模板到回答的映射關(guān)系,人工需要做很多審核以及一些校對(duì)的工作。而搜索方案,將query經(jīng)過預(yù)處理打散成terms,進(jìn)入搜索系統(tǒng),如果按照原始結(jié)果會(huì)得到一個(gè)排序“泉州到廈門過戶問題,泉州到廈門遠(yuǎn)嗎,泉州到廈門怎么坐車,泉州到福州過戶問題,泉州到廈門過戶問題”,最后得出結(jié)果與查詢一致,將最相近的query回答返回。而解決排序不正確的方法就是需要海量數(shù)據(jù)。
?
接下來(lái)講一下深度學(xué)習(xí)的算法架構(gòu),深度學(xué)習(xí)應(yīng)用很多,以對(duì)話機(jī)器人而言,基礎(chǔ)技術(shù)如分詞、詞性、實(shí)體識(shí)別都可以用深度學(xué)習(xí),數(shù)據(jù)好的話會(huì)比傳統(tǒng)方法好。還有搜索架構(gòu)中的相似度計(jì)算、用來(lái)排序的一些特征也可以用到深度學(xué)習(xí)的方法。我們是從整個(gè)結(jié)構(gòu)來(lái)看就是一個(gè)深度學(xué)習(xí)的架構(gòu),這也是學(xué)術(shù)界研究的熱點(diǎn)。
深度學(xué)習(xí)知識(shí)庫(kù)我們解決就是意圖與答案一對(duì)一的關(guān)系,回答對(duì)話術(shù)本身要求很嚴(yán)格,幾乎是一個(gè)純?nèi)斯さ倪^程,有很多人參與業(yè)務(wù)運(yùn)營(yíng)。如果是單輪就是一個(gè)多分類問題,更重要的是如何建立一種機(jī)制將問題積累過程與上線后模型的演進(jìn)過程變得更加自動(dòng)化、質(zhì)量更可控。除了剛才它談到的技術(shù)還有其他方法如生成模式,學(xué)術(shù)界較火,主要是應(yīng)用于閑聊。我們最后選用深度學(xué)習(xí)模式,考慮的原因有以下幾個(gè)方面,就是不再需要人去抽取大量的特征。
語(yǔ)義理解的流程,包括快速識(shí)別、模型識(shí)別、搜索識(shí)別、相似問題,在這個(gè)流程中應(yīng)用了很多技術(shù)。我們采取的是一個(gè)漏斗方式,開始是快速識(shí)別(需要實(shí)時(shí)解決),在快速識(shí)別弄一個(gè)白名單用關(guān)鍵詞或模版匹配立刻糾正,原則是必須準(zhǔn)確率要高。90%的問題是依據(jù)模型框架,準(zhǔn)確率也在90%以上,有了前面兩步,后面是在補(bǔ)充召回的過程,通過搜索系統(tǒng)借助文本相似度的匹配將一部分?jǐn)?shù)據(jù)召回,盡量讓用戶更多的問題被識(shí)別。
?
?
接下來(lái)介紹下多輪,我理解多輪是一個(gè)更偏工程的過程。里面更多的算法是在做槽位解析,需要做好三件事,第一個(gè)就是填槽,如果對(duì)話過程中槽位未補(bǔ)全,在下輪對(duì)話過程中引導(dǎo)用戶補(bǔ)全槽位信息。再者就是場(chǎng)景管理,需要維護(hù)海量用戶的聊天信息。第三點(diǎn)就是可配置,多輪最后面都是一個(gè)業(yè)務(wù)問題,開發(fā)一個(gè)可配置的界面,讓運(yùn)營(yíng)自行配置其需要的對(duì)話。多輪的邏輯是在知識(shí)庫(kù)里配置的,DM是和業(yè)務(wù)無(wú)關(guān)的,只需要按配置的解析結(jié)果執(zhí)行即可。
按照上面設(shè)計(jì)還是會(huì)出現(xiàn)風(fēng)險(xiǎn),常見的五個(gè)風(fēng)險(xiǎn)有:任何算法的選擇都只是滿足當(dāng)前的需求,數(shù)據(jù)是歷史數(shù)據(jù),算法是當(dāng)前反饋,業(yè)務(wù)演化過程不可知;?模型互搏,各種模型都要去做A/BTest確定哪種好那種壞,之前更多的判斷是從原理上判斷;意圖爆炸,目前知識(shí)庫(kù)是基于意圖回答一對(duì)一關(guān)系,業(yè)務(wù)相對(duì)收斂,但是未來(lái)發(fā)展速度可能導(dǎo)致意圖不可收斂; 主觀標(biāo)準(zhǔn)的反復(fù),很多過程都由人工參與,每個(gè)人評(píng)判標(biāo)準(zhǔn)不一;模型更新滯后于業(yè)務(wù)發(fā)展,技術(shù)發(fā)展較快。解決方案就是永遠(yuǎn)保持主動(dòng),提前應(yīng)對(duì)。
系統(tǒng)架構(gòu):前端有一個(gè)對(duì)話框和消息服務(wù)器,類似于IM基本架構(gòu),消息服務(wù)器會(huì)將消息路由到對(duì)話管理模塊(中控)。用戶聊天文本會(huì)在中控識(shí)別意圖和槽位,通過意圖在知識(shí)庫(kù)中獲取對(duì)應(yīng)的話術(shù)。知識(shí)庫(kù)有一個(gè)控制臺(tái),與外部交互的界面,對(duì)話管理也會(huì)訪問后端云服務(wù),比如通過ip地址獲取其屬于哪個(gè)城市,除此外還有語(yǔ)義理解、CRM服務(wù)等。
?
?
線上效果,左邊是一個(gè)單輪對(duì)話能力,無(wú)論問如何貸款都能準(zhǔn)確識(shí)別,右邊是一個(gè)動(dòng)態(tài)API,類似于知識(shí)圖譜想要完成的工作。
?
在瓜子遇到的挑戰(zhàn):首先是數(shù)據(jù),不管做什么都需要數(shù)據(jù)。運(yùn)營(yíng),這方面主要是對(duì)話機(jī)器人自學(xué)習(xí)的能力,如何設(shè)置一些機(jī)制使運(yùn)營(yíng)能夠滿足當(dāng)前業(yè)務(wù)效果,跟上業(yè)務(wù)發(fā)展速度。最后是產(chǎn)品化,如何將產(chǎn)品細(xì)節(jié)做得足夠好。
舉例:第一個(gè)就是數(shù)據(jù)來(lái)源,以一定規(guī)則構(gòu)造數(shù)據(jù),或利用非結(jié)構(gòu)化數(shù)據(jù)通過遷移學(xué)習(xí)訓(xùn)練embedding向量,將向量作為意圖識(shí)別的原始輸入,或模型產(chǎn)生數(shù)據(jù)反哺模型,不斷迭代。第二個(gè)就是話術(shù)的確認(rèn)流程,編輯發(fā)起修改,業(yè)務(wù)反饋,編輯確認(rèn),審核,法務(wù),上線,這是一個(gè)理想的模式。人與人之間的平衡: 回答的標(biāo)準(zhǔn),新增意圖的標(biāo)準(zhǔn),產(chǎn)品和算法的平衡: 意圖預(yù)判、suggest、相似問題、下一個(gè)問題,業(yè)務(wù)和技術(shù)的平衡:卡片消息,就是在線化,后臺(tái)服務(wù)如何讓用戶利用起來(lái)。
用戶從不同的業(yè)務(wù)入口進(jìn)來(lái)看到的問題列表是不同的,從不同業(yè)務(wù)階段進(jìn)來(lái)看到的問題列表也是不一樣的。后續(xù)希望做到不僅根據(jù)業(yè)務(wù)狀態(tài)還要基于歷史數(shù)據(jù)做一些推薦。對(duì)話機(jī)器人可以做很多事情,如目前我們正在做的精準(zhǔn)營(yíng)銷,通過多輪對(duì)話完善用戶訴求,給出更加精準(zhǔn)的推薦。
?
下面更多是一種理念,打通CRM等內(nèi)部系統(tǒng),可以利用數(shù)據(jù)做商業(yè)智能,覆蓋售前、售中、售后所有場(chǎng)景,用戶溝通可追蹤可優(yōu)化,精準(zhǔn)營(yíng)銷,從客服轉(zhuǎn)化為專家顧問,實(shí)現(xiàn)用戶服務(wù)在線化和企業(yè)在線化,最終實(shí)現(xiàn)整個(gè)企業(yè)的智能化。
作者介紹:
?
王文斌,車好多NLP方向負(fù)責(zé)人。碩士畢業(yè)于北京大學(xué),曾就職于美團(tuán)、百度等公司,在編譯器、瀏覽器、IM、大數(shù)據(jù)等復(fù)雜系統(tǒng)研發(fā)上有實(shí)踐經(jīng)驗(yàn),并在搜索推薦、知識(shí)問答、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、NLP等算法方向有豐富的積累。加入車好多后發(fā)起了智能IM項(xiàng)目,實(shí)現(xiàn)了對(duì)話機(jī)器人的成功落地。
團(tuán)隊(duì)介紹:
瓜子NLP團(tuán)隊(duì),以chatbot等產(chǎn)品,增加人效,提高服務(wù)質(zhì)量,讓瓜子逐步加大服務(wù)線上化的比例。團(tuán)隊(duì)承載瓜子服務(wù)線上化的重任,是未來(lái)瓜子發(fā)展的重要基礎(chǔ)能力之一。
——END——
內(nèi)推信息:
在看NLP算法工程師、數(shù)據(jù)挖掘工程師機(jī)會(huì)的小伙伴,歡迎加入文斌老師的團(tuán)隊(duì),內(nèi)推郵箱:wangwenbin2@guazi.com。
總結(jié)
以上是生活随笔為你收集整理的对话机器人在瓜子的实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache服务(二)Apache服务的
- 下一篇: FPGA学习笔记2.2——用Verilo