人物|韓偉:黃頁商家智慧聊天助手使用者體驗深度優化

語言: CN / TW / HK


2021年9月10日-9月13日,2021世界機器人大會在北京舉行,本屆大會以“共享新成果,共注新動能”為主題,全面展示機器人領域新技術、新產品、新模式、新業態,圍繞機器人研究、應用領域及人工智慧的創新發展開展高水平交流活動。本屆大會包括論壇、博覽會、機器人大賽等活動,論壇由3天主論壇、20餘場專題論壇組成。大會邀請了300餘位國內外頂尖科學家、國際組織代表、企業家代表等共同參會,圍繞科技前沿、技術創新與突破、新興產業應用等巔峰論道,機器人的新發展、新風向、新機遇、新應用和新融合,專題論壇聚焦“專精特新”,鑽研細分領域,凝聚行業巔峰。

58同城TEG AI Lab 智慧問答部負責人韓偉受邀出席,並做了以<<黃頁商家智慧聊天助手使用者體驗深度優化>>為主題的演講。

本文根據分享實錄整理,歡迎大家閱讀分享。

01

背 景

在58同城生活服務平臺上,當用戶有保潔、搬家、維修等需求時會通過微聊以文字對話的方式聯絡58平臺上的商家,而商家由於工作繁忙往往無法及時回覆使用者,造成商機流失 。為了解決該問題,黃頁業務線在2020年初推出了微聊代運營模式——構建一支人工客服團隊,由人工客服來代替商家接待使用者,當人工客服和使用者溝通完形成有效商機資訊(聯絡方式、價格、 地點 等)後再轉交給商家,以幫助商家提高獲客效率。在這樣的場景下,我們基於58同城AI Lab靈犀智慧語音語義平臺的人機對話能力打造了黃頁商家智慧聊天助手,當用戶來聯絡商家時,先由機器人接待,若機器人能夠聊出商機則結束對話,若不能則轉接人工客服,這種人機協作的方式可以大大節省客服人力。機器人和人工客服的能力由商機轉化率指標來評價,即聊出商機的會話數比接待會話數,當前機器人的能力達到了人工客服95%水平,共計節省客服人力數十名,黃頁商家智慧聊天助手已經進行了商業化,以"微聊管家"命名隨會員套餐一起打包售賣給商家,摺合貢獻收入每月達到數百萬元

黃頁商家智慧聊天助手通過坐席分流、智慧問答、商機引導、商機挖掘等功能來提升對話機器人的商機轉化率,提升C端使用者的對話體驗和B端商家的使用體驗,本文主要分享我們如何深度優化黃頁各類目的智慧問答,多輪對話和商機質量識別等,來提升C端使用者對話體驗和提升B端商家的獲客體驗,最後做總結和展望。


02



提升C端使用者對話體驗-提升對話流暢度


為了提升C端使用者的對話體驗,我們首先定義了對話流暢度這個指標,對話流暢度是我們評價C端使用者體驗的重要指標,用來衡量機器人會話的流暢程度。如果在機器人與使用者的某一輪對話過程中,機器人產生了錯誤的回答,我們就認為該輪對話不流暢。常見的不流暢原因包括錯答、引導不當、搶答、重複發問等。
在單輪對話流暢定義的基礎上,為了評價AI對話機器人的整體會話能力,我們定義了整輪流暢度,整輪會話流暢是指整個會話過程中所有輪對話都流暢,則該會話被認為是整輪流暢,同時,為了評判AI對話機器人的深度會話能力,我們定義了截止第5輪會話流暢度,它是指,針對會話超過5輪以上的對話,我們會考量前5輪會話的流暢程度,如果前5輪會話都是流暢的,那麼我們認為其截至第5輪會話流暢。在優化之初,整輪會話流暢度是83%,截止5輪會話流暢度是74%。

AI對話機器人與使用者進行對話的核心過程會模擬人工客服,傳送兩種型別的訊息給到C端使用者:(1)解答使用者問題,比如:使用者諮詢“你們公司能搬家嗎?”,AI對話機器人會回覆:“您好,本公司支援各型別的搬家業務。”(2)主動表達詢問使用者需求,比如機器人會主動諮詢使用者相關的聯絡電話/期望獲取服務時間等;將上述兩個過程拆解對應到AI對話機器人的技術模組,第一部分是AI對話機器人的QABot-自動問答模組;第二部分則是對話機器人的TaskBot-使用任務型對話進行商機引導模組。

對話機器人通過這兩個模組與使用者進行互動,它們是決定使用者體驗的主要部分。我們對於流暢度的優化也是從這兩部分著手,通過不斷提高這兩部分的效果來提高使用者體驗。


優化QABot提升對話流暢度

QABot對使用者流暢度的影響主要體現在以下兩方面:
第一類:QABot沒有正確識別使用者問題的意圖,回覆了錯誤的答案從而令使用者產生困惑,進而影響使用者體驗;

第二類:QABot沒有識別使用者的問題,未能對意圖進行召回,使用者就會發現自己已經提出的需求,對話機器人會再次重複詢問,造成體驗不佳;

所以,我們重點對QABot正確分類問題的能力,以及對問題的召回能力進行提高以提升使用者對話體驗。

針對QABot模型效果能力的提高,我們進行過一些嘗試,包括淺層網路FastText模型、DSSM模型,以及LSTM-DSSM等。

FastText是Facebook於2016年開源的一個詞向量計算和文字分類工具,其特點是訓練速度快,同時能夠取得一定的效果,它能夠在文字分類任務中迅速取得baseline效果,在訓練的過程中涉及到兩個技巧:n-gram特徵的引入以及分層Softmax分類,但是由於FastText的模型相對簡單,其效果難以達到要求。

原生DSSM模型出自微軟研究院,主要方法是將query和doc通過深度網路對映到相同維度的空間中,通過最大化其餘弦相似度來進行訓練,從而訓練得到隱含語義模型,原生DSSM 採用詞袋模型(BOW),因此喪失了語序資訊和上下文資訊,所以,我們引入LSTM作為句子的表徵,LSTM-DSSM用來解決長距離依賴和語序的問題,效果取得了一定的提升。

在預訓練模型出現後,我們得以進一步挖掘這些資料的潛力。實踐中,BERT模型作為此類半監督模型的代表,在分類任務中取得了良好的效果。其主要特點是預訓練掩碼語言模型+微調兩個步驟的結合,同時為了配合Transformer encoder的使用,使用了位置編碼機制。


58微聊場景下積累了大量的無監督資料,存在大量的無標籤資料,在知識庫資料有限時,可使用無監督預訓練語言模型提升匹配模型的效果。參考BERT預訓練過程,2019年4月我們開發了SPTM模型(專案地址:https://github.com/wuba/qa_match),該模型相對於BERT主要改進了幾方面的改進:一是去掉了效果不明顯的NSP(Next Sentence Prediction),二是為了提高線上推理效能將Transformer替換成了LSTM,三是我們同時引入了共享引數的Transformer Encoder結構作為模型主體,提升模型的表達能力,在機器資源有限情況下讓預訓練變得容易。推理耗時方面,CPU場景下SPTM耗時十幾毫秒,相比BERT能大大減少預測耗時,達到線上預測要求。具體參考文章:《開源|qa_match:一款基於深度學習的層級問答匹配工具》《開源|qa_match更新啦——支援輕量級預訓練、提高問答通用性      

除了優化模型提升模型的正確分類能力之外,對問題的召回能力同樣重要,當線上QABot有結果率小於真實有結果率的時候,也就意味著問答模型的召回能力不足,真實線上使用者的好多問題得不到答案,從而影響了C端使用者體驗,因此,為了進一步提升QABot對問題的召回識別能力,我們引入檢索式問答模型。檢索問答模型分為離線構建索引和線上預測兩個步驟:第一步,在離線構建索引階段,我們首先利用已有資料訓練得到一個表徵模型,利用該表徵模型對標註資料進行編碼得到對應的文字向量表示,建立向量檢索庫;第二步,在線上預測的時候,首先利用表徵模型對使用者query進行編碼,得到使用者query的向量表示,之後利用Faiss向量檢索工具檢索離線向量庫召回topK問題,最後通過閾值比較等一些Rank策略篩選符合要求的結果,得到最終的答案給到使用者。


所以,表徵模型是決定效果優劣的關鍵,對於表徵模型主要對比SPTM、BERT、SentenceBert以及ContrastiveBert四種類型,這裡主要介紹一下對比學習SentenceBert以及ContrastiveBert。

SentenceBERT的訓練主要是基於已有標註資料集進行的,首先對已有標註資料集按照標註標籤進行聚類,接下來對聚類之後的資料進行劃分,相同標籤下兩個資料之間標籤設定為1,不同標籤下兩個資料之間標籤設定為0,之後基於劃分之後的資料訓練SentenceBert分類模型並儲存最優模型;最後我們將SentenceBERT模型最後一層的輸出進行mean pooling作為文字的向量表示;ContrastiveBert模型主要是將對比學習策略引入文字表示中,具體做法是:首先對已有標註資料按照標註標籤進行聚類;接下來對資料進行處理,從每一個簇中任意篩選兩個資料互為正例,從其他簇中隨機篩選一條資料作為簡單負例,在進行對比學習訓練過程中,對於batch中的每一條資料除其對應的正例以外其他資料均作為負例;同時為了進一步提升文字表示模型的編碼能力,利用BM25演算法從拒識資料集中篩選一條資料作為難負例。

實驗證明,單獨引入檢索模組ContrastiveBert效果達到最優,從而驗證引入對比學習策略能夠增強文字表示編碼能力;在分類+檢索效果對比中,引入SentenceBert或ContrastiveBert文字表示相較於進行單純分類均有較大提升。

優化TaskBot商機引導提升流暢度

通過QABot回答完使用者的問題後,接下來對話機器人通過TaskBot(任務型對話)來對使用者進行商機引導。


 通常任務型對話系統(TaskBot)由自然語言理解(NLU)、對話狀態追蹤(DST)、對話策略(DP)和自然語言生成(NLG)四個模組構成。在我們的對話系統架構中,將對話狀態追蹤與對話策略兩個模組一起建模為對話管理(DM)模組。對話管理模組經歷了兩個主要版本的迭代,在初始版本我們實現了基於有限狀態機(FSM)的節點配置的對話管理系統,將對話配置抽象為四種節點,可以高速快捷的配置對話流;由於配置有侷限性,後續我們在部分類目上採用強化學習(RL)構建對話管理器,並取得了不錯的效果。上圖展示了整個對話系統的架構:

基於節點配置的對話管理(V1)基於有限狀態機(FSM)原理,本質上是把我們的對話過程抽象為基於對話狀態的跳轉圖。其主要是通過不同功能節點(Trigger、Slot、Response、Function等)的組合,實現管理對話流程。首先是開始節點,是多輪對話的入口;其次是觸發節點,主要是根據意圖和槽位控制對話走不同的會話流程;然後是Slot節點則是控制要問哪些槽位資訊,與使用者進行不斷互動;再有回覆節點是如何回覆使用者的問題;最後是結束節點,代表本次會話結束。狀態對話管理器會綜合考慮使用者的上下文資訊,這些資訊儲存在Redis中,在跳轉圖,決定使用者的下一次跳轉,輸出對應的回覆。其優點是能夠快速響應業務,線上問題能快速解決,但其固定死板,自然度不夠,需要人工編寫,耗時耗力。

鑑於節點配置的對話管理存在上述缺陷,我們引入了基於強化學習的對話管理模型(V2版本,架構如下圖)。強化學習/增強學習是機器學習的正規化和方法論之一,主要用於描述、解決智慧體與環境的互動,通過學習策略以達到回報最大化,實現特定目標的問題。強化學習主要有以下元素,環境是智慧體存在的世界,能夠與它進行互動,可以理解為特徵空間。狀態和動作是指,在每次互動中,智慧體能夠看到環境的一個觀察,並決定採取哪個動作。環境會通過觀察高速智慧體當前的狀態,狀態可以理解為特徵,動作集則可以分為離散和連續。獎賞則是智慧體互動中會得到環境的一個訊號,告訴智慧體當前環境狀態的好壞。策略則是在當前狀態下采取的動作,策略分為確定與隨機兩種。軌跡則是狀態和動作的一個序列,由state、action與reward構成三元組。強化學習的目標是智慧體與環境進行互動時選擇一個能夠獲得最大化期望回報的策略。基於上下文的分類是用DQN進行的,當前網路作為表徵網路後接softmax分類,目前基於上下文的分類模型+強化學習模型進行聯合訓練。上述聯合訓練的目標便是選擇最適合本輪的回覆內容,即商機引導的內容。


通過上述,包括QABot、TaskBot等相關模組的優化,C端使用者對話流暢度取得了顯著的提升,其中整輪流暢度達到了93.5%,截止5輪流暢度也達到了90%左右。


03



提升B端商家獲客體驗-商機質量分層和提升


在2020年我們重點優化了AI的商機轉化率,使之達到了人工水平的90%,其重點在於“增加商機量”,當商機量達到了一定程度後,商家轉換為更為關注商機的“質”。於是,在優化C端使用者體驗(對話流暢度)的同時,我們同時開展了提升B端商家體驗的相關優化工作。

使用者在與AI機器人完成對話後,我們需要提取對話中的關鍵資訊(商機關鍵資訊,比如:電話/地址/服務類目等)給到商戶,使得商戶能夠給使用者提供更為優質的服務,商機主要是通過商機中心給到商家,為了給商戶提供更高質量的商機,提升B端商家的體驗,我們將其拆解為兩個步驟:第一步:商機質量識別,我們將商機分為高質量商機、中等質量商機、普通商機,並且識別出哪些商機是廣告等情況,從而指導商戶進行使用;第二步:商機槽位豐富度的提升,我們將對話中更多的關鍵槽位資訊抽取出來(如電話、地點、時間、需求詳情等),同時也通過話術引導給商戶提供更詳細的商機資訊,使商家能夠提前瞭解到商機詳情,提供更為匹配和高質量的服務,從而提升商家成單體驗;構建商機質量評價體系

首先,我們從0到1構建了商機質量評價體系(如上圖),通過“靈犀”語音分析平臺對錄入商機中心的商機電話錄音資料進行語音質檢,以評估商機成單質量情況;另一方面我們構建了商機質量分析模型,對低質量商機(諸如廣告合作類)進行識別打標。從而形成了AI對話->商機獲取->商機質量分析->語音質檢的閉環優化路徑。
針對低質量商機中的廣告合作類商機,我們構建了廣告合作會話識別模型。該模型基於已開源的SPTM模型,該模型採用類似Bert的block堆疊結構,區別在於採用更簡單的Bi-LSTM。模型將輸入的會話分為廣告、合作、招聘、正常四種類型,在該任務構建中前三種標籤均為低質量商機,對商家而言意義不大,我們將這部分識別出來告知商家,商家會過濾這部分商機,從而提升了商家獲客和成單效率。
由於廣告會話在整體中佔比偏小,因此存在較為嚴重的資料匱乏與不均衡問題。為了處理上述資料不均衡問題,我們首先考慮從優化層面來緩解資料分佈的不均衡問題。針對CV目標檢測任務中存在的資料不均衡問題,FAIR在2017年提出了Focal Loss,該論文獲得了ICCV 2017的最佳學生論文。雖然是在CV任務上被提出的,但在NLP任務上,這一方法同樣有效。在廣告合作會話識別任務中,由於資料分佈的極端不均衡,正常會話相當於檢測背景,這一點與目標檢測場景很是相似,故而我們嘗試了Focal Loss損失函式。經過試驗,取得了不錯的實際效果。

通過詳實的資料分析我們發現,除了廣告類商機,部分商機由於使用者需求不緊迫或者無需求也嚴重影響著商機質量。於是,為了進一步明確使用者需求,在收集完成使用者商機後,我們設計彈出“探需”卡片,獲取使用者的服務需求迫切程度,整合廣告商機識別和商機“探需”資訊,從而,識別高質量商機。
最終,在B端使用者體驗上,我們初步構建了商機質量評價體系,實現商機分層,高質量商機挖掘準確率95%,召回率77%,從而,提升了B端商家體驗。

提升商機槽位豐富度

根據商機槽位的豐富度,我們做了如下定義:包含聯絡方式及4個豐富度槽位的商機為高質量商機,包含聯絡方式及2-3個豐富度槽位的商機為中等質量商機,包含聯絡方式及1個豐富度槽位的商機為普通商機。通過實驗發現(如下圖),商家更傾向於使用資料豐富的商機,體驗更好,因此,為了提升商家使用率的提升,我們需要對本地服務不同的類目增加識別槽位。

本地服務中槽位識別任務具有如下特點:

1、槽位型別數量龐大:

由於黃頁的業務線較多,每個業務線都有自己的關鍵資訊類別,當前共需要識別50種左右的槽位,相對於經典的NER場景,其實體數量較為龐大;

2、領域相關性:

實體識別與業務線特點高度相關,不同業務線對於槽位有各自不同的定義;

3、高優槽位準確率要求高:

對於如聯絡方式這樣的槽位,準確率要求較高,如果出錯將嚴重影響商戶的使用體驗;

在對話中的諸多資訊中,聯絡方式、時間、地點是較為通用和核心的槽位,因此我們在技術實現上優先對其進行了優化。與此同時,為了提高B端商機體驗,我們深入各個類目,對於各個類目中的獨特商機進行了識別,先後共新增了40+類商機,例如:我們在搬家類目中增加了搬家地址、到達地址、電梯情況、搬家樓層、搬家物品等槽位;在家電維修類目中增加了家電型別、家電品牌、維修位置、新舊程度等槽位。通過識別這些各個類目豐富度商機,可以給商戶提高更高質量的商機,從而提升B端商戶的使用體驗。

針對五八黃頁槽位識別的任務特點,在技術選型上採用了“實體詞典匹配+規則匹配+模型預測”的架構(如下圖)。

1、 實體詞典:

a、實體詞典對於高頻實體可以準確而快速的進行識別;

b、可以快速接入新業務場景;

c、詞典的效能好,在演算法實現合適的情況下,可以達到非常快的響應速度,對於一些呼叫量較大、效能要求較高的場景,詞典匹配是一個較好的實現方案;

d、對於強領域相關的實體,通過業務知識、離線挖掘獲取強業務相關的實體,詞典匹配可以發揮較好的作用。
2、 模型預測:

雖然實體詞典有上述的優點,但其存在泛化能力差,無法解決歧義的問題,且如果詞典加入不當,很容易造成誤召回的問題。因此,模型在解決長尾問題、解決實體歧義以及解決部分槽位(如地點)不適合使用詞典的問題上,發揮著不可替代的作用。

3、 規則庫:

對於強規則的槽位(如聯絡方式),規則可以準確的抽取相對應槽位,而只使用模型則存在更多的不確定性。



在模型選擇上,我們嘗試了幾種業界通用的基於深度學習的NER模型,如BiLSTM+CRF、IDCNN+CRF、BERT等模型,並在此基礎上進行了一些對比實驗,最終選取IDCNN+CRF作為我們核心槽位識別(聯絡方式、時間、地點)的線上模型,豐富度槽位識別則採用了ALBert-Tiny+GlobalPointer的方式作為線上模型。
BiLSTM是NLP任務中常見的深度學習模型,它具備強大的捕獲句子全域性資訊的能力,同時通過各種門機制的新增,有效避免了原生RNN模型存在的梯度消失問題,但其對區域性資訊的感知也不強。將BiLSTM應用於NER當中,採用BiLSTM模型提供表徵能力,在其後新增CRF層,以防止出現非法的序列標記結果,從而構成了BiLSTM+CRF這一經典命名實體識別架構。

在IDCNN+CRF模型結構中,待識別query先經過Embedding層獲取向量表示;然後經過空洞卷積層(IDCNN),IDCNN通過空洞卷積增大模型的感受野, 相較於傳統的CNN,IDCNN能夠捕捉更長的上下文資訊,更適合序列標註這類需要全域性資訊的任務;在IDCNN之後經過一層全連線神經網路(FF層)後引入CRF,同樣CRF的目的在於防止非法槽位標記(BIO)的出現。

NER任務中的解碼器主要有Softmax與CRF,Softmax與CRF的主要區別在於他們對問題的設定不一樣。在上述模型中,在NER任務上,我們看到很多深度學習之後都會接上一層CRF,那麼CRF在整個過程中到底發揮著什麼樣的作用呢?通常我們直接使用逐幀softmax時,是將序列標註過程作為n個k分類問題,相當於每個token相互獨立的進行分類(假設深度模型內部互動不明顯的話),而採用CRF實質上是在進行一個k^n分類,相當於直接從所有的序列空間裡找出轉移概率最大的那條序列。其實質上是區域性最優(token最優)與全域性最優(序列最優)的區別,因而採用CRF能夠有效避免出現非法的序列標記,從而確保序列有效。


Global Pointer是除了softmax和crf之外的另一種解碼思路的代表,其期望在實體維度進行實體型別的預測,而不是像softmax一樣在token維度進行。GlobalPointer是一個簡化版的Multi-Head機制,每個Head負責預測一種實體類別,為提升模型效果,GlobalPointer同時引入了相對位置。對比softmax與CRF,GlobalPointer的優勢可以總結為以下幾點:a、可以兼顧序列標註的NER與巢狀NER;b、增強了模型對相對位置資訊的獲取;c、GlobalPointer的Loss是實體級別的Loss,這消除了GlobalPointer在訓練場景與應用場景之間的不一致性。
槽位識別模型效果資料,最終,我們進行了多組對比實驗,以ALBert-Tiny+CRF為baseLine,ALBert-Tiny+GlobalPointer相比baseLine F1值提高了15.00%, Bert+GlobalPointer相比baseLine提高了17%,考慮到線上推理時間要求,豐富度槽位識別我們最終選擇了上線ALBert-Tiny+GlobalPointer模型。
通過引入商機質量識別模型和優化豐富度商機槽位,我們有效提升了B端商家的使用體驗。


04

總結和展望

經過持續的深度優化,黃頁商家智慧聊天助手取得了較好的效果,機器人商機轉化率達到了人工客服水平的95%,節省了數十名客服人力,對話流暢度達到94%,高質量商機挖掘準確率達到95%;同時,黃頁商家智慧聊天助手已商業化(冠名“微聊管家”)售賣給B端商家,當前開通商家數已經達到數萬家,月收入平均數百萬元,值得一提的是,這部分是AI技術作用於商業,純AI服務帶來的收入。

未來我們會持續優化,引入端到端對話模型,提升AI商機轉化率和對話體驗;引入多目標模型,分類目持續深度優化C端使用者對話體驗;持續關注商機質量,優化模型提升B端商家獲客效率;關注交易閉環,進一步提升最終成單。


作者介紹:
韓偉,58同城TEG AI Lab智慧問答部負責人,演算法高階架構師,目前主要關注對話機器人、智慧客服、智慧營銷等相關技術的最新進展及應用實踐。
PPT下載,關注“58AILab”公眾號-部門介紹-聯絡我們-新增小祕書微信(WubaAILab)備註“對話機器人使用者體驗提升上的深度思考”即可獲取。

本文分享自微信公眾號 - 58技術(architects_58)。
如有侵權,請聯絡 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。