AutoML Entity Extraction for Healthcare dient als Basis zum Trainieren benutzerdefinierter Healthcare Natural Language-Modelle. Nachdem Sie ein Modell trainiert haben, können Sie Vorhersagen vom Modell anfragen. Wenn Sie zur Entitätsextraktion medizinischen Text an das Modell senden, wird eine Vorhersage erstellt.
AutoML unterstützt folgende Vorhersagemodi:
- Onlinevorhersage, bei der Sie ein einzelnes Dokument übergeben und das Modell die Analyse synchron zurückgibt
- Batchvorhersage, bei der Sie eine Sammlung von Dokumenten übergeben, die das Modell asynchron analysiert.
AutoML API aktivieren
Bevor Sie ein Modell mit AutoML Entity Extraction for Healthcare trainieren, müssen Sie die AutoML API für Ihr Google Cloud-Projekt aktivieren.
Führen Sie folgende Schritte aus, um die AutoML API zu aktivieren:
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
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.
-
Legen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
auf den Pfad der JSON-Datei fest, die Ihre Anmeldedaten enthält. Diese Variable gilt nur für Ihre aktuelle Shell-Sitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable neu festlegen. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
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.
-
Legen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
auf den Pfad der JSON-Datei fest, die Ihre Anmeldedaten enthält. Diese Variable gilt nur für Ihre aktuelle Shell-Sitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable neu festlegen. -
AutoML Natural Language API aktivieren.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Berechtigungen einrichten
Zum Trainieren benutzerdefinierter Modelle, die AutoML Entity Extraction for Healthcare als Basismodell verwenden, müssen Sie ein Dienstkonto mit der Berechtigung healthcare.nlpservce.analyzeEntities
verwenden, die in der Rolle healthcare.nlpServiceViewer
enthalten ist.
Führen Sie zum Zuweisen dieser Rolle den Befehl gcloud projects add-iam-policy-binding
aus:
gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SERVICE_ACCOUNT_ID --role roles/healthcare.nlpServiceViewer
Modell trainieren
Modell über die AutoML-UI trainieren
Führen Sie folgende Schritte aus, um ein Modell über die AutoML-UI zu trainieren:
Öffnen Sie die Benutzeroberfläche von AutoML Natural Language und klicken Sie dann unter AutoML Entity Extraction auf Erste Schritte.
Auf der Seite Datasets wird der Status zuvor erstellter Datasets für das aktuelle Projekt angezeigt. Wenn Sie mit einem Dataset für ein anderes Projekt trainieren möchten, wählen Sie das betreffende Projekt in der Liste rechts oben in der Titelleiste aus.
Erstellen Sie ein Dataset oder wählen Sie das Dataset aus, das Sie zum Trainieren des benutzerdefinierten Modells verwenden möchten.
Der Anzeigename des ausgewählten Datasets wird in der Titelleiste angezeigt. Die einzelnen Dokumente im Dataset werden zusammen mit ihren Labels aufgelistet.
Importieren Sie eine CSV-Datei, die ein Dataset mit Texten oder Dokumenten in einem strukturierten JSONL-Format enthält.
Nachdem Sie das Dataset geprüft haben, klicken Sie unter der Titelleiste auf den Tab Trainieren.
Wenn Sie das erste Modell mit diesem Dataset trainieren, bietet die Seite "Training" eine grundlegende Analyse des Datasets und informiert Sie über dessen Eignung für das Training. Wenn AutoML Natural Language Änderungen vorschlägt, können Sie zu der Seite Textelemente zurückkehren und Dokumente oder Labels hinzufügen.
Wenn Sie andere Modelle aus diesem Dataset trainiert haben, werden auf der Seite "Training" die grundlegenden Bewertungswerte dieser Modelle angezeigt.
Klicken Sie auf Training starten.
Geben Sie einen Namen für das Modell ein.
Der Modellname darf maximal 32 Zeichen lang sein und nur Buchstaben, Zahlen und Unterstriche enthalten. Das erste Zeichen muss ein Buchstabe sein.
Wenn Sie das Modell automatisch bereitstellen möchten, wählen Sie die Option Modell nach Abschluss des Trainings bereitstellen.
Wählen Sie die Option Healthcare-Entitätsextraktion aktivieren.
Klicken Sie auf Training starten.
Das Training kann mehrere Stunden dauern. Nachdem das Modell trainiert wurde, erhalten Sie eine E-Mail-Benachrichtigung.
Modell über die AutoML API trainieren
Zum Trainieren eines Modells mit der AutoML API verwenden Sie die Methode projects.locations.models.create.
Speichern Sie den Anfragetext unten in einer Datei mit dem Namen
request.json
. Geben Sie in der Anfrage die folgenden Informationen an:DISPLAY_NAME
: Anzeigename für das ModellDATASET_ID
: Die Dataset-ID
{ "displayName": "DISPLAY_NAME", "dataset_id": "DATASET_ID", "textExtractionModelMetadata": { "model_hint": "healthcare" } }
Führen Sie den Befehl
projects.locations.models.create
aus:curl
Führen Sie folgenden Befehl aus, um die POST-Anfrage mit
curl
zu erstellen: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
Führen Sie folgenden Befehl aus, um die POST-Anfrage mit Windows PowerShell zu erstellen:
$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
Die Ausgabe des Befehls sollte in etwa folgendem Beispiel entsprechen. Sie können den Status der Aufgabe anhand der Vorgangs-ID abrufen. Weitere Informationen finden sich unter Status eines Vorgangs abrufen.
{ "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 } }
Vorhersagen erstellen
Vorhersagen mit der AutoML Natural Language-UI erstellen
Sie können AutoML Entity Extraction for Healthcare verwenden, um Vorhersagen für Dateien in Cloud Storage oder Text zu erstellen, den Sie über die Benutzeroberfläche von AutoML Natural Language eingeben.
Führen Sie folgende Schritte aus, um mit der Benutzeroberfläche von AutoML Natural Language eine Vorhersage zu erstellen:
Öffnen Sie die Benutzeroberfläche von AutoML Natural Language und klicken Sie dann auf Modelle.
Klicken Sie auf die Zeile für das Modell, das Sie zur Analyse des Dokuments verwenden möchten.
Klicken Sie auf den Tab Testen und verwenden direkt unter der Titelleiste.
Klicken Sie auf Datei in Cloud Storage auswählen und geben Sie den Cloud Storage-Pfad für eine PDF-Datei ein. Sie können auch auf Eingabetext unten klicken und dann den medizinischen Text für die Vorhersage eingeben.
Klicken Sie auf Vorhersage.
Vorhersagen mit der Methode batchPredict
erstellen
Um Ihr Modell für die Vorhersage mit asynchronem hohen Durchsatz auf eine Dokumentensammlung anwenden möchten, können Sie die Methode batchPredict
nutzen. Um die Batch-Prognosemmethode zu verwenden, geben Sie Eingabe- und Ausgabe-URIs an, die auf Speicherorte in Cloud Storage-Buckets verweisen.
Der Eingabe-URI verweist auf eine JSONL-Datei, die den zu analysierenden Inhalt angibt. Die Ausgabe gibt einen Speicherort an, an dem die Ergebnisse aus der Batchvorhersage von AutoML gespeichert werden.
Führen Sie folgende Schritte aus, um Vorhersagen mithilfe der Methode batchPredict
zu treffen:
Erstellen Sie eine JSONL-Datei, die den zu analysierenden Inhalt enthält, entweder inline oder als Links zu Dateien, die in einem Cloud Storage-Bucket gespeichert sind.
Das folgende Beispiel zeigt Inline-Content, der in der JSONL-Datei enthalten ist, wobei jedes Element die erforderliche eindeutige ID enthält.
{ "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." } }
Das folgende Beispiel zeigt eine JSONL-Datei, die Links zu Eingabedateien enthält, die sich in Cloud Storage-Buckets befinden müssen.
{ "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME1" ] } } } } { "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME2" ] } } } } ...
Erstellen Sie eine JSON-Datei, die den Speicherort der JSONL-Eingabedatei und das Ausgabeverzeichnis in einem Cloud Storage-Bucket bestimmt.
{ "input_config": { "gcs_source": { "input_uris": [ "gs://JSONL_FILE_LOCATION"] } }, "output_config": { "gcs_destination": { "output_uri_prefix": "gs://OUTPUT_DIR" } } }
Führen Sie die Methode
batchPredict
aus, um Vorhersagen zu treffen:curl
Ersetzen Sie im Befehl
batchPredict
die folgenden Elemente:- Ersetzen Sie
REQUEST_FILENAME
durch den Speicherort Ihrer JSON-Anfragedatei - Ersetzen Sie
PROJECT_ID/locations/REGION/models/MODEL_ID
durch den vollständig qualifizierten Namen des Modells. Rufen Sie zum Ermitteln der Modell-ID in der AutoML-UI die Seite Modelle auf.
Das folgende Beispiel zeigt eine POST-Anfrage, die
curl
verwendet .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
Die Antwort auf den Befehl sieht etwa so aus:
{ "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" ] } } } } }
Führen Sie folgenden Befehl aus, um zu prüfen, ob die Vorhersage abgeschlossen ist:
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
Suchen Sie in der Antwort, die folgendem Beispiel ähneln wird, nach
¨done¨: true
, um zu bestätigen, dass der Vorgang abgeschlossen ist:{ "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" } }
In dem von Ihnen angegebenen Ausgabespeicherort findet sich eine JSONL-Datei mit den Ergebnisse der Vorhersagen.
PowerShell
Ersetzen Sie im Befehl
batchPredict
die folgenden Elemente:- Ersetzen Sie
REQUEST_FILENAME
durch den Speicherort, unter dem Sie die JSON-Anfragedatei gespeichert haben. - Ersetzen Sie
PROJECT_ID/locations/REGION/models/MODEL_ID
durch den vollständig qualifizierten Namen des Modells. Rufen Sie zum Ermitteln der Modell-ID in der AutoML-UI die Seite Modelle auf.
Das folgende Beispiel zeigt eine POST-Anfrage mit Windows PowerShell:
$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
Die Antwort auf den Befehl sieht etwa so aus:
{ "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" ] } } } } }
Führen Sie folgenden Befehl aus, um zu prüfen, ob die Vorhersage abgeschlossen ist:
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
Suchen Sie in der Antwort, die folgendem Beispiel ähneln wird, nach
¨done¨: true
, um zu bestätigen, dass der Vorgang abgeschlossen ist:{ "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" } }
In dem von Ihnen angegebenen Ausgabespeicherort findet sich eine JSONL-Datei mit den Ergebnisse der Vorhersagen.
- Ersetzen Sie