AutoML Entity Extraction for Healthcare は、カスタムの Healthcare Natural Language モデルのトレーニングを行う出発点として使用できます。モデルをトレーニングしたら、モデルから予測をリクエストできます。エンティティの抽出のため、医療テキストをモデルに送信すると予測が実行されます。
AutoML は、次の予測モードをサポートしています。
- オンライン予測。単一のドキュメントを送信し、モデルが分析を同期的に行い、結果を返します。
- バッチ予測。送信されたドキュメントのコレクションをモデルが非同期で分析します。
AutoML API を有効にする
AutoML Entity Extraction for Healthcare を使用してモデルをトレーニングする前に、Google Cloud プロジェクトで AutoML API を有効にする必要があります。
AutoML API を有効にするには、次の操作手順を行います。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を、認証情報を含む JSON ファイルのパスに設定します。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定する必要があります。 -
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を、認証情報を含む JSON ファイルのパスに設定します。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定する必要があります。 -
AutoML Natural Language API を有効にします。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
権限を設定する
AutoML Entity Extraction for Healthcare を基本モデルとして使用するカスタムモデルをトレーニングするには、healthcare.nlpservce.analyzeEntities
権限のあるサービス アカウントを使用する必要があります。この権限は、healthcare.nlpServiceViewer
ロールに含まれています。
このロールを割り当てるには、gcloud projects add-iam-policy-binding
コマンドを実行します。
gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SERVICE_ACCOUNT_ID --role roles/healthcare.nlpServiceViewer
モデルのトレーニング
AutoML UI を使用したモデルのトレーニング
AutoML UI を使用してモデルをトレーニングするには、次の手順を行います。
AutoML Natural Language UI を開き、[AutoML Entity Extraction] の [開始] をクリックします。
[データセット] ページに移動します。現在のプロジェクトでこれまでに作成されたデータセットのステータスが表示されます。別のプロジェクトのデータセットを使用してトレーニングするには、タイトルバーの右上にあるリストからプロジェクトを選択します。
データセットを作成するか、カスタムモデルのトレーニングに使用するデータセットを選択します。
選択したデータセットの表示名がタイトルバーに表示され、データセット内の個々のドキュメントがラベルと一緒にページに一覧表示されます。
テキストまたはドキュメントのデータセットが構造化 JSONL 形式で記述されているリストする CSV ファイルをインポートします。
データセットを確認したら、タイトルバーの下にある [トレーニング] タブをクリックします。
このデータセットから最初のモデルをトレーニングすると、トレーニング ページにデータセットの基本的な分析結果が表示され、データセットがトレーニングに適しているかどうかアドバイスを受けられます。AutoML Natural Language によって変更が提案される場合は、[テキスト アイテム] ページに戻ってドキュメントやラベルを追加することを検討してください。
このデータセットから他のモデルをトレーニングしたことがある場合、トレーニング ページにモデルの基本的な評価指標が表示されます。
[トレーニングを開始] をクリックします。
モデルの名前を入力します。
モデル名は最大 32 文字で、英字、数字、アンダースコアのみ使用できます。最初の文字は英字でなければなりません。
モデルを自動的にデプロイする場合は、[トレーニング完了後にモデルをデプロイする] オプションを選択します。
[医療エンティティの抽出を有効にする] オプションを選択します。
[トレーニングを開始] をクリックします。
トレーニングには数時間かかることがあります。モデルのトレーニングが完了すると、メールで通知が送信されます。
AutoML API を使用したモデルのトレーニング
AutoML API でモデルをトレーニングするには、projects.locations.models.create メソッドを使用します。
以下のリクエスト本文を
request.json
という名前のファイルに保存します。リクエストで次の情報を指定します。DISPLAY_NAME
: モデルの表示名DATASET_ID
: データセット ID
{ "displayName": "DISPLAY_NAME", "dataset_id": "DATASET_ID", "textExtractionModelMetadata": { "model_hint": "healthcare" } }
projects.locations.models.create
コマンドを実行します。curl
curl
を使用して POST リクエストを行うには、次のコマンドを実行します。curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ https://automl.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models
PowerShell
Windows PowerShell を使用して POST リクエストを行うには、次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://automl.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models" | Select-Object -Expand Content
コマンドの出力は次のようになります。オペレーション ID を使用して、タスクのステータスを取得できます。詳しくは、オペレーションのステータスの取得をご覧ください。
{ "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "cancellable": true } }
予測を行う
AutoML Natural Language UI を使用した予測
AutoML Entity Extraction for Healthcare を使用して、Cloud Storage 内のファイルまたは AutoML Natural Language UI で入力したテキストの予測を行うことができます。
AutoML Natural Language UI を使用して予測を行うには、次の操作を行います。
AutoML Natural Language UI を開き、[モデル] をクリックします。
ドキュメントの分析に使用するモデルの行をクリックします。
タイトルバーの下にある [テストと使用] タブをクリックします。
[Cloud Storage 上のファイルを選択] をクリックし、PDF ファイルの Cloud Storage パスを入力します。または、[以下にテキストを入力] をクリックして、予測に使用する医療テキストを入力します。
[予測] をクリックします。
batchPredict
メソッドを使用して予測を行う
モデルを使用して、ドキュメントのコーパスに対して高スループットの非同期予測を行うには、batchPredict
メソッドを使用します。バッチ予測メソッドを使用するには、Cloud Storage バケット内の場所を表す入力用の URI と出力用の URI を指定します。
入力用の URI には、分析するコンテンツを含む JSONL ファイルを指定します。出力には、AutoML がバッチ予測の結果を保存する場所を指定します。
batchPredict
メソッドを使用して予測を行うには、次の操作を行います。
分析するコンテンツを含む JSONL ファイルを作成します。インラインで作成するか、Cloud Storage バケットに格納されているファイルへのリンクとして作成します。
次の例では、JSONL ファイルにインライン コンテンツが含まれています。各項目には一意の ID が含まれています。
{ "id": "0", "text_snippet": { "content": "Insulin regimen human 5 units IV administered.." } } { "id": "1", "text_snippet": { "content": "Blood pressure is normal." } } ... { "id": "n", "text_snippet": { "content": "Pulse: 80. BP: 110/70. Respirations: 16. Temp: 97.4." } }
次のサンプルは、入力ファイルのリンクを含む JSONL ファイルです。このファイルは Cloud Storage バケット内に存在する必要があります。
{ "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME1" ] } } } } { "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME2" ] } } } } ...
JSONL 入力ファイルの場所と出力ディレクトリを指定する JSON ファイルを作成します。
{ "input_config": { "gcs_source": { "input_uris": [ "gs://JSONL_FILE_LOCATION"] } }, "output_config": { "gcs_destination": { "output_uri_prefix": "gs://OUTPUT_DIR" } } }
予測を行うには、
batchPredict
メソッドを使用します。curl
batchPredict
コマンドで、次の置換を行います。REQUEST_FILENAME
は、リクエスト JSON ファイルの場所に置き換えます。PROJECT_ID/locations/REGION/models/MODEL_ID
は、モデルの完全修飾名に置き換えます。モデル ID を確認するには、AutoML UI の [モデル] ページに移動します。
次のサンプルは、
curl
を使用した POST リクエストを示しています。curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ -d @REQUEST_FILENAME \ https://automl.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID:batchPredict
コマンドに対するレスポンスは次のサンプルのようになります。
{ "name": "projects/824236087934/locations/REGION/operations/MODEL_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "batchPredictDetails": { "inputConfig": { "gcsSource": { "inputUris": [ "gs://INPUT_URI" ] } } } } }
予測が完了したかどうかを確認するには、次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
次のサンプルのようなレスポンスで、
¨done¨: true
を探し、オペレーションが完了していることを確認します。{ "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "batchPredictDetails": { "inputConfig": { "gcsSource": { "inputUris": [ "gs://JSONL_FILE_LOCATION" ] } }, "outputInfo": { "gcsOutputDirectory": "gs://OUTPUT_DIRPREDICTION_FILENAME" } } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.BatchPredictResult" } }
指定した出力場所に、予測の結果を含む JSONL ファイルが格納されます。
PowerShell
batchPredict
コマンドで、次の置換を行います。REQUEST_FILENAME
は、リクエスト JSON ファイルを保存した場所に置き換えます。PROJECT_ID/locations/REGION/models/MODEL_ID
は、モデルの完全修飾名に置き換えます。モデル ID を確認するには、AutoML UI の [モデル] ページに移動します。
次のサンプルは、Windows PowerShell を使用した POST リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile REQUEST_FILENAME ` -Uri "https://automl.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID:batchPredict" | Select-Object -Expand Content
コマンドに対するレスポンスは次のサンプルのようになります。
{ "name": "projects/824236087934/locations/REGION/operations/MODEL_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "batchPredictDetails": { "inputConfig": { "gcsSource": { "inputUris": [ "gs://INPUT_URI" ] } } } } }
予測が完了したかどうかを確認するには、次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
次のサンプルのようなレスポンスで、
¨done¨: true
を探し、オペレーションが完了していることを確認します。{ "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "batchPredictDetails": { "inputConfig": { "gcsSource": { "inputUris": [ "gs://JSONL_FILE_LOCATION" ] } }, "outputInfo": { "gcsOutputDirectory": "gs://OUTPUT_DIRPREDICTION_FILENAME" } } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.BatchPredictResult" } }
指定した出力場所に、予測の結果を含む JSONL ファイルが格納されます。