Large language models for data extraction from unstructured and semi-structured electronic health records: a multiple model performance evaluation
| 項目 | 内容 |
|---|---|
| 論文ID | P16 |
| 区分・分類 | 論文・情報抽出 |
| 著者・所属 | Vasileios Ntinopoulos, Hector Rodriguez Cetina Biefer, Igor Tudorache, Nestoras Papadopoulos, Dragan Odavic, Petar Risteski, Achim Haeussler, Omer Dzemali(Department of Cardiac Surgery, University Hospital of Zurich / Municipal Hospital of Zurich – Triemli, Zurich, Switzerland) |
| 発表先 | BMJ Health & Care Informatics |
| 発表日 | 2025-01-01 |
| 引用数 | 90(OpenAlex 2026-10-06時点) |
| 言語 | 英語 |
| URL | https://doi.org/10.1136/bmjhci-2024-101139 |
| 論文/pdf/P16.pdf | |
| 読んだ範囲 | 全文 |
論文タイプ
評価。新手法の提案はなく、既存の18種のLLMを同一タスク・同一プロンプトで横並び比較し、ベースライン(RoBERTa)に対する性能を測定した論文。
研究の目標
電子カルテ(紹介状・退院サマリー・放射線/病理レポート等)の非構造化・半構造化テキストからのデータ収集は、時間がかかり誤りも多く、医師の患者対応時間を圧迫している。複数のLLMが利用可能になっているにもかかわらず、電子カルテからのデータ抽出性能を包括的に比較した評価は存在しなかった。本論文は、エンティティ抽出と二値分類からなるデータ抽出タスクで多数のLLMの性能を評価し、電子カルテからの構造化データ抽出への適用可能性を見極めることを狙う。
技術的なやり方
| 項目 | 内容 |
|---|---|
| データ | 英語の合成医療ノート50件。実患者データは機微なため使わず、心臓外科の専門医1名(VN)が手書きで作成し2名(VN, HRCB)が検証(完全一致、第三者再評価不要)。LLMは作成に不使用。中央値192語(四分位152–239) |
| ノート構成 | 構造化部:患者ID、入院日、退院日、EuroSCORE 2値。非構造化部:術後経過の自由記述 |
| ノイズ | 対象合併症と意味的に近いが異なる合併症の記述、タイポ、文脈依存の略語、つなぎ文を意図的に追加 |
| タスク | エンティティ抽出4件(患者ID、EuroSCORE 2、入院日、退院日)+二値分類5件(stroke、reoperation due to bleeding or cardiac tamponade、pacemaker implantation、atrial fibrillation、pleural tap)。各合併症は陽性50%になるよう乱数で割付(クラス均衡)。1LLMあたり計450予測(抽出200+分類250) |
| 評価対象 | 18 LLM:GPT 4、GPT 3.5、Claude 3.0 Opus/Sonnet/Haiku、Claude 2.1/2.0/1.0、Gemini Advanced、Gemini、PaLM 2 chat bison、Llama 3-70b/8b、Llama 2-70b/13b/7b chat、Mistral 7b instruct、Cohere command。ベースラインはSQuAD2.0でfine-tuneしたRoBERTa base(QA用) |
| プロンプト | zero-shot。指示文(413語)とノート1件を同時に1プロンプトで入力し、全変数を表形式で返させる。複数患者同時入力や指示文を最初の1回だけ入力する方式はハルシネーションが出たため不採用。temperatureはデフォルト。RoBERTaは質問を1件ずつ入力 |
| アクセス経路 | OpenAI API、OpenRouter.ai API、Replicate API、Cohere API、Hugging Face推論エンドポイント。Gemini/Gemini Advancedは著者国でAPI未提供のためWebサイト経由 |
| 指標 | 二値分類:accuracy、recall、precision、F1。エンティティ抽出:accuracyのみ。総合accuracyは両者の合算。欠損値と「0/1」以外の値は誤答扱い。一貫性は同一プロンプト3回実行のKrippendorff's alphaと全回一致数。3回のうち1回でも誤答なら誤答として集計。1000回ブートストラップで95%CI |
結果
総合accuracy(450予測)と3回実行の一貫性(Table 1・Table 2より):
| モデル | 総合accuracy | Recall | Precision | F1 | Krippendorff's α | 全回一致数/450 |
|---|---|---|---|---|---|---|
| Claude 3.0 Opus | 0.995 | 1 | 0.984 | 0.992 | 0.996 | 448 |
| Claude 3.0 Sonnet | 0.988 | 1 | 0.976 | 0.988 | 0.991 | 445 |
| Claude 2.0 | 0.988 | 1 | 0.961 | 0.98 | 1 | 450 |
| GPT 4 | 0.988 | 0.976 | 0.983 | 0.979 | 0.992 | 446 |
| Claude 2.1 | 0.986 | 1 | 0.954 | 0.976 | 0.998 | 449 |
| Gemini Advanced | 0.982 | 0.96 | 0.983 | 0.971 | 0.985 | 442 |
| PaLM 2 chat bison | 0.982 | 0.984 | 0.953 | 0.968 | 0.996 | 446 |
| Llama 3-70b | 0.982 | 1 | 0.939 | 0.968 | 0.989 | 444 |
| Gemini | 0.957 | 0.92 | 0.958 | 0.938 | 0.968 | 431 |
| GPT 3.5 | 0.948 | 0.984 | 0.854 | 0.914 | 0.982 | 440 |
| Claude 1.0 | 0.931 | 0.856 | 0.906 | 0.88 | 0.954 | 424 |
| Llama 2-70b chat | 0.924 | 0.944 | 0.813 | 0.874 | 0.971 | 433 |
| Llama 3-8b | 0.902 | 0.96 | 0.888 | 0.923 | 0.952 | 423 |
| Claude 3.0 Haiku | 0.902 | 1 | 0.791 | 0.883 | 0.957 | 426 |
| Llama 2-13b chat | 0.824 | 0.744 | 0.664 | 0.701 | 0.922 | 406 |
| RoBERTa base SQuAD(ベースライン) | 0.742 | 0.4 | 0.98 | 0.568 | 0.988 | 444 |
| Cohere command | 0.686 | 0.488 | 0.535 | 0.51 | 0.853 | 328 |
| Llama 2-7b chat | 0.671 | 0.232 | 0.483 | 0.313 | 0.87 | 343 |
| Mistral 7b | 0.58 | 0.4 | 0.416 | 0.408 | 0.701 | 270 |
- 上位8モデルが総合accuracy 0.98超。15モデルがベースラインRoBERTa(0.742)を上回った
- エンティティ抽出:9モデル(Claude 3.0 Opus、Claude 2.0、GPT 4、Claude 2.1、PaLM 2 chat bison、Llama 3-70b、GPT 3.5、Llama 2-70b chat、Llama 2-13b chat)がaccuracy 1。RoBERTaは200件中40件誤り
- 二値分類:Claude 3.0 Opus、Claude 3.0 Sonnet、Claude 2.0、GPT 4の誤りがそれぞれ2、3、5、5件。RoBERTaは250件中76件誤り
- 上位8モデルはRoBERTaに対し総合accuracyで32%以上、recallで140%以上、F1で70%以上高い。precisionはClaude 3.0 Opus・GPT 4・Gemini Advancedが最大0.4%高く、他5モデルは最大−4.1%低い
- 一貫性:Claude 2.0が3回とも完全一致(α=1)。上位8モデルのうちGemini Advancedのみベースラインより低い(−0.3%)
- 欠損値:Cohere command 74、Llama 2-7b chat 55、Mistral 7b instruct 18、PaLM 2 chat bison 2、Gemini 1、Llama 2-70b chat 1(3回合計)。要求外の値:Llama 2-13b chat 97、Claude 1 25、Mistral 7b instruct 2。0/1以外への誤分類:Mistral 7b instruct 7、Gemini Advanced 2、Llama 2-13b chat 1
- 上位8モデルは要求外の値を一切返さなかった。PaLM 2 chat bisonの欠損2件とGemini Advancedの誤分類2件を除き、欠損・誤分類なし
- 有病率50%のため、分類accuracyはrecallとspecificityの平均と一致(補足資料)
限界・課題
- 短い合成ノート、少数のタスクに基づく評価で、3水準以上のカテゴリ変数の分類は未評価
- ノートは専門家1名が作成したため文章の多様性が限られ、施設・地域・国ごとの記法や略語の違いへの一般化に懸念。ノイズは加えたが実テキストより整いすぎている可能性
- 心臓外科の術後経過に限定した評価で、他診療科・他の文脈への一般化は限定的
- 入力テキストが長くなると性能が落ちる可能性(Lost in the Middle、RULERの知見を引用)
- 実患者データを院外のクラウドに送ることはデータガバナンス・倫理審査上の重大な障壁。オープンソースLLMのローカル稼働や匿名化が代替策だが、計算資源や退院サマリーの匿名化の難しさがある
- zero-shotのみで評価(few-shotの方が高性能とされるが、人間の実務に近いためzero-shotを採用)
- 一部LLMでハルシネーション(要求外の値)が観察された
- LLMは人間と同様、記録に書かれたことしか抽出できない
- 実データでの大規模検証が必要
要点
合成した心臓外科の術後ノート50件で18種のLLMを横並び評価し、Claude 3.0 Opusを筆頭に8モデルがzero-shotで総合accuracy 0.98超・3回実行でほぼ完全一致と、ベースラインRoBERTa(0.742)を大きく上回った。 ただし合成データ・単一診療科・短文の評価であり、実データでの検証と機微情報の扱い(ローカル稼働や匿名化)が今後の課題。