Kecerdasan buatan (AI) dan pembelajaran mesin (ML) telah diadopsi secara luas di seluruh perusahaan dan organisasi pemerintah. Pemrosesan data tidak terstruktur menjadi lebih mudah dengan kemajuan dalam pemrosesan bahasa alami (NLP) dan layanan AI/ML yang mudah digunakan seperti Teks Amazon, Amazon Transkripsikan, dan Amazon Comprehend. Organisasi sudah mulai menggunakan layanan AI/ML seperti Amazon Comprehend untuk membangun model klasifikasi dengan data tidak terstruktur guna mendapatkan wawasan mendalam yang belum pernah mereka dapatkan sebelumnya. Meskipun Anda dapat menggunakan model terlatih dengan sedikit usaha, tanpa kurasi data dan penyesuaian model yang tepat, Anda tidak dapat mewujudkan manfaat penuh model AI/ML.
Dalam postingan ini, kami menjelaskan cara membangun dan mengoptimalkan model klasifikasi khusus menggunakan Amazon Comprehend. Kami mendemonstrasikan hal ini menggunakan klasifikasi kustom Amazon Comprehend untuk membangun model klasifikasi kustom multi-label, dan memberikan panduan tentang cara mempersiapkan set data pelatihan dan menyesuaikan model untuk memenuhi metrik kinerja seperti akurasi, presisi, perolehan, dan skor F1. Kami menggunakan artefak keluaran pelatihan model Amazon Comprehend seperti matriks konfusi untuk menyesuaikan kinerja model dan memandu Anda dalam meningkatkan data pelatihan Anda.
Ikhtisar solusi
Solusi ini menyajikan pendekatan untuk membangun model klasifikasi kustom yang dioptimalkan menggunakan Amazon Comprehend. Kami melalui beberapa langkah, termasuk persiapan data, pembuatan model, analisis metrik kinerja model, dan pengoptimalan inferensi berdasarkan analisis kami. Kami menggunakan Amazon SageMaker buku catatan dan Konsol Manajemen AWS untuk menyelesaikan beberapa langkah ini.
Kami juga mempelajari praktik terbaik dan teknik pengoptimalan selama persiapan data, pembuatan model, dan penyetelan model.
Prasyarat
Jika Anda tidak memiliki instans notebook SageMaker, Anda dapat membuatnya. Untuk instruksi, lihat Buat Instans Notebook Amazon SageMaker.
Siapkan datanya
Untuk analisis ini, kami menggunakan kumpulan data Klasifikasi Komentar Beracun dari Kaggle. Dataset ini berisi 6 label dengan 158,571 titik data. Namun, setiap label hanya memiliki kurang dari 10% dari total data sebagai contoh positif, dengan dua label memiliki kurang dari 1%.
Kami mengonversi kumpulan data Kaggle yang ada ke Amazon Memahami format CSV dua kolom dengan label dipisah menggunakan pembatas pipa (|). Amazon Comprehend mengharapkan setidaknya satu label untuk setiap titik data. Dalam kumpulan data ini, kami menemukan beberapa titik data yang tidak termasuk dalam label mana pun yang disediakan. Kami membuat label baru yang disebut bersih dan menetapkan titik data mana pun yang tidak beracun menjadi positif dengan label ini. Terakhir, kami membagi kumpulan data yang dikurasi menjadi kumpulan data pelatihan dan pengujian menggunakan pembagian rasio 80/20 per label.
Kami akan menggunakan buku catatan Persiapan Data. Langkah-langkah berikut menggunakan kumpulan data Kaggle dan menyiapkan data untuk model kita.
- Di konsol SageMaker, pilih Contoh notebook di panel navigasi.
- Pilih instans notebook yang telah Anda konfigurasikan dan pilih Buka Jupyter.
- pada New menu, pilih terminal.
- Jalankan perintah berikut di terminal untuk mengunduh artefak yang diperlukan untuk postingan ini:
- Tutup jendela terminal.
Anda akan melihat tiga buku catatan dan kereta api.csv file.
- Pilih buku catatan Persiapan Data.ipynb.
- Jalankan semua langkah di buku catatan.
Langkah-langkah ini mempersiapkan kumpulan data Kaggle mentah untuk berfungsi sebagai kumpulan data pelatihan dan pengujian yang dikurasi. Kumpulan data yang dikurasi akan disimpan di buku catatan dan Layanan Penyimpanan Sederhana Amazon (Amazon S3).
Pertimbangkan pedoman persiapan data berikut ketika menangani kumpulan data multi-label berskala besar:
- Kumpulan data harus memiliki minimal 10 sampel per label.
- Amazon Comprehend menerima maksimal 100 label. Ini adalah batas lunak yang bisa ditingkatkan.
- Pastikan file kumpulan data adalah diformat dengan benar dengan pembatas yang tepat. Pembatas yang salah dapat menimbulkan label kosong.
- Semua titik data harus memiliki label.
- Kumpulan data pelatihan dan pengujian harus memiliki distribusi data yang seimbang per label. Jangan gunakan distribusi acak karena dapat menimbulkan bias dalam kumpulan data pelatihan dan pengujian.
Bangun model klasifikasi khusus
Kami menggunakan kumpulan data pelatihan dan pengujian pilihan yang kami buat selama langkah persiapan data untuk membangun model kami. Langkah-langkah berikut membuat model klasifikasi kustom multi-label Amazon Comprehend:
- Di konsol Amazon Comprehend, pilih Klasifikasi khusus di panel navigasi.
- Pilih Buat model baru.
- Untuk Nama model, masukkan model klasifikasi toksik.
- Untuk Nama versi, masukkan 1.
- Untuk Anotasi dan format data, pilih Menggunakan mode Multi-label.
- Untuk Kumpulan data pelatihan, masukkan lokasi set data pelatihan yang dikurasi di Amazon S3.
- Pilih Kumpulan data pengujian yang disediakan pelanggan dan masukkan lokasi data pengujian yang dikurasi di Amazon S3.
- Untuk Data keluaran, masukkan lokasi Amazon S3.
- Untuk Peran IAM, pilih Buat peran IAM, tentukan akhiran nama sebagai “memahami-blog”.
- Pilih membuat untuk memulai pelatihan model klasifikasi khusus dan pembuatan model.
Tangkapan layar berikut menunjukkan detail model klasifikasi khusus di konsol Amazon Comprehend.
Sesuaikan performa model
Tangkapan layar berikut menunjukkan metrik kinerja model. Ini mencakup metrik utama seperti presisi, perolehan, skor F1, akurasi, dan banyak lagi.
Setelah model dilatih dan dibuat, model akan menghasilkan file output.tar.gz, yang berisi label dari kumpulan data serta matriks konfusi untuk setiap label. Untuk lebih menyempurnakan performa prediksi model, Anda harus memahami model Anda dengan probabilitas prediksi untuk setiap kelas. Untuk melakukan ini, Anda perlu membuat tugas analisis untuk mengidentifikasi skor yang ditetapkan Amazon Comprehend untuk setiap titik data.
Selesaikan langkah-langkah berikut untuk membuat pekerjaan analisis:
- Di konsol Amazon Comprehend, pilih Pekerjaan analisis di panel navigasi.
- Pilih Ciptakan pekerjaan.
- Untuk Nama, Masuk
toxic_train_data_analysis_job
. - Untuk Jenis analisis, pilih Klasifikasi khusus.
- Untuk Model klasifikasi dan roda gila, sebutkan
toxic-classification-model
. - Untuk Versi, tentukan 1.
- Untuk Masukkan data lokasi S3, masukkan lokasi file data pelatihan yang dikurasi.
- Untuk Masukkan format, pilih Satu dokumen per baris.
- Untuk Mengeluarkan data lokasi S3, masukkan lokasinya.
- Untuk Izin Akses, pilih Gunakan IAM Role yang sudah ada dan pilih peran yang dibuat sebelumnya.
- Pilih Ciptakan pekerjaan untuk memulai pekerjaan analisis.
- Pilih Pekerjaan analisis untuk melihat rincian pekerjaan. Harap catat id pekerjaan di bawah Detail pekerjaan. Kami akan menggunakan id pekerjaan pada langkah berikutnya.
Ulangi langkah-langkah tersebut untuk memulai pekerjaan analisis untuk data pengujian yang dikurasi. Kami menggunakan keluaran prediksi dari tugas analisis kami untuk mempelajari probabilitas prediksi model kami. Harap catat id pekerjaan pelatihan dan pekerjaan analisis tes.
Kami menggunakan Model-Ambang Batas-Analisis.ipynb notebook untuk menguji keluaran pada semua ambang batas yang mungkin dan menilai keluaran berdasarkan probabilitas prediksi menggunakan scikit-learn's precision_recall_curve
fungsi. Selain itu, kita dapat menghitung skor F1 di setiap ambang batas.
Kami memerlukan id tugas analisis Amazon Comprehend sebagai masukan Model-Ambang Batas-Analisis buku catatan. Anda bisa mendapatkan id pekerjaan dari konsol Amazon Comprehend. Jalankan semua langkah di Model-Ambang Batas-Analisis buku catatan untuk mengamati ambang batas untuk semua kelas.
Perhatikan bagaimana presisi meningkat seiring dengan naiknya ambang batas, sedangkan kebalikannya terjadi dengan perolehan kembali. Untuk menemukan keseimbangan antara keduanya, kami menggunakan skor F1 yang memiliki puncak yang terlihat pada kurvanya. Puncak skor F1 sesuai dengan ambang batas tertentu yang dapat meningkatkan performa model. Perhatikan bagaimana sebagian besar label berada di sekitar tanda 0.5 untuk ambang batas kecuali label ancaman, yang memiliki ambang batas sekitar 0.04.
Kami kemudian dapat menggunakan ambang batas ini untuk label tertentu yang berkinerja buruk hanya dengan ambang batas default 0.5. Dengan menggunakan ambang batas yang dioptimalkan, hasil model pada data pengujian meningkat untuk label ancaman dari 0.00 menjadi 0.24. Kami menggunakan skor F1 maksimal pada ambang batas sebagai tolok ukur untuk menentukan positif vs. negatif untuk label tersebut, bukan tolok ukur umum (nilai standar seperti > 0.7) untuk semua label.
Menangani kelas yang kurang terwakili
Pendekatan lain yang efektif untuk kumpulan data yang tidak seimbang adalah oversampling. Dengan melakukan pengambilan sampel secara berlebihan pada kelas yang kurang terwakili, model ini akan lebih sering melihat kelas yang kurang terwakili dan menekankan pentingnya sampel tersebut. Kami menggunakan Pengambilan sampel berlebihan-kurang terwakili.ipynb notebook untuk mengoptimalkan kumpulan data.
Untuk kumpulan data ini, kami menguji bagaimana performa model pada kumpulan data evaluasi berubah seiring kami menyediakan lebih banyak sampel. Kami menggunakan teknik oversampling untuk meningkatkan kemunculan kelas yang kurang terwakili guna meningkatkan kinerja.
Dalam kasus khusus ini, kami menguji 10, 25, 50, 100, 200, dan 500 contoh positif. Perhatikan bahwa meskipun kami mengulangi poin data, kami secara inheren meningkatkan performa model dengan menekankan pentingnya kelas yang kurang terwakili.
Biaya
Dengan Amazon Comprehend, Anda membayar sesuai penggunaan berdasarkan jumlah karakter teks yang diproses. Mengacu pada Harga Amazon Comprehend untuk biaya aktual.
Membersihkan
Ketika Anda selesai bereksperimen dengan solusi ini, bersihkan sumber daya Anda untuk menghapus semua sumber daya yang disebarkan dalam contoh ini. Ini membantu Anda menghindari biaya berkelanjutan di akun Anda.
Kesimpulan
Dalam postingan ini, kami telah memberikan praktik terbaik dan panduan tentang persiapan data, penyesuaian model menggunakan probabilitas prediksi, dan teknik untuk menangani kelas data yang kurang terwakili. Anda dapat menggunakan praktik dan teknik terbaik ini untuk meningkatkan metrik kinerja model klasifikasi kustom Amazon Comprehend Anda.
Untuk informasi lebih lanjut tentang Amazon Comprehend, kunjungi Amazon Memahami sumber daya pengembang untuk menemukan sumber video dan posting blog, dan merujuk ke FAQ Pemahaman AWS.
Tentang Penulis
Sathya Balakrishnan adalah Arsitek Pengiriman Pelanggan Senior dalam tim Layanan Profesional di AWS, yang berspesialisasi dalam solusi data dan ML. Dia bekerja dengan klien keuangan federal AS. Dia bersemangat membangun solusi pragmatis untuk memecahkan masalah bisnis pelanggan. Di waktu luangnya, ia menikmati menonton film dan hiking bersama keluarganya.
Pangeran Mallari adalah Ilmuwan Data NLP di tim Layanan Profesional di AWS, yang berspesialisasi dalam aplikasi NLP untuk pelanggan sektor publik. Dia bersemangat menggunakan ML sebagai alat untuk memungkinkan pelanggan menjadi lebih produktif. Di waktu luangnya, ia menikmati bermain video game dan mengembangkannya bersama teman-temannya.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- :memiliki
- :adalah
- :Di mana
- $NAIK
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- Tentang Kami
- Menerima
- Akun
- ketepatan
- di seluruh
- sebenarnya
- Selain itu
- Adopsi
- kemajuan
- AI
- AI / ML
- Semua
- mengizinkan
- juga
- Meskipun
- Amazon
- Amazon Comprehend
- Amazon SageMaker
- Amazon Web Services
- an
- analisis
- dan
- Apa pun
- aplikasi
- Aplikasi NLP
- pendekatan
- ADALAH
- sekitar
- AS
- Aktiva
- ditugaskan
- At
- menghindari
- AWS
- Saldo
- berdasarkan
- BE
- karena
- menjadi
- sebelum
- patokan
- Manfaat
- TERBAIK
- Praktik Terbaik
- antara
- prasangka
- Blog
- Posting blog
- membangun
- Bangunan
- bisnis
- by
- bernama
- CAN
- Bisa Dapatkan
- kasus
- Perubahan
- karakter
- Pilih
- kelas
- kelas-kelas
- klasifikasi
- klien
- komentar
- Umum
- lengkap
- memahami
- menghitung
- dikonfigurasi
- kebingungan
- konsul
- mengandung
- terus-menerus
- mengubah
- Biaya
- membuat
- dibuat
- penciptaan
- dikuratori
- kurasi
- melengkung
- adat
- pelanggan
- pelanggan
- data
- titik data
- Persiapan data
- ilmuwan data
- kumpulan data
- berurusan
- mendalam
- Default
- pengiriman
- mendemonstrasikan
- dikerahkan
- rincian
- Menentukan
- Pengembang
- berkembang
- distribusi
- do
- dokumen
- Dont
- Download
- selama
- setiap
- mudah
- Efektif
- usaha
- menekankan
- menekankan
- Enter
- Enterprise
- evaluasi
- contoh
- contoh
- Kecuali
- menjalankan
- ada
- mengharapkan
- Menjelaskan
- f1
- Jatuh
- keluarga
- Federal
- File
- File
- Akhirnya
- keuangan
- Menemukan
- berikut
- Untuk
- teman
- dari
- penuh
- fungsi
- lebih lanjut
- Games
- menghasilkan
- mendapatkan
- Go
- Pergi
- Pemerintah
- bimbingan
- membimbing
- pedoman
- menangani
- Memiliki
- memiliki
- he
- membantu
- -nya
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- ID
- mengenali
- id
- pentingnya
- memperbaiki
- meningkatkan
- in
- termasuk
- Termasuk
- Meningkatkan
- Pada meningkat
- informasi
- secara inheren
- memasukkan
- wawasan
- contoh
- sebagai gantinya
- instruksi
- Intelijen
- ke
- memperkenalkan
- IT
- Pekerjaan
- Jobs
- hanya
- kunci
- label
- Label
- bahasa
- besar-besaran
- BELAJAR
- pengetahuan
- paling sedikit
- kurang
- 'like'
- MEMBATASI
- tempat
- mesin
- Mesin belajar
- membuat
- pengelolaan
- tanda
- Matriks
- max
- maksimum
- Pelajari
- menu
- metrik
- Metrik
- mungkin
- minimal
- minimum
- ML
- model
- model
- lebih
- paling
- bioskop
- harus
- nama
- Alam
- Pengolahan Bahasa alami
- Navigasi
- Perlu
- negatif
- New
- berikutnya
- nLP
- buku catatan
- Melihat..
- jumlah
- mengamati
- kejadian
- of
- sering
- on
- ONE
- hanya
- optimasi
- Optimize
- dioptimalkan
- mengoptimalkan
- organisasi
- kami
- keluaran
- pane
- tertentu
- bergairah
- Membayar
- untuk
- prestasi
- memilih
- pipa
- plato
- Kecerdasan Data Plato
- Data Plato
- bermain
- silahkan
- Titik
- poin
- positif
- mungkin
- Pos
- Posts
- praktek
- pragmatis
- Ketelitian
- ramalan
- persiapan
- Mempersiapkan
- hadiah
- sebelumnya
- masalah
- Diproses
- pengolahan
- produktif
- profesional
- tepat
- memberikan
- disediakan
- publik
- kualitas
- acak
- perbandingan
- Mentah
- menyadari
- lihat
- wajib
- Sumber
- Hasil
- Peran
- pembuat bijak
- ilmuwan
- skor
- sektor
- melihat
- terlihat
- melihat
- melayani
- Layanan
- beberapa
- harus
- Pertunjukkan
- Sederhana
- Lunak
- larutan
- Solusi
- MEMECAHKAN
- beberapa
- mengkhususkan diri
- tertentu
- membagi
- standar
- awal
- mulai
- Langkah
- Tangga
- penyimpanan
- tersimpan
- seperti itu
- Mengambil
- tim
- teknik
- teknik
- terminal
- uji
- diuji
- teks
- dari
- bahwa
- Grafik
- mereka
- kemudian
- Ini
- mereka
- ini
- itu
- ancaman
- tiga
- ambang
- Melalui
- waktu
- untuk
- alat
- Total
- terlatih
- Pelatihan
- dua
- bawah
- kurang terwakili
- memahami
- us
- Federal AS
- menggunakan
- user-friendly
- menggunakan
- nilai
- Video
- Video game
- View
- terlihat
- Mengunjungi
- vs
- menonton
- we
- jaringan
- layanan web
- BAIK
- ketika
- yang
- sementara
- tersebar luas
- akan
- jendela
- dengan
- tanpa
- bekerja
- Kamu
- Anda
- zephyrnet.dll
- Zip