[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】Excel読み取り、市販パーサ65%・自作の前処理89% [Zenn_Python] | Summary by TechDistill

> Source: Zenn_Python
Execute Primary Source

// Problem

開発者がRAG構築において、Excelの読み取り精度が向上しない問題に直面した。
  • 市販パーサ(markitdown等)はMarkdown変換を主目的とする。
  • そのため、セルの値以外の情報がモデルに届かない。
  • 具体的には、グラフのタイトルやピボット構造、シートの保護状態が欠落する。
  • また、行数が多い大きな表は、テキスト化の過程で情報が切り詰められる。
  • 結果として、モデルは「値」は読めても「構造」や「文脈」を理解できない。

// Approach

筆者は、セルの値と構造情報を分離した「中間表現(JSON)」を生成する手法を採用した。
  • 値(units)と構造(structure/xlsx)を明確に分けて保持する。
  • グラフやピボットテーブルの情報を、Excel内部のXML等から抽出して集約する。
  • 中間表現を「索引」として定義し、情報が不足する際は元ファイルへ再取得しに行く。
  • 大きな表に対しては、要約ではなくpandas等で直接集計し直す経路を構築する。
  • これにより、モデルが「値」と「構造」を混同せず、正確に扱えるようにした。

// Result

検証の結果、自作の前処理を用いることで正答率が劇的に改善した。
  • Claude Sonnetを用いた検証で、正答率が62.1%から89.4%へ向上した。
  • 大きな表の処理において、正答率が33%から78%へ大幅に改善した。
  • グラフやピボットテーブル、シートの状態に関する問題で100%を達成した。
  • 「値以外の情報」が欠落していた問題が、中間表現によって解消された。
  • これにより、市販パーサでは到達できない高度な読解が可能となった。

Senior Engineer Insight

> 精度向上の鍵はパーサの変換精度ではなく、情報の「伝達範囲」にある。RAGにおいてExcelを扱う場合、単なるテキスト化は不十分だ。特に財務分析等の現場では、グラフや書式が重要な意味を持つ。実装コストとのトレードオフを考慮し、まずは「大きな表の再集計経路」から着手すべきである。また、ベンチマークの自動採点ミスを疑う、実務的な検証姿勢も忘れてはならない。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。