專訪 | 螞蟻金服 MISA:比用戶更懂自己的自然語言客服系統(tǒng)

當(dāng)手機(jī)取代了錢包,支付寶甚至比現(xiàn)金更常用,與螞蟻金服的產(chǎn)品端一同忙碌起來的還有公司的服務(wù)端。95188 服務(wù)熱線就是其中之一。

然而當(dāng)我們談起客服電話,想到的仍然是傳統(tǒng)的按鍵菜單(「普通話服務(wù)請按1,for English service please press 2」)和在機(jī)械而漫長的語音播報里等待的焦躁?!冈谶^去的統(tǒng)計里,只要用戶沒轉(zhuǎn)接人工,就算作『問題被自助解決了』,其實在我們看來那不叫『解決』,叫『損耗』?!刮浵伣鸱漠a(chǎn)品運(yùn)營專家弈客說。秉承著這樣的理念,團(tuán)隊開發(fā)了MISA(Machine Intelligence Service Assistant),一個能夠通過識別用戶的語音中包含的業(yè)務(wù)需求來直接進(jìn)行回應(yīng)的客服系統(tǒng),他們稱之為「37攝氏度的自助語音交互」。

在金融業(yè)務(wù)領(lǐng)域,客戶服務(wù)涉及許多環(huán)節(jié),通過人工智能的技術(shù)解決客服問題,為廣大用戶提供高效、個性化的普惠金融服務(wù),成為金融科技領(lǐng)域非?;A(chǔ)、非常具有挑戰(zhàn)性的課題。

最近,在螞蟻金服發(fā)起的「ATEC螞蟻開發(fā)者大賽——人工智能大賽」上,這支團(tuán)隊在初賽就拿出了來自實際應(yīng)用場景的 10 萬對標(biāo)注問題集,并開放相關(guān)資源與專家指導(dǎo),邀請人工智能開發(fā)者來挑戰(zhàn)「問題相似度計算」這一客服領(lǐng)域最基礎(chǔ)也最核心的任務(wù)。

如今,賽事已經(jīng)集結(jié)了來自全球超過兩千支隊伍報名,并開啟了激烈的準(zhǔn)確率打榜競賽。近日機(jī)器之心也有幸探訪螞蟻金服,采訪了MISA 團(tuán)隊中的三位核心成員:人工智能部資深算法專家深空(張家興)、客戶服務(wù)及權(quán)益保障事業(yè)部產(chǎn)品運(yùn)營專家弈客(于浩淼)以及人工智能部算法專家千瞳(崔恒斌),聊了聊如何利用深度學(xué)習(xí)算法構(gòu)建能夠「未卜先知」的客服系統(tǒng)。以下內(nèi)容根據(jù)采訪實錄整理,機(jī)器之心對內(nèi)容作了不改變原意的調(diào)整。

MISA 的「成長故事」與「近照」

機(jī)器之心:開發(fā)MISA 系統(tǒng)的初衷是什么?

弈客:95188 支付寶服務(wù)熱線是一個典型的 IVR 場景(Interactive Voice Response,互動式語音應(yīng)答),作為一個語音渠道,它的業(yè)務(wù)目標(biāo)很簡單,就是「定位用戶的問題,匹配相應(yīng)解答方案」。一開始,它就是一個傳統(tǒng)的按鍵菜單,后來隨著螞蟻金服業(yè)務(wù)線的日益增長,按鍵菜單無法滿足業(yè)務(wù)需求,同時語音識別技術(shù)也進(jìn)入了一個基本可以投入應(yīng)用的階段,所以從16 年初開始,我們和算法工程師一起,嘗試找新的解決方法。

最初的想法是讓用戶描述自己的問題與場景,然后將描述與我們的業(yè)務(wù)與知識進(jìn)行一次匹配。后來,我們發(fā)現(xiàn)單次匹配也很難做到特別精準(zhǔn),因為用戶很難在單次描述里給出全部所需要素,所以就嘗試以多輪交互的形式,用一個對話系統(tǒng)來幫助用戶補(bǔ)全其描述中缺失的部分。

再后來,我們發(fā)現(xiàn)與其讓用戶完全清楚地描述自己的問題,不如我們率先發(fā)問。我們做了大量的市場調(diào)研,發(fā)現(xiàn)如今市面上的客服系統(tǒng)也基本上以「描述與匹配」模式為主,涉及多輪交互的本身就很少,在多輪基礎(chǔ)上發(fā)展方向也沒有那么明確。因此我們就回到了螞蟻自身。我們就想,能不能基于用戶在提問時所積累的行為特征,以「猜問題」的形式讓系統(tǒng)率先發(fā)起對話,降低用戶的使用難度。相比于「你有什么問題?」,「你是不是想問XXX 問題?」就要容易回答得多,即使用戶回答「不是」,我們的問題也會為他接下來的描述提供一個示例。

專訪

圖:如今的95188 語音服務(wù)流程

機(jī)器之心:現(xiàn)在MISA 的系統(tǒng)由哪些部分組成?分別完成什么任務(wù)?

深空:MISA 的主要模塊有猜問題、問題識別、反問交互三個?!覆聠栴}」是螞蟻金服在客服領(lǐng)域的首創(chuàng),是一個利用用戶可能與本次致電相關(guān)的信息,基于深度學(xué)習(xí)算法框架構(gòu)建的問題識別模型?!竼栴}識別」是根據(jù)用戶的描述定位他可能遇到的問題。「反問交互」是在用戶給出的信息不全時,利用「要素拆解和補(bǔ)全」的方式幫助問題識別模塊圈定范圍,降低問題識別的難度,以反問的形式與用戶進(jìn)行交互。

機(jī)器之心:除了用戶轉(zhuǎn)為文本的語音輸入外,MISA 的系統(tǒng)還會接收哪些輸入?如何分類?

深空:我們將輸入分為因子、軌跡、文本三類。因子是由業(yè)務(wù)方定義的、具有明確含義的特征,例如:過去24小時是否有還款行為、過去24小時是否發(fā)生過轉(zhuǎn)賬行為等。因子大約有數(shù)百個。軌跡是用戶最近的 120 個「行為」組成的時間序列,其中一個行為指對遠(yuǎn)程服務(wù)器發(fā)生一次請求。行為的種類超過一萬種。文本是用戶的描述以文本形式表達(dá);在「猜問題」環(huán)節(jié),文本指用戶的歷史描述,在正常的「問題識別」環(huán)節(jié),文本即把本次電話里用戶對問題的語音描述轉(zhuǎn)換成文本。文本是一個長度各不相同,甚至可能空缺的輸入。

機(jī)器之心:作為一個以識別為主要目的的系統(tǒng),MISA 會將用戶的問題匹配到多少種類型里?如何給出應(yīng)答?

弈客:需要匹配的問題類型的具體數(shù)字隨著業(yè)務(wù)上線與下線會有浮動,規(guī)模大約在「數(shù)千」這個量級。

大框架上,應(yīng)答可以分為三類。第一類,如果用戶的問題很簡單,能用一兩句話說清楚,我們就以播報的形式輸出。比如之前余額寶一個業(yè)務(wù)的產(chǎn)品方案進(jìn)行了調(diào)整,從不限轉(zhuǎn)入金額到每天最多只能轉(zhuǎn)入兩萬。這時候當(dāng)用戶轉(zhuǎn)入出錯前來咨詢,我們就會以播報形式把業(yè)務(wù)調(diào)整通知給用戶。第二類,如果方案需要用戶在某一個產(chǎn)品頁面進(jìn)行操作與交互,我們就會把相應(yīng)頁面在用戶的app 里拉起來。用戶掛掉電話打開 app,就能看到解決方案頁面的推送,點開就可以完成操作了。最后一類,我們判斷相對復(fù)雜的問題,就轉(zhuǎn)接人工小二處理。

機(jī)器之心:一位用戶平均需要與系統(tǒng)進(jìn)行多少輪對話能夠定位到自己的問題呢?

弈客:一開始系統(tǒng)能力還沒有那么強(qiáng)的時候,我們把最多對話輪數(shù)設(shè)置為4 輪,如果 4 輪對話之后用戶的問題仍然沒有得到解決,就轉(zhuǎn)交人工客服。通過不斷的優(yōu)化,現(xiàn)在用戶的平均對話輪數(shù)不超過兩輪,大概在 1.8-1.9 左右。

客服系統(tǒng)是怎樣煉成的:模型選擇、評估與優(yōu)化

機(jī)器之心:在處理自然語言文本時,用到了哪些深度學(xué)習(xí)模型?

千瞳:我們首先用自己預(yù)訓(xùn)練的詞向量對文本進(jìn)行表示,然后分別用到了卷積神經(jīng)網(wǎng)絡(luò)(CNN)和以 LSTM 為基本單位的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)對文本進(jìn)行處理。

卷積神經(jīng)網(wǎng)絡(luò)中,模型對由詞向量組成的文本做一維單層卷積與池化,形成一個向量,RNN 則把文本視為一個序列,處理后也得到一個向量,最后,將兩個向量相加,得到一個代表本段文本的新向量,然后與代表因子和軌跡的向量加在一起,進(jìn)行分類。

機(jī)器之心為什么同時采用CNN 和 RNN?

千瞳:兩種模型提取特征的能力不同。CNN 的能力在于提取關(guān)鍵詞。RNN更善于捕捉序列關(guān)系。

機(jī)器之心:分類模型與問題識別模塊的關(guān)系是?

千瞳:問題識別模型是由多個子模型+融合模型的形式組織的。分類模型只是其中一種子模型,除此之外,還有搜索、意圖樹等多個結(jié)構(gòu)化子模型。不同模型的輸出格式也各不相同,分類模型返回不同類別的可能性打分,而意圖樹可能只返回某一個最可能的類別。在子模型各自進(jìn)行問題識別后,我們會通過一個GBDT的模型,對前四個模型的結(jié)果進(jìn)行融合。在融合模型階段,我們?nèi)∶恳粋€模型的 top1 輸出,根據(jù)標(biāo)注數(shù)據(jù)來選擇輸出可能性最高的那個模型的結(jié)果。

專訪

機(jī)器之心:反問交互是如何實現(xiàn)的?

弈客:如今一百通電話里,有三十通會率先通過猜問題的形式對用戶進(jìn)行發(fā)問。如果沒有猜中,就要思考如何在較短的輪數(shù)內(nèi)摸清用戶的需求。用戶的大多數(shù)問題都能夠以「業(yè)務(wù)、框架、類型」三要素方式進(jìn)行拆分。例如「花唄不能還款」,「花唄」就是涉及的業(yè)務(wù),問題的核心動詞「還款」就是框架,「失敗」是導(dǎo)致用戶提問的訴求類型。有超過一千個用戶問題都可以被拆解成三要素的形式,其中包括一百多類業(yè)務(wù)、不到一百類框架和不超過十種問題類型。

三要素拆分方式的方式能夠幫助快速縮小識別范圍。用戶在描述中,可能不能一次把三要素都描述清楚,但是如果給出了某部分要素,比如用戶說「我要還款」,就給出了框架「還款」和類型「如何」,這時我們就可以就缺失的「業(yè)務(wù)」要素進(jìn)行反問,比如,「您是要進(jìn)行花唄還款、借唄還款還是信用卡還款?」

專訪

千瞳:從技術(shù)的角度上來講,我們在構(gòu)建了語義要素庫之后,是可以實現(xiàn)zero-shot 的問題識別的。即,不需要見到特定的要素組合的訓(xùn)練樣本,只要在其他訓(xùn)練樣本中見過單獨的要素在其他場景下出現(xiàn),一樣可以識別這個要素組合,對應(yīng)到相應(yīng)問題。

另外,我們也構(gòu)建了多任務(wù)學(xué)習(xí)的框架。三要素識別任務(wù)的目標(biāo)是非常類似的,都可以看做是多分類問題。多任務(wù)學(xué)習(xí)讓不同任務(wù)間的數(shù)據(jù)可以共享。雖然每一個單獨的任務(wù)都有足夠的數(shù)據(jù),但是不同任務(wù)間目標(biāo)會讓特征提取各有側(cè)重,提高模型效果。相比單模型,識別準(zhǔn)確率可以提升7個百分點。

機(jī)器之心:如何評估匹配的精確程度?這些評估是否會反過來影響模型的優(yōu)化?

千瞳:匹配的評估指標(biāo)有多個層級,第一個是CTR(Click Through Rate),比如在「猜問題」階段,用戶會確認(rèn)系統(tǒng)猜的是不是他的問題。第二個是分流的準(zhǔn)確率,如果分配到人工還有小二派單準(zhǔn)確率,最后是問題解決率。

至于用戶的評估如何影響模型優(yōu)化,一言以蔽之,用戶的反饋就是模型的訓(xùn)練數(shù)據(jù),系統(tǒng)自己能形成一個閉環(huán)迭代體系。MISA 的大部分模型一周迭代兩次。

關(guān)于比賽:客服領(lǐng)域里的相似度計算

機(jī)器之心:比賽中的「判斷兩句話是否為同義句」任務(wù)和利用分類法進(jìn)行問題識別任務(wù)之間的關(guān)系是什么?

深空:當(dāng)我們拿到一個用戶的自然語言問句,想判斷它是知識庫里的哪一類問題時,通常有兩種做法:一是做分類,也就是上面講到的問題識別;還有一種做法就是判斷同義句,給出每一類問題的幾條例句后,當(dāng)一個新的問句出現(xiàn),就計算新問句與每一條例句之間的相似度。

相比于識別,同義句是一類相對昂貴但具有重大意義的做法。對于許多拿不到豐富數(shù)據(jù)的場景來說,訓(xùn)練分類器變得不可能,而搜集例句、計算相似度相較之下更為可行和合適。

基于相似度計算的分類算法對于數(shù)據(jù)的需求要靈活得多,可以根據(jù)數(shù)據(jù)的情況分層次安排:有的方法可以不需要訓(xùn)練數(shù)據(jù),基于規(guī)則來做;有的方法可以基于領(lǐng)域無關(guān)的、有公開語料的通用數(shù)據(jù)進(jìn)行訓(xùn)練;當(dāng)然,如果提供領(lǐng)域相關(guān)的數(shù)據(jù),可以讓相似度計算得更好,就像我們這次提供的數(shù)據(jù)這樣。

從工程的角度來講,這種一開始對訓(xùn)練數(shù)據(jù)依賴較小的辦法,有利于工程師按部就班把一個問題解決掉。

機(jī)器之心:選擇判斷同義句作為本次大賽賽題的原因都有哪些?

深空:第一,在將用戶的問句分類的場景下,相似度計算是一種基礎(chǔ)而實用的做法。在客服領(lǐng)域里,大多數(shù)應(yīng)用場景仍然是缺少數(shù)據(jù)的。第二,問題的相似度計算在其他場景下也有廣泛的應(yīng)用,例如,在「挖掘用戶常見問題」任務(wù)里,就要對用戶問句進(jìn)行聚類,將每一類常見問題歸為一類。聚類的基礎(chǔ)就是計算每兩個問句之間的相似度。還有許多其他類似的應(yīng)用。總而言之,相似度計算是客服大領(lǐng)域中非?;A(chǔ)、非常核心的一個問題。

這次比賽的重點就是鼓勵選手找到好的相似度計算方法。本次我們在初賽就提供了10 萬條數(shù)據(jù)。作為對比,現(xiàn)在的相似度計算比賽中最大的公開數(shù)據(jù)集大概在 1 萬條左右。但是我們不強(qiáng)制選手使用提供的數(shù)據(jù),完全不基于數(shù)據(jù)或者引入外部數(shù)據(jù)的做法都是被允許的,希望選手們不拘一格,找到最好的相似度計算方法。

機(jī)器之心:是否會考慮將比賽中出現(xiàn)的做法投入到實際生產(chǎn)中?

千瞳:這是肯定的。螞蟻的業(yè)務(wù)發(fā)展非???,因此在設(shè)計算法的過程中會遇到很多現(xiàn)實的問題:比如用戶描述口語化、描述多樣性、糾錯以長句問題等等,都需要相似度計算方法去解決,我們自己也在進(jìn)行大量相似度計算方面的探索,希望能夠和選手們一起,找到最合適的方法。

現(xiàn)在起,即刻登錄大賽官網(wǎng)報名參賽,百萬獎金等你來戰(zhàn)。

【加入大賽群,參與賽題討論與觀看發(fā)布會】

添加機(jī)器之心小助手3,備注:螞蟻,由小助手邀請進(jìn)群,第一時間獲取大賽相關(guān)信息,一起討論賽題,以及與其他小伙伴互動交流。(邱陸陸)

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2018-05-14
專訪 | 螞蟻金服 MISA:比用戶更懂自己的自然語言客服系統(tǒng)
當(dāng)手機(jī)取代了錢包,支付寶甚至比現(xiàn)金更常用,與螞蟻金服的產(chǎn)品端一同忙碌起來的還有公司的服務(wù)端。95188 服務(wù)熱線就是其中之一。

長按掃碼 閱讀全文