mcpField
P
paper-autoraters

paper-autoraters

github.com/ar9avドキュメント69369 回インストール2 週間前に更新
リポジトリ

paper-autoraters について

paper-autoratersは、PaperOrchestraの論文評価用スキルで、LLMによる4種類の評価方法を実装しています。生成論文の採点や執筆パイプラインの比較に使え、引用分類や文献レビュー評価のプロンプト、引用F1計算スクリプトを備えています。

主な機能

  1. 01LLMによる4種類の評価
  2. 02P0/P1参考文献分類
  3. 03文献レビューの6軸採点
  4. 04論文の並列比較
  5. 05引用の適合率・再現率・F1計算スクリプト

活用シーン

  1. 01生成論文を基準論文と比較採点
  2. 022つの論文執筆パイプラインを比較
  3. 03PaperOrchestraのエージェント実行を検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ar9av/paperorchestra --skill paper-autoraters

インストール後、Claude Code で/paper-autoratersを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
citation-f1-prompt.md
litreview-quality-prompt.md
sxs-litreview-prompt.md
sxs-paper-quality-prompt.md
scripts/
compute_f1.py

詳細

論文自動評価器(付録 F.3)

PaperOrchestra(Song et al., 2026, arXiv:2604.05018, §5 および付録 F.3)で使用されている、LLM を評価者とする 4 種類の自動評価器を忠実に実装したものです。

この評価指標は、PaperOrchestra が単一エージェントおよび AI-Scientist-v2 のベースラインを上回ることを示すために論文で使用されています。次の用途にお使いください。

  1. 生成された論文を正解論文と照合して採点する。
  2. 2 つの論文執筆パイプラインを並べて比較する。
  3. paper-orchestra パイプラインのホストエージェントによる実行を検証する。

4 種類の自動評価器

自動評価器機能入力出力
Citation F1 — P0/P1 分類論文の本文に基づいて、参考文献リストを P0(必ず引用)と P1(引用が望ましい)に分類します論文の本文 1 件とその参考文献リストJSON {ref_num: "P0"|"P1"}
文献レビューの品質序論+関連研究を 6 軸で 0〜100 点評価し、スコアの過度な上昇を防ぐ厳格な上限を設けます論文の PDF/テキスト 1 件+参考文献の平均引用数axis_scores、penalties、summary、overall_score を含む JSON
SxS 論文全体の品質2 件の論文を並べた総合的な優劣判定論文 2 件(PDF またはテキスト)winner ∈ {paper_1, paper_2, tie} を含む JSON
SxS 文献レビューの品質序論+関連研究のみを対象とした、2 件の論文の並列評価論文 2 件winner ∈ {paper_1, paper_2, tie} を含む JSON

論文では、Gemini-3.1-Pro と GPT-5 を評価者として使用し、temperature は 0.0(Gemini)または既定値の 1.0(temperature の調整に対応していない GPT-5)に設定しています。ホスト環境で利用できる LLM をお使いください。

ワークフロー

Citation F1(正解データに対する Precision/Recall/F1 の計算)

次の 2 段階で行います。

ステップ 1:参考文献リストを P0/P1 に分類する

正解論文と生成論文の両方について、LLM に references/citation-f1-prompt.md を渡して実行します。

inputs:
  paper_text:    full paper LaTeX or markdown
  references_str: numbered reference list (e.g., "1. Vaswani et al. (2017)
                  Attention Is All You Need. NeurIPS. 2. He et al. (2016)
                  Deep Residual Learning for Image Recognition. CVPR. ...")

output: JSON {"1": "P0", "2": "P1", "3": "P0", ...}

次の場所に両方の分類結果を保存します。

  • bench/<paper_id>/gt_partition.json
  • bench/<paper_id>/gen_partition.json
ステップ 2:参考文献をエンティティ ID に解決し、F1 を計算する

論文では、2 つのリストの参考文献を照合するために Semantic Scholar の論文 ID を使用しています。compute_f1.py スクリプトは、2 つの入力リストに基づいて決定論的に計算します。

python skills/paper-autoraters/scripts/compute_f1.py \
    --gt-partition gt_partition.json \
    --gt-refs gt_refs.json \
    --gen-partition gen_partition.json \
    --gen-refs gen_refs.json \
    --out f1_report.json

ここで、gt_refs.json と gen_refs.json は、ホスト環境の S2 解決処理(literature-review-agent/scripts/ で使用されるものと同じファジーマッチング+S2 検証)で生成した {ref_num, paper_id, title} のリストです。

出力 JSON には、P0/P1/全体の Precision、Recall、F1 が含まれます。

文献レビューの品質(論文 1 件、6 軸)

references/litreview-quality-prompt.md を読み込みます。入力は次のとおりです。

  • 論文全体の PDF(または、ホスト環境で PDF 入力に対応していない場合は LaTeX/Markdown)
  • 該当する学会・分野の avg_citation_count(引用数の基準値として使用します。論文によると、例として CVPR 2025 は 58.52、ICLR 2025 は 59.18 です)

このプロンプトは、論文の文献レビューとしての機能のみ(序論+関連研究/背景の各セクション)を評価するようモデルに指示します。軸ごとのスコアと根拠を含む、厳密な形式の JSON 出力を生成します。

プロンプトには、スコアの過度な上昇を防ぐため、次の重要なルールが組み込まれています。

ルール上限
既定の想定全体スコアは 45〜70
すべての軸で強い根拠がなければ 85 超にはならない—
90 超は極めてまれ(サーベイ論文に匹敵する習熟度が必要)—
いずれかの軸が 50 未満 → 全体スコアが 75 超になることはまれ—
主に説明に終始するレビュー批判的分析は 60 以下
比較なしに新規性を主張位置づけは 60 以下
引用が少ない/一貫性がない引用の厳密さは 60 以下
引用数が平均の 50%未満網羅性は 55 以下
引用数が平均の 120%超網羅性は「強い」

さらに、ペナルティ表は次のとおりです。

ペナルティ範囲
新規性の過大な主張-5〜-15
重要な最新研究の欠落-5〜-15
主に説明に終始するレビュー-5〜-10
研究上のギャップに関する記述の弱さ-5〜-10
引用の羅列-5〜-10

出力は litreview_quality_score.json に保存します。スコア JSON は content-refinement-agent/scripts/score_delta.py と同じ形式なので、反復間の比較に停止ルールのロジックを再利用できます。

SxS 論文全体の品質(サイドバイサイド、論文全体)

references/sxs-paper-quality-prompt.md を読み込みます。入力:

  • 2 つの論文 PDF または LaTeX ファイル(paper_1 と paper_2 と呼びます)

プロンプトは、paper_1_holistic_analysis、 paper_2_holistic_analysis、comparison_justification、 および winner ∈ {paper_1, paper_2, tie} を含む JSON を生成します。

LLM の位置バイアスを軽減するため(この論文では §5.4 で触れています)、順序を入れ替えて比較を2 回実行します。

call_1: paper_A → paper_1, paper_B → paper_2  → winner1
call_2: paper_B → paper_1, paper_A → paper_2  → winner2

最終結果は、win(どちらの呼び出しでも論文 A が勝者)、tie(一方が勝者で一方が引き分け、または両方が引き分け)、または loss(どちらの呼び出しでも論文 B が勝者)です。この論文では、まさにこの順序入れ替えプロトコルを使用しています。

SxS 文献レビューの品質(サイドバイサイド、序論+関連研究のみ)

references/sxs-litreview-prompt.md を読み込みます。SxS 論文品質自動評価器と同じ入力/出力形式ですが、モデルは各論文の序論と関連研究/背景のセクションのみを評価するよう指示されています。位置バイアスを軽減する方法も同じで、順序を入れ替えて 2 回実行します。

リソース

  • references/citation-f1-prompt.md — 付録 F.3 の P0/P1 分類プロンプト(原文そのまま)
  • references/litreview-quality-prompt.md — 付録 F.3 の 6 軸文献レビュー評価基準(原文そのまま)
  • references/sxs-paper-quality-prompt.md — 付録 F.3 の SxS 論文品質プロンプト(原文そのまま)
  • references/sxs-litreview-prompt.md — 付録 F.3 の SxS 文献レビュー用プロンプト(原文そのまま)
  • scripts/compute_f1.py — 2 つの分類 JSON から Precision/Recall/F1 を算出します

コメント