広告

1,000件超の複雑なスキャンPDFとExcel表をJSONにする際の壁(CPUのみ)。AI初心者がローカル向けパーサのおすすめを探しています(GLM-OCR、FireRed OCR など)

Reddit r/LocalLLaMA / 2026/3/24

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • ユーザーは、大規模なデジタル化の取り組みとして、複数の製造拠点(production plants)から届く1,000件超の複雑なスキャンPDFとExcelテンプレートを、構造化されたMES対応のJSONスキーマへ変換する事例を説明しています。
  • 現在は、セルフホストしたn8nとGemini APIを使った単段のVLMプロンプトで対応していますが、高度にネストされた/結合された表では視覚的な混乱が原因で失敗し、トークン制限によるJSONの切り詰め(トランケーション)も問題になっています。
  • ユーザーは2段階パイプラインの導入を検討しており、まずCPUで動作しやすいローカルの軽量な表/グリッドパーサで構造(例:Markdown/HTML)を抽出し、その構造をGeminiに渡して安定したJSON階層へマッピングする案を考えています。
  • rowspan/colspanが多いレイアウトでもCPUで処理できるオープンソースのOCR/表パーサ(例:GLM-OCR、FireRed OCR)についての推薦と、大量のHTML出力をLLMに投入する際のトークン数管理戦略について質問しています。
  • また、入力の約30%が大きなExcelファイルとして到着するため、全体のパースワークフローにおいて取り込み経路(インジェスト)面での追加の課題があることも述べています。

みなさん、こんにちは。

私はAIエンジニアリング側はまだかなり初心者なのですが、最近、職場で6つの食品製造工場にまたがる大規模なデジタル化プロジェクトを任されました。ここに来て大きく行き詰まってしまったので、この分野のベテランの方々にぜひアドバイスをいただきたいです。

私たちは、紙のログから脱却して、フィールドログの1,000種類以上(生産、品質、設備保全など)を新しいMESに取り込めるようにデジタル化しようとしています。目的は、これらのスキャンPDFから「ドキュメントのメタデータ」と「階層スキーマ」(たとえば Group > Item のような関係)を抽出することです。

ただ、少し変わっていて、ここがポイントです。必要なのは、印刷されたテーブル見出しの「正確なテキスト」だけです。手書き入力については、完璧なOCRは不要です。AIには、走り書きのようなクセを見て、データ形式(例:数値、チェックボックス、時刻、テキストなど)を推定してほしいだけなので、DBのスキーマを作れるようにします。

現在のセットアップ & 制約:

  • 厳格な会社のデータセキュリティ要件があるため、n8nはセルフホストしています。
  • パース(解析)ロジックにはGemini APIを使用。
  • これらを会社支給の標準ノートPCで実行しています—CPUのみ、専用GPUやvRAMはゼロ

悪夢: 現在はn8nで1ステップのダイレクトVLMプロンプトを使っています。簡単なテーブルにはかなりうまくいくのですが、複雑なものはまったくダメです。ここでいう「複雑」とは、気が狂うレベルのネストされたテーブル、rowspan/colspanの乱用、そして1ページあたり1,600セル以上を含む密な24時間ユーティリティログです。

  1. ビジュアル・ハルシネーション: VLMがテキストの物理的な距離に混乱してしまいます。そのため、実行するたびにJSONの階層が毎回変わってしまいます。
  2. トークンの打ち切り: このような巨大グリッドをVLMに展開させようとすると、出力トークン制限に当たり、JSONが途中で切り詰められてしまいます。

考えていること: こちらで読んだ内容からすると、おそらく「1ステップVLM」という夢は捨てて、2段階のパイプラインに移行すべきだと思っています。つまり、ローカルのパーサでまずグリッド構造をMarkdownまたはHTMLとして抽出してから—そのテキストをGeminiに渡してJSONスキーマをマッピングする、という流れです。

プロの方々への質問:

  1. 過度にマージされた(結合された)テーブルにも対応でき、かつCPU-onlyのマシンで実用的に動作する軽量なオープンソースのパーサはありますか? GLM-OCRFireRed OCRのような最近のモデルについて見かけたのですが、実際にこちらの方々でローカル実行して複雑なグリッド抽出を試した人はいませんか?GPUなしだとどれくらいの出来ですか?
  2. パーサがHTML(重要な罫線を保持するため)を出力する場合、LLMに食わせる際の巨大なトークン数はどう対処していますか?
  3. (追加のつらい点) これらの1,000+テンプレートのうち約30%は、大きなExcelファイルとして届きます。紙のPDFとまったく同じ見た目になるようにフォーマットされており(見た目の印刷用に、非常にひどいネストされた結合形式になっている)、さらにそれぞれに1,000+行の過去データが含まれていることがよくあります。すでにデジタルデータなので、VLMは完全にスキップしたいです。Node.js/Pythonで、セルを動的にアンマージして、何百種類ものExcelレイアウトからスキーマのヘッダ部分だけを抽出するための堅実な「スライシング」用のコード技があれば教えてください。

これらの複雑なテーブルに対して自分が手に負えなくなっている感じがします。どんなアドバイス、ツールのおすすめ、ワークフローのヒントでも助けになります。ありがとうございます!

submitted by /u/Wonderful_Trust_8545
[link] [comments]

広告