Dengan tugas Pengklasifikasi Teks MediaPipe, Anda dapat mengklasifikasikan teks ke dalam kumpulan kategori yang ditentukan, seperti sentimen positif atau negatif. Kategori ditentukan selama pelatihan model. Tugas ini beroperasi pada data teks dengan model machine learning (ML) sebagai data statis dan menghasilkan daftar kategori serta skor kemungkinannya.
Mulai
Mulailah menggunakan tugas ini dengan mengikuti salah satu panduan penerapan ini untuk platform yang sedang Anda kerjakan:
- Android - Contoh kode - Panduan
- Python - Contoh kode - Panduan
- Web - Contoh kode - Panduan
- iOS - Contoh kode - Panduan
Panduan khusus platform ini akan memandu Anda dalam menerapkan dasar tugas ini, termasuk model yang direkomendasikan, dan contoh kode dengan opsi konfigurasi yang direkomendasikan.
Detail tugas
Bagian ini menjelaskan kemampuan, input, output, dan opsi konfigurasi tugas ini.
Fitur
- Pemrosesan teks input - Mendukung tokenisasi di luar grafik untuk model tanpa tokenisasi dalam grafik
- Beberapa kepala klasifikasi - Setiap kepala dapat menggunakan kumpulan kategorinya sendiri
- Lokalitas peta label - Menyetel bahasa yang digunakan untuk nama tampilan
- Batas skor - Memfilter hasil berdasarkan skor prediksi
- Hasil klasifikasi top-k - Memfilter jumlah hasil deteksi
- Daftar label dan daftar tolak yang diizinkan - Menentukan kategori yang terdeteksi
Input tugas | Output tugas |
---|---|
Pengklasifikasi Teks menerima jenis data input berikut:
|
Pengklasifikasi Teks menghasilkan daftar kategori yang berisi:
|
Opsi konfigurasi
Tugas ini memiliki opsi konfigurasi berikut:
Nama Opsi | Deskripsi | Rentang Nilai | Nilai Default |
---|---|---|---|
displayNamesLocale |
Menetapkan bahasa label yang akan digunakan untuk nama tampilan yang diberikan dalam
metadata model tugas, jika tersedia. Defaultnya adalah en untuk bahasa Inggris. Anda dapat menambahkan label yang dilokalkan ke metadata model kustom menggunakan TensorFlow Lite Metadata Writer API
| Kode lokal | id |
maxResults |
Menetapkan jumlah maksimum opsional hasil klasifikasi dengan skor tertinggi yang akan ditampilkan. Jika < 0, semua hasil yang tersedia akan ditampilkan. | Semua bilangan positif | -1 |
scoreThreshold |
Menetapkan nilai minimum skor prediksi yang menggantikan skor yang diberikan dalam metadata model (jika ada). Hasil di bawah nilai ini ditolak. | Semua float | Tidak ditetapkan |
categoryAllowlist |
Menetapkan daftar opsional nama kategori yang diizinkan. Jika tidak kosong, hasil klasifikasi yang nama kategorinya tidak ada dalam kumpulan ini akan difilter. Nama kategori duplikat atau tidak diketahui akan diabaikan.
Opsi ini sama-sama bersifat eksklusif dengan categoryDenylist dan menggunakan
keduanya akan menghasilkan error. |
String apa pun | Tidak ditetapkan |
categoryDenylist |
Menetapkan daftar opsional nama kategori yang tidak diizinkan. Jika tidak kosong, hasil klasifikasi yang nama kategorinya ada dalam kumpulan ini akan difilter. Nama kategori duplikat atau tidak diketahui akan diabaikan. Opsi ini sama-sama bersifat eksklusif dengan categoryAllowlist dan menggunakan keduanya akan menghasilkan error. |
String apa pun | Tidak ditetapkan |
Model
Pengklasifikasi Teks dapat digunakan dengan lebih dari satu model ML. Mulailah dengan model default yang direkomendasikan untuk platform target Anda saat Anda mulai mengembangkan aplikasi dengan tugas ini. Model lain yang tersedia biasanya melakukan kompromi antara performa, akurasi, resolusi, dan persyaratan resource, dan dalam beberapa kasus, menyertakan fitur tambahan.
Model yang telah dilatih sebelumnya akan dilatih untuk analisis sentimen, dan memprediksi apakah sentimen teks input bersifat positif atau negatif. Model ini dilatih menggunakan set data SST-2 (Stanford Sentiment Treebank), yang terdiri dari ulasan film yang diberi label positif atau negatif. Perlu diketahui bahwa model ini hanya mendukung bahasa Inggris. Karena mereka dilatih menggunakan set data ulasan film, Anda mungkin melihat penurunan kualitas untuk teks yang membahas area topik lain.
Model pengklasifikasi BERT (direkomendasikan)
Model ini menggunakan arsitektur berbasis BERT (khususnya, model MobileBERT) dan direkomendasikan karena akurasinya yang tinggi. Objek ini berisi metadata yang memungkinkan tugas untuk melakukan tokenisasi BERT di luar grafik.
Nama model | Bentuk input | Jenis kuantisasi | Versions |
---|---|---|---|
Pengklasifikasi BERT | [1x128],[1x128],[1x128] | rentang dinamis | Terbaru |
Model penyematan kata rata-rata
Model ini menggunakan arsitektur penyematan kata rata-rata. Model ini menawarkan ukuran model yang lebih kecil dan latensi yang lebih rendah dengan mengorbankan akurasi prediksi yang lebih rendah dibandingkan dengan pengklasifikasi BERT. Menyesuaikan model ini melalui pelatihan tambahan juga lebih cepat daripada melakukan pelatihan pengklasifikasi berbasis BERT. Model ini berisi metadata yang memungkinkan tugas melakukan tokenisasi ekspresi reguler di luar grafik.
Nama model | Bentuk input | Jenis kuantisasi | Versions |
---|---|---|---|
Rata-rata penyematan kata | 1 x 256 | Tidak ada (float32) | Terbaru |
Tolok ukur tugas
Berikut adalah tolok ukur tugas untuk seluruh pipeline berdasarkan model terlatih di atas. Hasil latensi adalah latensi rata-rata di Pixel 6 yang menggunakan CPU / GPU.
Nama Model | Latensi CPU | Latensi GPU |
---|---|---|
Rata-rata penyematan kata | 0,14 md | - |
Pengklasifikasi BERT | 57,68 md | - |
Model kustom
Anda dapat menggunakan model ML kustom dengan tugas ini jika ingin meningkatkan atau mengubah kemampuan model yang disediakan. Anda dapat menggunakan Model Maker untuk mengubah model yang ada atau mem-build model menggunakan alat seperti TensorFlow. Model kustom yang digunakan dengan MediaPipe harus dalam format TensorFlow Lite dan harus menyertakan metadata khusus yang menjelaskan parameter operasi model. Anda harus mempertimbangkan penggunaan Model Maker untuk memodifikasi model yang disediakan untuk tugas ini sebelum membangun model Anda sendiri.