MediaPipe Metin Sınıflandırıcı görevi, metni olumlu veya olumsuz yaklaşım gibi tanımlanmış bir dizi kategoriye ayırmanıza olanak tanır. Kategoriler, modelin eğitimi sırasında tanımlanır. Bu görev, statik veri olarak bir makine öğrenimi (ML) modeli kullanarak metin verileri üzerinde çalışır ve kategorilerin listesini ve olasılık puanlarını döndürür.
Başlayın
Çalıştığınız platformla ilgili aşağıdaki uygulama kılavuzlarından birini uygulayarak bu görevi kullanmaya başlayın:
- Android - Kod örneği
- Python - Kod örneği
- Web - Kod örneği - Kılavuz
- iOS - Kod örneği
Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçeneklerini içeren kod örneği de dahil olmak üzere bu görevin temel uygulama sürecinde size yol gösterir.
Görev ayrıntıları
Bu bölümde, bu görevin özellikleri, girişleri, çıkışları ve yapılandırma seçenekleri açıklanmaktadır.
Özellikler
- Giriş metni işleme: Grafik içi jeton oluşturma özelliği olmayan modeller için grafik dışı jeton oluşturma özelliğini destekleyin.
- Çoklu sınıflandırma başlıkları: Her başlık kendi kategori grubunu kullanabilir.
- Etiket haritası yerel ayarı: Görünen adlar için kullanılan dili ayarlayın.
- Puan eşiği: Sonuçları tahmin puanlarına göre filtreleyin
- En iyi k sınıflandırma sonucu: Tespit sonucu sayısını filtreleyin.
- İzin verilenler ve reddedilenler etiket listesi: Tespit edilen kategorileri belirtin.
Görev girişleri | Görev çıkışları |
---|---|
Metin sınıflandırıcı, aşağıdaki giriş veri türünü kabul eder:
|
Metin sınıflandırıcı, aşağıdakileri içeren bir kategori listesi oluşturur:
|
Yapılandırma seçenekleri
Bu görev için aşağıdaki yapılandırma seçenekleri vardır:
Seçenek Adı | Açıklama | Değer Aralığı | Varsayılan değer |
---|---|---|---|
displayNamesLocale |
Görevin modelinin meta verilerinde sağlanan görünen adlar için kullanılacak etiketlerin dilini belirler (varsa). Varsayılan değer, İngilizce için en 'tir. TensorFlow Lite Meta Veri Yazıcı API'yi kullanarak özel bir modelin meta verilerine yerelleştirilmiş etiketler ekleyebilirsiniz
| Yer kodu | en |
maxResults |
Döndürülecek isteğe bağlı maksimum puana sahip sınıflandırma sonucu sayısını belirler. < 0 ise mevcut tüm sonuçlar döndürülür. | Tüm pozitif sayılar | -1 |
scoreThreshold |
Model meta verilerinde (varsa) sağlanan eşiği geçersiz kılan tahmin puanı eşiğini belirler. Bu değerin altındaki sonuçlar reddedilir. | Herhangi bir kayan nokta | Ayarlanmadı |
categoryAllowlist |
İzin verilen kategori adlarının isteğe bağlı listesini ayarlar. Boş değilse kategori adı bu kümede bulunmayan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yok sayılır.
Bu seçenek, categoryDenylist ile birbirini hariç tutar ve her ikisinin de kullanılması hatayla sonuçlanır. |
Herhangi bir dize | Ayarlanmadı |
categoryDenylist |
İzin verilmeyen kategori adlarının isteğe bağlı listesini ayarlar. Boş değilse kategori adı bu kümede bulunan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yok sayılır. Bu seçenek, categoryAllowlist ile birlikte kullanılamaz. İkisinin birlikte kullanılması hataya neden olur. |
Herhangi bir dize | Ayarlanmadı |
Modeller
Metin sınıflandırıcı, birden fazla makine öğrenimi modeliyle kullanılabilir. Bu görevle geliştirmeye başladığınızda hedef platformunuz için varsayılan, önerilen modelle başlayın. Diğer modeller genellikle performans, doğruluk, çözünürlük ve kaynak gereksinimleri arasında bir denge kurar ve bazı durumlarda ek özellikler içerir.
Önceden eğitilmiş modeller, duygu analizi için eğitilir ve giriş metninin duygusunun olumlu mu yoksa olumsuz mu olduğunu tahmin eder. Modeller, olumlu veya olumsuz olarak etiketlenmiş film yorumlarından oluşan SST-2 (Stanford Duygu Ağ Ağacı) veri kümesinde eğitildi. Modeller yalnızca İngilizceyi destekler. Bu modeller, film yorumlarından oluşan bir veri kümesiyle eğitildiğinden, diğer konu alanlarını kapsayan metinlerin kalitesi daha düşük olabilir.
BERT sınıflandırıcı modeli (önerilir)
Bu model, BERT tabanlı bir mimari (özellikle MobileBERT modeli) kullanır ve yüksek doğruluğu nedeniyle önerilir. Görevin grafik dışı BERT dize oluşturma işlemi gerçekleştirmesine olanak tanıyan meta verileri içerir.
Model adı | Giriş şekli | Kesirli sayılaştırma türü | Sürümler |
---|---|---|---|
BERT sınıflandırıcısı | [1x128],[1x128],[1x128] | dinamik aralık | En son |
Ortalama kelime yerleştirme modeli
Bu modelde ortalama bir kelime yerleştirme mimarisi kullanılır. Bu model, BERT sınıflandırıcıya kıyasla daha düşük tahmin doğruluğu karşılığında daha küçük model boyutu ve daha düşük gecikme sunar. Bu modeli ek eğitimle özelleştirmek, BERT tabanlı sınıflandırıcıyı eğitmekten de daha hızlıdır. Bu model, görevin grafik dışı normal ifade dize parçalarına ayırma işlemi gerçekleştirmesine olanak tanıyan meta veriler içerir.
Model adı | Giriş şekli | Kesirli sayılaştırma türü | Sürümler |
---|---|---|---|
Ortalama kelime yerleştirme | 1 x 256 | Yok (float32) | En son |
Görev karşılaştırmaları
Yukarıdaki önceden eğitilmiş modellere dayalı olarak tüm ardışık düzenin görev karşılaştırmalarını aşağıda bulabilirsiniz. Gecikme sonucu, CPU / GPU kullanan Pixel 6'taki ortalama gecikmedir.
Model Adı | CPU Gecikmesi | GPU Gecikmesi |
---|---|---|
Ortalama kelime yerleştirme | 0,14 ms | - |
BERT sınıflandırıcı | 57,68 ms | - |
Özel modeller
Sağlanan modellerin özelliklerini iyileştirmek veya değiştirmek istiyorsanız bu görevle özelleştirilmiş bir ML modeli kullanabilirsiniz. Mevcut modelleri değiştirmek veya TensorFlow gibi araçları kullanarak model oluşturmak için Model Oluşturucu'yu kullanabilirsiniz. MediaPipe ile kullanılan özel modeller TensorFlow Lite biçiminde olmalı ve modelin çalışma parametrelerini açıklayan belirli metadata içermelidir. Kendi modelinizi oluşturmadan önce, bu görev için sağlanan modelleri değiştirmek üzere Model Maker'ı kullanmayı düşünebilirsiniz.