文|北京構(gòu)力科技有限公司上海分公司 顧宏曄 張繼鋒 劉學(xué)東
工程建設(shè)行業(yè)的規(guī)范標(biāo)準(zhǔn)編制通常以自然語言的表達(dá)形式呈現(xiàn),基于規(guī)范進(jìn)行審查,需將規(guī)范條文轉(zhuǎn)化為可量化計(jì)算的結(jié)構(gòu)數(shù)據(jù)形式。目前技術(shù)實(shí)現(xiàn)路徑主要有以下幾種形式:①以語素為基礎(chǔ)的規(guī)則提取法,根據(jù)語法和語素分析的結(jié)果,給出了五類句式的規(guī)范條文的結(jié)構(gòu)化方法;②基于規(guī)則的NLP 方法的信息提取技術(shù),在解決信息理解沖突的前提下,提取的規(guī)則采用了模式匹配方法,使結(jié)果達(dá)到較高的準(zhǔn)確率;③嵌套式三元組結(jié)構(gòu)化表達(dá),采用Bert 模型的深度學(xué)習(xí)方法對《住宅建筑規(guī)范》進(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)在邊界已知情況下可以非常有效的識(shí)別三元組,來處理復(fù)雜條文問題。
本文所描述的知識(shí)推理技術(shù)在BIM 智能化審查應(yīng)用主要借助三元組數(shù)據(jù)表達(dá)方式,通過三元組隱藏屬性信息深度關(guān)聯(lián),作為審圖計(jì)算應(yīng)用的規(guī)范解析格式,包括要素提取和子句生成以及組合等。要素包括實(shí)體(E)、屬性(A)、屬性值(AV)、操作(Op)、方位(R)、修飾詞(ADJ)等;三元組一般由連續(xù)的要素形成,比如實(shí)體之間可以通過操作形成實(shí)體關(guān)系三元組(EOS),(實(shí)體+屬性)+比較操作+屬性值可以形成實(shí)體約束三元組(LOR)。三元組作為獨(dú)立單元通過邏輯組合形成子句。子句通過審查條件(IF)和審查主體(THEN)組成一條規(guī)范條文的最小可審查單元。其中代詞可通過指定指代的方式替換為實(shí)體,從而達(dá)到完善語義的效果,最終實(shí)現(xiàn)BIM 模型數(shù)據(jù)的智能化審查。
一般情況下,規(guī)范解析后的實(shí)體關(guān)系三元組(EOS)可以表示建筑、空間或構(gòu)件之間的關(guān)系,而實(shí)體約束三元組(LOR)可以表示建筑、空間或構(gòu)件的屬性約束;只要模型數(shù)據(jù)表示支持所有解析出來的實(shí)體、屬性和關(guān)系,就可通過關(guān)系計(jì)算以及屬性計(jì)算結(jié)果對應(yīng)進(jìn)行審核。但是,模型的數(shù)據(jù)表示一般比較穩(wěn)定,不會(huì)無限制的增加實(shí)體表達(dá)(例如:規(guī)范中的某些實(shí)體可以用實(shí)體+屬性或者實(shí)體關(guān)系表示),導(dǎo)致了規(guī)范解析的部分實(shí)體在審圖時(shí)是無法對應(yīng)的;實(shí)體的屬性名稱也有跟模型表示里的屬性名稱不一致的情況。實(shí)體關(guān)系三元組(EOS)中除了實(shí)體關(guān)系外,還會(huì)有實(shí)體限定詞關(guān)系,例如,住宅規(guī)范6.4.2 中的"十二層及十二層以上的住宅",也無法直接跟BIM 模型數(shù)據(jù)的結(jié)構(gòu)對應(yīng)。
為解決規(guī)范數(shù)據(jù)結(jié)構(gòu)化無法與模型數(shù)據(jù)對應(yīng)的問題,本文提出可以從三維度對規(guī)范解析的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行處理,包括:實(shí)體解釋、屬性解釋以及修飾詞解釋,詳見表1(其中實(shí)體解釋有三種類型):
根據(jù)表1的類型及處理方式,研究出一種知識(shí)推理算法。圖2給出了使用知識(shí)推理算法的一個(gè)推理結(jié)果展示,案例章節(jié)會(huì)給出解析及推理的具體格式。知識(shí)推理核心算法偽碼如下(細(xì)節(jié)已簡化):
圖1 規(guī)范解析平臺(tái)解析規(guī)范數(shù)據(jù)展示
表1 知識(shí)推理的三種類型及處理方式
圖2 知識(shí)推理平臺(tái)進(jìn)行審圖推理展示
算法:知識(shí)推理核心算法
輸入:1.規(guī)范解析后的條文子句(rule:Rule)
2.知識(shí)推理解釋配置(config:RuleModelConfig)
輸出:推理后的新的條文子句列表(res:List of Rule)
FUNCTION BEGIN
LET entityDict: Map
LET entityList=entity Dict.SortDescendByValue().Keys()//按實(shí)體解釋個(gè)數(shù)降序排列
FOR entityName IN entityList
LET entityCount = entityDict[entityName]//當(dāng)前實(shí)體解釋個(gè)數(shù)
FOR index = 1 TO entityCount
LET newRule = rule.Copy()//原子句副本作為新子句
FOR tri:Triple IN rule.GetAllTriples()//遍歷三元組,進(jìn)行解釋
ReplacePropertyAlias(tri,newRule)//屬性別名解釋
ReplaceEntity(tri,newRule)//實(shí)體解釋
ReplaceAdj(tri,newRule)//實(shí)體修飾詞解釋
ENDFOR
res.Add(newRule)//推理后的新子句加入到結(jié)果列表中
ENDFOR
ENDFOR
RETURN res
FUNCTION END
除核心推理算法,也提出針對一些常見三元組組合的轉(zhuǎn)換算法。例如考慮規(guī)范條文中子句“單元設(shè)置一臺(tái)電梯”,規(guī)范解析結(jié)構(gòu)化的結(jié)果為兩個(gè)實(shí)體關(guān)系三元組(EOS):單元+設(shè)置+電梯,電梯+滿足+一臺(tái)。其中“一臺(tái)”是數(shù)詞和量詞的組合,可以認(rèn)為是一個(gè)屬性值約束。對于這種固定結(jié)構(gòu),通過轉(zhuǎn)換算法可以把此結(jié)構(gòu)轉(zhuǎn)換為單一的實(shí)體約束三元組(LOR):EOS(單元設(shè)置電梯)+Op(contains)+AV(一臺(tái)),簡化審查計(jì)算的判斷邏輯。
BIM 模型智能審查是基于BIM 模型的結(jié)構(gòu)化表達(dá)方式,搭配規(guī)范解析的結(jié)構(gòu)化數(shù)據(jù)格式來進(jìn)行?!痘贐IM 的建筑專業(yè)設(shè)計(jì)合規(guī)性自動(dòng)審查系統(tǒng)及其關(guān)鍵技術(shù)》提出以模型IFC 數(shù)據(jù)轉(zhuǎn)換為ifcOWL 數(shù)據(jù),采用SPARQL 審查規(guī)則進(jìn)行BIM 施工圖智能審查;《基于BIM 和知識(shí)圖譜的消防智能審圖研究》針對建筑消防規(guī)范進(jìn)行了知識(shí)圖譜三元組提取,基于IFC 模型數(shù)據(jù)與三元組審查規(guī)則進(jìn)行匹配審查?!禕IM 模型智能檢查工具在審查平臺(tái)及消防審查中的應(yīng)用》開發(fā)了BIM 模型智能檢查工具,采用SNL規(guī)則建立了防火規(guī)范庫,通過擴(kuò)展幾何庫實(shí)現(xiàn)了語義和幾何計(jì)算結(jié)合的智能審查。
本文采用的審查算法基于BIM 模型通用數(shù)據(jù)格式(XDB),通過三元組形式的規(guī)范解析,結(jié)合上文的知識(shí)推理技術(shù),對BIM 模型進(jìn)行智能審查。對于XDB 數(shù)據(jù)格式存在的表達(dá)數(shù)據(jù),可以直接根據(jù)規(guī)范解析或知識(shí)推理的結(jié)果進(jìn)行審查;對于未定義的數(shù)據(jù)(比如可計(jì)算的構(gòu)件屬性),采用了模型表示擴(kuò)展的方式,可通過屬性擴(kuò)展接口、實(shí)體關(guān)系擴(kuò)展接口對構(gòu)件或空間進(jìn)行實(shí)體擴(kuò)展或?qū)嶓w屬性計(jì)算后進(jìn)行審查。
以住宅設(shè)計(jì)規(guī)范6.4.2 為例,給出規(guī)范解析格式、知識(shí)推理格式以及應(yīng)用到審圖的智能審查結(jié)果。規(guī)范解析和知識(shí)推理選取子句:“住宅滿足十二層及十二層以上的時(shí),每棟樓應(yīng)設(shè)置可容納擔(dān)架的電梯,且可容納擔(dān)架的電梯滿足一臺(tái)。”;此子句體現(xiàn)了對實(shí)體的解釋(住宅)以及對修飾詞的解釋(十二層及十二層以上的)。
住宅設(shè)計(jì)規(guī)范6.4.2 部分?jǐn)?shù)據(jù)解析邏輯過程如下(部分內(nèi)容簡化):
依據(jù)如上給出的解析和推理結(jié)果,智能審查的結(jié)果展示如圖3所示。
圖3 住宅BIM 模型的6.4.2 審查結(jié)果展示
隨著BIM 技術(shù)的不斷發(fā)展,對BIM 智能審查應(yīng)用的需求越來越多,對智能化的要求也越來越高;但模型與規(guī)范表達(dá)不一致在一定程度上限制了兩者數(shù)據(jù)應(yīng)用的范圍。本文采用基于NLP 三元組技術(shù)的規(guī)范解析的結(jié)果,通過保持規(guī)范結(jié)構(gòu)化數(shù)據(jù)格式的知識(shí)推理技術(shù),解決了BIM 模型數(shù)據(jù)與規(guī)范表達(dá)不一致,以及規(guī)范數(shù)據(jù)需要進(jìn)一步解釋的問題,拓寬了規(guī)范審查的范圍,進(jìn)一步促進(jìn)了BIM 智能審查技術(shù)的應(yīng)用與實(shí)現(xiàn)。