Melatih model ekstraksi entity untuk layanan kesehatan

AutoML Entity Extraction for Healthcare menyediakan titik awal bagi Anda untuk melatih model Healthcare Natural Language kustom. Setelah melatih model, Anda dapat meminta prediksi dari model tersebut. Prediksi terjadi saat Anda mengirimkan teks medis ke model untuk ekstraksi entity.

AutoML mendukung mode prediksi berikut:

  • Prediksi online, dengan mengirimkan satu dokumen dan model akan menampilkan analisis secara sinkron.
  • Prediksi batch, untuk mengirimkan kumpulan dokumen yang dianalisis secara asinkron oleh model.

Aktifkan AutoML API

Sebelum melatih model menggunakan AutoML Entity Extraction for Healthcare, Anda harus mengaktifkan AutoML API untuk project Google Cloud Anda.

Untuk mengaktifkan AutoML API, selesaikan langkah-langkah berikut:

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Buat akun layanan:

    1. Di konsol Google Cloud, buka halaman Buat akun layanan.

      Buka Create service account
    2. Pilih project Anda.
    3. Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.

      Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Sebagai contoh, Service account for quickstart.

    4. Klik Buat dan lanjutkan.
    5. Berikan peran Project > Owner ke akun layanan.

      Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih Project > Owner.

    6. Klik Lanjutkan.
    7. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

      Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.

  5. Membuat kunci akun layanan:

    1. Di konsol Google Cloud, klik alamat email untuk akun layanan yang telah dibuat.
    2. Klik Kunci.
    3. Klik Tambahkan kunci, lalu klik Buat kunci baru.
    4. Klik Create. File kunci JSON akan didownload ke komputer Anda.
    5. Klik Close.
  6. Tetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS ke jalur file JSON yang berisi kredensial Anda. Variabel ini hanya berlaku untuk sesi shell Anda saat ini. Jadi, jika Anda membuka sesi baru, tetapkan variabel kembali.

  7. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  8. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  9. Buat akun layanan:

    1. Di konsol Google Cloud, buka halaman Buat akun layanan.

      Buka Create service account
    2. Pilih project Anda.
    3. Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.

      Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Sebagai contoh, Service account for quickstart.

    4. Klik Buat dan lanjutkan.
    5. Berikan peran Project > Owner ke akun layanan.

      Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih Project > Owner.

    6. Klik Lanjutkan.
    7. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

      Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.

  10. Membuat kunci akun layanan:

    1. Di konsol Google Cloud, klik alamat email untuk akun layanan yang telah dibuat.
    2. Klik Kunci.
    3. Klik Tambahkan kunci, lalu klik Buat kunci baru.
    4. Klik Create. File kunci JSON akan didownload ke komputer Anda.
    5. Klik Close.
  11. Tetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS ke jalur file JSON yang berisi kredensial Anda. Variabel ini hanya berlaku untuk sesi shell Anda saat ini. Jadi, jika Anda membuka sesi baru, tetapkan variabel kembali.

  12. Enable the AutoML Natural Language API.

    Enable the API

  13. Menginstal Google Cloud CLI.
  14. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init

Siapkan izin

Untuk melatih model kustom yang menggunakan AutoML Entity Extraction for Healthcare sebagai model dasar, Anda harus menggunakan akun layanan yang memiliki izin healthcare.nlpservce.analyzeEntities, yang disertakan dalam peran healthcare.nlpServiceViewer.

Untuk menetapkan peran ini, jalankan perintah gcloud projects add-iam-policy-binding:

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

Melatih model

Melatih model menggunakan UI AutoML

Untuk melatih model menggunakan AutoML UI, selesaikan langkah-langkah berikut:

  1. Buka AutoML Natural Language UI, lalu klik Get started di bagian AutoML Entity Extraction.

    Halaman Datasets akan muncul, menampilkan status set data yang dibuat sebelumnya untuk project saat ini. Untuk berlatih menggunakan set data bagi project yang berbeda, pilih project dari daftar di kanan atas panel judul.

  2. Buat set data atau pilih set data yang ingin Anda gunakan untuk melatih model kustom.

    Nama tampilan set data yang dipilih akan muncul di kolom judul, dan halaman tersebut mencantumkan setiap dokumen dalam set data beserta labelnya.

  3. Impor file CSV yang mencantumkan set data teks atau dokumen dalam format JSONL terstruktur.

  4. Setelah meninjau set data, klik tab Train di bawah kolom judul.

    Jika Anda melatih model pertama dari set data ini, halaman pelatihan akan memberikan analisis dasar set data dan memberi tahu Anda apakah model tersebut memadai untuk pelatihan. Jika AutoML Natural Language menyarankan perubahan, pertimbangkan untuk kembali ke halaman Item teks dan menambahkan dokumen atau label.

    Jika Anda telah melatih model lain dari set data ini, halaman pelatihan akan menampilkan metrik evaluasi dasar untuk model tersebut.

  5. Klik Start Training.

  6. Masukkan nama untuk model.

    Nama model dapat berisi maksimal 32 karakter dan hanya berisi huruf, angka, serta garis bawah. Karakter pertama harus berupa huruf.

  7. Jika Anda ingin men-deploy model secara otomatis, pilih opsi Deploy model after training selesai.

  8. Pilih opsi Enable Healthcare Entity Extraction.

  9. Klik Start Training.

Pelatihan dapat memerlukan waktu beberapa jam. Setelah model dilatih, Anda akan menerima notifikasi email.

Melatih model menggunakan AutoML API

Untuk melatih model AutoML API, gunakan metode projects.locations.models.create.

  1. Simpan isi permintaan di bawah ke file bernama request.json. Berikan informasi berikut dalam permintaan:

    • DISPLAY_NAME, nama tampilan untuk model
    • DATASET_ID ID set data
    {
    "displayName": "DISPLAY_NAME",
    "dataset_id": "DATASET_ID",
    "textExtractionModelMetadata": {
       "model_hint": "healthcare"
    }
    }
    
  2. Jalankan perintah projects.locations.models.create.

    curl

    Untuk membuat permintaan POST menggunakan curl, jalankan perintah berikut:

    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

    Untuk membuat permintaan POST menggunakan Windows PowerShell, jalankan perintah berikut:

    $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
    

    Output perintah akan serupa dengan contoh berikut. Anda dapat menggunakan ID operasi untuk mendapatkan status tugas. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan status operasi.

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

Membuat prediksi

Membuat prediksi menggunakan UI AutoML Natural Language

Anda dapat menggunakan AutoML Entity Extraction for Healthcare untuk membuat prediksi pada file di Cloud Storage atau teks yang Anda masukkan di UI AutoML Natural Language.

Untuk membuat prediksi menggunakan UI AutoML Natural Language, selesaikan langkah-langkah berikut:

  1. Buka AutoML Natural Language UI, lalu klik Models.

  2. Klik baris model yang ingin Anda gunakan untuk menganalisis dokumen.

  3. Klik tab Pengujian & Penggunaan di bawah panel judul.

  4. Klik Select a file on Cloud Storage, lalu masukkan jalur Cloud Storage untuk file PDF, atau klik Input text below lalu masukkan teks medis yang akan digunakan untuk prediksi.

  5. Klik Prediksi.

Membuat prediksi menggunakan metode batchPredict

Untuk menggunakan model Anda guna melakukan prediksi asinkron dengan throughput tinggi pada korpus dokumen, Anda dapat menggunakan metode batchPredict. Untuk menggunakan metode prediksi batch, tentukan URI input dan output yang mengarah ke lokasi di bucket Cloud Storage.

URI input mengarah ke file JSONL yang menentukan konten yang akan dianalisis. Output tersebut menentukan lokasi tempat AutoML menyimpan hasil dari prediksi batch.

Untuk membuat prediksi menggunakan metode batchPredict, selesaikan langkah-langkah berikut:

  1. Buat file JSONL yang berisi konten yang akan dianalisis, baik secara inline maupun sebagai link ke file yang disimpan di bucket Cloud Storage.

    Contoh berikut menampilkan konten inline yang disertakan dalam file JSONL, dengan setiap item menyertakan ID unik yang diperlukan.

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

    Contoh berikut menunjukkan file JSONL yang berisi link ke file input, yang harus berada di bucket Cloud Storage:

    { "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME1" ] } } } }
    { "document": { "input_config": { "gcs_source": { "input_uris": [ "gs://FOLDER/FILENAME2" ] } } } }
    ...
    
  2. Buat file JSON yang menentukan lokasi file input JSONL dan direktori output di bucket Cloud Storage.

    {
    "input_config": { "gcs_source": { "input_uris": [ "gs://JSONL_FILE_LOCATION"] } },
    "output_config": { "gcs_destination": { "output_uri_prefix": "gs://OUTPUT_DIR" } }
    }
    
  3. Untuk membuat prediksi, jalankan metode batchPredict:

    curl

    Dalam perintah batchPredict, buat substitusi berikut:

    • Ganti REQUEST_FILENAME dengan lokasi file JSON permintaan Anda.
    • Ganti PROJECT_ID/locations/REGION/models/MODEL_ID dengan nama model Anda yang sepenuhnya memenuhi syarat. Untuk menemukan ID model, buka halaman Model di UI AutoML.

    Contoh berikut menunjukkan permintaan POST menggunakan 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
    

    Respons terhadap perintah ini mirip dengan contoh berikut:

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

    Untuk memeriksa apakah prediksi selesai, jalankan perintah berikut:

    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
    

    Pada respons, yang akan mirip dengan contoh berikut, cari ¨done¨: true untuk mengonfirmasi bahwa operasi telah selesai:

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

    Di lokasi output yang Anda tentukan, file JSONL berisi hasil prediksi.

    PowerShell

    Dalam perintah batchPredict, buat substitusi berikut:

    • Ganti REQUEST_FILENAME dengan lokasi Anda menyimpan file JSON permintaan Anda.
    • Ganti PROJECT_ID/locations/REGION/models/MODEL_ID dengan nama model Anda yang sepenuhnya memenuhi syarat. Untuk menemukan ID model, buka halaman Model di UI AutoML.

    Contoh berikut menunjukkan permintaan POST menggunakan 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
    

    Respons terhadap perintah ini mirip dengan contoh berikut:

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

    Untuk memeriksa apakah prediksi selesai, jalankan perintah berikut:

    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
    

    Pada respons, yang akan mirip dengan contoh berikut, cari ¨done¨: true untuk mengonfirmasi bahwa operasi telah selesai:

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

    Di lokasi output yang Anda tentukan, file JSONL berisi hasil prediksi.