VLMを使って、スライド⽂脈を加味したスライド情報抽出をしてみる

この記事は、2026年2⽉時点の内容です。

データ開発本部 データサイエンティストの澤⼭です。
業務では、⽣成AIにかかわる技術開発をおこなっています。

昨今、⽣成AIの⼀般普及が進み、社内業務でも活⽤する場⾯が増えました。
当社でも、情報調査やアイディアの壁打ち、報告書や資料作成、ナレッジ検索など、多岐にわたる活⽤がされています。

今回は、企業の資料作成でよく⽤いられる「スライド」に着⽬し、スライドをナレッジ化する際に、⽂脈を加味した情報抽出をおこなう⽅法について、簡単に調査検証してみました。

スライドに含まれる情報

パワーポイント資料をはじめとする「スライド」には、スライド内情報と、スライド間にまたがる情報が含まれています。

スライド内情報は、下図で⽰す通り、スライドタイトルやリード⽂をはじめとしたテキスト情報、写真をはじめとした画像情報、数値情報を含む表やグラフ情報、⽮印やフロー図といった図形情報などが含まれています。

スライドに含まれる情報

スライド内情報の例

 

⼀⽅で、スライド間にまたがる情報として、最初のスライドからの論の推移や、専⾨⽤語や論述内容などの前提⽂脈の情報があげられます。

下の図で⽰す通り、ひとつ前のスライドに記載された表や画像を前提として、現在のスライド内容が記述されていることがよくあると思います。

スライド間にまたがる情報

スライド間にまたがる情報の例

 

スライド情報の抽出における課題

社内ナレッジに基づいて回答する RAGチャットボット・エージェントを開発する場合において、社内資料からナレッジベースを構築することがあります。その際に、⽣成AIを⽤いて、スライド資料から情報を抽出することがあります。 スライド資料から情報を抽出する際には、⼀般的に、課題とされていることがいくつかあります。

課題①︓スライド内情報の⽋損

ひとつは、抽出情報の⽋損です。

スライドからテキストのみを抽出する場合には、グラフや図をはじめとしたテキスト以外の情報が⽋損してしまいます。 また、グラフや図の情報を抽出する際に、画像認識AIなどを⽤い、テキストと分けた情報抽出をおこなうと、スライド内に含まれる各情報間の関係性が失われてしまいます。

このような、情報⽋損を解決する⽅法として、VLM(Vision Lauguage Model)の活⽤が挙げられます。 スライド全体を1枚の画像として扱い、VLMへ⼊⼒することで、スライド内の各情報を取得しつつ、スライド内の情報間の関係性をとらえることができます。

AWSやGCP、Azureをはじめとした各クラウドで利⽤可能な、VLMを⽤いた情報抽出機能では、以下のようなプロンプトが⽤意されていることが多いです。

# VLM を⽤いた情報抽出プロンプトの簡単な例
画像から内容を抽出し、Markdown形式で出⼒してください。
抽出⼿順
1.画像の要素(ヘッダー、本文、表、画像、グラフ、ページ番号など)をすべて特定する。
2.Markdown形式を使⽤して出⼒を整形する。
3.要素に応じて、以下の形式に整形する。
・テキスト: ~ には 「#」を⽤いる。箇条書きや番号付きリストは、その情報を保持する(箇条書きは * や -
など)
・表:(同様にルール・条件・制約を記載)
・画像:(同様にルール・条件・制約を記載)
・グラフ:(同様にルール・条件・制約を記載)
・ページ番号:(同様にルール・条件・制約を記載)

上記プロンプトの通り、抽出条件の具体化によって、画像として扱ったスライドから、構造化テキストの形で、スライド内の情報を取り出すことができるようになります。

課題②︓スライド間情報の⽋損

もうひとつは、スライド間にまたがる情報の⽋損です。

前述のVLM(とプロンプト)を活⽤することで、スライド内の情報を構造化して抽出することができますが、この抽出⽅法では、スライド1枚ごとに処理されるため、スライド同⼠が独⽴した状態で情報が抽出されてしまいます。 そのため、直前までのスライドで記載された前提条件や論の推移といった、現在のスライド情報を解読するために必要となる⽂脈が⽋損し、スライド内容が誤って読み取られる可能性があります。

より具体的には、以下のようなスライド情報の⽋損があげられます。

  • 暗黙の了解の⽋損: 直前までのスライドで定義された⽤語が、後のスライドで暗黙の了解として使われることが多く、単独のスライドだけから情報抽出すると、⽤語の定義や解読が難しいことがある。
  • 論理の流れ(ストーリー)の⽋損: スライド資料は、各スライドという点ではなく、複数のスライドという線で情報を伝えているため、単独のスライドだけから情報抽出すると、なぜそのデータが提⽰されているのかという理由や前提条件が⽋損することがある。
  • エラー内容を含んだままの情報抽出: 現在のスライドに⽤語のミスや⽂字認識ミスなどが含まれた際に、単独のスライドだけから情報抽出すると、ミスが正しいものとして抽出し、正しい情報が⽋落することがある。

また、下記の図で⽰すように、直前までのスライド内容(⽂脈)によって現在のスライドの意味合いが⼤きく異なることもあります。これらから、現在のスライド情報を抽出する際に、直前までのスライド情報を活⽤することは、スライド理解において重要であることがわかります。

直前までのスライド内容(⽂脈)によって現在のスライドの意味合いが⼤きく異なる

ひとつ前のスライド内容により、現在のスライドの意味合いが変わる例

 

このような課題を解決する⽬的で、スライドや動画を対象とした情報抽出にまつわる既存研究があります[1,2]。 これらの研究では、上記のような前後関係の論理的なつながりや流れをとらえる重要性に着⽬しています。

補⾜︓スライド⽣成をする際に、⽂脈情報が含まれている理由

AI(特にLLM)を⽤いたスライド⽣成では、スライドの⽂脈が含まれた状態で、現在のスライド内容を⽣成することができます。これは、現在のスライド内容をテキスト⽣成する際に、プロンプトや直前までの出⼒内容といったテキスト情報(⼊⼒トークン系列)を、LLMが読み込んだ状態で生成(出⼒)できるためです。 そのため、スライドからの情報抽出と異なり、スライド⽣成では、⽂脈情報を考慮した⽣成をおこなうことができます。

スライド間情報抽出の⽐較

VLMでスライド間の情報を抽出する、具体的かつ簡単な⽅法の⼀つとして、以下のようなVLMへの⼊⼒⽅法があげられます。

図では、VLMを⽤いて抽出したテキスト情報をスライドコンテキストとして保持し、次のスライドを⼊⼒する際のプロンプトの⽂脈として渡すことで、次のスライドの情報抽出に役⽴てています。

これによって、ひとつ前までのスライド情報を活⽤しながら、現在スライドに対する情報抽出を⾏うことが可能です。

スライド間情報抽出の⽐較

直前までのスライド情報を活用したスライドからの情報抽出

 

具体的なプロンプト追記内容と、疑似的なコードを⾒てみます。

以下では、プロンプトに直前⽂脈を利⽤することの明⽰と、疑似的なコードに、スライドコンテキストをVLM次の⼊⼒に与える追記をしました。

# 簡単な VLM のプロンプトの例
直前までのスライド情報(#直前までのスライド情報)の⽤語や定義を活⽤しながら、スライド画像から情報を抽出
し、Markdown形式で出⼒してください。

# 抽出⼿順
1.画像の要素(ヘッダー、本文、表、画像、グラフ、ページ番号など)をすべて特定する
2.Markdown形式を使⽤して出⼒を整形する
3.要素に応じて、以下の形式に整形する
    ・テキスト: ~ には 「#」を⽤いる。箇条書きや番号付きリストは、その情報を保持する(箇条書きは * や -
など)。直前までのスライド情報を踏まえて、⽤語や文法誤りがある場合は補正してください。
    ・画像:書かれている内容を出⼒。
    
# 直前までのスライド情報
直前まで読み込んだスライド内容と流れは以下となります。
{slide context}
# 直前までのスライド情報を踏まえた、スライド情報抽出の疑似コード
vlm = load_vlm()

## prompt
prompt_vlm = ""

### 現在のスライドに⾄る前のコンテキスト
slide = load_slide()
slide_context = [] # これまでのスライド情報

for current_slide in slide:
    current_slide_text = extract_infomation(vlm, prompt_vlm, slide_context, current_slide)
    slide_context.append(current_slide_text)

なお、実際の資料抽出を想定した際、スライドの枚数が多いことも想定されます。その場合、抽出された直前までのスライド情報が、VLMが扱える最⼤コンテキスト⻑を超えることもまた想定されます。その場合には、スライドコンテキストを別のLLMで要約・圧縮したうえで保持し、次の⼊⼒に与えることも考えられます。

コンテキストありでスライド情報を抽出してみる

今回は、実際に直前のスライド情報を与えて、スライド情報の抽出を検証してみました。

具体的には、「スライド単体での抽出(通常)」と「直前のスライド情報を⽤いる抽出」を⽐較した際に、「直前のスライド情報」を与えることで、「現在のスライド」から抽出される情報が、より意味のある内容になるかを検証します。

おそらく、みなさんが予想できる回答が得られるはずです。

わかりやすさを重視して、スライド枚数は最⼩の2枚とし、実際に出⼒された内容を⾒てみます。

実際の直前のスライド情報に対するスライド情報の抽出を検証

スライドからの情報抽出の各設定

現在のスライドは、「クネジット カード」と書かれたタイトルと、⾺の画像(※画像はAIで⽣成)が貼られています。

抽出の設定は以下となります。

  • 設定1: 直前のスライド情報なしで抽出
  • 設定2: 直前のスライド情報ありで抽出
  • 設定3: 直前のスライド情報あり(直前スライド内容が異なる)を抽出

仮説として、設定1は、タイトルと⾺の画像内容がそのまま抽出され、設定2は、直前のスライド情報が活⽤できれば、⾺のクレジットカード(つまり「クネジット」はタイプミス)を指していることがわかったうえでスライド内容が抽出され、設定3は、画像の⾺がキャラクターであり、カードゲームのキャラであることがわかったうえでスライド内容が抽出されるはずです。

VLMは、Anthropic Claude を⽤い、プロンプトは上述の内容を⼊⼒しました。

以下が、各設定での現在のスライドからの情報抽出結果です。

設定1の情報抽出結果

# クネジットカード

![茶⾊の⾺が緑の草原で⼲し草を食べている様⼦。背景には⽊々が⾒える。]

設定2の情報抽出結果

# クレジットカード

画像:
- 茶⾊の⾺が緑の牧草地で⼲し草を食べている様⼦
- ⾺は茶⾊の体と⾦⾊がかった鬣を持つ
- 背景には⽊々と広々とした草原が⾒える
- ⾺は⼲し草の⼭に顔を近づけて食べている

この画像は、直前のスライド情報で説明されていた以下の要素を視覚的に表現しています:
- 午年なので、⾺のデザイン
- ⾺は牧場にいる(緑の草原の背景)
- 好物の⼲草を食べている

画像は、クレジットカードのデザイン案として使⽤される可能性が⾼く、⾺と⾃然の調和を表現しています。これは、カードの持ち主に対して、⾃然との調和や落ち着きのイメージを与える効果があると考えられます。

設定3の情報抽出結果

# クネジットカード

画像には、緑の草原にいる茶⾊の⾺が写っています。⾺は⼲し草の⼭から食べているようです。背景には⽊々が⾒えます。この画像は、新キャラクター「クネジット」を表現しているものと思われます。

画像の特徴:
- 茶⾊の⾺
- 緑の草原
- ⼲し草の⼭
- 背景に⽊々

この画像は、前のスライドで紹介された「クネジット」という新しいキャラクターを視覚的に表現しているようです。⾺のキャラクターという設定に合致しています。

各抽出結果を⽐較すると、直前のスライド情報を⽂脈として与えることで、現在の情報抽出内容が補強されていることがわかります。 また、設定2では、「クネジット」が「クレジット」のタイプミスであることが、直前の⽂脈からわかり、修正できています。 また、設定2と設定3の現在のスライド結果を⽐較すると、直前の⽂脈情報にそった内容で、情報が補完されていることがわかります。

検証により、直前スライド情報を活⽤したスライド情報の抽出に効果があることが確認できました。

まとめ

  • 今回は、スライド間情報を抽出する⽬的で、VLMの⼊⼒に、スライド画像だけでなく、直前のスライド情報を⽂脈として与えてスライド情報を抽出してみました。
  • 簡易検証の結果、直前⽂脈を⼊⼒することで、現在のスライド情報を抽出する際に、情報の補完・修正をすることができました。
  • 今後は、スライド⽂脈を加味することが重要な⽂書でナレッジベースを構築する際などに活⽤していければと考えています。

参考文献

[1] VLM-SlideEval: Evaluating VLMs on Structured Comprehension and Perturbation Sensitivity in PPT

[2] PreMind: Multi-Agent Video Understanding for Advanced Indexing of Presentation-style Videos