Panduan tugas klasifikasi teks

Contoh UI yang menampilkan ulasan film positif sebagai input dan output sebagai
lima bintang dan jempol
ke atas

Tugas Pengklasifikasi Teks MediaPipe memungkinkan Anda 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.

Coba sekarang.

Mulai

Mulai gunakan tugas ini dengan mengikuti salah satu panduan penerapan berikut untuk platform yang Anda gunakan:

Panduan khusus platform ini akan memandu Anda melakukan implementasi 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 head klasifikasi - Setiap head dapat menggunakan kumpulan kategorinya sendiri
  • Label map locale - Menetapkan bahasa yang digunakan untuk nama tampilan
  • Nilai minimum skor - Memfilter hasil berdasarkan skor prediksi
  • Hasil klasifikasi top-k - Memfilter jumlah hasil deteksi
  • Label daftar yang diizinkan dan ditolak - Tentukan kategori yang terdeteksi
Input tugas Output tugas
Pengklasifikasi Teks menerima jenis data input berikut:
  • String
Pengklasifikasi Teks menghasilkan daftar kategori yang berisi:
  • Indeks kategori: indeks kategori dalam output model
  • Skor: skor keyakinan untuk kategori ini, yang dinyatakan sebagai probabilitas antara nol dan satu sebagai nilai floating point.
  • Nama kategori (opsional): nama kategori seperti yang ditentukan dalam Metadata Model TensorFlow Lite, jika tersedia.
  • Nama tampilan kategori (opsional): nama tampilan untuk kategori seperti yang ditentukan dalam Metadata Model TensorFlow Lite, dalam bahasa yang ditentukan melalui opsi lokalitas nama tampilan, jika tersedia.

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. Default-nya adalah en untuk bahasa Inggris. Anda dapat menambahkan label yang dilokalkan ke metadata model kustom menggunakan TensorFlow Lite Metadata Writer API Kode lokalitas id
maxResults Menetapkan jumlah maksimum opsional hasil klasifikasi dengan skor tertinggi yang akan ditampilkan. Jika < 0, semua hasil yang tersedia akan ditampilkan. Angka positif apa pun -1
scoreThreshold Menetapkan nilai minimum skor prediksi yang menggantikan nilai yang diberikan dalam metadata model (jika ada). Hasil di bawah nilai ini akan 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 dikenal akan diabaikan. Opsi ini saling 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 keluar. Nama kategori duplikat atau tidak dikenal akan diabaikan. Opsi ini saling eksklusif dengan categoryAllowlist dan menggunakan keduanya akan menyebabkan 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 dengan tugas ini. Model lain yang tersedia biasanya membuat kompromi antara performa, akurasi, resolusi, dan persyaratan resource, dan dalam beberapa kasus, menyertakan fitur tambahan.

Model terlatih dilatih untuk analisis sentimen, dan memprediksi apakah sentimen teks input positif atau negatif. Model dilatih pada set data SST-2 (Stanford Sentiment Treebank), yang terdiri dari ulasan film yang diberi label positif atau negatif. Perhatikan bahwa model hanya mendukung bahasa Inggris. Karena model ini dilatih pada set data ulasan film, Anda mungkin melihat penurunan kualitas untuk teks yang membahas area topik lainnya.

Model ini menggunakan arsitektur berbasis BERT (khususnya, model MobileBERT) dan direkomendasikan karena akurasi yang tinggi. File ini berisi metadata yang memungkinkan tugas melakukan tokenisasi BERT di luar grafik.

Nama model Bentuk input Jenis kuantisasi Versi
Pembelajar 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 reguler di luar grafik.

Nama model Bentuk input Jenis kuantisasi Versi
Penyematan kata rata-rata 1 x 256 Tidak ada (float32) Terbaru

Tolok ukur tugas

Berikut adalah benchmark tugas untuk seluruh pipeline berdasarkan model pre-trained di atas. Hasil latensi adalah latensi rata-rata di Pixel 6 yang menggunakan CPU / GPU.

Nama Model Latensi CPU Latensi GPU
Embedding kata rata-rata 0,14 md -
Pengklasifikasi BERT 57,68 md -

Model kustom

Anda dapat menggunakan model ML yang disesuaikan dengan tugas ini jika ingin meningkatkan atau mengubah kemampuan model yang disediakan. Anda dapat menggunakan Model Maker untuk mengubah model yang ada atau membuat model menggunakan alat seperti TensorFlow. Model kustom yang digunakan dengan MediaPipe harus dalam format TensorFlow Lite dan harus menyertakan metadata tertentu yang menjelaskan parameter pengoperasian model. Sebaiknya pertimbangkan untuk menggunakan Model Maker guna mengubah model yang disediakan untuk tugas ini sebelum mem-build model Anda sendiri.