《Data & Knowledge Engineering》:ASK-BIM: A knowledge graph-powered AI system for natural language querying of BIM models
编辑推荐:
为解决建筑信息模型(BIM)数据因格式复杂、缺乏语义结构导致查询困难、对专业软件和知识依赖度高等问题,研究人员开展了结合知识图谱(KG)与大语言模型(LLM)的研究,提出了ASK-BIM系统。该系统能将IFC文件转换为知识图谱,并通过自然语言问答实现对BIM数据的直观访问,实验验证了其在结构化查询上的有效性,代表了向高效、可解释的AI驱动BIM分析迈出的重要一步。
建筑信息模型(Building Information Modeling, BIM)正在深刻变革建筑、工程、施工与运维(Architecture, Engineering, Construction, and Operation, AECO)行业。它将一个建筑项目全生命周期中纷繁复杂的几何、空间、时间、成本乃至可持续性等多维度信息整合到一个统一的数字化模型中,极大地促进了各参与方的协作。然而,蕴藏在这些模型中的海量信息,对于非专业人士甚至许多业内人员而言,却像一座难以轻易进入的“数据孤岛”。究其原因,主流的BIM数据交换格式——工业基础类(Industry Foundation Classes, IFC)文件,虽然确保了互操作性,但其本身是庞大且高度结构化的文本数据,缺乏易于理解和查询的语义结构。直接使用现有的专业软件(如Autodesk Revit)需要专门技能,而直接将当前先进的超大语言模型(Large Language Models, LLMs, 如ChatGPT、DeepSeek)应用于原始IFC文件也收效甚微,因为它们难以处理文件体积、无法理解数据间的复杂关系,往往只能进行简单的元素计数,无法回答涉及属性关联和空间推理的复杂问题。
因此,如何让建筑师、工程师、物业经理乃至普通用户能够像与专家对话一样,用自然语言轻松查询BIM模型中的信息,成为一个亟待解决的挑战。这正是论文《ASK-BIM: A knowledge graph-powered AI system for natural language querying of BIM models》旨在攻克的核心问题。这项研究发表在《Data 》上,由Andrea Ibba、Rubén Alonso和Diego Reforgiato Recupero合作完成。
为了构建一个能理解自然语言并精准回答BIM相关问题的系统,研究人员设计并实现了名为ASK-BIM的创新性技术流程。其核心思想是“先结构化,再智能查询”,而非让LLM直接“硬啃”原始IFC文件。首先,利用IFC-to-LBD转换器将IFC文件转化为基于语义网标准的链接建筑数据(Linked Building Data, LBD)知识图谱。这一步骤至关重要,它利用建筑拓扑本体(BOT)、建筑元素本体(BEO)、产品本体(PRODUCT)和建筑相关属性本体(PROPS)等一系列标准化本体,将IFC中隐含的实体(如墙、门、窗)、属性(如面积、高度)和关系(如包含、相邻)显式地、结构化地表示出来,形成一张语义丰富的“知识网络”。然后,研究采用了类似思维链(Chain of Thought)的提示策略,引导LLM(本研究中选用ChatGPT)完成多步推理:先将复杂的用户自然语言问题分解或简化为子问题;接着识别子问题中提及的实体与知识图谱中的类别(如beo:Wall)进行匹配,并提取相关的属性和关系作为上下文;随后,LLM根据此上下文生成能够从知识图谱中检索所需数据的SPARQL查询语句;执行这些查询后,将获取的结果数据再次交给LLM,由其整合并生成最终的自然语言答案。整个流程的代码已在GitHub开源。用于评估的系统基于一个代表巴塞罗某一真实多层办公楼(共4层)的IFC模型,并创建了28个由领域专业人士设计的、具有不同复杂度的问题集。
研究结果通过一系列严谨的实验和问题分类得以呈现。研究人员从两个维度对28个测试问题进行了分类:一是根据“实体与属性参与度”分为“单实体单属性”、“单实体多属性”和“基于推理”三类;二是根据“知识图谱中的实体表示”分为“直接问题”(目标概念在KG中明确建模)和“间接问题”(需要推断KG中未明确表示的概念)。评估由三位BIM领域的专家进行,他们将系统答案分为完全正确(绿色)、部分正确(黄色)和错误(红色)。
1. 单实体单属性问题结果:在7个此类问题中,有5个获得了完全正确的回答。例如,“二楼有多少扇门?”这类问题能够被准确回答。一个部分正确的案例是“建筑中所有走廊的平均层高是多少?”,系统因未能正确构建仅检索走廊墙体的SPARQL查询,而计算了所有墙体的平均高度。一个错误的案例是“二楼有多少个房间?”,由于“房间”并非KG中的显式实体,需要从墙、楼板等元素的关系中间接推断,系统生成的SPARQL查询过于复杂且未能检索到有效结果。
2. 单实体多属性问题结果:在7个此类问题中,有6个完全正确。例如,“二楼所有墙体的总表面积是多少?”被成功解答。一个部分正确的案例是“二楼窗户的总玻璃面积是多少?”,系统未能检索到“玻璃面积”这一未在KG中明确定义的属性,转而使用了窗户的“总面积”属性。
3. 基于推理的问题结果:这是最具挑战性的类别,在14个问题中,有5个完全正确,1个部分正确,8个错误。成功的案例如“我能安装在最小墙上的最大尺寸窗户是多少?”,系统成功分解问题,分别查询了所有窗户和墙体的尺寸属性,并通过推理给出了答案。另一个亮点是“建筑中哪些墙是防火的?”,这是一个“间接问题”但被正确回答。系统通过检索墙体的标签属性(如“BasicWall:Interior - 79 mm Partition (1-hr)”),并利用LLM的常识推理出“(1-hr)”代表一小时防火等级,从而得出了正确结论。多数错误发生在SPARQL查询生成步骤,对于需要复杂空间推理(如“二楼墙体围合的总面积是多少?”)或涉及隐含关系的问题,系统生成的查询无法获取有效数据或逻辑错误,导致最终答案失败。
研究的结论与讨论部分明确指出,ASK-BIM系统验证了将BIM模型转换为知识图谱对于提升其语义可访问性的关键作用(回答了研究问题RQ1)。通过将LLM的推理能力建立在结构化的知识图谱之上,系统能够有效地将自然语言问题转换为SPARQL查询(回答了RQ2)。与直接处理IFC文件的方法相比,这种结合显著提高了BIM查询的准确性和可用性,特别是在处理“直接问题”时表现优异(回答了RQ3)。这标志着向通过自然语言实现直观、高效的BIM查询迈出了重要一步。
然而,研究也坦率指出了当前的局限性。最主要的挑战来自于对“间接问题”和需要高级空间推理的问题处理不佳,这很大程度上是因为受提示词长度限制,无法将完整的本体知识提供给LLM,限制了其进行整体语义推理的能力。此外,SPARQL查询生成的准确性仍是影响最终结果的关键瓶颈。
展望未来,研究认为可以通过智能体(Agent)推理策略、改进SPARQL查询生成、评估本地或开源LLM以提升成本效益等方式进一步加强系统。同时,将BIM模型与物联网(IoT)传感器数据整合以构建多维数字孪生,并利用类似ASK-BIM的系统进行查询,是一个充满前景的方向。总之,ASK-BIM通过弥合结构化BIM数据与AI推理之间的鸿沟,为更智能、可扩展和用户友好的建筑环境信息访问解决方案铺平了道路。