邰麗君, 趙 韓, 董玉德, 武照云
(合肥工業大學安徽省數字化設計與制造重點實驗室,安徽 合肥 230009)
隨著信息技術的迅猛發展和各種先進制造理念的產生,制造業正在迅捷地向并行化、分布式、數字化和智能化制造方式轉化。一方面,企業內產生的設計開發資料隨著產品的不斷增加而日益膨脹,另一方面企業又必須不斷地從外界獲取各種信息,由此產生的各種知識堆積而且成指數增長。因此,如何在產品知識倉庫中數字化表達、捕獲、交換、再利用設計及其過程知識、有效地管理已有的產品知識,以及如何對基于知識的開發系統進行分析與建模,成為提高產品開發速度的關鍵。在產品知識倉庫設計方面,已有很多文獻進行了研究,朱文博等[1]研究和開發了一種基于特征的知識庫系統,孫延明[2]和張為 民[3]等提出了一種基于案例(CBR)的知識獲取方式,而劉曉冰[4]等將數據倉庫(OLAP)技術運用到知識倉庫的設計和構建中。
本文提出基于本體的知識倉庫,通過構建企業知識本體,形成基于本體的知識語義骨架網絡領域模型,然后利用知識本體映射技術,將各種設計知識與不同的本體元素進行映射,使數據實體映射為基于本體的知識元,從而實現產品設計知識的統一組織和管理。
機械產品知識倉庫是面向產品數據分析和知識發現、以“產品為中心”的知識倉庫。主要用于解決產品開發全生命周期中知識管理與知識重用問題,將重復的設計和工程任務自動化,具體內容包括產品知識獲取、整理、組織、表示、共享和重用等,及時準確地向產品開發人員提供產品設計、制造、裝配、加工等各方面知識與幫助,并支持產品的并行協同虛擬開發。整個知識倉庫的架構如圖1所示。

圖 1 機械產品知識倉庫體系結構
(1) 知識源
知識源主要有:產品標準、產品文檔、產品實例和專家知識等。各種產品應用系統中的產品原始數據、中間數據和最終數據,像在數據倉庫中一樣,數據在進入知識倉庫存儲體之前必須進行各種處理,如提取、凈化、轉化等。某些數據庫、文本、Web等知識源,可通過知識發現系統處理后存入知識倉庫存儲體。其它知識源,如各種論壇的總結性知識,智能代理在網絡上獲得的信息,這些信息在進入知識倉庫之前,首先放在臨時倉庫,當知識管理者對它們進行有效性驗證以后才可以輸入到知識倉庫中。
(2) 知識倉庫存儲體
機械產品知識倉庫存儲體是產品知識倉庫的中心,這里存儲所有的知識,但并不是所有的知識儲存在一個統一的服務器中,包括各種類型的數據庫,并且分布在很多位置,往往有備份,知識倉庫存儲體中的知識主要分為設計資料庫、虛擬產品開發輔助庫、虛擬產品建模輔助庫、產品知識庫和相關信息庫等。產品知識倉庫需要借助于數據庫管理系統的強大功能來輔助對知識倉庫的管理。
(3) 人機交互界面
人機交互界面主要包括管理界面、內部用戶界面和外部用戶界面等。知識管理員需要借助于友好的管理界面對知識倉庫中的知識進行維護、更新等。內部用戶根據不同的權限通過內部用戶界面可以瀏覽和寫入相關產品數據和信息。外部用戶分為一般用戶和協作用戶,一般用戶通過Web服務器只能瀏覽或下載系統公開的知識,而協作用戶則可以通過Web服務器共享產品設計知識。對于計算機水平不同的人員采用不同的輸入方式,輸入界面應該友好、方便。
(4) 知識倉庫工具
知識倉庫工具主要包括知識獲取輔助工具、分析工具、知識發布工具、知識發現工具、知識檢索引擎等。
語義描述的基礎之一是本體,為了組織設計知識以便于知識需求和檢索,需要建立本體模型,并利用本體中定義的術語作為元數據來標注,以有效描述大量的設計原理、領域知識、設計案例和專家經驗等。知識本體作為領域知識規范的抽象和描述。可以構造豐富的概念間的語義關系,能夠準確描述概念含義以及概念之間的內在關聯,形式化能力最強。同時本體組織便于邏輯推理獲取概念之間的蘊涵關系,提供較高的知識推理能力。因此,運用知識本體進行設計知識的表達,可以更好地實現基于語義的知識共享和知識需求。
針對機械產品設計知識的特性,知識本體的結構可描述為如下四元組:

其中 KO表示知識本體,C表示某領域的概念集,P是建立在C上的屬性集,M是建立在C上的方法特性集,R是建立在C上的關系集。一個概念的定義和描述往往會涉及到多個其它概念,概念之間具有關聯性和繼承性。式(1)是領域知識本體的總體表示和描述,對于知識本體中的每一個知識本體元素,可用式(2)來表示。

其中 q表示知識本體元素,c表示某個領域概念,如齒輪、軸、軸的結構設計等,P、m分別是概念c上的一組屬性和方法,r則是建立在c上的與其它概念的一組關系。實際應用中,人們常常使用式(2)。
為了進一步明確知識本體元素的含義和內部結構關系,將式(2)分解為式(3)和式(4)

式(3)是某一領域概念c自身的描述,體現為對屬性集P和方法特性集m的定義和描述;式(4)則是概念c與領域中其它概念之間的一組特定的領域關系r的描述,例如并列、隸屬(度)、關聯(度)、蘊涵、雙向蘊涵、繼承關系等。
根據以上對知識本體的結構描述,若知識本體由n個本體元素組成,概念集C=(c1,c2,…,cn)和建立在C上的關系集R={r1, r2, …, rn}將共同組成一個有向圖G(X, E),其中X為圖的點集,E為邊集,X的值域為概念集C,E的值域為關系集R。由此不難看出,知識本體通過概念之間的關系集R構成了相對完善的知識內容體系和網絡化結構,知識本體的網狀結構如圖2所示。

圖 2 知識本體的網狀結構
圖中的橢圓框代表一個領域概念Ci,而一個橢圓與其它橢圓之間的箭頭連線代表概念Ci,與其它概念的關系,諸如關系ri1, ri2, …, rij等,與之關聯的概念不同則概念間的關系一般也不相同。例如,概念A與概念B之間是包含關系,而概念A與概念C則是關聯或并列關系。圖中的單向箭頭表示關系不可逆,而雙向箭頭則表示兩個概念間的關系可逆。因此,概念間關系的多樣性,使得關系集R構成概念之間的層次關系、關聯關系、繼承關系等多維關系的網絡結構,代替傳統知識分類分層組織方法的主題之間單一層次結構關系,能夠更加方便地管理知識的分類和實現基于任務過程的知識動態配置。
本體不但有好的邏輯基礎,還有相應的描述語言支持基于本體的應用系統開發。典型的本體描述語言有RDF(S),OIL,DAML+OTL和OWL,按表達能力由弱到強的順序給上述語言排序是RDF(S)、OTL、DAML+OIL、OWL。這些語言都采用XML作為語法基礎,在繼承的語法和表達能力的基礎上進行擴展。是制定的面向語義的本體標記語言,是語義領域適合語義應用的本體標記語言的最新綜合研究成果。本文下面僅對表達能力最強的OWL進行分析。
由于本體構建的分布性,且目前還沒有統一的構建標準,不同的用戶使用不同的方法構建出的本體也是不同的,即使是同一領域也會有不同的本體,這就是本體的異構性。為了解決異構本體間的互操作性,便于本體間的知識共享和重用,人們提出了本體映射方法。所謂本體映射[5],是指兩個本體存在語義級的概念關聯,通過語義關聯,實現將源本體的實例映射到目標本體的過程。
本體映射過程如下:① 標準化:將本體原先的形勢轉換成為一種可進行相似性計算的形勢;② 選擇用于映射的概念對;③ 相似性計算;④ 映射執行:根據第三步的結果,對候選映射進行篩選,建立映射;⑤ 映射后處理:返回至第2步,重復運行,直到達到滿意結果。其中相似性計算是本體映射的一個重要步驟。目前常用的相似性計算方法[6]很多,如基于實例的方法、利用啟發規則方法等,但都有其局限性,本文從屬性、語法、結構、實例4個方面進行相似性的計算,并把計算結果進行合并,得出最終的概念相似度。
定義1相似度Sim:V1×V2×O1×O2→[0,1],相似度在0和1之間。Sim(A, B)表示A和B之間的相似度。V1和V2是兩個本體所基于的術語集,O1和O2是需要映射的兩個本體。Sim(A, B)=1:表示兩個概念完全相似;Sim(A, B)=0:表示兩個概念完全不相似。
定義2屬性相似度Simsx(A, B)
在本體中,每一個屬性也是一個概念。設概念A 的屬性為ai,概念B 的屬性為bj,兩個屬性間的相似度記為ASim(ai, bj)。設概念A 和B 之間共計算出m 個ASim(ai, bj),并設置相應的權值wk。則屬性相似度為

定義3語法相似度Simyf(A, B)

其中 syn(A )表示概念A 的同義詞集;len(A) 表示概念A的字符串長度;ConSubStrings表示A、 B 共有的字符串長度。
定義4結構相似度Simjg(A, B)

其中 Af、As、Ab分別表示概念A 的父、子、兄弟概念集;概念B 類似;α、β、λ 表示權重因子。

其中 S、T 分別表示A、B 的特征集合,(S∩T)≠Ф, S/T 表示集合S 除去集合T 中具有的特征;T/S 反之類似; ε 是非公共特性的相對重要程度(為可調節參數)。
定義5實例相似度Simsl(A, B)

其中 I(a)、I(b)表示本體A、B 中概念 a、b 所擁有的實例數;I(Aa.b)表示本體A 中屬于概念a也屬于概念b 的實例數;I(Bb.a) 表示本體B 中屬于概念b 也屬于概念a 的實例數。
總相似度將按照式(1)~式(4)計算得到不為0 的相似度賦予不同權值計算總相似度如下所示

其中 Wyf,Wsx,Wjg,Wsl≥0。
產品信息模型建立是機械產品知識倉庫的關鍵。利用以描述邏輯為基礎發展而來的OWL本體表示語言可以對產品概念設計知識進行本體建模。而本體作為知識的一種良好載體,在語義層面不但提供了形式化描述知識的基礎,而且使系統之間的知識級共享和集成成為可能。該知識倉庫對產品信息模型定義如下:
(1) 產品結構模型 結構模型包括4個基本類:部件、型號、材料和視圖;6個基本屬性:子部件、結構關系、部件屬性、部件型號、部件材料和部件視圖。
(2) 產品行為模型 行為模型包括一個基本類:行為;4個基本屬性:子行為、行為關系、行為類型、行為相關部件。
(3) 產品功能模型 功能模型包括一個類:功能;6個基本屬性:功能目標、子功能、功能類型、元功能、目標功能、功能相關部件。
(4) 產品需求模型 需求模型包括一個類:需求;5個基本屬性:需求提供者、子需求、需求類型、需求提出時間、需求相關件。
(5) 產品實例模型 實例模型包括一個類:實例;5個基本屬性:實例設計者、子實例、設計時間、實例類型、實例相關件。
整個產品信息模型如圖3所示。

圖 3 產品知識模型
根據上述產品知識表達模型,采用語義web語言owl來描述產品本體,完整的產品本體描述應包括:定義領域空間、定義此本體的概況、定義基本類、定義基本屬性等。具體構建過程如下:
(1) 定義領域空間

(2) 定義此本體的概況

(3) 定義基本類

(4) 定義基本屬性

目前關于CBR[7]系統的實現技術一般都圍繞CBR的幾個關鍵步驟進行如案例的表示、案例的組織、案例的檢索等。本文提出基于本體的案例知識表示模型。其中,案例本體可作為案例知識的一種通用表示模型,不但可以對案例知識進行有效表達,支持基于內容的檢索,還可表達案例的特征并支持CBR。
本文在案例庫中引入了3種本體:概念本體,表示領域概念及概念之間關系;案例本體,用來表達案例實體;分類本體,表達知識的層次結構,可用建立案例的層次分類體系。
定義6概念本體To::=(Ocbn, Ct, Rt, It),其中,Ocbn是領域名,Ct概念集,Rt是關系,It是實例集,它包括概念實例集和關系實例集兩個部分。
定義7案例本體Caseo::=(Ocbn, Oc, Rc, Ic),其中,Ocbn是領域名,Oc是案例集,Rc是關系,Ic實例集,包括案例的描述屬性實例集,案例的數字屬性實例集,案例與案例特征關系實例集。
定義8分類本體Tao::=(Cta, Rta, Ita), 其中,Cta是分類概念集,Rta是關系集,用來表示分類層次關系,Ita是實例集,是關系的實例集。
定義9案例知識庫Ocdb::=(Ocbn, Oc, Rc, Ic),其中,Ocbn是領域名,Oc是本體集,記為Oc=(To(概念本體),Caseo(案例本體),Tao(分類本體));Rc是關系集; Ic是實例集。
依賴本體中類的定義,案例在知識庫中表現為以屬性作為維度的特征向量,每一維代表對應屬性上的取值。即任意的案例x可以表示為如下特征向量:
<A1(x),A2(x),…,Ak(x)>
其中 案例x有k個屬性,Aj(x)表示它的第j個屬性的取值。
實例推理步驟如下:
(1) 問題特征的抽取、描述和輸入。
(2) 根據問題案例特征信息進行相似案例的檢索。
(3) 問題案例與實例屬性匹配與相似性計算。首先計算各個屬性的相似度。如果期望值是一個確定值,按照式(1)計算其相似度;如果是一個范圍值,按照式(2)計算相似度。最后按照式(3)把各屬性的相似度綜合成實例的相似度。

其中 x, y∈ [α ,β ]


其中 ωi表示第i個屬性的權值。
(4) 最后把檢索到的相似實例按照相似度的高低進行排序,并選取相似度最大的實例作為備選方案。
上述分析方案在作者開發的制造業知識管理系統的產品知識倉庫子系統中得以應用。該系統采用 Protégé2000+OWL構建描述本體;用 Jena 實現本體與數據庫之間的連接,數據傳遞,實現推理機。
系統包括本體構建模塊、映射本體庫模塊、知識檢索模塊、知識發現獲取模塊和系統管理用戶界面等6個模塊。企業知識本體是整個系統的基礎,其他各個模塊均依賴于企業知識本體來建立。構建本體庫采用知識分類的方法,對各類別知識本體概念化,并賦予屬性,同時必須對屬性進行本體實例化。原數據源采用映射、本體概念關聯的方法導入到本體庫中,構建知識獲取模塊,方便知識的獲取。系統界面如圖4、圖5所示。
圖4為類的基本操作界面,可以進行添加類、添加子類、刪除類、查找類、瀏覽類、瀏覽與類的相關項等。在圖右邊面板里可以對選定的類描述說明,記錄下與這個類相關的信息。在Documentation中可以對類進行詳細的文本說明,在Constraints中給出類的約束。下面的槽列表給出的是類的描述屬性。在該模塊中類的建立體現了分類學的層次結構,類與子類是一種樹結構關系,類與類、類與子類間可以建立本題關聯。
把知識進行本體的實例化是知識獲取的關鍵,圖5是系統軟件實例庫界面,在該模塊中可以為選定的類建立實例、刪除實例、瀏覽實例相關項和查找實例。每個實例的屬性都可以設一個屬性值,值的類形式多樣化。這些值可以是整數、實數、布爾值、字符等等,還可以是類和自定義標志,甚至可以取其他的實例作為值。實例的形式可以是表示知識的各種數據格式,包括文檔、圖形、音像等。

圖 4 類的界面
本文提出基于本體的知識倉庫,建立了一種基于本體的本體化產品知識模型。對知識倉庫的功能體系結構、知識本體的構建、本體映射以及基于本體的案例推理都進行了深入地研究,采用 Protégé2000+OWL構建描述本體,用 Jena 實現本體與數據庫之間的連接。并將研究內容在制造業知識管理應用系統的機械產品知識倉庫子系統中進行應用。
[1] 朱文博, 李愛平, 劉雪梅, 等. 基于知識的沖壓產品集成建模[J]. 同濟大學學報(自然科學版), 2006, 34(4): 528-533.
[2] 孫延明, 駱 雯, 劉 斌, 等. 基于CRB的液壓缸設計方法[J]. 計算機輔助設計與圖形學學報, 1999, 11(2): 176-199.
[3] 張為民, 李愛平. 模具設計案例知識管理系統的研究和開發仁[J]. 計算機工程, 2005, 12(3): 197-199.
[4] 劉曉冰, 楊春立, 高天一, 等. 基于設計倉庫的產品設計知識管理方法研究[J]. 計算機集成制造系統 —— CIMS, 2005, 11(6): 831-835.
[5] 黃煙波, 張紅宇, 李建華, 等. 本體映射方法研究[J].計算機工程與應用, 2005, 18: 27-33.
[6] 李選如, 何潔月. 語義集成:本體映射方法研究[J].計算機技術與發展, 2007, 17(2): 122-124.
[7] 丁劍飛, 何玉林, 李成武. 基于本體的分布式CBR設計系統[J]. 計算機工程, 2007, 33(21): 183-185.