Excelデータを生成AIが理解しやすい形式に構造化してみた!

2025年12月15日掲載

キービジュアル

ソフトバンク アドベントカレンダー 2025 15日目の記事を担当する森田です。

普段は、RAGの回答精度向上を支援するデータ構造化ツールなどを提供する「TASUKI Annotation」サービスの技術開発を担当しております。

近年、業務で生成AIを活用するにあたり、RAG(Retrieval Augmented Generation)を用いてLLMに自社固有のデータを正確に回答させたいというニーズが急増しています。さらに、RAGを基盤としつつ、ユーザーに代わってタスクを自律的かつ独立して遂行するAI Agentを業務に取り入れたい、という声もよく聞くようになりました。

本記事では、RAGやAI Agentの精度向上に欠かせないデータ構造化の重要性を説明し、非構造データを「AIが理解しやすい構造化データ」に変換することで、RAGの検索精度がどのように向上するかを検証します。特に難易度の高い業務用Excelファイルの構造化に焦点をあて、生成AIを活用した構造化手法とその効果を具体的に紹介していきます。

目次

  • Excelデータの自動構造化を試みた技術検証記事(2025年8月時点)です。本記事の手法は実験的なものであり、既存製品へ実装済みまたは予定の手法ではございません。あらかじめご了承ください。
  • 記事で得られること①:RAGやAI Agentの精度向上に欠かせないデータ構造化の重要性
  • 記事で得られること②:Excelデータの1つの構造化手法と実務データ例での検証結果

1. なぜデータ構造化が重要なのか

実務で使用されるデータにはさまざまな形式がありますが、人間にとって理解しやすいよう視覚的にレイアウトされたものが多く存在します。例えば PDF や PowerPoint の資料では、文章に加えて図や画像が挿入されており、人間にとっては理解しやすくても生成AIにとっては理解しにくいケースがあります。これらは一般的に “非構造化データ” に分類されます。

TASUKI Annotation では、こうした非構造化データをMarkdown形式のような構造化データへ変換(=これを本記事では「データ構造化」と定義します)することで、RAG の検索・回答精度が向上することを確認できております。

これらの結果から、視覚的に表現された非構造化データを構造化データに変換することは、RAGやAI Agentの精度向上に非常に効果的であると言えます。

2. Excelデータの構造化が重要な理由

実務で使用されるExcelは非構造なデータになっていることが多く、そのままでは生成AIが理解しにくいケースがあります。そのようなExcelは下記のような特徴を持っています。 

1. 複雑なセル結合・罫線・背景色など「見た目に依存したデータ構造」が多い

人間的には見た目で分かりやすくても、機械的には構造判定が難しい

2. 1つのシートに多くの情報が詰め込まれている

複数の表が混在し、さらに画像・図形などテキスト以外の要素も含まれる

そのため、今回は上記のようなデータ構造化の難易度が高いExcelの自動構造化にチャレンジしてみました。

3. 検証

3-1. 今回のExcel構造化手法

Excelの構造化にはさまざまな技術選択肢がありますが、今回は生成AIを用いた手法で構造化しました。

前提条件

  • Excelファイルの1つのシートを1つのチャンクとしてデータ構造化する
  • 1つのシート内の画像、図形の構造化は対象外とする(検証コストの都合上)

使用技術

  • LLM: OpenAI o3 ※Responses API、Code Interpreterツールを使用
  • 言語: Python
  • ライブラリ: openpyxl, etc…

Excel構造化フロー

①Excelシート(.xlsx)をPDF画像に変換 

②Excelシート(.xlsx)とPDF画像をOpenAI o3に入力し、データ構造化を実行

検証対象Excelシートは1つのシートに複数の表が存在するなど、見た目に依存したデータ構造になっています。そのため、OpenAI o3モデルに画像を渡すことが有効です。o3モデルにはビジュアルリーズニング機能が搭載されており、正確にレイアウト分析を行うことができます。

※OpenAI o3への入力プロンプトは非公開としております。 

③構造化データの取得

Excelシートを構造化した場合、出力テキストが膨大になりやすくモデルのトークン数制限に引っかかり、構造化結果が省略されることがあります。そのため、Container内に生成された構造化結果のファイルをダウンロードします。

※ChatGPT-o3で実行する場合、プロンプトでダウンロードリンクの生成を指示することで、同様に構造化データをダウンロードリンク経由で取得できます。

3-2. 検証データと評価方法

検証対象Excelシートを構造化した結果をChatGPT-4.1に入力して質問することで、正しく回答できるか評価します。

3-2-1. 評価方法

下記2つの観点で構造化手法を評価します。

①構造化データの完成度

 評価区分:⚪︎完璧 / △一部ミス / ×不可

②ChatGPTの回答精度

 各2問ずつ質問を用意し、正解 / 不正解の二値判定

検証条件

ChatGPTには質問と構造化データを挿入したテキストプロンプトを入力して回答生成(RAG利用を想定し以下のプロンプトを使用)

ユーザーの質問に対する回答を下記のコンテキストのみから回答してください。

質問に対して端的に結論のみを回答してください。それ以外は回答しないでください。

# 質問

{ここにユーザーの質問を挿入}

# コンテキスト

{ここに構造化データを挿入}

3-2-2. 検証データ

社内によく存在する3つのExcelシートを用意しました。

シート1: 一覧表(複雑なセル結合)

※Excelデータの画像は非公開としております。

質問正解回答
予算項目で年度予算の承認・変更の決定を行う担当は?取締役会
福利・厚生項目にあるすべての項目を教えて!

(1) 全社的行事、催事の開催、実施                

(2) 各種厚生施設への加入、脱退、取得                

(3) その他福利厚生に関する事項                

      ①  重要なもの        

      ②  上記以外   

シート2: 規程書(図形, 表, 表外のテキストから構成)
質問正解回答
交際費が500万円のとき同意者および決裁者は?同意者は事業本部の本部長と管理部の部長。決裁者は社長。
寄付金が25000円の場合の申請責任者は?各部長
シート3:申請書(複数の表から構成)
質問正解回答
決裁書の申請番号、案件名、申請部門、申請者、申請責任者を教えて。

申請番号:SP010

案件名:株式会社サンプル 預金口座開設の件

申請部門:管理本部

申請者:Anonymous(Tel. 080xxxxxxx)

申請責任者:記載なし

予算項目には何を記入する必要がありますか?勘定科目またはプロジェクト、予算番号、予算残高、予算割当

4. 検証結果

4-1. 構造化データの完成度

構造化データをMarkdown Previewし、元データの構造を再現できているか確認しました。

シート1: 一覧表

※構造化データの結果は非公開としております。

評価:◯(すべて問題なく構造化できていました。)

シート2: 規程書

評価:△(図形描画内のテキスト”株式会社サンプル …”は検証対象外のため文字起こしできていません。その他は問題なく構造化できていました。)

シート3:申請書

評価:◯(すべて問題なく構造化できていました。)

4-2. ChatGPTの回答精度

シート質問ChatGPT回答評価結果
1予算項目で年度予算の承認・変更の決定を行う担当は?取締役会正解
福利・厚生項目にあるすべての項目を教えて!

(1) 全社的行事・催事の開催・実施

(2) 各種厚生施設への加入・脱退・取得

(3) その他福利厚生に関する事項(①重要なもの/②上記以外)

正解
2交際費が500万円のとき同意者および決裁者は?

同意者:事業本部_本部長、管理部_部長

決裁者:社長

正解
寄付金が25000円の場合の申請責任者は?各部長正解
3決裁書の申請番号、案件名、申請部門、申請者、申請責任者を教えて。

申請番号:SP010

案件名:株式会社サンプル 預金口座開設の件

申請部門:管理本部

申請者:Anonymous

申請責任者:(記載なし)

正解
予算項目には何を記入する必要がありますか?勘定科目(またはプロジェクト)、予算番号、予算残高、予算充当を記入する必要があります。正解

6. まとめ

本記事では、RAGやAI Agentの精度向上には「データの構造化」が不可欠であることを解説し、実務で多く見られる非構造なExcelファイルを用いた検証を行いました。

検証の結果、本手法は構造化の完成度が非常に高く、回答精度についても全問正解を達成しました。 このことから、生成AIから期待通りの出力を得るためには入力データの構造が重要であり、特に「元データの構造や意味を保持したまま構造化データを与えること」の有効性が改めて確認できました。

なお、本手法で明らかになった課題とその改善策についても併せてまとめましたので、ぜひ参考にしてください。

1. Excelデータ内の画像や図形への構造化対応

 本記事では画像や図形の構造化を検証対象外としました(検証コストの都合上)。こちらは、明示的に画像や図形の構造化を指示するプロンプトにすることで、画像や図形に対応できる見込みがあります。

2. 1つのシートあたりの平均処理速度の短縮

 本記事で構造化した3つのExcelシートのシートあたりの平均処理速度は約120秒でした。こちらは、OpenAI o3モデルでreasoning effortパラメータをmedium以下に変更して推論量を減らすなどで解決できる見込みがあります。

7. 最後に:RAG回答精度向上支援サービス

本記事では、データ構造化の重要性をお伝えしたうえで、実務でよく使用される非構造なExcelデータの構造化を検証しました。

「RAGで自社固有のデータを正確に回答させたい」「AI Agentで業務タスクを正確に遂行したい」のどちらのケースにおいても、人間が視覚的に理解しやすい非構造化データを生成AIが理解しやすい構造化データに変換することは重要です。

TASUKI Annotationでは、生成AIに関するデータサービス「生成AI用データ構造化代行サービス」と「RAGデータ作成ツール」を提供しております。

データ構造化代行やRAGデータ作成ツールを通じて、効率的に高精度なRAGを構築するサポートを行っていますので、Webサイトだけでもご覧ください。

また、実際にRAGの回答精度改善にお困りの企業の方がいらっしゃいましたら、ぜひご相談ください。

それでは、ソフトバンク アドベントカレンダー 2025 16日目にバトンを渡します。

関連サービス

TASUKI Annotation RAGデータ作成ツールは、RAGを高度に活用する際に課題となるポイントをテクノロジーで支援するツールです。
RAGに関する知見がなくても、社内データを活用した精度の高いRAG回答生成を簡単に得ることが可能です。

おすすめの記事

条件に該当するページがございません