ChatGPT は、米国の医師免許試験に太刀打ちできるか?

A Gilson et al.: How Does ChatGPT Perform on the United States Medical Licensing Examination? The Implications of Large Language Models for Medical Education and Knowledge Assessment. JMIR Medical Education, 9, e45312, pp.1-9, 2023.

この論文は、ChatGPTにアメリカの医師国家試験を解かせたらどんな成績になるだろうということを実験したものだ。いかにもあるあるの研究テーマだ。結果として、ChatGPTは3年生の医学生の合格点に相当すると述べている。
ChatGPTを研究ネタにするとき、こういった試験問題を解かせるというのはよくある話だ。医療情報技師の認定試験についても同様のことをやってみると面白いだろうなと思う。
そんなことを思っていたら、4/29に、こんな論文を見つけた。
これは、日本の医師国家試験をChatGPTに解かせたら55%の正答率だったという論文(4/10朝日新聞)。
さらに、5/1には、m3.comのニュース記事「Chat-GPTが第117回医師国試で合格点」から次のような論文を見つけた。
これは、上記と同じく、日本の医師国家試験をChatGPTに解かせたという論文で、前出の論文と違って、今度は合格したという内容。ポイントは、①日本語の問題文を英訳してChatGPTに入力したこと、②プロンプト・エンジニアリング(問題タイプごとに出力フォーマットを変更した)、③GPT-4を使用した、ことが功を奏したという点。そういえば、前出の論文にも、ChatGPTが学習した英文のデータ量は、日本語のよりも16.6倍もあり、プロンプトに英文で入力したほうが日本語で入力するより効果が大きいのではないかと考察していたが、それがドンピシャだったことがこの論文から伺える。
----------------------------------------
 Abstract
----------------------------------------
Background:
Chat Generative Pre-trained Transformer (ChatGPT) は、ユーザー入力に対する会話スタイルの応答を生成できる、1,750 億のパラメーターを持つ自然言語処理モデルです。

Objective: 
この調査の目的は、米国医師免許試験のステップ 1 およびステップ 2 試験の範囲内の質問に対する ChatGPT のパフォーマンスを評価し、ユーザーの解釈可能性について回答を分析することでした。

Methods: 
ChatGPT のパフォーマンスを評価するために、ステップ 1 とステップ 2 に関連する質問を含む 2 セットの多肢選択問題を使用しました。最初のセットは、医学生向けに一般的に使用されている問題バンクである AMBOSS から派生したもので、問題の難易度とユーザーベースに関連する試験の成績に関する統計も提供します。2 番目のセットは、National Board of Medical Examiners (NBME) の無料の 120 の質問でした。ChatGPT のパフォーマンスは、他の 2 つの大きな言語モデルである GPT-3 と InstructGPT と比較されました。各 ChatGPT 応答のテキスト出力は、選択された回答の論理的正当性、質問の内部情報の存在、および質問の外部情報の存在という 3 つの定性的な指標にわたって評価されました。

Results: 
AMBOSS-Step1、AMBOSS-Step2、NBME-Free-Step1、NBME-Free-Step2 の 4 つのデータ セットにたいして、ChatGPT は、それぞれ 44% (44/100)、42% (42/100)、64.4% ( 56/87)、および 57.8% (59/102)の精度を達成しました。ChatGPT は、すべてのデータ セットで平均 8.15% InstructGPT を上回り、GPT-3 は偶然と同様のパフォーマンスを示しました。このモデルは、AMBOSS-Step1 データセット内で質問の難易度が上がるにつれて (P=.01)、パフォーマンスが大幅に低下することを示しました。ChatGPT の回答選択の論理的正当性は、NBME データセットの出力の 100% に存在することがわかりました。質問に対する内部情報は、すべての質問の 96.8% (183/189) に存在していました。問題外の情報の存在は、NBME-Free-Step1 (P<.001) および NBME-Free-Step2 (P=.001) データセットの正解に比べて、不正解で、それぞれ 44.5%、27% 低かった。

Conclusions: 
ChatGPT は、医療質問応答のタスクにおける自然言語処理モデルの大幅な改善を示しています。NBME-Free-Step-1 データセットで 60% を超えるしきい値で実行することにより、モデルが 3 年生の医学生の合格点に相当することを示します。さらに、ChatGPT が大部分の回答でロジックと情報コンテキストを提供できることを強調しています。これらの事実を総合すると、学習をサポートするためのインタラクティブな医学教育ツールとしての ChatGPT の潜在的なアプリケーションの説得力のある事例になります。
----------------------------------------
 Introduction
----------------------------------------
Chat Generative Pre-trained Transformer (ChatGPT) [1] は、膨大な量のデータでトレーニングされたディープ ラーニング アルゴリズムを使用して、ユーザー プロンプトに対して人間のような応答を生成する 1,750 億パラメーターを持つ自然言語処理モデルです [2]。汎用対話的エージェントとして、ChatGPT は幅広いトピックに対応できるように設計されており、カスタマー サービス、チャットボット、およびその他の多くのアプリケーションのホストとして役立つツールになる可能性があります。リリース以来、シェイクスピアのソネット(14行詩)のスタイルで応答を自動的に生成するなど、一見信じられないほどの偉業を成し遂げた一方で、単純な数学的な質問に答えることができなかった [3-5]ことについて、かなりの報道がなされました。
ChatGPT は、自己回帰言語モデル [6] として知られる大規模言語モデル (LLM) のクラスの中で最新のものです。ChatGPT に似ていると考えられる生成 LLM は、トランスフォーマー モデル [7] のデコーダー コンポーネントを使用してトレーニングされ、テキストの大規模なコーパス [8-10] でシーケンス内の次のトークンを予測するタスクが課せられます。このような基盤モデルは、多くの場合、パフォーマンスを向上させるためにタスク固有のデータで微調整されます。しかし、OpenAI の GPT-3 の紹介では、微調整をほとんど必要とせずに最先端のパフォーマンスを実現する高度にスケーリングされた LLM の最初の製品と述べています[6]。ChatGPT は、OpenAI の以前の GPT-3.5 言語モデルに基づいて構築されており、教師あり学習と強化学習の両方の手法が追加されています [1]。ChatGPT は、OpenAI アプリケーション プログラミング インターフェイス (API)である Playground に入力されたプロンプトに対する人間が作成した応答でトレーニングされた GPT-3.5 の微調整バージョンである InstructGPT の直接の子孫です。InstructGPT は、最初に特定のプロンプトに対する一連の応答を生成するタスクを課され、人間のアノテーターが優先回答にラベルを付けるように開発されました。これらの好みは、InstructGPT を調整するために、強化学習アルゴリズムである PPO (Proximal Policy Optimization) を使用してトレーニングされた報酬モデルで最大化されます。ChatGPT は、対話型の出力を促進するために会話プロンプトで特別にトレーニングされていると報告されています。
医療分野では、LLM は、個別化された患者とのやり取りや患者の健康教育のためのツールとして研究されてきました [11,12]。可能性を示していますが、これらのモデルは、(生成的な) 質問応答タスクを通じて臨床知識をテストすることに成功していません [13,14]。ChatGPT は、臨床知識と対話的相互作用の組み合わせをより適切に表現する可能性のある新しい一連のモデルの最初のモデルとなる可能性があります。独自の語り口の応答を生成する ChatGPT のインターフェイスにより、シミュレートされた患者、個々のフィードバックを提供するブレインストーミング ツール、または小グループ スタイルの学習をシミュレートする仲間のクラスメートとしての行動など、斬新なユース ケースが可能になります。ただし、これらのアプリケーションが有用であるためには、ユーザーが応答に十分な信頼を持てるように、ChatGPT は医学知識の評価と推論で人間と同等のパフォーマンスを発揮する必要があります。
この論文では、①医学知識(確立された上で、なお進化している生物医学、臨床、疫学、および社会行動科学の知識)の主要な能力と②米国医師免許試験 (USMLE) のステップ 1 およびステップ 2 の臨床知識試験でテストされた知識を中心とした 2 つのデータ セットの使用を通して患者ケアへの適用の側面を評価しようとする試験でのChatGPTのパフォーマンスを定量化することを目的としました。ステップ 1 では、基礎科学と医学の実践との関係に焦点を当てていますが、ステップ 2 では、これらの基礎科学の臨床応用に焦点を当てています。USMLE ステップ 3 は、基本的な知識ではなく、独立した総合診療科の医療行為のスキルと能力を評価することを目的としているため、除外されました。また、これらの試験での ChatGPT のパフォーマンスを、以前の 2 つの LLM、GPT-3 および InstructGPT のパフォーマンスと比較しました。さらに、ChatGPT が、シミュレートされた医療家庭教師として機能する能力をさらに評価するために、論理的な正当化と内部からのおよび外部からの情報の使用に関して、ChatGPT の応答の整合性を定性的に調べました。
----------------------------------------
 Methods
----------------------------------------
Medical Education Data Sets
ステップ1とステップ2に関連するChatGPTの医学的知識の理解を調べるために、2組のデータセットを作成しました。最初に、2700 を超えるステップ 1 と 3150 を超えるステップ 2 の質問を含む、広く使用されている質問バンクである AMBOSS から 100 の質問のサブセットを選択しました [15]。以前の AMBOSS ユーザーからの既存のパフォーマンス統計により、モデルの相対的なパフォーマンスを判断できます。これらのデータ セットを AMBOSS-Step1 および AMBOSS-Step2 と呼びます。これらのヒントを含む各質問の 2 番目のインスタンスをデータ セットに含めて、ヒントによって提供される追加のコンテキストがパフォーマンスを向上させるかどうかを判断しました。
また、National Board of Medical Examiners (NBME) によって開発された 120 の無料のステップ 1 およびステップ 2 の臨床知識問題のリストも使用しました。これは、それぞれ NBME-Free-Step1 および NBME-Free-Step2 と呼ばれ、本当の医師免許試験の問題と最も密接に一致する問題に関する ChatGPT でのパフォーマンスを評価しました。
Prompt Engineering
プロンプトエンジニアリングが生成 LLM の出力に大きな影響を与えることが示されているため、AMBOSS および NBME データセットの入力形式を標準化しました [16]。まず、ChatGPT はテキスト入力しか受け付けないため、画像を含む質問を削除しました。次に、回答が表としてフォーマットされている質問を削除しました。これは、ChatGPT の回答の精度が、複雑なテキスト入力を解析するのではなく、ナラティブのテキスト内で医学的知識を統合する能力にのみ依存するようにするために行われました。質問は、質問テキストの後に改行で区切られた直接の質問が続く形式で作成されました。AMBOSS データ セットでは、ヒント(ATTENDING TIPS)が質問の別の事例として挿入されました。質問テキストと直接質問に続いて、またもや改行で区切られた多肢選択式の回答が提示されました。
質問プロンプトと応答の例を図 1 に示します。

図1.出典:https://mededu.jmir.org/2023/1/e45312
キャプション:各大規模言語モデル (LLM) に提示された質問のテンプレート。これは AMBOSS のヒント(ATTENDING TIPS)と、Chat Generative Pre-trained Transformer (ChatGPT) からの応答の両方を含みます。この質問の正解は「E.ジドブジン(AZT)」。GPT-3 の場合、「この選択式の質問に答えてください:」 + 前述の質問 + 「正解は」というプロンプトエンジニアリングが必要でした。GPT-3 は本質的に非対話モデルであるため、これはモデルの幻覚(もっともらしい「ウソ」)を減らし、明確な答えを強制するために必要でした [17]。

Model Testing
最初に、AMBOSS および NBME データ セットにあるすべての正解を記録しました。すべてのモデル テストは、2022 年 12 月 15 日バージョンの ChatGPT で、ChatGPT Web サイトに手動で質問を入力して実行されました。OpenAI API を使用して、davinci モデルと text-davinci-003 モデルをそれぞれ使用して GPT-3 と InstructGPT をクエリしました。次に、標準化された質問をモデルに入力しました。また、ヒントを含む問題を ChatGPT に入力しました。すべての回答は、レビューのために共有スプレッドシートに直接コピーされました。各モデルの出力の性質上、各回答を手動で確認して、選択式の質問からどの回答が選択されたかを判断しました。
次に、語り口(ナラティブ)の一貫性に特徴的な 3 つのバイナリ変数を使用して、各質問の ChatGPT 応答が適切であることを証明しました [18]。より深い言語分析がなければ、これらの変数は以下を評価する大まかな指標を提供します:
  1. 論理的推論: 応答は、応答で提示された情報に基づいて回答を選択する際の論理を明確に識別します。
  2.  内部情報: 応答は、応答内の質問に関する情報を含む、質問の内部情報を使用します。
  3.  外部情報: 応答は、与えられた回答または語幹が適切であると証明することを含むがこれらに限定されない、質問の外部情報を使用します。
最後に、不正解の各質問について、不正解の理由を次の選択肢(オプション)のいずれかとしてラベル付けしました。
  • 論理エラー: 応答は適切な情報を見つけましたが、情報を答えに適切に変換しませんでした。例: 若い女性が定期的にピルを服用するのが困難だとわかっているのに、依然として子宮内避妊器具よりも経口避妊薬を推奨する。
  • 情報エラー: ChatGPT は、質問の語幹に存在するか、外部情報を介して存在するかに関係なく、予想される知識と見なされる重要な情報を特定できなかった。例:大部分がウイルス性である場合でも、ほとんどの症例は細菌性病因であると考えて、副鼻腔炎感染症の抗生物質を推奨した。
  • 統計エラー: 算術ミスを中心とした誤差。これには、「1 + 1 = 3」などの明示的なエラーや、病気の有病率(罹患率)の誤った推定などの間接的なエラーが含まれます。例: 根底にある腎結石を特定しますが、さまざまな種類の結石の有病率を誤分類する。
回答の質的分析を行ったすべての著者 (AG、CWS、RAT、および DC) は協力して作業し、不確実なラベルはすべて全員で協議して一致させました。
Data Analysis
すべての分析は、Python ソフトウェア (バージョン 3.10.2; Python Software Foundation) を使って実施されました。対応のないカイ二乗検定を使用して、質問の難易度が AMBOSS-Step1 および AMBOSS-Step2 データセットでの ChatGPT のパフォーマンスに大きな影響を与えるかどうかを検定しました。同様に、対応のないカイ 2 乗検定を使って、NBME-Free-Step1 および NBME-Free-Step2 データ セットの正解と不正解の間の論理的推論、内部情報、および外部情報の分布を検定しました。
----------------------------------------
 Results
----------------------------------------
Overall Performance
表 1 は、テストされた 4 つのデータ セットに対する 3 つの LLM: ChatGPT、GPT-3、および InstructGPT のパフォーマンスを示しています。AMBOSS モデルのスコアは、ヒントがない場合の値です。ChatGPT は、NBME と AMBOSS の両方のデータ セットに関して、ステップ 2 の質問と比較して、ステップ 1 関連の質問でより正確でした。すなわち、それぞれ 64.4% (56/87) 対 57.8% (59/102) および 44% (44/100) 対 42% (42/100)でした。さらに、このモデルは、ステップ 1 とステップ 2 の両方で、AMBOSS の質問よりも NBME の質問の方が優れたパフォーマンスを示しました: すなわち、それぞれ、64.4% (56/87) 対 44% (44/100) および 57.8% (59/102) 対 42% ( 42/100)でした。ChatGPT は、すべてのデータセットで GPT-3 と InstructGPT の両方を上回りました。InstructGPT は平均で 8.15% 優れていましたが、GPT-3 はすべての質問セットでランダム チャンスと同様のパフォーマンスを示しました。
表1. 4 つの データ セットに対する 3 つの大規模言語モデル (LLM) のパフォーマンス。

Question Difficulty and Model Accuracy
表 2 から、テスト後の要約で報告された AMBOSS ユーザーと比較すると、ChatGPT は、ヒントなしのステップ 1 の質問で 30 パーセンタイル、ヒントがあるステップ 1 の質問で 66 パーセンタイルでした。ステップ 2 の AMBOSS データ セットでは、ヒントを使用した場合と使用しない場合で、モデルはそれぞれ 20 パーセンタイルと 48 パーセンタイルという結果でした。ヒントのないステップ 1 の質問では、ChatGPT は AMBOSS が報告した難易度が上がるにつれて精度が大幅に低下し (P=.01)、レベル 1 の質問では 64% (9/14) あった精度から レベル 5 の質問では 0% (0/14) に低下しました。残りのグループは、ヒントを使用したステップ 1 の難易度 2 と 3 の質問と、ヒントなしのステップ 2 の難易度 4 と 5 の質問を除いて、質問の難易度が上がるにつれて単調に精度が低下しました。
表2.質問によるAMBOSS-Step1およびAMBOSS-Step2データセットでのChatGPTのパフォーマンス
Qualitative Breakdown of Responses
最後に、表 3 では、上記の 3 つの指標で ChatGPT の回答の質を評価しました。すなわち、論理的推論、内部情報、および外部情報の存在の3つの指標です。ChatGPT によって提供されるすべての応答は、正解・不正解に拘わらず、その解答を選択した論理的な説明を提供することがわかりました。さらに、NBME-Free-Step1 と NBME-Free-Step2 の両方のデータ セットで、正解と不正解の両方について、ChatGPT は質問の 96.8% (183/189) で質問の内部情報を使用していました。ステップ 1 またはステップ 2 のいずれのデータセットについても、正解または不正解の間で、内部情報の存在に有意差はありませんでした (それぞれ P=.25 および P=.07)。最後に、ステップ 1 のデータセットでは、正解の場合は 92.9% (52/56) 、不正解の場合は 48.4% (15/31) の割合で、質問に含まれない外部の情報が使用されていました (差 44.5%; P<.001)。ステップ 2 のデータセットでは、外部情報は、正解の場合 89.8% (53/59) 、不正解の場合 62.8% (27/43) の割合で使用されていました (27% の差; P=.001)。ステップ 1 とステップ 2 の両方で、論理エラーが最も一般的で、次に情報エラーが続きました。どちらのデータセットにも統計誤差はほとんどありませんでした。
表3.NBMEb-Free-Step1 および NBME-Free-Step2 に対する ChatGPT の応答品質の定性的分析

----------------------------------------
 Discussion
----------------------------------------
Principal Findings
ChatGPT の進歩によって大袈裟に宣伝されている重要な機能の 1 つは、コンテキストを理解し、目の前のトピックに一貫性があり関連性のある会話を続ける能力です。この論文では、4 つの独自の医療知識能力データ セットで ChatGPT を評価し、会話を質問応答として構成することにより、これが医療領域にまで及ぶことを示しました。このモデルは、USMLE ステップ 1 およびステップ 2 医師免許試験でカバーされるトピックを表す試験問題の最大 60% 以上に正しく答えることができることがわかりました。多くの場合、60% のしきい値は、ステップ 1 とステップ 2 の両方のベンチマーク合格基準と見なされます。これは、ChatGPT が医学部 3 年生に期待されるレベルの能力を持っていることを示しています。さらに、私たちの結果は、間違った回答の場合でも、モデルによって提供された回答には常に回答選択の論理的な説明が含まれており、90% 以上の確率で、この回答には問題の主要な部分に含まれる情報が直接含まれていることを示しています。正解は、不正解の回答よりも (P<.001 [19] の有意確率で) 有意に頻繁に問題の主要部分以外の情報を含むことが判明しました。これは、モデルが質問に正しく答える能力は、プロンプトを問題のデータに関連付ける能力に関連している可能性があることを示しています(※1)。
医学的質問応答研究の分野における以前の研究は、一般化可能性を犠牲にしてモデルのパフォーマンスを向上させることを目的として、より具体的なタスクに焦点を当てていることがよくありました。たとえば、Jin 等 [20] は、PubMed で利用可能なアブストラクトのコーパスで回答が見つかる可能性がある yes または no の質問に答えるモデルで 68.1% の精度を達成しました。より一般化可能なモデルの試みは、より多くの課題に直面しています。別の Jin 等の研究 [21] では、中国の医療免許試験から得られた 12,723 の問題のデータセットで 36.7% の精度を達成しました。同様に、2019 年に Ha 等 [22] は、454 の USMLE ステップ 1 およびステップ 2 の問題で 29% の精度しか達成できなかったと報告しています。したがって、ChatGPT は、単純な質問応答タスクを超えて拡張することで、3 つの異なる面で大きな前進を示しています。最初に、ChatGPT はテキストのみでフォーマットできるあらゆる質問に応答できるため、一般化可能性なことです。可能な質問の範囲は、ユーザーが送信できるものによってのみ制限されます。2 番目は精度です。ChatGPT は、同様の難易度と内容の質問で以前のモデルと同等またはそれを上回ることを示しました。最後に、ChatGPT は、その会話型インターフェイスにより、ユーザーの解釈可能性が大幅に向上しています。各回答には、私たちが示したようにある程度の推論があり、フォローアップの質問をする機能により、ユーザーは回答の出力だけでなく、質問で扱われている概念についてより大きな視点を得ることができます。
この対話的な性質が、教育ツールとして機能する能力において、ChatGPT を以前のモデルと区別するものです。InstructGPT は、すべてのデータ セットで ChatGPT を下回っていますが、ランダム チャンスを上回る精度でした。ただし、InstructGPT が ChatGPT と同等の精度で実行されたとしても、InstructGPT が提供した応答は、学生の教育に役立つものではありませんでした。InstructGPT の回答は、多くの場合、それ以上の説明がなく選択された回答のみであり、詳細なコンテキストを得るためにフォローアップの質問をすることはできません。InstructGPT は会話型システムとして体裁を整えているわけではないため、モデルは明確な回答を提供する前に、入力の促進を続行することがよくあります。たとえば、「G) せん妄」で終わるプロンプトは、回答が提供される前に「tremens B) 耳石の外れ」に展開されます。GPT-3 には同様のフォールバック(※2)があり、目的の出力を生成するにはよりプロンプト・エンジニアリングが必要です [17]。さらに、モデルはすべてのデータセットで ChatGPT と InstructGPT の両方をはるかに下回って(※3)いました。
ChatGPT の使用で強調すべき潜在的な使用例の 1 つは、少人数 (ピア) グループ教育の補佐役または代行人として使用することです。小グループ教育は、非常に効果的な教育方法であることが示されています [23,24]。医学教育における小グループの談話の促進の具体的な例としては、症例の提示を通じて取り組むことによる臨床上の問題解決が含まれます。このような教育へのアプローチは有用であり、学生の知識とは無関係です。これは、エール大学医学教育システムの入学後最初の週に始まる少人数グループ教育によって証明されています[26]。Rees 等 [27] はまた、仲間から教えられた学生は、教員から教えられた学生と有意に異なる結果をもたらさないことを示しました。多くの場合、有益な小グループ教育の側面は、生徒がお互いに自分で考えたアイデアをテストしあってフィードバックを受け取る能力が培われることです。ChatGPT は対話型のインターフェイスを備えているため、学生が独学で勉強しているときに、グループ学習と同じ利点の多くを提供できます。学生はこのツールを使用して、特定の医療概念、診断、または治療について質問し、正確でパーソナライズされた回答を受け取ることができ、各概念に関する知識をより適切に構築するのに役立ちます。たとえば、著者の CWS は、ChatGPT の使用について、最近のウイルス学の中間試験から特に困難な問題を検討しているとき、次のような考えを述べています。彼は、ChatGPT に問題を挿入し、フォローアップの対話に参加することに価値を見出しました。これにより、質問に関連するコンテキストが明らかになり、問題に関連する資料を教えた特定の講義を効果的に思い出すことができるからです。これは、ChatGPT が最初の回答で提供するコンテキストが、与えられた根底にある医学的推論を正当化するために必要な基礎知識を自然に掘り下げるさらなる質問への扉を開く可能性があることを示唆しています。小グループ教育のシミュレーションのための ChatGPT の特定の有効性、および有益である可能性のある他の使用例 (内省的学習のプロセスなど) を評価するには、さらなる研究が必要です [28]。技術がさらに探求され、改善されるにつれて、ChatGPT などのツールの機能を最大限に活用する新しい教育方法が開発される可能性もあります。
Limitations
この研究にはいくつかの限界があります。まず、ChatGPT は、2021 年以前に作成されたデータから作成されたコーパスで最初にトレーニングされました。これにより、モデルのプロンプトがその日付より前に見つかった情報のみを含むように制限されます。第二に、このモデルの閉じた性質とパブリック API の欠如により、タスク固有のデータでこのモデルを微調整し、本来備わっている偶然性の幅の広さを調べることができません。ただし、この研究では、USMLE ステップ 1 および 2 試験での ChatGPT のコンテキスト内でのパフォーマンスを調査しているため、これらの制限が分析を妨げることはありませんでした。第三に、ChatGPT は定期的に更新を受けています。これは、ユーザーから提供された入力に関するトレーニングの結果であると考えられています。この調査で使用された ChatGPT のバージョンは、公開時点で最新のモデルではありませんでした。とはいえ、モデルの新しいバージョンごとに、概説したタスクでモデルのパフォーマンスが大幅に低下することはなく、実際にはパフォーマンスが向上する可能性があるという仮説を立てることは合理的です。

【注意】
  • ※1 この部分の論理展開がおかしい。「プロンプトを問題のデータに関連付ける能力」ではなくて「プロンプトを問題のデータに関連付ける能力」ではないか?
  • ※2 「フォールバック」は「退却」「後退」に加えて「縮退運転(システムが故障したときに、プログラムによって機能を落として運転を継続しようとする仕組み)」という意味がある。ここでは「弱点」とか「欠点」のようなニュアンスでこの言葉が使われているような気がする。
  • ※3 「下回って」ではなく「上回って」ではないか?
----------------------------------------
 Conclusions
----------------------------------------
結論として、私たちの結果は、ChatGPT が、医学知識の主要な能力の評価に関して、3 年生の医学生に期待されるレベルで機能することを示唆しています。さらに、このツールは、医学における少人数グループ教育 (問題に基づく学習や臨床的問題解決など) の状況での新機軸としての可能性を秘めています。質問に対する ChatGPT の応答は、ほとんどの場合、モデルの書面による応答を正当化する解釈可能なコンテキストを提供し、談話の一貫性を示唆しています。このモデルは、人間の学習者に似た十分に正確な対話応答を提供することにより、学生向けのオンデマンドのインタラクティブな学習環境の作成を促進する可能性があります。これは、問題解決と外部からサポートされた内省的実践をサポートする可能性を秘めています。

この論文の 2 番目の結論として、ツールによって「次の原稿の結論を書いてください:」というプロンプトを使用して書いたものを紹介します。ただし、このプロンプトは、手書きの結論を除く全ての原稿を含んでいます。

結論として、この研究の目的は、医学知識と推論を評価する試験での ChatGPT 言語モデルのパフォーマンス、および仮想医療家庭教師として機能する能力を評価することでした。この研究では、AMBOSS-Step1 と AMBOSS-Step2、および NBME-Free-Step1 と NBME-Free-Step2 の 2 組のデータセットを使用して、USMLE Step 1 および Step 2 の 「臨床知識(Clinical Knowledge)」試験に関連する医学知識を ChatGPT が理解しているかを調べました。この研究の結果は、医学知識試験でのChatGPTのパフォーマンスがGPT-3およびInstructGPTのパフォーマンスよりも優れていること、およびヒント(Attending Tip)によって提供される追加のコンテキストがそのパフォーマンスを向上させることを示しました。さらに、この調査では、ChatGPT の応答は、論理的推論、内部情報の使用、および外部情報の使用に関して理路整然と[首尾一貫]していて分かりやすいことがわかりました。全体として、この研究は、ChatGPT が仮想の医療家庭教師として使用される可能性があることを示唆していますが、このコンテキストでのパフォーマンスと使いやすさをさらに評価するには、さらに研究が必要です。

ChatGPT: 退院サマリーの未来

Editorial: ChatGPT: the future of discharge summaries. The Lancet Digital Health, 5(3), E107-E108, MARCH 2023, DOI:https://doi.org/10.1016/S2589-7500(23)00021-3.対訳

これは、前回に続き2023年3月にLancetに掲載された論説で、ChatGPTを利用して退院サマリを作成する話です。
著者は、医療分野でのChatGPTの摘要について、退院サマリの作成はもっとも有望な適用領域だと主張しています。
ChatGPTで退院サマリの作成を自動化することで、若手医師の仕事の負担が軽減され、患者ケアの提供やトレーニングの機会を探すための時間が増え、多くの場合、サービスの提供を中心とした役割に徹することができます。
ChatGPTはまた、退院サマリ自体の品質を向上させる可能性があります。これまでの文献では、従来の方法で書かれた退院サマリは詳細が欠落していることが多いことが示されています。
しかしながら、「臨床現場に展開するには複数の障壁を克服する必要がある」とも述べています。
まず、ChatGPT は受け取るデータに依存するため、重要な情報を手動で入力する必要があります。今後のバージョンでは、概要を手動で入力する必要はなく、患者の電子カルテからデータを自動的にスクレイピングできるようになる可能性があります。
ただし、この行為は、データ ガバナンスに関して重大な問題を引き起こします。ヘルスケアにおける AI の以前の使用は、患者の信頼を著しく損なう失敗に関連していたため、データの保存とアクセスには注意を払う必要があります。
とデータガバナンスの問題を指摘しています。
最後に「今後の問題は、この技術を採用するかどうかではなく、どのように採用するかです。」と締めくくっています。

ChatGPT: 味方か敵か?

Editorial: ChatGPT: friend or foe?. The Lancet Digital Health, 5(3), E102, 2023, DOI:https://doi.org/10.1016/S2589-7500(23)00023-7. 【対訳

これは、2023年2月のLancetのデジタル版に掲載された論説である。話題沸騰の ChatGPT が「敵か味方か」というテーマで書かれている。今日(2023/4/25)時点でも、新聞やテレビで ChatGPT の報道は絶えない。ChatGPTの利用は、欧米では慎重な姿勢をとっているが、日本では官民挙げて歓迎ムードである。曰く、日本は欧米や中国にAI領域では大きく引き離されているからとのこと。
ChatGPTは「書かれたプロンプトに応じて、ChatGPT は電子メールを作成し、コンピューター コードを記述し、さらには映画のスクリプトを作成することもできます。」や「研究者はまた、医療ライセンス試験に合格する能力を実証しています。」あるいは「ヘルスケアの分野では、Sajan B Patel と Kyle Lam が、短いプロンプトから患者の退院サマリを生成する ChatGPT の機能を説明しました。」そして「別の研究では、放射線レポートを簡略化する能力もテストされており、生成されたレポートは全体的に事実に基づいて正しく、完全であり、患者への危害のリスクが低いと見なされています。」など、その有用性に言及しているものの、一方では「Patel と Lam によって提供された退院サマリの例では、ChatGPT はプロンプトに含まれていなかった追加情報をサマリに追加しました。」や「同様に、放射線レポートの調査では、重要な医学的所見の欠落など、潜在的に有害な誤りが特定されました。」など、重大なエラーが指摘されており、現段階では実用的な利用は時期尚早であるとしている。
ChatGPT はゲーム チェンジャーですが、まだ我々はそれでプレイする準備ができていません。

GPTs are GPTs: An Early Look at the Labor Market Impact Potential of Large Language Models

Tyna Eloundou, Sam Manning, Pamela Mishkin, Daniel Rock: GPTs are GPTs: An Early Look at the Labor Market Impact Potential of Large Language Models. arXiv:2303.10130 [econ.GN], 2023, https://arxiv.org/abs/2303.10130.

2023/3/30の朝日新聞朝刊にChatGPTのインパクトに関する上記の論文の記事がありました。

さらに、この論文の解説動画がYoutubeにありました。

https://www.youtube.com/watch?v=dnfd9wRNc0o

この論文を読んで、重要だと思った箇所を以下に記録しておきます。

P3↑L9-10:Collectively, these characteristics imply that Generative Pre-trained Transformers (GPTs) are general-purpose technologies (GPTs).

まとめると、これらの特性は、Generative Pre-trained Transformer (GPTs) が汎用テクノロジ (GPTs) であることを意味します。

P3↑L5: This paper’s primary contributions are to provide a set of measurements of LLM impact potential and to demonstrate the use case of applying LLMs to develop such measurements efficiently and at scale.

この論文の主な貢献は、LLM が与える影響の可能性を測定する値一式を提供し、そのような測定値を効率的かつ大規模に行うために LLM を適用するユースケースを示すことです。

この論文の主要な結論は以下のとおりです。

P23 '7 Conclusion' の4行目:Our analysis indicates that approximately 19% of jobs have at least 50% of their tasks exposed to LLMs when considering both current model capabilities and anticipated LLM-powered software.

現在のモデル機能と予想される LLM を利用したソフトウェアの両方を考慮すると、仕事の約 19% が少なくとも 50% の作業で LLM の脅威にさらされることを我々の分析が示しています。

機械学習入門~病床機能報告公表データの分析~

Medical Information Analysis
-医療情報分析入門-
「はじめの一歩」

Aコース
機械学習入門-病床機能報告公表データの分析-
テキスト

この動画は、2019.12.22に開催されたセミナーの模様を撮影したものです。テキストを見ながら視聴してください。ただし時間の関係でテキストに記載されている内容の多くを省略しています。また、説明の都合や講師のミスで説明の順序がテキストと違ったり、間違った説明をしているところもあります。そのあたりについてはテキストしたがって正しい操作を行ってください。

医療分野でトピックモデルを利用した研究(その5)

[9]Mining fda drug labels using an unsupervised learning technique


論文概要


医薬品添付文書(FDA-approved drug labels)にLDAを適用して医薬品の安全性や効能の観点からグルーピングを行ったという論文。
医薬品添付文書が解析対象のドキュメント。ただし、そのまま使うのではなくMedDRAを使って標準的なADR用語に変換している。そして安全性や効能のパターンをLDAを用いてトピックとして抽出するというシナリオ。

モデル選択


トピック数は天下り的に100としている。根拠は示されていない。

評価方法


トピックを構成する医薬品に安全性と薬効の観点から共通性があるかどうかで評価を行っている。安全性については添付文書に囲み警告文書(BW: Boxed Warning)があるものがどの程度あるか、効能については解剖治療化学分類法(ATC: Anatomical Therapeutic Chemical Classification System)で分類される医薬品がどの程度あるか調べて、それらが7割以上あれば有効であるとしている。

読後感


評価方法が理解しづらかった。
医薬品にトピックを対応させる際、その医薬品のトピック含有率が最大のトピックを割り当てている。つまりこの段階で他のトピックの役割を切り捨てている。
次に、こうして各医薬品に割り当てられたトピックのうち、少なくとも10以上の医薬品を持つトピックのみ残して他は解析対象から除外した。
これは意味のある統計解析とバイアスを取り除くためと述べている。

Bisgin H, Liu Z, Fang H, Xu X, Tong W. Mining FDA drug labels using an unsupervised learning technique--topic modeling. BMC Bioinformatics. 2011;12 Suppl 10(Suppl 10):S11. Published 2011 Oct 18. doi:10.1186/1471-2105-12-S10-S11

医療分野でトピックモデルを利用した研究(その4)

[8]Evaluating disease similarity using latent Dirichlet allocation

テキストで記述された疾患からLDAを用いて疾患間の類似性を求める研究。
LDAによって(疾患ラベルを割り当てた)1,311のドキュメントのトピック分布を求め、トピック分布間のKL-divergenceで疾患間の類似性を測っている。

評価方法:この手法で求めた疾患間の類似性をDO(Disease Ontology)による基準(DOの階層で3階層以内に同一の祖先がいれば同じ疾患とみなすという基準)をGold Standardとして感度特異度分析を行った。

疾患1 疾患2 KL-divergence
D1 D2 d1,2
D1 D3 d1,3
・・・ ・・・ ・・・
D1 D1310 d1,1310
図1.疾患間の類似性

ある疾患Diとそれ以外の疾患Dj (i != j)の組み合わせについてトピック分布のKL-divergenceを計算し(図1)、KL-divergenceの昇順(類似している準)に並べ替え、上からn個がPositive、残りがNegativeとしてGold Standardを使ってnを変えながら感度特異度分析を行う。これによってAUCを1つ得ることができる。

図2.ROC曲線(原論文のFigure 2)

これをすべてのiについて行えば、全部で1,311個のAUCが得られる。

モデル選択(トピック数の決定):トピック数を変えながら感度特異度分析を行って最大AUCを与えるトピック数を最適なトピック数とした。

図3.平均AUCのトピック数依存性(原論文のFigure 3)
なお、図3において抽出単語数を5k, 7k, 10kと変えて実験を行っている。ここで、抽出単語とはあらかじめ設定した基準を上回る出現頻度の単語の集合のことである。

読後感


テキストを対象とした典型的なLDAの応用例。疾患に関するテキストをコーパスとし、LDAによってテキストのトピック分布を求めている。これによって疾患のベクトル表現を得ている。これは広大な単語空間を小数次元のトピック空間に次元削減するのと等価で、これもLDAの一側面を表している。
興味深いのは、テキストを単語空間のベクトルとみなして主成分分析(PCA)を行い、次元削減したものとLDAを比較していることである。
トピック数と同数の主成分を残し、その主成分空間上のユークリッド距離で疾患間の類似性を定義し、LDAの場合と同じやり方でDOをGold Standardに用いて感度特異度分析を行ったところ、なんとほぼ同様な特性を示した。

図4.LDAとPCAにおけるAUCのトピック数(主成分数)依存性

図4では、トピック数がほぼ20あたりでLDAと主成分数が同数のPCAが同程度のAUCを実現している。この結果からトピック数は主成分分析における主成分の数とほぼ同じ役割をしていることがわかる。すなわちデータを要約する上で最適な次元数を表しているものと考えられる。
この知見は当然と言えば当然かもしれない。なぜならLDAであれPCAであれ、次元削減モデルは同じ最適な次元を導き出すだろうから。もし、モデルによって異なる次元数が得られたなら、むしろその方が奇妙である。


医療分野でトピックモデルを利用した研究(その3)

[7]Predicting inpatient clinical order patterns with probabilistic topic models vs conventional order sets


【論文概要】


トピックモデルを使って入院患者に発行するオーダパターンを予測するという論文。入院患者がドキュメント、オーダが単語、そしてオーダパターンがトピックになるのかな・・・。
評価はモデルが予測するオーダパタンと人手で作成した既存のオーダセットと比較して行っている。
評価指標として精度(Precision)と適合率(Recall)を次のように定義する。
精度(Precision)
モデルが予測したオーダのうち実際に発行されたオーダの割合
適合率(Recall)
発行されたオーダのうちモデルが予測したオーダの割合
ここでモデルは20,000人の患者からランダムに抽出した10,655人(~50%)の患者のオーダを用いて構築した。
評価は20,000人の患者からランダムに抽出した4,820人(~25%)の患者の各々に対して入院後最初のオーダセットが発行されてから時間 t 以内に発行された実際のオーダ(これを「正しい」オーダセットと呼ぶ)とモデルが予測したオーダについて表1に示す混同行列を作成して精度と適合率を計算した。

表1.混同行列
    そのオーダは発行されたか
    Yes No
そのオーダは予測されていたか Yes p q
No r s

精度 = p ÷ (p + q)
適合率 = p ÷ (p + r)

なお、あらかじめ人手によって作成された既存のオーダセットに含まれるオーダはすべて発行されるとは限らないので、実際に発行された「正しい」オーダセットと既存のオーダセットは一般に異なる。

ここで、p + r は時間 t 以内に発行された「正しい」オーダセットの数で、そのうちモデルによって予測されたオーダの数が p である。また、 p + q はモデルが予測したオーダの数で、そのうち時間 t 以内に発行されたオーダの数が p である。はトピックモデルに基づくオーダセットにも「正しい」オーダセットにも入っていないオーダ数であるが、これがなくても精度と適合率の計算には支障はない。

ある患者(これを とする)に対してトピックモデルに基づくオーダセットを以下のようにして作成する。
まず患者 のトピック含有率P(Topicj|Patientk)を推定し、トピック にオーダ が含まれる確率P(Itemi|Topicj)を用いて、患者 にオーダ が発行される確率P(Itemi|Patientk)を次式で計算する。
P(Itemi|Patientk) = Σj P(Itemi|TopicjP(Topicj|Patientk)
確率P(Itemi|Patientk)の降順にN個のオーダを並べたものがトピックモデルに基づくオーダセットとなる。ここで、は既存のオーダセットに含まれるオーダ数である。

トピック含有率P(Topicj|Patientk)は患者 に発行された実際のオーダデータを使ってトピックモデルが推定する。その際、患者 は一般にモデルを作成するのに使用した訓練データではなく検証用データである。従ってモデルから検証用データに対するトピック含有率を求める必要があるが、Rのtopicmodelsパッケージを調べてもそのようなメソッドは見当たらない。しかし、PythonのGensimのmodels.ldamodelライブラリにはget_document_topicsという与えられたドキュメントからトピック分布を得るメソッドがある。

次に、表1の混同行列においてトピックモデルによる予測の当否の代わりに既存のオーダセットに含まれているかどうかで区分するとそのオーダセットの精度と適合率が計算できる。これとトピックモデルによる精度と適合率を比較することによりトピックモデルの評価を行う、というのがこの論文での評価方法である。

図1(論文ではFigure 4)に比較した結果を示す。

図1.オーダセットの精度の比較

図1の横軸の は最初にオーダセットが発行されてからの時間(検証時間:followup verification time)である。t によって精度や適合率がどのように変化するのかを見ているのだろう。

最上段のグラフは「正しい」オーダの数の時間変化である。時間とともに「正しい」オーダ(Possible Items)の数は増加する。なぜなら実際に発行されたオーダを「正しい」オーダとしているからである。また、実際に発行されるオーダの中にはモデルが予測したオーダセットに含まれるオーダ(図中のTopic Models)や既存のオーダセットに含まれるオーダ(図中のOrder Sets)があり、その数も時間とともに増えている。

二段目のグラフはトピックモデルと既存のオーダセットの適合率の時間変化である。実際に発行されるオーダの中に、最初のころはトピックモデルが予測するオーダや既存のオーダセットに含まれるオーダの割合は高いだろうから適合率は高いが、時刻とともにその割合も減ってくるだろうから適合率も低くなっていくものと考えられる。

三段目のグラフはトピックモデルと既存のオーダセットの精度の時間変化である。
t が小さいうちは実際に発行されるオーダの数は N に比べて少ないので精度(p / N)は低いが、時間とともに発行されるオーダの数が増えると、その中に含まれるトピックモデルが予測するオーダや既存のオーダセットに含まれるオーダの割合も増えていくので精度も上がっていく。

最下段のグラフはAUC(Area Under Curve)をプロットしたものである。AUCを算出するにはROC曲線をプロットする必要があるが、そのためには多数の(精度, 適合率)の組が必要である。論文のFigure 3の説明には次の記述がある。
Average discrimination accuracy (ROC AUC) when predicting additional clinical orders occurring within t followup verification time of the invocation of a pre-authored order set during the first 24 hours of hospitalization for 4820 validation patients.
また、figure 4 (D)の説明には次の記述がある。
evaluating full ranking of possible orders scored by topic model or included/excluded by order sets
さらに、本文中には次のように書いてある。
Prediction of these subsequent orders is evaluated by the area under the receiver operating characteristic curve (c-statistic) when considering the full score-ranked list of all possible clinical orders. Existing order sets will have N suggested orders to choose from, so we evaluated those N items vs the top N score-ranked suggestions from the topic models toward predicting subsequent orders by precision (positive predictive value) at N and recall (sensitivity) at N.
を大きくしていくと実際に発行されたオーダはほとんどモデルが予測するオーダの中にあるだろう。すると、表1において pr に比べて大きくなるので適合率は1に近づく。一方、N を大きくしていくとモデルが予測するオーダにあって実際に発行されないオーダの数も増えるだろうから qp に比べて大きくなり、精度は0へ近づく。

一方、N を小さくしていくと実際に発行されたオーダのうちモデルが予測したオーダの数は減るので r に比べて p は小さくなり、適合率は小さくなる。その反面、N 自体が小さくなるのでモデルが予測するオーダのトップ N は実際に発行される確率が高くなり、p は q に比べて相対的に大きくなり、その結果精度が大きくなる。

そのため図2のようになると考えられる。

図2.ROC曲線


【モデル選択】


モデル選択、すなわちトピック数Kの決定はAUCのトピック数依存性(図3)をプロットして決定している。

図3.AUCのトピック数依存性

これは、最も「正しい」オーダセットを予測するトピック数を最適なトピック数とみなす考え方である。確かに現実を最も忠実に再現するモデルが良いモデルに違いないのでこの考え方は合理的である。

【読後感】


非常にシンプルなLDAの医療への適用例である。特徴はトピック数Kの決定法とモデルの評価法にある。モデルが実際に発行されたオーダをどのくらい忠実に再現(予測)しているかによってモデルのパラメタであるトピック数を決定している。これはPerplexityによるトピック数決定の手法やheld-outデータによる尤度最大基準による方法と等価である。
モデルの評価に人手で作成した既存のオーダセットを外部基準として用いている。
  1. 果たして既存のオーダセットはモデル評価のための外部基準となりえるのだろうか
  2. オーダセットには様々な種類があると思われるが、それを無視して単にP(Itemi|Patientk)だけでオーダを予測していいのだろうか
  3. 「正しい」オーダセットや既存のオーダセットにはオーダの「発行順序」という概念があるが、トピックモデルによるオーダセットにはない。あるのはその患者に対してそのオーダがどの程度発行され易いかという確率だけである。しかるに精度や適合率を計算するのにオーダの出現準を暗黙に仮定しているが、これはよいのだろうか
といった疑問が残った。


Jonathan H Chen, Mary K Goldstein, Steven M Asch, Lester Mackey, Russ B Altman: Predicting inpatient clinical order patterns with probabilistic topic models vs conventional order sets. Journal of the American Medical Informatics Association, 24(3), 472-480, 2017.


モデル選択

LDAにおけるモデル選択とは最適なトピック数の決定である。最適なトピック数の決定方法として次のようなものがある。

  1. Perplexity
  2. log-likelihood
  3. predictive log-likelihood
  4. HDP (Hierarchical Dirichlet Process)

Perplexityはモデルがどのくらい単語を絞ることができるかという指標。小さいほど良い。これを最小とするトピック数を最適なトピック数と考える。

図1.Perplexityのトピック数依存性

図1はDPCデータに対してPerplexityのトピック数依存性を描いたものである。トピック数が500になってもまだPerplexityは減少傾向にある。

log-liklihoodは訓練データを用いて作成したモデルのパラメタを使って訓練データの対数尤度(の調和平均)を求めたものである。あるブログ記事を読むと、GriffithとSteyvers (2004) によってこの近似法が提案されたとのことである。
DPCデータに対してこの値のトピック数依存性を描いたものを図2に示す。

図2.log-likelihoodのトピック数依存性
図2を見ると、トピック数が350あたりでlog-liklihoodが最大になっている。

predictive log-likelihoodは前回のブログにも書いたように、未知のデータに対して求めた対数尤度である。訓練データで求めた対数尤度はデータにオーバーフィッティングする可能性があるのでこれを避けるのがpredictive log-likelihoodである。
しかし、LDAに対してこれを計算するライブラリが見当たらず計算しあぐねている。

HDPはデータから自動的に最適なトピック数を求める手法である。まだ勉強していないので詳細はわからない。

これら以外に、先に紹介したあるブログ記事IdtuningというRパッケージで最適なトピック数を求めることができると紹介されていた。
ここでは、次の4つの指標が紹介され、それらを計算してトピック数依存性をグラフ表示する例が掲載されている。

  1. Arun2010
  2. CaoJuan2009
  3. Deveaud2014
  4. Griffiths2004

上述したブログ記事によれば最初の3つ(1~3)はトピック間の単語分布の類似性に注目した手法であるとのこと(2はcosine類似性、3はKLダイバージェンスによって類似性を計算し、1も何らかの距離を計算しているらしい)。そして4はlog-likelihoodを用いる方法と同じである。
DPCデータに対してこのIdtuningを使って4つの指標のプロット依存性をプロットしたものを図3に示す。

図3.Idtuningの結果

図3によるとArun2010とCaoJuan2009はトピック数が250~300あたりで最小(最適)になっており、Deveaud2014はトピック数が100で最大(最適)になっている。そしてGriffiths2004はトピック数が450で最大(最適)になっている。

ドキュメントに相当する病院数が1600程度しかないのにトピック数が300~400というのはあまりに多すぎはしないだろうか。


医療分野でトピックモデルを利用した研究(その2)

[4]Identifying Patterns of Associated-Conditions through Topic Models of Electronic Medical Records


【論文概要】


電子カルテ(EMR)に蓄積された患者記録をドキュメント、SNOMED-CTでコーディングされた患者の健康状態(health conditions)を単語とみなしてトピックモデルを適用し、潜在的な健康状態のパターン(latent patterns of associated-conditions:これがトピック)を抽出するという研究。トピック数は20としている。

構築したトピックモデルを評価する方法として以下の2つの評価を行った。

  1. 医学的な妥当性の評価(定性的な評価)
  2. 弁別性(distinctiveness)と気密性(tightness)による定量的な評価

前者は、同一トピック内に高確率で出現する健康状態が関連しあっているかどうかを医学文献で検証することによって妥当性の評価を行っている。

後者の弁別性(distinctiveness)は、トピックの単語分布間のJensen-Shannon Divergenceを計算してトピック間の違いを定量的に評価している。
気密性(tightness)は1つのトピックがどのくらい少ない健康状態(SNOMED-CTコード)で表されるかを計算して評価している。

代表的な6つのトピックについて、出現確率の大きいものを10個抽出したところ、疾患の共起が医学文献で裏付けられたトピックが得られた。

20個のトピック間のJensen-Shannon Divergenceを計算したところ、平均値は0.666、中央値は0.692、そして最小値は0.483となった。Jensen-Shannon Divergenceは、2つの確率分布間の"距離"を表す量で、2つの分布が同一の場合は0に、まったくオーバーラップしない場合はln2 (~0.693)になるので、この結果は十分な弁別性を示している。
トピック内の出現確率が閾値(0.01)を超える健康状態(SNOMED-CTコード)の数を数えたところ、180あるSNOMED-CTコードのうち10以下のコードを合わせたものが9割を超えており、このことから十分な気密性を示していることがわかる。

【読後感】


LDAのテキストマイニング以外への応用としては興味深いものであった。しかし、医学文献による定性的な評価方法は説得力に欠く印象をぬぐえない。すべてのトピックについて検証したわけでもなさそうだし、類似したSNOMED-CTコードがLDAによってうまくグルーピングされたという客観的な証拠にはならないような気がする。
定量的評価方法については、弁別性(distinctiveness)といい気密性(tightness)といい計算が簡単な割には興味深い指標だと思った。しかし、これらはトピック間は健康状態空間における分布として大きく異なり、各トピックはわずかな健康状態で記述できる(高次元健康状態空間上のトピックが低次元健康状態空間で表現されている)ということを言っているだけで、トピックの解釈については何も触れていない。
最後に、なぜトピック数が20なのか根拠が示されていない(トピック数を14にしても結果はあまり変わらなかったとは書いていたが)。



[5]Interpretable Topic Features for Post-ICU Mortality Prediction.


【概要】


ICU退院後の死亡率(post-discharge ICU mortality)の正確な予測と透明性のある予測モデルの作成を目的に、ICD-9-CMコードをラベルに用いたLabeled-LDA (Latent Dirichret Allocation)を使って患者の診療記録(medical notes)から理解可能なトピック特性表現(topic feature representations)を取り出した。

近年、トピックモデルを用いて死亡率の予測精度を改善しようという試みが行われているが、トピックそのものはフラットな単語の集まりに過ぎず、その臨床的な解釈には専門家による吟味が必要となる。

この研究では解釈可能なトピックを自動的に定義する手法を提案している。その手法とは、ICD-9-CMコードをLabeled-LDAのトピックに用いてモデルの学習を導き、診療記録から理解可能なトピック特徴表現(understandable topic feature representations)を抽出するという方法である。

Labeled-LDAのラベルとしてICD-9-CMを用いる利点には次の2つがある。

  1. ある患者の診療記録はその患者に割り当てたICD-9-CMコードに対応するトピックにのみ寄与する
  2. トピックの解釈はICD-9-CMコードの定義とそのトピックに含まれる単語集合をとおして達成される

モデルを訓練する段階ではICD-9-CMコードを使っている。しかしながら、患者が退院してしまうとICD-9-CMコードは利用できなくなるので、予測モデルの特徴量としてICD-9-CMコードを直接含めることができない。Labeled-LDAを使えばこの問題を回避できる。なぜならば、予測段階ではICD-9-CMコードに対応するトピックの割合を推測するのにICD-9-CMコードを必要としないからである。これは、トピックに高確率で含まれる単語を特徴量に用いて文書のトピック含有率を予測するからである。

【評価方法】


提案手法の評価は、得られたトピック含有率を特徴量に用いてSVMでICU退院後の死亡率(post-discharge ICU mortality)を予測することによって行っている。すなわち、外部基準として予測の精度を用いているわけである。死亡率の予測は、もとをただせば死亡/生存の分類問題であるから本質的にこれまで読んできた文献と同じである。トピックモデルの評価はやはりこれしかないのだろうか。
予測する死亡率は30日後と6か月後の2つで、6か月後死亡率の予測SVMモデルの特徴量に用いるのは以下の3パターンである。

  1. ベースライン:年齢、性別、入院時のSAPS-Ⅱスコア(ICUの重症度スコア)、最小SAPS-Ⅱスコア、最大SAPS-Ⅱスコア、Elixhauser Comorbidity Index(30個のへ依存症を考慮に入れたICU重症度の補正指標)
  2. ベースライン+通常のLDAから得られた50個のトピック含有率
  3. ベースライン+Labeled-LDAから得られた50個のトピック含有率(提案手法

30日死亡率予測モデルでは、最小SAPS-Ⅱスコア、最大SAPS-Ⅱスコア、ICD-9-CM由来のElixhauser Comorbidity Indexを特徴量から取り除いている。これは、ICD-9-CMコードの割り当ては通常退院後2週間まで有効とされているからで、それ以降はICD-9-CM由来のElixhauser Comorbidity Indexを特徴量に用いることは適切ではないからである。

【結果】


最も予測精度が高かったのは、baseline + LDA with 50 topicsで、30日死亡率の予測でAUCが0.860、6か月死亡率は0.842だった。次いで baseline + Labeled-LDA with 111 labelsで、各々0.835、0.829だった。これに対してbaselineのみでは、それぞれ0.736、0.776であった。
この結果からLDAで得たトピック成分を特徴量に用いると予測精度が高くなることが分かったが、Lableled-LDAよりも純粋なLDAの方が精度が高いという結果となった(Table 2)。これは、本文に書かれていることと矛盾する。
しかし、Discussionに書かれているように純粋なLDAは専門家によるトピックの解釈が必要になる。これに対してLabeled-LDAを用いればTable 3に示すようなトピック別(つまりICD-9-CMコード別)死亡率を推定できる。
また、興味深いことにLabeled-LDAモデルは、トピックに関連付けられた単語によって、潜在的に異なる疾患の間の関係を発見する能力を持っている。例えば、"Other metabolic and immunity disorders(他の代謝疾患及び免疫疾患)"に関連付けられたトピックに頻出する単語に、chest(胸部)、artery(動脈)、coronary(冠状)、cabg(冠動脈バイパス手術)などがあるが、これは循環器疾患と代謝疾患に関連性があることを示している。これは、ラベルの頻度や相互依存性を考慮したLabeled-LDAを用いれば異なるラベル間の相関を探索できる可能性があることを示唆している。

【読後感】


Labeled-LDAというものをはっきりと勉強したわけではないのでぼんやりとしか理解できないのだが、この手法は、LDAの大きな欠点である「得られたトピックの解釈困難性」を緩和する手法のように思われる。
モデルを学習するときラベルを与えることにより、トピックを明示的に定義できる。つまり、当該トピックに関連するドキュメントのみを与えることによってトピックの意味をモデルに教えている。LDAと同じように得られたトピックは単語分布になる。これを用いてトピックの予測は単語を使って行うが、トピックにはラベルが対応しているので、それを用いてトピックの意味を解釈できる。つまり、こうだ。モデルに文書を与えると、モデルは文書のトピック分布を返す。各トピックにはラベルがついているので、その文書の解釈が可能となる。

これは文献[2]と手法が似ていると感じた。文献[2]では請求データというドキュメントから疾患というトピックを推測し、その中で最もコストのかかったトピック(疾患)を最大資源投入疾患としている。そこでもLabeled-LDAを用いている(ラベルはDPCコード?)。

この論文を読んで感心したのは、

  1. 退院後はICD-9-CMコードが付与されていないにも拘わらず、ICD-9-CM別の死亡率を予測できること
  2. トピックに高確率で含まれる単語を用いて疾患間の関係を調べることができること

である。

Yen-Fu Luo, Anna Rumshisky: Interpretable Topic Features for Post-ICU Mortality Prediction. AMIA 2016 Annual Symposium Proceedings, 827-836, 2016.


[6]Identifying prescription patterns with a topic model of diseases and medications


【論文概要】


DMPM(disease-medicine pattern model)という拡張版トピックモデルを使って大量の保険請求データを解析し、疾患と処方薬の関係から処方パターンを抽出した。
この研究では処方せんをドキュメント、その中に含まれる疾患(ICDコード)や処方薬を単語、処方パターンをトピックとみなしている。
DMPMの生成プロセスを図1に示す。

図1.DMPMの生成プロセス

また、グラフィカルモデルを図2に示す。

図2. DMPMのグラフィカルモデル

DMPMはLDAを拡張して各々の処方せんについて処方薬と疾患を生成するプロセスを加えている。
疾患は、図1のBのiiで生成し、医薬品はBのiiiのaで生成している。
通常のLDAであれば、図2において、ハッチのかかったノードDが単語に相当し、一番外側の四角はドキュメントの繰り返し、その内側の四角は単語の繰り返しを表し、ノードMに相当する確率変数はない。
これに対してDMPMでは、個々の患者pに対してトピック分布(この論文ではトピックという用語ではなくパターンという用語を使っている)θpをαをパラメタとするディリクレ分布から生成し、その患者に対して発行された個々の処方せんのトピックzp,rをθpをパラメタとする多項分布から生成する。疾患d(図2中のノードDのインスタンス)は、トピックzp,r=kに対するβkをパラメタとする多項分布から生成する。また、処方薬m(図2中のノードMのインスタンス)は、トピックzp,r=kに対するγkをパラメタとする多項分布からNpr個生成する。
このモデルで推定するパラメタは

  1. θp = {θp,k}:患者pにトピックkが含まれる割合(患者pのトピックk含有率)
  2. βk = {βk,d}:トピックkに疾患dが含まれる割合(トピックkの疾患d含有率)
  3. γk = {γk,m}:トピックkに医薬品mが含まれる割合(トピックkの医薬品m含有率)

の3つである。

【評価方法】


得られたモデルの評価方法としては、これまでは最大トピック含有率を与えるトピックでドキュメントを分類したり[1]、トピック含有率を新たな特徴量に使って分類問題の精度を比較する[5]といった外部基準を使った評価手法が多かった。
この研究では{βk,d}や{γk,m}でパターン(トピック)間の類似度(cosine類似度、K-L divergence、Jensen-Shannon divergence)を計算し、他の手法(ICDコードによるグルーピングや疾患LDA、医薬品LDA)に比べて年齢、性別、居住地などの患者属性による違いをどのくらい顕著に区別できるかを定量的に評価している。
一例として年齢による患者の多様性をDMPMとICDによるカテゴリ化で比べたのが図3である。

図3. 年齢による多様性の捕捉(上:DMPM、下:ICD)

図4.他のグルーピング手法との比較

【読後感】


著者らはICDのような標準コードを用いた疾患のカテゴリ化を「トップダウン方式」と呼び、それに対して提案手法によるデータに基づいたカテゴリ化を「ボトムアップ方式」と呼んで両者の比較を行っている。
また、それらの類似点や差異をもとに本手法の妥当性(ICDによるカテゴリをある程度再現しているから妥当だ)の評価と有効性(ICDによるカテゴリ化では説明できない事実を捉えているので有効だ)を議論している。
たとえば同じ疾患でも使用する医薬品が異なるとか逆に異なる疾患に同じ医薬品を処方しているかといった知見を得ている。
この研究の興味深い点は疾患と医薬品の両方を単語とみなしてLDAを拡張しているところである。これによってパターン(トピック)を疾患含有率ベクトル{βk,d}と医薬品含有率ベクトル{γk,m}の2通りで表現し疾患と医薬品の相関を議論している。

ドキュメントにラベルが付けられていたら図3のようなグラフを描いて、トピックモデルを使った場合とラベルだけを使った場合でどのような違いが見られるか(ラベルだけでは捕捉できないどのような特徴をトピックモデルで捉えることができるか)を議論するのは興味深い。

また、図5のようなグラフを描いてラベル別のトピック含有率を比較するのも面白いかもしれない。

図5.ICDによるカテゴリ化とDMPMによるパターンとの比較

【モデル選択】


この論文ではモデル選択(最適なトピック数の推定)手法としてPerplexityとpredictive log-likelihoodの2つの方法を用いてトピック数=15が最適であるとしている。
RのtopicmodelsパッケージにはPerplexityを計算するメソッドはあるが、predictive log-likelihoodの計算メソッドは見当たらない。
predictive log-likelihoodは未知データRnewを使ってP(Rnew)で計算する。topicmodelsのLDAメソッドは訓練データからモデルを作成する。LogLiksというメソッドを使えば作成したモデルからlog-likelihoodを計算できるが、これはP(Rtrain)なので、トピック数Kを増やせばいくらでも大きくすることができる(オーバーフィッティング)。
P(Rtrain)を計算するメソッドはないのだろうか。"Perplexity To Evaluate Topic Models"にはPerplexityはpredictive log-likelihoodと等価であると書いてあるが・・・。

P(Rnew)を計算する方法を考えてみよう。LDAの生成モデルでは、ドキュメントr∈Rnewのトピック分布θkからトピックkを選び、トピックkの単語分布φk,wから単語wを選択した結果、単語wがrに現れると考える。これをRnewだけで計算するにはどうすればよいのだろう?そもそも、単語wがどのトピックから生成されたなどどうしてわかるのだろうか?単語wはトピックkからφk,wの確率で生成されるのだから単語だけではトピックは決定できない。
これがpredictive log-likelihoodの計算メソッドが提供されていない理由なのかもしれない。
しかし、この論文では(8)式を使ってpredictive log-likelihoodを計算している。ポイントはwのトピックkなどわからないので、期待値E[θk|Robs,Θ]を使って近似しているところだ。これを使えば最終的にpredictive log-likelihoodはモデルのパラメタ{βk,d}、{γk,m}を使って(9)式で求めることができるとのこと(途中の式の展開はよくわからないのでフォローできていない)。これを用いて図6に示すpredictive log-likelihoodのトピック数K依存性が得られたということである。

図6.predictive log-likelihoodのパターン数(トピック数)依存性
訓練データを用いて計算したlog-likelihoodはトピック数の増加に伴っていくらでも増加する。これはモデルがデータにオーバーフィッティングしているためだと考えられる。したがってトピック数Kの決定にはpredictive log-likelihoodを用いるべきではないだろうか。
論文中の式(8)のE[θk|Robs,Θ]はどのようにして求めるのだろうか?

Park S, Choi D, Kim M, Cha W, Kim C, Moon IC: Identifying prescription patterns with a topic model of diseases and medications. Journal of Biomedical Informatics archive, 75C, 35-47, 2017.

ChatGPT は、米国の医師免許試験に太刀打ちできるか?

A Gilson et al.: How Does ChatGPT Perform on the United States Medical Licensing Examination? The Implications of Large Language Models for ...