mcpField
C
citation-audit

citation-audit

github.com/mathews-tomドキュメント33741 回インストール3 日前に更新
リポジトリ

citation-audit について

citation-auditは、LaTeX原稿の引用を確認する研究者向けのスキルです。引用文献を取得して読み、書誌情報や主張との整合性、引用漏れを検証します。

主な機能

  1. 01引用と主張の文脈を抽出
  2. 02書誌情報を照合
  3. 03論文と原稿の主張を比較
  4. 04引用漏れの可能性を確認
  5. 05引用ごとの監査レポートを作成

活用シーン

  1. 01arXiv IDや著者情報の確認
  2. 02論文が原稿の主張を裏付けるか検証
  3. 03架空または誤った引用の発見
  4. 04依頼に応じて書誌情報やリンクを修正

インストール

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

$npx skills add https://github.com/mathews-tom/armory --skill citation-audit

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

同梱ファイルevals/cases.yaml

詳細

引用監査スキル

目的

原稿内のすべての引用を、実際の出典と照合して検証します。LLM は引用を幻覚し、存在しない arXiv ID を作り出し、研究結果の帰属を誤り、著者を混同します。このスキルでは、引用された各論文を取得して読み、これらすべてを検出します。

このスキルが必要な理由

LLM は、引用に関して次の 3 つの点で信頼性に欠けます。

  1. 架空の論文 — 論文が存在しません。タイトル、著者、掲載先が捏造されています。
  2. メタデータの誤り — 論文は存在しますが、参考文献項目に誤った arXiv ID、著者、年、掲載先が記載されています。
  3. 主張の逆転 — 論文は存在し、参考文献も正しいものの、原稿が論文の内容を誤って説明しています。

これら 3 つはいずれも、構造的な監査(相互参照の確認、コンパイルテスト)では検出できません。実際に引用された論文を読む必要があります。

入力

  • 原稿の .tex ファイル
  • .bib ファイル
  • ウェブアクセス(arXiv、学会サイト、URL から論文を取得するため)

実行手順

フェーズ 1:引用箇所の文脈を抽出する

原稿内の各 \citep{}、\citet{}、\cite{} について、次を行います。

  1. bib キーを記録する
  2. 前後の文または段落(主張の文脈)を記録する
  3. 主張の種類を分類する:
    • 事実:「X らは Y を発見した」/「X らは Y を測定した」
    • 方法論:「X に従う」/「X のベンチマークを使用する」
    • 立場の表明:「X とは異なり、私たちは…」/「X は…を測定していない」
    • 括弧内の引用:「(X、2024)」— 具体的な主張はなく、単なる参照
  4. 事実または立場の表明に該当する主張について、原稿が引用文献に関して述べている具体的な主張を抽出する
フェーズ 2:参考文献項目のメタデータを検証する

各参考文献項目を、実際の出典と照合して検証します。

arXiv 論文(eprint フィールドがある場合):

  1. https://arxiv.org/abs/{eprint_id} を取得する
  2. タイトル、著者、年を照合する
  3. 取得した論文のタイトルまたは著者が参考文献項目と異なる場合、ID の誤りまたは架空の論文とする

学会論文/学術誌論文(booktitle または journal フィールドがある場合):

  1. タイトルと著者でウェブ検索する
  2. 掲載先、年、著者一覧を検証する
  3. 記載された掲載先で論文が見つからない場合、検証不能または架空の論文として報告する

ウェブリソース(URL を含む howpublished がある場合):

  1. URL を取得する
  2. ページが表示され、内容が説明されているリソースと一致することを確認する
  3. URL が無効な場合、または無関係なコンテンツにリダイレクトされる場合、リンク切れとして報告する

各項目について、次を確認する:

  • 論文が存在する(arXiv、DOI、URL、またはウェブ検索でアクセスできる)
  • タイトルが一致する(完全一致またはほぼ一致)
  • 著者が一致する(少なくとも筆頭著者が正しい)
  • 年が一致する
  • 掲載先が一致する(該当する場合)
  • エントリー型が適切である(学会論文には @inproceedings、学術誌論文には @article、プレプリント/ブログには @misc)
フェーズ 3:主張の正確性を検証する

事実または立場の表明に該当する各主張について、次を行います。

  1. 引用論文を読む(最低限、要旨と関連する節を読む)
  2. 原稿の主張を、論文の実際の記述と照合する
  3. 次のように分類する:
    • 正確 — 主張が引用文献の内容を忠実に表している
    • 不正確 — 主張が引用文献の内容を誤って説明している
    • 逆転 — 主張が論文の研究結果と正反対のことを述べている
    • 過剰な主張 — 主張が論文による裏付けの範囲を超えている
    • 過小な主張 — 引用文献は記載された内容より強い主張を裏付けている
    • 検証不能 — 検証のために論文へアクセスできない

不正確または逆転と判定した場合、次の内容を提示します。

  • 原稿が主張している内容
  • 引用論文が実際に述べている内容
  • 主張と矛盾する引用論文の具体的な節またはページ
  • 修正案
フェーズ 4:不足している引用を確認する

原稿を確認し、次を探します。

  1. 出典を引用していないが引用すべき主張(出典の記載がない実証的主張)
  2. 引用なしで名前が挙げられているツール、ベンチマーク、データセット
  3. 標準的または周知と説明されているが、典拠となる引用がある手法

出力形式

引用ごとの報告
### [bib_key] — [VERDICT]

**Bib entry:** [title] by [authors] ([year])
**Actual paper:** [actual title] by [actual authors] ([actual year])
**Metadata match:** title [✓/✗] | authors [✓/✗] | year [✓/✗] | venue [✓/✗]

**Claim in manuscript (line N):** "[exact text]"
**What the paper actually says:** "[summary of actual finding]"
**Claim accuracy:** [ACCURATE / INACCURATE / INVERTED / OVERCLAIMED / UNDERCLAIMED]

**Fix required:** [description of what needs to change, or "None"]
要約表
| Bib Key | Exists | Metadata | Claim | Verdict |
|---------|--------|----------|-------|---------|
| key1    | ✓      | ✓        | ✓     | PASS    |
| key2    | ✓      | ✗        | ✗     | FAIL    |
| key3    | ✗      | —        | —     | GHOST   |
判定カテゴリ
  • PASS — 論文が存在し、メタデータが正しく、主張も正確です
  • METADATA — 論文は存在しますが、書誌情報に誤りがあります(ID、著者、年の誤り)
  • CLAIM — 論文は存在し、メタデータも正しいですが、原稿で論文の内容を誤って説明しています
  • GHOST — 説明どおりの論文が存在しません
  • DEAD — URL/リンクが無効です
  • UNVERIFIABLE — 論文にアクセスできず、検証できません

重大度

  • CRITICAL:GHOST の論文、INVERTED の主張
  • HIGH:arXiv ID の誤り、著者の誤り、INACCURATE な主張
  • MEDIUM:年の誤り、掲載先の誤り、OVERCLAIMED
  • LOW:引用の欠落、不完全な書誌情報、UNDERCLAIMED

重要な注意事項

  • 論文に関する自分の知識を決して信頼しないでください。必ず取得して検証してください。学習データには、幻覚による引用が含まれています。検証するには、実際の情報源を読むしかありません。
  • arXiv 論文の場合は、必ずアブストラクトページを取得し、論文が存在し、内容が一致することを確認してください。
  • 会議論文の場合は、DBLP、ACM DL、または会議のサイトを検索してください。
  • WebFetch と WebSearch が主なツールです。引用が「正しそう」だからといって、検証を省略しないでください。
  • ブログ記事やドキュメントの URL は変更されます。URL が現在も有効で、説明されている内容を指していることを必ず確認してください。
  • 書誌情報に eprint(arXiv ID)と booktitle(掲載先)の両方がある場合は、それぞれを独立して検証してください。

フェーズ 5:修正(「fix」または「on」を含む引数で実行した場合)

ユーザーが「fix」または「on」を含む引数で実行した場合は、上記のフェーズ 1~4 を実施した後、PASS 以外の引用をすべて修正します。

自動修正する項目(ユーザーの確認は不要)

以下は、機械的に修正でき、正解が一つに定まるものです。

METADATA の誤り(論文は存在するが、書誌情報が誤っている場合):

  • arXiv ID の誤り → eprint を正しい ID に置き換える
  • 著者の誤り → 実際の論文の著者に置き換える
  • 年の誤り → 実際の論文の発表年に置き換える
  • タイトルの誤り → 実際の論文のタイトルに置き換える
  • 掲載先の誤り → 実際の論文の掲載先に置き換える
  • エントリ種別の誤り → 適切に @misc/@inproceedings を変更する

DEAD リンク:

  • URL がリダイレクトされる → howpublished の URL を最終的な遷移先に更新する
  • URL が 404 だが、別の URL でリソースが見つかる → URL を更新する
  • URL が 404 で、リソースもなくなっている → HUMAN-REQUIRED として報告する

著者に関する軽微な修正:

  • 著者名のスペルミス → 修正する
  • 著者リストから欠落している著者 → 追加する
  • 個人名が確認できるのに、団体名が著者として記載されている → 個人名に置き換える(団体が自ら名乗る名称である場合は、注記として残す)
人の判断が必要な項目

以下を提示して、ユーザーの判断を待ちます。

GHOST の論文:

  • 論文がまったく存在しない → 次の選択肢を提示する: (a) 同じ論点を裏付ける実在の論文に置き換える (b) 引用を削除し、文章を調整する (c) 論文は存在するとユーザーが把握しており、正しい情報を提示する

INVERTED または INACCURATE な主張:

  • 原稿では論文について X と述べているが、実際には Y と述べている → 以下を提示する:
    • 原稿の主張
    • 論文の実際の内容
    • 論文の内容を正確に反映した文章の修正案
    • その論文が引き続き原稿の論旨を裏付けるか(また、どのように裏付けるか)
    • 最終的な表現はユーザーに判断してもらう

代替先が見つからない無効な URL:

  • アーカイブや代替手段がないまま削除されたブログ記事/リソース
修正手順
  1. .bib ファイルに自動修正をすべて適用する
  2. HUMAN-REQUIRED の項目ごとに、選択肢を明確に提示する
  3. ユーザーの判断後、.tex ファイルの文章を修正する
  4. 検証する:.bib と .tex を読み直し、すべての修正が適用されたことを確認する
  5. 監査レポートを更新し、各指摘に [FIXED]、[RESOLVED]、または [DEFERRED] のいずれかを付ける
安全性ルール
  • 引用を決してでっち上げないでください。幽霊論文を差し替える必要がある場合は、引用された主張を裏付ける実在の論文を検索してください。候補とその要旨をユーザーに提示し、ユーザーに選んでもらってください。
  • 原稿の主張を決して変更しないでください。主張が逆になっていて修正が必要な場合は、編集ではなく提案として書き換えを提示してください。
  • ユーザーの確認なしに引用を決して削除しないでください。幽霊論文であっても同様です。ユーザーは、あなたが知らないことを知っているかもしれません。
  • URLを修正する場合は、新しいURLが読み込めて、期待される内容が含まれていることを必ず確認してから記載してください。

レポートの保存先

原稿のディレクトリに[name]-citation-audit.mdとして保存してください。

コメント