0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PaperBananaをためしてみる

Last updated at Posted at 2026-02-05

はじめに

普段、資料や調査レポートを作る中で、文章作成はAIで効率化できても、図や図表づくりはまだ手作業が多いと感じています。そこで今回は、論文向けではあるものの、学術図表の自動生成に特化したフレームワーク PaperBanana が面白かったので概要をまとめます。

PaperBananaとは

概要

PaperBananaは、論文の手法説明テキスト(source context)と、図の意図を表すキャプション(communicative intent)を入力として、論文掲載品質を目指した図(手法図・概念図・統計プロット)を生成する、エージェント型の図生成フレームワークです。

スクリーンショット 2026-02-05 14.38.15.png

上記は、PaperBananaが生成した手法図(methodology diagrams)と統計プロット(statistical plots)の例を示しており、学術向けの図表生成を自動化できる可能性を提示しています。

従来の先行研究との違い

これまでは、プロンプト+画像生成モデルで論文図を一発生成したり、参照例(few-shot)を入れて体裁を寄せるアプローチが主流で、近い枠組みとしては Paper2Any のような「論文情報→図」変換系も挙げられます。
一方で従来は、図の構造(要素・接続・矢印)を事前に厳密化する工程や、生成後に忠実性・可読性の観点で反復修正する仕組みが弱く、内容ミスが残りやすい点が課題でした。
PaperBananaは、参照図セットから例を検索するRetrieverに加え、設計図(P)を作るPlanner、参照から抽出した学術的デザイン指針(G)で整えるStylistを置き、さらにVisualizer↔Criticの反復ループ(T=3)で“図を見て直す”工程を明示的に組み込む点が特徴です。

技術概要

PaperBananaの中核は、図生成プロセスを 5つの役割(エージェント)に分ける点です。全体フローは大きく2フェーズで構成されます。

  • Linear Planning Phase:参照例を取得し、図に入れる要素・関係・強調点を、文章の「設計図」として整理する
  • Iterative Refinement:設計図から図を生成し、VLMで批評→設計図を修正→再生成、を T=3回繰り返す

スクリーンショット 2026-02-05 14.38.23.png

課題(限界)

論文では、出版品質に近づけつつも、実運用上の課題が残る点が議論されています。

  • 出力がラスター画像であるため、学術用途で好まれるベクター図と比べて生成後の編集が難しい
  • 忠実性(faithfulness)には人手との差が残り、失敗の多くは矢印方向や接続点のズレなどの細かな接続関係(fine-grained connectivity)に起因する
  • 統一スタイルガイドは学術標準への準拠を高める一方で、スタイルの多様性を下げるトレードオフがあるため、今後は動的なスタイル適応が課題

実際に試してみる

ここからは、GitHubの llmsresearch/paperbanana を Colabで動かす最短手順を記載します。

セル1:リポジトリ取得&インストール

!git clone https://github.com/llmsresearch/paperbanana.git
%cd paperbanana

!pip -q install -U pip
!pip -q install -e ".[dev,google]"

セル2:APIキー設定

import os, getpass

os.environ["GOOGLE_API_KEY"] = getpass.getpass("Enter GOOGLE_API_KEY: ")
assert os.environ["GOOGLE_API_KEY"], "GOOGLE_API_KEY is empty"

セル3:サンプル入力で「手法図」を生成(CLI)
ここではGitHubのQuick Startと同じものを打ち込んでみます。

paperbanana generate \
  --input examples/sample_inputs/transformer_method.txt \
  --caption "Overview of our encoder-decoder architecture with sparse routing"

セル4:生成画像を表示

import glob
from PIL import Image
from IPython.display import display

paths = sorted(glob.glob("outputs/run_*/final_output.png"))
print("latest:", paths[-1] if paths else "not found")

if paths:
    display(Image.open(paths[-1]))

実際に生成された図

ダウンロード.png

実際に生成された図がこちらです。小さな文字やラベルも崩れずに出力され、再現性の高さに驚きました。

さいごに

今回は簡単にPaperBananaをご紹介しました。ここまでお読みいただきありがとうございます。
普段から資料作成をよくする身としても、効率化のためによりAIを活用していけるよう工夫していきたいです。

参考文献

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?