Halaman ini menjelaskan cara menyiapkan data teks untuk digunakan dalam set data Vertex AI untuk melatih model klasifikasi label tunggal dan multi-label.
Klasifikasi label tunggal
Untuk klasifikasi label tunggal, data pelatihan terdiri dari dokumen dan kategori klasifikasi yang berlaku untuk dokumen tersebut. Klasifikasi label tunggal memungkinkan dokumen diberi satu label saja.
Persyaratan data
- Anda harus menyediakan sedikitnya 20, dan tidak lebih dari 1.000.000, dokumen pelatihan.
- Anda harus menyediakan minimal 2, dan tidak lebih dari 5.000, label kategori unik.
- Anda harus menerapkan setiap label ke minimal 10 dokumen.
- Untuk klasifikasi multi-label, Anda dapat menerapkan satu atau beberapa label ke dokumen.
- Anda dapat menyertakan dokumen secara inline atau mereferensikan file TXT yang ada di bucket Cloud Storage.
Praktik terbaik untuk data teks yang digunakan untuk melatih model AutoML
Rekomendasi berikut berlaku untuk set data yang digunakan untuk melatih model AutoML.
- Gunakan data pelatihan yang bervariasi seperti data yang akan digunakan untuk membuat prediksi. Menyertakan panjang dokumen yang berbeda, dokumen yang ditulis oleh orang yang berbeda, dokumen yang menggunakan kata-kata atau gaya yang berbeda, dan sebagainya.
- Menggunakan dokumen yang dapat dikategorikan dengan mudah oleh pembaca manusia. Model AutoML umumnya tidak dapat memprediksi label kategori yang tidak dapat ditetapkan oleh manusia. Jadi, jika manusia tidak dapat dilatih untuk menetapkan label dengan membaca dokumen, model Anda kemungkinan juga tidak dapat dilatih untuk melakukan hal tersebut.
- Berikan dokumen pelatihan sebanyak mungkin per label. Anda dapat meningkatkan skor keyakinan dari model Anda dengan menggunakan lebih banyak contoh per label. Latih model menggunakan 50 contoh per label dan evaluasi hasilnya. Tambahkan lebih banyak contoh dan latih ulang sampai Anda memenuhi target akurasi, yang mungkin memerlukan ratusan atau bahkan 1.000 contoh per label.
- Model akan berfungsi optimal jika ada dokumen yang 100 kali lebih banyak untuk label yang paling umum daripada label yang paling tidak umum. Sebaiknya Anda menghapus label berfrekuensi rendah.
- Pertimbangkan untuk menyertakan label di luar domain (misalnya,
None_of_the_above
) untuk dokumen yang tidak cocok dengan label yang Anda tentukan. Misalnya, jika Anda hanya memberi label pada dokumen tentang seni dan hiburan, tetapi set data Anda berisi dokumen tentang subjek lain, seperti olahraga atau teknologi, beri label dokumen tentang subjek lain sebagaiNone_of_the_above
. Tanpa label tersebut, model yang dilatih akan mencoba menetapkan semua dokumen ke salah satu label yang ditentukan, bahkan dokumen yang label tersebut tidak sesuai. - Jika ada banyak dokumen yang saat ini tidak cocok dengan label Anda, filter dokumen tersebut sehingga model Anda tidak mencondongkan prediksi ke label di luar domain. Misalnya, Anda dapat memiliki model pemfilteran yang memprediksi apakah dokumen sesuai dengan kumpulan label saat ini atau berada di luar domain. Setelah pemfilteran, Anda akan memiliki model lain yang mengklasifikasikan dokumen dalam domain saja.
File input
Klasifikasi label tunggal mendukung file input JSON Lines atau CSV. Anda hanya dapat menentukan satu label (anotasi) untuk dokumen tertentu. Bagian berikut menjelaskan file input dan memberikan contoh untuk setiap jenis file.
JSON Lines
Format, nama kolom, dan jenis nilai untuk file JSON Lines ditentukan oleh file skema, yang merupakan file YAML yang dapat diakses secara publik.
Anda dapat mendownload file skema untuk klasifikasi label tunggal dari
lokasi Cloud Storage berikut:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_single_label_io_format_1.0.0.yaml
Contoh JSON Lines
Contoh berikut menunjukkan cara menggunakan skema untuk membuat
file JSON Lines Anda sendiri. Contoh ini menyertakan baris baru agar lebih mudah dibaca. Dalam
file JSON, sertakan jeda baris hanya setelah setiap dokumen. Kolom
dataItemResourceLabels
menentukan, misalnya, ml_use
dan bersifat
opsional.
{ "classificationAnnotation": { "displayName": "label" }, "textContent": "inline_text", "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training|test|validation" } } { "classificationAnnotation": { "displayName": "label2" }, "textGcsUri": "gcs_uri_to_file", "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training|test|validation" } }
CSV
Setiap baris dalam file CSV mengacu pada satu dokumen. Contoh berikut
menunjukkan format umum file CSV yang valid. Kolom ml_use
bersifat opsional.
[ml_use],gcs_file_uri|"inline_text",label
Cuplikan berikut ini adalah contoh file CSV input.
test,gs://path_to_file,label1 test,"inline_text",label2 training,gs://path_to_file,label3 validation,gs://path_to_file,label1
Klasifikasi multi-label
Untuk klasifikasi multi-label, data pelatihan terdiri dari dokumen dan kategori klasifikasi yang berlaku untuk dokumen tersebut. Klasifikasi multi-label memungkinkan dokumen diberi satu atau beberapa label.
Persyaratan data
- Anda harus menyediakan sedikitnya 20, dan tidak lebih dari 1.000.000, dokumen pelatihan.
- Anda harus menyediakan minimal 2, dan tidak lebih dari 5.000, label kategori unik.
- Anda harus menerapkan setiap label ke minimal 10 dokumen.
- Untuk klasifikasi multi-label, Anda dapat menerapkan satu atau beberapa label ke dokumen.
- Anda dapat menyertakan dokumen secara inline atau mereferensikan file TXT yang ada di bucket Cloud Storage.
Praktik terbaik untuk data teks yang digunakan untuk melatih model AutoML
Rekomendasi berikut berlaku untuk set data yang digunakan untuk melatih model AutoML.
- Gunakan data pelatihan yang bervariasi seperti data yang akan digunakan untuk membuat prediksi. Menyertakan panjang dokumen yang berbeda, dokumen yang ditulis oleh orang yang berbeda, dokumen yang menggunakan kata-kata atau gaya yang berbeda, dan sebagainya.
- Menggunakan dokumen yang dapat dikategorikan dengan mudah oleh pembaca manusia. Model AutoML umumnya tidak dapat memprediksi label kategori yang tidak dapat ditetapkan oleh manusia. Jadi, jika manusia tidak dapat dilatih untuk menetapkan label dengan membaca dokumen, model Anda kemungkinan juga tidak dapat dilatih untuk melakukan hal tersebut.
- Saat menggunakan klasifikasi multi-label, terapkan semua label yang relevan ke setiap dokumen. Misalnya, jika Anda melabeli dokumen yang memberikan detail tentang obat-obatan, Anda mungkin memiliki dokumen yang diberi label dengan
Dosage
danSide Effects
. - Berikan dokumen pelatihan sebanyak mungkin per label. Anda dapat meningkatkan skor keyakinan dari model Anda dengan menggunakan lebih banyak contoh per label. Skor keyakinan yang lebih baik sangat membantu saat model Anda menampilkan beberapa label saat mengklasifikasikan dokumen. Latih model menggunakan 50 contoh per label dan evaluasi hasilnya. Tambahkan contoh lainnya dan latih ulang hingga Anda memenuhi target akurasi, yang mungkin memerlukan ratusan atau bahkan 1.000 contoh per label.
- Model akan berfungsi optimal jika ada dokumen yang 100 kali lebih banyak untuk label yang paling umum daripada label yang paling tidak umum. Sebaiknya Anda menghapus label berfrekuensi rendah.
- Pertimbangkan untuk menyertakan label di luar domain (misalnya,
None_of_the_above
) untuk dokumen yang tidak cocok dengan label yang Anda tentukan. Misalnya, jika Anda hanya memberi label pada dokumen tentang seni dan hiburan, tetapi set data Anda berisi dokumen tentang subjek lain, seperti olahraga atau teknologi, beri label dokumen tentang subjek lain sebagaiNone_of_the_above
. Tanpa label tersebut, model yang dilatih akan mencoba menetapkan semua dokumen ke salah satu label yang ditentukan, bahkan dokumen yang label tersebut tidak sesuai. - Jika ada banyak dokumen yang saat ini tidak cocok dengan label Anda, filter dokumen tersebut sehingga model Anda tidak mencondongkan prediksi ke label di luar domain. Misalnya, Anda dapat memiliki model pemfilteran yang memprediksi apakah dokumen sesuai dengan kumpulan label saat ini atau berada di luar domain. Setelah pemfilteran, Anda akan memiliki model lain yang mengklasifikasikan dokumen dalam domain saja.
File input
Klasifikasi multi-label mendukung File input CSV atau JSON Lines. Anda dapat menentukan lebih dari satu label (anotasi) untuk dokumen tertentu. Bagian berikut menjelaskan file input dan memberikan contoh untuk setiap jenis file.
JSON Lines
Format, nama kolom, dan jenis nilai untuk file JSON Lines ditentukan oleh file skema, yang merupakan file YAML yang dapat diakses secara publik.
Anda dapat mendownload file skema untuk klasifikasi multi-label dari
lokasi Cloud Storage berikut:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_multi_label_io_format_1.0.0.yaml
Contoh JSON Lines
Contoh berikut menunjukkan cara menggunakan skema untuk membuat
file JSON Lines Anda sendiri. Contoh ini menyertakan baris baru agar lebih mudah dibaca. Dalam
file JSON, sertakan jeda baris hanya setelah setiap dokumen. Kolom
dataItemResourceLabels
menentukan, misalnya, ml_use
dan bersifat
opsional.
{ "classificationAnnotations": [{ "displayName": "label1" },{ "displayName": "label2" }], "textGcsUri": "gcs_uri_to_file", "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training|test|validation" } } { "classificationAnnotations": [{ "displayName": "label2" },{ "displayName": "label3" }], "textContent": "inline_text", "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training|test|validation" } }
CSV
Setiap baris dalam file CSV mengacu pada satu dokumen. Contoh berikut
menunjukkan format umum file CSV yang valid. Kolom ml_use
bersifat opsional.
[ml_use],gcs_file_uri|"inline_text",label1,label2,...
Cuplikan berikut ini adalah contoh file CSV input.
test,gs://path_to_file,label1,label2 test,"inline_text",label3 training,gs://path_to_file,label1,label2,label3 validation,gs://path_to_file,label4,label5