仇建飛
(中國移動通信集團天津有限公司 天津市 300000)
電信運營商通常有各種營銷渠道,在面對一線客戶咨詢或是業務營銷推薦時,時常會遇到各種各樣的問題,如業務查詢、系統故障、系統異常、投訴問題或是疑難問題,需要快速尋求咨詢和支持,急需支撐營業一線人員重要運營場景,傳統客服系統應運而生。但是傳統客服系統存在些固有問題。
由于運營商的業務點細多繁雜,內部用戶的輸入具備口語化、多樣化的特性,傳統客服系統面臨“智能應答不準、搜索感知差、知識散落未整合、投訴工單質量不可控”等痛點。因此急需引入先進的AI 方法,對每條投訴、事件、問題數據進行“分析、跟蹤、關系梳理”,并根據邏輯關系進行聚合,打造“面向客戶,敏捷智能”的知識圖譜,提升面向業務一線的服務水平。
本文的課題目標定位于“智能互聯網支撐一線客服”,旨在利用當前人工智能發展的重要組成部分知識圖譜技術,來實現傳統業務的互聯網化和智能化發展,通過知識圖譜等AI 方法手段,來解決過去企業的知識庫不全,知識點散亂、搜索目的效果不好、智能應答不準確、提升投訴工單質量、業務流轉工單質量,利用知識圖譜豐富的邏輯、關系能力提升機器人智能感知,提供一線客服更加人性的應答互動體驗。
知識圖譜實際上是一種語義網絡,是基于圖構建數據結構,是語義搜索、智能問答、決策支持等智能服務的基礎技術之一。知識圖譜最常用的語義關系包括:“實體-關系-實體”,“實體-屬性-屬性值”。知識圖譜采用三元組描述事實, 所使用的描述語言大多是已研發的本體語言, 如 RDFS、OWL 等。它由兩層結構組成,一部分是data layer 數據層,另一部分是schema layer。模式層是一個概念邏輯模型,定義數據層規則和約束條件。在數據層,是由基本三元組構成一個圖形網狀關系網,其中結點代表實體(entity)或者概念(concept),邊代表實體(entity)或者概念(concept)之間的各種語義關系。構建知識圖譜是需要從大量開放的非結構化和半結構化數據源中,抽取實體(概念、人、事物)和關系,經過幾個步驟,數據清洗、實體識別、關系識別、數據聚合處理等逐步構建而成。知識圖譜當前比較常用于語義搜索、智能問答、個性化推薦等幾個領域。
面向企業客服的B 域數據源來自三個方向,首先主要來源是從BOMC 投訴工單系統和在線客服日志獲得的非結構化數據,稱為業務數據源;第二個是業務新詞和術語,需要獲得B 域專業術語、詞典、操作術語等等,對非結構化知識進行分析時,需要利用這些數據提高語義分析時準確度,稱為基礎數據源;第三個來自以原子化知識庫中的固有內容,以無監督、有監督兩種模式自動構建面向企業業務服務的知識圖譜。數據來源如圖1 所示。
本次知識圖譜系統是面向運營商B 域場景的知識圖譜自動構建,是基于B 域業務場景出發,由于企業業務場景知識圖譜屬于特定領域知識圖譜,所涉及的技術要求,架構設計,問題難點都與通用領域的情況不同。知識圖譜自動構建流程方案,是按照模式設計、數據清洗、實體識別、關系識別、知識融合等流程來進行。
在對數據源進行下一步處理之前,要先定義一個Schema,就是知識圖譜的模型設計,相當于一個領域內的數據模型,Schema是用來規范知識圖譜的領域與描述對象,起到管理知識圖譜的作用,我們從B 域業務場景的服務訴求出發,基于現有事件單、BOMC投訴單、異常單數據,從一線客服實際工作出發點角度思考,客服人員關注邏輯點和常問一些問題,比如:工單異常怎么解決?發票無法打印怎么辦?某個套餐怎么訂購不了呢?等等作為思路,設計出一套B 域運維領域的知識圖譜Schema,作為圖譜自動抽取的框架進行語義分析。
現階段,我們對于運維域里面的對象,重點關注B 域故障受理場景,相對比較關注“故障原因”、“故障內容”、“解決方案”的實體,和“導致”、“解決”的關系,知識圖譜系統設計成以業務垂直領域的場景為應用拓展,基于深度學習框架為每個場景分配唯一標識機制,以ID 為標識進行數據導入、模型訓練、能力獲取,不同場景間進行邏輯隔離,確保邏輯模型不沖突,提升解決知識圖譜解決更多一般性查詢和多樣化問題等能力。
來自BOMC 投訴工單、事件單等業務數據源,以及運營商領域專業詞典等數據,這些數據都是非結構化的數據,存在很多無效、空值、重復數據,需要進行數據處理,在數據處理前,安排初步數據提取,為了更有效的抽取各個不同源的數據中知識圖譜核心需要的部分內容,比如:針對事件單數據,我們更關注故障標題、服務請求類別、處理日志、投訴現象等部分;針對故障周/月報數據,我們只關注故障原因部分。
針對運營商領域數據集的獲取與標注語料環境,運營商領域知識圖譜的要求數據量相對較小,知識密度相對較大、知識質量較高。由于知識實體與關系的是相對嚴格限定,所以無法使用很多的開放領域實體識別和關系抽取算法和業界已有數據集。
實體識別是知識圖譜語義分析的關鍵第一步。將套餐、區域等實體作為標注數據輸入模型進行訓練,算法核心邏輯是先通過采用向量空間進行詞句的建模,最大程度的保留詞句的上下文關系,再通過LSTM 在傳統RNN 的基礎上采用門結構,使得模型能夠學習到更遠的上下文關系,最后使用條件隨機場CRF 層來更多識別實體特征,最終得到實體識別模型,根據模型對海量BOMC 投訴工單數據進行實體識別預測,將自然語言中涉及到的相關實體提取出來作為關系理解的目標,如飛享套餐、家庭寬帶、全球通、魔百盒、等業務名詞(實體),為下一步知識圖譜構建語義網絡提供實體節點。
關系識別是對非結構化文檔處理的重要環節,自然語言中對事件的描述往往會以多個子句的形式存在,且多句之間具有相關性,關系識別需要對投訴工單數據的上下文,進行依存句法相關性分析,從而找出實體間存在哪種關系,以及關系周邊的實體分別是什么,例如運維場景中“A 導致B”,“C 的解決方案是D”,面向運維場景的關系識別是構建RDF 三元組的基礎。
知識圖譜在進行知識抽取時所使用的數據源是多樣化的, 存在知識重復、知識間關系不明確等問題。知識融合可消除實體、關系、屬性等與事實對象間的歧義, 使不同來源的知識能夠得到規范化整合。本系統對抽取出的三元組內容進行二次分析,將根據詞性及依存句法抽取出的實體進行聚類,將涉及同類內容的實體進行融合,目的是達到運維知識圖譜內容在B 域客服領域具備通用性。
知識圖譜的質量取決于實體與關系抽取的準確性,也就是系統自動構建的RDF 三元組的質量,直接影響客戶感知,決定了智能應答質量、知識庫檢索效率。本次課題的運維知識圖譜,是由實體提取和關系識別后產生近5000 個RDF 三元組,存入圖數據庫后,增加的知識圖譜可視化顯示功能。
三元組是知識圖譜感知的核心,預測是否準確,分類是否正確,均取決于構建精度。通過歷史投訴數據構建完畢后,在模型構建流程中的增加測試、驗證機制,確保三元組圖數據庫質量符合要求。模型生產發布之前,可以調用測試集數據進行測試,確保實體和關系抽取準確,對遺漏的邏輯進行補充。生產環境下,新業務規則、新數據、新模型構建均可能導致圖譜識別不準,通過增加驗證集,不斷驗證生產環境下元數據的質量,增強系統運維健壯性。
基于非結構化數據進行標注時,需要先根據圖譜schema 定義標注內容。運維知識圖譜中最重要的就是“故障原因”“故障現象”“解決方案”的關系信息,標注數據也是從這三個重要實體著手進行標注。“故障原因”“故障現象”“解決方案”的關系信息是運營重點標注的數據對象,力求標注精度,以實現分類準確,降低模型對數據量的依賴。
“工單號”“日志”兩列都是經過數據清洗后的、原始的非結構化數據;“故障原因”“故障現象”“解決方案”三列,從源數據列中抽取到的對應故障的描述;“故障原因分類”“故障現象分類”“解決方案分類”三列是對故障對應的人工總結歸類。
人工干預標注要求準確,每次標注都應該保證標注內容的準確性,如果模棱兩可或者拿不準的可以不標注,隨機標注時,盡量能覆蓋多種分類,如果同一個類型的問題已經標過很多次了,也可以跳過不標。
知識圖譜作為智慧中臺中AI 中臺的重要模塊,通過智能機器人協同實現智能客服、多輪對話、知識庫、工單處理和服務預測功能,當用戶在知識庫中搜索相關故障時,根據用戶咨詢問題檢索圖譜實體,將檢索到的實體在圖譜中進行可視化展現。
此次課題本階段以基于一年工單及事件單等近2 萬條數據數據源,系統目前已抽取出400 多個故障現象,50 多種解決方案,階段性生成5000 多個關系三元組,存入Neo4j 圖數據庫,通過在知識首頁可以查詢構建好的知識庫,具體根據搜索的內容去展現的相應實體節點和關系圖譜。通過多輪次Schema 模型迭代,形成運維知識圖譜的數據內核和知識心臟。高精度標注工單數據持續更新中。
當一線人員在智能機器人界面中輸入問題時,知識圖譜會根據用戶的描述進行故障現象分類,進而通過知識圖譜關系找到當前用戶詢問的問題的解決方案。目前已完成特定內容返回,后續待優化模型及匹配邏輯。
本課題從設計、運維到運營角度,都達到預期目標,關于本課題的不足,主要還是集中在圍繞知識圖譜構建技術上,例如,當前運維知識圖譜實體提取的困難,數據源信息的不足,需要大量人工標注的問題,實體間關系的錯綜復雜,整體故障分類的長尾效應等等,遇到很多難題,都需要在接下來的工作中,逐步進行優化和提升。
接下來的工作,需要持續優化訓練模型,當模型基本穩定后,數據源由當前的2019 年的業務源范圍,擴展到18 年及以前的歷史數據范圍,也有可能會加入更多省數據,來嘗試發現更多實體及關系,建立更龐大、更有效的知識圖譜。
在知識圖譜未來自動化模型構建的過程中,隨著未來接入數據源量增加,業務負荷增加,對知識庫檢索效率和智能應答質量要求會不斷提高,人工標準的工作量會相應增加,基于“少量人工標注+大量模型預測”的原則,打造智能標注,人工負責邏輯構建、少量數據標注,為減少人工標注工作量,在環節數據處理之后,增加預標注環節,在進行人工標注前,先使用通用領域命名實體識別標注工具進行數據預標注,針對目前比較常用的命名實體識別工具,比如:thulac 、LTP 、NLP IR 、jieba,后續將會做一些調研和比對工作。