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