TL;DR
院内で動くLLMに、パターン規則と臨床NERを並列で重ね、検出器が失敗したら出力しないfail-closed方式の匿名化ツールDeidSharpを評価した論文。看護記録では再現率重視構成が98.9%でStanford/Pennより高く精度は9.3ポイント低い一方、精度重視構成は再現率96.5%で同等かつ精度83.2%。退院サマリでは無類型の生成名で大きく上回るが、deidのホームコーパスでは有意に勝てず、LLMの自己検証は真のPHIの約4分の1を捨てた。
既存手法との違い
比較は、deid 1.1(デフォルト/看護記録向けリストなし/病院リストもなし)、Philter 1.0.3デフォルト、Stanford/Penn de-identifier(トークン分類+単純なスパン集約、hide-in-plain-sightなし)、OpenAI Privacy Filter(デフォルト)、GLiNER multi-PII(閾値0.5、Safe Harbor型を平易語で指定、160語窓・40語重複)を、原則デフォルト/公開設定のまま報告用半分で比較。看護記録889スパン、退院サマリ29,023スパン、ASQ-PHI 2,976スパン(全体)で、患者単位のペア付きブートストラップ区間を用いた。deid・Philterなどとの比較は事前指定ではなく探索的。看護記録では再現率重視がStanford/Pennより高再現率・低精度、精度重視が同等再現率・高精度。退院サマリでは両構成がStanford/Pennを20ポイント超上回るが主に無類型名。deidのホームコーパスでは有意に勝てず、Philterは退院サマリでより多く検出するが精度は23ポイント低い。
使える条件
対象は米国Safe Harbor範囲の臨床ノート匿名化(評価は英語の看護記録と半合成退院サマリ、合成検索クエリ)。ローカルワークステーション(RTX 5080 16GB、CPUで臨床NER sidecar)で、.NET 10、Ollama経由のGemma 4 26B-A4B(4bit量子化)、Presidio+RoBERTa(obi/deid_roberta_i2b2)を利用。テキストを外部送信せず、検出器エラー時は出力しないfail-closed運用。構造化レコード由来の既知識別子検出とリークガードは今回未実行。他言語・他法域・本番運用は提示本文からは確認できない。
限界と未検証の範囲
評価は検出のみで、既知識別子検出器とリークガードは未実行。看護記録はdeidの開発元コーパスで、PHIは現実的な代替値、退院サマリはMIMICのプレースホルダを規則で埋めた半合成で、goldはMIMIC側の匿名化結果に依存。ASQ-PHIはheld-out半分がなく開発中に参照。看護記録は163患者で区間が広い。事前指定プロトコルはGitタグで公開され外部レジストリではない。deid・Philter等との比較は探索的。単一ワークステーション・単一モデル設定で、LLMの自己検証は真のPHIの約4分の1を捨て、NERは場所名を補うが精度コストが大きい。臨床現場への一般化や他言語での性能は提示本文からは確認できない。
解説
ねえ智也くん、この論文ってローカルLLMで臨床文書を匿名化するやつ?なんでまたそんなことするの?
診療記録を研究に使うには名前や日付を消す必要がある。でも手作業は無理。外部APIに送るのも規約で難しいことが多い。だから院内で動くLLMを使う意義が大きい。
ふーん。で、DeidSharpは何を組み合わせたの?
パターン規則、臨床NER、ローカルLLMを並列で走らせて、検出したスパンを全部置換する。どれかが失敗したら出力しないfail-closed方式。既知識別子検出とリークガードは今回の評価では動いてない。
全部の検出器の和集合だから再現率寄り?精度はどうなるの?
そう。複数構成を看護記録の調整用半分で固定して、報告用半分で比較した。看護記録889スパン、退院サマリ29,023スパン、ASQ-PHIは合成クエリ全体2,976スパン。
比較相手は?
deid、Philter、Stanford/Pennのde-identifier、OpenAI Privacy Filter、GLiNER。基本はデフォルトか公開設定。患者単位のペア付きブートストラップ区間。ただdeidやPhilterとの比較は事前指定じゃなく探索的。
結果は?
看護記録で再現率重視はStanford/Pennより98.9%、+2.8ポイント(CI 1.4〜4.4)だけど精度は9.3ポイント低い。精度重視は再現率96.5%で同等、精度83.2%で19.6ポイント高い。
退院サマリは?
両構成がStanford/Pennを20ポイント超上回る。でもほぼ生成された無類型名のおかげ。型付きラベルだけなら三つとも99%超。deidのホームコーパスでは有意に勝てず、Philterは退院サマリでより多く見つけるけど精度は23ポイント低い。
LLMは主役なの?
主検出器はLLM。NERは主に場所名を補う。でも自己検証させると真のPHIの約4分の1を捨てた。あとNERは精度コストが大きい。
使える条件は?
英語のSafe Harbor範囲の臨床ノート。ローカルワークステーションで、.NET 10、OllamaのGemma 4 26B-A4B 4bit、Presidio+RoBERTa。CPUで臨床NER sidecar。外部送信なし。他言語や他法域、本番運用は提示本文からは確認できない。
限界は?
検出だけの評価で、既知識別子とリークガードは未実行。看護記録はdeidの開発元コーパス、退院サマリは半合成でgoldはMIMICの匿名化依存。ASQ-PHIはheld-out半分なし。看護記録は163患者で区間広い。プロトコルはGitタグで外部レジストリじゃない。単一モデル・単一ワークステーション。
なるほどね。なんか、LLMが「これはPHIじゃない」って言い張って大事な名前捨てちゃうの、私のダイエット中の誘惑と同じくらい危ういね。
例えが雑。しかもそれ、再現率が落ちるって話だから笑えない。