Back to blog
    如何將工程量清單轉換為 AI 訓練數據
    boqdata-extractionconstructiontraining-datadata-preparationsegment:enterprise

    如何將工程量清單轉換為 AI 訓練數據

    將各種格式的工程量清單(BOQ)轉換為結構化 AI 訓練數據的技術指南——涵蓋表格提取、標準化、標注和匯出。

    EErtas Team·

    工程量清單(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" →
    • "sqm" / "sq.m" / "SQM" / "m2" →
    • "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 訓練數據:

    1. 從原生數字文件(Excel/CSV)開始——它們比掃描 PDF 更容易處理
    2. 在開始處理前定義您的目標架構
    3. 在標注架構設計中邀請工料測量師參與
    4. 從單一項目類型開始建立管線,然後擴展
    5. 預期需要迭代——第一遍處理會揭示您沒有預見到的格式差異

    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