林琳
一個(gè)合格的智能助理能夠幫你預(yù)約開(kāi)會(huì)時(shí)間,處理日常辦公需求,還能打電話提醒你還信用卡,作為用戶或者消費(fèi)者,我們已經(jīng)越來(lái)越習(xí)慣對(duì)話機(jī)器人提供的各色服務(wù)。但對(duì)于企業(yè)來(lái)講,搭建提供這些服務(wù)的對(duì)話機(jī)器人是一件門檻和成本都很高的事情。阿里巴巴達(dá)摩院小蜜Conversational AI團(tuán)隊(duì)的高級(jí)算法專家李永彬享了小蜜智能對(duì)話開(kāi)發(fā)平臺(tái)。圍繞平臺(tái)來(lái)源、設(shè)計(jì)理念、核心技術(shù)、業(yè)務(wù)落地四大維度講述了如何賦能各行各業(yè)開(kāi)發(fā)自己的對(duì)話機(jī)器人。
平臺(tái)由來(lái)
一個(gè)非常典型的任務(wù)型對(duì)話,它滿足2個(gè)條件,第一,有一個(gè)明確的目標(biāo);第二,通過(guò)多輪對(duì)話交互來(lái)達(dá)成這個(gè)目標(biāo)。像這樣的任務(wù)型對(duì)話在整個(gè)辦公行業(yè)里面,除了約會(huì)議以外還有查考勤、請(qǐng)假、定會(huì)議室或者日程安排等。
如果我們把視野放大一點(diǎn)到電商行業(yè),就會(huì)涉及到開(kāi)發(fā)票、催發(fā)貨、查物流、改地址和收快遞等,也會(huì)涉及到很多這樣的任務(wù)型對(duì)話場(chǎng)景。視野再放大到電信行業(yè)或者整個(gè)運(yùn)營(yíng)商的行業(yè),會(huì)有查話費(fèi)、查流量、買套餐、報(bào)故障或者是進(jìn)行密碼更改服務(wù)等,也會(huì)有大量的這種任務(wù)型對(duì)話場(chǎng)景。如果我們?cè)俜糯笠徊饺タ吹脑?,像政?wù)、金融、教育、文娛、健康和旅游等,在各行各業(yè)的各種場(chǎng)景里面我們都會(huì)發(fā)現(xiàn)這種任務(wù)型對(duì)話,它是一種剛需,是一種普遍性存在。
所有這些場(chǎng)景落地到小蜜家族的時(shí)候,是通過(guò)三大小蜜來(lái)承載:阿里小蜜、店小蜜和云小蜜。我們不可能給每一個(gè)行業(yè)的每一個(gè)場(chǎng)景去定制一個(gè)對(duì)話流程,所以就沿用了阿里巴巴一貫做平臺(tái)的思路,這也是我們整個(gè)智能對(duì)話開(kāi)發(fā)平臺(tái)的由來(lái)。這款產(chǎn)品在內(nèi)部的名字叫對(duì)話工廠(Dialog Studio)。
以上主要是給大家介紹我們?yōu)槭裁匆鲋悄軐?duì)話開(kāi)發(fā)平臺(tái),總結(jié)起來(lái)就是我們目前面臨的業(yè)務(wù),面臨的場(chǎng)景太寬泛了,不可能鋪那么多人去把所有的場(chǎng)景都定制化,所以我們需要有一個(gè)平臺(tái),讓開(kāi)發(fā)者進(jìn)來(lái)開(kāi)發(fā)各行各業(yè)的各種場(chǎng)景對(duì)話。
設(shè)計(jì)理念
再看第二部分,對(duì)話工廠的一些核心設(shè)計(jì)理念。整個(gè)設(shè)計(jì)理念,我覺(jué)得概括起來(lái)就是“一個(gè)中心,三個(gè)原則”。一個(gè)中心就是以對(duì)話為中心,這句話大家可能覺(jué)得有點(diǎn)莫名其妙,你做對(duì)話的,為何還要強(qiáng)調(diào)以對(duì)話為中心呢?
這是有來(lái)源的,因?yàn)樵谶^(guò)去幾年全世界范圍的技術(shù)實(shí)踐以及直到今天很多巨頭的對(duì)話平臺(tái)里面,我們能看到的基本還是以意圖為中心的設(shè)計(jì)模式,它把意圖平鋪在這里,比如你想完成音樂(lè)領(lǐng)域的一些事情,可是你看到的其實(shí)是一堆平鋪的意圖列表,完全看不出對(duì)話在哪里。
在這次對(duì)話工廠的設(shè)計(jì)中徹底把它扭轉(zhuǎn)回來(lái),對(duì)話就是要以對(duì)話為中心,你在我們的產(chǎn)品界面里面看到的不再是一個(gè)個(gè)孤立的意圖,而是關(guān)聯(lián)在一起的、有業(yè)務(wù)邏輯關(guān)系的對(duì)話流程。以意圖為中心的設(shè)計(jì)中,你看到的其實(shí)是一個(gè)局部視角,就只能實(shí)現(xiàn)一些簡(jiǎn)單的任務(wù),比如控制1個(gè)燈,講個(gè)笑話,或者查個(gè)天氣,如果你想實(shí)現(xiàn)1個(gè)復(fù)雜的任務(wù),比如開(kāi)1張發(fā)票,或者去10086開(kāi)通一個(gè)套餐,它其實(shí)是較難實(shí)現(xiàn),很難維護(hù)的。我們把整個(gè)理念轉(zhuǎn)換一下,回到以對(duì)話為中心以后,就會(huì)看到全局視野,可以去做復(fù)雜的任務(wù),可以去做無(wú)限的場(chǎng)景。
整個(gè)對(duì)話工廠它是一個(gè)平臺(tái),要做一個(gè)平臺(tái)就會(huì)遇到很多挑戰(zhàn)。
第1個(gè)挑戰(zhàn)就是用戶使用門檻越低越好;第2個(gè)挑戰(zhàn)是要面對(duì)各行各業(yè)的各種場(chǎng)景,就要求能做到靈活定制;第3個(gè)挑戰(zhàn)是上線以后所有的用戶肯定都希望你的機(jī)器人,你的對(duì)話系統(tǒng)能夠越用越好,而不是停留在某一個(gè)水平就不動(dòng)了。這就是我們平臺(tái)所面臨的三大挑戰(zhàn)。
為了應(yīng)對(duì)這3個(gè)挑戰(zhàn),我們提出了在整個(gè)平臺(tái)的設(shè)計(jì)以及實(shí)現(xiàn)過(guò)程中始終要遵循3個(gè)原則。
第1個(gè)原則是冷啟動(dòng)要快,其實(shí)就是要讓用戶的使用門檻低一點(diǎn);第2個(gè)原則是要有靈活定制的能力,只有這樣才能滿足各行各業(yè)的各種場(chǎng)景需求;第3個(gè)是要有魯棒進(jìn)化的能力,就是模型上線以后,隨著時(shí)間的變化,隨著各種數(shù)據(jù)的不斷回流,模型效果要不斷提升。
這3個(gè)原則里面,冷啟動(dòng)這一塊,其實(shí)就是要把用戶用到的各種能力和各種數(shù)據(jù)都盡量變成一種預(yù)置能力,簡(jiǎn)單來(lái)說(shuō)就是平臺(tái)方做得越多,用戶就做得越少;第二塊關(guān)于靈活定制,就要求把整個(gè)對(duì)話平臺(tái)的基礎(chǔ)元素進(jìn)行高度抽象,抽象的越好就意味著平臺(tái)的適應(yīng)能力越好,就像是經(jīng)典力學(xué)只要3條定律就夠了;第3塊就是魯棒進(jìn)化,這一塊就是要在模型和算法上做深度,語(yǔ)言理解的模型、對(duì)話管理的模型、數(shù)據(jù)閉環(huán)和主動(dòng)學(xué)習(xí),在這些方面能夠做出深度來(lái)。
以上說(shuō)的都是一些理念和原則,接下來(lái)給大家介紹一下在實(shí)現(xiàn)過(guò)程中具體是怎么做的。
核心技術(shù)
因?yàn)槲覀冏龅氖且粋€(gè)平臺(tái),涉及到的技術(shù)非常廣,從算法到工程到前端到交互所有的技術(shù)都會(huì)涉及到。摘取里面算法的核心部分來(lái)給大家做一個(gè)介紹。
對(duì)話工廠首先是用來(lái)做對(duì)話的,人機(jī)對(duì)話有2個(gè)主體,一個(gè)是人,一個(gè)是機(jī)器,人有人的邏輯,人的邏輯使用什么來(lái)表達(dá)呢?到今天為止主要還是通過(guò)語(yǔ)言,所以我們需要有一個(gè)語(yǔ)言理解的服務(wù)來(lái)承載這一塊;機(jī)器有機(jī)器的邏輯,機(jī)器的邏輯到今天為止還是通過(guò)代碼來(lái)表達(dá)的,所以我們需要一個(gè)函數(shù)計(jì)算的服務(wù);在人和機(jī)器對(duì)話的過(guò)程中,這種對(duì)話過(guò)程需要有效的管理,所以我們需要一個(gè)對(duì)話管理模塊。整個(gè)對(duì)話工廠最核心的3個(gè)模塊就是語(yǔ)言理解、對(duì)話管理和函數(shù)計(jì)算。
1.語(yǔ)言理解。
舉一個(gè)具體的例子,比如說(shuō)我要開(kāi)發(fā)票,這是一個(gè)意圖,如果去采樣十萬(wàn)條這個(gè)意圖的用戶說(shuō)法作為樣本,把這些說(shuō)法做一個(gè)頻率統(tǒng)計(jì),可能排在第一位的就是三個(gè)字“開(kāi)發(fā)票”,它可能出現(xiàn)了兩萬(wàn)次,另外排在第二位可能是“開(kāi)張發(fā)票”,它可能出現(xiàn)了八千次,這些都是一些高頻的說(shuō)法,還有一些說(shuō)法說(shuō)的很長(zhǎng),比如“昨天我在你們商鋪買了一條紅色的裙子,你幫我開(kāi)個(gè)發(fā)票唄”,這種帶著前因后果的句式,在整個(gè)說(shuō)法里面是比較長(zhǎng)尾的,可能只出現(xiàn)了一次或兩次。
我們統(tǒng)計(jì)完以后,整個(gè)意圖的說(shuō)法多樣性分布符合冪律分布。這種特征可以讓我們?cè)诩夹g(shù)上進(jìn)行有針對(duì)性的設(shè)計(jì),首先針對(duì)這種高頻的部分,可以上一些規(guī)則,比如上下文無(wú)關(guān)文法,可以比較好的覆蓋這一塊,但是基于規(guī)則的方法,大家也知道,規(guī)則是沒(méi)有泛化能力的,所以這時(shí)候要上一個(gè)匹配模型,計(jì)算一個(gè)相似度來(lái)輔助規(guī)則,這2塊結(jié)合在一起就可以把我們高頻確定性的部分解決得比較好;對(duì)于長(zhǎng)尾的多樣性這部分,基本到今天為止還是用有監(jiān)督的分類模型,去收集或者去標(biāo)注很多數(shù)據(jù),把這一塊做好;在規(guī)則和分類模型之間,又做了一部分工作,就是遷移學(xué)習(xí)模型,為什么要引入這個(gè)模型呢?
在冷啟動(dòng)階段,用戶在錄入樣本的時(shí)候,不會(huì)錄入太多,可能錄入十幾條幾十條就已經(jīng)很多了,這個(gè)時(shí)候按照二八原則的話,它的效果可能也就是70 %多,不可能再高了。但對(duì)于用戶的期望來(lái)說(shuō),如果想要上線,想要很好地滿足用戶需求,其實(shí)是需要模型效果在90 %以上,如果想要達(dá)到這個(gè)效果,就需要復(fù)雜的模型,需要標(biāo)注大量數(shù)據(jù)。這樣其實(shí)是存在缺口的,所以我們引入遷移學(xué)習(xí)模型。
具體來(lái)說(shuō),我們把膠囊網(wǎng)絡(luò)引進(jìn)來(lái)和few-shot learning結(jié)合在一起,提出了一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)叫Induction Network,就是歸納網(wǎng)絡(luò)。整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)有3層:一層是編碼層;第二層是歸納層;第三層是交互層。
第一層負(fù)責(zé)將每一個(gè)類的每一個(gè)樣本進(jìn)行編碼,編碼成一個(gè)向量;第二層是最核心的一層,也就是歸納層,這里面利用膠囊網(wǎng)絡(luò)的一些方法,把同一類的多個(gè)向量歸納成一個(gè)向量;然后第三層交互層把用戶的話和每個(gè)類的歸納向量進(jìn)行關(guān)系計(jì)算,輸出他們的相似性打分。如果我們想要一個(gè)分類結(jié)果就輸出一個(gè)獨(dú)熱碼,如果不想要獨(dú)熱碼,就輸出一個(gè)關(guān)系的關(guān)聯(lián)分?jǐn)?shù),這是整個(gè)歸納網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)。
這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)提出來(lái)以后,在學(xué)術(shù)圈里面關(guān)于few-shot learning的數(shù)據(jù)集上,我們以比較大的提升幅度做到了趨于最高期望值的效果,目前是業(yè)界領(lǐng)先的,同時(shí)我們將整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)上線到了我們的產(chǎn)品里面。
2.對(duì)話管理。
如果想要讓平臺(tái)有足夠的適應(yīng)性的話,那么它的抽象能力一定要好。對(duì)話管理是做什么的?對(duì)話管理就是管理對(duì)話的,那么對(duì)話是什么呢?對(duì)話的最小單位就是一輪,一輪又分為兩部分,一個(gè)叫對(duì)話輸入,一個(gè)叫對(duì)話輸出。在輸入和輸出中間,有一個(gè)對(duì)話處理的過(guò)程,就像2個(gè)人互相交流一樣,你在答之前是有一個(gè)思考過(guò)程的,如果你不思考就回答,那你的答案就沒(méi)有質(zhì)量,所以就會(huì)有一個(gè)中間的對(duì)話處理過(guò)程。
我們把對(duì)話抽象到這種程度以后,整個(gè)平臺(tái)就3個(gè)節(jié)點(diǎn):觸發(fā)節(jié)點(diǎn)、函數(shù)節(jié)點(diǎn)和回復(fù)節(jié)點(diǎn)。
觸發(fā)節(jié)點(diǎn)是和用戶的對(duì)話輸入對(duì)應(yīng)的,函數(shù)節(jié)點(diǎn)是和對(duì)話處理對(duì)應(yīng)的,回復(fù)節(jié)點(diǎn)是和對(duì)話輸出對(duì)應(yīng)的。有了這層抽象以后,無(wú)論是什么行業(yè)的什么場(chǎng)景,什么樣的對(duì)話流程,都可以通過(guò)這3個(gè)節(jié)點(diǎn)用連線的方法把業(yè)務(wù)流畫出來(lái)。
舉2個(gè)例子,第一個(gè)場(chǎng)景是查天氣,很簡(jiǎn)單,先來(lái)一個(gè)觸發(fā)節(jié)點(diǎn),把天氣流程觸發(fā)起來(lái),中間有2個(gè)函數(shù)節(jié)點(diǎn),一個(gè)是調(diào)中央氣象臺(tái)的接口,把結(jié)果拿過(guò)來(lái),另一個(gè)是對(duì)結(jié)果進(jìn)行一次解析和封裝,以一個(gè)用戶可讀的形式通過(guò)回復(fù)節(jié)點(diǎn)回復(fù)給用戶。這里面增加了一個(gè)填槽節(jié)點(diǎn),就是在任務(wù)型對(duì)話里面,任務(wù)需要收集用戶的信息,比如要查天氣,就需要問(wèn)時(shí)間是哪一天,地點(diǎn)是哪里,這就叫做填槽。因?yàn)槌S?、普遍,符合冷啟?dòng)里面做預(yù)置的思想,所以通過(guò)3個(gè)基礎(chǔ)節(jié)點(diǎn),把它搭建成填槽模板,需要填槽的時(shí)候,從頁(yè)面上拖一個(gè)填槽節(jié)點(diǎn)出來(lái)就可以了。
另一個(gè)復(fù)雜的場(chǎng)景,這是在線教育里面的一個(gè)外呼場(chǎng)景,在上課之前半小時(shí),機(jī)器人就會(huì)主動(dòng)給用戶打電話,指導(dǎo)軟件下載,指導(dǎo)怎么登陸,登陸進(jìn)去以后怎么進(jìn)入教室,所有的這些流程都可以通過(guò)機(jī)器人進(jìn)行引導(dǎo)。
通過(guò)這2個(gè)例子可以看到,無(wú)論是簡(jiǎn)單還是復(fù)雜的場(chǎng)景,通過(guò)這3種抽象節(jié)點(diǎn)的連線都可以實(shí)現(xiàn)。有時(shí)候我們開(kāi)玩笑說(shuō),這種連線就叫“一生二,二生三,三生萬(wàn)千對(duì)話”。
講了抽象以后,再看一下具體的對(duì)話管理技術(shù)。從實(shí)現(xiàn)上來(lái)說(shuō)和語(yǔ)言理解是一模一樣的,因?yàn)楹芏鄸|西的分布其實(shí)遵循著共同規(guī)律,區(qū)別在于把意圖換成了對(duì)話。
比如像查天氣,如果采集十萬(wàn)個(gè)查天氣的樣本,對(duì)這些用戶的說(shuō)法進(jìn)行頻率統(tǒng)計(jì)的話,大概就是一個(gè)曲線,用2步能夠完成:先填槽一個(gè)時(shí)間,再填槽一個(gè)地點(diǎn),然后返回一個(gè)結(jié)果,通過(guò)這種流程來(lái)完成的,可能有2萬(wàn)次;中間可能會(huì)引入一些問(wèn)A答B(yǎng)的情況,這樣的B可能有各種各樣的,這就跑到長(zhǎng)尾上來(lái)了,這樣整個(gè)對(duì)話其實(shí)也遵循冪律分布。
對(duì)于高頻確定的部分,可以用狀態(tài)機(jī)進(jìn)行解決,但狀態(tài)機(jī)同樣面臨一個(gè)問(wèn)題,它沒(méi)有很好的容錯(cuò)能力,當(dāng)問(wèn)A答B(yǎng)的時(shí)候,機(jī)器不知道怎么處理。在這種情況下,需要引入類人能力,對(duì)狀態(tài)機(jī)的能力進(jìn)行補(bǔ)充,狀態(tài)機(jī)加上類人能力以后,基本上可以高頻對(duì)話比較好地解決。對(duì)于長(zhǎng)尾對(duì)話,目前整個(gè)學(xué)術(shù)界或者工業(yè)界都是一個(gè)難題,比較好的解決方式就是上線以后引入在線交互學(xué)習(xí),不斷地與用戶在對(duì)話過(guò)程中學(xué)習(xí)對(duì)話。在狀態(tài)機(jī)和在線交互學(xué)習(xí)之間其實(shí)是有缺口的,因?yàn)闋顟B(tài)機(jī)自己沒(méi)有學(xué)習(xí)能力,所以需要引入增強(qiáng)學(xué)習(xí)。
先看一下類人能力。我們把人說(shuō)的話大概可以分為3種:第一種就是用戶說(shuō)話清晰明了只有一個(gè)意思,這種其實(shí)對(duì)機(jī)器來(lái)說(shuō)是可理解的;第二種機(jī)器不知道用戶在說(shuō)什么,也就是不可理解的;還有一種就是用戶表達(dá)的意思可以理解,但是有歧義,有可能包含著2~3個(gè)意圖,就是不確定的。確定性的狀態(tài)機(jī)其實(shí)是可以很好地捕捉和描述意圖的,類人能力主要關(guān)注拒識(shí)的和不確定性的。
對(duì)于拒識(shí),還是在線英語(yǔ)的這個(gè)例子,機(jī)器人打來(lái)電話,問(wèn)現(xiàn)在方不方便調(diào)試設(shè)備,從設(shè)計(jì)的角度來(lái)說(shuō)希望用戶回答方便或者不方便就可以了,但是如果這個(gè)用戶回答了一句比較個(gè)性化的話,比如,“呃,我剛掃完地,過(guò)會(huì)兒可能有人要來(lái)”,語(yǔ)言理解模塊就很難捕捉到這是什么語(yǔ)義,這時(shí)候需要引入一個(gè)個(gè)性化的拒識(shí),比如說(shuō),“您好,不好意思,剛才沒(méi)聽(tīng)明白,請(qǐng)問(wèn)您現(xiàn)在是否方便調(diào)試,如果您不方便,我過(guò)會(huì)兒再給您打過(guò)來(lái)”,這個(gè)就是對(duì)話的兜底,是對(duì)不可理解的處理。
第二個(gè)看一下澄清,用戶說(shuō)的一句話里,如果模糊不清怎么辦?我們通過(guò)大量的數(shù)據(jù)分析發(fā)現(xiàn)這種模糊不清主要出現(xiàn)在2種情況下:一種是用戶把多個(gè)意圖雜糅在一段話里來(lái)表達(dá);第二種是用戶在表達(dá)一個(gè)意圖之前做了很長(zhǎng)的鋪墊,對(duì)于這2種長(zhǎng)句子現(xiàn)在的語(yǔ)言理解給出的是意圖概率分布,我們把這個(gè)概率分布放到對(duì)話管理模塊以后,就需要讓用戶進(jìn)行一輪澄清。比如舉個(gè)移動(dòng)領(lǐng)域的例子,明細(xì)這句話理解有三種意圖,到底是想問(wèn)花費(fèi)明細(xì),還是套餐的事情,還是想問(wèn)合約的低保,把這3個(gè)問(wèn)題拋給用戶進(jìn)行澄清就可以了。
從技術(shù)上來(lái)說(shuō)是怎么實(shí)現(xiàn)的呢,開(kāi)發(fā)者負(fù)責(zé)把對(duì)話用流程清晰描述出來(lái),然后像問(wèn)題澄清能力其實(shí)是我們系統(tǒng)的一種內(nèi)置能力,什么時(shí)候澄清是通過(guò)下端2個(gè)引擎的能力來(lái)決定的,第一塊是錯(cuò)誤檢測(cè),它用來(lái)檢測(cè)用戶當(dāng)前說(shuō)的這句話是否需要觸發(fā)澄清,一旦它覺(jué)得要觸發(fā)澄清,就會(huì)交給下一個(gè)模塊,究竟用什么樣的方式澄清以及怎么生成澄清的話術(shù),這是目前整個(gè)智能澄清方面要做的工作。
再看一下增強(qiáng)學(xué)習(xí)方面的工作。在對(duì)話管理模型里面,分成2個(gè)經(jīng)典模塊:一個(gè)是神經(jīng)信念跟蹤器,用來(lái)做對(duì)話狀態(tài)追蹤;另一個(gè)是策略網(wǎng)絡(luò),用來(lái)做行為決策。在整個(gè)框架下,要去訓(xùn)練這個(gè)網(wǎng)絡(luò)的時(shí)候,有2種訓(xùn)練方式:一種是端到端的去訓(xùn)練,用增強(qiáng)學(xué)習(xí)去訓(xùn)練,但這種方式一般收斂速度會(huì)比較慢,訓(xùn)練出的結(jié)果也不好;另外一種方式是先分別做預(yù)訓(xùn)練,這個(gè)時(shí)候用監(jiān)督學(xué)習(xí)訓(xùn)練就好了,不用增強(qiáng)學(xué)習(xí)訓(xùn)練,訓(xùn)練完以后再用增強(qiáng)學(xué)習(xí)對(duì)監(jiān)督學(xué)習(xí)預(yù)訓(xùn)練的模型進(jìn)行調(diào)優(yōu)就可以了。
無(wú)論是端到端的一步訓(xùn)練還是先預(yù)訓(xùn)練再調(diào)優(yōu),只要涉及增強(qiáng)學(xué)習(xí)這塊,都需要有一個(gè)外部環(huán)境,所以在我們架構(gòu)里引入了模擬器的概念,就是用戶模擬器。模擬器主要分為三大塊:第一個(gè)是用戶模型,用來(lái)模擬人的行為的;第二個(gè)是誤差模型,模擬完人的行為以后經(jīng)過(guò)誤差模型引入一個(gè)錯(cuò)誤擾動(dòng),用誤差模型產(chǎn)出的只是一個(gè)概率為1的東西,它對(duì)網(wǎng)絡(luò)訓(xùn)練不夠好,誤差模型會(huì)對(duì)這個(gè)結(jié)果進(jìn)行擾動(dòng)并給他引進(jìn)幾個(gè)其他的結(jié)果,并且把概率分布進(jìn)行重新計(jì)算,這樣訓(xùn)練出的模型在擴(kuò)展能力或者泛化能力上會(huì)更好些;第三個(gè)模塊是激勵(lì)模型,用來(lái)提供激勵(lì)值。這是我們現(xiàn)在在整個(gè)增強(qiáng)學(xué)習(xí)對(duì)話管理這塊的工作。
函數(shù)計(jì)算是什么?還是舉一個(gè)例子,比如說(shuō),10086用戶說(shuō)要查一下話費(fèi),10086那邊的機(jī)器人就會(huì)回復(fù)一句是發(fā)短信還是播放語(yǔ)音,表面看來(lái)就是簡(jiǎn)單的一入一出,其實(shí)在這背后要經(jīng)過(guò)多輪的服務(wù)查詢,才能完成。因?yàn)楫?dāng)要查話費(fèi)的時(shí)候,先要經(jīng)過(guò)函數(shù)計(jì)算查一下現(xiàn)在是哪一天,如果是下賬期也就是每個(gè)月的最后一天是不能查話費(fèi)的。如果可以查話費(fèi)的話,先看一下用戶是否存在話費(fèi),如果存在第三步調(diào)用服務(wù)看是否停機(jī),因?yàn)橥C(jī)的話只能語(yǔ)音播報(bào)不能接收短信。所以在簡(jiǎn)單的一入一出的對(duì)話背后,是一個(gè)復(fù)雜流程的,這些流程現(xiàn)在都是在機(jī)器端用代碼來(lái)實(shí)現(xiàn)的。函數(shù)計(jì)算的引入,使對(duì)話工廠可以去處理復(fù)雜的任務(wù)。
業(yè)務(wù)應(yīng)用
最后看一下對(duì)話工廠的業(yè)務(wù)應(yīng)用情況。例如我們?cè)谡憬暇€的114移車,當(dāng)有市民舉報(bào)違規(guī)停車擋路后,就會(huì)自動(dòng)打電話讓他移車。第二個(gè)是在金融領(lǐng)域里面關(guān)于貸款催收的例子。在剛剛過(guò)去的雙十一,對(duì)話工廠在整個(gè)電商里面也有大量應(yīng)用,主要是在店小蜜和阿里小蜜里面。
店小蜜主要是一些開(kāi)發(fā)票、催發(fā)貨和改地址這樣的流程。例如開(kāi)發(fā)票,用戶可能會(huì)先說(shuō)一個(gè)開(kāi)發(fā)票,進(jìn)來(lái)以后要進(jìn)行復(fù)雜的流程,一種是在說(shuō)的時(shí)候其實(shí)他已經(jīng)把它的訂單號(hào)送進(jìn)來(lái)了:另一種是沒(méi)有說(shuō)訂單號(hào),這時(shí)就需要去后臺(tái)系統(tǒng)查訂單號(hào),查出來(lái)以后彈一個(gè)訂單選擇器選擇訂單。其次問(wèn)是個(gè)人發(fā)票還是公司發(fā)票。然后會(huì)問(wèn)是普通發(fā)票還是增值稅發(fā)票,如果是普通發(fā)票接著往下走,如果是增值稅發(fā)票需要獲取企業(yè)增值稅的稅號(hào),最后匯總到一個(gè)節(jié)點(diǎn),調(diào)用后臺(tái)開(kāi)發(fā)票的系統(tǒng),把發(fā)票開(kāi)出來(lái)。
阿里小蜜主要是負(fù)責(zé)阿里巴巴集團(tuán)內(nèi)部各個(gè)BU的業(yè)務(wù),手機(jī)淘寶是一個(gè)最大的業(yè)務(wù),進(jìn)入手機(jī)淘寶以后,進(jìn)入“我的”里面有一個(gè)客服小蜜,就是阿里小蜜。我們也在優(yōu)酷上線了優(yōu)酷小蜜,星巴克是屬于新零售的一個(gè)最大的嘗試點(diǎn),還有很多其他的場(chǎng)景。
在釘釘上,通過(guò)智能工作助理,對(duì)話工廠為千萬(wàn)企業(yè)提供智能考勤、智能人事等對(duì)話服務(wù)。
最后是整體的落地情況。目前整個(gè)對(duì)話工廠在阿里巴巴經(jīng)濟(jì)體內(nèi)部各業(yè)務(wù)(如淘寶、優(yōu)酷和盒馬等)、淘寶天貓上的商家、釘釘千萬(wàn)量級(jí)的企業(yè)、公有云企業(yè)、私有云重點(diǎn)行業(yè)(政務(wù)行業(yè)、運(yùn)營(yíng)商行業(yè)、金融行業(yè)等)和國(guó)際化(東南亞新加坡、印尼、越南、泰國(guó)、菲律賓和馬來(lái)西亞等國(guó)家地區(qū))等業(yè)務(wù)中開(kāi)始大規(guī)模應(yīng)用,賦能各行各業(yè)開(kāi)發(fā)者自主構(gòu)建對(duì)話機(jī)器人。