為了打造最佳用戶體驗,Uber持續(xù)優(yōu)化客戶支持流程,讓客戶支持服務(wù)更易用,更方便。
為實現(xiàn)這一目標(biāo),Uber Customer Obsession團(tuán)隊基于其內(nèi)部平臺,提供5種不同客服渠道(應(yīng)用內(nèi)置客戶支持、官網(wǎng)客戶支持、本地司機(jī)網(wǎng)、電話客服、線下服務(wù)網(wǎng)點)。這個內(nèi)部平臺具備客服工單功能,以便跟蹤解決問題。每天提交到這個平臺上的客服工單有數(shù)十萬條,遍布全球400多個城市。Customer Obsession團(tuán)隊必須確?头砟鼙M可能準(zhǔn)確、快速地解決問題。
基于此,Uber打造了一個人工智能客服助理平臺——COTA(Customer Obsession Ticket Assistant),它利用機(jī)器學(xué)習(xí)和自然語言處理(NLP)技術(shù),幫助客服代表提供更好的客戶支持服務(wù)。
在Uber客戶支持平臺上,利用Michelangelo平臺的機(jī)器學(xué)習(xí)服務(wù),COTA可以快速高效地解決90%以上的客服問題。
下面,我們會詳細(xì)介紹創(chuàng)造COTA的動機(jī),COTA后端架構(gòu),并展示如何利用這一強(qiáng)大工具提高客戶滿意度。
沒有COTA之前的客戶支持
當(dāng)客戶聯(lián)系Uber尋求支持時,我們必須及時為他們提供最好的解決方案。
我們可以讓用戶在提交問題報告時,點選問題所屬的類別,填寫細(xì)節(jié)。這一過程為客服提供了很多背景信息,從而能更快解決問題,如圖1所示:
圖1:Uber內(nèi)置的客戶支持服務(wù)為用戶提供了一個直觀且易于使用的界面,先提供問題可能的類型,然后突出顯示行程的細(xì)節(jié)
Uber內(nèi)置的客戶支持服務(wù)能反映問題的背景信息,雖然這些信息很重要,但要解決客戶的問題,單靠這些信息遠(yuǎn)遠(yuǎn)不夠,特別是在一個問題有多種工單答案的情況下。此外,同一個問題,客戶可以通過多種方式來描述,因此問題的解決過程更為復(fù)雜。
隨著Uber的服務(wù)規(guī)模不斷擴(kuò)大,客服必須應(yīng)對不斷增長的客戶支持問題,同時,問題也變得更為多樣化,包括技術(shù)故障和費用調(diào)整等。事實上,當(dāng)客服在解決客戶提交的問題時,他們首先要做的是從數(shù)千個類別中,確定問題所屬類型,這絕非易事!
縮短識別問題類型的時間非常重要,它能減少客服解決用戶問題的總時間。
確定問題類型后,下一步就是給出正確的解決方案,每種類型的工單都有不同協(xié)議和解決方法。此外,還要從成千上萬個可能的解決方案中進(jìn)行選擇,這也是一個耗時的過程。
COTA:客戶工單助手
基于前面的背景,我們設(shè)計COTA來幫助客服提高解決問題的速度和準(zhǔn)確性,從而改善客戶體驗。
COTA利用Michelangelo平臺來簡化、加速和標(biāo)準(zhǔn)化客服工單流程。目前,COTA由一組向客服推薦解決方案的模型組成,只支持英文工單,我們正試圖建立可以處理西班牙語和葡萄牙語客服工單的模型。
基于我們的支持平臺,根據(jù)客服工單內(nèi)容和行程上下文信息,Michelangelo模型提供三種最可能的問題類型及其解決方案,處理流程如下:
圖2:COTA系統(tǒng)的七步工作流程
如圖2所示,COTA系統(tǒng)包括如下7步:
1.客服工單進(jìn)入客戶支持平臺(CSP),后端服務(wù)系統(tǒng)采集工單的相關(guān)特征;
2.后端服務(wù)系統(tǒng)將這些特征發(fā)送到Michelangelo機(jī)器學(xué)習(xí)模型;
3.模型預(yù)測每個可能的解決方案的得分;
4.后端服務(wù)系統(tǒng)接收預(yù)測方案和分?jǐn)?shù),并將其保存到Schemaless數(shù)據(jù)庫中;
5.客服打開客服工單后,前端服務(wù)系統(tǒng)將觸發(fā)后端服務(wù)系統(tǒng),以檢查客服工單內(nèi)容是否有更新。如果沒有更新,后端服務(wù)系統(tǒng)將檢索保存于數(shù)據(jù)庫中的解決方案;如果工單有更新,它將抓取更新后的特征,并再次執(zhí)行步驟2-4.
6.后端服務(wù)系統(tǒng)將解決方案按分?jǐn)?shù)高低排列,然后返回至前端服務(wù)系統(tǒng);
7.將排名前三的解決方案推薦給客服;至此,客服只需做出選擇,就可以解決工單。
COTA的表現(xiàn)非常優(yōu)秀:根據(jù)客戶服務(wù)調(diào)查結(jié)果顯示,COTA可以將工單解決時間縮短10%以上,同時還可以達(dá)到之前用人工處理的客戶滿意度,甚至比之前人工處理的滿意度更高。
COTA中的機(jī)器學(xué)習(xí)模型為客服提供了更快和更準(zhǔn)確的工單解決方案,使Uber客戶支持服務(wù)更加完美。
基于NLP和機(jī)器學(xué)習(xí)構(gòu)建COTA
表面上看,COTA只需收集工單問題的上下文信息,并返回可能的解決方案,但幕后還有很多事情要做。COTA后臺負(fù)責(zé)完成兩項任務(wù):確定工單所屬類型并確定最合理的解決方案。
為了實現(xiàn)這一點,機(jī)器學(xué)習(xí)模型需要從客戶提交的文本消息中提取特征、行程信息和客戶提交問題時所選的類別。
當(dāng)模型生成特征分?jǐn)?shù)時,最有價值的特征是用戶發(fā)送的問題的文本消息。由于用戶發(fā)送的文本消息對于理解問題很重要,我們建立了一個NLP「管道」,能將多種不同語言的文本轉(zhuǎn)換為對機(jī)器學(xué)習(xí)模型有用的特征。
NLP模型可以翻譯和解釋不同的文本元素,包括音韻、詞性、語法、句法和語義。根據(jù)模型的構(gòu)造單元,NLP可以建立字符級、單詞級、短語級和句子/文檔級的語言識別模型。
傳統(tǒng)的NLP模型是基于人類語言學(xué)專業(yè)知識來提取文本信息的特征,隨著端到端訓(xùn)練的深度學(xué)習(xí)模式興起,研究人員開始開發(fā)能夠解析整個文本塊的模型,這時候不必明確地解析一個句子中不同單詞之間的關(guān)系,而是直接使用原始文本。
在COTA中,我們首先構(gòu)建一個單詞級別的NLP模型,以更好地理解文本消息的語義。自然語言處理中一個流行的方法是主題建模,通過單詞的計數(shù)統(tǒng)計信息來理解句子的主題。雖然主題建模沒有考慮到字詞的順序,但是對于諸如信息檢索和文檔分類等任務(wù),已經(jīng)被證明非常有用。
圖3:為識別工單問題類型和選擇解決方案,我們建立的NLP「管道」模型由三個不同的步驟組成:預(yù)處理,特征工程和基于點的排序算法。
在COTA中,我們使用基于主題建模的NLP「管道」模型處理文本消息,信息處理流程如圖3所示。
預(yù)處理
- 為了清洗文本,我們首先刪除文本中的HTML標(biāo)簽。
- 接下來,我們分割工單消息中的句子,并刪除停頓用詞。
- 然后再進(jìn)行詞形化,將單詞從不同的時態(tài)、派生形式進(jìn)行還原。
- 最后,我們將文檔轉(zhuǎn)換成單詞集合,并建立這些單詞的字典。
主題建模
為了理解用戶意圖,預(yù)處理之后我們對單詞包進(jìn)行主題建模。
具體而言,我們使用詞頻-逆向文件頻率(TF-IDF)的統(tǒng)計方法和潛在語義分析算法(LSA)來提取主題。
圖4(a)中展示了主題建模中的一些可能的主題類型:
圖4(a)主題建模:我們使用TF-IDF和LSA從文本數(shù)據(jù)中提取主題
。╞)特征工程:將所有工單解決方案和工單問題映射到主題向量空間,計算解決方案和工單之間的余弦相似度
特征工程
主題建模使我們能夠直接使用主題向量作為特征,下游的分類器能將其作為識別問題類型和選擇解決方案的依據(jù)。
然而,這種方法太直接,會受到主題向量稀疏性的影響。為了有意義地表達(dá)這些主題,我們需要使用數(shù)百甚至數(shù)千維度的主題向量,而主題向量的之間的相關(guān)性接近于零。由于特征空間的維度非常高,需要處理大量的數(shù)據(jù),因此訓(xùn)練這些模型變得相當(dāng)困難。
考慮到這些因素,我們決定以間接方式進(jìn)行主題建模:通過計算余弦相似度特征來執(zhí)行下一步的特征工程,如圖4(b)所示。以選擇工單解決方案為例,我們收集每個工單解決方案對應(yīng)的歷史工單,并形成這一工單解決方案對應(yīng)的詞匯集。
在這種情況下,主題建模轉(zhuǎn)換是基于歷史工單的詞匯集表示。我們用向量Ti表示工單解決方案i,對所有工單解決方案都進(jìn)行這種轉(zhuǎn)換。我們可以將任何新的工單映射到工單解決方案的主題向量空間T1,T2...Tm,其中m是可能使用的工單解決方案的總數(shù)。接下來形成工單j的矢量tj?梢杂嬎愠鯰i和tj之間余弦相似度得分sij,就可以知道工單解決方案i和工單j之間的相似度,從而將特征空間從數(shù)百或數(shù)千個維度減少到很低維度。
基于點的排序算法
接下來解釋機(jī)器學(xué)習(xí)算法是如何選擇工單解決方案的。
為了設(shè)計這個算法,我們將余弦相似度特征與其他工單信息、行程特征進(jìn)行組合。每種工單類型有超過1,000種可能的工單解決方案,COTA的超大的解空間使區(qū)分這些工單解決方案之間的細(xì)微差異變得很困難。
為了給客服提供最佳的工單解決方案,我們應(yīng)用了學(xué)習(xí)排序(learning-to-rank)算法,并構(gòu)建了基于檢索的點排序算法。
具體而言,我們將工單解決方案和工單之間的正確匹配標(biāo)記為正(1),從工單解決方案與工單不匹配的集合中,我們隨機(jī)抽樣形成子集,并標(biāo)記為負(fù)(0)。使用余弦相似度以及工單、行程特征,我們可以建立一個二分法分類器,接下來利用隨機(jī)森林算法來判斷工單解決方案與工單是否匹配。利用算法對可能的匹配進(jìn)行評分,我們可以對評分進(jìn)行排名,并給出排名最高的三個解決方案。
下圖比較了使用主題向量作為特征的傳統(tǒng)多類分類算法與使用工程余弦相似特征的逐點排序算法的性能:
圖5:基于點的排序算法比多類分類算法的準(zhǔn)確度高25%
可以看到,使用余弦相似度作為特征的,基于點的排序算法優(yōu)于直接使用主題向量的多類分類算法,精度提高了25%。
比較是在相同的數(shù)據(jù)集上,使用相同類型的算法(隨機(jī)森林)進(jìn)行的,且模型的超參數(shù)相同。排序框架中使用余弦相似度作為特征可以獲得很好的效果。
更便捷更快的工單處理=更好的客戶支持
COTA性能優(yōu)異,只有應(yīng)用到實際場景中才有意義。為了衡量COTA對客戶支持體驗的影響,我們對多個在線英語工單進(jìn)行了受控的A/B對比實驗。在這些實驗中,我們選擇了幾千名客服,將他們隨機(jī)分配到對照組和實驗組。對照組中的客服代表使用原來的工作流程,而實驗組中的客服代表使用COTA助理,交互界面包含問題類型和建議的工單解決方案。我們收集了兩個組的工單處理結(jié)果,并測量了一些關(guān)鍵指標(biāo),包括模型準(zhǔn)確性、平均處理時間和客戶滿意度得分。
測試進(jìn)行如下:
我們首先測量了模型的在線表現(xiàn),并將其與離線表現(xiàn)進(jìn)行了比較。我們發(fā)現(xiàn)模型性能從離線到在線都是一致的。
然后,我們測量了客戶滿意度分?jǐn)?shù),并比較了對照組和實驗組?偟膩碚f,實驗組的客戶滿意度提高了幾個百分點。這一發(fā)現(xiàn)表明,COTA可以提供相同或略高于人工的客戶服務(wù)質(zhì)量。
最后,為了確定COTA對工單處理速度的影響,我們比較了對照組和實驗組的平均工單處理時間。平均而言,COTA將工單處理時間縮短了大約10%。
通過提高客服的績效和縮短工單解決時間,COTA幫助CustomerObsession團(tuán)隊更好地服務(wù)于用戶,從而提高客戶滿意度。COTA加速了工單處理過程,每年可以為Uber節(jié)省數(shù)千萬美元。
下一代COTA中的深度學(xué)習(xí)
COTA的成功使我們更堅定地持續(xù)優(yōu)化機(jī)器學(xué)習(xí)算法,以提高系統(tǒng)準(zhǔn)確性,并為客服和終端用戶提供更好的體驗。
深度學(xué)習(xí)框架可以在文本分類、匯總,機(jī)器翻譯和許多輔助NLP任務(wù)(句法和語義分析,文本蘊含,命名實體識別和鏈接)中使用。
與深度學(xué)習(xí)相關(guān)的實驗
在UberAI實驗室的研究人員的支持下,我們嘗試將深度學(xué)習(xí)應(yīng)用于下一代COTA。我們基于卷積神經(jīng)網(wǎng)絡(luò)(CNN),遞歸神經(jīng)網(wǎng)絡(luò)(RNN)以及這兩者的幾種不同組合,實現(xiàn)了多種體系結(jié)構(gòu),包括分層結(jié)構(gòu)和基于注意力的體系結(jié)構(gòu)。
使用深度學(xué)習(xí)框架,我們能夠以多任務(wù)學(xué)習(xí)的方式來訓(xùn)練我們的模型,使用單一模型既能夠識別問題類型,又能提出最佳工單解決方案。由于問題類型被組織成層次結(jié)構(gòu),我們可以訓(xùn)練模型來預(yù)測問題在層次結(jié)構(gòu)中的位置,在這其中使用波束搜索的循環(huán)解碼器(類似于序列模型的解碼組件),可以進(jìn)行更精確的預(yù)測。
超參數(shù)優(yōu)化選擇最佳模型
為了確定最佳的深度學(xué)習(xí)架構(gòu),我們針對所有類型的架構(gòu)進(jìn)行了大規(guī)模超參數(shù)優(yōu)化,并在GPU集群上進(jìn)行了并行訓(xùn)練。最后的結(jié)果表明,最精確的體系結(jié)構(gòu)既適用于CNN也適用于RNN,但為了我們的研究目的,我們決定尋求一種更簡單的CNN體系結(jié)構(gòu),該體系結(jié)構(gòu)精準(zhǔn)度稍有欠缺,但在訓(xùn)練和推斷時間上更具優(yōu)勢。我們最后設(shè)計的模型精度比原始隨機(jī)森林模型高10%。
在下圖中,我們展示了工單集的數(shù)據(jù)覆蓋率(模型正在處理的工單百分比,x軸)和準(zhǔn)確度(y軸)之間的關(guān)系。如下所示,隨著數(shù)據(jù)覆蓋率的降低,兩種模型都變得更加精確,但是我們的深度學(xué)習(xí)模型在相同的數(shù)據(jù)覆蓋率上表現(xiàn)出更高的準(zhǔn)確性,在相同準(zhǔn)確度下表現(xiàn)出更高的數(shù)據(jù)覆蓋率。
圖6:深度學(xué)習(xí)模型和經(jīng)典模型(隨機(jī)森林)性能比較
我們目前正與UberMichelangelo團(tuán)隊緊密合作,處于將這個深度學(xué)習(xí)模型產(chǎn)品化的最后階段。