人気ブログランキング | 話題のタグを見る
ブログトップ

EARLの医学ノート

drmagician.exblog.jp

敗血症をメインとした集中治療,感染症,呼吸器のノート.医療におけるAIについても

【AI】医学/医療でChatGPTのNoteableプラグインを使いこなすべし

医学/医療でChatGPTのNoteableプラグインを使いこなすべし

■Noteableプラグインは,オンライン上でPython(プログラミング言語)ノートブックを作成,編集,実行するためのツールである.オンライン上でデータセットを自動的に解析することができ,プログラミングの知識なしでも使える非常に有用なツールであり,現時点ではchatGPTプラグインの中では最も医学・医療において応用がきくものであろうと私は考えている.以下,Noteableの仕組みから説明するが,ダイレクトに医学・医療での使い方を知りたいなら以下の1〜2は読み飛ばして3から読むことをおすすめする.
【AI】医学/医療でChatGPTのNoteableプラグインを使いこなすべし_e0255123_11370396.jpeg
※2023年5月29日時点で,筆者はこのNoteableプラグインを用いて,Clinical Questionから一気にメタ解析までワンステップで自動化するプロンプトの作成に成功している.ただし,現時点ではAIそのものに論文抽出精度の限界があるためまだそこまで実用的ではない.ここは,医学論文に関連するデータのさらなる機械学習が必要であろう.

1.Noteableで扱うPythonノートブックとは

■Pythonノートブックは,Pythonで書いたコードを手軽に実行して結果を見ることができるツールである.具体的には以下の特徴を持っており,これらの特性により,Pythonノートブックはデータ分析,機械学習,統計モデリングなどのタスクを行う際に非常に便利なツールとなっている.

(1)コードとテキストの統合
■Pythonノートブックでは,Pythonのプログラムコードとその説明を含むテキスト(マークダウン形式)を同じドキュメント内に記述することができる.これにより,コードの目的や動作を詳細に説明しながら,同時にそのコードを実行し,結果を表示することが可能である.

(2)インタラクティブな実行
■Pythonノートブックでは,コードをセルと呼ばれる単位で記述し,それぞれのセルを個別に実行することができる.これにより,一部のコードを変更してすぐにその影響を確認するといったインタラクティブ(双方向)なコーディングが可能である.

(3)結果の表示
■Pythonノートブックでは,コードの実行結果(数値,テキスト,グラフなど)を直接ノートブック内に表示することができる.これにより,データ分析や可視化の結果をリアルタイムに確認しながら作業を進めることができる.

(4)再現性と共有性
■Pythonノートブックは,コードとその実行結果を一緒に保存することができる.これにより,自分が行った分析を他の人と共有したり,同じ分析を再現することが容易になる.

2.Noteableの機能

(1)インターネット上のデータ取得
■NoteableはPythonノートブックを通じてインターネット上のデータを取得することが可能である.Pythonは多くのライブラリ(Pythonで使える便利な機能をまとめたもの)を持っており,その中にはウェブからデータを取得するためのものも含まれている.例えば,requestsライブラリを使えばHTTPリクエストを送信してウェブページの内容を取得することができる.また,pandasライブラリを使えばCSVやExcelファイルなどのデータを直接ウェブから読み込むことも可能である.

(2)セルの処理
■セルはコードやテキストを入力し,コードを実行するための個々の作業領域を指す.Pythonノートブックは複数のセルからなる.
コードセル:Pythonのコードを記述し,そのコードを実行するためのセル.コードセルを実行すると,その結果(出力)がセルの直下に表示される.
マークダウンセル:テキストを記述するためのセルである.マークダウン形式のテキストを記述することで,見出し,リスト,リンク,画像などを含むリッチなテキストを作成することができる.

■セルはノートブック内で自由に追加,削除,移動することができる.また,一つのセルに一つのタスク(例えば,データの読み込み,データの前処理,データの分析,結果の可視化など)を記述することが一般的である.これにより,作業の進行状況を明確に把握しやすく,また必要に応じて一部の作業を再実行しやすくなる.NoteableはPythonノートブックの操作を自動化し,セルの詳細情報の取得,ソースコードの更新,タイプの変更,新しいセルの作成,ノートブック内の特定のセルの実行などを行う.

3.Noteableプラグイン

ここからがNoteableプラグインの醍醐味である.Noteable単体ではプログラミングの知識がなければ扱えないが,chatGPTとNoteableが連携することでプログラミング等の知識がなくてもデータセットの解析ができる.具体的には以下のようなことが可能となる.

(1)自然言語でのコード生成
■ChatGPTは自然言語の指示を理解し,それに基づいてPythonのコードを生成することができる.これにより,ユーザーは具体的なコードを書くことなく,自然言語での指示だけでNoteableのノートブックを操作することが可能になる.

(2)自動化されたデータ分析
■ChatGPTはユーザーからの指示を理解し,それに基づいてデータの読み込み,前処理,分析,可視化などの一連の作業を自動的に行うことができる.これにより,ユーザーは複雑なデータ分析の手順を一つ一つ指定することなく,結果を得ることができる.

(3)エラーの自動修正
■Noteableプラグインを使用しているときにエラーが発生した場合,そのエラーは通常、Pythonコードの問題やNoteableプラットフォームの問題など,特定の操作やプロセスに関連している.ChatGPTはエラーメッセージを解釈し,可能な解決策を提案することができる.これにより,ほとんどのエラーを自動修正して解析プロセスを継続する.

4.医学論文検索におけるNoteableプラグイン

■Noteableプラグインを用いてPubMedのAPIを組み合わせて使用することで,医学論文の検索と分析を自動化することが可能である.以下に,具体的な使い道をいくつか示す.

(1)自動化された論文検索
■chatGPTがユーザーの要望となるclinical questionに基づいたPubMed検索式を作成し,NoteableがPubMedのAPIを使用して特定のキーワードやフィルター条件に基づいて論文を検索し,その結果をNoteableのノートブックに保存することができる.これにより,手動での検索と比べて大量の論文を効率的に検索することが可能になる.

(2)論文メタデータの分析
■PubMedから取得した論文のメタデータ(著者,掲載年,掲載誌,アブストラクトなど)をNoteableのノートブックで分析することができる.例えば,特定のキーワードに関連する論文の数が年ごとにどのように変化しているか,どの著者やどの誌がそのトピックにおいて最も活発かなどを調査することが可能である.

(3)論文のテキストマイニング
■PubMedから取得した論文のアブストラクトや本文(可能な場合)をNoteableのノートブックでテキストマイニングすることができる.テキストマイニング(またはテキストデータマイニング)は,大量のテキストデータから有用な情報を抽出し,その情報を解析するための手法の一つで,これにより,論文の内容から特定の情報を抽出したり,トピックモデリングや感情分析などの高度なテキスト分析を行うことが可能になる.

■これにより,特定のキーワードの出現頻度を調べたり,共起するキーワードを探したりすることができる.これにより,特定のトピックについて最近の研究トレンドを把握することが可能になる.自由度の高い回答が可能な大規模アンケートの解析も容易になる.

(4)統計解析
■論文検索で得られた各論文のアブストラクトからデータを抽出して統計解析させることも可能である.基本的に医学研究で使用する統計解析はほぼ全て可能である.また,統計解析手法が分からなくても,chatGPTが最適な解析方法を考え,Noteableで実行してくれる.

(5)ビジュアライゼーション
■取得したデータを視覚的に表示することも可能である.例えば,特定のキーワードの出現頻度を棒グラフで表示したり,論文の発行数の推移を折れ線グラフで表示したりすることができる.

5.医学データセットの解析

■Noteableプラグインを用いて様々な統計解析が可能である.具体的な使い道をいくつか示す.

(1)データの読み込みと前処理
■Noteableプラグインを使用して,CSV,Excel,SQLデータベースなどからデータを読み込むことができる.読み込んだデータは,欠損値の処理,カテゴリデータのエンコーディング,数値データのスケーリングなど、前処理を行うことが可能である.

(2)データの探索的分析
■データセットの特性を理解するために,統計的な要約(平均,中央値,標準偏差など)や可視化(ヒストグラム,散布図,箱ひげ図など)を行うことができる.

(3)機械学習モデルの訓練と評価
■データセットを訓練セットとテストセットに分割し,機械学習モデル(ロジスティック回帰,決定木,ランダムフォレスト,ニューラルネットワークなど)を訓練することができる.また,テストセットを使用してモデルの性能を評価することも可能である.

(4)結果の報告
■分析の結果をマークダウン形式で記述し,コード,結果の表,グラフとともに報告することができる.これにより,分析の過程と結果を他の人と共有することが容易になる.

6.Noteableプラグインの利用開始方法

■Noteableプラグインの利用開始は,他のChatGPTのプラグインツールよりもやや煩雑である.以下に利用開始方法の手順を順番にを示す.

(1)有料のChatGPT Plus会員に加入する
■ChatGPTのプラグイン機能はGPT-4(通常のChatGPTの高性能版)を利用するための月$20の有料会員でなければ利用できない.ただし,Microsoft社とOpenAI社の発表で,6月から有料会員限定だったブラウジング機能が無料会員でも利用できるようになることから,近々プラグイン機能も利用できるようになる可能性がある.なお,ChatGPTの公式アプリ(iPhone/iPadi限定)や,chatGPTを使用するBingAI,PerplexityAIではプラグイン機能は利用できない.

(2)Noteableプラグインをインストール
■GPT-4を選択する際にプルダウンでpluginを選択し,その後,検索機能(2023年6月1日搭載」でNoteableを探し,インストールボタンをクリックする.

(3)Noteableで新規プロジェクトを作成する
■Noteableにアクセスし,登録作業を行った上で画面右上の「Create」ボタンをクリックする.プロジェクトを選択したら,そのプロジェクトのURL(そのページのURLが該当)をコピーする.URLは「https://app.noteable.io/p/[project_id]/[decorative_project_name]」の形式になる.

(4)ChatGPTにURLを一緒に貼り付ける
Noteableプラグインを使う際に(4)でコピーしたURLを一緒に貼り付ける.

■これで準備は完了である.

7.データセットを扱う際の注意

■Noteableプラグインに限らず,chatGPTを使用する際の注意だが,機密情報のデータを扱う場合はオプトアウト機能かAPI(Apprication Programming Interface)を使用するのが必須である.これを使えばchatGPTに学習させない,チャット履歴を残さない,ということは可能だが,それでも30日間はサーバーにデータは残る.APIについては以下の記事の「6.情報漏洩を防ぐために:APIの利用」を参照.
医療従事者が対話型AI chatGPTを使う前に(AI初心者向け解説)
https://drmagician.exblog.jp/30322087/

by DrMagicianEARL | 2023-05-30 11:35 | 医学・医療とAI

by DrMagicianEARL