翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Comprehend Medical と大規模言語モデルの組み合わせ
NEJM AI による 2024 年の研究
-
Amazon Comprehend Medical からの最初の結果を LLM のコンテキストとして使用して、エンティティ選択の精度を高める
-
カスタムエンティティ認識、要約、質疑応答、その他のユースケースを実装する
このセクションでは、取得拡張生成 (RAG) アプローチを使用して Amazon Comprehend Medical を LLM と組み合わせる方法について説明します。Retrieval Augmented Generation (RAG) は、LLM がレスポンスを生成する前にトレーニングデータソースの外部にある信頼できるデータソースを参照する生成 AI テクノロジーです。詳細については、「RAG とは
このアプローチを説明するために、このセクションでは ICD-10-CM に関連する医療 (診断) コーディングの例を使用します。これには、イノベーションを加速するためのサンプルアーキテクチャとプロンプトエンジニアリングテンプレートが含まれています。また、RAG ワークフロー内で Amazon Comprehend Medical を使用するためのベストプラクティスも含まれています。
Amazon Comprehend Medical を使用した RAG ベースのアーキテクチャ
次の図は、患者ノートから ICD-10-CM 診断コードを識別するための RAG アプローチを示しています。Amazon Comprehend Medical をナレッジソースとして使用します。RAG アプローチでは、取得方法は一般的に、該当する知識を含むベクトルデータベースから情報を取得します。ベクトルデータベースの代わりに、このアーキテクチャは取得タスクに Amazon Comprehend Medical を使用します。オーケストレーターは、患者メモ情報を Amazon Comprehend Medical に送信し、ICD-10-CM コード情報を取得します。オーケストレーターは、このコンテキストを Amazon Bedrock を介してダウンストリーム基盤モデル (LLM) に送信します。LLM は ICD-10-CM コード情報を使用してレスポンスを生成し、そのレスポンスはクライアントアプリケーションに送り返されます。

この図は、次の RAG ワークフローを示しています。
-
クライアントアプリケーションは、患者メモをクエリとしてオーケストレーターに送信します。これらの患者メモの例は、「この患者は X 博士の 71 歳女性患者です。この患者は昨日の夜に緊急治療室を訪問し、約 7 日から 8 日にわたり、永続的に持続するおなかの痛みの履歴がありました。明らかな舌舌舌舌舌舌舌舌舌舌舌舌舌舌舌舌舌舌舌舌舌� The patient denies any significant recent weight loss.(患者は、最近の大きな体重減少はないと言っている。)」
-
オーケストレーターは Amazon Comprehend Medical を使用して、クエリ内の医療情報に関連する ICD-10-CM コードを取得します。InferICD10CM API を使用して、患者ノートから ICD-10-CM コードを抽出して推測します。
-
オーケストレーターは、プロンプトテンプレート、元のクエリ、および Amazon Comprehend Medical から取得した ICD-10-CM コードを含むプロンプトを作成します。この拡張コンテキストを Amazon Bedrock に送信します。
-
Amazon Bedrock は入力を処理し、基盤モデルを使用して、クエリから ICD-10-CM コードとそれに対応する証拠を含むレスポンスを生成します。生成されたレスポンスには、識別された ICD-10-CM コードと、各コードをサポートする患者ノートからの証拠が含まれます。レスポンスの例を次に示します。
<response> <icd10> <code>R10.9</code> <evidence>history of abdominal pain</evidence> </icd10> <icd10> <code>R10.30</code> <evidence>history of abdominal pain</evidence> </icd10> </response>
-
Amazon Bedrock は、生成されたレスポンスをオーケストレーターに送信します。
-
オーケストレーターはレスポンスをクライアントアプリケーションに送信し、ユーザーはレスポンスを確認できます。
RAG ワークフローで Amazon Comprehend Medical を使用するユースケース
Amazon Comprehend Medical は、特定の NLP タスクを実行できます。詳細については、Amazon Comprehend Medical のユースケース」を参照してください。
Amazon Comprehend Medical を次のような高度なユースケースの RAG ワークフローに統合できます。
-
抽出された医療エンティティと患者レコードのコンテキスト情報を組み合わせて、詳細な臨床概要を生成する
-
オントロジーにリンクされた情報を持つ抽出されたエンティティを使用してコード割り当てを行い、複雑なケースの医療コーディングを自動化する
-
抽出された医療エンティティを使用して、非構造化テキストから構造化された臨床メモの作成を自動化する
-
抽出された薬剤名と属性に基づいて薬剤の副作用を分析する
-
抽出された医療情報をup-to-date研究とガイドラインと組み合わせるインテリジェントな臨床サポートシステムを開発する
RAG ワークフローで Amazon Comprehend Medical を使用するためのベストプラクティス
Amazon Comprehend Medical の結果を LLM のプロンプトに統合する場合、ベストプラクティスに従うことが重要です。これにより、パフォーマンスと精度が向上します。主な推奨事項は次のとおりです。
-
Amazon Comprehend Medical 信頼スコアを理解する – Amazon Comprehend Medical は、検出されたエンティティとオントロジーリンクごとに信頼スコアを提供します。これらのスコアの意味を理解し、特定のユースケースに適したしきい値を設定することが重要です。信頼スコアは、信頼性の低いエンティティを除外し、ノイズを減らし、LLM の入力の品質を向上させるのに役立ちます。
-
プロンプトエンジニアリングで信頼スコアを使用する – LLM のプロンプトを作成するときは、追加のコンテキストとして Amazon Comprehend Medical 信頼スコアを組み込むことを検討してください。これにより、LLM は信頼度に基づいてエンティティの優先順位付けや重み付けを行い、出力の品質を向上させることができます。
-
Amazon Comprehend Medical の結果をグラウンドトゥルースデータで評価する – グラウンドトゥルースデータは true と知られている情報です。AI/ML アプリケーションが正確な結果を生成していることを検証するために使用できます。Amazon Comprehend Medical の結果を LLM ワークフローに統合する前に、データの代表的なサンプルでサービスのパフォーマンスを評価します。結果をグラウンドトゥルース注釈と比較し、潜在的な不一致や改善が必要な領域を特定します。この評価は、ユースケースにおける Amazon Comprehend Medical の長所と制限を理解するのに役立ちます。
-
関連する情報を戦略的に選択する – Amazon Comprehend Medical は大量の情報を提供できますが、そのすべてがタスクに関連するとは限りません。ユースケースに最も関連性の高いエンティティ、属性、メタデータを慎重に選択します。LLM に無関係な情報が多すぎると、ノイズが発生し、パフォーマンスが低下する可能性があります。
-
エンティティ定義の整列 – Amazon Comprehend Medical で使用されるエンティティと属性の定義が解釈と一致していることを確認します。不一致がある場合は、LLM に追加のコンテキストまたは明確化を提供して、Amazon Comprehend Medical の出力と要件とのギャップを埋めることを検討してください。Amazon Comprehend Medical エンティティが期待を満たさない場合は、プロンプトに追加の指示 (および可能な例) を含めることで、カスタムエンティティ検出を実装できます。
-
ドメイン固有の知識を提供する – Amazon Comprehend Medical は貴重な医療情報を提供しますが、特定のドメインのすべてのニュアンスをキャプチャしない場合があります。Amazon Comprehend Medical の結果をオントロジー、用語、エキスパートが厳選したデータセットなどの追加のドメイン固有のナレッジソースで補完することを検討してください。これにより、LLM のより包括的なコンテキストが提供されます。
-
倫理および規制ガイドラインに従う – 医療データを扱うときは、データのプライバシー、セキュリティ、医療における AI システムの責任ある使用に関連するものなど、倫理原則と規制ガイドラインに従うことが重要です。実装が関連する法律と業界のベストプラクティスに準拠していることを確認します。
これらのベストプラクティスに従うことで、AI/ML 実務者は Amazon Comprehend Medical と LLMs。医療 NLP タスクの場合、これらのベストプラクティスは潜在的なリスクを軽減し、パフォーマンスを向上させるのに役立ちます。
Amazon Comprehend Medical コンテキストのプロンプトエンジニアリング
プロンプトエンジニアリング
実行する API オペレーションに応じて、Amazon Comprehend Medical は検出されたエンティティ、オントロジーコードと説明、信頼スコアを返します。これらの結果は、ソリューションがターゲット LLM を呼び出すときにプロンプト内のコンテキストになります。プロンプトテンプレート内でコンテキストを表示するようにプロンプトを設計する必要があります。
注記
このセクションのプロンプト例は、Anthropic のガイダンス
一般的に、元の医療テキストと Amazon Comprehend Medical の結果の両方をプロンプトに挿入します。一般的なプロンプト構造は次のとおりです。
<medical_text> medical text </medical_text> <comprehend_medical_text_results> comprehend medical text results </comprehend_medical_text_results> <prompt_instructions> prompt instructions </prompt_instructions>
このセクションでは、Amazon Comprehend Medical の結果を以下の一般的な医療 NLP タスクのプロンプトコンテキストとして含める戦略について説明します。
Amazon Comprehend Medical の結果をフィルタリングする
Amazon Comprehend Medical は通常、大量の情報を提供します。医療専門家が確認する必要がある結果の数を減らすことができます。この場合、LLM を使用してこれらの結果をフィルタリングできます。Amazon Comprehend Medical エンティティには、プロンプトの設計時にフィルタリングメカニズムとして使用できる信頼スコアが含まれています。
以下は、患者のメモの例です。
Carlie had a seizure 2 weeks ago. She is complaining of frequent headaches Nausea is also present. She also complains of eye trouble with blurry vision Meds : Topamax 50 mgs at breakfast daily, Send referral order to neurologist Follow-up as scheduled
この患者メモでは、Amazon Comprehend Medical は次のエンティティを検出します。

エンティティは、次の ICD-10-CM コードにリンクされ、けいれんや頭が痛くなります。
カテゴリ | ICD-10-CM コード | ICD-10-CM の説明 | 信頼スコア |
---|---|---|---|
けいれん | R56.9 | 不特定のけいれん | 0.8348 |
けいれん | G40.909 | けいれん性のステータスがない、詳細不明、難読性なしのふるえ | 0.5424 |
けいれん | R56.00 | 単純な熱性けいれん | 0.4937 |
けいれん | G40.09 | その他のけいれん | 0.4397 |
けいれん | G40.409 | その他の全般性てんかんおよびてんかん性症候群、難治ではないが、けいれん性重積状態がない | 0.4138 |
ヘッダー | R51 | ヘッダー | 0.4067 |
ヘッダー | R51.9 | ヘッダー、未指定 | 0.3844 |
ヘッダー | G44.52 | 新しい毎日の永続的な頭部ふるえ (NDPH) | 0.3005 |
ヘッダー | G44 | その他の頭部ふるえ症候群 | 0.2670 |
ヘッダー | G44.8 | その他の指定された抗うつ症状 | 0.2542 |
ICD-10-CM コードをプロンプトに渡し、LLM の精度を高めることができます。ノイズを減らすために、Amazon Comprehend Medical の結果に含まれる信頼スコアを使用して ICD-10-CM コードをフィルタリングできます。以下は、信頼スコアが 0.4 を超える ICD-10-CM コードのみを含むプロンプトの例です。
<patient_note> Carlie had a seizure 2 weeks ago. She is complaining of frequent headaches Nausea is also present. She also complains of eye trouble with blurry vision Meds : Topamax 50 mgs at breakfast daily, Send referral order to neurologist Follow-up as scheduled </patient_note> <comprehend_medical_results> <icd-10> <entity> <text>seizure</text> <code> <description>Unspecified convulsions</description> <code_value>R56.9</code_value> <score>0.8347607851028442</score> </code> <code> <description>Epilepsy, unspecified, not intractable, without status epilepticus</description> <code_value>G40.909</code_value> <score>0.542376697063446</score> </code> <code> <description>Other seizures</description> <code_value>G40.89</code_value> <score>0.43966275453567505</score> </code> <code> <description>Other generalized epilepsy and epileptic syndromes, not intractable, without status epilepticus</description> <code_value>G40.409</code_value> <score>0.41382506489753723</score> </code> </entity> <entity> <text>headaches</text> <code> <description>Headache</description> <code_value>R51</code_value> <score>0.4066613018512726</score> </code> </entity> <entity> <text>Nausea</text> <code> <description>Nausea</description> <code_value>R11.0</code_value> <score>0.6460834741592407</score> </code> </entity> <entity> <text>eye trouble</text> <code> <description>Unspecified disorder of eye and adnexa</description> <code_value>H57.9</code_value> <score>0.6780954599380493</score> </code> <code> <description>Unspecified visual disturbance</description> <code_value>H53.9</code_value> <score>0.5871203541755676</score> </code> <code> <description>Unspecified disorder of binocular vision</description> <code_value>H53.30</code_value> <score>0.5539672374725342</score> </code> </entity> <entity> <text>blurry vision</text> <code> <description>Other visual disturbances</description> <code_value>H53.8</code_value> <score>0.9001834392547607</score> </code> </entity> </icd-10> </comprehend_medical_results> <prompt> Given the patient note and Amazon Comprehend Medical ICD-10-CM code results above, please select the most relevant ICD-10-CM diagnosis codes for the patient. For each selected code, provide a brief explanation of why it is relevant based on the information in the patient note. </prompt>
Amazon Comprehend Medical を使用して医療 NLP タスクを拡張する
医療テキストを処理する場合、Amazon Comprehend Medical のコンテキストは、LLM がより良いトークンを選択するのに役立ちます。この例では、診断症状を薬剤に一致させたいと考えています。また、血パネル検査に関連する用語など、医療検査に関連するテキストも検索できます。Amazon Comprehend Medical を使用して、エンティティと薬剤名を検出できます。この場合、Amazon Comprehend Medical の DetectEntitiesV2 および InferRxNorm APIs を使用します。
以下は、患者のメモの例です。
Carlie had a seizure 2 weeks ago. She is complaining of increased frequent headaches Given lyme disease symptoms such as muscle ache and stiff neck will order prescription. Meds : Topamax 50 mgs at breakfast daily. Amoxicillan 25 mg by mouth twice a day Place MRI radiology order at RadNet
診断コードに焦点を当てるために、 タイプの MEDICAL_CONDITION
に関連するエンティティのみがプロンプトでDX_NAME
使用されます。関連性がないため、その他のメタデータは除外されます。薬剤エンティティの場合、薬剤名と抽出された属性が含まれます。Amazon Comprehend Medical からの他の薬剤エンティティメタデータは、関連性がないため除外されます。以下は、フィルタリングされた Amazon Comprehend Medical の結果を使用するプロンプトの例です。プロンプトは、 DX_NAME
タイプを持つMEDICAL_CONDITION
エンティティに焦点を当てます。このプロンプトは、診断コードを薬剤とより正確にリンクし、より正確に医療注文テストを抽出するように設計されています。
<patient_note> Carlie had a seizure 2 weeks ago. She is complaining of increased freqeunt headaches Given lyme disease symptoms such as muscle ache and stiff neck will order prescription. Meds : Topamax 50 mgs at breakfast daily. Amoxicillan 25 mg by mouth twice a day Place MRI radiology order at RadNet </patient_note> <detect_entity_results> <entity> <text>seizure</text> <category>MEDICAL_CONDITION</category> <type>DX_NAME</type> </entity> <entity> <text>headaches</text> <category>MEDICAL_CONDITION</category> <type>DX_NAME</type> </entity> <entity> <text>lyme disease</text> <category>MEDICAL_CONDITION</category> <type>DX_NAME</type> </entity> <entity> <text>muscle ache</text> <category>MEDICAL_CONDITION</category> <type>DX_NAME</type> </entity> <entity> <text>stiff neck</text> <category>MEDICAL_CONDITION</category> <type>DX_NAME</type> </entity> </detect_entity_results> <rx_results> <entity> <text>Topamax</text> <category>MEDICATION</category> <type>BRAND_NAME</type> <attributes> <attribute> <type>FREQUENCY</type> <text>at breakfast daily</text> </attribute> <attribute> <type>DOSAGE</type> <text>50 mgs</text> </attribute> <attribute> <type>ROUTE_OR_MODE</type> <text>by mouth</text> </attribute> </attributes> </entity> <entity> <text>Amoxicillan</text> <category>MEDICATION</category> <type>GENERIC_NAME</type> <attributes> <attribute> <type>ROUTE_OR_MODE</type> <text>by mouth</text> </attribute> <attribute> <type>DOSAGE</type> <text>25 mg</text> </attribute> <attribute> <type>FREQUENCY</type> <text>twice a day</text> </attribute> </attributes> </entity> </rx_results> <prompt> Based on the patient note and the detected entities, can you please: 1. Link the diagnosis symptoms with the medications prescribed. Provide your reasoning for the linkages. 2. Extract any entities related to medical order tests mentioned in the note. </prompt>
Amazon Comprehend Medical でガードレールを適用する
生成されたレスポンスを使用する前に、LLM と Amazon Comprehend Medical を使用してガードレールを作成できます。このワークフローは、未変更または後処理の医療テキストで実行できます。ユースケースには、保護医療情報 (PHI) への対応、幻覚の検出、結果を発行するためのカスタムポリシーの実装などがあります。例えば、Amazon Comprehend Medical のコンテキストを使用して PHI データを識別し、LLM を使用してその PHI データを削除できます。
以下は、PHI を含む患者レコードからの情報の例です。
Patient name: John Doe Patient SSN: 123-34-5678 Patient DOB: 01/01/2024 Patient address: 123 Main St, Anytown USA Exam details: good health. Pulse is 60 bpm. needs to work on diet with BMI of 190
以下は、Amazon Comprehend Medical の結果をコンテキストとして含むプロンプトの例です。
<original_text> Patient name: John Doe Patient SSN: 123-34-5678 Patient DOB: 01/01/2024 Patient address: 123 Main St, Anytown USA Exam details: good health. Pulse is 60 bpm. needs to work on diet with BMI of 190 </original_text> <comprehend_medical_phi_entities> <entity> <text>John Doe</text> <category>PROTECTED_HEALTH_INFORMATION</category> <score>0.9967944025993347</score> <type>NAME</type> </entity> <entity> <text>123-34-5678</text> <category>PROTECTED_HEALTH_INFORMATION</category> <score>0.9998034834861755</score> <type>ID</type> </entity> <entity> <text>01/01/2000</text> <category>PROTECTED_HEALTH_INFORMATION</category> <score>0.9964448809623718</score> <type>DATE</type> </entity> </comprehend_medical_phi_entities> <instructions> Using the provided original text and the Amazon Comprehend Medical PHI entities detected, please analyze the text to determine if it contains any additional protected health information (PHI) beyond the entities already identified. If additional PHI is found, please list and categorize it. If no additional PHI is found, please state that explicitly. In addition if PHI is found, generate updated text with the PHI removed. </instructions>