メインコンテンツへスキップ

Case研究文献処理系

PubMedの検索式をClaudeに組んでもらって、SRの前処理を半日で終わらせる

LLM×患者教育のSRを進める中で、PubMed検索式の設計をClaudeに任せた話。MeSHタグ・PICO変換・絞り込み条件の組み立てを丸投げして、体感で検索設計の時間が6割減った。

小児科医 / 卒後10年目 / 中規模総合病院(愛育病院)Claude / PubMed API7 min

効いた点

検索式設計の所要時間が体感で6割減。ノイズが多かった初期案から絞り込み条件を段階的に追加でき、最終的な一次スクリーニング対象を当初想定の半分以下に圧縮できた

限界

ClaudeのMeSH提案は必ず公式MeSH Databaseで実在確認が要る。検索式のロジックは自分で読んでから流す。PubMed以外(EMBASE・CINAHL)は別途対応。AI出力の引用件数や統計は実際の検索結果と突合必須

場面

SRのPubMed検索式設計(PICO分解・MeSH選定・フィルタ設定)

入力

研究疑問をPICOに分解してClaudeに渡し、MeSHタグ付き検索式・同義語展開・除外条件を一括出力させる。出てきた式をPubMedに流して件数を確認し、過不足があればその場で調整を依頼する

状況

LLM×患者教育の効果を問うSystematic Reviewを進めている。検索対象は「一般人(患者・家族)へのLLM介入が知識・理解・行動変容に与える影響を検討したRCT」。

最初に自分で検索式を組もうとしたが、すぐ詰まった。MeSHの正式名称が思い出せない。"LLM"をPubMedはどう索引しているのか、そもそもMeSHにあるのかも分からない。フリーテキストで突っ込んだら5,000件を超えてしまい、絞り込み条件をどう追加するかで半日消えそうになった。

SRで一番時間を食うのはスクリーニングより前の「検索設計」だと思っている。ここをClaudeと一緒にやったら、大幅に短縮できた。

やったこと

まずPICOを言語で整理して、まるごとClaudeに渡す。

以下のSRのPubMed検索式を組んでください。

【PICO】
P: 一般人(患者・家族・健康成人)
I: LLM(大規模言語モデル)による教育介入
C: 通常教育 or LLMなし
O: 知識・理解・満足度・行動変容のいずれか

【要件】
- 各PICO要素に対応するMeSH termsを選定(PubMedで有効なもののみ)
- フリーテキストと組み合わせた検索式を出力
- 動物実験・case reportを除外する条件を含める
- PubMedに貼れる形式で出力

返ってきた式はこんな形になる。

(
  "Patients"[Mesh] OR "Family"[Mesh] OR "Health Literacy"[Mesh]
  OR "patient" OR "caregiver" OR "family member"
)
AND
(
  "Large Language Models" OR "LLM" OR "ChatGPT" OR "GPT-4"
  OR "Artificial Intelligence"[Mesh] OR "Natural Language Processing"[Mesh]
)
AND
(
  "Patient Education as Topic"[Mesh] OR "Health Education"[Mesh]
  OR "patient education" OR "health communication"
)
AND
(
  "Knowledge"[Mesh] OR "Patient Satisfaction"[Mesh]
  OR "knowledge" OR "comprehension" OR "health behavior" OR "behavior change"
)
NOT ("Animals"[Mesh] OR "Case Reports"[Publication Type])

これをそのままPubMedに入れて件数を確認する。多すぎたら絞り込みを追加で依頼する。

今の検索式で約1,200件ヒットしました。
RCT・quasi-experimental designに絞り、かつ2020年以降に限定したい。
検索式を修正してください。

これを繰り返して、体感3〜4往復で100〜200件レンジに落ち着く。途中でMeSHが怪しいと思ったら「"Natural Language Processing"[Mesh] はPubMedで有効か確認して」と聞き直す(実際には自分でMeSH Databaseにアクセスして確認する)。

拡張方向に動かしたいときも同じ要領で依頼する。

"LLM" の同義語展開が薄い気がします。
"conversational AI" "generative AI" "foundation model" など
追加すべきフリーテキストを提案してください。

効いたところ

  • 検索式の初稿を出すまでの時間が体感で6割減った。ゼロから自分でMeSHを引く作業がなくなる
  • ブール演算子の構造(PICO要素間はAND、要素内はOR)を自動で整えてくれるので、論理の抜けが減る
  • 「除外条件が足りないと思ったら何を追加するか」を言語で聞けば選択肢が出てくる。自分で全パターンを思い出す必要がない
  • 検索式が読みやすいブロック構造で出てくるので、論文の方法欄にそのまま転記しやすい

限界・気をつけていること

ここはAIに任せたまま進めると後で問題が出る。

  • MeSH実在確認は自分でやる: ClaudeのMeSH提案は公式MeSH Database(ncbi.nlm.nih.gov/mesh)で必ず確認。存在しないMeSHを自信満々に出してくることがある
  • 検索式のロジックは必ず読む: 出力された式を目視で読まずにPubMedに貼らない。NOTの位置が意図と違うことがある
  • 件数はPubMedの実数を信じる: 「この検索式で約X件ヒットする」とClaudeが言っても、実際の件数は自分で確認する。AIは検索実行できないので推測値になる
  • PubMed以外のDBは別途対応: EMBASE・CINAHLはMeSHではなくEmtree・CINAHLヘディングを使う。PubMed式をそのまま流用しても動かない。別DBの検索式は別セッションでDB固有の語彙を指定して組み直す
  • 方法欄への明記: 検索式設計にLLMを補助的に使ったことは論文の方法セクションに明記する

横展開

同じパターンで使えるのは、PICO確定後の検索設計全般。疾患が変わっても、「PICOを整理してClaudeに渡す→出てきた式を確認・調整→PubMedで確認→繰り返す」の流れは変わらない。

他のデータベースでも、MeSHをそのDBの統制語彙に置き換える前提でClaudeに「EMBASEのEmtree版に変換して」と依頼すれば初稿は出る。精度は落ちるが、ゼロから起こすよりは速い。

検索式が固まったあとの一次スクリーニング(abstractのinclude/exclude判定)はまた別のClaudeの使い方になる。そちらはSystematic Reviewの一次スクリーニングを、Claudeで200件→40件に絞るにまとめた。