邰麗君, 趙 韓, 董玉德, 武照云
(合肥工業(yè)大學(xué)安徽省數(shù)字化設(shè)計與制造重點(diǎn)實(shí)驗室,安徽 合肥 230009)
隨著信息技術(shù)的迅猛發(fā)展和各種先進(jìn)制造理念的產(chǎn)生,制造業(yè)正在迅捷地向并行化、分布式、數(shù)字化和智能化制造方式轉(zhuǎn)化。一方面,企業(yè)內(nèi)產(chǎn)生的設(shè)計開發(fā)資料隨著產(chǎn)品的不斷增加而日益膨脹,另一方面企業(yè)又必須不斷地從外界獲取各種信息,由此產(chǎn)生的各種知識堆積而且成指數(shù)增長。因此,如何在產(chǎn)品知識倉庫中數(shù)字化表達(dá)、捕獲、交換、再利用設(shè)計及其過程知識、有效地管理已有的產(chǎn)品知識,以及如何對基于知識的開發(fā)系統(tǒng)進(jìn)行分析與建模,成為提高產(chǎn)品開發(fā)速度的關(guān)鍵。在產(chǎn)品知識倉庫設(shè)計方面,已有很多文獻(xiàn)進(jìn)行了研究,朱文博等[1]研究和開發(fā)了一種基于特征的知識庫系統(tǒng),孫延明[2]和張為 民[3]等提出了一種基于案例(CBR)的知識獲取方式,而劉曉冰[4]等將數(shù)據(jù)倉庫(OLAP)技術(shù)運(yùn)用到知識倉庫的設(shè)計和構(gòu)建中。
本文提出基于本體的知識倉庫,通過構(gòu)建企業(yè)知識本體,形成基于本體的知識語義骨架網(wǎng)絡(luò)領(lǐng)域模型,然后利用知識本體映射技術(shù),將各種設(shè)計知識與不同的本體元素進(jìn)行映射,使數(shù)據(jù)實(shí)體映射為基于本體的知識元,從而實(shí)現(xiàn)產(chǎn)品設(shè)計知識的統(tǒng)一組織和管理。
機(jī)械產(chǎn)品知識倉庫是面向產(chǎn)品數(shù)據(jù)分析和知識發(fā)現(xiàn)、以“產(chǎn)品為中心”的知識倉庫。主要用于解決產(chǎn)品開發(fā)全生命周期中知識管理與知識重用問題,將重復(fù)的設(shè)計和工程任務(wù)自動化,具體內(nèi)容包括產(chǎn)品知識獲取、整理、組織、表示、共享和重用等,及時準(zhǔn)確地向產(chǎn)品開發(fā)人員提供產(chǎn)品設(shè)計、制造、裝配、加工等各方面知識與幫助,并支持產(chǎn)品的并行協(xié)同虛擬開發(fā)。整個知識倉庫的架構(gòu)如圖1所示。
圖 1 機(jī)械產(chǎn)品知識倉庫體系結(jié)構(gòu)
(1) 知識源
知識源主要有:產(chǎn)品標(biāo)準(zhǔn)、產(chǎn)品文檔、產(chǎn)品實(shí)例和專家知識等。各種產(chǎn)品應(yīng)用系統(tǒng)中的產(chǎn)品原始數(shù)據(jù)、中間數(shù)據(jù)和最終數(shù)據(jù),像在數(shù)據(jù)倉庫中一樣,數(shù)據(jù)在進(jìn)入知識倉庫存儲體之前必須進(jìn)行各種處理,如提取、凈化、轉(zhuǎn)化等。某些數(shù)據(jù)庫、文本、Web等知識源,可通過知識發(fā)現(xiàn)系統(tǒng)處理后存入知識倉庫存儲體。其它知識源,如各種論壇的總結(jié)性知識,智能代理在網(wǎng)絡(luò)上獲得的信息,這些信息在進(jìn)入知識倉庫之前,首先放在臨時倉庫,當(dāng)知識管理者對它們進(jìn)行有效性驗證以后才可以輸入到知識倉庫中。
(2) 知識倉庫存儲體
機(jī)械產(chǎn)品知識倉庫存儲體是產(chǎn)品知識倉庫的中心,這里存儲所有的知識,但并不是所有的知識儲存在一個統(tǒng)一的服務(wù)器中,包括各種類型的數(shù)據(jù)庫,并且分布在很多位置,往往有備份,知識倉庫存儲體中的知識主要分為設(shè)計資料庫、虛擬產(chǎn)品開發(fā)輔助庫、虛擬產(chǎn)品建模輔助庫、產(chǎn)品知識庫和相關(guān)信息庫等。產(chǎn)品知識倉庫需要借助于數(shù)據(jù)庫管理系統(tǒng)的強(qiáng)大功能來輔助對知識倉庫的管理。
(3) 人機(jī)交互界面
人機(jī)交互界面主要包括管理界面、內(nèi)部用戶界面和外部用戶界面等。知識管理員需要借助于友好的管理界面對知識倉庫中的知識進(jìn)行維護(hù)、更新等。內(nèi)部用戶根據(jù)不同的權(quán)限通過內(nèi)部用戶界面可以瀏覽和寫入相關(guān)產(chǎn)品數(shù)據(jù)和信息。外部用戶分為一般用戶和協(xié)作用戶,一般用戶通過Web服務(wù)器只能瀏覽或下載系統(tǒng)公開的知識,而協(xié)作用戶則可以通過Web服務(wù)器共享產(chǎn)品設(shè)計知識。對于計算機(jī)水平不同的人員采用不同的輸入方式,輸入界面應(yīng)該友好、方便。
(4) 知識倉庫工具
知識倉庫工具主要包括知識獲取輔助工具、分析工具、知識發(fā)布工具、知識發(fā)現(xiàn)工具、知識檢索引擎等。
語義描述的基礎(chǔ)之一是本體,為了組織設(shè)計知識以便于知識需求和檢索,需要建立本體模型,并利用本體中定義的術(shù)語作為元數(shù)據(jù)來標(biāo)注,以有效描述大量的設(shè)計原理、領(lǐng)域知識、設(shè)計案例和專家經(jīng)驗等。知識本體作為領(lǐng)域知識規(guī)范的抽象和描述??梢詷?gòu)造豐富的概念間的語義關(guān)系,能夠準(zhǔn)確描述概念含義以及概念之間的內(nèi)在關(guān)聯(lián),形式化能力最強(qiáng)。同時本體組織便于邏輯推理獲取概念之間的蘊(yùn)涵關(guān)系,提供較高的知識推理能力。因此,運(yùn)用知識本體進(jìn)行設(shè)計知識的表達(dá),可以更好地實(shí)現(xiàn)基于語義的知識共享和知識需求。
針對機(jī)械產(chǎn)品設(shè)計知識的特性,知識本體的結(jié)構(gòu)可描述為如下四元組:
其中 KO表示知識本體,C表示某領(lǐng)域的概念集,P是建立在C上的屬性集,M是建立在C上的方法特性集,R是建立在C上的關(guān)系集。一個概念的定義和描述往往會涉及到多個其它概念,概念之間具有關(guān)聯(lián)性和繼承性。式(1)是領(lǐng)域知識本體的總體表示和描述,對于知識本體中的每一個知識本體元素,可用式(2)來表示。
其中 q表示知識本體元素,c表示某個領(lǐng)域概念,如齒輪、軸、軸的結(jié)構(gòu)設(shè)計等,P、m分別是概念c上的一組屬性和方法,r則是建立在c上的與其它概念的一組關(guān)系。實(shí)際應(yīng)用中,人們常常使用式(2)。
為了進(jìn)一步明確知識本體元素的含義和內(nèi)部結(jié)構(gòu)關(guān)系,將式(2)分解為式(3)和式(4)
式(3)是某一領(lǐng)域概念c自身的描述,體現(xiàn)為對屬性集P和方法特性集m的定義和描述;式(4)則是概念c與領(lǐng)域中其它概念之間的一組特定的領(lǐng)域關(guān)系r的描述,例如并列、隸屬(度)、關(guān)聯(lián)(度)、蘊(yùn)涵、雙向蘊(yùn)涵、繼承關(guān)系等。
根據(jù)以上對知識本體的結(jié)構(gòu)描述,若知識本體由n個本體元素組成,概念集C=(c1,c2,…,cn)和建立在C上的關(guān)系集R={r1, r2, …, rn}將共同組成一個有向圖G(X, E),其中X為圖的點(diǎn)集,E為邊集,X的值域為概念集C,E的值域為關(guān)系集R。由此不難看出,知識本體通過概念之間的關(guān)系集R構(gòu)成了相對完善的知識內(nèi)容體系和網(wǎng)絡(luò)化結(jié)構(gòu),知識本體的網(wǎng)狀結(jié)構(gòu)如圖2所示。
圖 2 知識本體的網(wǎng)狀結(jié)構(gòu)
圖中的橢圓框代表一個領(lǐng)域概念Ci,而一個橢圓與其它橢圓之間的箭頭連線代表概念Ci,與其它概念的關(guān)系,諸如關(guān)系ri1, ri2, …, rij等,與之關(guān)聯(lián)的概念不同則概念間的關(guān)系一般也不相同。例如,概念A(yù)與概念B之間是包含關(guān)系,而概念A(yù)與概念C則是關(guān)聯(lián)或并列關(guān)系。圖中的單向箭頭表示關(guān)系不可逆,而雙向箭頭則表示兩個概念間的關(guān)系可逆。因此,概念間關(guān)系的多樣性,使得關(guān)系集R構(gòu)成概念之間的層次關(guān)系、關(guān)聯(lián)關(guān)系、繼承關(guān)系等多維關(guān)系的網(wǎng)絡(luò)結(jié)構(gòu),代替?zhèn)鹘y(tǒng)知識分類分層組織方法的主題之間單一層次結(jié)構(gòu)關(guān)系,能夠更加方便地管理知識的分類和實(shí)現(xiàn)基于任務(wù)過程的知識動態(tài)配置。
本體不但有好的邏輯基礎(chǔ),還有相應(yīng)的描述語言支持基于本體的應(yīng)用系統(tǒng)開發(fā)。典型的本體描述語言有RDF(S),OIL,DAML+OTL和OWL,按表達(dá)能力由弱到強(qiáng)的順序給上述語言排序是RDF(S)、OTL、DAML+OIL、OWL。這些語言都采用XML作為語法基礎(chǔ),在繼承的語法和表達(dá)能力的基礎(chǔ)上進(jìn)行擴(kuò)展。是制定的面向語義的本體標(biāo)記語言,是語義領(lǐng)域適合語義應(yīng)用的本體標(biāo)記語言的最新綜合研究成果。本文下面僅對表達(dá)能力最強(qiáng)的OWL進(jìn)行分析。
由于本體構(gòu)建的分布性,且目前還沒有統(tǒng)一的構(gòu)建標(biāo)準(zhǔn),不同的用戶使用不同的方法構(gòu)建出的本體也是不同的,即使是同一領(lǐng)域也會有不同的本體,這就是本體的異構(gòu)性。為了解決異構(gòu)本體間的互操作性,便于本體間的知識共享和重用,人們提出了本體映射方法。所謂本體映射[5],是指兩個本體存在語義級的概念關(guān)聯(lián),通過語義關(guān)聯(lián),實(shí)現(xiàn)將源本體的實(shí)例映射到目標(biāo)本體的過程。
本體映射過程如下:① 標(biāo)準(zhǔn)化:將本體原先的形勢轉(zhuǎn)換成為一種可進(jìn)行相似性計算的形勢;② 選擇用于映射的概念對;③ 相似性計算;④ 映射執(zhí)行:根據(jù)第三步的結(jié)果,對候選映射進(jìn)行篩選,建立映射;⑤ 映射后處理:返回至第2步,重復(fù)運(yùn)行,直到達(dá)到滿意結(jié)果。其中相似性計算是本體映射的一個重要步驟。目前常用的相似性計算方法[6]很多,如基于實(shí)例的方法、利用啟發(fā)規(guī)則方法等,但都有其局限性,本文從屬性、語法、結(jié)構(gòu)、實(shí)例4個方面進(jìn)行相似性的計算,并把計算結(jié)果進(jìn)行合并,得出最終的概念相似度。
定義1相似度Sim:V1×V2×O1×O2→[0,1],相似度在0和1之間。Sim(A, B)表示A和B之間的相似度。V1和V2是兩個本體所基于的術(shù)語集,O1和O2是需要映射的兩個本體。Sim(A, B)=1:表示兩個概念完全相似;Sim(A, B)=0:表示兩個概念完全不相似。
定義2屬性相似度Simsx(A, B)
在本體中,每一個屬性也是一個概念。設(shè)概念A(yù) 的屬性為ai,概念B 的屬性為bj,兩個屬性間的相似度記為ASim(ai, bj)。設(shè)概念A(yù) 和B 之間共計算出m 個ASim(ai, bj),并設(shè)置相應(yīng)的權(quán)值wk。則屬性相似度為
定義3語法相似度Simyf(A, B)
其中 syn(A )表示概念A(yù) 的同義詞集;len(A) 表示概念A(yù)的字符串長度;ConSubStrings表示A、 B 共有的字符串長度。
定義4結(jié)構(gòu)相似度Simjg(A, B)
其中 Af、As、Ab分別表示概念A(yù) 的父、子、兄弟概念集;概念B 類似;α、β、λ 表示權(quán)重因子。
其中 S、T 分別表示A、B 的特征集合,(S∩T)≠Ф, S/T 表示集合S 除去集合T 中具有的特征;T/S 反之類似; ε 是非公共特性的相對重要程度(為可調(diào)節(jié)參數(shù))。
定義5實(shí)例相似度Simsl(A, B)
其中 I(a)、I(b)表示本體A、B 中概念 a、b 所擁有的實(shí)例數(shù);I(Aa.b)表示本體A 中屬于概念a也屬于概念b 的實(shí)例數(shù);I(Bb.a) 表示本體B 中屬于概念b 也屬于概念a 的實(shí)例數(shù)。
總相似度將按照式(1)~式(4)計算得到不為0 的相似度賦予不同權(quán)值計算總相似度如下所示
其中 Wyf,Wsx,Wjg,Wsl≥0。
產(chǎn)品信息模型建立是機(jī)械產(chǎn)品知識倉庫的關(guān)鍵。利用以描述邏輯為基礎(chǔ)發(fā)展而來的OWL本體表示語言可以對產(chǎn)品概念設(shè)計知識進(jìn)行本體建模。而本體作為知識的一種良好載體,在語義層面不但提供了形式化描述知識的基礎(chǔ),而且使系統(tǒng)之間的知識級共享和集成成為可能。該知識倉庫對產(chǎn)品信息模型定義如下:
(1) 產(chǎn)品結(jié)構(gòu)模型 結(jié)構(gòu)模型包括4個基本類:部件、型號、材料和視圖;6個基本屬性:子部件、結(jié)構(gòu)關(guān)系、部件屬性、部件型號、部件材料和部件視圖。
(2) 產(chǎn)品行為模型 行為模型包括一個基本類:行為;4個基本屬性:子行為、行為關(guān)系、行為類型、行為相關(guān)部件。
(3) 產(chǎn)品功能模型 功能模型包括一個類:功能;6個基本屬性:功能目標(biāo)、子功能、功能類型、元功能、目標(biāo)功能、功能相關(guān)部件。
(4) 產(chǎn)品需求模型 需求模型包括一個類:需求;5個基本屬性:需求提供者、子需求、需求類型、需求提出時間、需求相關(guān)件。
(5) 產(chǎn)品實(shí)例模型 實(shí)例模型包括一個類:實(shí)例;5個基本屬性:實(shí)例設(shè)計者、子實(shí)例、設(shè)計時間、實(shí)例類型、實(shí)例相關(guān)件。
整個產(chǎn)品信息模型如圖3所示。
圖 3 產(chǎn)品知識模型
根據(jù)上述產(chǎn)品知識表達(dá)模型,采用語義web語言owl來描述產(chǎn)品本體,完整的產(chǎn)品本體描述應(yīng)包括:定義領(lǐng)域空間、定義此本體的概況、定義基本類、定義基本屬性等。具體構(gòu)建過程如下:
(1) 定義領(lǐng)域空間
(2) 定義此本體的概況
(3) 定義基本類
(4) 定義基本屬性
目前關(guān)于CBR[7]系統(tǒng)的實(shí)現(xiàn)技術(shù)一般都圍繞CBR的幾個關(guān)鍵步驟進(jìn)行如案例的表示、案例的組織、案例的檢索等。本文提出基于本體的案例知識表示模型。其中,案例本體可作為案例知識的一種通用表示模型,不但可以對案例知識進(jìn)行有效表達(dá),支持基于內(nèi)容的檢索,還可表達(dá)案例的特征并支持CBR。
本文在案例庫中引入了3種本體:概念本體,表示領(lǐng)域概念及概念之間關(guān)系;案例本體,用來表達(dá)案例實(shí)體;分類本體,表達(dá)知識的層次結(jié)構(gòu),可用建立案例的層次分類體系。
定義6概念本體To::=(Ocbn, Ct, Rt, It),其中,Ocbn是領(lǐng)域名,Ct概念集,Rt是關(guān)系,It是實(shí)例集,它包括概念實(shí)例集和關(guān)系實(shí)例集兩個部分。
定義7案例本體Caseo::=(Ocbn, Oc, Rc, Ic),其中,Ocbn是領(lǐng)域名,Oc是案例集,Rc是關(guān)系,Ic實(shí)例集,包括案例的描述屬性實(shí)例集,案例的數(shù)字屬性實(shí)例集,案例與案例特征關(guān)系實(shí)例集。
定義8分類本體Tao::=(Cta, Rta, Ita), 其中,Cta是分類概念集,Rta是關(guān)系集,用來表示分類層次關(guān)系,Ita是實(shí)例集,是關(guān)系的實(shí)例集。
定義9案例知識庫Ocdb::=(Ocbn, Oc, Rc, Ic),其中,Ocbn是領(lǐng)域名,Oc是本體集,記為Oc=(To(概念本體),Caseo(案例本體),Tao(分類本體));Rc是關(guān)系集; Ic是實(shí)例集。
依賴本體中類的定義,案例在知識庫中表現(xiàn)為以屬性作為維度的特征向量,每一維代表對應(yīng)屬性上的取值。即任意的案例x可以表示為如下特征向量:
<A1(x),A2(x),…,Ak(x)>
其中 案例x有k個屬性,Aj(x)表示它的第j個屬性的取值。
實(shí)例推理步驟如下:
(1) 問題特征的抽取、描述和輸入。
(2) 根據(jù)問題案例特征信息進(jìn)行相似案例的檢索。
(3) 問題案例與實(shí)例屬性匹配與相似性計算。首先計算各個屬性的相似度。如果期望值是一個確定值,按照式(1)計算其相似度;如果是一個范圍值,按照式(2)計算相似度。最后按照式(3)把各屬性的相似度綜合成實(shí)例的相似度。
其中 x, y∈ [α ,β ]
其中 ωi表示第i個屬性的權(quán)值。
(4) 最后把檢索到的相似實(shí)例按照相似度的高低進(jìn)行排序,并選取相似度最大的實(shí)例作為備選方案。
上述分析方案在作者開發(fā)的制造業(yè)知識管理系統(tǒng)的產(chǎn)品知識倉庫子系統(tǒng)中得以應(yīng)用。該系統(tǒng)采用 Protégé2000+OWL構(gòu)建描述本體;用 Jena 實(shí)現(xiàn)本體與數(shù)據(jù)庫之間的連接,數(shù)據(jù)傳遞,實(shí)現(xiàn)推理機(jī)。
系統(tǒng)包括本體構(gòu)建模塊、映射本體庫模塊、知識檢索模塊、知識發(fā)現(xiàn)獲取模塊和系統(tǒng)管理用戶界面等6個模塊。企業(yè)知識本體是整個系統(tǒng)的基礎(chǔ),其他各個模塊均依賴于企業(yè)知識本體來建立。構(gòu)建本體庫采用知識分類的方法,對各類別知識本體概念化,并賦予屬性,同時必須對屬性進(jìn)行本體實(shí)例化。原數(shù)據(jù)源采用映射、本體概念關(guān)聯(lián)的方法導(dǎo)入到本體庫中,構(gòu)建知識獲取模塊,方便知識的獲取。系統(tǒng)界面如圖4、圖5所示。
圖4為類的基本操作界面,可以進(jìn)行添加類、添加子類、刪除類、查找類、瀏覽類、瀏覽與類的相關(guān)項等。在圖右邊面板里可以對選定的類描述說明,記錄下與這個類相關(guān)的信息。在Documentation中可以對類進(jìn)行詳細(xì)的文本說明,在Constraints中給出類的約束。下面的槽列表給出的是類的描述屬性。在該模塊中類的建立體現(xiàn)了分類學(xué)的層次結(jié)構(gòu),類與子類是一種樹結(jié)構(gòu)關(guān)系,類與類、類與子類間可以建立本題關(guān)聯(lián)。
把知識進(jìn)行本體的實(shí)例化是知識獲取的關(guān)鍵,圖5是系統(tǒng)軟件實(shí)例庫界面,在該模塊中可以為選定的類建立實(shí)例、刪除實(shí)例、瀏覽實(shí)例相關(guān)項和查找實(shí)例。每個實(shí)例的屬性都可以設(shè)一個屬性值,值的類形式多樣化。這些值可以是整數(shù)、實(shí)數(shù)、布爾值、字符等等,還可以是類和自定義標(biāo)志,甚至可以取其他的實(shí)例作為值。實(shí)例的形式可以是表示知識的各種數(shù)據(jù)格式,包括文檔、圖形、音像等。
圖 4 類的界面
本文提出基于本體的知識倉庫,建立了一種基于本體的本體化產(chǎn)品知識模型。對知識倉庫的功能體系結(jié)構(gòu)、知識本體的構(gòu)建、本體映射以及基于本體的案例推理都進(jìn)行了深入地研究,采用 Protégé2000+OWL構(gòu)建描述本體,用 Jena 實(shí)現(xiàn)本體與數(shù)據(jù)庫之間的連接。并將研究內(nèi)容在制造業(yè)知識管理應(yīng)用系統(tǒng)的機(jī)械產(chǎn)品知識倉庫子系統(tǒng)中進(jìn)行應(yīng)用。
[1] 朱文博, 李愛平, 劉雪梅, 等. 基于知識的沖壓產(chǎn)品集成建模[J]. 同濟(jì)大學(xué)學(xué)報(自然科學(xué)版), 2006, 34(4): 528-533.
[2] 孫延明, 駱 雯, 劉 斌, 等. 基于CRB的液壓缸設(shè)計方法[J]. 計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報, 1999, 11(2): 176-199.
[3] 張為民, 李愛平. 模具設(shè)計案例知識管理系統(tǒng)的研究和開發(fā)仁[J]. 計算機(jī)工程, 2005, 12(3): 197-199.
[4] 劉曉冰, 楊春立, 高天一, 等. 基于設(shè)計倉庫的產(chǎn)品設(shè)計知識管理方法研究[J]. 計算機(jī)集成制造系統(tǒng) —— CIMS, 2005, 11(6): 831-835.
[5] 黃煙波, 張紅宇, 李建華, 等. 本體映射方法研究[J].計算機(jī)工程與應(yīng)用, 2005, 18: 27-33.
[6] 李選如, 何潔月. 語義集成:本體映射方法研究[J].計算機(jī)技術(shù)與發(fā)展, 2007, 17(2): 122-124.
[7] 丁劍飛, 何玉林, 李成武. 基于本體的分布式CBR設(shè)計系統(tǒng)[J]. 計算機(jī)工程, 2007, 33(21): 183-185.