张吉松,于泽涵,赵丽华
(大连交通大学 土木工程学院,辽宁 大连 116028)
在土木工程设计领域,结构设计规范的计算机表达是实现设计合规性审查的技术基础与前提条件。对于结构设计合规性审查,中国实行施工图设计审查制度,即由政府建设主管部门或其认定的审查机构负责,对施工图是否符合有关法律法规的要求以及对涉及公共利益、公众安全和工程建设强制性标准等内容进行审查[1],整个审查过程是采取人工审查的方法(图纸+计算书),但人工审查存在自动化程度低、工作量繁重、审查过程规范化不足等问题。而且,检验结果很大程度上依赖于检验人员对规范的理解和经验,导致检验结果的主观性较强。BIM 技术的出现使得基于BIM 模型的审查成为未来的发展趋势。国家住建部颁布的《2016—2020 年建筑业信息化发展纲要》,提出在未来探索基于BIM 模型的合规性审查,提高设计审查效率与设计质量。
目前,对合规性审查的研究大致可分为两个方面:基于施工图的审查[2-4]和基于BIM 模型的审查[5-8]。Eastman 等[9]将基于BIM 的合规性审查的过程分为4个部分:规范转译、BIM 模型准备、规则执行和推理、生成审查报告。其中,规范转译是实现自动合规性审查的前提条件和首要步骤。目前关于规范转译的方法大致可以分为:基于本体方法、基于规则引擎方法、基于语言开发方法和基于逻辑方法[10],每种方法都具有一定的优点以及局限性。其中,基于本体、规则引擎、语言开发的3 种方法在对复杂规范进行转译时,常常出现以下问题:规范条款中信息的缺失、较低的灵活性和可维护性、建筑信息模型与规范条款的映射连接性较弱、无法解决模糊语言的转译问题、无法处理各规范条款之间的矛盾。而基于逻辑的规范转译方法经过较长周期的发展显现出了强于其他方法的优势,相较于其他方法,一阶谓词逻辑转译的规范条款可以将建筑元素与规则相连接,并且由于一阶谓词逻辑与自然语言的相通性,对于较为复杂的条款此方法可以依据规范上下文实现嵌套的规则表达,进而实现规则的自动化审查。另外,基于一阶谓词逻辑转移的规范可以很好地转换为SWRL 语言的形式,在后续实现规范审查自动化的研究中能够与基于本体以及规则引擎的方法相结合,最大程度发挥各类方法的优势。
合规性审查的自动化推理基于两方面信息:源于BIM 模型的设计信息和源于设计规范的设计条款信息。设计信息可以表示为“逻辑事实”,规范条款信息可以表示为“逻辑规则”。采用基于逻辑的信息表示,可以作为推理技术的基础。基于一阶谓词逻辑的推理非常适合于自动化合规性审查,原因为:逻辑的二元性(满足或不满足)符合合规性审查的二元性(符合或不符合);形式化定义的逻辑可以充分表示合规性审查(建筑规范信息和BIM 模型信息)中的“概念”(或实体)和“关系”;与程序编程语言(例如C 语言需要描述解决方案步骤)不同,逻辑编程是描述性的,只需要描述领域内的规则和事实即可,如果设计信息和设计条款信息能够以逻辑形式正确表示,推理就可以以完全自动化的方式进行;各种自动推理技术,例如检索和合一(unification)问题,可以在已经较为成熟的逻辑推理机中(logic reasoners)使用[11]。
中国土木工程领域的结构设计规范具有4 个特点:数量繁多且相互平行嵌套;规范条款中含有模糊语言;时效性;半结构化文档。由于这些特点,结构设计规范的计算机表达转译工作充满了诸多困难,尤其是当规范条款中涉及模糊语言时,由于中文的特殊性,这些条款很难准确地转译为计算机语言,所以选择合适的方法是决定规范转译工作难易的关键所在。笔者基于一阶谓词逻辑,提出一种结构设计规范表达方法,并选取《混凝土结构设计规范》中部分条款进行转译以证明其可行性。首先,通过分析一阶谓词逻辑的特点,将结构设计规范分为语言类明确条款、语言类模糊条款、表格类和公式类。其次,提出了通过“谓词定义”和“函数定义”两种方法,转译设计规范中语言类、表格类和计算公式类设计条款,对结构设计规范条款进行精确表示以便支持后续推理和合规性审查。最后,总结一阶谓词逻辑在规范转译方面的局限性(对于模糊语言处理上)以及未来研究建议。
关于规范转译的方法大致可以分为4 类,分别是基于本体方法、基于规则引擎方法、基于语言开发方法和基于逻辑方法。在基于本体的方法中,Zarli等[12]和Wang 等[13]分别利用基于语义网的本体技术构建了施工、风险和解决措施等概念类和关系,并基于其建立了一致性检查的安全规则[14]。基于规则引擎方法的研究工作开展也较为广泛,如SWRL(Semantic Web Rule Language)规则,Ding 等[15]和Lu等[16]分别构建了地下风险本体、施工风险本体,利用本体的概念和属性,在本体中使用插件SWRL 规则编辑器直接构建检查规则;目前,商业合规性检查软件有Solibri Model Checker(SMC)和CORENETe-PlanCheck 等使用基于规则的方法,中国有广联达BIM 审图软件与广州市施工图设计文件审查管理系统。这些审查系统大部分都只针对建筑设计的合规性检查,对于结构设计的合规性检查则涉及较少。有代表性的合规性审查系统如表1 所示。
表1 结构审图系统Table 1 Code compliance checking system
较为典型的是基于语言开发的方法,Eastman等[9]为了在不同服务器上编辑规则,提出开发一种不受平台环境限制的规则翻译语言,如JAVA、SQL等;而后,Lee 等[22]开发了建筑环境和分析语言(Building Environment Rule and Analysis,BERA),用于对建筑流通和空间规划进行更复杂的代码编码和代码检查,并提出了基于建筑环境规则扩展语言的自动符合性检查,以确保空间规划要求和可视性得到满足。
基于逻辑的规范转译方法研究工作时间跨度较大,其起源可以追溯到古希腊哲学家亚里士多德的三段论。现代最早可追溯到1969 年,由Fenves 等[23]开创性地发明了决策表,将复杂的规范条款用精确简练的决策表形式来表示;而后Fenves 等[24]于1987 年发明了用于表示和处理设计标准的标准分析、综合和表达(SASE)模型,后续很多学者针对此模型自动化开展大量其他相关研究和开发工作(Nyman 等[25]、Harris 等[26]、Garret 等[27]、Wang[28]、Dym 等[29]、Cronembold 等[30]、Lopez等[31])。使用SASE 模型进行设计包括3个步骤:确定合适的分类器;根据分类词确定适用条款;使用规则处理规定。其中,第1 步和第2 步定义了规范组织子模型的处理,第3 步定义了标准规范的处理,规范自动分类在过去没有得到有效的处理,直到1990 年左右才开始成为一个研究问题[32]。同时,步骤2 和步骤3 的自动化已经被许多研究人员用于结构部件设计。Salama 等[33]从规范性文件和文件规定的角度出发,运用逻辑和本体技术实现规则的自动分类和转译。而后,为了提高规范编辑的可读性,Solihin 等[34]提出了一种基于概念图的规则编辑方法,概念图识别规则的概念,分析独立的子规则,总结其约束和属性,最后实现它们的链接,而后基于建筑、工程、施工全领域中的多类规范,引入一个跨应用程序域的通用规则分类,使用其适用于计算机合规审查的所有方面设计标准[35-36]。
一阶谓词逻辑的基础是数理逻辑,数理逻辑是研究推理逻辑规律的一个数学分支,也被称为符号逻辑。数理逻辑是以符号化为特点的形式化理论,注重形式推理而不重视数值计算,采用特殊的数学符号语言,并给出推理规则来建立推理体系。数理逻辑包含命题演算与谓词演算,而一阶谓词逻辑正是在命题逻辑基础上提出的,比如“凡是A都是B,C是A,所以C是B。”这个推理在命题逻辑中是不能被准确描述的,假设这3个命题分别为p、q、r,则正确的推理形式应为(p∧q)→r,但是将p、q、r赋予其他值时这个推理则不成立,也就是说、这个推理形式并非重言式,正是由于命题逻辑的这种局限性,想要进一步剖析简单命题,则必须要引入谓词、变量以及量词的概念,进而研究其逻辑关系,于是构成了谓词逻辑。
一阶谓词逻辑表示一条知识是通过将个词体、谓词、量词根据所要表达知识的语义以逻辑联结词相连接,形成谓词公式。谓词逻辑就是研究它们的形式结构、逻辑性质、谓词关系及从中导出的规律。谓词逻辑在数据库(如用谓词逻辑将关系数据库中的数据子语言表示出来并优化)、教育(如智能答疑系统)、人工智能科学等方面都有很广泛的应用。谓词公式主要由5 个部分组成,分别是个体词、谓词、量词、逻辑连接词以及语法符号,如图1 所示。
图1 一阶谓词公式组成Fig.1 First order predicate formula composition
目前中国混凝土结构设计涉及的设计规范主要包括:《高层建筑混凝土结构技术规程》(04JGJ 3—2010)、《混凝土结构设计规范》[37](GB 50010—2010,以下简称《混规》)、《建筑地基基础设计规范》(GB 50007—2011)、《建筑结构荷载规范》(GB 50009—2012)、《建筑抗震设计规范》(GB 50011—2010)等。在以上规范中所包含的条款种类大体具有4 个特点:1)数量繁多且相互平行嵌套,中国现在正在施行大约40 本结构设计规范,包括混凝土、钢结构、木结构、荷载、可靠性、防火等多个方面,且各规范之间关系复杂,既有相互平行关系,同时也存在规范之间的引用与嵌套;2)规范条款中含有模糊语言,在中国很多规范中会出现“适量”“不宜”等概念性词语,此类条款对结构审查的规范性影响较大;3)时效性,大部分的建筑规范都会随时间更新或修订,这就使规范衍生出大量的修订版本与解释性手册,增大了人工规范审查的工作量;4)半结构化文档,不同本规范对同一建筑部位有不同规定,可能会出现条款冲突的情况。
按照一阶谓词逻辑转译的难易程度分为4 类:1)语言类明确条款,条款由语言叙述,且规定明确,无模糊语言,可直接转译为一阶谓词逻辑公式,例如《混规》第11.3.5 条规定,框架梁截面尺寸应符合下列要求∶截面宽度不宜小于200 mm、截面高度与宽度的比值不宜大于4、净跨与截面高度的比值不宜小于4;2)语言类模糊条款,条款由语言叙述,但规定不明确,含有“适当”“不宜”等模糊语言,由于此类条款多作为注释出现,所以可利用一阶谓词逻辑的全部量词和存在量词进行转译;3)表格类条款,此类条款需要先转述为语言类条款,再进行转译,例如《混规》第11.3.6 条中表11.3.6-1,可将第一格中条款转述为:“一级抗震等级框架梁支座处纵向受拉钢筋配筋率大于0.4 与80ft/fy中的较大值”,再转译为一阶谓词逻辑公式;4)计算公式类条款,此类条款由于包含复杂的计算公式,使得其转译难度大大增加,而在转译的过程中对于公式可以有多种处理方式。
根据上述分类情况,可以把利用一阶谓词公式表示规则条款总结为3 个步骤:首先,定义条款中的个体词与谓词,确定每个谓词及个体的确切含义,在定义个体词与谓词时参考现行IFC 标准对实体进行分类,提高转译结果的兼容性,以便后续在BIM模型合规性审查中,条款与模型中实体逐一对应;其次,根据所要表达规则条款,将个体词带入每个谓词中的变量;最后,根据规则条款的具体语义,用适当的连接符号将各个谓词连接起来,形成谓词公式。由此看出,不同谓词定义方式可以展现出不同的规范转译方法,所以在基于一阶谓词逻辑转译结构设计规范时,要灵活选择谓词的定义方式。
在结构设计规范中,总则、总体规定等原则性条款多是阐述规范适用范围、该规范的相关解释以及制定标准,不在本文的转译范围内。选取《混规》第11.3 节、第11.4 节共计27 条规范条款进行转译,其中包含结构设计规范中大部分条款类型,较具有代表性,用以验证基于一阶谓词逻辑的结构设计规范表达方法可行性。
无论规范条款语言描述明确与否,在针对语言类条款的转译时,都是由自然语言中直接确定条款的主体,即该条款所规定作用对象,并进行谓词的定义,而后进行限定条件谓词定义,最后以合适的逻辑连接词相连接,进而转译为一阶谓词逻辑公式。由此看出,语言类条款转译较为直接,但不同的谓词定义方式可以展现出不同的转译结果,以《混规》第11.3.5 条、第11.3.7 条为例,提出两种谓词定义方式,第1 种以第11.3.5 条为例,将限定条件定义为一个整体谓词,这样的定义方式适用于所规定部位较为明确简洁的条款,其优点在于可以减少定义谓词数量,缺点是不便于后续的数据调用;第2 种方式以第11.3.7 条为例,将限定条件细化分别定义为多个谓词,这样的定义方式适用于定义规定较为复杂的构件,虽然会增加所定义谓词的数量,但是利于后续调用且规定较为明确具体。转译结果如表2 所示。
表2 《混规》11.3.5 和11.3.7 条转译结果Table 2 Translation of provision 11.3.5 and 11.3.7 of Concrete Code
由于一阶谓词逻辑与人类思维活动规律及自然语言的贴合性,在转译表格类规范条款时,首先需要针对表格内容将其转述为更易转译的语言类条款,再按照转译语言类条款的方式转译,以《混规》第11.4.16 条为例(一、二、三、四级抗震等级的各类结构的框架柱、框支柱,其轴压比不宜大于表11.4.16 规定的限值),表中第1 条数据可以表述为“在框架结构体系中,一级抗震等级的框架柱轴压比不宜大于0.65”,其余数据以相同的方式进行转述,转译结果选取语言类规范条款的第2 种谓词定义方法进行展示。转译结果如表3 所示。
表3 《混规》11.4.16 条(轴压比)转译结果Table3 Translation of provision 11.4.16(compression ratio)of Concrete Code
计算公式类条款中的语言叙述部分仍然与转译语言类条款相同,不同的是计算公式类条款包含复杂的结构计算公式,而能否更准确地转译计算式是决定此类条款转译成功与否的关键,基于一阶谓词表达计算公式可以有多种方法,根据前文一阶谓词公式组成成分——多元谓词及个体函数,提出两种不同的转译计算公式的方法:1)利用谓词定义计算式,通过定义多元谓词的方式,逐个定义计算公式,将公式中各项变量与常量定义为个体词;2)利用函数定义计算式,在一阶谓词逻辑中,函数表示一个个体到另一个个体的映射,函数没有真值可言,例如《混规》第11.4.5 条中规定“一级抗震等级框架角柱弯矩设计值为11.4.1 条中规定的一级抗震等级框架柱弯矩设计值乘以增大系数1.1”,首先可以定义关系谓词EQUAL(x,y)表示x的值为y,再定义函数f(x)=1.1x,则这个命题以一阶谓词逻辑可以表达为“EQUAL(x,father(y))”,x与y分别定义为一级抗震等级框架角柱矩设计值与框架柱弯矩设计值。由于规范中大部分计算公式都是由一个多项式对构件某些属性进行规定,所以可以把多项式定义为函数供谓词公式调用,这种方法相比于第一种可以大量减少谓词的定义。以《混规》第11.4.6 条为例列举两种转译方法,转译结果选取语言类规范条款的第一种谓词定义方法进行展示,转译结果如表4 所示。
表4 《混规》11.4.6 条(计算公式)转译结果Table 4 Translation of provision 11.4.6(formula)of Concrete Code
基于一阶谓词逻辑提出的结构设计规范表示方法核心在于提取出规范条款的规定主体与限定条件,进而转译为一阶谓词公式,这种转译方式与建筑信息模型(BIM)有较高的契合度与可操作性,所提取出的规定主体可以对应为模型中的实体,限定条件即为对实体属性的限制。
从算法的角度,基于BIM 模型的合规性审查,其关键步骤可以分为3 步:1)规范转译,即将规范的条款自动提取并转译成相应的“逻辑规则”;2)模型信息提取,即从BIM 模型中提取相关信息并转换成“逻辑事实”;3)将以上的“逻辑规则”与“逻辑事实”进行合规性比较,即采用自动推理机推理“逻辑事实”是否符合“逻辑规则”,得出最终的结论。
一阶谓词逻辑主要应用在上面提到的第1 步,即将规范中的设计条款转译成计算机可识别的规则。如果与人工智能中的自然语言处理技术相结合,构建专业领域语料库和知识库是前提条件。目前,尽管规范转译的方法有很多,包括基于决策表、基于硬编码(程序编程语言)、基于软编码(语义规则等)、基于对象等,但其大部分都需要手动(或半自动)进行规则提取和编码,至今还没有一种被广泛接受的有效方法。规范转译未来可以与人工智能中的自然语言处理技术、机器学习以及深度学习等算法相结合,逐步实现转译过程的自动化。目前一阶谓词逻辑转译规范的方法需要较高的专业性,其转译过程目前还需人工干预,由专业人员将规范条款转译为合适的谓词公式形式。但一阶谓词逻辑与其他方法比较的优势在于,如果设计规范条款信息和BIM 模型信息能够以逻辑形式正确表示,推理就可以以完全自动化的方式进行,无需人工手动干预。例如将转译后的谓词公式与SWRL 语言相结合可编译为SWRL FOL 的形式,借助本体构建工具protege 可将建筑信息模型与转译后的规则构建为本体的形式。在规范转译的过程中参考IFC 标准进行谓词的定义,不仅可以实现转译工作的标准化,而且可以更好地与建筑信息模型结合,再利用基于SWRL 语言的推理机进行规则的推理与审查,进而实现建筑信息模型的自动化合规审查。
基于一阶谓词逻辑表示结构设计规范可以极大发挥一阶谓词逻辑的优点,转译的规范条款较准确,可应用性较高,但是在转译过程中也遇到一些问题,总结为3 点:
1)基于一阶谓词逻辑转译规范条款时,虽然很好地解决了一部分相对模糊的语言,但都是基于后续注解较为明确的前提,还有部分模糊语言无法实现转译,只能通过精确量化的方式进行转译,这样在转译过程中难免出现误差。在人工审查图纸过程中,对于规范条款中的模糊语言处理方式大多是根据审查人员的从业经验来进行主观判断,如果通过精确量化的方式进行模糊条款转译则其结果与主观判断差别不大,无法实现更加精准的规范审查。所以,对于规范条款中模糊语言的处理方法以及结构设计规范的标准化问题还有待进一步的研究。
2)虽然对于包含计算公式类的规范条款提出了两种基于一阶谓词逻辑的转译方式,但两种方式工作量较繁重且其实现还需研究与考证。一阶谓词逻辑在知识表示中的应用较广泛,对于计算公式的表示方法层出不穷,其中不乏很多方法可以为规范条款转译提供借鉴与参考,对于公式类条款的转译方式还有很大研究空间。
3)对于规范条款主体提取的方式只是其中两种,并且这两种方式转译都需提供数据庞大的定义对照表,对于主体的提取还可以选取更加细化的方式,使得转译结果更加简洁。不同的主体提取方式或者基于一阶谓词逻辑的不同转译思路,对规范转译的复杂程度影响很大,如需确定基于一阶谓词逻辑表达规范的最方便、快捷的方法,需要做的调查与研究工作还有很多。
从上述转译过程中遇到的问题可以看出,一阶谓词逻辑同样有一定局限性,这种局限性更多地体现在对于模糊语言以及计算公式的处理上,从更严谨的角度来说,规范规定“适当放宽”和“适当减小”,“适当”的范围是多少,并没有明确规定。同时,对于在转译过程中的“一词多义”和“一句多义”等问题,一阶谓词的语法和语义无法直接转译,需要先将该条款所包含的多种含义都罗列出来,将每种可能的含义转译为可量化的条款,进而才能转译成一阶谓词的表达。一些由于一阶谓词逻辑局限性而无法转译或转译困难的条款类型如表5 所示。
表5 暂时无法转译的条款类型Table 5 Types of code that cannot be definition
消除这种局限性的办法有很多。第一,可以将设计规范先进行“转述”,再进行相关的转译;第二,可以加强中国规范的结构性,减少类似“适量”“不宜”等模糊语言的出现;第三,一阶谓词逻辑在规范表达领域的研究还可以更加深入,继续研究更多简洁、准确的表达方式与谓词定义方法,也可以与面向对象技术相结合,或利用更高阶的谓词逻辑解决此类问题。针对“一词多义”和“一句多义”等问题,未来可以借助自然语言处理和机器学习等相关统计算法统计出所有可能性并进行转译。
分析中国结构设计规范的主要特点与规范转译的方法,进而可以更好地进行转译,选取一阶谓词逻辑表示结构设计规范条款。利用一阶谓词逻辑在表达自然语言方面的特点,使其对于结构设计规范的转译工作提供帮助。为证明一阶谓词逻辑转移规范的可行性,选取《混凝土结构设计规范》中部分条款进行转译,并对选取条款按照转译的难易程度进行分类,不同类型条款有不同的转译步骤,相同的条款也可以根据不同的谓词定义方式展现出不同的转译结果。讨论了一阶谓词逻辑逻辑在规范转译领域的可行性与局限性。提出的转译方法并不局限于结构设计规范的转译,也可以引申至其他专业设计规范的转译工作。
采用谓词逻辑转译规范看似简单,实则涉及哲学、数学、数理逻辑、计算机科学、自然语言处理、语义学、结构设计等领域,是一个多学科交叉融合且比较复杂的问题。结构设计规范条文的计算机表达对于检验建筑结构合规性的重要程度不言而喻,而随着科技的飞速发展,结构设计的合规性审查被各国愈发重视,想要更好地实现对于建筑结构的自动审查,其关键是准确地转译规范条款。提出一种基于一阶谓词逻辑的结构设计规范表示方法,将结构设计规范转译为计算机可识别的语言,为推动建筑结构设计自动化和审查自动化进程提供一种参考方法。