任 勇
(南京電子技術研究所,南京 210039)
融合語義網(wǎng)的故障檢索系統(tǒng)設計與構(gòu)建
任 勇
(南京電子技術研究所,南京 210039)
針對雷達故障數(shù)據(jù)和經(jīng)驗性技術支持文檔的信息提取,提出了一種融合語義網(wǎng)技術的故障檢索系統(tǒng)的設計與實現(xiàn)方法;該系統(tǒng)采用故障樹組織結(jié)構(gòu)化的歷史故障數(shù)據(jù),將故障樹轉(zhuǎn)化為二元決策圖從而獲取頂層故障事件的最小割集,而后通過語義匹配獲取精確的故障原因信息;同時,借助開源搜索引擎Lucene檢索技術文檔庫,獲得與用戶檢索條目相關的支持文檔;其中,為了提升中文分詞和文本匹配的精確性,該系統(tǒng)還利用本體語言構(gòu)建了專業(yè)詞匯語義網(wǎng),考量了詞語之間的語義相關度;該系統(tǒng)已應用于某型機載有源相控陣雷達電源單元的故障檢索,取得了很好的技術輔助效果。
故障檢索;語義網(wǎng);故障樹;二元決策圖;開源搜索引擎
現(xiàn)代雷達系統(tǒng)日趨復雜,對故障診斷和相關技術支持信息的檢索提出了更高的要求[1-2]。自然語言處理技術,特別是語義網(wǎng)技術,為傳統(tǒng)經(jīng)驗性故障診斷的自動檢索提供了新的思路,可提升故障定位和排除的效率。
目前,交互式電子手冊和專家系統(tǒng)在雷達的故障診斷中已有廣泛的應用。交互式電子手冊(interactive electronic technical manual,IETM)是具備交互功能的信息支持軟件,突破了紙質(zhì)技術文檔的限制,能夠為裝備保障人員提供高效的技術信息支持[3]。IETM通常包括數(shù)據(jù)模塊、公共源數(shù)據(jù)庫等組件,以交互式軟件的形式將多媒體信息精確地呈現(xiàn)給維修或操作人員。然而,IETM更多的是對產(chǎn)品技術文檔進行標準化組織和可視化呈現(xiàn),對全周期產(chǎn)品維修保障中的故障信息積累與查詢并未涉及。專家系統(tǒng)是人工智能的一個分支領域,它將某一領域的專家知識和經(jīng)驗構(gòu)建成知識庫,通過推理機模擬人類專家的問題求解和決策過程[4]。在雷達專家系統(tǒng)的設計中,通常使用故障樹來組織歷史故障數(shù)據(jù),使用產(chǎn)生式表示法表示知識。然而,專家系統(tǒng)的知識庫構(gòu)建一般需要大規(guī)模的人工編制,不能充分地利用現(xiàn)有的經(jīng)驗性數(shù)據(jù)和技術文檔。
此外,自然語言處理技術在故障診斷系統(tǒng)中的應用也日益廣泛,不過現(xiàn)有的方法并沒有過多地考量專業(yè)詞匯語義在信息檢索中的重要作用[5]。
本文提出了一種雷達故障信息檢索系統(tǒng),利用故障樹組織歷史故障數(shù)據(jù),為用戶提供最直接的數(shù)據(jù)支持。根據(jù)用戶的檢索請求,該系統(tǒng)能夠?qū)?jīng)驗性技術文檔按照相關度進行排序,供用戶參考。在文本語義匹配方面,該系統(tǒng)利用本體語言將專業(yè)詞匯組織成語義網(wǎng),從而提升檢索的準確性。
雷達故障檢索系統(tǒng)對用戶輸入的故障問題檢索條目進行解析,首先對其進行中文分詞,然后按照設定的規(guī)則解析為結(jié)構(gòu)化的檢索請求。系統(tǒng)包含故障樹數(shù)據(jù)庫和技術文檔數(shù)據(jù)庫,作為排故信息檢索的數(shù)據(jù)來源。其中,語義網(wǎng)為中文分詞和文本匹配做支撐。檢索系統(tǒng)的架構(gòu)如圖1所示。
圖1 故障檢索系統(tǒng)框架
故障問題條目的解析是檢索的第一步,對搜索返回的結(jié)果集有很大影響。用戶在檢索框輸入的通常為自然語言形式的條目,例如“數(shù)字子陣電源絕緣不好”,因而需要對其進行結(jié)構(gòu)化解析。
2.1 中文分詞
對故障檢索條目進行分詞是進一步分析的基礎。該系統(tǒng)采用中國科學院計算技術研究所開發(fā)的ICTCLAS中文分詞系統(tǒng),該程序基于層疊隱馬爾科夫模型進行漢語詞法分析,在中文分詞、詞性標注等方面具有卓越的性能[6]。然而,雷達領域含有大量的分詞系統(tǒng)無法有效切分的未登錄專業(yè)詞匯或縮略詞,此外,企業(yè)內(nèi)部往往也會有產(chǎn)品代號或約定俗成的術語,這給識別主體詞造成了困難。這里采用本體語言語義網(wǎng)組織雷達專業(yè)詞匯。
2.2 專業(yè)術語的本體表示
用本體語言表示專業(yè)術語的優(yōu)勢在于不僅可以表示事物或事物群,而且可以表示事物之間的關系。這樣可以清晰地表示雷達產(chǎn)品中層級式的系統(tǒng)組成關系,而且還可以將專業(yè)術語與其同義的縮略詞等相關聯(lián)。雷達專業(yè)詞匯本體建模方式包括以下幾種:
(1)類和實例,例如ClassAssertion (:雷達 :某型機載有源相控陣雷達),表示歸屬關系;
(2)類層次關系,例如SubClassOf (:相控陣雷達 :雷達),表示類和子類的關系;
(3)對象屬性,例如ObjectPropertyAssertion (:hasUnit :某型機載有源相控陣雷達 :電源單元),表示個體與個體之間如何關聯(lián);
(4)等價和非等價個體,例如SameIndivi -dual (:固態(tài)放大鏈 :固放),表明兩個名稱指向同一個個體,或是排除兩個名稱是相同個體。
例如,與“數(shù)字子陣電源”相關的本體建模實例如下:
ClassAssertion (:組件 :數(shù)字子陣電源)
ObjectPropertyAssertion (:hasUnit :電源單元 :數(shù)字子陣電源)
SameIndividual (:數(shù)字子陣電源 :數(shù)字子陣)
由此可構(gòu)建用于雷達故障檢索系統(tǒng)的語義網(wǎng),從而構(gòu)建一個專業(yè)性的知識體系,該系統(tǒng)語義網(wǎng)的部分本體及關系如圖2所示。
圖2 專業(yè)詞匯語義網(wǎng)實例
將通過本體語言組織的雷達專業(yè)詞匯加入分詞系統(tǒng)的用戶詞典,可以提高分詞的準確性。例如,“數(shù)字子陣電源絕緣不好”經(jīng)過分詞,可得到“數(shù)字子陣電源/絕緣/不好”。此外,本系統(tǒng)還包含了一個小型常用漢語詞匯語義網(wǎng),用于補充詞義解析。鑒于雷達產(chǎn)品的層級式結(jié)構(gòu),需要將檢索條目進一步按照產(chǎn)品、單元(分系統(tǒng))、組件、故障問題來解析。因此,需要進行文本相似度計算。
2.3 文本相似度計算
計算文本相似度的常用方法有夾角余弦、最長公共子串等算法。由于夾角余弦沒有體現(xiàn)詞序信息,故采用經(jīng)過改進的最長公共子串來衡量文本的相似度。最長公共子串利用動態(tài)規(guī)劃進行計算,同時根據(jù)本體建模加入詞語之間的語義關系,用于考量詞匯之間的語義相似度。
算法1:加入語義匹配的最長公共子串算法
1 輸入:經(jīng)過分詞的詞序列s1和s2
2 輸出:s1和s2的最長公共子串
3 m ← length(s1)
4 n ← length(s2)
5 for i ← 1 to m
6 for j ← 1 to n
7 if IsSimilar(s1[i-1], s2[j-1]) then
8 num[i][j] ← 1 + num[i-1][j-1]
9 else
10 num[i][j] ← Max(num[i-1][j],
11 num[i][j-1])
12 while m != 0 and n != 0
13 if IsSimilar(s1[m-1], s2[n-1]) then
14 result.append(s1[m-1])
15 m--
16 n--
17 else if num[m][n-1] >= num[m-1][n] then
18 n--
19 else
20 m--
21 Reverse(result)
22 return result
其中判定兩個詞匯相似的函數(shù)IsSimilar還根據(jù)詞匯語義網(wǎng)進行考量,具有SameIndividual特性的兩個詞匯也會判定兩個詞匯相似。
獲得兩個字符串的最長公共子串后可用下式計算文本相似度:
式中,W1、W2為兩個字符串的加權系數(shù)矩陣,因為在字符串中數(shù)字往往承載著重要信息,因而將數(shù)字詞的權重設定為普通詞匯的兩倍;lLCS為最長公共子串的長度。由此可計算得到歸一化的兩個字符串文本相似度。表1列出了檢索字符串的相似度值,可見上述方法對于計算文本的相似度是有效的。
2.4 檢索條目結(jié)構(gòu)化解析
用戶鍵入的檢索語句通常會包含有關雷達產(chǎn)品的信息,一般按照“產(chǎn)品-單元(分系統(tǒng))-組件-故障問題”的順序,可能在某些層級會有缺失。檢索條目結(jié)構(gòu)化解析首先需要對語句進行中文分詞,并濾去部分不重要的助詞等,然后按順序?qū)⒎衷~所得詞語與專業(yè)術語庫中的本體實例進行文本相似度計算,將相似度超過閾值(例如大于0.75)的詞語按照本體類別進行判定。經(jīng)過以上處理后,用戶檢索語句會得到結(jié)構(gòu)化解析,例如,“數(shù)字子陣電源絕緣不好”被解析為
表1 文本相似度計算實例
雷達歷史故障數(shù)據(jù)可通過故障樹形式組織。故障樹分析(Fault Tree Analysis,F(xiàn)TA)通過樹狀邏輯關系對系統(tǒng)的失效原因進行診斷,而且可以計算系統(tǒng)發(fā)生故障的概率[7]。
3.1 故障樹建模
以某型機載有源相控陣雷達電源單元為例,F(xiàn)TA可將歷史積累的故障數(shù)據(jù)按照系統(tǒng)結(jié)構(gòu)的邏輯關系進行組織,以獲知系統(tǒng)運行的薄弱環(huán)節(jié),進而指導維修和檢測。電源單元的一個故障樹實例如圖3所示。故障樹底事件失效概率由發(fā)生頻次計算得出,發(fā)生次數(shù)越多的事件失效概率越高。
圖3 某型雷達電源單元故障樹實例
3.2 故障樹分析
故障樹構(gòu)建完成后,需要對其進行分析以便于檢索,從而為用戶提供有效的排故信息。故障樹分析一種常用的方法是使用二元決策圖(Binary Decision Diagram,BDD),使用ite(if- then-else)將故障樹轉(zhuǎn)化為BDD結(jié)構(gòu),再通過遍歷BDD結(jié)構(gòu)直接獲取割集[7-8]。故障樹轉(zhuǎn)化為BDD結(jié)構(gòu)的規(guī)模與底事件的排序有關,而尋找最優(yōu)排序?qū)儆贜P完全問題[8]。
為了獲取較小規(guī)模的樹結(jié)果,在轉(zhuǎn)化之前對底事件的排序依次做如下處理[7]:(1)計算故障樹結(jié)構(gòu)中底事件到頂事件的距離,距離較短者排在靠前的位置;(2)重復次數(shù)較多的底事件排在靠前的位置;(3)故障樹結(jié)構(gòu)中影響同一個中間事件的底事件在轉(zhuǎn)化中應排在靠近的位置。根據(jù)以上的排序準則,圖3所示的故障樹實例底事件的排序為X1 利用ite將圖3所示的故障樹轉(zhuǎn)化為BDD結(jié)構(gòu)如圖4所示。 圖4 BDD結(jié)構(gòu) 根據(jù)故障樹的BDD結(jié)構(gòu)可求解最小割集(MCS)[9]。根據(jù)MCS定義,首先對BDD進行遍歷可獲得從根節(jié)點到終節(jié)點的解,然后找出所有子集均不是解的MCS,對于圖3而言即為{X1}、{X2}、{X5}、{X3,X4}、{X6,X7}、{X8,X9}。 3.3 故障樹檢索 構(gòu)建故障樹的最終目的在于排故指引,能通過故障條目檢索到問題發(fā)生的原因,即某個頂事件的最小割集。檢索過程的實現(xiàn)包括以下步驟:(1)對檢索條目進行結(jié)構(gòu)化解析,明確故障歸屬的產(chǎn)品、單元、組件等信息;(2)順序搜索故障樹頂事件,通過文本相似度計算進行語義匹配;(3)顯示與檢索目標匹配的故障樹頂事件最小割集及相應發(fā)生概率。 故障樹歸屬于結(jié)構(gòu)化數(shù)據(jù),而產(chǎn)品在使用和維修過程中還會產(chǎn)生大量的經(jīng)驗性專業(yè)技術文檔,例如維修手冊、產(chǎn)品說明書等,這些文檔對于故障排除都有參考價值,因而系統(tǒng)應包含技術文檔數(shù)據(jù)庫的檢索。 本系統(tǒng)采用開源搜索引擎Lucene進行全文檢索。Lucene運行主要包括兩部分,即建立索引庫和檢索索引庫。在創(chuàng)建索引庫過程中,Lucene首先對原始文本進行分詞,形成Token流(Token是Lucene中定義的詞語的抽象概念),本系統(tǒng)采用ICTCLAS進行中文分詞,然后,原始文檔就可映射到Lucene的存儲接口中。索引庫構(gòu)建完成后,就可對其進行檢索,對于檢索字段的文本分析必須采用相同的分詞系統(tǒng)。Lucene系統(tǒng)會根據(jù)檢索字段對存儲結(jié)構(gòu)中的文檔進行排序,從而返回最優(yōu)的匹配結(jié)果。 Lucene的文檔評分算法如下[10]: tf(t_in_q)·idf(t)/norm(q)] 其中:tf(t_in_d)表示詞t在文檔d中的詞頻;idf(t)表示t在整個文檔庫中的倒排頻率;norm(d,t)表示查詢文檔中t的權值;tf(t_in_q)表示詞t在查詢字段中的詞頻;norm(q)表示查詢字段中查詢詞的權值。 經(jīng)過評分和排序,Lucene模塊便會返回匹配檢索要求的文檔。 該故障檢索系統(tǒng)按照上述的構(gòu)建方式從故障樹數(shù)據(jù)庫和技術支持文檔數(shù)據(jù)庫獲取相關信息,列出與用戶輸入的搜索條目匹配的結(jié)果。例如,搜索條目為“陣面8V互鎖”,則檢索系統(tǒng)會顯示以下結(jié)果: 故障出現(xiàn)的可能原因: 監(jiān)控模塊故障 出現(xiàn)概率:37.5% 輸出保護模塊故障 出現(xiàn)概率:37.5% 輔助源上管理電源開機的相應電路 出現(xiàn)概率:25% 請參考以下文檔: 《某型雷達電源陣面8V互鎖故障分析及處理方法》; 《某型雷達電源單元互鎖功能失效故障》。 經(jīng)過測試,檢索系統(tǒng)可以獲得相關度較高的故障信息,從而可用來輔助排故。故障樹分析模塊根據(jù)失效概率對檢索到頂事件的MCS進行排序,Lucene文本檢索模塊根據(jù)算法評分對相關技術支持文檔進行排序。從檢索結(jié)果的相關度可見,語義網(wǎng)的加入能夠提高搜索精度。 本文在融合語義網(wǎng)的基礎上提出了一種故障檢索系統(tǒng)的構(gòu)建方法。該檢索系統(tǒng)將產(chǎn)品研制、使用及維修過程中產(chǎn)生的歷史故障數(shù)據(jù)以故障樹形式組織,并將故障樹轉(zhuǎn)化為BDD結(jié)構(gòu)以快速獲得頂事件的最小割集,從而指導產(chǎn)品維修和排故。在文本語義的處理方面,該系統(tǒng)針對某型雷達建立了專業(yè)詞匯語義網(wǎng),對于提高文本語義匹配的準確性有重要意義。同時融合開源文本搜索引擎,用于檢索技術支持文檔,從而為故障排除提供綜合參考信息。 在這種故障檢索系統(tǒng)構(gòu)建方法的基礎上,隨著大數(shù)據(jù)的積累,將來可增加知識推理模塊,提高診斷和排故指引的智能化程度。 [1] 彭 為. 裝備一體化精益保障架構(gòu)及發(fā)展趨勢 [J]. 現(xiàn)代雷達,2013,35(8):2-4. [2] 王 眾,曾 靜. 復雜電子裝備軍地一體化保障平臺建設 [J]. 國防科技,2016,37(1):82-85. [3] 吳永明,葉海生. 基于IETM的裝備故障診斷系統(tǒng)技術研究 [J]. 計算機測量與控制,2011,19(10):2377-2379. [4] 孫福安,劉輝峰,段方振. 一種雷達故障診斷專家系統(tǒng)設計 [J]. 現(xiàn)代雷達,2014,36(9):74-48. [5] 陳 勇,王昌明. 基于自然語言理解的故障診斷方法研究 [J]. 計算機測量與控制,2012,20(3):610-613. [6] 劉 群,張華平,俞鴻魁,等. 基于層疊隱馬模型的漢語詞法分析 [J]. 計算機研究與發(fā)展,2004,41(8):1421-1429. [7] 閔 蘋,童節(jié)娟,奚樹人. 利用二元決策圖求解故障樹的基本事件排序 [J]. 清華大學學報(自然科學版),2005,45(12):1646-1649. [8] 高 巍,張琴芳. 基于二叉決策圖的故障樹求解法 [J]. 核技術,2011,34(10):791-795. [9] Kohda T. A Simple Method to Derive Minimal Cut Sets for a Non-coherent Fault Tree [J]. International Journal of Automation and Computing, 2006, 2, 151-156. [10] 周登朋,謝康林. Lucene搜索引擎 [J]. 計算機工程,2007,33(18):95-118. Design and Implementation of a Fault Searching System Combined with Semantic Web Ren Yong (Nanjing Research Institute of Electronics Technology, Nanjing 210039, China) As for the information retrieval of radar fault data and empirically technical support documents, we propose a design and implementation method of a fault searching system combined with semantic web technology. The system uses fault trees to organize structurized historical fault data, and converts them into binary decision diagrams to obtain minimal cut sets of top fault events, and then acquires accurate fault reasons via semantic matching. Meanwhile, it obtains support documents related to users’ query items by using an open source search engine Lucene to search from technical document database. In the system, it uses ontology language to build a semantic web of terminologies, for improving the accuracy of Chinese words segmentation and text matching, so as to involve semantic correlation between different words. The system has been used in the fault searching of the power unit of an AESA radar and has obtained good effect for technological assistance. fault searching; semantic web; fault tree; binary decision diagram; Lucene 2016-11-18; 2017-01-05。 任 勇(1989-),男,河北邯鄲人,助理工程師,工學碩士,主要從事雷達故障檢索技術方向的研究。 1671-4598(2017)05-0035-03 10.16526/j.cnki.11-4762/tp.2017.05.011 TP3 A4 技術支持文檔檢索模塊
5 試驗結(jié)果與分析
6 結(jié)論