
失效分析是對產品故障進行系統化分析和研究的過程,涉及工程學、材料科學、計算機科學等多個領域[1]。失效分析工程師通過對失效部件的服役環境、工藝類型及斷口特征等多種關鍵因素進行綜合分析,找到失效的根本原因,并制定有效的預防和改進措施[2]。有效的失效分析對提高產品的可靠性和安全性具有重要意義,其廣泛應用于航空、航天、航海、汽車制造、電子設備和醫療器械等多個領域。近年來,對產品的可靠性要求日益提高,同時產品的功能、結構、受力、服役環境等越來越復雜,傳統的人工失效分析方法難以從大量數據中找到失效的關鍵因素,以及因素間的耦合關系,且人工法受專家經驗的影響較大[3],分析過程須耗費大量精力。
為了應對失效分析不斷增大的復雜性,自然語言處理和數據挖掘等技術成為提高失效原因診斷效率的有效手段,近年來該技術在失效分析領域得到廣泛應用。隨著失效分析工作的逐年開展,失效分析案例逐漸增多,蘊含的數據價值不斷顯現。應用自然語言處理技術對大量失效分析文檔進行文本挖掘,提取文本特征,并結合各類數據挖掘方法對文本特征進行分析,對識別失效模式和潛在失效風險等極具應用價值[4]。LIU等[5]應用自然語言處理技術對管道事故敘述文本數據進行文本挖掘,并結合K-means聚類分析方法,識別造成管道事故的影響因素,為管道系統的維護和安全管理提供了科學依據。HALIM等[6]綜合分析了多個管道事故數據庫,開發了一種基于大數據和機器學習技術的因果模型,揭示了不同因素之間的復雜關系,研究成果在提高管道事故風險預測準確性等方面具有重要作用。CHOKOR等[7]對建筑領域大量事故報告進行文本挖掘,采用聚類分析方法對建筑事故報告類別進行劃分,提高了事故報告的處理效率。楊曉等[8]設計并建立了船舶系統典型材料失效分析案例數據庫,通過對船舶系統失效案例的多層級分類,提高了失效分析工程師獲取信息的效率。
關聯規則挖掘是數據挖掘領域中的重要研究課題之一,其在發現事物間隱藏關聯關系的數據挖掘場景下具有良好的表現。失效原因排查及診斷過程涉及的失效因素種類多,各因素間相互影響[9]。應用關聯規則對失效分析案例數據進行分析、挖掘,形成失效分析關聯知識并保存,對產品失效原因的推理具有重要意義。
然而,自然語言處理和數據挖掘等技術在失效分析領域起步較晚,且聚焦在具體的領域,如管道事故、換流站故障[10],以及軌道電路故障等,缺少可以覆蓋不同類型應用場景的統一模型框架,且現有研究對失效文本的挖掘方法通常為聚類分析、神經網絡等,這些方法對分析結果的可解釋性較差,不利于對產品失效原因進行推理[11]。與此同時,現有的關聯規則挖掘研究大多與算法效率提升有關,較少研究失效案例分析與應用的改進方法[12]。因此,在失效分析領域,如何根據失效案例數據的實際特點及結構,結合自然語言處理技術,應用關聯規則挖掘方法實現失效分析案例的分析挖掘,建立失效因素關聯路徑,輔助提高失效原因排查的效率、準確性,成為亟待解決的問題。
針對在復雜應用場景下,傳統失效分析技術難以在大量數據中發現失效因素和失效原因間潛在關系的問題,筆者提出了一種結合自然語言處理技術、關聯規則挖掘算法的失效分析案例文本挖掘方法,同時發明了基于Apriori算法的兩階段失效分析案例文本關聯規則挖掘方法,建立了失效分析案例文本挖掘方法框架;對某船舶單位的失效案例文本進行了有效驗證,研究結果對產品失效原因診斷和故障作用機制解釋方面具有重要的輔助借鑒作用。
1. 基于Apriori算法的失效分析案例文本挖掘方法框架設計
結合失效分析工程師的實際工作過程、失效分析案例的數據特征及其結構,提出失效分析案例挖掘方法(見圖1)。該方法用于提取失效因素、失效模式,以及失效原因間的關聯規則,挖掘失效因素至失效原因間的傳播路徑,可為現場設備失效分析輔助診斷及預防提供決策支持。
首先,對失效分析案例文本數據進行預處理,結合構建的失效分析行業領域的專業詞典,采用分詞處理方法初步去除無意義詞項,得到分詞處理后的失效分析案例文本數據。其次,對于分詞處理后的失效分析案例文本數據,基于TF(詞頻)-IDF(逆文檔頻率)算法進行文本特征提取,轉換為詞項文本矩陣,獲取案例文本的關鍵詞及其對應的權重。然后,基于Apriori算法分兩個階段對詞項文本矩陣進行關聯分析,挖掘頻繁項集及關聯規則。最后,基于失效分析案例文本關聯分析結果,建立失效因素及失效原因間的傳播路徑,輔助失效分析人員現場診斷。
1.1 失效分析案例數據特征
構件的失效是多種因素共同或耦合作用的結果[13],因此案例中對失效原因的描述涉及多種類型的因素,且不同案例中同一類型失效原因相關聯的因素特征不盡相同。
結合失效分析領域專業知識及失效原因排查分析邏輯,對失效分析案例的知識結構進行結構化,建立“失效因素-失效模式-失效原因”三級知識結構(見圖2)。其中,失效模式可由一組失效因素確定,基于確定的失效模式,結合其他失效因素的特征,可推斷出構件的失效原因。不同失效案例涉及的失效因素、失效模式、失效原因不同。
為了減小失效案例文本記錄不規范及同義詞對特征提取的影響,降低文本表示后的特征向量維度,提高關聯規則挖掘質量,筆者結合各類構件的失效案例,對其失效因素、失效模式、失效原因3個類別下的具體特征進行標準化特征分類,結果如表1所示。
以失效因素為例,部分標準化的特征名稱如表2所示。
1.2 失效分析案例文本預處理
針對失效分析案例文本特點,主要進行以下預處理工作。
(1)文本清洗。通過分析失效分析案例文本結構,發現案例一般由前言、背景、來樣情況、試驗儀器、試驗結果(宏觀分析、微觀分析、化學成分分析及力學性能測試等)、分析與討論、結論等部分組成,各部分內容具有半結構化的特點,人工編寫正則表達式,對其進行清理,例如來樣情況的提取,范式為:\n\d{0,1}.{0,3}( :來樣|前言|背景).+\n2.{0,4}\n。
(2)文本分詞及去停用詞。考慮到失效分析案例文本包含大量專業詞匯,為避免專業詞匯無法被準確識別導致的分詞結果不滿足后續文本挖掘需求情況,構建失效分析專業詞庫及停用詞詞庫(見圖3)。其中失效分析專業詞庫主要包含各專業部門設備名稱及專業術語,通用詞庫包含了用于去除文本中無意義項的停用詞庫及語義詞庫。
1.3 失效分析案例特征表示與提取
基于失效分析案例文本的分詞結果,應用TF-IDF算法進行文本特征提取,建立失效分析案例文本特征向量。
1.3.1 案例文本特征表示
失效分析案例可被表示為一個規范化的特征向量,該特征向量由特征項及其對應的權重構成,其計算方法如式(1)所示。
式中:wi為文檔d的特征項,i=1,2,3,…;n為特征項的數量;αi為特征項wi在文檔d中的權重。
其中需要注意的是,對于失效案例文本,特征項wi由失效因素集A、失效模式集B、失效原因集C構成,其計算方法如式(2)所示。
(2) |
式中:waj∈A,wbj∈B,wcj∈C,j=1,2,3,…;m為常量;k為常量。
對于構成失效分析案例文本特征向量的特征項,關注失效因素、失效模式與失效原因在每篇文檔中的權重表現,其中失效原因和失效模式在每篇案例中是二值變量,權值為{0,1},即當該案例的失效原因為wcq時,該特征項對應的權值計算方法如式(3)所示。
(3) |
式中:q為常量。
失效模式集B中的特征項權值取值原則與失效原因相同。
1.3.2 案例文本特征提取
對于構成失效分析案例特征項的失效因素集,其對應的權值可采用TF-IDF方法獲得。傳統TF-IDF包含詞頻和逆文檔頻率兩部分,該方法得到的TI值越大,說明詞項攜帶的信息量越大,對于所在文本可認為該詞項越關鍵,因此所有詞項及其TI值可構成所在文檔特征向量。
傳統TF-IDF方法是以所有案例文本為基數計算逆文檔頻率I,然而對于不同失效模式,各失效因素對其影響的程度不同,以所有案例文本為基數計算各失效因素的I值無法體現其在某種失效模式下的重要性。因此對于失效分析案例,首先按失效模式對文檔進行分類,分別計算在不同失效模式下失效因素的TI值,將其作為其在每篇文檔中的權值,計算方法如式(4)所示。
式中:T(i,j)為文本j中第i個詞的詞頻,反映詞語在某文檔中的出現頻率,出現頻率越高,其值越大;I(ib)為第i個詞在失效模式為b的案例集中的逆文檔頻率,反映是否對文檔具有區分性,詞語在不同文檔中出現的次數越多,I值越小。
I值的計算方法如式(5)所示。
式中:nb為失效模式b的案例集中文本總數;D(ib)為失效模式b的案例集中包含詞i的文本數。
1.4 關聯規則挖掘
關聯規則挖掘是數據挖掘最為關鍵的分支之一,關聯規則挖掘是指在大量的數據集中識別和挖掘出事物間隱含的關聯關系及依存規律[14]。通過對歷史失效分析案例的挖掘,可以進一步發現失效因素、失效模式,以及失效原因之間的關聯關系,輔助分析失效因素與失效原因之間的傳播路徑,實現產品失效原因推理的解耦。
常見的關聯規則挖掘算法包括Apriori、FP-Growth及Eclat等。其中,Apriori算法是最常見的基于頻繁項集的關聯規則挖掘算法,其遞歸地生成候選項集,并利用剪枝策略來減少計算量[15]。相較于其他關聯規則算法,Apriori算法簡單易懂,且適合于中小型數據集或對可解釋性要求較高的應用場景。因此,考慮到失效分析案例挖掘數據規模和關聯路徑解耦的應用需求,筆者采用Apriori算法實現對失效分析案例的分析挖掘。
2. 基于Apriori算法的失效分析案例文本挖掘方法優化與工程應用
基于失效分析案例文本挖掘方法框架,結合失效分析實際應用場景,提出了基于Apriori算法的兩階段失效分析文本關聯規則挖掘方法,并以某船舶單位的失效分析案例為應用場景,對該方法進行了應用驗證。
2.1 兩階段失效分析文本關聯規則挖掘方法
由失效原因、失效模式、失效因素及其對應權重構成的失效分析案例特征矩陣具有高維、稀疏的數據特征,直接應用Apriori算法對其進行關聯規則挖掘,挖掘出的關聯規則多為本身即具有強關聯特性的失效分析領域知識,如關聯規則“疲勞裂紋→疲勞斷裂”,不能挖掘出更多潛在的關聯關系。因此,結合實際的失效分析問題排查邏輯,基于“失效因素-失效模式-失效原因”三級的知識結構,可以分兩個階段對失效分析詞項文本矩陣進行頻繁集檢索,實現降低每個階段特征維度,提高挖掘效果。
建立了兩階段失效分析文本關聯規則挖掘方法,通過“失效因素→失效模式”關聯規則挖掘、“失效模式+失效因素→失效原因”關聯規則挖掘兩個階段,對失效分析文本特征矩陣進行關聯規則分析,輔助挖掘建立失效因素和失效原因間的傳播路徑。
2.1.1 “失效因素→失效模式”關聯規則挖掘
步驟1:按失效模式對失效分析文本進行分組,分別計算各失效因素在不同分組下的I值,以及各失效因素在不同文本中的I值,得到不同失效模式下各失效文本中失效因素的TI值,將其作為各文本的特征向量。
步驟2:對于獲得的不同失效模式下各文本的失效因素特征值矩陣,對其進行二值化處理,即設定特征閾值αmin,當失效因素特征值αi>αmin時,特征值α1取為1;當失效因素特征值αi<αmin時,特征值α1取為0。
步驟3:設定支持度閾值Smin,應用Apriori算法分別挖掘各失效模式下頻繁項集及其支持度。其中,頻繁項集是失效因素集合的子集。
步驟4:對于步驟3生成的頻繁失效因素集,計算各失效模式下,頻繁失效因素集的置信度,即失效因素集中所有失效因素發生時,該失效模式發生的概率。設定置信度閾值Cmin,置信度大于Cmin的失效因素集與失效模式構成一組強關聯規則,即關聯規則為失效因素集→失效模式。
2.1.2 “失效模式+失效因素→失效原因”關聯規則挖掘
步驟1:對于各失效模式,建立剩余失效分析特征矩陣,該矩陣元素由剩余失效因素集、失效原因集及對應權重構成。其中,剩余失效因素集為失效因素全集與該失效模式的頻繁失效因素集的差集。
步驟2:設定支持度閾值Smin,應用Apriori算法分別挖掘剩余失效分析特征矩陣中的頻繁項集及其支持度。其中,頻繁項集由3個部分組成,即{失效模式wa,剩余失效因素集Bothers,失效原因wc}。
步驟3:對于步驟2生成的頻繁項集,計算失效模式與剩余失效因素集對于失效原因的置信度,即在失效模式wa下,特定剩余失效因素Bothers發生時,構件的失效原因是wc的概率。設定置信度閾值Cmin,置信度大于Cmin的失效因素集與失效模式構成一組強關聯規則,即關聯規則為{失效模式wa,剩余失效因素集Bothers}→失效原因wc。
基于“失效因素→失效模式”關聯規則挖掘、“失效模式+失效因素→失效原因”關聯規則挖掘兩個階段生成的關聯規則,可繪制失效因素-失效模式-失效原因影響路徑及權重的可視化圖,輔助進行失效原因診斷。
2.2 工業應用場景
分析數據來源于某船舶公司2016—2024年的失效案例文本。由于失效原因、失效模式及失效元素涉及范圍較廣,筆者僅以失效模式為疲勞斷裂的554個失效分析案例為例,進行關聯規則挖掘。試驗模型采用Python3.2語言及scikit-learn庫實現。
首先,對失效分析案例數據進行標準化,建立包含表1和表2內容的失效分析特征分類和特征標準化的專業詞庫,詞庫包含16個特征分類,以及184個標準化特征,結果如表3所示。
基于以上標準化詞庫,使用正則表達式對失效分析案例文本進行提取、分詞,并對分詞后的失效分析案例文本數據,應用TF-IDF算法進行文本特征提取,獲得疲勞斷裂失效模式下各案例文本的詞項文本矩陣,獲取各失效因素在不同案例文本中的特征權重。
基于權重矩陣,使用前述基于Apriori算法的兩階段失效分析文本關聯規則挖掘方法進行關聯規則挖掘。進行挖掘前,需要設定合適的最小支持度,其設定值關系到挖掘得到的關聯規則是否具有實際意義和應用效果。選擇最小支持度有多種方法,采用以項集平均支持度為基準,在支持度標準偏差允許的范圍內,通過若干次最小值支持度閾值調整的方法,選擇能得到適中頻繁項集的結果[16]。
對于第一階段“失效因素→失效模式”關聯規則挖掘,在本算例中首先將特征閾值αmin設定為0.01,對特征矩陣進行二值化處理,并將最小支持度Smin設定為0.025,最小置信度Cmin設定為0.35,對二值化處理后的特征矩陣進行關聯規則挖掘,并篩選出后項中各個狀態置信度最高的“失效因素-失效模式”強關聯規則,結果如表4所示。
對于得到的“失效因素-失效模式”強關聯規則,以“失效因素-確定-失效模式”三元組為基本組成單位,建立失效分析知識圖譜。“失效因素-確定-失效模式”知識圖譜如圖4所示,其中淺色圓形實體為失效因素,深色圓形實體為失效模式,箭頭方向及對應權重代表失效因素發生時,其對所指向的失效模式發生的支持度和置信度。
對于第二階段“失效模式+失效因素→失效原因”關聯規則挖掘,在本算例中將最小支持度Smin設定為0.025,最小置信度Cmin設定為0.35,對特征矩陣進行關聯規則挖掘,并篩選出后項中各個狀態置信度最高的“失效模式+失效因素→失效原因”強關聯規則,結果如表5所示。
對于得到的“失效模式+失效因素→失效原因”強關聯規則,以“失效模式+失效因素-推斷-失效模式”三元組為基本組成單位,在已建立的失效分析知識圖譜中引入新數據、補充實體關系和屬性。“失效模式+失效因素-推斷-失效模式”知識圖譜如圖5所示,其中淺色小圓形實體為失效因素,深色大圓形實體為失效模式,深色小圓形代表箭頭關聯的失效因素、失效模式的組合;淺色大圓形為失效原因,深色小圓形箭頭方向及對應權重代表其對應失效因素、失效模式同時發生時,對所指向失效原因發生的支持度和置信度。
通過上述試驗,獲得了疲勞斷裂模式下由失效因素、失效模式、失效原因構成的頻繁項集及關聯規則,并采用知識圖譜的方式,對關聯規則進行存儲,建立了失效因素及失效原因間的可視化傳播路徑。將失效分析知識圖譜應用于失效原因輔助診斷場景,可輔助產品失效原因推理的解耦,提高診斷效率。
3. 結論與展望
針對產品失效分析復雜性高、分析效率低且過于依賴專家經驗的問題,應用自然語言處理及數據挖掘等技術,提出了一種基于Apriori算法的失效分析案例文本挖掘方法,該方法中包含失效分析案例文本預處理方法、基于TF-IDF算法的失效分析案例文本特征表示模型,以及基于Apriori算法的兩階段失效案例關聯分析方法3個主要部分。該方案通過對失效案例數據的實際特點及結構進行深度分析,并應用關聯規則挖掘方法,分兩個階段實現了失效因素、失效模式、失效原因間的關聯路徑挖掘,建立了一種產品失效原因診斷和故障作用機制解釋的方法,該方法在輔助提高失效原因排查效率、準確性方面具有重要作用。
應用該方法對某船舶單位2016—2024年失效分析案例進行關聯規則挖掘,建立了失效分析領域標準化特征及疲勞斷裂失效模式下各特征在不同案例下的特征矩陣,并應用Apriori算法分兩個階段挖掘獲得疲勞斷裂模式下由失效因素、失效模式、失效原因構成的頻繁項集及關聯規則。將挖掘獲得的關聯規則存儲在知識圖譜中,建立了失效因素及失效原因間的可視化傳播路徑。該方法對輔助產品失效原因推理的解耦、提高診斷效率具有良好的技術支撐作用。
關聯規則挖掘在發現數據中的模式方面具有強大的能力,但存在計算復雜度高,不適合處理高維、稀疏數據的問題。隨著失效分析案例的逐年增多,為了克服這些缺點,未來將結合神經網絡等方法來提高其效果和效率。
文章來源——材料與測試網