
如何將工程量清單轉換為 AI 訓練數據
將各種格式的工程量清單(BOQ)轉換為結構化 AI 訓練數據的技術指南——涵蓋表格提取、標準化、標注和匯出。
工程量清單(BOQ)是建築成本估算的骨幹。它們列出項目中的每一種材料、勞工項目和活動,包含數量、單價和金額。對於建築行業的 AI 應用——成本預測、自動估算、工程量核對驗證——BOQ 是主要的訓練數據來源。
問題是:BOQ 的格式極其不統一,將其轉換為結構化訓練數據需要處理格式差異、嵌套層次結構和領域特定術語。本指南介紹了實際操作管線。
BOQ 格式問題
一家建築公司可能擁有以下所有格式的 BOQ:
- Excel 試算表,列佈局各異,帶有合併儲存格和彩色編碼的分節
- PDF 匯出,來自估算軟體(CostX、Bluebeam、PlanSwift)
- 掃描紙質文件,來自舊項目
- CSV 匯出,來自 ERP 系統
- Word 文件,帶有手動創建的表格
即使在同一格式內,結構也各不相同:
承包商 A 的 BOQ: | 項目號 | 描述 | 單位 | 數量 | 單價 | 金額 |
承包商 B 的 BOQ: | 參考 | 工程項目 | 計量單位 | 數量 | 單位價格 | 總價 | 備註 |
承包商 C 的 BOQ: | 序號 | 工種 | 工程說明 | 單位 | 估計數量 | 單價(美元) | 金額(美元) |
相同的信息,不同的列名,不同的順序,不同的粒度。在數百個項目中乘以這個差異,標準化挑戰的規模就變得清晰了。
管線第一階段:攝入和表格提取
對於 Excel/CSV 文件
- 解析工作表,識別標題行(標題行不一定是第一行)
- 處理合併儲存格(節標題通常跨越多列)
- 偵測並保留層次結構(節 → 子節 → 項目 → 子項目)
- 處理單個工作簿中的多個 BOQ 工作表
對於 PDF 文件
- 使用佈局分析進行表格偵測(識別網格結構、對齊列)
- 處理多行儲存格內容的儲存格提取
- 標題識別(區分列標題與數據行)
- 跨頁偵測(跨多頁的表格)
對於掃描文件
- 帶表格感知處理的 OCR
- 用於表格網格識別的線條偵測
- 字元置信度評分(標記低置信度提取以供審查)
- 處理印刷文字旁邊的手寫注釋
管線第二階段:標準化
提取表格後,原始數據需要標準化:
列映射
將各種列名映射到標準架構:
- 「描述」/「工程項目」/「工程說明」→
description - 「單位」/「計量單位」/「U/M」→
unit - 「數量」/「估計數量」→
quantity - 「單價」/「單位價格」/「單位費率」→
unit_rate - 「金額」/「總價」/「總計」→
amount
單位標準化
建築行業使用大量不一致的單位縮寫:
- "m3" / "cu.m" / "CUM" / "cubic meter" →
m³ - "sqm" / "sq.m" / "SQM" / "m2" →
m² - "nr" / "no" / "nos" / "each" / "ea" →
nr - "rm" / "r.m" / "running meter" / "lm" →
rm
層次重建
BOQ 項目是層次性的,但層次結構通常是隱含的:
- 節號(1.0、1.1、1.1.1)編碼了親子關係
- 某些格式中縮排層次表示層次結構
- 粗體/字體大小格式區分節與項目
- 「合計」和「小計」行表示層次邊界
重建這個層次結構至關重要——它為每個項目提供了上下文。「基礎」下的「混凝土」與「上部結構」下的「混凝土」是不同的。
數值處理
- 移除千位分隔符(因地區而異:逗號、句點、空格)
- 解析貨幣符號並標準化
- 處理計算字段(金額 = 數量 × 單價)並標記不一致
- 在需要時在測量系統之間轉換
管線第三階段:標注
有了標準化數據,領域專家對記錄進行標注:
工種分類
每個 BOQ 項目映射到一個建築工種:
- 土木/結構、機械、電氣、管道、HVAC、裝修、景觀等
- 這種分類支持特定工種的成本模型
材料 vs. 勞工 vs. 設備
BOQ 項目通常將這些捆綁在一起,但 AI 模型受益於區分:
- 「供應並安裝結構鋼」→ 材料 + 勞工
- 「鋼結構吊裝起重機租賃」→ 設備
- 「60 級鋼筋」→ 材料
標準化項目編碼
在適用的情況下映射到標準分類系統:
- UniFormat(用於建築元素)
- MasterFormat(用於工程成果)
- 公司特定編碼系統
品質標記
- 完整性(項目是否包含所有必填字段?)
- 一致性(金額是否等於數量 × 單價?)
- 合理性(費率是否在此類型項目的預期範圍內?)
管線第四階段:匯出
標注和標準化的 BOQ 數據根據下游 AI 用例匯出為不同格式:
用於成本估算模型(JSONL):
{"description": "供應並安裝鋼筋...", "trade": "structural", "unit": "kg", "rate_usd_per_unit": 1.85, "context": "foundations/piling"}
用於文件分類(JSONL):
{"text": "1.1.3 岩石開挖...", "label": "civil_earthworks"}
用於 RAG 知識庫(分塊文本): 帶有工種/節元數據的結構化塊,用於檢索增強生成。
領域專家的要求
這個管線不能單靠 ML 工程師運行。標準化規則、工種分類和品質判斷需要建築領域知識:
- 「C30 等級混凝土」與「30 MPa 混凝土」是否相同?(是的,但只有結構工程師才知道。)
- 「不可預見地質條件暫定金額」是否應包含在訓練數據中?(取決於模型的目的。)
- 混凝土的費率 500 美元/m³ 合理嗎?(取決於地區、項目類型和年份。)
這就是為什麼數據準備工具需要對工料測量師和項目經理可用——而不是鎖在 Python 腳本和 CLI 界面後面。像 Ertas Data Suite 這樣的平台將領域專家直接置於標注工作流中,這是他們的知識對訓練數據品質影響最大的地方。
入門
如果您擁有一批 BOQ 並想建立 AI 訓練數據:
- 從原生數字文件(Excel/CSV)開始——它們比掃描 PDF 更容易處理
- 在開始處理前定義您的目標架構
- 在標注架構設計中邀請工料測量師參與
- 從單一項目類型開始建立管線,然後擴展
- 預期需要迭代——第一遍處理會揭示 您沒有預見到的格式差異
Turn unstructured data into AI-ready datasets — without it leaving the building.
On-premise data preparation with full audit trail. No data egress. No fragmented toolchains. EU AI Act Article 30 compliance built in.
Keep reading

Training AI on Financial Statements: Data Extraction and Labeling On-Premise
How to extract and label financial statement data for AI training — parsing XBRL, extracting tables from PDFs, handling format variation, and building classification models for financial analysis.

Bill of Quantities Data Extraction: A Guide for Construction AI Projects
Bill of quantities documents are dense, mixed-format files that hold critical domain knowledge for construction AI. Here's how to extract and structure BOQ data for model training — on-premise.

Claims Processing AI: Preparing Unstructured Documents for Model Training
A practical guide to preparing insurance claims data for AI model training — from extracting structured data from claim forms to building datasets for fraud detection and auto-adjudication.