gianlucasb/hallucinator

A tool to detect potentially hallucinated or fabricated references in academic PDF papers.

何を解決するか

このツールは、AIによって生成された「スロップ(無意味な内容)」の増加に対処し、特に大規模言語モデル(LLMs)が生成する「架空の引用」——現実には存在しないが正当に見える引用——という問題に取り組みます。論文内の引用が本物か偽物かを体系的に検証する方法を提供します。

動作方法

  1. 抽出: MuPDF を使用して PDF からテキストを抽出し、参考文献または文献一覧セクションを特定します。
  2. 解析: 各引用からタイトルと著者を抽出します。
  3. 並列検証: CrossRef、arXiv、DBLP、OpenAlex、PubMed などの複数の学術データベースを並列で照会し、その引用が存在するか確認します。
  4. 検証: 引用を「検証済み」(タイトルと著者が一致)、「著者不一致」(タイトルは見つかったが著者が異なる)、または「見つからず」(架空の可能性)としてマークします。
  5. フォールバック: データベースで見つからない引用については、オプションで SearxNG を用いたウェブ検索フォールバックを実行し、タイトルがインターネット上に存在するか確認できます。

対象ユーザー

提出された論文における引用の信憑性を検証する必要がある学術レビュー担当者、研究者、編集者。

特徴

  • 広範なデータベースカバレッジ: CrossRef、arXiv、DBLP、Semantic Scholar、ACL Anthology、Europe PMC、PubMed、OpenAlex、Open Library など、多数のソースを対象に検証。
  • ハイブリッドオンライン/オフラインモード: DBLP、arXiv、ACL Anthology、OpenAlex 用のローカル SQLite/Tantivy インデックスをダウンロード可能。API のレート制限やボット保護を回避。
  • 再掲載検出: CrossRef のメタデータを使用して、検証済みの論文が再掲載されたことを自動で検出。
  • マルチインターフェース対応: Rust で作成された TUI、CLI、および Python バインディングを提供。他のワークフローへの統合が可能。
  • パフォーマンス: 並列照会を実装し、失敗したリクエストに対する早期終了と再試行ロジックを備えています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト