Tutorial ini menunjukkan cara membuat model kustom untuk mengklasifikasikan konten menggunakan AutoML Natural Language. Aplikasi ini melatih model kustom menggunakan korpus "momen bahagia" dari crowd-source dari set data open source HappyDB. Model yang dihasilkan mengklasifikasikan momen bahagia ke dalam kategori yang mencerminkan penyebab kebahagiaan.
Data tersedia melalui lisensi Creative Commons CCO: Domain Publik.
Tutorial ini membahas pelatihan model kustom, mengevaluasi performanya, dan mengklasifikasikan konten baru.
Prasyarat
Mengonfigurasi lingkungan project Anda
- 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the AutoML Natural Language APIs.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the AutoML Natural Language APIs.
- Instal Google Cloud CLI.
- Ikuti petunjuk untuk membuat akun layanan dan mendownload file kunci.
- Tetapkan
GOOGLE_APPLICATION_CREDENTIALS
variabel lingkungan ke jalur file kunci akun layanan yang Anda download saat membuat akun layanan. Contoh:export GOOGLE_APPLICATION_CREDENTIALS=key-file
- Tambahkan akun layanan baru Anda ke peran IAM AutoML Editor dengan
perintah berikut. Ganti project-id dengan nama project Google Cloud Anda dan ganti service-account-name dengan nama akun layanan Anda yang baru, misalnya
service-account1@myproject.iam.gserviceaccount.com
.gcloud auth login gcloud config set project project-id gcloud projects add-iam-policy-binding project-id
--member=serviceAccount:service-account-name
--role='roles/automl.editor' - Izinkan akun layanan AutoML Natural Language mengakses resource project Google Cloud Anda:
gcloud projects add-iam-policy-binding project-id
--member="serviceAccount:custom-vision@appspot.gserviceaccount.com"
--role="roles/storage.admin" - Instal library klien.
- Tetapkan variabel lingkungan PROJECT_ID dan Region_NAME.
Ganti project-id dengan Project ID untuk project Google Cloud Platform Anda. AutoML Natural Language saat ini memerlukan lokasius-central1
.export PROJECT_ID="project-id" export REGION_NAME="us-central1"
- Buat bucket Google Cloud Storage untuk menyimpan dokumen yang akan digunakan untuk melatih model kustom Anda.
Nama bucket harus dalam format:$PROJECT_ID-lcm
. Perintah berikut akan membuat bucket penyimpanan di regionus-central1
bernama$PROJECT_ID-lcm
.gsutil mb -p $PROJECT_ID -c regional -l $REGION_NAME gs://$PROJECT_ID-lcm/
- Salin file
happiness.csv
dari bucket publik ke bucket Google Cloud Storage Anda.
Filehappiness.csv
ada di folder NL-classification di bucket publik cloud-ml-data.
Lokasi file kode sumber
Jika Anda ingin kode sumbernya, Anda dapat menemukannya di sini. Anda dapat menyalin file kode sumber ke folder project Google Cloud Platform. Jika tidak, sebaiknya salin langsung kode dari halaman ini saat Anda mencapai setiap langkah.
Python
Tutorial ini terdiri dari program Python ini:
language_text_classification_create_dataset.py
– Mencakup fungsi untuk membuat set dataimport_dataset.py
– Mencakup fungsi untuk mengimpor set datalanguage_text_classification_create_model.py
– Mencakup fungsi untuk membuat modellist_model_evaluations.py
– Menyertakan fungsi untuk mencantumkan evaluasi modellanguage_text_classification_predict.py
– Mencakup fungsi yang terkait dengan prediksidelete_model.py
- Menyertakan fungsi untuk menghapus model
Java
Tutorial ini terdiri dari file Java berikut:
LanguageTextClassificationCreateDataset.java
– Mencakup fungsi untuk membuat set dataImportDataset.java
– Mencakup fungsi untuk mengimpor set dataLanguageTextClassificationCreateModel.java
– Mencakup fungsi untuk membuat modelListModelEvaluations.java
– Menyertakan fungsi untuk mencantumkan evaluasi modelLanguageTextClassificationPredict.java
– Mencakup fungsi yang terkait dengan prediksiDeleteModel.java
– Mencakup fungsi untuk menghapus model
Node.js
Tutorial ini terdiri dari program Node.js berikut:
language_text_classification_create_dataset.js
– Mencakup fungsi untuk membuat set dataimport_dataset.js
– Mencakup fungsi untuk mengimpor set datalanguage_text_classification_create_model.js
– Mencakup fungsi untuk membuat modellist_model_evaluations.js
– Menyertakan fungsi untuk mencantumkan evaluasi modellanguage_text_classification_predict.js
– Mencakup fungsi yang terkait dengan prediksidelete_model.js
- Menyertakan fungsi untuk menghapus model
Menjalankan aplikasi
Langkah 1: Buat set data
Langkah pertama dalam membuat sebuah model kustom adalah dengan membuat set data kosong yang akan menyimpan data pelatihan untuk model tersebut. Saat membuat set data, tentukan jenis klasifikasi yang ingin dijalankan oleh model kustom Anda:
- MULTICLASS menetapkan satu label ke setiap dokumen yang diklasifikasikan
- MULTILABEL memungkinkan dokumen diberi beberapa label
Tutorial ini membuat set data bernama 'happydb' dan menggunakan MULTICLASS.
Salin kodenya
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Permintaan
Jalankan fungsi create_dataset
untuk membuat set data kosong. Anda harus mengubah baris kode berikut:
- Tetapkan
project_id
ke PROJECT_ID Anda Tetapkan
display_name
untuk set data (happydb
)
Python
python language_text_classification_create_dataset.py
Java
mvn compile exec:java -Dexec.mainClass="com.example.automl.LanguageTextClassificationCreateDataset"
Node.js
node language_text_classification_create_dataset.js
Respons
Respons tersebut menyertakan detail set data yang baru dibuat, termasuk
ID Set Data yang akan Anda gunakan untuk mereferensikan set data dalam permintaan mendatang. Sebaiknya
tetapkan variabel lingkungan DATASET_ID
ke nilai ID Set Data yang
ditampilkan.
Dataset name: projects/216065747626/locations/us-central1/datasets/TCN7372141011130533778 Dataset id: TCN7372141011130533778 Dataset display name: happydb Text classification dataset specification: classification_type: MULTICLASS Dataset example count: 0 Dataset create time: seconds: 1530251987 nanos: 216586000
Langkah 2: Impor item pelatihan ke set data
Langkah selanjutnya adalah mengisi set data dengan daftar item konten pelatihan yang diberi label menggunakan kategori target.
Antarmuka fungsi import_dataset
menggunakan file .csv sebagai input yang mencantumkan lokasi semua dokumen pelatihan dan label yang tepat untuk setiap dokumen pelatihan.
(Lihat Mempersiapkan data pelatihan Anda untuk mengetahui detail tentang format yang diperlukan.) Untuk tutorial ini, kita akan menggunakan happiness.csv
, yang Anda upload ke Google Cloud Storage di atas.
Salin kodenya
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Permintaan
Jalankan fungsi import_data
untuk mengimpor konten pelatihan. Bagian pertama
kode yang akan diubah adalah ID Set Data dari langkah sebelumnya dan yang kedua
adalah URI happiness.csv
. Anda harus mengubah baris kode berikut:
- Tetapkan
project_id
ke PROJECT_ID Anda - Tetapkan
dataset_id
untuk set data (dari output langkah sebelumnya) Tetapkan
path
yang merupakan URI dari (gs://YOUR_PROJECT_ID-lcm/csv/happiness.csv
)
Python
python import_dataset.py
Java
mvn compile exec:java -Dexec.mainClass="com.example.automl.ImportDataset"
Node.js
node import_dataset.js
Respons
Processing import... Dataset imported.
Langkah 3: Buat (latih) model
Setelah memiliki set data dokumen pelatihan berlabel, Anda dapat melatih model baru.
Salin kodenya
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Permintaan
Gunakan fungsi create_model
untuk membuat model. ID Set Data berasal dari
langkah sebelumnya. Anda harus mengubah baris kode berikut:
- Tetapkan
project_id
ke PROJECT_ID Anda - Tetapkan
dataset_id
untuk set data (dari output langkah sebelumnya) Menetapkan
display_name
untuk model Anda (happydb_model)
Python
python language_text_classification_create_model.py
Java
mvn compile exec:java -Dexec.mainClass="com.example.automl.LanguageTextClassificationCreateModel"
Node.js
node language_text_classification_create_model.js
Respons
Fungsi create_model
memulai operasi pelatihan dan mencetak nama
operasi. Pelatihan terjadi secara asinkron dan mungkin memerlukan waktu beberapa saat untuk diselesaikan, sehingga Anda dapat menggunakan ID operasi untuk memeriksa status pelatihan.
Setelah pelatihan selesai, create_model
akan menampilkan ID Model. Seperti ID Set Data, Anda mungkin ingin menetapkan variabel lingkungan MODEL_ID
ke nilai ID Model
yang ditampilkan.
Training operation name: projects/216065747626/locations/us-central1/operations/TCN3007727620979824033 Training started... Model name: projects/216065747626/locations/us-central1/models/TCN7683346839371803263 Model id: TCN7683346839371803263 Model display name: happydb_model Model create time: seconds: 1529649600 nanos: 966000000 Model deployment state: deployed
Langkah 4: Evaluasi model
Setelah pelatihan, Anda dapat mengevaluasi kesiapan model dengan meninjau presisi, perolehan, dan skor F1.
Fungsi display_evaluation
menggunakan ID Model sebagai parameter.
Salin kodenya
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Permintaan
Buat permintaan untuk menampilkan performa evaluasi keseluruhan model dengan menjalankan permintaan berikut. Anda harus mengubah baris kode berikut:
- Tetapkan
project_id
ke PROJECT_ID Anda Tetapkan
model_id
ke ID model Anda
Python
python list_model_evaluations.py
Java
mvn compile exec:java -Dexec.mainClass="com.example.automl.ListModelEvaluations"
Node.js
node list_model_evaluations.js
Respons
Jika skor presisi dan perolehan terlalu rendah, Anda dapat memperkuat set data pelatihan dan melatih ulang model Anda. Untuk mengetahui informasi selengkapnya, lihat Mengevaluasi model.
Precision and recall are based on a score threshold of 0.5 Model Precision: 96.3% Model Recall: 95.7% Model F1 score: 96.0% Model Precision@1: 96.33% Model Recall@1: 95.74% Model F1 score@1: 96.04%
Langkah 5: Deploy model
Jika model kustom memenuhi standar kualitas, Anda dapat men-deploy-nya, lalu membuat permintaan prediksi.
Salin kodenya
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Permintaan
Untuk fungsi deploy_model
, Anda harus mengubah baris kode berikut:
- Tetapkan
project_id
ke PROJECT_ID Anda Tetapkan
model_id
ke ID model Anda
Python
python deploy_model.py
Java
mvn compile exec:java -Dexec.mainClass="com.example.automl.DeployModel.java"
Node.js
node deploy_model.js
Respons
Model deployment finished.
Langkah 6: Gunakan model untuk membuat prediksi
Setelah men-deploy model, Anda dapat menggunakannya untuk mengklasifikasikan konten baru.
Salin kodenya
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Permintaan
Untuk fungsi predict
, Anda harus mengubah baris kode berikut:
- Tetapkan
project_id
ke PROJECT_ID Anda - Tetapkan
model_id
ke ID model Anda Setel
content
yang ingin Anda prediksi
Python
python language_text_classification_predict.py
Java
mvn compile exec:java -Dexec.mainClass="com.example.automl.LanguageTextClassificationPredict"
Node.js
node language_text_classification_predict.js
Respons
Fungsi ini menampilkan skor klasifikasi terkait seberapa cocok konten dengan setiap kategori.
Prediction results: Predicted class name: affection Predicted class score: 0.9702693223953247
Langkah 7: Hapus Model
Setelah selesai menggunakan model contoh ini, Anda dapat menghapusnya secara permanen. Anda tidak akan dapat lagi menggunakan model ini untuk prediksi.
Salin kodenya
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.
Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Permintaan
Buat permintaan dengan jenis operasi delete_model
untuk menghapus model yang Anda buat,
Anda harus mengubah baris kode berikut:
- Tetapkan
project_id
ke PROJECT_ID Anda Tetapkan
model_id
ke ID model Anda
Python
python delete_model.py
Java
mvn compile exec:java -Dexec.mainClass="com.example.automl.DeleteModel"
Node.js
node delete_model.js
Respons
Model deleted.