劉華一,鄢 萍+,周 強(qiáng),辛 洋,張自凱,潘吉財(cái)
(1.重慶大學(xué) 機(jī)械傳動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 400044;2.重慶機(jī)床(集團(tuán))有限責(zé)任公司,重慶 400055;3. 國(guó)機(jī)重型裝備集團(tuán)股份有限公司,四川 德陽(yáng) 618000)
機(jī)床作為工業(yè)母機(jī),量大面廣,廣泛應(yīng)用于工業(yè)生產(chǎn)中。據(jù)統(tǒng)計(jì),中國(guó)目前的機(jī)床保有量為700多萬(wàn)臺(tái)[1]。提高機(jī)床的故障診斷能力將顯著提升機(jī)床的使用效率。其中基于知識(shí)的機(jī)床故障診斷專家系統(tǒng)的診斷能力與故障診斷知識(shí)庫(kù)中知識(shí)量的豐富程度相關(guān),知識(shí)庫(kù)中知識(shí)量越豐富,故障診斷能力越強(qiáng)。因此,研究機(jī)床故障診斷知識(shí)的擴(kuò)展方法,將極大提高知識(shí)的收集效率,對(duì)提升機(jī)床故障診斷的智能程度具有重要作用。
機(jī)床故障診斷知識(shí)的知識(shí)量大、動(dòng)態(tài)性強(qiáng),導(dǎo)致機(jī)床故障診斷知識(shí)收集的工作量大且難度高。產(chǎn)生這個(gè)問(wèn)題的原因包括兩方面:①不同機(jī)床間的工作環(huán)境和工況差異大,執(zhí)行不同加工任務(wù)時(shí)會(huì)產(chǎn)生不同的故障;②隨著大數(shù)據(jù)分析和深度學(xué)習(xí)等技術(shù)在故障診斷領(lǐng)域的應(yīng)用,機(jī)床在運(yùn)行過(guò)程中獲取到的故障診斷知識(shí)將進(jìn)一步增多。因此,解決知識(shí)收集的效率問(wèn)題,研究如何高效地進(jìn)行知識(shí)的動(dòng)態(tài)擴(kuò)展具有重要意義。
目前,在機(jī)床故障診斷知識(shí)庫(kù)的知識(shí)擴(kuò)展方面的相關(guān)研究較少,已有研究往往圍繞知識(shí)表示模型開(kāi)展,關(guān)注的是如何利用已有經(jīng)驗(yàn)來(lái)解決故障診斷問(wèn)題。在基于知識(shí)的故障診斷的相關(guān)研究文獻(xiàn)中,文獻(xiàn)[2]以空氣壓縮機(jī)為研究對(duì)象,研究了基于本體的故障診斷知識(shí)表示模型。文獻(xiàn)[3]研究了用于風(fēng)渦輪機(jī)故障診斷的知識(shí)表示模型。文獻(xiàn)[4]研究了基于本體的機(jī)器健康管理模型,以實(shí)現(xiàn)對(duì)機(jī)器的健康狀況預(yù)測(cè)。文獻(xiàn)[5]研究了飛機(jī)副翼作動(dòng)器綜合故障診斷的知識(shí)表示模型。文獻(xiàn)[6]研究了大型風(fēng)力發(fā)電機(jī)組的故障診斷知識(shí)表示模型。文獻(xiàn)[7]研究了旋轉(zhuǎn)機(jī)械的故障診斷知識(shí)表示模型。文獻(xiàn)[8]以滾齒機(jī)為研究對(duì)象,研究了滾齒機(jī)的故障診斷知識(shí)表示模型。由此可見(jiàn),基于知識(shí)的故障診斷的相關(guān)研究文獻(xiàn)中更多關(guān)注的是解決知識(shí)表示的問(wèn)題,對(duì)知識(shí)的更新、擴(kuò)展等方面未做詳細(xì)深入的研究。而在實(shí)際應(yīng)用中,若需要對(duì)知識(shí)進(jìn)行擴(kuò)展、更改等操作,往往需要依賴Protégé等工具,其操作過(guò)程復(fù)雜,極大地限制了知識(shí)的收集效率。
使用語(yǔ)義網(wǎng)技術(shù)可實(shí)現(xiàn)故障診斷知識(shí)的動(dòng)態(tài)更新與擴(kuò)展。語(yǔ)義網(wǎng)技術(shù)是知識(shí)管理領(lǐng)域的一項(xiàng)重要技術(shù),其體現(xiàn)在使用可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language, XML)、資源描述框架(Resource Description Framework, RDF)和本體(Ontology)3大技術(shù)來(lái)實(shí)現(xiàn)知識(shí)管理[9],文獻(xiàn)[10-11]等基于本體研究了復(fù)雜產(chǎn)品設(shè)計(jì)的知識(shí)表示模型和知識(shí)管理模型等。由于本體強(qiáng)大的知識(shí)表示形式和關(guān)聯(lián)推理機(jī)制,基于本體的模型儼然成為了新一代知識(shí)管理系統(tǒng)的自然選擇。本體機(jī)制為知識(shí)的組織和描述提供了理論基礎(chǔ)和技術(shù)保障。
目前,基于知識(shí)的故障診斷相關(guān)研究中研究了各類機(jī)械設(shè)備的故障診斷知識(shí)的知識(shí)表示和知識(shí)應(yīng)用,雖然現(xiàn)有研究覆蓋的機(jī)械設(shè)備的類型范圍廣,但是他們構(gòu)建出來(lái)的知識(shí)表示模型往往擴(kuò)展性差,且不同設(shè)備間的知識(shí)表示模型語(yǔ)義不統(tǒng)一。因此,要實(shí)現(xiàn)機(jī)床的故障診斷知識(shí)擴(kuò)展,需要解決以下3方面問(wèn)題:
(1)機(jī)床故障診斷知識(shí)模型構(gòu)建困難,由于機(jī)床類型眾多,難以針對(duì)各個(gè)類型的機(jī)床構(gòu)建出語(yǔ)義一致且擴(kuò)展性好的故障診斷知識(shí)模型。
(2)機(jī)床故障診斷知識(shí)實(shí)例添加和編輯困難,由于Protégé工具操作復(fù)雜且集成困難,難以針對(duì)機(jī)床故障診斷的領(lǐng)域知識(shí)進(jìn)行大批量和高效率的添加和編輯。
(3)機(jī)床故障診斷知識(shí)收集與集成困難,難以對(duì)生產(chǎn)現(xiàn)場(chǎng)獲取到的故障診斷知識(shí)進(jìn)行收集和集中管理,且難以保證收集知識(shí)的語(yǔ)義一致性。
針對(duì)上述問(wèn)題,本文提出一種應(yīng)用語(yǔ)義網(wǎng)技術(shù)的機(jī)床故障診斷知識(shí)擴(kuò)展方法,通過(guò)擴(kuò)展一個(gè)核心機(jī)床故障診斷知識(shí)模型[12]來(lái)構(gòu)建不同類型機(jī)床的故障診斷知識(shí)模型,通過(guò)批量導(dǎo)入知識(shí)實(shí)例來(lái)擴(kuò)展知識(shí)庫(kù)中的故障診斷知識(shí)實(shí)例;基于該方法設(shè)計(jì)了一種針對(duì)機(jī)床故障診斷知識(shí)模型構(gòu)建、知識(shí)庫(kù)實(shí)例擴(kuò)展和分布式機(jī)床故障診斷知識(shí)收集的知識(shí)擴(kuò)展平臺(tái)框架,從而實(shí)現(xiàn)通過(guò)導(dǎo)入包含知識(shí)信息表格的方式高效率地構(gòu)建故障診斷知識(shí)模型和擴(kuò)展知識(shí)庫(kù)實(shí)例,以及對(duì)收集到的分布式機(jī)床上傳的故障診斷知識(shí)的語(yǔ)義一致性檢查。
知識(shí)擴(kuò)展是知識(shí)管理過(guò)程中知識(shí)維護(hù)的一種方式。另外,知識(shí)表示也是知識(shí)管理的重要組成部分,知識(shí)表示規(guī)定了知識(shí)的組織形式和語(yǔ)義。知識(shí)維護(hù)中知識(shí)擴(kuò)展的具體方式完全依賴于知識(shí)表示的具體形式,因此,一個(gè)語(yǔ)義信息完善、擴(kuò)展性好的知識(shí)表示形式對(duì)于實(shí)現(xiàn)知識(shí)的擴(kuò)展和動(dòng)態(tài)更新十分重要。筆者之前提出的機(jī)床故障診斷知識(shí)表示模型(Ontology-based Knowledge Model of Fault Diagnosis of Machine Tools,OKM-MTFD)[12]具有完善的機(jī)床故障領(lǐng)域語(yǔ)義信息并且擴(kuò)展性好。因此,本文基于OKM-MTFD開(kāi)展機(jī)床故障診斷知識(shí)擴(kuò)展方法的研究。
文獻(xiàn)[12]的研究提出一種基于標(biāo)準(zhǔn)語(yǔ)義的機(jī)床故障診斷知識(shí)建模方法,并應(yīng)用該方法構(gòu)建了機(jī)床的基于本體的故障診斷知識(shí)模型(OKM-MTFD)。本文在文獻(xiàn)[12]研究成果的基礎(chǔ)上,考慮到故障診斷知識(shí)模型的應(yīng)用過(guò)程中知識(shí)庫(kù)難以擴(kuò)展、知識(shí)收集效率低的問(wèn)題,提出了本文所述的基于語(yǔ)義網(wǎng)的機(jī)床故障診斷知識(shí)擴(kuò)展方法和應(yīng)用該方法的知識(shí)擴(kuò)展平臺(tái)體系結(jié)構(gòu),以提升知識(shí)收集效率低問(wèn)題。
文獻(xiàn)[12]所提出的OKM-MTFD表示模型主要包含故障現(xiàn)象、故障原因和故障維修3方面的故障要素及其相關(guān)的故障要素屬性等,如圖1所示。OKM-MTFD表示模型中的故障要素等相關(guān)內(nèi)容的具體說(shuō)明參考文獻(xiàn)[12]。
語(yǔ)義網(wǎng)技術(shù)是實(shí)現(xiàn)知識(shí)擴(kuò)展的核心。在知識(shí)獲取階段,可通過(guò)人工整理或機(jī)器學(xué)習(xí)等多種方式從機(jī)床相關(guān)的文檔和故障維修記錄等資料中獲取機(jī)床故障診斷的相關(guān)知識(shí);在知識(shí)擴(kuò)展階段,獲取到的知識(shí)分為兩類:一類用于機(jī)床故障診斷知識(shí)模型的構(gòu)建;另一類用于擴(kuò)展機(jī)床故障診斷知識(shí)庫(kù),在知識(shí)的擴(kuò)展過(guò)程中需要應(yīng)用語(yǔ)義網(wǎng)技術(shù)完成故障診斷知識(shí)模型的生成和知識(shí)實(shí)例的擴(kuò)展。最后,在知識(shí)應(yīng)用階段,可對(duì)已形成的故障診斷知識(shí)模型和擴(kuò)展了知識(shí)實(shí)例的知識(shí)庫(kù)進(jìn)行知識(shí)應(yīng)用。上述基于語(yǔ)義網(wǎng)的故障診斷知識(shí)擴(kuò)展方法如圖2所示。
(1)基于OKM-MTFD的機(jī)床故障診斷知識(shí)模型的構(gòu)建方法
基于OKM-MTFD核心模型構(gòu)建出的知識(shí)表示模型擴(kuò)展性好且具有語(yǔ)義一致性。本文根據(jù)OKM-MTFD對(duì)故障診斷知識(shí)的需求,從某類型機(jī)床的資料和故障維修記錄中獲取故障診斷相關(guān)知識(shí),并整理為表1所示形式。
表1 用于機(jī)床故障診斷知識(shí)模型構(gòu)建的知識(shí)格式說(shuō)明表
故障要素類型組織形式知識(shí)格式知識(shí)示例故障原因知識(shí)列表故障原因類型—故障原因名稱機(jī)械類故障原因—松動(dòng)故障現(xiàn)象本征類知識(shí)列表故障現(xiàn)象名稱工作異常故障現(xiàn)象功能類知識(shí)列表功能類型名稱—功能名稱故障現(xiàn)象原因—電氣類原因的故障現(xiàn)象故障維修本征類知識(shí)列表故障維修方式名稱修復(fù)故障維修功能類知識(shí)列表功能類型名稱—功能名稱故障維修原因—電氣類原因的故障維修故障原因?qū)傩灾R(shí)列表故障原因?qū)傩灶愋兔Q—故障原因?qū)傩悦Q故障原因程度屬性—嚴(yán)重故障現(xiàn)象屬性知識(shí)列表故障現(xiàn)象屬性類型名稱—故障現(xiàn)象屬性名稱故障現(xiàn)象報(bào)警方法屬性—軟件報(bào)警故障維修屬性知識(shí)列表故障維修屬性類型名稱—故障維修屬性名稱故障維修緊急度屬性—非常緊急機(jī)床結(jié)構(gòu)知識(shí)列表系統(tǒng)名稱—子系統(tǒng)名稱—子部件名稱—零件名稱滾齒機(jī)—傳動(dòng)系統(tǒng)—C軸—C軸伺服電機(jī)故障輔助屬性知識(shí)列表故障輔助屬性類型名稱—故障輔助屬性項(xiàng)目名稱零件狀態(tài)—打滑
表1中“組織形式”是指構(gòu)建機(jī)床故障診斷知識(shí)模型的每類知識(shí)都以“列表”的形式進(jìn)行組織,知識(shí)項(xiàng)則按照表 1中“知識(shí)格式”列所展示的格式存儲(chǔ)到“列表”中。在表1中各項(xiàng)知識(shí)的列表中的每一項(xiàng)往往都包含一個(gè)層次關(guān)系,此處使用了一個(gè)預(yù)定義的“-”符號(hào)作為標(biāo)示層次關(guān)系的分隔符。
通過(guò)解析表1中獲取到的知識(shí)中的內(nèi)容,可以得到知識(shí)節(jié)點(diǎn)的內(nèi)容以及節(jié)點(diǎn)間的層次關(guān)系,這些節(jié)點(diǎn)和層次關(guān)系可以用于構(gòu)建具有層次關(guān)系的語(yǔ)義網(wǎng)絡(luò)。使用表1中的內(nèi)容構(gòu)建知識(shí)模型的基本過(guò)程如下:以故障原因知識(shí)為例,從故障原因知識(shí)列表中取出“機(jī)械類故障原因—松動(dòng)”這一項(xiàng),根據(jù)分隔符拆開(kāi),得到2個(gè)節(jié)點(diǎn):“機(jī)械類故障原因”和“松動(dòng)”,在語(yǔ)義網(wǎng)絡(luò)中分別建立節(jié)點(diǎn),若同名節(jié)點(diǎn)已存在,則跳過(guò)。重復(fù)上述操作,即可以將“機(jī)械類原因”及其所有子節(jié)點(diǎn)都建立出來(lái)。
在建立節(jié)點(diǎn)的過(guò)程中需要保證語(yǔ)義一致,因此,在建立節(jié)點(diǎn)時(shí)并不是直接使用“松動(dòng)”這樣的名稱來(lái)建立節(jié)點(diǎn),而是使用一個(gè)全局唯一的ID值,再使用“松動(dòng)”作為這個(gè)節(jié)點(diǎn)的一個(gè)注解名稱,以此解決語(yǔ)義一致性的問(wèn)題。
使用表1中提供的知識(shí)構(gòu)建機(jī)床故障診斷知識(shí)模型的具體過(guò)程如下:
1)建立OKM-MTFD核心模型中定義的“故障”根節(jié)點(diǎn),以及“故障原因”、“故障現(xiàn)象”和“故障維修”等8類父節(jié)點(diǎn)和“故障維修”、“故障現(xiàn)象”緊密相關(guān)的“本征類”、“功能類”節(jié)點(diǎn)。
2)在OKM-MTFD定義的核心語(yǔ)義節(jié)點(diǎn)的基礎(chǔ)上,擴(kuò)展從知識(shí)表中獲得的知識(shí)節(jié)點(diǎn)的內(nèi)容并關(guān)聯(lián)節(jié)點(diǎn)間的層次關(guān)系。
3)在語(yǔ)義網(wǎng)絡(luò)中添加OKM-MTFD定義的故障要素、屬性等之間的對(duì)象屬性關(guān)系,OKM-MTFD定義的各項(xiàng)具體對(duì)象屬性關(guān)系參見(jiàn)文獻(xiàn)[12]的4.2.2節(jié),最終形成基于OKM-MTFD的機(jī)床故障診斷知識(shí)的語(yǔ)義網(wǎng)絡(luò),該語(yǔ)義網(wǎng)絡(luò)既是機(jī)床故障診斷的知識(shí)表示模型。
上述基于OKM-MTFD的機(jī)床故障診斷知識(shí)模型構(gòu)建過(guò)程如圖3所示。
(2)機(jī)床故障診斷知識(shí)庫(kù)中知識(shí)實(shí)例的擴(kuò)展方法
向基于OKM-MTFD構(gòu)建獲得的某類型機(jī)床故障診斷知識(shí)模型中添加實(shí)例后,即可形成該類型機(jī)床的故障診斷知識(shí)庫(kù)。添加實(shí)例需要獲取與實(shí)例相關(guān)的兩方面信息:①實(shí)例的所屬分類;②實(shí)例通過(guò)對(duì)象屬性所關(guān)聯(lián)的故障要素實(shí)例和故障要素屬性實(shí)例。根據(jù)機(jī)床故障診斷實(shí)例這兩方面信息的需求,將實(shí)例及與實(shí)例相關(guān)的信息表示為如表2所示的表格。表2中“實(shí)例類型”指實(shí)例所屬的故障要素大類,“所屬分類”指實(shí)例所屬故障要素大類下的具體類別,“實(shí)例名稱”即為該項(xiàng)實(shí)例的名稱,“相關(guān)屬性”、“相關(guān)部位”、“相關(guān)原因”、“相關(guān)現(xiàn)象”和“相關(guān)維修”指與該項(xiàng)實(shí)例具有對(duì)應(yīng)對(duì)象屬性關(guān)系的具體實(shí)例項(xiàng)名稱。該類實(shí)例不需要包含的內(nèi)容在表格中為“無(wú)”,例如“故障原因?qū)嵗辈痪哂信c“故障原因”相關(guān)的對(duì)象屬性,因此“故障原因?qū)嵗睂?duì)應(yīng)的“相關(guān)原因”為“無(wú)”。
表2 用于機(jī)床故障診斷知識(shí)實(shí)例擴(kuò)展的知識(shí)格式示例表
利用表2中的實(shí)例信息進(jìn)行知識(shí)庫(kù)的擴(kuò)展主要包括實(shí)例個(gè)體的建立和對(duì)象屬性的關(guān)聯(lián)兩個(gè)過(guò)程。將知識(shí)實(shí)例擴(kuò)展到知識(shí)庫(kù)中的過(guò)程如下:
1)依據(jù)實(shí)例所屬故障要素大類和具體類別名稱在知識(shí)模型中找到該類;
2)將實(shí)例個(gè)體節(jié)點(diǎn)添加到其所屬的類下,使其成為該類的個(gè)體;
3)關(guān)聯(lián)與該實(shí)例具有對(duì)象屬性關(guān)系的實(shí)例。
上述機(jī)床故障診斷知識(shí)實(shí)例的擴(kuò)展過(guò)程如圖4所示。
本文基于第1章所述機(jī)床故障診斷知識(shí)擴(kuò)展方法,提出機(jī)床故障診斷知識(shí)擴(kuò)展平臺(tái)。該平臺(tái)可將獲取到的機(jī)床故障診斷知識(shí)高效的擴(kuò)展到故障診斷專家系統(tǒng)的知識(shí)庫(kù)中,極大地提升知識(shí)收集效率。本文所設(shè)計(jì)的機(jī)床故障診斷知識(shí)擴(kuò)展平臺(tái)的體系結(jié)構(gòu)如圖5所示。
(1)資源層 用于存儲(chǔ)各類知識(shí)庫(kù)并提供訪問(wèn)接口。主要包括機(jī)床故障診斷知識(shí)模型庫(kù)、知識(shí)庫(kù)以及SWRL規(guī)則庫(kù)等。
(2)支撐技術(shù)層 用于提供支持機(jī)床故障診斷知識(shí)平臺(tái)運(yùn)行的各類插件。支撐技術(shù)層中的管理框架模塊是機(jī)床故障診斷知識(shí)平臺(tái)的基本框架,用于加載其他的功能模塊,該基本框架具有良好的可擴(kuò)展性、靈活性和可靠性;版本管理模塊用于管理知識(shí)模型和知識(shí)庫(kù)在運(yùn)行中產(chǎn)生的不同版本;語(yǔ)義網(wǎng)工具包模塊提供了語(yǔ)義網(wǎng)技術(shù)在實(shí)現(xiàn)層的各類應(yīng)用程序接口,如網(wǎng)絡(luò)本體語(yǔ)言(Web Ontology Language, OWL)操作、推理機(jī)、查詢引擎等;簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol, SOAP)和表述性狀態(tài)傳遞(Representational State Transfer, REST) Web Service用于提供系統(tǒng)數(shù)據(jù)交互服務(wù)的功能接口。
(3)應(yīng)用功能層 應(yīng)用功能層是機(jī)床故障診斷知識(shí)擴(kuò)展平臺(tái)的核心層。庫(kù)管理功能包括知識(shí)模型庫(kù)管理、知識(shí)庫(kù)管理和規(guī)則庫(kù)管理,提供這3類庫(kù)的新增、查看和刪除功能;顯示與查詢提供知識(shí)模型和知識(shí)庫(kù)的詳細(xì)數(shù)據(jù)的顯示和查詢功能;知識(shí)模型構(gòu)建功能是對(duì)第1章中知識(shí)模型的構(gòu)建方法的實(shí)現(xiàn),該功能提供手動(dòng)新增和知識(shí)表導(dǎo)入兩種方式的知識(shí)模型構(gòu)建功能;機(jī)床知識(shí)實(shí)例擴(kuò)展功能是對(duì)第1章中知識(shí)實(shí)例擴(kuò)展方法的實(shí)現(xiàn),該功能提供手動(dòng)新增和知識(shí)表導(dǎo)入兩種方式的知識(shí)實(shí)例擴(kuò)展功能,以及收集分布式機(jī)床的知識(shí)實(shí)例的功能;分布式機(jī)床故障診斷知識(shí)收集模塊提供本體接收和語(yǔ)義一致性檢查的功能;系統(tǒng)管理模塊提供用戶配置功能。
(4)用戶層 機(jī)床故障診斷知識(shí)平臺(tái)的用戶包括人員類和程序類。人員類用戶指系統(tǒng)管理人員和知識(shí)工程師等角色,負(fù)責(zé)系統(tǒng)內(nèi)容和功能的維護(hù);程序類用戶指故障服務(wù)平臺(tái)、故障診斷系統(tǒng)和Web瀏覽器等程序,可使用系統(tǒng)部分功能和獲取知識(shí)更新、上傳新知識(shí)等。
機(jī)床故障診斷知識(shí)平臺(tái)采用開(kāi)放式架構(gòu)設(shè)計(jì),可后續(xù)增加功能模塊完善功能。如對(duì)于知識(shí)獲取來(lái)說(shuō),可通過(guò)平臺(tái)功能模塊的標(biāo)準(zhǔn)加載接口,實(shí)現(xiàn)具體應(yīng)用機(jī)器學(xué)習(xí)或者大數(shù)據(jù)分析的知識(shí)獲取模塊,以實(shí)現(xiàn)對(duì)獲取到的知識(shí)的快速集成。
機(jī)床故障診斷知識(shí)模型的構(gòu)建是對(duì)OKM-MTFD核心本體模型的擴(kuò)展。OKM-MTFD核心模型定義了故障要素、故障要素屬性及要素與屬性之間的相互關(guān)系。故障要素和故障要素屬性對(duì)應(yīng)本體中的類(Class),要素與屬性之間的關(guān)系對(duì)應(yīng)本體中的對(duì)象屬性(Object Property)。核心本體中定義了8個(gè)頂級(jí)類以及與類關(guān)聯(lián)的對(duì)象屬性。從第1章機(jī)床故障診斷知識(shí)擴(kuò)展方法中可知,對(duì)知識(shí)模型的擴(kuò)展是從相同的核心概念(OKM-MTFD)出發(fā),構(gòu)建不同類型機(jī)床的故障診斷知識(shí)模型。構(gòu)建機(jī)床故障診斷知識(shí)模型的一個(gè)重要步驟是向OKM-MTFD核心本體模型添加某種類型機(jī)床特有故障要素類、故障要素屬性類和關(guān)聯(lián)要素之間的相互關(guān)系等。
故障要素子類和對(duì)象屬性的添加都基于OWL公理。本體的基本建模元語(yǔ)包括類、關(guān)系、函數(shù)、公理以及實(shí)例。一個(gè)類的添加需要關(guān)聯(lián)SubClass Of、Equivalent To和Disjoint With等相關(guān)關(guān)系。一個(gè)對(duì)象屬性的添加需要關(guān)聯(lián)SubProperty Of、Inverse Of、Domains和Ranges等相關(guān)關(guān)系。上述類和對(duì)象屬性的每一個(gè)關(guān)系的描述都是一條公理,向本體中添加新的類與對(duì)象屬性既是添加新的OWL公理。
故障要素子類和對(duì)象屬性添加完成之后將自動(dòng)進(jìn)行故障要素和故障要素屬性之間的對(duì)象屬性關(guān)聯(lián)。在向模型中添加新的故障要素和故障要素屬性時(shí),需要將要素與屬性的對(duì)象屬性關(guān)系同時(shí)添加到本體中,由于OKM-MTFD定義的故障診斷知識(shí)模型中不同要素概念間的對(duì)象屬性是已經(jīng)確定的,對(duì)象屬性的添加不應(yīng)受人工操作,而應(yīng)當(dāng)由機(jī)床故障診斷知識(shí)構(gòu)建模塊自動(dòng)完成知識(shí)模型中對(duì)象屬性的建立。
結(jié)合本體添加公理的特點(diǎn)與故障診斷知識(shí)模型故障要素與屬性間對(duì)象屬性約束關(guān)系的特點(diǎn),本文設(shè)計(jì)了用于故障診斷知識(shí)模型擴(kuò)展的Web服務(wù)端接口,如圖6所示。
在服務(wù)端設(shè)計(jì)了用于完成機(jī)床故障診斷模型構(gòu)建的功能接口,功能接口定義圍繞添加類和對(duì)象屬性的公理設(shè)計(jì),服務(wù)端功能接口定義如表3所示。
表3 構(gòu)建機(jī)床故障診斷知識(shí)模型的功能接口列表
接口類型接口形式接口說(shuō)明故障要素類添加void CreateFaultCauseElement(ParentLabel, Label);接口功能:創(chuàng)建一個(gè)故障原因接口參數(shù):ParentLabel:將要添加的故障原因的父節(jié)點(diǎn)的名稱Label:將要添加的該節(jié)點(diǎn)的名稱void CreateFaultPhenomenonElement(ParentLabel, Label);接口功能:創(chuàng)建一個(gè)故障現(xiàn)象接口參數(shù):ParentLabel:將要添加的故障現(xiàn)象的父節(jié)點(diǎn)的名稱Label:將要添加的該節(jié)點(diǎn)的名稱void CreateFaultMaintenanceElement(ParentLabel, Label);接口功能:創(chuàng)建一個(gè)故障維修接口參數(shù):ParentLabel:將要添加的故障維修的父節(jié)點(diǎn)的名稱Label:將要添加的該節(jié)點(diǎn)的名稱故障要素屬性類添加void CreateFaultCauseAttribute(ParentLabel, Label);接口功能:創(chuàng)建一個(gè)故障原因?qū)傩越涌趨?shù):ParentLabel:將要添加的故障原因?qū)傩缘母腹?jié)點(diǎn)的名稱Label:將要添加的該節(jié)點(diǎn)的名稱void CreateFaultPhenomenonAttribute(ParentLabel, Label);接口功能:創(chuàng)建一個(gè)故障現(xiàn)象屬性ParentLabel:將要添加的故障現(xiàn)象屬性的父節(jié)點(diǎn)的名稱Label:將要添加的該節(jié)點(diǎn)的名稱void CreateFaultMaintenanceAttribute(ParentLabel, Label);接口功能:創(chuàng)建一個(gè)故障維修屬性接口參數(shù):ParentLabel:將要添加的故障維修屬性的父節(jié)點(diǎn)的名稱Label:將要添加的該節(jié)點(diǎn)的名稱
續(xù)表3
在表3中多個(gè)接口都使用了Label這一參數(shù),該參數(shù)在接口內(nèi)將會(huì)被創(chuàng)建為一個(gè)注解(Annotation),該注解的國(guó)際化資源標(biāo)識(shí)符(Internationalized Resource Identifiers, IRI)值的縮寫形式為“rdfs:label”。
知識(shí)模型構(gòu)建方法的3個(gè)步驟與表3中定義的功能接口的關(guān)系如下:
(1)在構(gòu)建機(jī)床故障診斷知識(shí)模型的第一個(gè)過(guò)程中將生成語(yǔ)義模型核心的各個(gè)類,語(yǔ)義模型的核心類的語(yǔ)義是固定的,因此該過(guò)程可由實(shí)現(xiàn)的系統(tǒng)自動(dòng)完成;
(2)在構(gòu)建機(jī)床故障診斷知識(shí)模型的第二個(gè)過(guò)程中將擴(kuò)展知識(shí)節(jié)點(diǎn)和建立層次關(guān)系,此時(shí)需要使用本小節(jié)給出的功能接口;
(3)在構(gòu)建機(jī)床故障診斷知識(shí)模型的第三個(gè)過(guò)程中將關(guān)聯(lián)對(duì)象屬性關(guān)系,對(duì)象屬性關(guān)系的語(yǔ)義也是固定的,因此該過(guò)程應(yīng)當(dāng)由實(shí)現(xiàn)的系統(tǒng)在創(chuàng)建新的屬性后自動(dòng)創(chuàng)建該對(duì)象屬性,并綁定對(duì)象屬性的作用域(Domains)和目標(biāo)范圍(Ranges)。
機(jī)床故障診斷知識(shí)庫(kù)的擴(kuò)展即是向故障診斷知識(shí)庫(kù)中添加實(shí)例。故障診斷實(shí)例包括故障診斷要素實(shí)例和故障診斷要素屬性實(shí)例。例如,在故障診斷知識(shí)模型中有一故障現(xiàn)象要素為“抖動(dòng)”,則“大立柱移動(dòng)時(shí)有抖動(dòng)”這一故障現(xiàn)象實(shí)例就應(yīng)添加到故障現(xiàn)象要素“抖動(dòng)”這一分類下。故障診斷實(shí)例的添加不僅是將故障要素實(shí)例添加到模型中,還需要對(duì)不同故障要素實(shí)例之間進(jìn)行關(guān)聯(lián)。例如,將“大立柱移動(dòng)時(shí)有抖動(dòng)”這一故障現(xiàn)象要素實(shí)例與故障現(xiàn)象要素屬性實(shí)例“嚴(yán)重故障現(xiàn)象”和故障部位實(shí)例“大立柱”等進(jìn)行關(guān)聯(lián)。從3.1節(jié)可以知道,故障要素在本體中均為類,因此故障要素實(shí)例在本體中應(yīng)為個(gè)體(Individual),不同個(gè)體之間使用對(duì)象屬性進(jìn)行關(guān)系的關(guān)聯(lián)。由于故障診斷實(shí)例屬于故障診斷要素和故障診斷要素屬性,其必然遵守3.1節(jié)中建立的知識(shí)模型的要素與要素之間、要素與屬性之間的關(guān)系約束。因此,只需要依據(jù)添加本體公理的特點(diǎn)進(jìn)行操作即可完成故障診斷實(shí)例的添加。本文設(shè)計(jì)了用于故障診斷知識(shí)實(shí)例擴(kuò)展的Web服務(wù)端接口,如圖7所示。
故障診斷知識(shí)實(shí)例添加服務(wù)端的功能接口設(shè)計(jì)如表4所示。
表4中用于擴(kuò)展知識(shí)實(shí)例的功能接口主要是針對(duì)第1章中知識(shí)實(shí)例擴(kuò)展過(guò)程中的第2)步和第3)步,即添加實(shí)例與關(guān)聯(lián)對(duì)象屬性關(guān)系這兩個(gè)步驟。知識(shí)實(shí)例擴(kuò)展的第2)步添加實(shí)例為使用CreateIndividual(OWLClassIRI, Label)接口,該接口指定了新實(shí)例所屬的類的IRI以及自身的“rdfs:label”注解。另一方面,通過(guò)對(duì)表4中實(shí)例擴(kuò)展接口的封裝和使用,可以直接通過(guò)知識(shí)表實(shí)現(xiàn)知識(shí)實(shí)例的批量添加。
表4 添加機(jī)床故障診斷知識(shí)實(shí)例的功能接口列表
知識(shí)實(shí)例的擴(kuò)展增加了知識(shí)庫(kù)中的知識(shí)量,可通過(guò)本體推理,進(jìn)一步發(fā)現(xiàn)新增實(shí)例和知識(shí)庫(kù)中已存在實(shí)例之間可能存在的知識(shí)關(guān)聯(lián)關(guān)系,將知識(shí)庫(kù)中蘊(yùn)含的知識(shí)顯示化。
在構(gòu)建完成的故障診斷知識(shí)模型中添加故障診斷實(shí)例后形成了一個(gè)包含故障知識(shí)實(shí)例的本體。這時(shí)本體中包含的都是錄入的公理,即故障要素之間的直接關(guān)系。使用本體工具OWLAPI集成的推理機(jī)HermiT Reasoner對(duì)本體進(jìn)行推理后,導(dǎo)出本體為包含蘊(yùn)含知識(shí)的推理后本體(Inferred Ontology)。推理前可以根據(jù)特殊需求導(dǎo)入SWRL(Semantic Web Rule Language)規(guī)則。使用規(guī)則可以更加定制化地發(fā)現(xiàn)蘊(yùn)含的故障診斷知識(shí)。推理后的本體中除了包含錄入的故障要素之間的直接關(guān)系,還包含依據(jù)錄入的公理推理出的故障要素之間的間接關(guān)系,間接關(guān)系即為本體中的蘊(yùn)含知識(shí)。這個(gè)推理后本體(Inferred Ontology)可用于故障診斷知識(shí)查詢等應(yīng)用。
機(jī)床作為機(jī)床制造企業(yè)的產(chǎn)品,將會(huì)被銷售給不同地區(qū)的不同制造企業(yè),不同的地點(diǎn)和不同的企業(yè)構(gòu)成了一個(gè)廣域空間,機(jī)床制造企業(yè)所生產(chǎn)的機(jī)床分布式地位于這樣的廣域空間中。運(yùn)行于廣域空間的分布式機(jī)床數(shù)量多、工況差異大,其產(chǎn)生的知識(shí)差異大,因此對(duì)其進(jìn)行知識(shí)收集十分困難。分布式機(jī)床故障診斷知識(shí)的收集可以通過(guò)以下兩類方法進(jìn)行:
(1)使用人工整理、機(jī)器學(xué)習(xí)、大數(shù)據(jù)分析等多種方法與途徑對(duì)機(jī)床收集到的故障診斷記錄進(jìn)行知識(shí)獲??;
(2)使用知識(shí)擴(kuò)展平臺(tái)直接對(duì)包含故障診斷實(shí)例的本體進(jìn)行知識(shí)的收集和擴(kuò)展。
通過(guò)第(1)類方法獲取到的知識(shí)往往是以知識(shí)表的形式存在,知識(shí)表可通過(guò)知識(shí)擴(kuò)展平臺(tái)的實(shí)例擴(kuò)展功能將知識(shí)集成到知識(shí)庫(kù)中;第(2)類方法是由機(jī)床故障診斷知識(shí)擴(kuò)展平臺(tái)提供分布式機(jī)床故障診斷知識(shí)收集接口,然后機(jī)床使用該接口將包含故障診斷知識(shí)實(shí)例的本體上傳到知識(shí)擴(kuò)展平臺(tái)。第(1)類方法描述的知識(shí)表的知識(shí)實(shí)例擴(kuò)展可通過(guò)3.2節(jié)所描述的知識(shí)庫(kù)擴(kuò)展技術(shù)實(shí)現(xiàn);第(2)類方法的知識(shí)收集技術(shù)將在本節(jié)進(jìn)行說(shuō)明。第(2)類方法描述的知識(shí)擴(kuò)展平臺(tái)提供的分布式機(jī)床故障診斷知識(shí)收集接口如表5所示。
表5 收集分布式機(jī)床的故障診斷知識(shí)
本文提出的收集分布式機(jī)床的故障診斷知識(shí)方法中,用于支持機(jī)床故障診斷知識(shí)上傳到知識(shí)擴(kuò)展平臺(tái)的是運(yùn)行在機(jī)床上的機(jī)床智能故障診斷系統(tǒng)[13]。該系統(tǒng)具有故障判斷、故障查詢、故障處理和維修指導(dǎo)等功能,同時(shí)也具有記錄故障診斷實(shí)例的功能,故障診斷實(shí)例包括故障現(xiàn)象、故障原因、故障維修等相關(guān)故障要素。該系統(tǒng)可對(duì)記錄的故障診斷實(shí)例進(jìn)行簡(jiǎn)單知識(shí)分類,對(duì)于可進(jìn)行分類的知識(shí),系統(tǒng)會(huì)將其整合為包含故障診斷實(shí)例的本體,對(duì)于無(wú)法分類的知識(shí),系統(tǒng)會(huì)將其保存為原始故障記錄。
運(yùn)行于機(jī)床上的機(jī)床智能故障診斷系統(tǒng)一方面將無(wú)法分類處理的原始故障記錄上傳至大數(shù)據(jù)平臺(tái),另一方面將分類后的包含故障診斷知識(shí)實(shí)例的本體上傳至知識(shí)擴(kuò)展平臺(tái)。上傳到大數(shù)據(jù)平臺(tái)的故障診斷記錄就會(huì)通過(guò)前文所述的第(1)類方法形成知識(shí)表,然后導(dǎo)入知識(shí)擴(kuò)展平臺(tái)。通過(guò)表5中的知識(shí)收集接口直接上傳到知識(shí)擴(kuò)展平臺(tái)的包含故障診斷知識(shí)實(shí)例的本體,則會(huì)經(jīng)過(guò)語(yǔ)義一致性檢查后擴(kuò)展實(shí)例到知識(shí)庫(kù)。通過(guò)語(yǔ)義一致性檢查可對(duì)這些直接上傳本體的領(lǐng)域語(yǔ)義信息進(jìn)行驗(yàn)證,若語(yǔ)義信息一致則知識(shí)實(shí)例可擴(kuò)展入知識(shí)庫(kù),若實(shí)例的語(yǔ)義信息存在沖突或無(wú)法判別則需要交由知識(shí)工程師進(jìn)行處理。上述分布式機(jī)床故障診斷知識(shí)收集方法如圖8所示。
對(duì)上傳到知識(shí)擴(kuò)展平臺(tái)的本體進(jìn)行故障診斷領(lǐng)域語(yǔ)義信息的一致性檢查非常重要。語(yǔ)義一致性檢查主要是檢查上傳的本體中的知識(shí)實(shí)例與知識(shí)庫(kù)中的知識(shí)實(shí)例是否存在無(wú)法識(shí)別和互斥等情況。語(yǔ)義不一致的情況可以分為兩類:
(1)接收的本體中實(shí)例的分類在知識(shí)庫(kù)中不存在。在機(jī)床故障診斷系統(tǒng)中故障處理人員在進(jìn)行故障處理或故障維修時(shí),可能會(huì)發(fā)現(xiàn)故障原因或故障維修或故障現(xiàn)象無(wú)法分類到向其提供的可選分類中,此時(shí)就會(huì)由該處理人員自己創(chuàng)建一個(gè)分類用來(lái)標(biāo)識(shí)該故障要素。由此就出現(xiàn)了本體中某項(xiàng)實(shí)例的分類在知識(shí)庫(kù)中不存在的情況。這種情況的知識(shí)實(shí)例的語(yǔ)義不一致是進(jìn)行分布式機(jī)床故障診斷處理中最常見(jiàn)的情況。
(2)接收的本體中對(duì)象屬性所關(guān)聯(lián)的實(shí)例與知識(shí)庫(kù)中該對(duì)象屬性設(shè)定的作用域和目標(biāo)范圍不匹配。在OKM-MTFD核心本體中,每一項(xiàng)對(duì)象屬性實(shí)例都定義了作用域(Domains)和目標(biāo)范圍(Ranges),如果在收集的本體中存在對(duì)象屬性的這兩項(xiàng)與知識(shí)庫(kù)中的設(shè)定不匹配,則說(shuō)明該對(duì)象屬性的關(guān)聯(lián)存在錯(cuò)誤,其語(yǔ)義與知識(shí)庫(kù)中知識(shí)的語(yǔ)義互斥。
針對(duì)上述兩方面的語(yǔ)義不一致的具體檢查規(guī)則如表6所示。
表6 語(yǔ)義一致性檢查規(guī)則表
本文對(duì)機(jī)床上傳的本體進(jìn)行表6所示規(guī)則的語(yǔ)義一致性檢查過(guò)程如圖9所示。在檢測(cè)流程中,如果出現(xiàn)與規(guī)則a)不符合的知識(shí)實(shí)例,則對(duì)該實(shí)例標(biāo)記“分類待驗(yàn)證標(biāo)記”,如果出現(xiàn)不符合規(guī)則b)的實(shí)例,則對(duì)該對(duì)象屬性及其相關(guān)聯(lián)的目標(biāo)實(shí)例標(biāo)記“對(duì)象屬性關(guān)聯(lián)錯(cuò)誤標(biāo)記”。最后將有“分類待驗(yàn)證標(biāo)記”的實(shí)例交由知識(shí)工程師處理;將有“對(duì)象屬性關(guān)聯(lián)錯(cuò)誤標(biāo)記”的對(duì)象屬性和實(shí)例列入語(yǔ)義一致性檢測(cè)異常記錄中;最后將剩下的未發(fā)現(xiàn)語(yǔ)義一致性問(wèn)題的實(shí)例擴(kuò)展到知識(shí)庫(kù)中。
要實(shí)現(xiàn)機(jī)床故障診斷知識(shí)擴(kuò)展平臺(tái),應(yīng)該以語(yǔ)義網(wǎng)工具為核心,同時(shí)應(yīng)包含用戶交互界面和用于網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)的數(shù)據(jù)傳輸接口。綜合考慮,構(gòu)建B/S(Browser/Server)架構(gòu)的知識(shí)擴(kuò)展平臺(tái)將能滿足上述兩方面的要求。B/S架構(gòu)的服務(wù)端(Server)可以使用SOAP/RESTful Web Service開(kāi)發(fā)系統(tǒng)接口來(lái)進(jìn)行系統(tǒng)數(shù)據(jù)的訪問(wèn),使系統(tǒng)功能能夠同時(shí)滿足用戶操作界面的需求以及機(jī)床終端系統(tǒng)數(shù)據(jù)交互的需求。根據(jù)以上需求,本文設(shè)計(jì)了知識(shí)擴(kuò)展平臺(tái)的實(shí)現(xiàn)框架,如圖10所示。
圖10展示了知識(shí)擴(kuò)展平臺(tái)B/S架構(gòu)的構(gòu)成方式,瀏覽器(Browser)和機(jī)床智能故障診斷系統(tǒng)可以訪問(wèn)系統(tǒng)的相關(guān)功能,服務(wù)端(Server)以語(yǔ)義網(wǎng)工具為核心構(gòu)建用于支持機(jī)床故障診斷知識(shí)操作的相關(guān)功能,并通過(guò)實(shí)現(xiàn)的功能對(duì)機(jī)床故障診斷知識(shí)模型庫(kù)和知識(shí)庫(kù)進(jìn)行管理。
本文的語(yǔ)義網(wǎng)工具選用了OWLAPI[14],在系統(tǒng)實(shí)現(xiàn)中使用OWLAPI開(kāi)發(fā)實(shí)現(xiàn)了用于本體查詢和修改的Entity Query和Axiom Assertion等功能。使用HermiT[15]推理機(jī)進(jìn)行知識(shí)庫(kù)的推理更新,通過(guò)添加SWRL規(guī)則,完善故障診斷實(shí)例間的關(guān)聯(lián)關(guān)系。
本文基于OWLAPI的特性,以及對(duì)Web Service的需求,選用被廣泛使用的Spring作為服務(wù)端開(kāi)發(fā)的主體框架。使用Spring框架開(kāi)發(fā)面向過(guò)程的SOAP接口,向機(jī)床終端系統(tǒng)提供知識(shí)應(yīng)用和知識(shí)上傳服務(wù)。通過(guò)開(kāi)發(fā)面向資源的RESTful接口,向用戶操作界面提供知識(shí)查看和編輯等服務(wù)。
為了保證瀏覽器端用戶操作界面的使用體驗(yàn)和降低開(kāi)發(fā)難度,本文選用React.js開(kāi)發(fā)單頁(yè)Web應(yīng)用(Single Page Application,SPA),改善系統(tǒng)的使用體驗(yàn),使本文的知識(shí)擴(kuò)展平臺(tái)Web應(yīng)用具有計(jì)算機(jī)本地應(yīng)用的使用體驗(yàn)。
在第1章中給出的每項(xiàng)“故障要素類型”都是一個(gè)獨(dú)立的知識(shí)表,此處為驗(yàn)證機(jī)床故障診斷知識(shí)模型構(gòu)建方法的有效性,使用一個(gè)Excel文件來(lái)組織這些知識(shí)表,在Excel文件中使用多個(gè)不同的“工作表(sheet)”來(lái)記錄機(jī)床故障診斷知識(shí),每個(gè)工作表中的內(nèi)容為每項(xiàng)故障要素的知識(shí)列表,將該文件上傳導(dǎo)入到第2章所提出的知識(shí)擴(kuò)展平臺(tái),即可完成一個(gè)機(jī)床知識(shí)模型的構(gòu)建。
本文所定義的Excel模板由8個(gè)“工作表”組成:“故障原因知識(shí)表”、“故障原因?qū)傩灾R(shí)表”、“故障現(xiàn)象知識(shí)表”、“故障現(xiàn)象屬性知識(shí)表”、“故障維修知識(shí)表”、“故障維修屬性知識(shí)表”、“故障部位知識(shí)表”和“故障輔助屬性知識(shí)表”。每個(gè)“工作表”的表頭都分別為“No.”、“rdfs:label”、“zmt:comment_chs”和“zmt:comment_english”,其含義分別為“序號(hào)”、“l(fā)abel名稱注解”、“中文名稱注解”和“英文名稱注解”。這3列模版中定義需要列出的注解名稱的雖然形式不同,但是其所表示的語(yǔ)義相同。原則上“rdfs:label”注解應(yīng)盡量完整地表達(dá)一個(gè)類所表示的語(yǔ)義,“zmt:comment_chs”和“zmt:comment_english”則應(yīng)盡量簡(jiǎn)潔。應(yīng)用本文定義的Excel模版所實(shí)現(xiàn)滾齒機(jī)故障診斷知識(shí)表如圖11所示。
以構(gòu)建滾齒機(jī)的故障診斷知識(shí)模型為例,將通過(guò)擴(kuò)展OKM-MTFD的核心要素(既故障原因、故障現(xiàn)象和故障維修等),構(gòu)建出滾齒機(jī)的故障診斷知識(shí)模型。圖11所示為使用本文所定義的模版整理出的滾齒機(jī)的故障診斷知識(shí)表。將該文件上傳到第2章中提出的知識(shí)擴(kuò)展平臺(tái),通過(guò)Excel文件解析程序統(tǒng)計(jì)表格中的數(shù)據(jù),最后,依照各部分表格的語(yǔ)義和形式定義,按照第1章提出的機(jī)床故障診斷知識(shí)模型構(gòu)建方法完成滾齒機(jī)故障診斷知識(shí)模型的構(gòu)建。
解析過(guò)程中,Excel文檔的每一個(gè)“工作表(sheet)”都將映射到OKM-MTFD核心模型的一個(gè)頂級(jí)類中,映射關(guān)系如圖12所示。
將每個(gè)工作表中所包含的知識(shí)項(xiàng)擴(kuò)展到OKM-MTFD定義的核心本體模型中的方式相同。以“故障原因知識(shí)表”這個(gè)為例,將圖11中第12項(xiàng)的數(shù)據(jù)“機(jī)械類故障原因—松動(dòng)”擴(kuò)展到OKM-MTFD頂級(jí)類之一的“故障原因”類的過(guò)程如下:
(1)將“機(jī)械類故障原因—松動(dòng)”拆分為“機(jī)械類故障原因”和“松動(dòng)”兩部分;
(2)將“機(jī)械類故障原因”關(guān)聯(lián)為“故障原因”類的子類;
(3)將“松動(dòng)”關(guān)聯(lián)為“機(jī)械類故障原因”類的子類。
由此形成了“故障原因—機(jī)械類故障原因—松動(dòng)”的一個(gè)層次關(guān)系。按照此過(guò)程將圖11中“故障原因知識(shí)表”中的每一項(xiàng)都擴(kuò)展到OKM-MTFD中的頂級(jí)類“故障原因”下就完成了滾齒機(jī)故障原因知識(shí)的擴(kuò)展。
從圖13和圖14中可以看到從知識(shí)表格導(dǎo)入后構(gòu)建出的故障要素和故障要素屬性的層次結(jié)構(gòu)。本文在4.1節(jié)提到建立的對(duì)象屬性關(guān)系是由系統(tǒng)自動(dòng)完成的,由于對(duì)象屬性關(guān)系只有在擴(kuò)展實(shí)例時(shí)才會(huì)顯式使用,因此無(wú)法在知識(shí)模型構(gòu)建的相關(guān)交互界面中反映對(duì)象屬性關(guān)系的建立過(guò)程。
實(shí)例擴(kuò)展即是向知識(shí)庫(kù)中添加實(shí)例個(gè)體。實(shí)例的擴(kuò)展可從兩方面進(jìn)行:一是通過(guò)知識(shí)表導(dǎo)入實(shí)例;二是通過(guò)收集分布式機(jī)床上傳的本體擴(kuò)展實(shí)例。雖然知識(shí)實(shí)例獲取方法不同,但兩種方法向知識(shí)庫(kù)中添加實(shí)例的過(guò)程相同。本節(jié)選擇以知識(shí)表導(dǎo)入為例來(lái)驗(yàn)證實(shí)例擴(kuò)展方法的有效性。
本節(jié)依據(jù)第1章中表示機(jī)床故障診斷知識(shí)實(shí)例信息的表格格式定義了如圖15所示的實(shí)例表模板,該模板的表頭同表2相同。在圖15所示的實(shí)例知識(shí)表文件中包含了部分從某臺(tái)滾齒機(jī)的故障維修記錄中獲取到的故障診斷實(shí)例知識(shí)。本節(jié)通過(guò)將該文件導(dǎo)入到知識(shí)擴(kuò)展平臺(tái)實(shí)現(xiàn)對(duì)滾齒機(jī)故障診斷知識(shí)庫(kù)擴(kuò)展的驗(yàn)證。
在擴(kuò)展過(guò)程中,系統(tǒng)首先會(huì)將所有的實(shí)例個(gè)體都添加到知識(shí)庫(kù)中,然后再進(jìn)行實(shí)例間的對(duì)象屬性關(guān)聯(lián),這樣可以避免在批量導(dǎo)入過(guò)程中某項(xiàng)實(shí)例關(guān)聯(lián)對(duì)象屬性時(shí)另一項(xiàng)實(shí)例還未添加到知識(shí)庫(kù)中而產(chǎn)生實(shí)例無(wú)法找到的問(wèn)題。
如圖16中所示,在知識(shí)擴(kuò)展平臺(tái)上傳滾齒機(jī)故障診斷知識(shí)實(shí)例表并完成導(dǎo)入后即可在圖17中查看到擴(kuò)展到滾齒機(jī)故障診斷知識(shí)庫(kù)中的知識(shí)實(shí)例。
在知識(shí)擴(kuò)展平臺(tái)的實(shí)例導(dǎo)入界面通過(guò)選擇機(jī)床故障診斷知識(shí)模型中一項(xiàng)具體類,可查看到所屬該類的所有實(shí)例個(gè)體的列表,再選擇一項(xiàng)具體的個(gè)體項(xiàng),可查看和編輯該項(xiàng)實(shí)例個(gè)體的注解名稱和對(duì)象屬性關(guān)系列表。
通過(guò)本節(jié)對(duì)知識(shí)庫(kù)中實(shí)例的進(jìn)一步擴(kuò)展,將形成更豐富更細(xì)致的故障診斷信息描述。首先通過(guò)擴(kuò)展獲得了更多的故障診斷實(shí)例,更多的故障診斷實(shí)例意味著可識(shí)別和描述的故障數(shù)量變多;然后通過(guò)擴(kuò)展獲得了更多的新實(shí)例與舊實(shí)例間的關(guān)聯(lián)關(guān)系,更多的關(guān)聯(lián)關(guān)系意味著對(duì)于已有故障的描述變得更豐富和詳細(xì)。因此通過(guò)知識(shí)庫(kù)實(shí)例的擴(kuò)展,可提高故障診斷能力。
本文提出一種基于語(yǔ)義網(wǎng)的機(jī)床故障診斷知識(shí)擴(kuò)展方法,該方法包括基于OKM-MTFD核心本體構(gòu)建不同類型機(jī)床的故障診斷模型和擴(kuò)展已有機(jī)床故障診斷知識(shí)庫(kù)中的實(shí)例。該方法擺脫了對(duì)傳統(tǒng)知識(shí)編輯工具的依賴,實(shí)現(xiàn)了對(duì)獲取到的機(jī)床故障診斷知識(shí)的高效收集。基于機(jī)床故障診斷知識(shí)擴(kuò)展方法和關(guān)鍵技術(shù),本文設(shè)計(jì)并開(kāi)發(fā)了機(jī)床故障診斷知識(shí)擴(kuò)展平臺(tái)。使用知識(shí)擴(kuò)展平臺(tái)可構(gòu)建各類型機(jī)床的故障診斷知識(shí)模型和擴(kuò)展知識(shí)庫(kù)實(shí)例以及對(duì)分布式機(jī)床產(chǎn)生的故障診斷知識(shí)進(jìn)行收集,可極大地豐富該類型機(jī)床知識(shí)庫(kù)的知識(shí)量,提高基于知識(shí)的機(jī)床故障診斷系統(tǒng)的診斷能力。目前故障記錄多采用人工記錄和描述,未來(lái)將研究自然語(yǔ)言處理技術(shù)在故障知識(shí)抽取和關(guān)系抽取方面的應(yīng)用,提高知識(shí)擴(kuò)展平臺(tái)的知識(shí)獲取能力。