黃怡萱, 佘健俊, 葉 嵩
(1. 南京工業大學 土木工程學院, 江蘇 南京 211800; 2. 中建八局第三建設有限公司, 江蘇 南京 210046)
安全設計(Design For Safety,DFS)是指在設計階段就通過可行的方法或工具識別風險,并采取相關安全措施消除隱患,降低安全事故發生的可能性。雖然目前施工安全風險研究的重點是在施工階段進行安全風險評價及預警,但施工前的安全風險識別仍是排查安全隱患的關鍵,能為后續施工階段安全管理打下基礎。Carter等[1]提出危險識別是安全事故預防的最關鍵要素;Manuele[2]認為在設計階段消除危險是安全管理最高層次;Szymberski[3]提出的時間-安全影響曲線也表明,隨著項目進行,安全管理的能力將逐漸下降。
盡管已經有大量研究證實在設計階段識別安全風險是十分有效的,但目前安全設計的實施仍受到阻礙。在國外,大多研究集中于特定類型的安全風險,如洞口墜落風險[4,5]等,未能系統性地考慮安全設計的內容;提出的DFS工具應用效果很大程度取決于專家的經驗[5,6],且實踐過程費時費力;信息技術的使用多基于IFC(Industry Foundation Classes)標準或商業模型檢查器[7,8],存在信息遺漏、缺乏集成等問題,安全知識利用率低,數據互操困難。在國內,大多相關研究針對地鐵工程設計階段的安全風險[9,10],較少圍繞民用建筑工程設計階段的安全風險展開,對于如何利用信息技術在設計階段集成、管理以及運用行業安全知識更是鮮有涉及。因此,亟需開發一個集成知識管理與信息技術的面向設計階段的安全風險自動識別系統,實現風險超前預控。
與此同時,以本體技術為代表的信息技術逐漸發展成熟,已在煤礦、地鐵、醫療等領域得到廣泛應用。本體是一個特定領域中重要概念共享的、形式化的描述。本體的描述語言OWL(Ontology Web Language)[11]是一種結構化的知識表示方法,它能對概念層次進行清晰準確的表達。本體為領域內信息交互提供了統一的計算機能夠識別的語義基礎,可以很好地解決不同軟件間的互操作性問題,支持基于規則的推理,實現領域本體知識的復用。而BIM(Building Information Modeling)技術具有面向對象建模、數字化、可視化等特點,在建設項目早期階段應用具有巨大的安全管理優勢。
綜上,本文針對目前DFS實施所存在的問題及BIM與本體技術的優勢,提出了基于BIM與本體的安全風險自動識別原型系統,該系統基于建設項目設計階段,集成與設計有關的安全風險內容,實現安全風險的智能推理。由于安全設計涉及的內容較多,篇幅有限,本文以建設項目防火設計為例,驗證所提出系統的可行性,以期為后續DFS的實施與拓展提供有效的方法與工具。
根據前述DFS在實施過程中的困境,進行安全風險識別系統需求分析,如表1所示。

表1 系統功能需求分析
為實現完整的安全風險自動識別過程,采用以本體論為代表的信息表達工具構建領域本體知識庫,將相關安全規范進行結構化處理,翻譯為能夠被計算機識別的語言,同時結合BIM模型信息表達的特點,對模型加載所需要的信息,實現特定信息的提取,最后通過SWRL(Semantic Web Rule Language)規則算法與推理引擎實現安全風險識別,并基于語義的查詢算法輸出識別結果。
根據上述系統總體設計思路,本文將系統設計為知識管理、BIM模型信息處理、規則推理等3個子系統,具體內容如圖1所示。

圖1 系統的總體設計框架
知識管理子系統是圍繞本體知識庫展開的,主要內容為基于本體描述語言OWL對領域知識進行建模,并通過規則語言SWRL對安全規范條例進行表達。本體知識庫是一個動態開放的知識庫,推理后的知識將不斷更新存儲在本體知識庫中以供后續查詢以及管理使用。主要作用為實現安全規范的結構化表達,完成知識的采集、轉換、存儲和查詢,提高安全知識的重用效率。
BIM模型信息處理子系統的主要內容為在對安全規范進行語義分析的基礎上,賦予BIM模型所需要的信息,將提取的信息進行語義轉換,以匹配本體知識庫中的數據格式。主要作用為提供BIM模型實例信息,實現不同平臺之間數據的互操作。
規則推理子系統是安全規則算法、推理算法以及查詢算法的集成,該子系統主要通過系統內置的算法將BIM模型中的信息與安全規則庫中的信息進行智能匹配,識別不一致項并將結果返回到本體知識庫中進行更新,用戶通過查詢得到識別結果,最終輸出識別報告。
BIM模型作為建筑信息數據庫,為安全風險識別系統提供了數據基礎,而DFS本體知識庫為安全規范知識提供了重用的平臺,集成BIM與DFS本體知識庫,能夠識別安全風險的同時解決信息共享和知識重用問題,提升安全知識管理水平。上述三個子系統之間涉及的工作流程如圖2所示。

圖2 系統實現流程
1.3.1 檢查規則集的生成
生成檢查規則集是將現行相關安全規范進行結構化表達的過程,本文選取GB 50720-2011《建設工程施工現場消防安全技術規范》中的典型條例作為檢查規則集的數據基礎。主要步驟為:(1)對規范文本進行語義、邏輯分析,梳理規范條文的安全約束類型;(2)對能夠結構化表達的規范條文,利用OWL語言對概念本體進行描述,利用SWRL語言進行結構化處理。具體步驟如圖3所示。

圖3 生成SWRL檢查規則集
1.3.2 BIM模型實例映射
目前尚沒有開發出直接將模型數據轉換成OWL格式的插件,因此實現數據互操作是完成推理的關鍵所在。現行研究中模型信息提取與轉換功能并不完善,基于IFC框架的信息交互,存在邏輯性缺乏且表達范圍有限等問題,而商業模型檢查器局限于特定的規則檢查,可拓展性差,知識利用率低。Revit有多種信息輸出方式,其中共享參數可以通過明細表導出EXCEL格式,同時本體Cellfie模塊可以直接將表格數據轉換成OWL語言映射至現有本體中,實現半結構化數據轉換,這為數據互操作帶來可能。本文將基于Cellfie模塊構建數據轉換規則,實現表格數據到OWL本體的鏈接與映射,提高數據的處理效率,為建模軟件與應用軟件之間數據互操作提供一種可行的方法。
1.3.3 基于規則的推理
此步驟通過構建DFS本體完成Tbox領域知識結構的定義,并基于前述BIM數據映射形成本體中ABox實例斷言的集合,系統將ABox交給內置的推理引擎,推理引擎執行1.3.1的檢查規則集,完成推理后系統將推理結果返回到用戶,如圖4所示。

圖4 BIM模型的數據提取轉換和規則推理過程
1.3.4 可視化報告輸出
此步驟設計人員通過查詢得到一些必要的安全信息,如查詢對象、識別結果和優化措施,識別結果存儲在知識庫中形成經驗供以后借鑒,對于識別出的不安全設計,能鏈接到BIM模型中高亮表示。
本文采用斯坦福大學開發的Protégé 5.5.0作為本體開發工具。Protégé是一個免費的OWL本體開發環境,目前被廣泛用于學術領域知識模型的構建,Protégé OWL編輯器支持本體中領域知識的類、屬性和實例的創建,并且具有很強的擴展性。
系統在Java環境下運行,整個過程主要依靠三個程序接口實現:即OWL API(Application Programming Interface)[12],Revit API和SWRL API[13]。OWL API可以訪問OWL模型以及模型中元素(類、屬性、實例等),通過定義命名空間的前綴來訪問和辨別本體資源;Revit API允許使用者通過任何與.NET兼容的語言來編程,通過Revit API接口可以訪問模型的圖形數據、參數數據以及集成第三方應用鏈接到外部數據庫,轉換數據進行分析應用等;SWRL API提供了Built-ins內置庫,可以擴展SWRL,這給規則描述帶來了方便,另外,查詢語言SQWRL(Semantic Query-enhanced Web Rule )正是基于SWRL API的Built-ins機制進行的擴展[14]。
本系統的規則推理與檢索功能采用統一的數據口徑,用戶能夠從底層繁瑣的語義、邏輯數據操作中抽離出來,將更多的時間和精力分配到應用層面上去,這對于推廣智能化安全管理具有重要意義。
構建DFS本體應盡可能詳盡地將與設計有關的安全知識表達出來。由于本文工程實例信息的載體是BIM模型,而BIM模型不僅能集成各設計專業的工作,還能將臨時設施等因素與模型結合起來,從而更加完整地涵蓋與設計有關的安全風險因素,因此本文基于上述特點,結合安全規范以及四類主要的安全事故(高處墜落、坍塌、物體打擊、火災)與設計的關系,將風險因素進行分類,如表2所示。

表2 與設計有關的安全風險因素分類
依據表2將DFS本體分為設計主題、設計要點、風險前兆信息、潛在危險、預防措施五個核心要素,結合文獻整理構建DFS本體概念體系,如圖5所示。

圖5 DFS本體概念體系
本體最重要的兩個部分是“概念”與“關系”,“概念”通過類進行描述,表達“概念”之間的“關系” 則依靠屬性和語義關系的定義。在本體中屬
性是對類的特征所進行的描述,包括對象屬性(Object properties)和數據屬性(Data properties),并通過領域(Domain)與范圍(Range)來定義兩個個體之間定義域與值域的關系[15]。本文在Protégé中構建本體的層次結構及其可視化界面,如圖6所示。

圖6 Protégé類的層次結構及可視化
2.2.1 本體推理規則的建立
SWRL是基于W3C開發的一種標準規則語言,它能夠將OWL中表達的安全規則知識集成到規則中[16]。SWRL 語法結構由推理前提(body)、推理結果(head)組成,body通過SWRL 內置的邏輯比較(Built-Ins)關系推理得到head,兩者由運算符“->”相連。
選取GB 50720-2011《建設工程施工現場消防安全技術規范》中的兩條典型條例進行SWRL規則轉換:
(1)條例6.2.2:儲藏間墻上設置的門應采用乙級防火門。
Rule1:abox:Door(?d)^Position(?d,Storage_room)^Fireproof_door(?d,?e)^swrlb:lessThan(?e,1)->Cause_hazard(?d,fire)^Adjust_design(?d,Adjust_fireproof_door)
(2)條例6.4.3 :防煙樓梯間前室的使用面積,公共建筑高層廠房(倉庫)不應小于6.0 m2。
Rule1:abox:Building_Information_Model(?a)^Building_attribute(?a,public_building)^Anteroom(?r)^Position(?r, Smoke-proofstairwell)^Has_usage_area(?r,?m)^swrlb:lessThan(?m,6)->Cause_hazard(?r,fire)^Adjust_design(?r,Adjust_usage_area)
2.2.2 基于SQWRL的查詢
SQWRL查詢語言是對SWRL Built-Ins 進行了擴展,由此定義了一套查詢操作符,因此SQWRL能夠很好地兼容SWRL規則[17]。基于SQWRL進行語義查詢,結果將返回為一張二維表,表中呈現查詢推理后的實例信息。
中建A公司在南京的某社區綜合服務中心項目如圖7所示,該項目建筑高度54.650 m,地上11層,地下2層,地上建筑面積20715.17 m2,地下建筑面積14426.60 m2,建筑耐火等級為一級,為一類高層公共建筑。本文將對前室和防火門與設計有關的安全風險識別作示例。

圖7 南京某社區中心項目
對模型信息進行預處理。本文通過添加共享參數的方式對需要的安全屬性信息進行賦值。
以防火門為例,對BIM模型信息處理的過程如圖8a所示。需要說明的是,部分信息將作數字化處理,如門的防火等級:無等級、丙級、乙級、甲級轉換成0,1,2,3安全性能逐次增強的形式表達。
以前室為例,在Revit中,前室的屬性附著在房間構件上,而房間的屬性是通過標記的方式來進行添加的,因此這一步中不需要添加共享參數。對地下室的前室設置為房間并添加房間標記,在“注釋”中描述位置屬性,同樣該屬性信息能夠通過Revit明細表功能輸出,過程如圖8b所示。

圖8 Revit共享參數添加與明細表輸出
明細表統一導出成EXCEL后,對表格數據進行整理,如表3所示。調用Protégé中內置的Cellfie將表格數據轉至OWL格式,該語義轉換遵循 MappingMaster DSL規則[18],編輯轉換公理,每個單元格地址生成實例的唯一標識符,單元格內容通過 Types與Facts連接本體類及屬性,結果如圖9所示。系統轉換成功了56條公理,將結果添加至現有本體中。

表3 提取的部分Revit模型信息

圖9 表格數據到OWL格式的映射
OWL語義轉換的結果在Protégé的Individuals模塊呈現。BIM模型構件的屬性信息表現為不同的數據類型,如數值數據、字符串數據,Protégé將根據數據類型的不同在Object property或Data property中新增相應屬性。至此BIM模型上的數據成功映射至本體中,實現了模型與本體知識庫的鏈接。
通過Protégé中的SWRLTab完成2.2.1節規則條款的編輯,結果如圖10黑框內所示。調用Protégé中Drools推理引擎進行推理,Drools 是一種基于描述邏輯的規則推理機,與Protégé一樣支持 Java語言,具有良好的兼容性與推理功能。在推理引擎界面運行推理,推理結果返回到“Individuals”中更新DFS本體知識庫。

圖10 SWRLTab+Drools推理引擎界面
基于SWRL+Drools的推理后,實例“B1F前室2”“單嵌板木門1:M1022”各增加了2條屬性描述,推理完成。如圖11所示。

圖11 前室與門的識別結果面板
B1F前室2的位置設置在防煙樓梯處且面積小于6 m2,面積小于安全規范中的臨界值,存在安全隱患。圖11左側系統推理出了“Cause_hazard fire”這一不安全因素,并給出了優化措施“Adjust_design Adjust_usage_area”即調整前室使用面積,以達到安全水平。
設置在儲藏室的門應該具備防火等級乙級,否則具有潛在安全隱患,如圖11右側,系統成功推理出了該單嵌板木門1的安全風險。“Cause_hazard fire”表示該木門防火等級的參數設計存在潛在的安全隱患,同時,系統還輸出了優化措施,“Adjust_design Adjust_fireproof_door”表示需要對該木門調整設計,提升防火等級。
推理完成后基于SQWRL查詢語言實現識別結果的查詢。對門可能存在的不安全因素以及優化措施進行查詢輸入:
Q1:abox:Door(?d)^Cause_hazard(?d,?hazrad)->sqwrl:select(?hazrad)
Q2:abox:Door(?d)^Cause_hazard(?d,fire)^Adjust_design(?d,?result)->sqwrl:select(?result)
查詢頁面如圖12,查詢顯示存在不安全因素2個,相應優化措施2個。用戶可通過查詢識別結果和措施來優化設計,減少不必要的設計變更。查詢結果將存儲在DFS本體知識庫中,作為經驗為以后的設計提供依據。

圖12 查詢結果
通過將BIM實體模型中的信息與已構建的 DFS 本體知識庫中的安全規則信息進行匹配,實現了對防火設計安全風險的智能識別。
本文提出的集成 BIM與DFS本體知識庫的風險識別方法能夠極大地減少目前安全風險識別工作對專家知識的依賴,提高風險識別的效率、準確性和智能化水平,為后續開展安全風險管控提供依據。
本文提出了面向設計的安全風險自動識別系統,該系統基于BIM與本體技術集成安全設計的內容,獲取設計安全風險信息,為設計階段集成、管理和運用安全知識提供了新的視角和方法。通過完善DFS本體架構為DFS實踐與推廣提供基礎,設計實例數據轉換與本體映射算法為實現信息匹配提供了解決方案,實現工程實例到風險信息的智能化輸出,對推動BIM、本體與語義網技術的應用及安全管理的智能化管理有重要意義。以防火設計為例通過某社區服務中心項目實現了安全設計視角下的安全風險自動識別,驗證了所提出方法的有效性。
此外,安全設計包含的內容較廣,DFS本體的構建是長期不斷完善的過程,不同的業態或結構類型有不同的安全設計知識,需要基于本文的系統在之后的研究中進一步完善。后續還可結合數據挖掘技術實現安全知識的自動獲取、自然語言處理技術輔助安全規范的結構化表達,實現安全風險的全自動識別。