王延翠,崔玉龍,吳冬華
(南車青島四方機車車輛股份有限公司 技術中心,青島 266000)
動車組故障知識庫的研究與設計
王延翠,崔玉龍,吳冬華
(南車青島四方機車車輛股份有限公司 技術中心,青島 266000)
動車組的在途緊急故障處理受到地域、時間和人員配備的約束,目前在國內(nèi)缺少相應的系統(tǒng)為之提供支持。本文介紹知識、知識表示、知識發(fā)現(xiàn)等技術,研究、設計動車組故障知識庫,通過知識庫強大的推理功能,為動車組故障處理提供技術支持。
動車組;故障知識庫;知識管理;知識表示
隨著人工智能技術的迅速發(fā)展,在國內(nèi),已經(jīng)有一些研究所和高校在實際運用領域對知識庫及其管理系統(tǒng)進行了理論研究,并在其設計和研發(fā)等方面取得了研究成果[1]。劉曉冰等[2]通過面向對象的建模技術和方法構建知識的模型,以對象模型映射到關系數(shù)據(jù)庫的方式存儲知識,并以數(shù)據(jù)庫(DB)的組織策略組織知識庫(KB),提出面向大規(guī)模客戶化產(chǎn)品協(xié)同設計過程的知識庫構建方法。李愛平[3]通過設計知識的建模和基于因特網(wǎng)的知識共享的實現(xiàn)技術,對基于因特網(wǎng)的設計知識庫系統(tǒng)框架進行了相關研究。劉一[4]采用面向對象的思想對汽車制動專家系統(tǒng)及其知識庫的構建進行了研究。鐘佩思[5]對面向并行設計智能決策支持的知識庫系統(tǒng)進行了研究。黃平[6]則在飛機設計領域對知識庫系統(tǒng)進行了研究。
在已經(jīng)開發(fā)出的知識庫系統(tǒng)中,比較有代表性的就是由浙江大學研究和開發(fā)的ZKBE系統(tǒng)。它是一個大容量的知識庫系統(tǒng),能夠支持實際知識庫系統(tǒng)的各個方面,如知識的獲取和編程、知識的組織存儲、知識的查詢與管理,知識操作和統(tǒng)一性維護等。雖然如此,我國的知識庫系統(tǒng)至今仍然處于試驗階段,沒有統(tǒng)一的規(guī)范,真正實現(xiàn)商品化還需更深層次的研究。
本文依托國家“八六三”計劃先進制造技術領域面向制造業(yè)的核心軟件開發(fā)項目中復雜裝備運維服務專業(yè)化構件系統(tǒng)與開發(fā)課題(課題編號:SS2012AA040912),研究并設計了動車組故障知識庫。
知識庫由人工智能(AI)與數(shù)據(jù)庫(DB)兩項計算機技術有機結合而成,是合理組織關于某一特定領域的陳述性知識和過程性知識的集合,它與數(shù)據(jù)庫的區(qū)別是:知識庫并非是向用戶提供檢索到的信息,知識庫中不僅包含了大量的簡單事實,還包含了規(guī)則、過程性知識和策略性知識,知識庫系統(tǒng)可以根據(jù)輸入的數(shù)據(jù)信息向用戶提供對知識進行分析判斷的結果。
在實際應用過程中,由于知識庫本身的特性,知識庫的基本結構是層次結構。其層次由下至上分別是:事實知識、用來控制事實的知識、策略。用來控制事實的知識通常用規(guī)則和過程等表示,策略以中間層知識為控制對象,它常常被認為是規(guī)則的規(guī)則。
1.1 知識與知識表示
1.1.1 知識
知識是人類在社會實踐過程中認識和總結的經(jīng)驗的綜合,是經(jīng)過整理、加工、解釋和轉換的信息,是一個或多個信息的關聯(lián),是人類進行一切智能活動的基礎。人工智能的求解是以知識為基礎的,一個程序具備的知識越多,它的求解問題的能力也就越強[7]。
在知識領域,知識一般都是通過數(shù)據(jù)、信息和知識之間的區(qū)別來進行定義,數(shù)據(jù)、信息、知識的層次關系如圖1所示。
圖1 數(shù)據(jù)、信息和知識的層次關系
1.1.2 知識表示
知識表示(Knowledge Representation)是研究以何種形式將有關問題的知識存入計算機,以便計算機進行處理,即將知識符號化并輸入給計算機的過程和方法。它把從知識源處獲得的關于事實、推理和判斷的知識進行歸納概括并建立起關系,然后將知識表達成計算機易于利用和表達的符號。知識表示是人工智能研究最活躍的領域之一[8]。
知識表示包含兩層含義:(1)用給定的結構,按一定的原則和組織方式表示知識;(2)解釋所表示知識的含義。知識表示的目的不僅僅是解決知識在計算機中的存儲問題,更重要的是要使這種表示方法能夠方便地運用知識和管理知識。
1.2 知識表示的方法
知識表示有較多方法,任何表示知識的方法都必須滿足以下兩個條件:(1)能表達事實性的知識;(2)表達這些事實間的聯(lián)系。目前,比較常用和有效的方法有邏輯表示法、產(chǎn)生式表示法、語義網(wǎng)絡表示法、框架表示法和過程式知識表示法等。
1.3 知識發(fā)現(xiàn)與獲取
擁有知識是智能系統(tǒng)區(qū)別于其它計算機系統(tǒng)的重要標志,而知識的質(zhì)量和數(shù)量又是決定智能系統(tǒng)性能的關鍵因素,系統(tǒng)推導出的結論的準確性,主要取決于系統(tǒng)的知識是否完整、準確和組織合理等。因此,知識發(fā)現(xiàn)和獲取成為系統(tǒng)的關鍵要素。
1.3.1 知識發(fā)現(xiàn)
數(shù)據(jù)庫知識發(fā)現(xiàn)(KDD,knowledge discovery in databases)術語出現(xiàn)于1989年,F(xiàn)ayyad認為,KDD是從數(shù)據(jù)集中識別出有效的、新穎的、潛在有用的,以及最終可以理解的模式的非平凡過程[9]。知識發(fā)現(xiàn)就是從數(shù)據(jù)集中抽取和精化出新的模式[10]。目前比較具有代表性的知識發(fā)現(xiàn)系統(tǒng)有:SAS Enterprise Miner,Intelligent Miner,Clementine以及MSMiner[11]。
知識發(fā)現(xiàn)的過程可粗略地理解為3部曲:數(shù)據(jù)準備、數(shù)據(jù)挖掘(DM, Data Mining)以及結果的解釋評估。其中,數(shù)據(jù)準備包括數(shù)據(jù)選取、數(shù)據(jù)預處理、數(shù)據(jù)變換3個子步驟。知識發(fā)現(xiàn)主要是為了從數(shù)據(jù)集提取有用的知識,需要通過抽樣方法從數(shù)據(jù)集中選取目標數(shù)據(jù),并對其進行預處理。數(shù)據(jù)預處理一般可能包括推導計算缺值數(shù)據(jù)、消除重復記錄、完成數(shù)據(jù)類型轉換等。得到的預處理數(shù)據(jù)經(jīng)過變換處理即可進入數(shù)據(jù)挖掘操作階段。數(shù)據(jù)變換是從初始特征中找出真正有用的特征,以減少數(shù)據(jù)挖掘時需要考慮的特征或變量個數(shù),而數(shù)據(jù)挖掘則是通過相應的挖掘算法對數(shù)據(jù)進行抽取。數(shù)據(jù)挖掘階段所抽取的信息需要經(jīng)過用戶或者機器的評估與解釋才能成為有用的知識。知識發(fā)現(xiàn)的過程如圖2所示。
1.3.2 知識獲取
知識獲取是指將用于求解某專門領域問題的知識從擁有這些知識的知識源(人類專家、書籍、文獻等)中抽取出來,并以適當?shù)男问奖硎?,然后存儲到計算機(知識庫)中的過程。
通常知識的來源有3種途徑:
(1)從領域專家那里得到有用的知識。通過對專家所提供的知識進行分析、綜合、去粗存精,歸納出可供建立知識庫的知識。(2)從系統(tǒng)的設計資料(包括設計原理、設計圖樣、各種技術報告、分析報告、試驗數(shù)據(jù)等)中獲取知識。(3)系統(tǒng)自身的運行實踐。這需要在實踐中學習,總結出新的知識。
圖2 知識發(fā)現(xiàn)的過程
由于知識推理過程中需要掃描檢索整個知識庫,若將所有的信息數(shù)據(jù)都存放于知識庫中,勢必會影響到整個系統(tǒng)的性能,因此本系統(tǒng)將所有不用于推理的事實性知識都單獨存放于綜合數(shù)據(jù)庫(DB)中。
目前,知識庫(KB)和DB的結合主要采用系統(tǒng)耦合的方式來實現(xiàn),包括“強耦合”和“弱耦合”。強耦合是指數(shù)據(jù)庫管理系統(tǒng)(DBMS)既管理規(guī)則庫,又管理事實庫,但是采用這種方法的知識庫設計復雜程度較高,不易實現(xiàn)。弱耦合是將知識庫管理系統(tǒng)(KBMS)和DBMS作為兩個獨立的子系統(tǒng)結合起來,令它們分別管理規(guī)則庫和事實庫。為了提高可靠性、可維護性、可理解性和可測性,動車組故障知識庫的構建采用弱耦合方式,即對規(guī)則庫和事實庫分別進行管理。
因此,動車組故障知識庫是全局性的,可被所有的規(guī)則訪問;而規(guī)則之間不能相互調(diào)用,它們之間的聯(lián)系只能通過綜合數(shù)據(jù)庫進行操作。這些特點使動車組故障知識庫可以對綜合數(shù)據(jù)庫、產(chǎn)生式規(guī)則和控制系統(tǒng)進行相對獨立的修改。
2.1 故障知識的獲取
本知識庫有專門的故障知識獲取模塊,負責建立、修改與擴充故障知識庫,與專家知識審核提交系統(tǒng)相結合,對故障知識庫的一致性、完整性和正確性進行維護。
知識獲取的方法按照推理能力來分,可以分為4種:
(1)沒有推理能力的人工獲取方法;(2)利用知識編輯工具的半自動知識獲取方法;(3)具有推理能力的自動知識獲取方法;(4)具有高級學習功能的超水平的自主式獲取方法。
根據(jù)動車組故障數(shù)據(jù)和故障維修的特殊性,本知識庫的故障知識主要來源于以下4個方面:
(1)動車組故障維修手冊、動車組途中緊急故障處理手冊;(2)對動車組車載信息數(shù)據(jù)進行處理,挖掘出相應的規(guī)則;(3)專家對一種從未出現(xiàn)且系統(tǒng)無法給出解決方案的故障提出較好的處理措施并正確維修后,將其通過知識管理系統(tǒng)錄入到事實庫和規(guī)則庫。(4)知識在推理過程中通過機器學習,生成新的知識。
2.2 故障知識庫中知識的表示
動車組的故障知識主要包括動車組發(fā)生故障的原因、故障的解決方案、發(fā)生該故障的置信度等信息,因此,結合動車組故障信息領域的知識特點,采用產(chǎn)生式表示法來表示故障知識。即IF(條件),THEN(動作,結論)。只要IF后面的條件或者事實成立,就可以得到THEN后面的動作或者結論。
2.3 故障知識庫的建立
由于采用基于產(chǎn)生式規(guī)則的知識表示方法,因此,動車組故障知識庫的建立包括對事實庫和規(guī)則庫的建立。在建立事實庫時,故障知識需要按照專家提供的動車組故障字典的分類逐一添加入庫,放入不同的故障類型表中。規(guī)則庫是知識庫的一個重要組成部分,進行推理的基礎就是知識庫中用規(guī)則表示的知識。
對規(guī)則庫中的規(guī)則建立要求遵循兩個原則:
(1)規(guī)則庫中定義的規(guī)則應當盡可能最簡化,以避免不必要的冗余;(2)故障規(guī)則之間不能夠有沖突存在。
根據(jù)以上步驟和要求,結合系統(tǒng)自身的實際運行需要,利用已經(jīng)獲取的故障知識,本文所建的動車組故障知識庫采用的數(shù)據(jù)庫系統(tǒng)為Oracle 10g,分別建立了規(guī)則表CRH2_KNOWLEDGE_ RULE和事實表CRH2_KNOWLEDGE_FACT。規(guī)則表主要記錄規(guī)則編號、規(guī)則前提的個數(shù)、規(guī)則前提條件列表、規(guī)則置信度、規(guī)則結論等信息,其表格式如表1所示。
表1 規(guī)則表
事實表主要記錄故障編號、故障類別、故障名稱、故障原因、故障發(fā)生概率、故障處理措施等信息。其表格式如表2所示。
表2 事實表
每個產(chǎn)生式規(guī)則對應于表CRH2_KNOWLEDGE_RULE中的1個記錄,產(chǎn)生式規(guī)則條件之間的“與”(AND)連接可以直接存儲在規(guī)則表中,而對于產(chǎn)生式規(guī)則的“或”(OR)連接,需要轉換成AND連接方式來表達。例如:規(guī)則IF a OR b, THEN c AND d,轉化后變成兩條規(guī)則存儲在規(guī)則庫中,如下所示。
利用傳統(tǒng)的方法提取動車組故障規(guī)則來建立知識庫,既耗時又需要復雜處理。而且,大量冗余的規(guī)則知識會形成不必要的龐大的知識庫系統(tǒng),這會使規(guī)則的維護變得低效,從而阻礙一個高質(zhì)量知識庫的建立。因此,動車組故障知識庫從獲得的大量數(shù)據(jù)中提取關聯(lián)規(guī)則,不但可以有效減少規(guī)則的數(shù)量,而且可以在不損失有效數(shù)據(jù)信息的情況下縮小知識庫的規(guī)模。由于獲取關聯(lián)規(guī)則不是本文研究的重點,在此不再過多敘述。
研究并設計了動車組的故障知識庫,介紹動車組故障知識的獲取方法以及其知識來源,通過產(chǎn)生式規(guī)則表示法來表示動車組故障知識,建立故障知識庫的事實表和規(guī)則表,對其故障知識和規(guī)則的獲取和建立做了詳細設計和實現(xiàn)說明,并列出其部分字段,可為動車組故障處理提供技術支持。
[1] 徐 勇,楊 柯. 一種面向對象知識庫的構造和維護[J].計算機工程,2000,26(9): 60-62.
[2] 劉曉冰,楊春立,孫偉德,等. 產(chǎn)品設計知識庫建立方法研究[J].計算機集成制造系統(tǒng),2003,9(8): 621-625.
[3] 李愛平. 基于因特網(wǎng)的設計制品知識庫系統(tǒng)框架的研究[J]. 中國機械工程,2002,13(14): 1212-1216.
[4] 劉 一. 面向對象的汽車制動系專家系統(tǒng)及其知識庫的構建[D].吉林:吉林大學,2003.
[5] 鐘佩思. 面向并行設計智能決策支持的知識庫系統(tǒng)研究[D].哈爾濱:哈爾濱工業(yè)大學,1999.
[6] 黃 平. 飛機構件CAD設計知識庫系統(tǒng)研究[D]. 西安:西北工業(yè)大學,2000.
[7] OLES F J. An application of lattice theory to knowledge representation[J]. Theoretical Computer Science. 2000. (249): 163-196.
[8] 史忠植. 知識發(fā)現(xiàn)[M]. 北京:清華大學出版社,2011.
[9] Chandrasekaran B, Johnson TR, Smith JW. Task structure Analysis for Knowledge Modeling[J]. Communication of the ACM. 1992,35(9),24-137.
[10]胡運發(fā). 數(shù)據(jù)與知識工程導論[M]. 北京:清華大學出版社,2003.
[11] Xuefeng Kang, Hongyu Zhou. Object-oriented knowledge representation based on DB technique[J]. Journal of HaR Bin University of Science and Technology,2001, 6(3): 1-3.
責任編輯 楊利明
Research and design of EMU’s Fault Knowledge Base
WANG Yancui, CUI Yulong, WU Donghua
( Technology Center, CSR SIFANG CO.,LTD, Qingdao 266000,China )
EMU; Fault Knowledge Base; knowledge management; knowledge representation
The emergency fault dealing of Electric Motor Train Unit (EMU) in transit was under restrictions of geographical, time, and personnel allocation, and now it was lack of corresponding system to provide support for EMU in the country. This paper introduced the current status of knowledge, knowledge representation, and knowledge discovery, designed and implemented the Fault Knowledge Base of EMU, provided support for the fault processing by the powerful reasoning capabilities of Knowledge Base.
2013-07-21
國家“八六三”計劃項目(SS2012AA040912)。
王延翠,工程師;崔玉龍,工程師。
U266.2∶TP39
A
1005-8451(2014)02-0007-04