步驟 4:開始使用 Amazon Comprehend Medical API - Amazon Comprehend Medical

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 4:開始使用 Amazon Comprehend Medical API

下面的實例演示如何使用 Amazon Comprehend Medical 操作使用 AWS CLI, Java, 和 Python. 使用它們來了解 Amazon Comprehend Medical 操作的相關資訊,以及做為您自己應用程式的建置區塊。

若要執行 AWS CLI 和 Python 範例,請安裝 AWS CLI. 如需詳細資訊,請參閱 步驟 2:設置 AWS Command Line Interface (AWS CLI)

若要執行 Java 範例,請安裝 AWS SDK for Java. 如需安裝 AWS SDK for Java的指示,請參閱設定適用於 Java 的 AWS 開發套件

使用 AWS Command Line Interface

下列範例示範如何使DetectEntitiesV2用以傳回文字中偵測到的醫療實體的作業。 AWS CLI 若要執行此範例,您必須安裝 AWS CLI. 如需詳細資訊,請參閱 步驟 2:設置 AWS Command Line Interface (AWS CLI)

此範例格式適用於 Unix、Linux 和 macOS。用於 Windows 時,請以插入號 (^) 取代每一行結尾處的 Unix 接續字元斜線 (\)。

aws comprehendmedical detect-entities-v2 \ --endpoint endpoint \ --region region \ --text "aspirin is required 20 mg po daily for 2 times as tab"

回應如下:

{ "Entities": [ { "Category": "MEDICATION", "BeginOffset": 0, "EndOffset": 7, "Text": "aspirin", "Traits": [], "Score": 0.9988090991973877, "Attributes": [ { "BeginOffset": 20, "EndOffset": 25, "Text": "20 mg", "Traits": [], "Score": 0.9559056162834167, "Type": "DOSAGE", "Id": 1, "RelationshipScore": 0.9981593489646912 }, { "BeginOffset": 26, "EndOffset": 28, "Text": "po", "Traits": [], "Score": 0.9995359182357788, "Type": "ROUTE_OR_MODE", "Id": 2, "RelationshipScore": 0.9969323873519897 }, { "BeginOffset": 29, "EndOffset": 34, "Text": "daily", "Traits": [], "Score": 0.9803128838539124, "Type": "FREQUENCY", "Id": 3, "RelationshipScore": 0.9990783929824829 }, { "BeginOffset": 39, "EndOffset": 46, "Text": "2 times", "Traits": [], "Score": 0.8623972535133362, "Type": "DURATION", "Id": 4, "RelationshipScore": 0.9996501207351685 }, { "BeginOffset": 50, "EndOffset": 53, "Text": "tab", "Traits": [], "Score": 0.784785270690918, "Type": "FORM", "Id": 5, "RelationshipScore": 0.9986748695373535 } ], "Type": "GENERIC_NAME", "Id": 0 } ], "UnmappedAttributes": [] }

使用 AWS SDK for Java

下面的例子使用與 Java 的DetectEntitiesV2操作。若要執行範例,請安裝 AWS SDK for Java. 如需有關安裝的指示 AWS SDK for Java,請參閱設定 AWS SDK for Java 套件。

import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.client.builder.AwsClientBuilder; import com.amazonaws.services.comprehendmedical.AWSComprehendMedical; import com.amazonaws.services.comprehendmedical.AWSComprehendMedicalClient; import com.amazonaws.services.comprehendmedical.model.DetectEntitiesRequest; import com.amazonaws.services.comprehendmedical.model.DetectEntitiesResult; public class SampleAPICall { public static void main() { AWSCredentialsProvider credentials = new AWSStaticCredentialsProvider(new BasicAWSCredentials("YOUR AWS ACCESS KEY", "YOUR AWS SECRET")); AWSComprehendMedical client = AWSComprehendMedicalClient.builder() .withCredentials(credentials) .withRegion("YOUR REGION") .build(); DetectEntitiesV2Request request = new DetectEntitiesV2Request(); request.setText("cerealx 84 mg daily"); DetectEntitiesV2Result result = client.detectEntitiesV2(request); result.getEntities().forEach(System.out::println); } }

輸出包含在輸入文本中找到的三個實體,它們在輸入文本中的位置。每個實體也會列出正確識別實體的信賴等級。下列輸出顯示Generic_Name上述範例中的Dosage、和Frequency實體。

{Id: 0,BeginOffset: 0,EndOffset: 3,Score: 0.9940211,Text: Bob,Category: PROTECTED_HEALTH_INFORMATION,Type: NAME,Traits: [],} {Id: 2,BeginOffset: 23,EndOffset: 30,Score: 0.99914634,Text: aspirin,Category: MEDICATION,Type: GENERIC_NAME,Traits: [],Attributes: [{Type: DOSAGE,Score: 0.9630807,RelationshipScore: 0.99969745,Id: 1,BeginOffset: 14,EndOffset: 19,Text: 50 mg,Traits: []}]}

使用 AWS SDK for Python (Boto)

下面的例子使用與 Python 的DetectEntitiesV2操作。若要執行範例,請安裝 AWS CLI. 如需詳細資訊,請參閱 步驟 2:設置 AWS Command Line Interface (AWS CLI)

import boto3 client = boto3.client(service_name='comprehendmedical', region_name='YOUR REGION') result = client.detect_entities(Text= 'cerealx 84 mg daily') entities = result['Entities'] for entity in entities: print('Entity', entity)

輸出包含在輸入文本中找到的三個實體,它們在輸入文本中的位置。每個實體也會列出正確識別實體的信賴等級。下列輸出顯示Generic_Name上述範例中的Dosage、和Frequency實體。

('Entity', {u'Category': u'MEDICATION', u'BeginOffset': 0, u'EndOffset': 7, u'Text': u'cerealx', u'Traits': [], u'Score': 0.8877691626548767, u'Attributes': [{u'BeginOffset': 8, u'EndOffset': 13, u'Text': u'84 mg', u'Traits': [], u'Score': 0.9337134957313538, u'Type': u'DOSAGE', u'Id': 1, u'RelationshipScore': 0.9995118379592896}, {u'BeginOffset': 14, u'EndOffset': 19, u'Text': u'daily', u'Traits': [], u'Score': 0.990627646446228, u'Type': u'FREQUENCY', u'Id': 2, u'RelationshipScore': 0.9987651109695435}], u'Type': u'BRAND_NAME', u'Id': 0})