📕

書籍をNotebookLMに食わせて効率的に読書する方法

に公開

こんにちは、mayaです!

エンジニアとして働いていると技術のキャッチアップに追われる日々ですよね。新しいフレームワークやライブラリが次々と登場し、AIの活用も必須になってきています。そんな中で、技術書やビジネス書を読む時間を確保するのって、めちゃくちゃ大変です。

そこで、週末休みを使って、AIを活用して効率的に読書する方法を試してみました。特に、NotebookLMを使った読書支援が非常に効果的だったので、その方法を共有させていただきます!

ざっくり、こんな感じのメリットがありました😆

  • 要約や重要ポイントの抽出による理解の促進
  • 質問応答による深い理解の実現
  • 複数の本の内容を横断的に分析可能

この記事で分かること / 対象読者

  • Kindle本をPDF化する方法
  • NotebookLMを使った効率的な読書方法
  • 技術書・ビジネス書での実践的な活用例とTips

筆者のステータス

  • エンジニア歴2年
  • 月に3-4冊の技術書を読む習慣あり
  • 仕事&プライベートでAI駆動開発を整備中...

Kindle本をPDF化する方法

まずは書籍をAIに食わせるために、電子書籍を購入し、スクリプトを使ってPDF化していきます。
Macユーザーならこの記事のスクリプトコピペでいけます。

調べてみると、物理本をスキャナーで読み取ってPDF化する方法が紹介されてたりもしましたが、色々面倒なんで電書籍買うのが早いです。

手順

以下の手順に沿って環境構築からスクリプト実行までを行ってください。スクリプトは短縮せず、全文をそのまま利用します。

1. Homebrew と必要ツールのインストール

brew install img2pdf ocrmypdf poppler tesseract tesseract-lang

2. スクリプトファイルの作成

~/Documents/ ディレクトリ直下にスクリプトファイルを作成・移動

cd ~/Documents

テキストエディタで新規ファイル KindleCaptureToPDF.scpt を作成

nano KindleCaptureToPDF.scpt

KindleCaptureToPDF.scptファイルに、下記のスクリプトをコピペしてください。

--------------------------------------------------------------------------------
-- KindleCaptureToPDF.scpt
-- Kindle 画面をキャプチャ → 画像を PDF に結合
--------------------------------------------------------------------------------

property shotsDir : (POSIX path of (path to downloads folder)) & "kindle_shots/"
property totalPages : 3 -- テスト用ページ数
property delaySec : 1.0 -- ページ描画待機 (秒)

-- ▼ PDF 結合用ツール
property img2pdfPath : "/usr/local/bin/img2pdf" -- brew install img2pdf

-- ▼ 出力ファイル
property combinedPDF : shotsDir & "kindle_capture_raw.pdf"

-- PATH
property defaultPATH : "/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin:/usr/local/bin"

--------------------------------------------------------------------------------
-- 事前チェック
--------------------------------------------------------------------------------
on ensureBinaryExists(binPath, installHint)
    try
        do shell script "test -x " & quoted form of binPath
    on error
        display dialog (name of me) & ":
" & (binPath & " が見つかりません。
" & installHint) buttons {"OK"}
        error number -128
    end try
end ensureBinaryExists

ensureBinaryExists(img2pdfPath, "brew install img2pdf")

--------------------------------------------------------------------------------
-- shotsDir 作成
--------------------------------------------------------------------------------
do shell script "mkdir -p " & quoted form of shotsDir

--------------------------------------------------------------------------------
-- ページごとにスクリーンショット
--------------------------------------------------------------------------------
-- ▼ ページ送りキー設定
-- Kindle は通常 右矢印(→) で次ページへ進むため key code 124 を使用
-- 必要に応じて 123(←) や PageDown(121) に変更してください

repeat with p from 1 to totalPages
    tell application "Kindle" to activate
    delay 0.3
    try
        tell application "System Events"
            set kWin to window 1 of process "Kindle"
            set {xPos, yPos} to position of kWin
            set {wSize, hSize} to size of kWin
        end tell
    on error errMsg number errNum
        display dialog "Kindle ウィンドウ取得失敗 (" & errNum & "): " & errMsg buttons {"OK"}
        return
    end try
    set captureRect to xPos & "," & yPos & "," & wSize & "," & hSize
    set imgPath to shotsDir & "page_" & p & ".png"

    -- ① スクリーンショット
    do shell script "/usr/sbin/screencapture -x -R" & captureRect & " " & quoted form of imgPath

    -- ② ページ送り
    tell application "Kindle" to activate
    delay 0.2 -- Kindle にフォーカスが移ったことを確認
    -- ページ送り:スペース (49) が効く環境向けに変更
    -- 必要に応じて key code を 124(→) などに戻してください
    try
        tell application "System Events" to key code 49 -- Space key
    on error
        tell application "System Events" to key code 124 -- fallback 右矢印
    end try
    delay delaySec
    delay delaySec
end repeat

--------------------------------------------------------------------------------
-- 画像 → PDF 結合
--------------------------------------------------------------------------------
try
    do shell script "PATH=/usr/local/bin:" & defaultPATH & " " & quoted form of img2pdfPath & " " & shotsDir & "page_*.png -o " & quoted form of combinedPDF
on error errMsg number errNum
    display dialog "img2pdf 失敗 (" & errNum & "): " & errMsg buttons {"OK"}
    return
end try

-- 完了ダイアログ
display dialog "PDF 結合が完了しました: " & combinedPDF buttons {"OK"}

3. スクリプト実行

後は、Kindleを開いてスクリプトを実行するだけです。
注意点として、このスクリプトはデュアルモニター前提で作られてまして、僕の場合は左側の画面でKindleを全画面表示しつつ、右側の画面でApp Scriptを開いて実行してる感じです。

一つの画面でやる場合はスクリプトの調整が必要になるので、↑のスクリプトをChatGPTにでも投げて、適宜プロンプトを調整してください。
エラーが出た際もよしなに解決してください🙏

AIを活用した読書の効率化

ここからはPDF化した書籍をどうAIに食わせて活用していくかっていう話をします。

NotebookLMの特徴と利点

NotebookLMは、Googleが提供するAIを活用した読書支援ツールです。主な特徴は以下の通り:

  • 長文テキストの処理能力
  • コンテキスト理解の精度
  • 対話的なインターフェース

NotebookLMについての説明や以降の章で紹介する各機能は、Googleの公式Noteでわかりやすく紹介されてるので、ぜひ併せて読んでみてください。

実践的な活用例

1. 音声概要で書籍への抵抗感をなくす

技術書って大抵分厚いですよね。技術は好きだけど分厚い本は苦手です。気分が重くなる...
そんな時は、NotebookLMの「音声概要」機能を使いましょう!

NotebookLMは、本の内容を3-5分程度の会話形式の音声にまとめてくれます。まるで友人が本の内容を説明してくれるような感覚で、自然に内容を理解できます。特に以下の点が良かったです:

  • 堅苦しい技術書でも、会話形式で聞けるので取っつきやすい
  • 重要なポイントが自然な流れで説明される
  • 音声で聞くことで、視覚的な疲労を軽減できる

2. 学習ガイドで気になるトピックを深掘り

NotebookLMの「学習ガイド」機能を使ってみました。この機能は、本の内容から自動的に短答問題とその回答を生成してくれます。

最近読んだAI本のベストセラー「これからのAI、正しい付き合い方と使い方 「共同知能」と共生するためのヒント」で試してみました。

I. 短答問題(各2〜3文で回答)
1.「異星人の心」とは、AIのどのような特性を指しているのでしょうか。
2. 学習の繰り返しとAIの能力向上には、どのような関係性がありますか?
3. AIの「非物理的な強み」とは、具体的にどのようなものを指しますか?
4. AIの幻覚(ハルシネーション)は、どのように発生し、なぜ問題となるのでしょうか?
5. 「アライメント」という概念がAIにおいて重要である理由を説明してください。
6. AIを「人」として扱うことの利点と限界について、簡単に説明してください。
7. AIが創造性を発揮するメカニズムについて、どのような点が強調されていますか?
8. AIを同僚として活用する際に、どのような心構えが必要とされていますか?
9. AIを家庭教師として利用する際の主な利点は何ですか?
10. AIをコーチとして利用する際の「専門家殺し」という考え方について説明してください。

II. 短答問題の解答
1. 「異星人の心」とは、AIが人間とは根本的に異なる思考プロセスや学習メカニズムを持つことを指します。AIは、特定のタスクにおいては人間をはるかに凌駕する能力を発揮する一方で、人間には自明な常識や直感を持たないため、その思考様式を「異質な心」として理解することが重要です。
2. ...(以下略)

読書し終わった後に理解度をチェックするのにも役立つし、
あるいは本を読み始める前に目を通して、特に気になるトピックがあればNotebookLMに直接質問してそこからとっかかるのも良さそうです。

3. ブリーフィングドキュメントで要点を整理

複数の技術書を読む必要があった際、NotebookLMの「ブリーフィングドキュメント」機能を活用しました。この機能は、書籍の要点をレポート形式でまとめてくれます。

例えば、マイクロサービスアーキテクチャについて複数の本を読み込ませた際、以下のような内容が生成されました:

  • 各本で説明されているマイクロサービスの定義の違い
  • 共通するポイントと、それぞれの本の特徴的な主張
  • 実践する際の注意点

このブリーフィングドキュメントは、音声概要よりも詳細で、かつ的確に要点を押さえています。特に複数の本を横断的に理解したい場合に非常に役立ちます。

活用のポイント

NotebookLMを効果的に活用するためのポイントをまとめます:

  1. 3段階での活用

    • 読書前:音声概要で全体像を把握
    • 読書中:学習ガイドで理解を深める
    • 読書後:ブリーフィングドキュメントで復習
  2. 質問のコツ

    • 「ソース」という言葉を使って、アップロードした本の内容について質問する
    • 具体的な質問を心がける
    • 段階的に深掘りしていく
  3. 複数書籍の活用

    • 同じ分野の本を複数読み込ませる
    • 共通点や相違点を分析する
    • より広い視野で理解を深める

まとめ

本記事では、Kindle本をPDF化してAIで効率的に読書する方法を紹介しました。
今回紹介した以外にもより良い使い方がきっとあると思うので、「こんな使い方するのおすすめ!」というコメントを待ってます!どしどし教えてください🙏

最後まで読んでいただき、ありがとうございました!
この記事が、あなたの読書体験をより効率的で充実したものにするきっかけになれば嬉しいです。

何か質問やフィードバックがあれば、ぜひコメントでお聞かせください!

Discussion