自研智能質(zhì)檢系統(tǒng)探索之路
1、背景
隨著公司業(yè)務的發(fā)展,客服的業(yè)務量不斷增加,為了解放人力,提升質(zhì)檢業(yè)務的覆蓋率,及時有效的發(fā)現(xiàn)客服日常工作中的問題,需要建設智能質(zhì)檢系統(tǒng),滿足日益增長的話務質(zhì)檢系統(tǒng)需求。
2、業(yè)務特征
質(zhì)檢系統(tǒng)主要針對的是電話(二線外呼,400內(nèi)呼)和文本會話(IM會話)內(nèi)容,以及客服的后續(xù)操作進行質(zhì)檢,以解決用戶需求為核心,檢驗客服的服務。由于客服日常對接的用戶訴求“千奇百怪”,質(zhì)檢系統(tǒng)需要對接的數(shù)據(jù)來源也是多方面的,這就要求質(zhì)檢系統(tǒng)需要對接各個系統(tǒng),將多方數(shù)據(jù)進行串聯(lián),以算子為基礎,使用配置化的規(guī)則計算腳本進行最終結(jié)果的計算。
質(zhì)檢的各項指標,按照數(shù)據(jù)的來源劃分大致可以分為以下幾種:
- IM系統(tǒng)
IM文本會話的內(nèi)容,會話的時間等
- 電話系統(tǒng)
二線外呼,400內(nèi)呼電話通話內(nèi)容,通話信息等
- 工單系統(tǒng)
工單操作,比如創(chuàng)建工單,重啟工單,催單等
- 訂單商品
商品類型,訂單價格等
- 賠付系統(tǒng)
賠付記錄,用戶標簽等
按照數(shù)據(jù)類型可以分為以下幾種:
- 話術類
會話內(nèi)容的語義,意圖等
- 交互類
通話語速,情緒等
- 屬性類
訂單金額,商品標簽,工單類型等
- 操作類
客服各類操作,創(chuàng)建工單,創(chuàng)建賠付單等
同時,在不同的場景下,“標準”的判定會有一定的差別,這就要求系統(tǒng)的質(zhì)檢,具有可以靈活調(diào)整的能力,規(guī)則的制定需要隨著業(yè)務發(fā)展進行調(diào)整。
3、技術挑戰(zhàn)
3.1 挑戰(zhàn)
基于質(zhì)檢系統(tǒng)的業(yè)務特征,為了保證系統(tǒng)上線功能的正常使用,同時保證系統(tǒng)的穩(wěn)定運行,在系統(tǒng)的設計時需要面臨一些挑戰(zhàn):
- 數(shù)據(jù)量較大
按照一通會話對應一次質(zhì)檢,每天需要生成對應數(shù)量的質(zhì)檢單。針對每條質(zhì)檢單還需要有對應的質(zhì)檢項,最終質(zhì)檢系統(tǒng)需要對這些質(zhì)檢項,按照配置好的質(zhì)檢規(guī)則進行質(zhì)檢。 - 數(shù)據(jù)源多樣
質(zhì)檢系統(tǒng)不光數(shù)據(jù)量較大,質(zhì)檢的范圍也多種多樣,有的質(zhì)檢項需要獲取依賴的工單系統(tǒng),訂單系統(tǒng)的數(shù)據(jù),需要保證能夠準確的獲取這些數(shù)據(jù)并且不對下游依賴的系統(tǒng)造成影響。 - 質(zhì)檢項多且雜
系統(tǒng)需要支持多種質(zhì)檢項的配置,同時每個質(zhì)檢項又存在多條質(zhì)檢規(guī)則,且根據(jù)業(yè)務場景需要經(jīng)常性的調(diào)整規(guī)則,這就要求系統(tǒng)可以支持靈活的配置,挑戰(zhàn)質(zhì)檢項和質(zhì)檢規(guī)則。 - 準確性
質(zhì)檢系統(tǒng)最終的結(jié)果會影響到用戶的體驗以及客服的工作,需要保證質(zhì)檢結(jié)果的準確性。
以上這4點就是整個質(zhì)檢系統(tǒng)在設計過程中著重需要注意的點,為系統(tǒng)設計指明了方向。
3.2 解決思路
基于前面提到的這些挑戰(zhàn),整體的質(zhì)檢系統(tǒng)圍繞如何采配置質(zhì)檢項,如何采集數(shù)據(jù)并完成質(zhì)檢開展。
質(zhì)檢系統(tǒng)整體數(shù)據(jù)采集的流程如下:
4、技術選型
4.1 數(shù)據(jù)大寬表
為了減少對下游系統(tǒng)服務的壓力,解決大量質(zhì)檢單所需質(zhì)檢數(shù)據(jù)的采集問題,基于現(xiàn)有質(zhì)檢系統(tǒng)T+1生成質(zhì)檢單的模式,數(shù)據(jù)大寬表采用離線采集是比較優(yōu)選的方案。
4.2 質(zhì)檢規(guī)則
質(zhì)檢系統(tǒng)執(zhí)行“質(zhì)檢”行為,主要基于在質(zhì)檢項上配置的質(zhì)檢規(guī)則進行,而質(zhì)檢規(guī)則的執(zhí)行就依賴于規(guī)則引擎。
規(guī)則引擎的選擇,最初考慮JDK自帶的Java Script Engine,但該引擎只支持JavaScript,后期選擇了擴展性更加強大的QLExpress。
5、技術實現(xiàn)
5.1 離線數(shù)據(jù)采集
質(zhì)檢系統(tǒng)根據(jù)話務類型將質(zhì)檢分為3大類,分別是一線,二線和400。不同類型的質(zhì)檢單通過離線采集數(shù)據(jù)生成對應的大寬表用于查詢計算。以一線在線為例,數(shù)據(jù)的采集,清洗主要分為以下幾個步驟:
- 以IM會話id為主鍵,采集,組裝IM相關數(shù)據(jù)
- 以工單號為主鍵,采集組裝工單,以及關聯(lián)的訂單,賠付單等數(shù)據(jù)
- 以訂單號為主鍵,采集組裝訂單相關數(shù)據(jù)
基礎數(shù)據(jù)采集生成離線表后,質(zhì)檢系統(tǒng)根據(jù)質(zhì)檢單中對應的會話id查詢信息,并通過關聯(lián)工單號,解析會話內(nèi)容中的訂單號,查詢對應關聯(lián)的離線數(shù)據(jù)表,最終組裝成上下文信息并提交給規(guī)則引擎計算最終結(jié)果。
5.2 規(guī)則執(zhí)行
規(guī)則執(zhí)行主要依賴于規(guī)則腳本的配置和規(guī)則引擎執(zhí)行腳本,系統(tǒng)選用了QLExpress作為腳本引擎,QLExpress是一門動態(tài)腳本引擎解析工具,具有以下的一些優(yōu)點:
- 支持大部分java語法
- java對象操作
- 擴展操作符
- 重命名
- 自定義操作符
5.3 系統(tǒng)實現(xiàn)
- 總體架構(gòu)
- 主流程?
質(zhì)檢系統(tǒng)的主要用戶為
- 運營人員:負責基礎配置,包括抽檢規(guī)則,質(zhì)檢項以及自動質(zhì)檢的規(guī)則腳本。
- QC :負責對系統(tǒng)質(zhì)檢完的質(zhì)檢單進行復核,找出系統(tǒng)差錯并反饋給運營人員,修改對應的規(guī)則腳本。
?
- 離線數(shù)據(jù)
用于自動質(zhì)檢的大寬表是在dataworks中,通過各數(shù)據(jù)源的基礎表組裝而成,最終將大寬表寫入es以供自動質(zhì)檢時使用。查詢時,大寬表數(shù)據(jù)還會經(jīng)過二次組裝,最終組裝成規(guī)則引擎可用的上下文信息。
- 自動質(zhì)檢
?
- 質(zhì)檢腳本
- 算子
- 質(zhì)檢項的最小單元為算子,每個算子至少對應一個基礎指標,配置自動質(zhì)檢時,需要先配置算子,并將算子作為基礎單元組合質(zhì)檢規(guī)則。
配置頁面如下:
- 質(zhì)檢規(guī)則
- 腳本執(zhí)行
腳本執(zhí)行依賴于規(guī)則引擎中預先定義好的自定義函數(shù)和包含各種所需參數(shù)的上下文context執(zhí)行。
- 自定義函數(shù)
自定義函數(shù)通過QLExpress的綁定java對象的method特性實現(xiàn)。以規(guī)則中“分鐘差”為例:
首先通過java代碼實現(xiàn)所需的自定義函數(shù)
將定義的method綁定至腳本引擎
- 上下文CONTEXT
上下文context本質(zhì)為Map對象,用于傳遞腳本執(zhí)行時所需的參數(shù)。一般使用DefaultContext,也可通過實現(xiàn)IExpressContext接口自定義context。
6、未來規(guī)劃
6.1 實時質(zhì)檢
質(zhì)檢系統(tǒng)的目的是發(fā)現(xiàn)客服工作中的問題,為了提升發(fā)現(xiàn)問題的時效,并有效攔截外訴風險,未來質(zhì)檢的模式將從現(xiàn)有的基于T+1的離線數(shù)據(jù)模式改為實時質(zhì)檢模式。修改后的質(zhì)檢服務將在分鐘級的尺度上對客服操作進行質(zhì)檢并及時發(fā)出預警。同時,修改實時質(zhì)檢模式后,可以有效的提升現(xiàn)有服務器資源的利用率,對整體服務的穩(wěn)定性有很大的提升。
6.2提升語義解析準確率
客戶服務行為的本質(zhì)可以簡單的歸納為客服通過會話與用戶交流并滿足用戶訴求,而質(zhì)檢則是對客服這一服務行為的檢查。那么質(zhì)檢的結(jié)果就是由“語義”——客服與用戶交流的內(nèi)容和“行為”——客服滿足用戶訴求的操作來決定。其中語義的解析是現(xiàn)在影響質(zhì)檢結(jié)果的最大的瓶頸。對于質(zhì)檢系統(tǒng)來說,提高質(zhì)檢的準確率,當務之急就是提升語義解析的準確率。現(xiàn)在的系統(tǒng)通過文本,正則匹配和算法意圖解析來進行語義的解析,這其中大部分語義解析都是基于單句話來執(zhí)行,未來的目標是通過整通會話的上下文,進行更加精細的語義解析,以此來提升質(zhì)檢的準確率。
6.3反哺SOP
質(zhì)檢結(jié)果的第二個影響因素“行為”,在客服域內(nèi),客服可以應答用戶訴求的操作應該遵循SOP。同樣,質(zhì)檢系統(tǒng)在進行質(zhì)檢時,也應該根據(jù)SOP來制定質(zhì)檢規(guī)則。質(zhì)檢系統(tǒng)和SOP系統(tǒng)應該是相輔相成,質(zhì)檢系統(tǒng)發(fā)現(xiàn)問題并不是目標,而通過發(fā)現(xiàn)問題反饋建立SOP,杜絕相似問題的發(fā)生才是目的。