Addestramento dei modelli di estrazione delle entità per il settore sanitario

AutoML Entity Extraction for Healthcare offre un punto di partenza per addestrare modelli Healthcare Natural Language personalizzati. Dopo aver addestrato un modello, puoi richiedere previsioni al modello. Una previsione ha luogo quando invii un testo medico al modello per l'estrazione dell'entità.

AutoML supporta le seguenti modalità di previsione:

  • Previsione online, in cui viene inviato un singolo documento e il modello restituisce l'analisi in modo sincrono.
  • Previsione batch in cui invii una raccolta di documenti che il modello analizza in modo asincrono.

Abilita l'API AutoML

Prima di addestrare un modello utilizzando AutoML Entity Extraction for Healthcare, devi abilitare l'API AutoML per il tuo progetto Google Cloud.

Per abilitare l'API AutoML, completa i seguenti passaggi:

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Crea un account di servizio:

    1. Nella console Google Cloud, vai alla pagina Crea account di servizio.

      Vai a Crea account di servizio
    2. Seleziona il progetto.
    3. Nel campo Nome account di servizio, inserisci un nome. La console Google Cloud compila il campo ID account di servizio in base a questo nome.

      Nel campo Descrizione account di servizio, inserisci una descrizione. Ad esempio, Service account for quickstart.

    4. Fai clic su Crea e continua.
    5. Concedi il ruolo Project > Owner all'account di servizio.

      Per concedere il ruolo, trova l'elenco Seleziona un ruolo e scegli Project > Owner.

    6. Fai clic su Continua.
    7. Fai clic su Fine per completare la creazione dell'account di servizio.

      Non chiudere la finestra del browser. La utilizzerai nel passaggio successivo.

  5. Crea una chiave dell'account di servizio:

    1. Nella console Google Cloud, fai clic sull'indirizzo email dell'account di servizio che hai creato.
    2. Fai clic su Chiavi.
    3. Fai clic su Aggiungi chiave, quindi su Crea nuova chiave.
    4. Fai clic su Crea. Un file della chiave JSON viene scaricato sul computer.
    5. Fai clic su Chiudi.
  6. Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso del file JSON che contiene le tue credenziali. Questa variabile si applica solo alla sessione di shell attuale. Pertanto, se apri una nuova sessione, imposta di nuovo la variabile.

  7. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  8. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  9. Crea un account di servizio:

    1. Nella console Google Cloud, vai alla pagina Crea account di servizio.

      Vai a Crea account di servizio
    2. Seleziona il progetto.
    3. Nel campo Nome account di servizio, inserisci un nome. La console Google Cloud compila il campo ID account di servizio in base a questo nome.

      Nel campo Descrizione account di servizio, inserisci una descrizione. Ad esempio, Service account for quickstart.

    4. Fai clic su Crea e continua.
    5. Concedi il ruolo Project > Owner all'account di servizio.

      Per concedere il ruolo, trova l'elenco Seleziona un ruolo e scegli Project > Owner.

    6. Fai clic su Continua.
    7. Fai clic su Fine per completare la creazione dell'account di servizio.

      Non chiudere la finestra del browser. La utilizzerai nel passaggio successivo.

  10. Crea una chiave dell'account di servizio:

    1. Nella console Google Cloud, fai clic sull'indirizzo email dell'account di servizio che hai creato.
    2. Fai clic su Chiavi.
    3. Fai clic su Aggiungi chiave, quindi su Crea nuova chiave.
    4. Fai clic su Crea. Un file della chiave JSON viene scaricato sul computer.
    5. Fai clic su Chiudi.
  11. Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso del file JSON che contiene le tue credenziali. Questa variabile si applica solo alla sessione di shell attuale. Pertanto, se apri una nuova sessione, imposta di nuovo la variabile.

  12. Attiva l'API AutoML Natural Language.

    Abilita l'API

  13. Installa Google Cloud CLI.
  14. Per initialize gcloud CLI, esegui questo comando:

    gcloud init

Configurare le autorizzazioni

Per addestrare modelli personalizzati che utilizzano AutoML Entity Extraction for Healthcare come modello di base, devi utilizzare un account di servizio che disponga dell' healthcare.nlpservce.analyzeEntities autorizzazione, inclusa nel ruolo healthcare.nlpServiceViewer.

Per assegnare questo ruolo, esegui il comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SERVICE_ACCOUNT_ID --role roles/healthcare.nlpServiceViewer

Addestramento di un modello

Addestramento di un modello utilizzando la UI di AutoML

Per addestrare un modello utilizzando la UI di AutoML, completa questi passaggi:

  1. Apri l'interfaccia utente di AutoML Natural Language, quindi fai clic su Inizia in Estrazione delle entità AutoML.

    Viene visualizzata la pagina Set di dati, che mostra lo stato di qualsiasi set di dati creato in precedenza per il progetto attuale. Per addestrare utilizzando un set di dati per un altro progetto, seleziona il progetto dall'elenco in alto a destra nella barra del titolo.

  2. Crea un set di dati o seleziona quello che vuoi utilizzare per addestrare il modello personalizzato.

    Il nome visualizzato del set di dati selezionato viene visualizzato nella barra del titolo e la pagina elenca i singoli documenti del set di dati insieme alle relative etichette.

  3. Importa un file CSV che elenca un set di dati di testo o documenti in un formato JSONL strutturato.

  4. Dopo aver esaminato il set di dati, fai clic sulla scheda Addestra sotto la barra del titolo.

    Se stai addestrando il primo modello da questo set di dati, la pagina di addestramento fornisce un'analisi di base del set di dati e ti consiglia se è adeguato per l'addestramento. Se AutoML Natural Language suggerisce delle modifiche, valuta la possibilità di tornare alla pagina Elementi di testo e aggiungere documenti o etichette.

    Se hai addestrato altri modelli da questo set di dati, la pagina di addestramento mostra le metriche di valutazione di base per questi modelli.

  5. Fai clic su Inizia addestramento.

  6. Assegna un nome al modello.

    Il nome del modello può contenere fino a 32 caratteri e contenere solo lettere, numeri e trattini bassi. Il primo carattere deve essere una lettera.

  7. Se vuoi eseguire automaticamente il deployment del modello, seleziona l'opzione Esegui il deployment del modello al termine dell'addestramento.

  8. Seleziona l'opzione Abilita estrazione entità Healthcare.

  9. Fai clic su Inizia addestramento.

L'addestramento può richiedere diverse ore. Dopo l'addestramento del modello, riceverai una notifica via email.

Addestramento di un modello utilizzando l'API AutoML

Per addestrare un modello sull'API AutoML, usa il metodo projects.locations.models.create.

  1. Salva il corpo della richiesta riportato di seguito in un file denominato request.json. Fornisci le seguenti informazioni nella richiesta:

    • DISPLAY_NAME, un nome visualizzato per il modello
    • DATASET_ID l'ID del set di dati
    {
    "displayName": "DISPLAY_NAME",
    "dataset_id": "DATASET_ID",
    "textExtractionModelMetadata": {
       "model_hint": "healthcare"
    }
    }
    
  2. Esegui il comando projects.locations.models.create.

    arricciare

    Per effettuare la richiesta POST utilizzando curl, esegui questo comando:

    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

    Per effettuare la richiesta POST utilizzando Windows PowerShell, esegui questo comando:

    $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
    

    L'output del comando dovrebbe essere simile all'esempio seguente. Puoi utilizzare l'ID operazione per conoscere lo stato dell'attività. Per ulteriori informazioni, consulta Recupero dello stato di un'operazione.

    {
      "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
      }
    }
    

Elaborazione di previsioni

Esecuzione di previsioni con l'interfaccia utente di AutoML Natural Language

Puoi utilizzare AutoML Entity Extraction for Healthcare per eseguire previsioni sui file in Cloud Storage o sul testo inserito nella UI di AutoML Natural Language.

Per eseguire una previsione utilizzando l'interfaccia utente di AutoML Natural Language, procedi nel seguente modo:

  1. Apri l'interfaccia utente di AutoML Natural Language e fai clic su Modelli.

  2. Fai clic sulla riga del modello che vuoi utilizzare per analizzare il documento.

  3. Fai clic sulla scheda Testa e utilizza sotto la barra del titolo.

  4. Fai clic su Seleziona un file in Cloud Storage e inserisci il percorso Cloud Storage per un file PDF oppure fai clic su Inserisci testo di seguito, quindi inserisci un testo medico da utilizzare per la previsione.

  5. Fai clic su Previsione.

Creazione di previsioni con il metodo batchPredict

Per utilizzare il modello per eseguire previsioni asincrone ad alta velocità effettiva su un corpus di documenti, puoi utilizzare il metodo batchPredict. Per utilizzare il metodo di previsione batch, devi specificare gli URI di input e di output che puntano alle località nei bucket Cloud Storage.

L'URI di input rimanda a un file JSONL che specifica i contenuti da analizzare. L'output specifica una località in cui AutoML salva i risultati della previsione batch.

Per effettuare previsioni utilizzando il metodo batchPredict, svolgi i seguenti passaggi:

  1. Crea un file JSONL che contenga i contenuti da analizzare, in linea o sotto forma di link ai file archiviati in un bucket Cloud Storage.

    Il seguente esempio mostra i contenuti incorporati inclusi nel file JSONL, con ogni elemento che include l'ID univoco richiesto.

    { "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." } }
    

    L'esempio seguente mostra un file JSONL contenente link ai file di input, che devono trovarsi nei bucket Cloud Storage:

    { "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME1" ] } } } }
    { "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME2" ] } } } }
    ...
    
  2. Crea un file JSON che specifichi la posizione del file di input JSONL e la directory di output in un bucket Cloud Storage.

    {
    "input_config": { "gcs_source": { "input_uris": [ "gs://JSONL_FILE_LOCATION"] } },
    "output_config": { "gcs_destination": { "output_uri_prefix": "gs://OUTPUT_DIR" } }
    }
    
  3. Per effettuare previsioni, esegui il metodo batchPredict:

    arricciare

    Nel comando batchPredict, apporta le seguenti sostituzioni:

    • Sostituisci REQUEST_FILENAME con il percorso del file JSON di richiesta.
    • Sostituisci PROJECT_ID/locations/REGION/models/MODEL_ID con il nome completo del modello. Per trovare l'ID modello, vai alla pagina Modelli nell'interfaccia utente di AutoML.

    Il seguente esempio mostra una richiesta POST che utilizza curl:

    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
    

    La risposta al comando è simile all'esempio seguente:

    {
    "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"
            ]
          }
        }
      }
    }
    }
    

    Per verificare se la previsione è stata completata, esegui questo comando:

    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
    

    Nella risposta, che sarà simile al seguente esempio, cerca ¨done¨: true per verificare che l'operazione sia stata completata:

    {
    "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"
    }
    }
    

    Nella posizione di output specificata, un file JSONL contiene i risultati delle previsioni.

    PowerShell

    Nel comando batchPredict, apporta le seguenti sostituzioni:

    • Sostituisci REQUEST_FILENAME con il percorso in cui hai archiviato il file JSON di richiesta.
    • Sostituisci PROJECT_ID/locations/REGION/models/MODEL_ID con il nome completo del modello. Per trovare l'ID modello, vai alla pagina Modelli nell'interfaccia utente di AutoML.

    L'esempio seguente mostra una richiesta POST mediante 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
    

    La risposta al comando è simile all'esempio seguente:

    {
    "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"
            ]
          }
        }
      }
    }
    }
    

    Per verificare se la previsione è stata completata, esegui questo comando:

    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
    

    Nella risposta, che sarà simile al seguente esempio, cerca ¨done¨: true per verificare che l'operazione sia stata completata:

    {
    "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"
    }
    }
    

    Nella posizione di output specificata, un file JSONL contiene i risultati delle previsioni.