許 偉, 李 楷*,2, 王 艷 龍
(1.大連理工大學(xué) 船舶工程學(xué)院,遼寧 大連 116024;2.大連理工大學(xué) 工業(yè)裝備結(jié)構(gòu)分析國家重點(diǎn)實(shí)驗(yàn)室,遼寧 大連 116024;3.山東省科學(xué)院 海洋儀器儀表研究所,山東 青島 266061)
船舶艙室布置設(shè)計(jì)是貫穿整個船舶設(shè)計(jì)過程的重要部分,具有不斷反復(fù)、螺旋上升的特點(diǎn).其設(shè)計(jì)成果通常在總布置圖及船體說明書中體現(xiàn),表達(dá)為最終設(shè)計(jì)方案中的艙室?guī)缀涡螤?、特征尺寸和主要功能,這些只占整個船舶艙室布置設(shè)計(jì)活動產(chǎn)生信息總量的小部分.船舶艙室布置設(shè)計(jì)的過程信息、設(shè)計(jì)意圖、設(shè)計(jì)原理、設(shè)計(jì)約束這些與設(shè)計(jì)推理直接相關(guān)的信息,規(guī)模龐大、層次復(fù)雜,是船舶艙室布置設(shè)計(jì)活動產(chǎn)生信息總量的絕大部分.但是,這些推理信息,尤其是過程信息和設(shè)計(jì)意圖,基本上都保存在設(shè)計(jì)人員的大腦中,小部分散落在各種設(shè)計(jì)規(guī)范和數(shù)據(jù)文檔中,因而不具備系統(tǒng)性和結(jié)構(gòu)性,缺少可視化支持.一般船舶設(shè)計(jì)都需要參考母型船,即對母型船的部分設(shè)計(jì)進(jìn)行重用,這時(shí)就只能依靠分析總布置圖及船體說明書來理解母型船設(shè)計(jì)過程中的設(shè)計(jì)意圖,進(jìn)而指導(dǎo)和驗(yàn)證設(shè)計(jì)船的設(shè)計(jì)推理.這是一個逆向推導(dǎo)的過程,求解易發(fā)散而難以得到準(zhǔn)確解.在工程實(shí)際中,設(shè)計(jì)人員往往需要與原設(shè)計(jì)者充分溝通,以掌握船舶設(shè)計(jì)過程所需的推理信息,即設(shè)計(jì)推理離不開人.
推理信息的碎片化存放形式也不利于協(xié)同設(shè)計(jì).當(dāng)不同專業(yè)小組的設(shè)計(jì)人員需要協(xié)調(diào)時(shí),必須組織起來開會討論,由于缺乏可視化和結(jié)構(gòu)化的推理信息支撐,專業(yè)之間的這種協(xié)調(diào)和討論效率不高,只能得出一些勉強(qiáng)具有可行性的方案.更為嚴(yán)重的是,如果有關(guān)人員缺席導(dǎo)致無法溝通,將會影響設(shè)計(jì)效率和設(shè)計(jì)質(zhì)量,甚至造成企業(yè)的損失.因此有必要采用系統(tǒng)化和可視化的知識表達(dá)方式實(shí)現(xiàn)設(shè)計(jì)知識的重用、繼承與共享.
近年來,本體Web技術(shù)在知識工程中的應(yīng)用日益得到重視,它通過建立基于知識的模型,來表達(dá)某領(lǐng)域內(nèi)概念的抽象以及描述這些概念的關(guān)系和屬性的網(wǎng)絡(luò),因而具有知識形式化表達(dá)和共享特性.目前基于本體的方法已被眾多學(xué)者應(yīng)用到多個設(shè)計(jì)領(lǐng)域范疇.因此,本文將本體論引入船舶艙室布置領(lǐng)域,通過挖掘船舶艙室布置相關(guān)知識,構(gòu)建領(lǐng)域本體知識庫,以實(shí)現(xiàn)對船舶設(shè)計(jì)專家經(jīng)驗(yàn)知識的保存,并通過一艘漁政船艙室布置設(shè)計(jì)進(jìn)行實(shí)例驗(yàn)證.
本體的概念最初起源于哲學(xué)領(lǐng)域,用于描述事物的本質(zhì)[1].近年來,本體在人工智能等信息管理領(lǐng)域獲得廣泛關(guān)注,它所包含的哲學(xué)思想對這些領(lǐng)域產(chǎn)生了深遠(yuǎn)的影響.劉偉等提出了基于本體論的小型農(nóng)機(jī)快速響應(yīng)設(shè)計(jì)方法,建立了從需求到功能到技術(shù)原理再到元件結(jié)構(gòu)的4層設(shè)計(jì)知識的映射,提高了設(shè)計(jì)領(lǐng)域中的知識利用率[2].張應(yīng)中等提出了一種基于本體的產(chǎn)品DR(design rationale)語義表達(dá)模型——ISAA模型,有效地解決了設(shè)計(jì)原理信息重用問題[3].李福鑫提出了一種面向重載鐵路風(fēng)險(xiǎn)數(shù)據(jù)的領(lǐng)域本體,采用半自動構(gòu)建方法進(jìn)行本體模型構(gòu)建,為基于結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)源進(jìn)行本體學(xué)習(xí)提供了一種可行的方法[4].程宏佳將語義技術(shù)與本體工程引入船舶機(jī)艙布置領(lǐng)域,并探討了有關(guān)機(jī)艙布置智能化設(shè)計(jì)的相關(guān)內(nèi)容[5],對于本文所要研究的船舶艙室布置本體模型構(gòu)建問題具有重要的參考價(jià)值.Gangemi探討了幾類領(lǐng)域本體應(yīng)用的典型概念和模式[6].Setchi等提出了一種基于語義的圖像提取方法,這一方法將詞匯的單義性與多義性用于特定概念的概率估計(jì),從而擺脫了對機(jī)器學(xué)習(xí)和標(biāo)記語料庫的依賴[7].Chung等將本體論引入潛艇艙室布置設(shè)計(jì)中,初步實(shí)現(xiàn)了智能化分艙[8],但是該文并沒有給出艙室布置本體模型構(gòu)建的具體方法.
本體是領(lǐng)域知識的形式化表達(dá),需要與知識發(fā)現(xiàn)方法配合使用才能從已有的知識中發(fā)現(xiàn)未知的知識,從而創(chuàng)造更大的價(jià)值.即本體只是告訴人們“是什么”,而語義檢索與推理則是告訴人們“怎么用”和“為什么”.傳統(tǒng)的信息檢索主要是通過關(guān)鍵詞的匹配程度進(jìn)行搜索,這種方式首先用若干個關(guān)鍵詞對用戶的需求概念進(jìn)行簡化表達(dá),在一定程度上造成信息傳遞的失真,而其查詢方法的本質(zhì)是對信息的機(jī)械過濾,這種查詢方法以及搜索到的結(jié)果,都不能很好地滿足用戶的檢索需求.人們逐漸認(rèn)識到,應(yīng)從語義的角度來識別用戶的需求和檢索信息,提高信息檢索的查全率(recall ratio)和查準(zhǔn)率(precision ratio),從而更高效地獲得所需要的信息資源.
近20年來,很多學(xué)者在語義信息搜索方面開展了相關(guān)研究,取得了一定的成果.王曼等將本體和圖論結(jié)合,用計(jì)算機(jī)領(lǐng)域本體表示文檔中的知識,用求帶權(quán)最短路徑的方法擴(kuò)展查詢,在搜索過程中綜合考慮句型和語義兩種因素進(jìn)行匹配查詢,根據(jù)語義相似度排序相關(guān)文檔[9].顧復(fù)等提出了基于語義網(wǎng)絡(luò)RDF模型的建立方法,將設(shè)計(jì)目標(biāo)轉(zhuǎn)換為語義網(wǎng)絡(luò)片段,通過計(jì)算備選方案語義網(wǎng)絡(luò)中各節(jié)點(diǎn)與目標(biāo)值的匹配度,獲得所需的參考配置方案[10].韓軍等提出了基于本體知識庫的語義擴(kuò)充方法,并設(shè)計(jì)了一種新的索引結(jié)構(gòu)GRTree,通過對空間語義圖的層次劃分,可有效過濾無效信息[11].為了提高產(chǎn)品的競爭力,從占據(jù)市場主流地位的搜索引擎服務(wù)商(如Google、百度等),到一些獨(dú)立的小型公司、研究機(jī)構(gòu),也紛紛開始將語義搜索技術(shù)與傳統(tǒng)搜索方法集成,提高搜索質(zhì)量[12-13].但總體上語義搜索引擎仍處于發(fā)展階段,還未出現(xiàn)成熟的應(yīng)用產(chǎn)品.
本體知識庫是語義搜索的基礎(chǔ).作為知識的一種形式化表達(dá)模型,本體具有較強(qiáng)的知識表達(dá)能力和明確的概念層次結(jié)構(gòu),因而能有效捕獲相關(guān)領(lǐng)域的知識,有助于設(shè)計(jì)知識的重用和共享.本體建模的核心是描述邏輯(description logic,DL),由4個基本部分組成[4]:①構(gòu)造集,用于表示概念和關(guān)系;②TBox術(shù)語集;③ABox斷言集;④TBox和ABox上的推理機(jī)制.這4個基本部分的配置方式?jīng)Q定了描述邏輯的表達(dá)能力和推理機(jī)制.描述邏輯有清晰的模型-理論機(jī)制,因而具有很強(qiáng)的表達(dá)能力,非常適合使用概念分類法來表示應(yīng)用領(lǐng)域.并且,描述邏輯的意義在于提供可判定的推理機(jī)制,保證推理算法的收斂性,能夠返回合理的結(jié)果.圖1為基于描述邏輯的本體知識庫基本框架.
本體建模的表達(dá)方式則主要依靠本體建模語言.本體論最先應(yīng)用于 Web技術(shù),因此眾多本體建模語言的發(fā)展也是基于Web標(biāo)準(zhǔn)的,目前應(yīng)用最廣泛的是網(wǎng)絡(luò)本體語言(web ontology language,OWL),OWL已成為 W3C推薦的標(biāo)準(zhǔn)本體語言.
圖1 基于描述邏輯的本體知識庫基本框架Fig.1 Basic framework of DL-based ontology knowledge base
1995年Gruber提出的本體模型構(gòu)建5條準(zhǔn)則,廣為學(xué)界和開發(fā)人員接受.該準(zhǔn)則已演變?yōu)楸倔w建模的檢驗(yàn)和評價(jià)依據(jù),可制約本體模型構(gòu)建的隨意性[14].至今已發(fā)展出數(shù)十種本體模型構(gòu)建方法,大致可分為3類:人工處理,半自動建模,全自動建模.在Web信息這類通用性較強(qiáng)的領(lǐng)域本體建模上,已經(jīng)實(shí)現(xiàn)了半自動建模,但是在各類工程領(lǐng)域,由于專業(yè)性較強(qiáng),其本體建模仍然停留在人工處理階段.
本文研究的船舶艙室布置領(lǐng)域本體,屬于應(yīng)用本體.應(yīng)用本體需要在領(lǐng)域本體基礎(chǔ)上進(jìn)行構(gòu)建,同時(shí)還要涵蓋領(lǐng)域知識與應(yīng)用程序開發(fā)對象知識,以用于應(yīng)用程序的開發(fā),因此必須采用特定策略進(jìn)行構(gòu)造.船舶艙室布置領(lǐng)域本體的構(gòu)建流程如圖2所示.
(1)獲取船舶艙室布置領(lǐng)域知識
領(lǐng)域本體在構(gòu)建之前,必須明確領(lǐng)域范疇,這樣才能降低建模難度,節(jié)約建模時(shí)間.船舶艙室布置領(lǐng)域知識來源廣泛,如船舶設(shè)計(jì)圖紙、三維模型、船級社規(guī)范、相關(guān)標(biāo)準(zhǔn)、船東要求以及直接來自船舶設(shè)計(jì)人員的經(jīng)驗(yàn)等.這些因素造成每艘船舶艙室布置設(shè)計(jì)都有一定的特點(diǎn),也說明船舶艙室布置本體知識庫的不完整性將長期存在.在基于應(yīng)用本體進(jìn)行開發(fā)時(shí)也必須要考慮到本體知識庫的不完整性.
在構(gòu)建本體模型時(shí),如能在本體知識庫中查詢到可復(fù)用的本體,則能顯著提高本體建模效率.并且查找可復(fù)用本體不必局限于同領(lǐng)域,可以基于具有相同架構(gòu)的本體進(jìn)行本體建模.在建模時(shí)還要注意描述的規(guī)范性,以提高本體的擴(kuò)展性.
圖2 船舶艙室布置本體模型構(gòu)建流程Fig.2 The process of ship cabin layout ontology modeling
(2)提取核心概念類定義及概念分組
概念通常也稱為類,它表示具有相同特征事物的集合,在描述具體領(lǐng)域本體時(shí),必須采用公認(rèn)術(shù)語進(jìn)行概念表達(dá),并給出一致的語義定義,形成結(jié)構(gòu)化概念文檔庫.在OWL中,關(guān)于類的關(guān)系有3大公理,分別為 DisjointClasses、SubClassOf、EquivalentClasses.DisjointClasses表示類之間不相交關(guān)系,SubClassOf表示類與類之間的父子關(guān)系,EquivalentClasses表示滿足類的充要條件.船舶艙室布置本體的核心概念應(yīng)包括以下幾點(diǎn):
①區(qū)域.在船舶艙室布置過程中,一般先大體劃分出功能區(qū)域,然后再對每個功能區(qū)域細(xì)分出更小區(qū)域,其中最小的單元為艙室.
②艙室.作為整個船舶艙室布置設(shè)計(jì)中的基本單元,艙室概念應(yīng)包括所屬區(qū)域、功能、位置、容積、形狀等信息.
③拓?fù)浣Y(jié)構(gòu).拓?fù)浣Y(jié)構(gòu)是指各個功能區(qū)域、艙室相互連接的形式.采用拓?fù)浣Y(jié)構(gòu),可以把艙室之間的關(guān)系從具體的位置、形狀中抽象出來.
④功能.功能是船舶艙室布置設(shè)計(jì)的核心問題,船舶艙室布置設(shè)計(jì)的所有工作都是為了滿足這一目標(biāo)而服務(wù)的.每個區(qū)域、艙室都具有獨(dú)特的功能,功能屬性對各艙室的位置及艙室之間的關(guān)系有決定性作用.
(3)定義屬性、關(guān)系及相關(guān)約束
在Protégé本體編輯軟件中,屬性類型包括對象屬性O(shè)wl:ObjectProperty和數(shù)據(jù)屬性O(shè)wl:DataTypeProperty.其中對象屬性表示的是類與類之間的關(guān)系,它的特征包含可逆性、傳遞性、對稱性、自反性、函數(shù)性等,在描述中rdfs:range與rdfs:domain分別用來表示值域與定義域,如表1所示.數(shù)據(jù)屬性是類的固有特征,表示類與值之間的關(guān)系,它的屬性特征只有函數(shù)性,表示類的實(shí)例對應(yīng)的數(shù)據(jù)屬性值只能唯一,不能存在重復(fù)值.約束包括量詞約束、基數(shù)約束、存在值約束.如表2所示,這些約束將作為推理依據(jù)供推理機(jī)使用.
表1 船舶艙室布置本體中的主要關(guān)系Tab.1 The main relationships among ship cabin layout ontology
表2 船舶艙室布置本體中的主要約束Tab.2 The main constraints in ship cabin layout ontology
(4)本體實(shí)現(xiàn)及評價(jià)
本體實(shí)現(xiàn)應(yīng)使用語義Web技術(shù)進(jìn)行領(lǐng)域本體編碼、形式化.目前很多本體建模軟件都提供了便捷的手段完成本體的形式化描述,以Protégé為例,可以圖形化的表示方法構(gòu)建船舶艙室布置本體,再利用其強(qiáng)大的轉(zhuǎn)化功能,將本體自動轉(zhuǎn)化為OWL文本.針對不同的需求,OWL有3種子語言,分別為 OWL Full、OWL DL和OWL Lite,其區(qū)別見表3.由于船舶艙室布置本體需要具備一定的邏輯查詢與推理能力,本文選擇OWL DL進(jìn)行本體實(shí)現(xiàn)與表達(dá).
對于公理集的形式化表述,則采用語義Web規(guī)則語言(semantic web rule language,SWRL),它的語法規(guī)則主要基于OWL DL與RuleML的子集.在邏輯運(yùn)算方面,只對“與”提供直接支持,而“或”則要拆分成多個規(guī)則來實(shí)現(xiàn).SWRL的語言規(guī)則表達(dá)與生成式知識的表達(dá)類似,都是采用蘊(yùn)含式,由若干個原子式組成.如某規(guī)則的自然語言表達(dá)為如果一個艙室x屬于區(qū)域z,另一個艙室y屬于區(qū)域f,并且區(qū)域z與區(qū)域f相鄰,那么艙室x與艙室y相鄰.其SWRL表達(dá)為Compartment(?x) ∧ Zone_Deck(?z) ∧ is_Belong_To(?x,?z)∧Compartment(?y)∧Zone_Deck(?f)∧is_Belong_To(?y,?f)∧ adjacent_With(?z,?f)→adjacent_With(?x,?y).可見該表述便于人與機(jī)器的理解,所以應(yīng)用比較廣泛.
表3 OWL子語言之間比較Tab.3 Comparison between OWL sub languages
本體評價(jià)的目的是對本體進(jìn)行相容性和一致性檢查.本體知識庫的表現(xiàn)形式是OWL文本,可以由軟件生成也可以由人工編輯,因此在使用前必須進(jìn)行檢查,以保證沒有語義邏輯錯誤.在Protégé中,可通過使用推理機(jī)或結(jié)合由SWRL規(guī)則語言編寫的公理集,對基于OWL DL描述的本體進(jìn)行相容性和一致性檢查.通過推理機(jī)不僅可以發(fā)現(xiàn)類定義不一致問題,還可以進(jìn)一步挖掘本體中隱含的層次關(guān)聯(lián),從而保證本體的完整性和實(shí)用性,為后續(xù)推理提供基礎(chǔ).
為了驗(yàn)證本文提出的船舶艙室布置本體模型構(gòu)建方法的可行性,以300、400、500t三型漁政船為研究對象,進(jìn)行船舶艙室布置本體模型構(gòu)建.本體編輯工具采用Protégé3.4.8,推理機(jī)采用Pellet 1.5.2,該本體模型可視化結(jié)果如圖3所示,并進(jìn)行相容性和一致性檢查.
圖3 船舶艙室布置本體可視化結(jié)果Fig.3 Visualized result of ship cabin layout ontology
用OWL語言描述船舶艙室布置本體的片段如下:
...
<Declaration>
<Class IRI="#Anchor_TK"/>
</Declaration>
<Declaration>
<Class IRI="#Ballast_TK"/>
</Declaration>
<SubClassOf>
<Class IRI="#Anchor_TK"/>
<Class IRI="#Compartment"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#Ballast_TK"/>
<Class IRI="#Compartment"/>
</SubClassOf>
...
形成的概念清單包括
區(qū)域:儲藏區(qū)域、生活區(qū)域、工作區(qū)域、公共活動區(qū)域等.
艙室:駕駛室、船長室、船員室、燃油艙、淡水艙、艏尖艙、會議室等.
拓?fù)浣Y(jié)構(gòu):主船體外殼、上層建筑外殼、甲板、平臺、橫艙壁、縱艙壁等.
功能:儲藏艙室、生活艙室、工作艙室、公共活動艙室、空艙等.
該本體模型中包含了三型漁政船的布置設(shè)計(jì)實(shí)例,其中300t漁政船艙室布置設(shè)計(jì)的二維圖如圖4所示.
假設(shè)有一艘350t漁政船的設(shè)計(jì)任務(wù),以300t漁政船為母型船設(shè)計(jì),則可使用本體知識庫中300t漁政船的相關(guān)信息進(jìn)行檢索和推理.
以全船供水系統(tǒng)為例,在描述邏輯插件DL query中,輸入需要查詢的類對象 Water_TK,運(yùn)行推理機(jī),查詢結(jié)果如圖5所示.根據(jù)需要篩選所需的類關(guān)系,還可以進(jìn)一步查詢.如要獲悉Water_TK006的布置相關(guān)信息,則可查詢到與 Water_TK006相鄰的艙室有Water_TK004.
除了以上簡單查詢外,還可以通過進(jìn)一步添加規(guī)則進(jìn)行推理,利用 Protégé提供的SWRLTTab標(biāo)簽編寫推理規(guī)則,然后由SWRLJessBridge將SWRL規(guī)則以及OWL本體轉(zhuǎn)化為推理機(jī)能夠識別的格式,這樣再利用推理機(jī)就能順利地完成推理.規(guī)則的自然語言表述為如果一個艙室屬于某個區(qū)域,而這個區(qū)域的底部又由某個拓?fù)浣Y(jié)構(gòu)(包括船底、甲板、平臺)組成,那么該艙室的位置必然在這個拓?fù)浣Y(jié)構(gòu)中.該規(guī)則的SWRL表達(dá)為Compartment(?x)∧Zone_Deck(?y)∧is_Belong_To(?x,?y)∧u_Component_With(?y,?z)→has_Position(?x,?z).
依據(jù)該規(guī)則進(jìn)行推理,返回的推理結(jié)果如圖6所示.
圖5 基于DL query的簡單查詢Fig.5 Simple query based on DL query
圖6 SWRL推理結(jié)果Fig.6 SWRL reasoning result
推理結(jié)果說明4號淡水艙和6號淡水艙的位置都位于船底部,而且關(guān)于中縱剖面對稱.這些知識是無法通過對文本的簡單查詢獲取的,只能利用語義推理工具根據(jù)推理規(guī)則進(jìn)行檢索得到.類似地,對其他系統(tǒng)在艙底的艙室布置進(jìn)行了推理,根據(jù)推理結(jié)果,通過對CATIA二次開發(fā),在CATIA中對350t漁政船艙底部分艙室的布置設(shè)計(jì)進(jìn)行自動建模,結(jié)果如圖7所示.將語義推理與3D建模軟件結(jié)合,可以實(shí)現(xiàn)語義規(guī)則驅(qū)動的智能船舶總布置交互設(shè)計(jì),當(dāng)相關(guān)設(shè)計(jì)對象的位置、組成結(jié)構(gòu)需要調(diào)整時(shí),其語義關(guān)系是隨之調(diào)整的.而在傳統(tǒng)的船舶設(shè)計(jì)過程中,建模過程與語義推理是分離的.在實(shí)際船型開發(fā)過程中,設(shè)計(jì)人員還可以采用多種方式將實(shí)例庫中已有的布置對象導(dǎo)入推理機(jī)進(jìn)行推理,得到更多設(shè)計(jì)方案,檢驗(yàn)布置設(shè)計(jì)是否符合規(guī)則.
圖7 350t漁政船部分艙室布置設(shè)計(jì)結(jié)果Fig.7 Design result of 350tfishery administration vessel partial cabin layout
本文從本體論的角度出發(fā),根據(jù)船舶艙室布置設(shè)計(jì)的特點(diǎn),總結(jié)出船舶艙室布置設(shè)計(jì)領(lǐng)域所需要考慮的類、概念和屬性等語義關(guān)系,提出了船舶艙室布置設(shè)計(jì)領(lǐng)域本體的構(gòu)建方法,并通過350t漁政船的艙室布置設(shè)計(jì)實(shí)例驗(yàn)證了該本體模型的可行性和有效性.新船型的出現(xiàn)以及創(chuàng)新的設(shè)計(jì)理念,必然導(dǎo)致船舶艙室布置設(shè)計(jì)領(lǐng)域知識不斷發(fā)展,領(lǐng)域本體知識的不完整性將長期存在,需要通過本體維護(hù)進(jìn)行更新,這涉及本體進(jìn)化與自動獲取等相關(guān)技術(shù),今后將對此展開研究.