生成AI

NotebookLMの使い方 | 自分だけのAI botを作ろう!

ChatGPTを筆頭に生成AIを活用したツールが多数リリースされています。本記事では、Googleから提供されている「自分でカスタマイズしたAIを作れる」ツール「Notebook LM」の使い方や使用事例を紹介します。

Notebook LMとは

NotebookLMは、Googleから提供されているAIツールです。Googleのサポートページでは以下のように説明されています。

NotebookLM は、ユーザーの思考をサポートするパーソナライズされた AI コラボレーターを提供します。ドキュメントをアップロードすると、NotebookLM がこのソースの即席の専門家となります。ユーザーは NotebookLM といっしょにドキュメントを読む、メモを取る、共同作業をするといったことを通じて、アイデアを練ったり、整理したりできるようになります。

要するに、自分が持っている情報ソースをアップロードすると、そのソースに記載されている情報を元にAIが回答してくれるツールです。

ChatGPTなどのGPTツールは事前に学習されたモデルの情報を元に質問に回答します。そのため、モデルで学習していない情報は回答できなかったり、情報量が乏しい場合は望ましい情報が得られない場合があります。

これに対して、NotebookLMは「自分が知りたい情報が載っているソース」をインプットした上で、そのソースから回答を得ることができます。
回答するLLM(大規模言語モデル)には、「Gemini 1.5 Pro」が使用されており、そのモデルの性能を使って、ソースを元にしたノイズ少ない回答を得ることができます。

NotebookLMのソースとして使用できるものは以下のようになっています。

  • 現在、NotebookLM では、次のソースの種類がサポートされています。
    • Google ドキュメント
    • Google スライド
    • PDF、テキスト、マークダウン ファイル
    • ウェブの URL
    • コピーして貼り付けたテキスト
    • 公開されている YouTube 動画の URL
    • 音声ファイル

特徴的なのは、YoutubeのURLを入力にできることです。これは、URL元のYoutubeの動画を自動で文字起こしして、その情報を元に要約したり、質問をしたりすることができます。

ユースケースとしては、Youtubeを教材として勉強している場合動画の中の情報を探し出す際に動画での学習と組み合わせればかなり有用です。

NotebookLMを使い方

NotebookLMを使うためにはGoogleアカウントが必要です。Googleアカウントを作成後、以下にアクセスし、

Try NotebookLM

をクリックすることで、アカウント情報の入力画面が表示されます。

指示に従ってアカウント情報を入力(通常のGoogleアカウントへのログイン)するとNotebookLMを使う準備が完了です。

その後は、以下のようにノートブック作成の画面が表示されます。「作成」をクリックすると、ノートブックを作成する画面となり、ソースを入力することができるようになります。

使い方事例

ここまでで、NotebookLMを使う準備ができましたので、実際に使ってみましょう。

ここでは、URLリンク先の情報をソースとして使う例を紹介します。以下のシステムズエンジニアリングの知識体系SEBoKを対象として説明します。

ソースを追加する

ノートブックの「作成」クリック後、ノートブックガイドが表示されます。「ソースをアップロード」をクリックすることで、ソースを入力する画面が表示されます。

この画面では、ソースとなるドキュメントファイルをドラッグアンドドロップしたり、Googleドキュメントを指定することで、ソースを追加することもできます。今回はURLをソースとしたいため、「リンク」内の「Webサイト」をクリックします。

「URLの部分に対象のURLを入力し、「挿入」ボタンをクリックします。

ソースの情報をもとに回答を得る

ソースを追加すると以下のように、ノートブックガイドが更新されます。この画面から「メモ」として、ソースからの情報を得ることができます。以下のような使い方ができます。

  • 質問を入力する(赤枠の部分)
  • ソースの要約やよくある質問を挙げる(緑枠の部分)
  • 質問の候補を選択する(青枠の部分)

回答結果の確認(Geminiとの比較)

NotebookLMの回答結果をGeminiと比較してみましょう。

ここでは「システムズエンジニアリングの定義」を質問してみます。

まずは、Geminiの回答結果です。モデルデータに含まれる情報から補足情報を含めて詳細な回答結果が表示されました。システムズエンジニアリングの定義に関する詳細な情報は得られますが、「システムズエンジニアリングの定義」という質問に対しては冗長な情報が多いという捉え方もできてしまいそうです。回答としては上部5行で十分です。

システムズエンジニアリングの定義について

システムズエンジニアリングとは、一言でいうと**「システムを成功させるための、複数の専門分野にまたがるアプローチと手段のこと」**です。

より詳しく説明すると、システムの企画段階から、運用・廃棄に到るまでのライフサイクル全体を通じて、様々な技術分野の成果を一つに統合し、目的を達成するためのシステムを設計・開発していくための体系的な手法となります。

システムズエンジニアリングの重要性

システムが複雑化する現代において、システムズエンジニアリングは以下のような点で重要です。

  • 全体最適化: 多様な要素から構成されるシステム全体を俯瞰し、最適な設計・開発を行うことで、より効率的で効果的なシステムを実現できます。
  • リスクの低減: システム開発における様々なリスクを早期に発見し、対策を講じることで、プロジェクトの成功確率を高めます。
  • 品質の向上: システムの品質を定量的に評価し、改善することで、顧客満足度を高めることができます。
  • 変化への対応: 社会や技術の変革に迅速に対応できる柔軟なシステムを構築することができます。

システムズエンジニアリングの特徴

システムズエンジニアリングには、以下のような特徴があります。

  • 多様な専門分野との連携: システム開発には、ソフトウェア開発、ハードウェア設計、ネットワーク構築など、様々な専門分野の知識が必要となります。システムズエンジニアは、これらの専門家と連携し、システム全体を最適化します。
  • 体系的なアプローチ: システム開発のプロセスを標準化し、計画、設計、開発、テスト、運用、保守といった各段階を体系的に管理します。
  • モデルベースの開発: システムの挙動をモデル化し、シミュレーションを行うことで、設計段階での検証を可能にします。

システムズエンジニアの役割

システムズエンジニアは、システム開発プロジェクトにおいて、以下の役割を担います。

  • 要求定義: 顧客のニーズを明確化し、システムに求められる機能や性能を定義します。
  • システム設計: システム全体のアーキテクチャを設計し、各コンポーネントの役割を定義します。
  • 開発計画: 開発スケジュールやリソース計画を作成し、プロジェクトを管理します。
  • リスク管理: プロジェクトの進捗を監視し、発生した問題に対して迅速に対応します。
  • 品質管理: システムの品質を確保するためのテスト計画を作成し、実行します。

まとめ

システムズエンジニアリングは、現代の複雑なシステムを成功させるために不可欠な技術です。システムズエンジニアは、多様な専門分野の知識とスキルを駆使し、システム全体を最適化することで、社会に貢献しています。

次にNotebookLMの回答結果です。ソースの情報を元に、システムズエンジニアリングの定義を抜粋したものが表示されました。Geminiに対して簡潔な回答の印象で、知りたいこと以外のノイズが少なくなっています。
また、文中に表示されている数字にマウスカーソルを当てると、ソースの参照部分が表示されます。

まとめ

NotebookLMの紹介および使い方の事例を説明しました。任意のソースから、自分でカスタマイズしたbotを作ることができます。

今回はウェブサイトの情報をソースとする事例を紹介しました。ソースの数は増やすことができるので、個人的には自分の頭の中のクローンを作っている感覚です。知識ストックして活用することで、自己学習や資料のまとめなどを効率化することができます。

何よりも自分だけのAIチャットbotを簡単に構築することができることがすごいですね!

所長
所長

-生成AI