韋 偉 鄭 楊 袁嘉梁 李亮亮 續(xù)程宇
(安徽工業(yè)大學(xué)管理科學(xué)與工程學(xué)院,安徽 馬鞍山 243002)
傳統(tǒng)軌道交通設(shè)備故障主要依靠人工巡檢和排查,效率低下且易漏檢。另外,一些先進(jìn)企業(yè)引入了很多先進(jìn)、高精密的檢修系統(tǒng),隨著長(zhǎng)期使用,積累存儲(chǔ)了大量設(shè)備故障資料,在設(shè)備檢修維護(hù)過(guò)程中進(jìn)行復(fù)用、查詢極為不便。因此,如何保證更快速、高效地對(duì)軌道交通設(shè)備故障進(jìn)行排查診斷等,已成為軌道交通運(yùn)營(yíng)管理研究領(lǐng)域中的熱點(diǎn)問(wèn)題。
該文針對(duì)積累存儲(chǔ)的設(shè)備故障數(shù)據(jù),利用知識(shí)抽取、知識(shí)融合等技術(shù)構(gòu)建知識(shí)圖譜模型[1],研發(fā)了一種基于軌道交通設(shè)備故障知識(shí)圖譜的智能搜索應(yīng)用。對(duì)用戶輸入的詞條自動(dòng)抽取知識(shí)圖譜中的故障實(shí)體節(jié)點(diǎn),生成連續(xù)式返回結(jié)果。保證更快速、高效地進(jìn)行部位排查、預(yù)防解決等,使大量多源異構(gòu)數(shù)據(jù)的關(guān)聯(lián)與復(fù)用充分發(fā)揮價(jià)值,提高檢修人員工作效率。
該文面向多數(shù)據(jù)源軌道交通設(shè)備故障知識(shí)庫(kù),包括故障報(bào)告、巡檢日志等,通過(guò)數(shù)據(jù)預(yù)處理使其變?yōu)榻Y(jié)構(gòu)化數(shù)據(jù)形式,再利用數(shù)據(jù)分析技術(shù)構(gòu)建故障實(shí)體屬性及關(guān)系模型,通過(guò)知識(shí)抽取、知識(shí)融合等構(gòu)建故障知識(shí)圖譜,建立知識(shí)存儲(chǔ)與圖譜智能搜索應(yīng)用。
首先,采用遠(yuǎn)監(jiān)督方法對(duì)故障數(shù)據(jù)進(jìn)行分析處理,可以從大規(guī)模的未標(biāo)記數(shù)據(jù)中自動(dòng)抽取關(guān)鍵信息。定義故障實(shí)體節(jié)點(diǎn)及屬性值,包括故障設(shè)備、故障原因等,明確實(shí)體之間的關(guān)系,基于三元組規(guī)則抽取故障知識(shí)實(shí)體、關(guān)系及屬性,實(shí)現(xiàn)故障知識(shí)抽取,提高知識(shí)圖譜的質(zhì)量和準(zhǔn)確性。其次,從實(shí)體節(jié)點(diǎn)和故障處理2 個(gè)維度考慮,構(gòu)建知識(shí)圖譜模式層,將知識(shí)分解成各種主題類別,滿足設(shè)備故障快速定位、故障診斷及維修建議智能推薦等關(guān)鍵應(yīng)用場(chǎng)景。結(jié)合相似度匹配進(jìn)行實(shí)體對(duì)齊,減少實(shí)體冗余和錯(cuò)誤,實(shí)現(xiàn)知識(shí)圖譜構(gòu)建過(guò)程中的知識(shí)融合。最后,利用知識(shí)圖譜智能搜索引擎為用戶提供直觀的故障分析、預(yù)測(cè)和決策支持,提高軌道交通設(shè)備故障處理效率、準(zhǔn)確性和智能化水平。
由于結(jié)構(gòu)化與半結(jié)構(gòu)化的故障數(shù)據(jù)格式與內(nèi)容已知,相關(guān)屬性值識(shí)別后可直接通過(guò)三元組規(guī)則進(jìn)行抽取,而非結(jié)構(gòu)化數(shù)據(jù)文本需要基于句法特征進(jìn)行命名標(biāo)注,因此將數(shù)據(jù)結(jié)構(gòu)統(tǒng)一后進(jìn)行三元組映射。
首先,對(duì)非結(jié)構(gòu)化原始數(shù)據(jù)進(jìn)行預(yù)處理,如文本清洗、分詞和詞性標(biāo)注等,便于后續(xù)實(shí)體識(shí)別和關(guān)系抽取操作[2]。其次,利用命名實(shí)體識(shí)別技術(shù)識(shí)別文本中的實(shí)體,包括故障設(shè)備、故障現(xiàn)象等,再提取實(shí)體間的相互關(guān)系,如設(shè)備和部件的依賴關(guān)系、故障現(xiàn)象與原因之間的相互作用關(guān)系等。此外,通過(guò)實(shí)體對(duì)齊技術(shù)對(duì)不同文本源中同一實(shí)體進(jìn)行對(duì)齊,確保知識(shí)圖譜中實(shí)體元素的一致性和準(zhǔn)確性。最后,將提取的實(shí)體信息與關(guān)系元素組合成三元組的形式構(gòu)建知識(shí)圖譜。同時(shí),通過(guò)機(jī)器學(xué)習(xí)的方法不斷完善和優(yōu)化知識(shí)圖譜模型,包括補(bǔ)充和維護(hù)實(shí)體、屬性及關(guān)系信息等,以增強(qiáng)知識(shí)抽取模型的準(zhǔn)確性和泛化能力,使其成為軌道交通設(shè)備故障診斷和預(yù)測(cè)的重要工具。
2.2.1 基于BERT-BiLSTM-CRF 的實(shí)體識(shí)別標(biāo)注
傳統(tǒng)的BiLSTM-CRF 是一種常用的基于深度學(xué)習(xí)的方法,存在多語(yǔ)句長(zhǎng)文本,會(huì)導(dǎo)致上、下文語(yǔ)句中命名實(shí)體識(shí)別不一致。因此引入BERT 語(yǔ)言訓(xùn)練機(jī)制,利用BERT 字向量嵌入層將其拆解、轉(zhuǎn)化為向量進(jìn)行表示,并作為BiLSTM 網(wǎng)絡(luò)的輸入,可較好地解決上述問(wèn)題[3]。
另外,BERT 模型采用了Transformer 對(duì)文本數(shù)據(jù)編碼,使用自注意力機(jī)制和全連接層來(lái)建模,基于Embedding Transformer Encoder 進(jìn)行特征抽取。其中,自注意力機(jī)制通過(guò)每個(gè)字符與序列之間的相互關(guān)系計(jì)算調(diào)整其重要性權(quán)重,快速捕捉序列中的上、下文信息,學(xué)習(xí)到文本中的長(zhǎng)距離依賴關(guān)系,并且忽略長(zhǎng)文本給模型帶來(lái)的影響。建立的目標(biāo)函數(shù)如公式(1)所示。
將文本信息歸為2 類,一類是基于CRF 層輸出的目標(biāo)實(shí)體標(biāo)簽序列,由B 和I 組成,另一類由O 表示,即結(jié)束位置,輸出“B-value I-value O...”作為最終的標(biāo)注輸出。
2.2.2 模型對(duì)比評(píng)價(jià)
為了比較二者的不同,選用ROC(Receiver Operating Characteristic Curve)指標(biāo)進(jìn)行評(píng)估,建立混淆矩陣,計(jì)算不同的TPR值和FPR值,繪制ROC 曲線[4]。隨機(jī)選出1850 項(xiàng)故障實(shí)體信息作為樣本數(shù)據(jù)集,通過(guò)改變不同的分類閾值,繪制ROC 曲線模型圖來(lái)評(píng)估二者的應(yīng)用性能,得到的對(duì)比結(jié)果如圖1所示。
由圖1 可知,引入后AUC值為73%,30%~60%內(nèi)的曲線上升更明顯。結(jié)果證明,引入的BERT 機(jī)制處理自然語(yǔ)言文本時(shí),具有更好的語(yǔ)義理解和特征提取能力,因此可更好地結(jié)合BIO 法進(jìn)行故障實(shí)體標(biāo)注,更具有價(jià)值性和借鑒性。標(biāo)注示例見(jiàn)表1。
表1 實(shí)體標(biāo)注示例(部分)
模式層構(gòu)建的方法分為自頂向下和自底向上2 種。將二者結(jié)合,前期采用自頂向下的方式,以故障實(shí)體節(jié)點(diǎn)為出發(fā)點(diǎn),結(jié)合故障設(shè)備所處狀態(tài),確定故障現(xiàn)象、原因等實(shí)體節(jié)點(diǎn)及關(guān)系屬性。
然后以故障處理為目標(biāo),采用自底向上的方式進(jìn)行意圖分析,將故障檢查和解決處理等主題特征融合到知識(shí)圖譜中的實(shí)體節(jié)點(diǎn)中,通過(guò)實(shí)體節(jié)點(diǎn)和故障處理2 個(gè)維度的雙向融合,形成一個(gè)動(dòng)態(tài)的閉環(huán)處理流程[5]。
在知識(shí)融合過(guò)程中,實(shí)體對(duì)齊是一個(gè)重要的步驟,通常應(yīng)用余弦相似度算法,但一個(gè)實(shí)體向量是長(zhǎng)文本稀疏向量,其結(jié)果可能會(huì)不準(zhǔn)確,并導(dǎo)致實(shí)體冗余或錯(cuò)誤。
該文基于傳統(tǒng)的CSA 算法,定義重疊比例,解決向量維度為零的問(wèn)題,并通過(guò)相似度函數(shù)對(duì)字詞或短語(yǔ)進(jìn)行語(yǔ)義分析,進(jìn)而可更準(zhǔn)確地衡量2 個(gè)長(zhǎng)文本之間的相似性。從而提供了一個(gè)更全面、更精確的度量方法,可更快速、有效地對(duì)大規(guī)模數(shù)據(jù)集進(jìn)行實(shí)體對(duì)齊,如公式(2)所示。
式中:字符串xi向量為(x1,x2,...,xn),yi向量為(y1,y2,...,yn),|xi∩yi|為相似字符的個(gè)數(shù),min(|xi|,|yi|)為2 個(gè)中字符串長(zhǎng)度最小值。
在NLP 中,上述過(guò)程并不能完全說(shuō)明文本之間的相似性,因此在其基礎(chǔ)上加入歸一化語(yǔ)義相似度(NSS)的計(jì)算,可較大程度上解決多短語(yǔ)語(yǔ)義的問(wèn)題,如公式(3)所示。
式中:x、y為由字符xi、yi或短語(yǔ)a、b組成的長(zhǎng)文本;sim(a,b)為基于公式(2)計(jì)算a、b之間的相似度;w為權(quán)重系數(shù);c為平滑因子,用于解決分母為0 的影響;N為語(yǔ)料庫(kù)的短語(yǔ)總數(shù);min(|x|,|y|)為短語(yǔ)數(shù)量的最小值。
基于Top-k 匹配方法驗(yàn)證改進(jìn)后的方法更具有完備高效性,計(jì)算其算法返回前k個(gè)匹配結(jié)果中的冗余率(Redundancy)、準(zhǔn)確率(Accurate),即對(duì)齊后存在重復(fù)實(shí)體及與正確實(shí)體對(duì)應(yīng)的比例,如公式(4)所示。
式中:nk為前k個(gè)匹配結(jié)果中的實(shí)體數(shù);m為去除重復(fù)實(shí)體后的實(shí)體數(shù);h為正確匹配實(shí)體的數(shù)量。
隨機(jī)選擇設(shè)備實(shí)體類的前1850 個(gè)匹配結(jié)果,匯總計(jì)算結(jié)果見(jiàn)表2。
圖1 對(duì)比結(jié)果
表2 實(shí)體對(duì)齊(部分)
一方面,計(jì)算字符序列的相似性考慮了字符串長(zhǎng)度的影響,另一方面,通過(guò)計(jì)算多短語(yǔ)之間的語(yǔ)義相似度,評(píng)估長(zhǎng)文本相似度。結(jié)果顯示,改進(jìn)后對(duì)齊準(zhǔn)確率可達(dá)93%以上,可進(jìn)行更精確的匹配對(duì)齊。
利用束搜索算法縮小搜索空間,達(dá)到自動(dòng)識(shí)別上一搜索實(shí)體節(jié)點(diǎn)并將其作為主題的效果,實(shí)現(xiàn)維修建議的多段式一次性輸出,解決傳統(tǒng)需要重復(fù)輸入并進(jìn)行多次識(shí)別的問(wèn)題。定義初始搜索狀態(tài)為S0,包括搜索深度d、束寬k和初始搜索路徑P0,如公式(5)所示。
式中:S0為初始搜索狀態(tài)集合;P0為初始搜索路徑;d為搜索深度;k為束寬,即搜索狀態(tài)集合St中的路徑數(shù)量。
在搜索過(guò)程中,為自動(dòng)記憶上一次搜索實(shí)體并將其作為當(dāng)前的主題信息,會(huì)在束寬為k、搜索深度為d的搜索路徑中選擇評(píng)估分?jǐn)?shù)最高的進(jìn)行擴(kuò)展,并將其添加到搜索狀態(tài)集合St+1中,如公式(6)所示。
式中:BeamSearch(St,k,d)為在搜索狀態(tài)集合St中選擇k條搜索深度為d且評(píng)估分?jǐn)?shù)最高的搜索路徑。
定義如公式(7)所示的得分評(píng)估函數(shù)。
式中:Score(Pt)根據(jù)搜索路徑的質(zhì)量指標(biāo)計(jì)算,包括搜索路徑的概率或效用等;et為當(dāng)前搜索路徑Pt的實(shí)體;et-1為上一次搜索的實(shí)體,初始時(shí)為空;AssociationScore(et,et-1)根據(jù)et與et-1之間的相似性計(jì)算關(guān)聯(lián)評(píng)分;w為權(quán)重系數(shù)。
記錄每個(gè)擴(kuò)展?fàn)顟B(tài)St+1對(duì)應(yīng)的實(shí)體,同時(shí)將上一次搜索的實(shí)體et-1更新為當(dāng)前狀態(tài)對(duì)應(yīng)的實(shí)體。在束搜索循環(huán)結(jié)束后,根據(jù)公式(8),從擴(kuò)展?fàn)顟B(tài)集合中選擇得分最高的狀態(tài)S'=(ps,es,ks,ds),并記錄該狀態(tài)下對(duì)應(yīng)的實(shí)體es,將其作為下一次無(wú)主題詞條的實(shí)體嵌入,如公式(8)所示。
式中:argmax 為狀態(tài)集合St+1中得分最高的狀態(tài);f(ps)為對(duì)搜索路徑pt進(jìn)行進(jìn)一步評(píng)估的函數(shù)。
由于一個(gè)較長(zhǎng)詞條中S'會(huì)遍歷很多的實(shí)體候選輸出序列,因此需要加置懲罰系數(shù)來(lái)彌補(bǔ)長(zhǎng)序列輸出的冗余,根據(jù)公式(9)計(jì)算出預(yù)測(cè)序列排序得分,將得分最高的實(shí)體序列作為最終記憶實(shí)體輸出并抽取檢索。
式中:L為最終候選序列的長(zhǎng)度;α通常設(shè)置為0.75;Lα為懲罰長(zhǎng)序列系數(shù)。
使用Cypher 語(yǔ)句對(duì)Neo4j 圖數(shù)據(jù)庫(kù)進(jìn)行查詢,例如某一設(shè)備的故障原因(fault_cause)查詢語(yǔ)句為“MATCH(m:Fault)where m.name='{0}'return m.name.cause.”。利用NLP 技術(shù)將其轉(zhuǎn)化為自然語(yǔ)言,直接輸入“下極限報(bào)警原因”。通過(guò)上述算法步驟,記憶并輸出最終預(yù)測(cè)序列,根據(jù)信息類型和內(nèi)部結(jié)構(gòu)驅(qū)動(dòng),既可連續(xù)式追加查詢,也可針對(duì)處理解決、預(yù)防措施等維修建議進(jìn)行一次性推薦輸出。
借助精確率、召回率及F1值評(píng)價(jià)整體應(yīng)用性能,選取了1850 條故障信息詞條與6 類設(shè)備故障主題特征作為測(cè)試數(shù)據(jù)集,以統(tǒng)計(jì)應(yīng)用性能的各個(gè)評(píng)價(jià)指標(biāo)值。經(jīng)迭代,第154次的結(jié)果最優(yōu),得到的評(píng)估結(jié)果如圖2所示。
圖2 評(píng)估結(jié)果
由圖2 可知,F(xiàn)1均值為90.89%,處于較高水平,說(shuō)明構(gòu)建的故障知識(shí)圖譜應(yīng)用性與主題先驗(yàn)性較高,可為用戶提供高效的服務(wù),算法應(yīng)用與語(yǔ)義搜索效果良好。
綜合結(jié)果,改進(jìn)后的CSA 算法實(shí)體匹配效率至少提升了20%,整體綜合應(yīng)用評(píng)價(jià)均值達(dá)到了90.89%。充分說(shuō)明構(gòu)建的設(shè)備故障知識(shí)圖譜應(yīng)用性與主題先驗(yàn)性較高,可高效實(shí)現(xiàn)故障診斷與維修建議的智能化推薦,提高設(shè)備維護(hù)效率,為軌道交通“智慧化巡檢”的建設(shè)奠定了基礎(chǔ)。