谷奉錦,賀楚閎,潘慶亞,王 曄,朱曉榮*
(1.南京郵電大學(xué) 江蘇省無線通信重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210003;2.中國移動通信集團(tuán)江蘇有限公司,江蘇 南京 210003)
隨著移動通信網(wǎng)絡(luò)的發(fā)展,未來網(wǎng)絡(luò)將不是單一存在或僅使用單一技術(shù),而是多種技術(shù)的共存互補(bǔ)和共同發(fā)展。在這種網(wǎng)絡(luò)異構(gòu)化、密集化的發(fā)展趨向下,如何對網(wǎng)絡(luò)故障進(jìn)行高效的診斷與分析成為一個巨大挑戰(zhàn)。傳統(tǒng)的故障管理完全基于操作人員的專業(yè)知識進(jìn)行,但實(shí)際上,專業(yè)知識是有限的以及通過人工維護(hù)是困難的。一方面,面對各種網(wǎng)絡(luò)故障,網(wǎng)絡(luò)診斷程序需要非常短的響應(yīng)時間;另一方面,網(wǎng)絡(luò)規(guī)模和復(fù)雜性的增加以及人工操作員有限的處理能力,將使網(wǎng)絡(luò)故障的診斷不可能在沒有自動化的情況下有效地執(zhí)行。此外,由于現(xiàn)有系統(tǒng)的缺陷,運(yùn)營商很難提前預(yù)測網(wǎng)絡(luò)可能產(chǎn)生哪些故障。在移動通信網(wǎng)絡(luò)環(huán)境下,故障會不時地發(fā)生或產(chǎn)生級聯(lián)效應(yīng),因此,如何對網(wǎng)絡(luò)故障進(jìn)行及時準(zhǔn)確的診斷分析具有重要的研究意義。
傳統(tǒng)運(yùn)維人員基于經(jīng)驗(yàn),根據(jù)故障的基本信息和故障癥狀,逐步分析出故障的原因及故障的解決措施。但如果單純基于經(jīng)驗(yàn)與已知故障信息無法分析出故障原因等措施,就需要增加診斷措施,甚至是查閱相關(guān)的材料(如故障分析案例等)來分析故障并找到解決措施[1]。
近年來,隨著人工智能技術(shù)(Artificial Intelligence,AI)和大數(shù)據(jù)挖掘的發(fā)展,越來越多的基于機(jī)器學(xué)習(xí)(Machine Learning,ML)的智能故障診斷方法受到科研工作者的的喜愛[2]。目前,基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)故障診斷技術(shù)得到了廣泛應(yīng)用,其中應(yīng)用最廣泛的主要有基于支持向量機(jī)(Support Vector Machines,SVM)的故障診斷方法、基于人工神經(jīng)網(wǎng)絡(luò)(Artifical Neural Network,ANN)的故障診斷方法[3]以及基于深度學(xué)習(xí)(Deep Learning,DL)的網(wǎng)絡(luò)故障診斷方法等[4]?;跈C(jī)器學(xué)習(xí)進(jìn)行故障診斷的方法可以充分利用大數(shù)據(jù)對可能發(fā)生的故障模式以及故障原因等做出診斷,但純粹基于數(shù)據(jù)的網(wǎng)絡(luò)故障診斷方法會有兩個缺陷,首先是可解釋性,傳統(tǒng)的基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的模型對于用戶而言是一個黑匣子,無法向用戶解釋最終的故障診斷結(jié)果,降低了其在實(shí)際工程中的應(yīng)用;其次,它不能有效利用現(xiàn)有的先驗(yàn)知識,如故障診斷記錄等非結(jié)構(gòu)化的知識,導(dǎo)致一些數(shù)據(jù)資源的浪費(fèi)[5]。
知識圖譜概念自2012年被谷歌提出后引起了業(yè)界廣泛關(guān)注[6],近年來在很多領(lǐng)域有了廣泛的應(yīng)用[7]。知識圖譜可以把大量的信息、數(shù)據(jù)和連接關(guān)系匯集成知識,讓信息資源能夠更方便計算、理解和評價,可以更有效地表達(dá)、管理組織和利用現(xiàn)有的海量異構(gòu)且動態(tài)的大數(shù)據(jù),使網(wǎng)絡(luò)更加智能,與人類的認(rèn)知思維更加貼合[8]。知識圖譜近年來在很多領(lǐng)域有了廣泛的應(yīng)用,文獻(xiàn)[9]提出調(diào)度知識圖譜的詳細(xì)構(gòu)建方法,并詳細(xì)介紹了構(gòu)建的電力系統(tǒng)調(diào)度知識圖譜,討論了知識圖譜在實(shí)際電力系統(tǒng)調(diào)度場景中的好處。文獻(xiàn)[10]為了解決電力系統(tǒng)調(diào)度知識繁雜,且對于調(diào)度決策的實(shí)時性要求較高等問題,提出一種基于知識圖譜的配電網(wǎng)故障輔助決策方法,充分利用現(xiàn)有專家經(jīng)驗(yàn)、故障案例和配電網(wǎng)調(diào)度規(guī)則等先驗(yàn)知識,構(gòu)建了同時包含配電網(wǎng)調(diào)度、配電網(wǎng)故障處理、配電網(wǎng)業(yè)務(wù)流程等知識的配電網(wǎng)故障調(diào)度知識圖譜,輔助電網(wǎng)工作人員快速響應(yīng)處理電網(wǎng)調(diào)度出現(xiàn)的故障。近年來,知識圖譜還被廣泛運(yùn)用在醫(yī)療、教育以及故障診斷等領(lǐng)域。文獻(xiàn)[11]通過分析中醫(yī)診療過程,提取中醫(yī)核心概念,構(gòu)建本體層。使用深度學(xué)習(xí)從非結(jié)構(gòu)化數(shù)據(jù)中提取實(shí)體及其關(guān)系以構(gòu)建中醫(yī)知識圖譜,構(gòu)建了一個基于知識圖譜的端到端平臺 TCMKG,來提供知識檢索。文獻(xiàn)[12]運(yùn)用知識圖譜和機(jī)器學(xué)習(xí)算法對大量實(shí)驗(yàn)室檢查數(shù)據(jù)和實(shí)驗(yàn)診斷數(shù)據(jù)進(jìn)行訓(xùn)練和分析,建立一個由知識和數(shù)據(jù)雙驅(qū)動的,兼具魯棒性和可解釋性的檢驗(yàn)AI系統(tǒng),其核心功能是準(zhǔn)確診斷疾病并提供合理的解釋。在通信故障診斷領(lǐng)域,也廣泛應(yīng)用知識圖譜技術(shù),文獻(xiàn)[13-14]將工作人員日常維護(hù)日志以及相關(guān)的操作經(jīng)驗(yàn)等非結(jié)構(gòu)化的知識結(jié)構(gòu)化,通過知識圖譜相關(guān)技術(shù)構(gòu)建了基于知識圖譜的智能故障診斷架構(gòu),通過自動關(guān)聯(lián)告警信息、自動匹配設(shè)備信息、智能獲取業(yè)務(wù)影響范圍等手段,實(shí)現(xiàn)了通信故障的快速發(fā)現(xiàn)與準(zhǔn)確定位。文獻(xiàn)[15]提出了一種基于知識圖譜的地鐵故障推薦模型,該模型可以輔助地鐵維修工作人員更快更準(zhǔn)確地響應(yīng)地鐵可能發(fā)生的故障,提高了工作效率。文獻(xiàn)[4]充分利用已有的先驗(yàn)知識,構(gòu)建了一種面向飛機(jī)電源系統(tǒng)故障診斷的知識圖譜,應(yīng)用其進(jìn)行飛機(jī)電源系統(tǒng)故障診斷與排查,使整個過程安全且高效。文獻(xiàn)[1]提出了一種基于知識圖譜的智能故障診斷方法,充分利用電信網(wǎng)絡(luò)領(lǐng)域的專家經(jīng)驗(yàn)構(gòu)建電信領(lǐng)域知識圖譜,并運(yùn)用知識推理等技術(shù),進(jìn)行智能網(wǎng)絡(luò)故障診斷,輔助解決網(wǎng)絡(luò)運(yùn)維方面的的問題。文獻(xiàn)[16]構(gòu)建了用于故障診斷和分析的知識圖譜系統(tǒng),使得故障診斷和分析效率更加高效、便捷。目前各種利用深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)等工具與知識圖譜相結(jié)合,以此來解決實(shí)際問題的方法逐漸變成主流[17-18]。
因此為了降低運(yùn)維門檻,提升網(wǎng)絡(luò)運(yùn)維效率,本文設(shè)計了一種基于知識圖譜與機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)故障智能分析方法,利用專家經(jīng)驗(yàn)及故障案例等知識搭建網(wǎng)絡(luò)故障知識圖譜,應(yīng)用知識圖譜進(jìn)行智能化故障分析。首先利用已有的專家知識,構(gòu)建5G網(wǎng)絡(luò)故障知識圖譜本體,利用現(xiàn)有數(shù)據(jù)通過知識抽取、知識融合等步驟搭建網(wǎng)絡(luò)故障知識圖譜;其次利用機(jī)器學(xué)習(xí)方法進(jìn)行網(wǎng)絡(luò)故障診斷,將數(shù)據(jù)轉(zhuǎn)化為知識,針對不同的診斷問題匹配不同的機(jī)器學(xué)習(xí)算法,提高故障診斷的準(zhǔn)確性;最后應(yīng)用知識圖譜提出一種基于知識和數(shù)據(jù)雙驅(qū)動的網(wǎng)絡(luò)故障分析方法,并提出了一種基于知識子圖匹配的網(wǎng)絡(luò)故障知識檢索方法。
如圖1所示,網(wǎng)絡(luò)故障領(lǐng)域知識圖譜應(yīng)用架構(gòu)覆蓋數(shù)據(jù)層、構(gòu)建層以及應(yīng)用層等3個等級。數(shù)據(jù)層負(fù)責(zé)獲取數(shù)據(jù)并解析,構(gòu)建層是整個架構(gòu)的核心層,首先根據(jù)網(wǎng)絡(luò)故障診斷領(lǐng)域?qū)<抑R以及知識圖譜應(yīng)用需求構(gòu)建本體,確定圖譜中所包含的實(shí)體與關(guān)系類型。
圖1 網(wǎng)絡(luò)故障領(lǐng)域知識圖譜應(yīng)用架構(gòu)示意圖
本體構(gòu)建結(jié)束后要對現(xiàn)有的數(shù)據(jù)進(jìn)行知識抽取,知識抽取包括實(shí)體抽取與關(guān)系抽取兩部分。對于從不同數(shù)據(jù)來源抽取的知識,需要進(jìn)行知識融合,以此來減少知識的冗余。完成知識抽取與知識融合之后,將知識以三元組的形式存放在Neo4j圖數(shù)據(jù)庫中,搭建完整的面向網(wǎng)絡(luò)故障診斷的知識圖譜。在上述工作基礎(chǔ)上,基于搭建好的網(wǎng)絡(luò)故障知識圖譜,結(jié)合機(jī)器學(xué)習(xí)進(jìn)行智能化網(wǎng)絡(luò)故障診斷與分析。
知識圖譜從宏觀上可以分為兩大類,通用知識圖譜和行業(yè)(領(lǐng)域)知識圖譜。網(wǎng)絡(luò)故障知識圖譜是針對故障診斷領(lǐng)域構(gòu)建的行業(yè)知識圖譜,采用自頂向下的設(shè)計方式。首先根據(jù)專家知識構(gòu)建圖譜的本體,本文選擇使用專家知識人工構(gòu)建本體。構(gòu)建本體包括規(guī)定實(shí)體類型、關(guān)系類型和關(guān)系類型的頭尾實(shí)體類型。
在網(wǎng)絡(luò)故障領(lǐng)域定義以<實(shí)體-屬性-屬性值>和<概念-關(guān)系-概念>為核心的知識圖譜。根據(jù)專家經(jīng)驗(yàn)構(gòu)建了網(wǎng)絡(luò)故障知識圖譜上層本體,如圖2所示,包含“故障模式”“故障原因”“故障解決方案”“故障可能引發(fā)事故”“故障發(fā)生位置”等概念及其相互之間的關(guān)系。
圖2 網(wǎng)絡(luò)故障知識圖譜本體
針對網(wǎng)絡(luò)故障知識圖譜而言,數(shù)據(jù)來源主要分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)3種類型,如圖3所示。
圖3 知識抽取數(shù)據(jù)來源
故障數(shù)據(jù)庫中包含的數(shù)據(jù)為結(jié)構(gòu)化數(shù)據(jù),對于結(jié)構(gòu)化的數(shù)據(jù)知識抽取較簡單,可以根據(jù)數(shù)據(jù)源與本體進(jìn)行一一映射直接抽取。對于員工日志、網(wǎng)絡(luò)故障案例等半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)需要根據(jù)其具體結(jié)構(gòu)和內(nèi)容,設(shè)計相應(yīng)的抽取算法進(jìn)行知識抽取,一般有基于規(guī)則模板的算法、基于機(jī)器學(xué)習(xí)的算法和基于神經(jīng)網(wǎng)絡(luò)的算法。
傳統(tǒng)的知識抽取方法是以一種流水線的方式進(jìn)行的,即將實(shí)體抽取和關(guān)系抽取分步執(zhí)行,即首先利用命名實(shí)體識別技術(shù)來抽取實(shí)體,然后對這些實(shí)體間的關(guān)系進(jìn)行識別,進(jìn)而生成三元組。由于兩次抽取操作分步進(jìn)行,流水線方法存在誤差傳遞、信息冗余與忽視兩個子任務(wù)間聯(lián)系等問題。本系統(tǒng)采用實(shí)體關(guān)系聯(lián)合抽取算法,使用網(wǎng)絡(luò)故障領(lǐng)域文本語句預(yù)訓(xùn)練語言模型,同時抽取實(shí)體及其之間關(guān)系。通過該聯(lián)合抽取模型,輸入一個句子,可直接得到<實(shí)體-關(guān)系-實(shí)體>三元組?;诠收显\斷方面的知識抽取實(shí)例如圖4所示。
圖4 知識抽取實(shí)例
從不同的數(shù)據(jù)來源中所抽取到的知識,會出現(xiàn)知識重復(fù)和冗余的問題,知識融合過程是通過實(shí)體對齊、屬性對齊等技術(shù)來消除冗余。
圖數(shù)據(jù)庫能夠直觀地對數(shù)據(jù)進(jìn)行管理,并能夠?qū)崿F(xiàn)數(shù)據(jù)之間的關(guān)系鏈接,Neo4j是圖數(shù)據(jù)庫中比較典型的代表。
Neo4j圖數(shù)據(jù)庫具有較強(qiáng)的擴(kuò)展能力,可以與多種編程語言和開發(fā)平臺相結(jié)合,如Java和Python等。同時Neo4j采用的圖存儲結(jié)構(gòu)具有自由鄰接的特點(diǎn),因此具有比較強(qiáng)的關(guān)系處理能力,同時可以很好地實(shí)時更新數(shù)據(jù)。因此本文選擇Neo4j圖數(shù)據(jù)庫作為搭建及展示知識圖譜的載體。本文構(gòu)建的網(wǎng)絡(luò)故障知識圖譜部分結(jié)構(gòu)如圖5所示。
圖5 網(wǎng)絡(luò)故障知識圖譜部分結(jié)構(gòu)圖
在構(gòu)建的網(wǎng)絡(luò)故障知識圖譜的基礎(chǔ)上,本文提出了一種基于知識和數(shù)據(jù)雙驅(qū)動的網(wǎng)絡(luò)故障分析方法,該方法利用現(xiàn)有數(shù)據(jù)訓(xùn)練機(jī)器學(xué)習(xí)算法,進(jìn)行網(wǎng)絡(luò)故障診斷,通過診斷是否發(fā)生故障及故障原因,將已有的數(shù)據(jù)轉(zhuǎn)化為知識的形式,將診斷結(jié)果作為已知條件輸入到知識圖譜中,利用知識檢索與知識推理進(jìn)行網(wǎng)絡(luò)故障分析,并最終通過知識子圖的形式輸出故障分析結(jié)果,整體的系統(tǒng)流程如圖6所示。
圖6 系統(tǒng)流程圖
本文對機(jī)器學(xué)習(xí)模型訓(xùn)練所使用的實(shí)驗(yàn)數(shù)據(jù)為在南京某區(qū)域采集的真實(shí)數(shù)據(jù),數(shù)據(jù)集經(jīng)專業(yè)人員分析整理。數(shù)據(jù)提供了12 000條帶有標(biāo)簽的故障數(shù)據(jù),其中主要包含了RSRP、RSRQ、RSSI和SINR等14項(xiàng)衡量指標(biāo),具體如表1所示。
表1 數(shù)據(jù)所包含主要衡量指標(biāo)
數(shù)據(jù)預(yù)處理主要包括兩部分:標(biāo)準(zhǔn)化和特征篩選。
(1) 標(biāo)準(zhǔn)化
假設(shè)給定了k個指標(biāo)X1,X2,…,Xk,其中
Xi={x1,x2,…,xn},
(1)
(2)
其中,k=14,n=1,2,…,12 000。
(2) 特征選擇
本文利用XGboost算法統(tǒng)計各個KPI對系統(tǒng)模型的權(quán)重,權(quán)重越大證明其對最終決策結(jié)果影響越大。經(jīng)計算,權(quán)重具體值如表2所示。
表2 指標(biāo)權(quán)重
從表2可以看出,不同的指標(biāo)在模型中起到的作用不同。在故障診斷模型中,重要度較高的5個指標(biāo)為RSRP0、SINR、RSRP1、RSRP_1和SINR0。
得到具體權(quán)重值并進(jìn)行排序后,運(yùn)用XGboost進(jìn)行測試,發(fā)現(xiàn)當(dāng)保留8個特征值時,此時模型的正確率趨于穩(wěn)定,具體特征值個數(shù)與結(jié)果準(zhǔn)確率關(guān)系如圖7所示。
圖7 特征值數(shù)量與準(zhǔn)確率關(guān)系
本文旨在針對不同的故障診斷問題匹配不同的機(jī)器學(xué)習(xí)算法,在檢測到發(fā)生故障且確定故障類型后,對不同的故障類型使用不同的機(jī)器學(xué)習(xí)算法診斷對應(yīng)的故障原因。本文以弱覆蓋以及過覆蓋兩種故障類型為例,具體診斷其故障發(fā)生原因。
在SEC儲量評估變化原因分析中,采油廠具有與勘探開發(fā)工作相結(jié)合對評估單元進(jìn)行精細(xì)分析的優(yōu)勢。通常,采油廠在一年或者一個階段的生產(chǎn)過程中,開展了大量的非投資性開發(fā)調(diào)整工作,如注采調(diào)整(調(diào)配)、注入質(zhì)量提升、轉(zhuǎn)注等。這些工作影響了開發(fā)形勢也直接影響到SEC儲量評估結(jié)果,但是這些開發(fā)行為在評估師評估中及高層評估分析中不易掌握和分析到。
針對同一問題往往有多種模型可以解決,但每種模型都有著自身的特點(diǎn)和適合解決的問題,本文在相同的數(shù)據(jù)集基礎(chǔ)上,訓(xùn)練對比了邏輯回歸、支持向量機(jī)、線性判別分析、樸素貝葉斯、K近鄰以及決策樹6種機(jī)器學(xué)習(xí)算法的準(zhǔn)確度,最終為當(dāng)前問題選擇最佳的機(jī)器學(xué)習(xí)算法模型。
通過表3可以看出,不同的問題有各自最適合的機(jī)器學(xué)習(xí)算法。對于弱覆蓋原因診斷問題而言,K近鄰算法的準(zhǔn)確度最高為99.1%,對于過覆蓋原因診斷問題而言,最合適的算法為線性判別分析算法。
表3 6種機(jī)器學(xué)習(xí)算法準(zhǔn)確度對比
本文提出一種基于子圖匹配的知識檢索方法,應(yīng)用故障數(shù)據(jù)在通過網(wǎng)絡(luò)故障診斷模型后,輸出網(wǎng)絡(luò)故障類型及故障原因,在知識圖譜中檢索與相關(guān)結(jié)果有關(guān)的所有信息。具體流程如圖8所示。
圖8 基于子圖匹配的知識檢索流程
步驟1通過機(jī)器學(xué)習(xí)算法,將已有的數(shù)據(jù)信息輸出為知識信息,將其作為已知條件輸入至網(wǎng)絡(luò)故障知識圖譜,采用實(shí)體識別技術(shù)進(jìn)行核心實(shí)體識別。
步驟2判斷故障知識圖譜中是否包含該實(shí)體。
步驟3從核心實(shí)體出發(fā),在知識圖譜中搜索與核心實(shí)體距離為1的實(shí)體。
步驟4輸出包含核心實(shí)體及與其距離為1的所有實(shí)體及關(guān)系的知識圖譜子圖。
通過對本文故障診斷模型與傳統(tǒng)故障診斷模型行對比分析,分析比較兩種系統(tǒng)模型在故障診斷數(shù)據(jù)集上的準(zhǔn)確度,結(jié)果如表4所示。
表4 不同故障診斷模型準(zhǔn)確性比較
由結(jié)果可見,相比于傳統(tǒng)的單純基于一種機(jī)器學(xué)習(xí)算法的方法,通過細(xì)化診斷問題為不同的診斷問題匹配不同的機(jī)器學(xué)習(xí)算法準(zhǔn)確率有較大提升。
圖9為以弱覆蓋為核心實(shí)體輸出的知識圖譜子圖,從圖中可清楚看到對于故障的描述(弱覆蓋是基站所需要覆蓋面積大,基站間距過大,或者建筑物遮擋而導(dǎo)致邊界區(qū)域信號較弱;弱覆蓋一般都是在Rxlev<-90 dBm)及故障解決方案(增加基站建設(shè))等信息。
圖9 以弱覆蓋為核心實(shí)體的知識圖譜子圖
本文提出了一種基于知識和數(shù)據(jù)雙驅(qū)動的網(wǎng)絡(luò)故障分析方法。通過本體構(gòu)建、知識抽取以及知識融合等技術(shù)利用Neo4j圖數(shù)據(jù)庫搭建面向網(wǎng)絡(luò)故障診斷的知識圖譜;結(jié)合機(jī)器學(xué)習(xí)進(jìn)行智能化網(wǎng)絡(luò)故障診斷與分析;將網(wǎng)絡(luò)故障診斷問題拆分成不同子問題,對比不同機(jī)器學(xué)習(xí)算法的準(zhǔn)確性,為不同診斷問題匹配準(zhǔn)確度最高的機(jī)器學(xué)習(xí)算法;利用Neo4j圖數(shù)據(jù)庫提出基于子圖匹配的知識檢索方法,將網(wǎng)絡(luò)分析結(jié)果以知識圖譜子圖的形式展示。本方法可以利用歷史故障分析案例輔助工程師更加快捷精準(zhǔn)探查故障問題根源,并更快指定對應(yīng)的改善措施,同時通過知識圖譜平臺進(jìn)行學(xué)習(xí),可以提升信息探索速率,加速知識和經(jīng)驗(yàn)的沉淀。
在今后的工作中,將加入更多的數(shù)據(jù)來源,構(gòu)建更大規(guī)格的網(wǎng)絡(luò)故障知識圖譜,輔助提升網(wǎng)絡(luò)故障分析效率。此外針對網(wǎng)絡(luò)故障診斷問題,改進(jìn)現(xiàn)有機(jī)器學(xué)習(xí)算法,從而更加精確地進(jìn)行網(wǎng)絡(luò)故障診斷。