見出し画像

AIが本を「ページごと」に理解!PDF解析オープンソース ツール「AI-reads-books-page-by-page」を詳しく解説

PDFをAIで解析し、知識を抜き出し、進捗に合わせて要約を作成するPythonスクリプト「AI-reads-books-page-by-page」。この記事では、「Configuration Constants」(設定定数)も含めて、このツールの魅力や使い方を徹底解説します。



🌟 このツールの特徴

以下は、このツールの主なポイントです:

📖 ページ単位での知識抽出

AIを使い、PDFの各ページを分析。重要な知識ポイントを抽出することで、1冊の本を効率的に分解して理解できます。

✨ 進捗に合わせた要約機能

一定ページ数ごとに「途中サマリー」を自動生成。長い文書でも、進行状況に合わせて全体像をつかむことができます。

💾 知識ベースの保存機能

抽出した情報はJSON形式で保存され、次回実行時に続きを処理することが可能です。

📝 Markdown形式のサマリー出力

サマリーはMarkdown形式で保存されるため、見やすく整理された形式で簡単に共有できます。

⚙️ カスタマイズ可能な設定

  • 途中要約の間隔分析するページ数などを柔軟に設定可能。

  • OpenAIモデルの選択も簡単に切り替えられます。


🛠️ セットアップ方法

1️⃣ リポジトリのクローン

以下のコマンドでリポジトリをローカル環境にコピーします:

git clone [repository-url]
cd AI-reads-books-page-by-page

2️⃣ 依存ライブラリをインストール

Pythonの依存パッケージを以下のコマンドでインストールします:

pip install -r requirements.txt

3️⃣ PDFファイルを配置

解析したいPDFファイルをプロジェクトのルートディレクトリに置きます。その後、スクリプト内のPDF_NAMEを対象のPDFファイル名に変更します。

4️⃣ スクリプトを実行

以下のコマンドで解析を開始します:

python read_books.py

🛠️ Configuration Constants(設定定数)

以下は、スクリプト内で定義されている設定定数とその役割です:

1️⃣ ファイル・ディレクトリ設定

定数名:説明
PDF_NAME:解析対象のPDFファイル名。例: "example.pdf"
BASE_DIR:プロジェクトのベースディレクトリ。
PDF_DIRPDF:ファイルを保存するディレクトリ。
KNOWLEDGE_DIR:知識ベース(JSON)を保存するディレクトリ。SUMMARIES_DIR:サマリー(Markdown)を保存するディレクトリ。PDF_PATHPDF:ファイルの完全パス(PDF_DIRとPDF_NAMEを組み合わせたもの)。
OUTPUT_PATH:知識ベース(JSONファイル)の保存先パス。

2️⃣ 動作設定

定数名:説明
ANALYSIS_INTERVAL:途中サマリーを作成するページ間隔。例: 5なら5ページごとに要約を作成。Noneにすると無効化。
TEST_PAGES:テスト用に処理するページ数を指定。例: 10なら最初の10ページのみ処理。Noneで全ページ処理。
MODEL:ページ処理に使用するAIモデル(例: GPT-4)。
ANALYSIS_MODEL:要約作成に使用するAIモデル(例: GPT-4)。

3️⃣ カスタマイズ例

1. 途中サマリーを無効化

以下の設定で、途中サマリーを生成せず、最終サマリーだけを作成:

ANALYSIS_INTERVAL = None

2. テスト用に最初の10ページだけ処理

以下の設定で、PDFの最初の10ページを処理して動作確認:

TEST_PAGES = 10

3. 使用するAIモデルをGPT-3.5に変更

以下の設定で、より軽量なモデルを利用:

MODEL = "gpt-3.5-turbo"
ANALYSIS_MODEL = "gpt-3.5-turbo"

🗂️ 出力内容の確認

スクリプト実行後、以下のようなディレクトリ構成でファイルが保存されます:

  • book_analysis/knowledge_bases/
    知識ベース(JSON形式)を保存。

  • book_analysis/summaries/
    途中サマリーと最終サマリー(Markdown形式)を保存。

  • book_analysis/pdfs/
    処理対象のPDFファイルをコピーして保存。


🔍 スクリプトの動作の流れ

1️⃣ ディレクトリのセットアップ

  • 出力用フォルダを作成。

  • PDFファイルをbook_analysis/pdfs/にコピー。

2️⃣ 知識ベースの読み込み

  • 過去に保存されたJSONファイルをロード(再利用可能)。

  • 新しいPDFの場合は空の知識ベースを作成。

3️⃣ PDFのページ解析

  • 各ページのテキストをAIモデルに送信。

  • 重要な知識ポイントを抽出し、知識ベースに追加。

4️⃣ 途中サマリー作成

  • 指定ページ数(ANALYSIS_INTERVAL)ごとにサマリーをMarkdown形式で作成。

5️⃣ 最終サマリーの作成

  • 全ページ処理後、最終的なサマリーを作成・保存。


🎓 カスタマイズの例

  1. ビジネス資料を要約

    • 5ページごとに要約を作成し、全体の進捗を段階的に確認。

    • 定数設定例:

      1. python

  2. 研究論文を分析

    • 最初の10ページを処理し、動作確認:

      1. python

  3. 長編小説の全体要約

    • 途中サマリーを無効化し、全ページを一気に解析:

      1. python


📌 このツールが役立つ場面

  • 長い本やレポートを効率的に要約したいとき

  • 複雑な資料を整理して理解を深めたいとき

  • AIを活用して、手作業の負担を減らしたいとき

例えば、研究論文や業務資料の内容を効率的に整理したい方には、特に便利です!


まとめ

このツールを使えば、PDF文書を効率的に解析し、以下のようなメリットを得られます:

  • 📚 内容を細かく知識化

  • 📝 簡潔な要約を自動生成

  • 💾 進捗管理や再利用が可能

ぜひ、「AI-reads-books-page-by-page」を試して、AIを活用した情報整理の便利さを体験してみてください!✨


著者プロフィール

AI技術の解説を行っている @kyutaro15 です。
わかりやすく、役立つAI情報をお届けしています!


参考リンク

「いいね」や「コメント」をいただけると嬉しいです!ご質問やご意見はお気軽にどうぞ😊

いいなと思ったら応援しよう!