鞠冬彬
(青島大學 數據科學與軟件工程學院,山東 青島 266071)
隨著公司信息系統深化應用的不斷開展,每個業務系統的應用水平也不斷提高。公司本部及以下各級單位用戶在工作過程中遇到的各種疑難問題,通過客服系統不斷反饋到公司運維組。各個業務系統的運維專責每天要處理大量的用戶來電,產生大量運維工單,特別是在業務集中辦理或者系統優化升級后,大量用戶集中打電話咨詢客服[1],導致了如下問題:
(1)造成客服坐席不足,咨詢用戶排隊等待;
(2)缺乏運維經驗[2]和用戶咨詢問題處理知識共享機制,大量的歷史運維數據沒有發揮更大作用;
(3)不同地域和單位反饋相同的問題[3],運維人員重復處理,效率低;
(4)非工作時段,無法提供用戶咨詢服務。
客服所接電話中反映的問題,有80%屬于重復的問題,通過查閱歷史工單,就可以有效地解決。為提升運維服務質量,增強運維經驗和問題處理知識共享手段,提高用戶自助獲得業務系統相關知識能力,本文通過大數據智能分析技術,對海量運維數據進行深度計算與分析挖掘,智能化對關鍵咨詢的問題進行內容提取,識別出關鍵特征信息,構建豐富的知識庫,并且結合自然語言處理的技術,提高公司信息系統運轉效率。
傳統的KNN算法的系統邏輯圖如圖1所示。

圖1 系統邏輯架構圖
系統的模塊組成如圖2所示。

圖2 模塊組成圖
系統管理模塊包括:數據采集模塊、數據存儲模塊、批量分析計算模塊、知識庫模塊、自助客服模塊五部分。
主要在指定主機服務器目錄下采集加工處理后的運維體系工單數據。該部分需要實現以下功能:
(1)采集器對數據采集時間間隔的定義,本系統采集間隔時間定義為1 h;
(2)采集的數據文件類型Source,本系統采用TXT文件;
(3)對采集文件的編碼定義,被采集文件為UTF-8編碼格式;對Hadoop建立數據接口,在數據采集的同時存儲于Hadoop文件系統上。
利用Hadoop分布式文件系統來實現文件存取功能。具體需要實現的功能如下:
(1)分布式文件讀取,根據分布式文件系統路徑和文件名來讀取到文件內容;
(2)分布式文件寫入,根據分布式文件系統路徑和文件名寫入文件;
(3)目錄規劃,根據運維體系中“所屬應用系統”劃分分布式文件系統目錄路徑。具體劃分依據為:ERP人資與人資管控;ERP物資與電子商務系統;ERP設備;ERP權限變更;門戶目錄;ERP項目;基建管控;ERP財務;生產管理;GIS;經法OA系統辦公等;幫助(意見與建議);桌面運維;值班長(不接電話);投訴受理。
在數據庫建立數據字典,創建字典ID,字典名稱、字典描述、序號等信息,在分布式系統下創建/ics/字典名稱/yyyymmdd/字典名稱_yyyymmdd.txt文件;
(4)操作日志表selfservice_ld_file,主要字段包括,數據日期(datatime yyyymmdd)、唯一編號、文件HDFS路徑、文件大小、文件名、文件保存時間、spark處理時間等字段,在文件進行寫入到分布式文件系統時需要在該操作日志表添加一條相應的記錄。
該模塊是整個系統分析計算的核心,主要針對分類的工單運維體系進行分析,通過分析歷史運維工單數據,得出數據之間的聚類關系與相似度關系。當用戶需要檢索時輸入問題,在問題處理模塊,首先分析用戶問題所屬分類,分析問題中語法、語義、詞,結合一定數據算法,檢索到與問題匹配精確度比較高的解決答案來。并且最終返回給用戶的一個過程。
短文本相似度計算,基于詞義詞典的方法,將短文本分解成一系列的詞,然后基于語義詞典計算詞與詞之間的語義相似度,最后將詞與詞的語義相似度綜合起來得到文本與文本的語義相似度。其中,語義詞典起到十分重要的作用,只有通過它,才能夠計算詞與詞之間的語義相似度。
當用戶提出一個新問題時,采用以上方式把它映射到語義空間中。新問題和問題集的某個問題的相似度可以通過它們對應向量的余弦相似度得到。具體的處理邏輯如圖3所示。
知識庫模塊存放運維工單數據經過相似度量化分析后的數據以及系統中用到基礎數據,這些數據包括:
(1)數據字典信息,有Hadoop定義存放文件路徑信息、“所屬應用系統”劃分大類信息:ERP人資與人資管控、ERP物資與電子商務系統、ERP設備、ERP權限變更、用戶目錄、ERP項目、基建管控、ERP財務、生產管理系統、GIS、經法OA系統辦公等、幫助(意見與建議)、桌面運維、值班長(不接電話)、投訴受理等;

圖3 文本處理流程圖
(2)使用系統用戶信息,有用戶名、登錄密碼、所屬部門、崗位等信息;
(3)操作日志信息記錄表。
自助客服模塊是基于Web瀏覽器頁面,對大數據智能分析技術在客服運維體系中的研究與應用平臺所需要的基礎數據進行維護,對客服運維智能化分析平臺結果進行展現的部分。
數據檢索邏輯如圖4所示。

圖4 數據檢索圖
圖4中涉及的問題處理模塊是對用戶提出問題進行分析,出問題所屬大類、關鍵詞提取、分詞權重計算等,然后根據分析計算模塊分析的結果與數據-知識庫進行數據檢索、邏輯比較、相似度對比抽取出比較精確的答案給用戶。自助客服提供的具體功能如下:
2.5.1 問題處理模塊
問題處理模塊,需要對用戶的問題進行分類。問題對應答案的類型,當對問題進行分類后,對應的答案也應該屬于該類別中。問題的焦點,需要通過語義、語法分析,提煉出用戶問題的核心。本系統以問題關鍵字的集合,作為短文本索引的查詢輸入。
2.5.2 信息檢索模塊
信息檢索模塊的目的是獲得和問題相關的信息,主要包括信息收集和信息過濾兩個步驟。信息收集是通過查找內存或者數據庫找出相應的信息。
2.5.3 答案抽取模塊
答案抽取模塊從信息檢索模塊得到信息然后提取出精確的答案,并且返回給用戶展現在自助客服頁面。
如何計算句子的相似度是本文工作的重點,本設計基于統計的方法進行計算句子相似度。
傳統的計算句子相似度的算法,多是基于計算兩個句子的相同詞數的算法,但是實際的情況詞數不能相等,即所謂的句子A與句子B的相似度不等于句子B與句子A的相似度,孔勝[4],李茹[5]采取的方法是取兩者的平均值,得到A與B的相似度。將句子進行分詞去停用詞之后,轉化成向量S=(t1,t2,t3……tn)T。
定義:A對B的相似度為加權和,公式如下。
(1)
由此計算句子的相似度為
(2)
本系統設計效果如圖5所示。

圖5 設計效果圖
該設計從客服實際需求出發,以提供良好的服務為目的,以提高公司信息運維。利用智能客服和自然語言處理的技術設計搭建該智能客服系統。當客戶不能及時解決問題時,能有效自助地獲得解決方案,使用戶滿意度提高,從而加快信息處理的速度,公司業務運維更加流暢。從公司的角度,該設計加快了信息化建設,降低了公司的運營成本,使公司的運營更有效率。