您當(dāng)前的位置是:  首頁(yè) > 新聞 > 文章精選 >
 首頁(yè) > 新聞 > 文章精選 >

從數(shù)據(jù)預(yù)處理到排序算法,全面解讀Uber智能客服COTA

2018-01-25 14:20:03   作者:   來(lái)源:雷鋒網(wǎng)AI研習(xí)社   評(píng)論:0  點(diǎn)擊:


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

專題