任 勇
(南京電子技術研究所,南京 210039)
融合語義網的故障檢索系統設計與構建
任 勇
(南京電子技術研究所,南京 210039)
針對雷達故障數據和經驗性技術支持文檔的信息提取,提出了一種融合語義網技術的故障檢索系統的設計與實現方法;該系統采用故障樹組織結構化的歷史故障數據,將故障樹轉化為二元決策圖從而獲取頂層故障事件的最小割集,而后通過語義匹配獲取精確的故障原因信息;同時,借助開源搜索引擎Lucene檢索技術文檔庫,獲得與用戶檢索條目相關的支持文檔;其中,為了提升中文分詞和文本匹配的精確性,該系統還利用本體語言構建了專業詞匯語義網,考量了詞語之間的語義相關度;該系統已應用于某型機載有源相控陣雷達電源單元的故障檢索,取得了很好的技術輔助效果。
故障檢索;語義網;故障樹;二元決策圖;開源搜索引擎
現代雷達系統日趨復雜,對故障診斷和相關技術支持信息的檢索提出了更高的要求[1-2]。自然語言處理技術,特別是語義網技術,為傳統經驗性故障診斷的自動檢索提供了新的思路,可提升故障定位和排除的效率。
目前,交互式電子手冊和專家系統在雷達的故障診斷中已有廣泛的應用。交互式電子手冊(interactive electronic technical manual,IETM)是具備交互功能的信息支持軟件,突破了紙質技術文檔的限制,能夠為裝備保障人員提供高效的技術信息支持[3]。IETM通常包括數據模塊、公共源數據庫等組件,以交互式軟件的形式將多媒體信息精確地呈現給維修或操作人員。然而,IETM更多的是對產品技術文檔進行標準化組織和可視化呈現,對全周期產品維修保障中的故障信息積累與查詢并未涉及。專家系統是人工智能的一個分支領域,它將某一領域的專家知識和經驗構建成知識庫,通過推理機模擬人類專家的問題求解和決策過程[4]。在雷達專家系統的設計中,通常使用故障樹來組織歷史故障數據,使用產生式表示法表示知識。然而,專家系統的知識庫構建一般需要大規模的人工編制,不能充分地利用現有的經驗性數據和技術文檔。
此外,自然語言處理技術在故障診斷系統中的應用也日益廣泛,不過現有的方法并沒有過多地考量專業詞匯語義在信息檢索中的重要作用[5]。
本文提出了一種雷達故障信息檢索系統,利用故障樹組織歷史故障數據,為用戶提供最直接的數據支持。根據用戶的檢索請求,該系統能夠對經驗性技術文檔按照相關度進行排序,供用戶參考。在文本語義匹配方面,該系統利用本體語言將專業詞匯組織成語義網,從而提升檢索的準確性。
雷達故障檢索系統對用戶輸入的故障問題檢索條目進行解析,首先對其進行中文分詞,然后按照設定的規則解析為結構化的檢索請求。系統包含故障樹數據庫和技術文檔數據庫,作為排故信息檢索的數據來源。其中,語義網為中文分詞和文本匹配做支撐。檢索系統的架構如圖1所示。

圖1 故障檢索系統框架
故障問題條目的解析是檢索的第一步,對搜索返回的結果集有很大影響。用戶在檢索框輸入的通常為自然語言形式的條目,例如“數字子陣電源絕緣不好”,因而需要對其進行結構化解析。
2.1 中文分詞
對故障檢索條目進行分詞是進一步分析的基礎。該系統采用中國科學院計算技術研究所開發的ICTCLAS中文分詞系統,該程序基于層疊隱馬爾科夫模型進行漢語詞法分析,在中文分詞、詞性標注等方面具有卓越的性能[6]。然而,雷達領域含有大量的分詞系統無法有效切分的未登錄專業詞匯或縮略詞,此外,企業內部往往也會有產品代號或約定俗成的術語,這給識別主體詞造成了困難。這里采用本體語言語義網組織雷達專業詞匯。
2.2 專業術語的本體表示
用本體語言表示專業術語的優勢在于不僅可以表示事物或事物群,而且可以表示事物之間的關系。這樣可以清晰地表示雷達產品中層級式的系統組成關系,而且還可以將專業術語與其同義的縮略詞等相關聯。雷達專業詞匯本體建模方式包括以下幾種:
(1)類和實例,例如ClassAssertion (:雷達 :某型機載有源相控陣雷達),表示歸屬關系;
(2)類層次關系,例如SubClassOf (:相控陣雷達 :雷達),表示類和子類的關系;
(3)對象屬性,例如ObjectPropertyAssertion (:hasUnit :某型機載有源相控陣雷達 :電源單元),表示個體與個體之間如何關聯;
(4)等價和非等價個體,例如SameIndivi -dual (:固態放大鏈 :固放),表明兩個名稱指向同一個個體,或是排除兩個名稱是相同個體。
例如,與“數字子陣電源”相關的本體建模實例如下:
ClassAssertion (:組件 :數字子陣電源)
ObjectPropertyAssertion (:hasUnit :電源單元 :數字子陣電源)
SameIndividual (:數字子陣電源 :數字子陣)
由此可構建用于雷達故障檢索系統的語義網,從而構建一個專業性的知識體系,該系統語義網的部分本體及關系如圖2所示。

圖2 專業詞匯語義網實例
將通過本體語言組織的雷達專業詞匯加入分詞系統的用戶詞典,可以提高分詞的準確性。例如,“數字子陣電源絕緣不好”經過分詞,可得到“數字子陣電源/絕緣/不好”。此外,本系統還包含了一個小型常用漢語詞匯語義網,用于補充詞義解析。鑒于雷達產品的層級式結構,需要將檢索條目進一步按照產品、單元(分系統)、組件、故障問題來解析。因此,需要進行文本相似度計算。
2.3 文本相似度計算
計算文本相似度的常用方法有夾角余弦、最長公共子串等算法。由于夾角余弦沒有體現詞序信息,故采用經過改進的最長公共子串來衡量文本的相似度。最長公共子串利用動態規劃進行計算,同時根據本體建模加入詞語之間的語義關系,用于考量詞匯之間的語義相似度。
算法1:加入語義匹配的最長公共子串算法
1 輸入:經過分詞的詞序列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
其中判定兩個詞匯相似的函數IsSimilar還根據詞匯語義網進行考量,具有SameIndividual特性的兩個詞匯也會判定兩個詞匯相似。
獲得兩個字符串的最長公共子串后可用下式計算文本相似度:
式中,W1、W2為兩個字符串的加權系數矩陣,因為在字符串中數字往往承載著重要信息,因而將數字詞的權重設定為普通詞匯的兩倍;lLCS為最長公共子串的長度。由此可計算得到歸一化的兩個字符串文本相似度。表1列出了檢索字符串的相似度值,可見上述方法對于計算文本的相似度是有效的。
2.4 檢索條目結構化解析
用戶鍵入的檢索語句通常會包含有關雷達產品的信息,一般按照“產品-單元(分系統)-組件-故障問題”的順序,可能在某些層級會有缺失。檢索條目結構化解析首先需要對語句進行中文分詞,并濾去部分不重要的助詞等,然后按順序將分詞所得詞語與專業術語庫中的本體實例進行文本相似度計算,將相似度超過閾值(例如大于0.75)的詞語按照本體類別進行判定。經過以上處理后,用戶檢索語句會得到結構化解析,例如,“數字子陣電源絕緣不好”被解析為

表1 文本相似度計算實例
雷達歷史故障數據可通過故障樹形式組織。故障樹分析(Fault Tree Analysis,FTA)通過樹狀邏輯關系對系統的失效原因進行診斷,而且可以計算系統發生故障的概率[7]。
3.1 故障樹建模
以某型機載有源相控陣雷達電源單元為例,FTA可將歷史積累的故障數據按照系統結構的邏輯關系進行組織,以獲知系統運行的薄弱環節,進而指導維修和檢測。電源單元的一個故障樹實例如圖3所示。故障樹底事件失效概率由發生頻次計算得出,發生次數越多的事件失效概率越高。

圖3 某型雷達電源單元故障樹實例
3.2 故障樹分析
故障樹構建完成后,需要對其進行分析以便于檢索,從而為用戶提供有效的排故信息。故障樹分析一種常用的方法是使用二元決策圖(Binary Decision Diagram,BDD),使用ite(if- then-else)將故障樹轉化為BDD結構,再通過遍歷BDD結構直接獲取割集[7-8]。故障樹轉化為BDD結構的規模與底事件的排序有關,而尋找最優排序屬于NP完全問題[8]。
為了獲取較小規模的樹結果,在轉化之前對底事件的排序依次做如下處理[7]:(1)計算故障樹結構中底事件到頂事件的距離,距離較短者排在靠前的位置;(2)重復次數較多的底事件排在靠前的位置;(3)故障樹結構中影響同一個中間事件的底事件在轉化中應排在靠近的位置。根據以上的排序準則,圖3所示的故障樹實例底事件的排序為X1 利用ite將圖3所示的故障樹轉化為BDD結構如圖4所示。 圖4 BDD結構 根據故障樹的BDD結構可求解最小割集(MCS)[9]。根據MCS定義,首先對BDD進行遍歷可獲得從根節點到終節點的解,然后找出所有子集均不是解的MCS,對于圖3而言即為{X1}、{X2}、{X5}、{X3,X4}、{X6,X7}、{X8,X9}。 3.3 故障樹檢索 構建故障樹的最終目的在于排故指引,能通過故障條目檢索到問題發生的原因,即某個頂事件的最小割集。檢索過程的實現包括以下步驟:(1)對檢索條目進行結構化解析,明確故障歸屬的產品、單元、組件等信息;(2)順序搜索故障樹頂事件,通過文本相似度計算進行語義匹配;(3)顯示與檢索目標匹配的故障樹頂事件最小割集及相應發生概率。 故障樹歸屬于結構化數據,而產品在使用和維修過程中還會產生大量的經驗性專業技術文檔,例如維修手冊、產品說明書等,這些文檔對于故障排除都有參考價值,因而系統應包含技術文檔數據庫的檢索。 本系統采用開源搜索引擎Lucene進行全文檢索。Lucene運行主要包括兩部分,即建立索引庫和檢索索引庫。在創建索引庫過程中,Lucene首先對原始文本進行分詞,形成Token流(Token是Lucene中定義的詞語的抽象概念),本系統采用ICTCLAS進行中文分詞,然后,原始文檔就可映射到Lucene的存儲接口中。索引庫構建完成后,就可對其進行檢索,對于檢索字段的文本分析必須采用相同的分詞系統。Lucene系統會根據檢索字段對存儲結構中的文檔進行排序,從而返回最優的匹配結果。 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)表示查詢字段中查詢詞的權值。 經過評分和排序,Lucene模塊便會返回匹配檢索要求的文檔。 該故障檢索系統按照上述的構建方式從故障樹數據庫和技術支持文檔數據庫獲取相關信息,列出與用戶輸入的搜索條目匹配的結果。例如,搜索條目為“陣面8V互鎖”,則檢索系統會顯示以下結果: 故障出現的可能原因: 監控模塊故障 出現概率:37.5% 輸出保護模塊故障 出現概率:37.5% 輔助源上管理電源開機的相應電路 出現概率:25% 請參考以下文檔: 《某型雷達電源陣面8V互鎖故障分析及處理方法》; 《某型雷達電源單元互鎖功能失效故障》。 經過測試,檢索系統可以獲得相關度較高的故障信息,從而可用來輔助排故。故障樹分析模塊根據失效概率對檢索到頂事件的MCS進行排序,Lucene文本檢索模塊根據算法評分對相關技術支持文檔進行排序。從檢索結果的相關度可見,語義網的加入能夠提高搜索精度。 本文在融合語義網的基礎上提出了一種故障檢索系統的構建方法。該檢索系統將產品研制、使用及維修過程中產生的歷史故障數據以故障樹形式組織,并將故障樹轉化為BDD結構以快速獲得頂事件的最小割集,從而指導產品維修和排故。在文本語義的處理方面,該系統針對某型雷達建立了專業詞匯語義網,對于提高文本語義匹配的準確性有重要意義。同時融合開源文本搜索引擎,用于檢索技術支持文檔,從而為故障排除提供綜合參考信息。 在這種故障檢索系統構建方法的基礎上,隨著大數據的積累,將來可增加知識推理模塊,提高診斷和排故指引的智能化程度。 [1] 彭 為. 裝備一體化精益保障架構及發展趨勢 [J]. 現代雷達,2013,35(8):2-4. [2] 王 眾,曾 靜. 復雜電子裝備軍地一體化保障平臺建設 [J]. 國防科技,2016,37(1):82-85. [3] 吳永明,葉海生. 基于IETM的裝備故障診斷系統技術研究 [J]. 計算機測量與控制,2011,19(10):2377-2379. [4] 孫福安,劉輝峰,段方振. 一種雷達故障診斷專家系統設計 [J]. 現代雷達,2014,36(9):74-48. [5] 陳 勇,王昌明. 基于自然語言理解的故障診斷方法研究 [J]. 計算機測量與控制,2012,20(3):610-613. [6] 劉 群,張華平,俞鴻魁,等. 基于層疊隱馬模型的漢語詞法分析 [J]. 計算機研究與發展,2004,41(8):1421-1429. [7] 閔 蘋,童節娟,奚樹人. 利用二元決策圖求解故障樹的基本事件排序 [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 A
4 技術支持文檔檢索模塊

5 試驗結果與分析
6 結論