会社の図面PDFをAIに読ませようとして、一発でうまくいかない経験はありませんか。工学図面は普通の文章PDFと違い、図枠・表題欄・Revision欄・注記・機器記号・線種・端子・接続線・座標・複数Viewの組み合わせで意味が形成されます。文字だけでは意味が完結しないのです。
この記事では、「PDF全体を1回入力して完成した設備知識を出す」というワンショット方式を避け、観測・分類・抽出・関係構成・照合・検証・統合を別タスクとして反復する設計を、複数の研究知見と実務知見から整理します。
この記事でわかること
- なぜ1回の解析で完結させてはいけないのか
- 図面を分割する軸と、推奨する10段階の解析Pipeline
- 失敗パターンと対策一覧
- 複数AIモデルを役割分担で使う方法
1回の解析で完了させない理由
DocLLMの論文は、企業文書の理解にはText semanticsとSpatial layoutの両方が重要であり、複雑なLayoutや異種Contentでは精度や信頼性に課題が残ると説明しています。機械図面向けMechVQA論文も、一般的なMultimodal LLMは高密度AnnotationやDomain knowledge不足、Spatial reasoningの不安定さにより、決定的な手掛かりを見落としやすいと報告しています。
つまり「PDF全体を1回入力して完成した設備知識を出す」方式は、見落としや過剰統合、根拠位置の喪失、Revision混同を検出しにくい設計です。
本記事は特定論文の手順をそのまま実装するものではなく、複数の研究結果と運用知見から導いた設計提案です。
研究から得られる設計上の示唆
| 知見 | 引用元 | 設計への反映 |
|---|---|---|
| Layoutと座標を失わない | DocLLM | OCR TextだけでなくPage・Bounding box・Reading orderをSource Pointerへ保持 |
| 認識・推論・判定を分ける | MechVQA | 文字・記号認識、接続・機能推論、整合性・採否判定を別段階に |
| Open-loopよりClosed-loop | IterCAD | 抽出結果をValidatorと再読込で検査し、失敗箇所だけを再解析 |
| Graph SchemaはDomainに合わせる | Document GraphRAG等 | 汎用的entity-relatedTo-entityではなくEquipment・Terminal・Cable等のDomain relationへ分ける |
解析対象の分割軸
分割はToken数だけではなく、図面の意味境界を優先します。
| 分割軸 | 例 | 主目的 |
|---|---|---|
| Document | PDF単位、Drawing set単位 | 原本とVersionの固定 |
| Page | Sheet、Page | 独立した再処理 |
| Region | Title block、Revision、Note、Legend、Main drawing | Layout別抽出 |
| Object class | Text、Symbol、Line、Table、Image | 専用Extractor適用 |
| Engineering concern | Power、Control、Protection、Interlock | 責務別解析 |
| Entity | Equipment、Panel、Cable、Terminal | Atomic Record化 |
| Relation | Feeds、ConnectedTo、ControlledBy | Graph構築 |
| Verification | OCR、Topology、Rating、Revision | Validator分離 |
ワンポイントメモ
PageをGridで機械的に切るだけでは、線の接続や注記の参照先が分断されます。Region cropにはPage全体Thumbnail、隣接Region、座標、Overlap、Region間Linkを付けます。
推奨する10段階の解析Pipeline
| Stage | 内容 |
|---|---|
| 0 原本固定 | Source ID/Version ID/Hash/Page count/アクセス境界 |
| 1 PDF品質判定 | Text layer有無/Raster/Rotation/解像度/Page size |
| 2 Layout inventory | Title block/Revision table/Legend/Notes/Drawing area |
| 3 独立抽出 | OCR text/Tables/Symbols/Lines/Dimensions/Callouts |
| 4 Domain別解釈 | Equipment/Power/Control/Protection/Interlock/Reference |
| 5 Relation候補生成 | Source-target/Terminal-terminal/Parent-child/Cross-page reference |
| 6 Cross-check | Title vs File name/Revision vs metadata/Rating vs schedule |
| 7 ConflictとUnknownの登録 | Confirmed/Candidate/Conflict/Unreadable/Not present |
| 8 Knowledge integration | Atomic Records/System Links/Entity Graph/Event |
| 9 Projection生成 | HTML view/Equipment view/Revision comparison/Evidence view |
| 10 Targeted retry | Low-confidence箇所と矛盾箇所だけを別Model/別Crop/別Promptで再解析 |
図面向けSystem Links
| Link | 意味 |
|---|---|
| DerivedFrom | ClaimがどのPage/Regionから得られたか |
| Depicts | Drawing/RegionがどのEntityを表すか |
| Feeds | Power sourceからLoadへの給電 |
| ConnectedTo | Cable、Terminal、Equipmentの接続 |
| ControlledBy | ActuatorとControl deviceの関係 |
| ProtectedBy | Load/CircuitとProtection deviceの関係 |
| ReferencesDrawing | Cross-reference先Drawing |
| Supersedes | Revisionの新旧関係 |
| ConflictsWith | 異なるSource間の不一致 |
停止条件と反復Loop
解析は「Observe→Extract→Normalize→Link→Validate→Score uncertainty→次Region選択→RetryまたはStop」を反復します。停止は「Agentが完了と回答した」ではなく、機械判定可能な条件へ寄せます。
- 必須Regionがすべて処理済み
- 全TaskがComplete、Conflict、Unreadableのいずれか
- Schema validationを通過
- Critical relationに未検証Candidateがない
- Retry上限に達した項目はHuman Reviewへ移送
複数AIモデルの使い方
複数Modelは同じPromptを多数決させるだけでなく、責務を変えます。
| Role | 主な確認 |
|---|---|
| Visual observer | 実際に見える文字、記号、線 |
| Layout analyst | 表題欄、Revision、表、座標関係 |
| Domain analyst | 電気的意味、設備関係、規則 |
| Skeptic | 根拠不足、読み飛ばし、矛盾 |
| Integrator | Atomic RecordとSystem Linksへの統合 |
多数決で少数意見を消すのではなく、異なる結果はConflictとして保持します。確定はSource evidence→決定論的Check→承認済みRule→人間Reviewの順で行います。
失敗パターンと対策
| Failure mode | 対策 |
|---|---|
| OCRだけで線接続を推測 | Symbol、Line、Terminalを別抽出 |
| Page全体を縮小して文字欠落 | Region cropと全体Contextを併用 |
| Cropで線が切れる | Overlapと隣接Region Link |
| 旧版と新版を上書き統合 | Source Version単位のImmutable package |
| 不明値を補完 | Unknown/Unreadableとして保存 |
| 巨大Markdownを更新 | Atomic Record + Projection再生成 |
| 同じModelの多数決 | Role、Model、Crop、Promptを変えて独立性確保 |
評価方法は単一の正答率ではない
OCR文字精度、Title block field精度、Symbol precision/recall、Connection edge精度、Claim provenance completeness、Conflict detection recall、Human review correction rateなど、複数指標を別々に追います。Ground truthは担当者がReviewした少数の代表図面から作り、図種・年代・Scan品質で分けて評価します。
既存運用知見との整合
- Whole drawing one-shotではなくTask queue
- Raw observationとEngineering interpretationを分離
- EquipmentとConnectionを別Record化
- 全体Graphではなく必要Subgraphを取得
- Retry対象だけ再解析
- Original PDFは変更しない
参考論文・公開資料
- DocLLM: A Layout-Aware Generative Language Model for Multimodal Document Understanding
- MechVQA: Benchmarking and Enhancing Multimodal LLMs on Mechanical Drawing Understanding
- IterCAD: An Iterative Multimodal Agent for CAD Generation and Editing
- GraphRAG Survey
こんな人におすすめ
- 工学図面や図面PDFをAIに読ませようとしている
- 1回の解析で精度が不安定だった経験がある
- AIの見落としを前提にしたワークフローを知りたい
よくある質問
Q. PDFを一気に読ませる方が早いのではないですか?
A. 早さと引かえに、見落としや矛盾の検知難度を天秤にかける必要があります。重要な図面ほど分割・反復型の方が安全です。
Q. この設計は電気図面以外にも応用できますか?
A. 分割軸やDomain relationの中身を入れ替えれば、建築図面や配管P&IDなど他の図面種にも応用できます。














コメント