Ontology-based Representation of Specifications for Construction Cost Estimation
-
摘要: 当前的成本预算软件对成本预算规范的支持,仍然需要依赖预算人员来实现相应的功能,对不同规范的支持也不够灵活。本体论可以用来对成本预算规范的知识和规则进行形式化表达,并支持进行灵活的扩展。本文通过对典型的成本预算规范的分析,实现了基于本体论的建筑工程成本预算规范表达,建立了一个基于本体论的建筑工程成本预算数据表达和利用框架,并阐述了该框架的适用性。该表达和框架为实现建筑工程自动成本预算奠定了基础。Abstract: The support of existing software applications for construction cost estimation (CCE for short hereafter) for the specifications for CCE (CCE specifications for short hereafter) mostly depends on the estimators' manipulation in a large extent. Therefore, the proficiency of the estimators on CCE specifications greatly affects the efficiency and accuracy of CCE. In addition, the existing software applications cannot adapt well to the change in the CCE specification. Ontology provides a potential approach to establish a computerized and flexibly extendable representation of CCE specifications. In this paper, based on the analysis of a typical CCE specification, an ontology-based representation of CCE specifications is established. Then, an ontology-based framework for expressing and automatically utilizing CCE data is formulated and the generality of the framework is illustrated. The representation and framework lay a sound foundation for automatic CCE.
-
1. 概述
建筑工程成本是各参与方最为关注的方面之一,进行高效准确的成本预算是控制建筑工程投资、提高建筑企业效益的有效途径。在实际工作中,成本预算需要严格地依据相关的成本预算(清单或定额)规范,进行工程量清单项目或定额子目划分、工程量计算、计价等工作[1]。换言之,成本预算规范是成本预算工作的基础和依据。
随着信息技术的发展,在我国已经有许多成本预算软件被开发并得到实际应用,例如广联达、鲁班系列软件等,很大程度上提高了预算人员的工作效率。同时,近年来BIM(建筑信息模型)技术的发展,为有效地减少人工识读二维图纸或者重新建立三维模型的工作量提供了可能性[2]。国外也已经出现了一些基于BIM的成本概预算软件,例如Innovaya,Vico Estimator等。然而,预算人员在使用这些软件时,尽管软件本身提供了很多方便的操作和功能,但在多数情况下仍然需要他们凭借自己掌握的专业知识,依据相应的成本预算规范进行成本预算工作。在这个过程中,不仅存在着较大的工作量,而且容易出现错漏现象[1]。即使通过软件开发减轻这样的工作量,针对不同地区的成本预算规范,往往需要开发专门的模块甚至软件,从而导致软件自身的可扩展性较差的问题。
本体论可以用来对特定领域的知识(包括概念和关系)和规则进行形式化表达,从而支持让计算机像人类一样掌握该领域的知识,基于该领域的规则进行推理[3]。对于成本预算领域而言,成本预算规范是对其知识和规则最全面和精炼的概括。如果基于本体论对成本预算规范进行形式化表达并利用其对推理的支持,则可以为实现建筑工程自动成本预算奠定基础。同时,本体论还支持从成本预算的角度而非从软件实现的角度,扩展或修改相应的知识和规则,从而可以增强软件针对不同的规范的可扩展性。
本文的目的是,基于本体论对建筑工程成本预算规范的知识和规则进行表达,为实现建筑工程自动成本预算奠定基础。本文首先对典型的成本预算规范进行分析,之后基于本体论实现对该规范的知识和规则的表达,最后以该表达为基础建立一个基于本体论的建筑工程成本预算数据表达和利用框架,并阐述该框架的适用性。
2. 成本预算规范的知识和规则
近年来,工程量清单计价法逐渐取代定额计价法,已经成为我国建筑工程成本预算的主流计价方法。我国针对该方法,于2003年和2008年先后颁布了两版《建设工程工程量清单计价规范》国家标准[4]。本节以2008年版的该规范(以下简称国标清单规范)作为典型成本预算规范,并以其建筑工程部分为例,分别对其中的概念、规则和关系进行分析。
2.1 国标清单规范中的概念
国标清单规范从可计量和计价的角度对建筑工程进行了分部分项划分,涵盖了工程量清单计价工作的所有基本概念。本研究从其建筑工程部分提取和归纳了建筑产品、产品特征和清单项目三大类共500多个基本概念。其中,“建筑产品”是建筑工程的基本信息载体,涵盖了建筑工程中所有永久性的和临时性的建筑产品,例如土方、墙、梁、板、柱等概念及其细化概念,例如圈梁、填充墙等;“产品特征”包括材料、几何和施工特征,其中材料特征用来表达生产建筑产品所使用的材料,几何特征用来表达建筑产品的截面、轮廓等外观特征,施工特征用来表达生产建筑产品所使用的施工方法、工艺等;“清单项目”则代表国标清单规范中所有清单项目,其中每一条清单项目代表了一类具有相同特征的建筑产品。
2.2 国标清单规范中的规则
2.2.1 分类编码规则
国标清单规范的建筑工程部分共定义了178条清单项目[4]。其中,每一条清单项目均可以抽象为一条“分类编码规则”,决定了该清单项目所对应的建筑产品的特征。这些分类编码规则是预算人员依据设计信息进行工程量清单项目划分的依据。分类编码规则实际上是一种霍恩规则[5],即通过条件推理得到唯一的结果。例如,针对“010402001矩形柱”清单项目的分类编码规则是:如果某些柱具有“现浇混凝土”材料特征和“矩形截面”几何特征这两个条件,那么就可以推理得到这些柱子被分类到该条清单项目的结果。
2.2.2 工程量计算规则
国标清单规范针对每一条清单项目均定义了相应的工程量计算规则[4],包括计量单位和扣减规则两个方面。通过归纳发现,扣减规则也属于霍恩规则,它规定了当清单项目对应的建筑产品存在如下三种关系(条件)时,应该采取何种计算方法来计算工程量(结果)。
(1) 开洞关系
如果建筑产品的洞口尺寸大于某值(例如0.3m2),则洞口的工程量应从建筑产品的工程量中扣除。
(2) 附属关系
建筑产品的附属产品,例如牛腿、柱帽、梁垫等,其工程量应合并计入建筑产品的工程量中。
(3) 相交关系
建筑产品相交部分的工程量应从且仅从某一个建筑产品的工程量中扣除,例如,规范规定梁柱相交部分计入柱的体积。本文针对相交关系定义了清单项目的工程量计算“相对优先度”,相交部分的工程量应从相对优先度低的清单项目所分类的建筑产品中扣除。例如,“010402001矩形柱”的优先度低于“010405001有梁板”。
2.3 国标清单规范中的关系
国标清单规范中的关系可以归纳为两类:一是建筑工程中客观存在的逻辑关系,例如建筑产品有很多细化类型(例如墙分为填充墙、剪力墙等),而建筑产品必然有材料、几何和施工等特征;二是规则所带来的关系,例如分类编码规则所带来的清单项目与建筑产品之间的分类关系。本文总结了国标清单规范中所涉及到的6种主要关系,如表 1所示。
表 1 国标清单规范中的主要关系序号 关系 关系举例 1 细化 墙与填充墙、梁与圈梁等之间的细化关系 2 特征 建筑产品与材料、几何、施工等产品特征之间的特征关系 3 空间 建筑产品之间的开洞、附属、相交等空间关系 4 分类 清单项目与建筑产品之间的分类关系 5 优先度 清单项目之间的工程量计算“相对优先度”关系 6 运算 计算工程量时对应于扣减规则的扣减、合并等运算关系 3. 基于本体论的成本预算规范表达
基于本体论的成本预算规范表达包括知识表达和规则表达两个方面。对于知识表达,需要选取合适的本体描述语言。本文选取了W3C推荐使用的OWL语言。OWL相比XML、RDF和RDF/S等本体描述语言具有更强的知识表达能力,还提供了对于推理的支持[6]。对于规则表达,由于霍恩规则不能直接用OWL来表达,因此本文选取了W3C推荐使用的SWRL语言。SWRL是在OWL等语言的基础上发展起来的,可以将用其表达的霍恩规则与用OWL表达的知识相结合起来进行推理[7]。
3.1 基于OWL的国标清单规范知识表达
3.1.1 基于OWL的国标清单规范概念表达
OWL对概念的表达是通过定义类(class)来实现的,即对每个概念均定义一个类,对每个类又可以定义个体(individual)用于表达具体数据。此外,还通过rdfs:subClassOf来表达类的继承关系[6]。本文针对国标清单规范中的三大类概念,分别定义了相应的基类,即,建筑产品类ConstructionProduct、产品特征类Feature和清单项目类CostItem。对于其具体概念,通过定义子类来表达,例如定义了Feature的三个子类:材料特征类MaterialType、几何特征类GeometryFeature和施工特征类ConstructInfo。同时,针对CostItem定义了178个个体来表达国标清单规范建筑工程部分的178条清单项目。图 1展示了本文所建立的用于表达国标清单规范概念的部分OWL类、个体及其层次结构。
需要说明的是,在实际工程中,由于个人习惯、国家地区差异等因素,成本预算所涉及到的概念往往存在着多种描述,即存在信息的语义问题。例如对于“cast-in-place concrete”概念,实际中就存在“现浇混凝土”、“砼”等描述。语义问题在材料、几何、施工等概念中尤为突出。为了解决语义问题,本研究针对Feature的所有子类,通过收集成本预算规范以及实际工程中常用的描述,定义了包括不同语言、俗称、简称等在内的一系列的个体。这些个体之间利用OWL提供的owl:SameAs关系,实现了表达同一个概念的目的。
3.1.2 基于OWL的国标清单规范关系表达
OWL对关系的表达是通过定义属性(Property)来实现的,即对每个关系均定义一个属性[6]。此外,还通过rdfs:subPropertyOf来定义子属性。每个属性均有一个定义域(rdfs:domain,表明它是哪个类的属性)和一个值域(rdfs:range,表明它以哪个类或者哪种基本数据类型作为取值)。这样,就以一个二元关系式“属性(rdfs:domain个体, rdfs:range个体或数值)”的形式,表达了相应的关系。例如,二元关系式“has_Material(Column个体, Cast_in_place_concrete个体)”表达了某Column个体的材料特征是现浇混凝土。本文针对特征、空间、分类、优先度和运算5种关系,分别定义了相应的属性,部分关系如表 2所示。特别地,由于细化关系可以通过rdfs:subClassOf来表达,因此无需再定义相应的属性。
表 2 基于OWL的国标清单规范关系表达举例序号 属性举例 定义域 值域 所属关系 1 has_Material ConstructionProduct MaterialType 特征 2 has_Opening ConstructionProduct ConstructionProduct 空间 3 has_ConstructionProducts CostItem ConstructionProduct 分类 4 Priority_LargerThan CostItem CostItem 优先度 5 SubtractFrom ConstructionProduct ConstructionProduct 运算 3.2 基于SWRL的国标清单规范规则表达
SWRL规则支持以人类容易理解的形式进行规则表达,从而支持预算人员从本专业的角度将规则“告诉”计算机,进而让计算机利用OWL表达的知识进行推理。与传统的编程实现方法相比,预算人员可以灵活地扩展或修改规则,从而增强相应的软件的可扩展性。
3.2.1 分类编码规则
本文针对国标清单规范的建筑工程部分的178条分类编码规则,均定义了相应的SWRL规则。例如,针对上述的“010402001矩形柱”清单项目的分类编码规则,定义了:
$ \begin{array}{*{20}{l}} {\;\;\;\;\;\;{\rm{Column}}(?\;{\rm{x}}) \wedge {\rm{Rectangular}}(?\;{\rm{y}}) \wedge {\rm{Cast}}\_{\rm{in}}\_}\\ {{\rm{place}}\_{\rm{concrete}}(?\;{\rm{z}}) \wedge {\rm{has}}\_{\rm{SectionShape}}(?\;{\rm{x}},?\;{\rm{y}})}\\ { \wedge {\rm{has}}\_{\rm{Material}}(?\;{\rm{x}},?\;{\rm{z}})}\\ {\;\;\;\;\;\;\;\;\;\; \to {\rm{has}}\_{\rm{ConstructionProducts}}({\rm{010402001}},?\;{\rm{x}})} \end{array} $
(规则1) 其中,‘? x’,‘? y’等表示个体;‘类(? x)’表示? x是某类的个体;‘属性(个体,个体或数值)’表示关系;‘∧’符号表示逻辑与,用来将前两种类型的条件结合起来;‘→’表示进行推理以得到结果。这样,基于这些SWRL规则,只要已知某建筑产品的相关特征信息,即可以基于相应的SWRL规则,利用相关推理机(例如Jess,Jena等)自动将其分类到某条清单项目,从而可以实现自动清单项目划分的功能。
3.2.2 工程量计算规则
本文针对工程量计算规则对应的“空间”关系,分别定义了相应的SWRL规则,例如:
$ \begin{array}{*{20}{l}} {\;\;\;\;\;\;{\rm{ConstructionProduct}}(?\;{\rm{x}}) \wedge {\rm{Opening}}(?\;{\rm{y}}) \wedge {\rm{has}}}\\ {\_{\rm{Opening}}(?\;{\rm{x}},?\;{\rm{y}}) \wedge {\rm{is}}\_{\rm{LargeOpening}}(?\;{\rm{y}},{\rm{true}})}\\ {\;\;\;\;\;\;\;\;\;\;\;\; \to {\rm{SubtractFrom}}(?\;{\rm{x}},?\;{\rm{y}})} \end{array} $
(规则2,适用于开洞关系) $ \begin{array}{*{20}{l}} {\;\;\;\;\;\;\;{\rm{ConstructionProduct}}(?\;{\rm{x}}) \wedge {\rm{ConstructionProduct}}}\\ {(?\;{\rm{y}}) \wedge {\rm{has}}\_{\rm{Accessory}}(?\;{\rm{x}},?\;{\rm{y}})}\\ {\;\;\;\;\;\;\;\;\;\;\; \to {\rm{UnionWith}}(?\;{\rm{x}},?\;{\rm{y}})} \end{array} $
(规则3,适用于附属关系) $ \begin{array}{*{20}{l}} {\;\;\;\;\;\;\;\;{\rm{ConstructionProduct}}(?\;{\rm{x1}}) \wedge {\rm{ConstructionProduct}}}\\ {(?\;{\rm{x2}}) \wedge {\rm{has}}\_{\rm{Intersection}}(?\;{\rm{x1}},?\;{\rm{x2}}) \wedge {\rm{has}}\_{\rm{CostItem}}}\\ {(?\;{\rm{x1}},?\;{\rm{y1}}) \wedge {\rm{has}}\_{\rm{CostItem}}(?\;{\rm{x2}},?\;{\rm{y1}}) \wedge }\\ {{\rm{Priority}}\_{\rm{LargerThan}}(?\;{\rm{y1}},?\;{\rm{y2}})}\\ {\;\;\;\;\;\;\;\;\;\;\; \to {\rm{SubtractFrom}}(?\;{\rm{x1}},?\;{\rm{x2}})} \end{array} $
(规则4,适用于相交关系) 利用这些SWRL规则推理的结果是能够确定“运算”关系。这样,基于“运算”关系,预算人员或者应用软件可以具体地进行相应的布尔运算、体积/面积计算等几何运算,从而可以得到满足工程量计算规则的工程量计算结果。
4. 基于本体论的建筑工程成本预算数据表达和利用框架
基于本体论的国标清单规范的知识和规则表达,为表达和利用建筑工程成本预算所需要的数据奠定了基础。鉴于目前BIM技术在建筑工程中的广泛应用,从理论上讲设计结果可用来向成本预算共享数据。据此,本文建立了一个基于本体论的建筑工程成本预算数据表达和利用框架,如图 2所示。该框架主要包括三个流程:
(1) 设计数据导入。实际项目的设计结果BIM数据,需要利用基于OWL的成本预算规范知识进行数据转化,转化为成本预算所需要的本体数据。即,针对设计结果BIM数据中的建筑产品类概念定义相应的OWL建筑产品个体,并利用预定义的OWL属性将OWL建筑产品个体与预定义的OWL产品特征个体关联起来。例如针对设计结果BIM数据中的柱,需要定义一个Column个体;通过提取BIM数据中柱的材料信息,在MaterialType子类的预定义个体中找到并确定相应的MaterialType个体,然后利用has_Material属性建立Column个体和MaterialType个体之间的关系;等等。
(2) 推理。基于前面转化得到的成本预算所需要的本体数据,利用定义的SWRL规则,并调用推理机(例如Jess或Jena)来进行推理并得到相应的结果。例如,上一流程得到的Column个体,推理机可以自动判断其特征是否符合(规则1)的条件,若符合,即可推理得到该Column个体被划分至“010402001”清单项目的结果。该流程的结果是,可以得到实现了清单项目划分、工程量计算方法判定等的本体数据。
(3) 数据导出与计算。推理后的本体数据导出至基于BIM的成本预算应用软件中,通过具体地进行工程量计算、报表导出等功能,最终实现成本预算的全部功能。
在该框架中,计算机可以基于成本预算规范自动地进行清单项目划分以及工程量计算方法判定等工作,从而可以有效地减轻甚至取代预算人员的工作量,并为实现建筑工程成本预算自动化奠定了基础。在相应软件中,预算人员只需该框架,针对不同规范中包含的知识和规则进行表达或者扩展,即可实现对不同规范的支持。与传统的需要软件开发人员依据规范编写或修改程序代码的方式相比,该框架相应软件的可扩展性更好。
5. 结语
本研究通过对国标清单规范的知识和规则的分析,实现了基于本体论的建筑工程成本预算规范表达,以此为基础建立了一个基于本体论的建筑工程成本预算数据表达和利用框架,并阐述了该框架的适用性。本研究的结论如下:
(1) 该表达和框架支持让计算机像预算人员一样掌握成本预算规范的知识和规则,并通过与BIM技术相结合获得共享数据,从而可以实现对共享数据的自动利用,进而促进BIM技术在建筑工程成本预算领域的应用。
(2) 该表达和框架可以方便预算人员在相应软件中针对不同规范中包含的知识和规则进行表达或者扩展,从而增强相应软件的可扩展性。
-
表 1 国标清单规范中的主要关系
序号 关系 关系举例 1 细化 墙与填充墙、梁与圈梁等之间的细化关系 2 特征 建筑产品与材料、几何、施工等产品特征之间的特征关系 3 空间 建筑产品之间的开洞、附属、相交等空间关系 4 分类 清单项目与建筑产品之间的分类关系 5 优先度 清单项目之间的工程量计算“相对优先度”关系 6 运算 计算工程量时对应于扣减规则的扣减、合并等运算关系 表 2 基于OWL的国标清单规范关系表达举例
序号 属性举例 定义域 值域 所属关系 1 has_Material ConstructionProduct MaterialType 特征 2 has_Opening ConstructionProduct ConstructionProduct 空间 3 has_ConstructionProducts CostItem ConstructionProduct 分类 4 Priority_LargerThan CostItem CostItem 优先度 5 SubtractFrom ConstructionProduct ConstructionProduct 运算 -
[1] 基于BIM技术的建筑工程预算软件框架设计[A]. 见: 第十五届全国工程设计计算机应用学术会议[C], 中国黑龙江哈尔滨, 2010. [2] 马智亮, 娄喆. IFC标准在我国建筑工程成本预算中应用的基本问题探讨[A]. 见: 工程三维模型与虚拟现实表现—第二届工程建设计算机应用创新论坛论文集[C], 中国上海, 2009. [3] Fredrik Arvidsson, Annika Flycht-Eriksson. Ontologies I[OL]. http://www.ida.liu.se/~janma/SemWeb/Slides/ontologies1.pdf, retrieved 26 Nov 2008.
[4] 中华人民共和国住房和城乡建设部, 中华人民共和国国家质量监督检验检疫总局. GB50500-2008建设工程工程量清单计价规范[S]. 北京: 中国计划出版社, 2008. [5] Wikipedia. Horn clause[OL]. http://en.wikipedia.org/wiki/Horn_clause, retrieved on 16 June 2012.
[6] W3C. OWL Guide[OL]. http://www.w3.org/TR/owl-guide/, retrieved on 10 Feb 2004.
[7] W3C. SWRL: A Semantic Web Rule Language: Combining OWL and RuleML[OL]. http://www.w3.org/Submission/SWRL/#2.2, retrieved on 21 May 2004.