MediaPipe Metin Sınıflandırıcı görevi, metni pozitif veya negatif duygu gibi tanımlanmış bir dizi kategoriye göre sınıflandırmanızı sağlar. Kategoriler, modelin eğitilmesi sırasında tanımlanır. Bu görev, statik veri olarak makine öğrenimi (ML) modeliyle metin verileri üzerinde çalışır ve bir kategori listesi ile bunların olasılık puanlarını oluşturur.
Başlayın
Üzerinde çalıştığınız platform için bu uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın:
- Android - Kod örneği - Kılavuz
- Python - Kod örneği - Kılavuz
- Web - Kod örneği - Kılavuz
- iOS - Kod örneği - Kılavuz
Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçeneklerinin yer aldığı kod örneği de dahil olmak üzere, bu görevin temel bir şekilde uygulanması konusunda 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
- Metin işleme - Grafik içi jetonlama yapılmayan modeller için grafik dışı jetonlandırma desteği
- Birden çok sınıflandırma başlığı: Her başlık kendi kategori grubunu kullanabilir
- Harita yerel ayarını etiketle - Görünen adlar için kullanılan dili ayarlayın
- Puan eşiği - Sonuçları tahmin puanlarına göre filtreleyin
- Top-k sınıflandırma sonuçları - Algılama sonuçlarının sayısını filtreleyin
- Etiket izin verilenler listesi ve ret listesi - Algılanan kategorileri belirtin
Görev girişleri | Görev çıkışları |
---|---|
Metin Sınıflandırıcı şu giriş verisi türünü kabul eder:
|
Metin Sınıflandırıcı, aşağıdakileri içeren bir kategori listesi verir:
|
Yapılandırma seçenekleri
Bu görev aşağıdaki yapılandırma seçeneklerine sahiptir:
Seçenek Adı | Açıklama | Değer Aralığı | Varsayılan Değer |
---|---|---|---|
displayNamesLocale |
Varsa görev modelinin meta verilerinde sağlanan görünen adlar için kullanılacak etiketlerin dilini ayarlar. İngilizce için varsayılan değer en şeklindedir. TensorFlow Lite Metadata Writer API'yi kullanarak özel modelin meta verilerine yerelleştirilmiş etiketler ekleyebilirsiniz
| Yerel ayar kodu | en |
maxResults |
İsteğe bağlı olarak döndürülecek en yüksek puanlı sınıflandırma sonuçlarının isteğe bağlı maksimum sayısını ayarlar. < 0 ise mevcut tüm sonuçlar döndürülür. | Pozitif sayılar | -1 |
scoreThreshold |
Model meta verilerinde belirtilen eşiği (varsa) geçersiz kılan tahmin puanı eşiğini ayarlar. Bu değerin altındaki sonuçlar reddedilir. | Tüm kayan | Belirlenmedi |
categoryAllowlist |
İsteğe bağlı olarak izin verilen kategori adları listesini ayarlar. Boş değilse kategori adı bu grupta yer almayan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yoksayılır.
Bu seçenek, categoryDenylist ile birlikte kullanılamaz ve her iki sonucun da kullanılması hataya neden olur. |
Herhangi bir dize | Belirlenmedi |
categoryDenylist |
İzin verilmeyen kategori adlarının isteğe bağlı listesini ayarlar. Boş değilse kategori adı bu kümede yer alan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yoksayılır. Bu seçenek categoryAllowlist ile birlikte kullanılamaz ve her iki sonucun da kullanılması hataya neden olur. |
Herhangi bir dize | Belirlenmedi |
Modeller
Metin Sınıflandırıcı, birden fazla ML modeliyle kullanılabilir. Bu görevle geliştirmeye başladığınızda hedef platformunuz için varsayılan, önerilen modelle başlayın. Mevcut diğer modeller genellikle performans, doğruluk, çözünürlük ve kaynak gereksinimleri arasında denge kurar ve bazı durumlarda ek özellikler içerir.
Önceden eğitilmiş modeller yaklaşım analizi için eğitilir ve girilen metnin duygusunun olumlu mu yoksa olumsuz mu olduğunu tahmin eder. Modeller, pozitif veya negatif olarak etiketlenen film incelemelerinden oluşan SST-2 (Stanford SentimentTreebank) veri kümesinde eğitildi. Modellerin yalnızca İngilizceyi desteklediğini unutmayın. Bu kişiler film yorumlarından oluşan bir veri kümesi kullanılarak eğitildiklerinden, diğer konu alanlarını kapsayan metinlerin kalitesinin düştüğünü fark edebilirsiniz.
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 belirtkelemesi gerçekleştirmesine olanak tanıyan meta veriler içerir.
Model adı | Giriş şekli | Nicelleştirme türü | Sürümler |
---|---|---|---|
BERT sınıflandırması | [1x128],[1x128],[1x128] | dinamik aralık | En son |
Ortalama kelime yerleştirme modeli
Bu model, ortalama bir kelime yerleştirme mimarisi kullanır. Bu model, BERT sınıflandırmasına kıyasla daha düşük tahmin doğruluğu pahasına daha küçük model boyutu ve daha düşük gecikme sunar. Bu modelin ek eğitimle özelleştirilmesi de BERT tabanlı sınıflandırıcı eğitimi vermekten daha hızlıdır. Bu model, görevin grafik dışı normal ifade jetonlandırması gerçekleştirmesine olanak tanıyan meta veriler içerir.
Model adı | Giriş şekli | Nicelleştirme türü | Sürümler |
---|---|---|---|
Ortalama kelime yerleştirme | 1 x 256 | Yok (float32) | En son |
Görev karşılaştırmaları
Yukarıda önceden eğitilmiş modellere dayalı olarak ardışık düzenin tamamı için görev karşılaştırmaları aşağıda verilmiştir. Gecikme sonucu, Pixel 6'da CPU / GPU kullanılarak elde edilen ortalama gecikmedir.
Model Adı | CPU Gecikmesi | GPU Gecikmesi |
---|---|---|
Ortalama kelime yerleştirme | 0,14 ms. | - |
BERT sınıflandırması | 57,68 ms. | - |
Özel modeller
Sağlanan modellerin özelliklerini iyileştirmek veya değiştirmek isterseniz bu görevle özelleştirilmiş bir makine öğrenimi modeli kullanabilirsiniz. Mevcut modelleri değiştirmek veya TensorFlow gibi araçlar kullanarak bir model oluşturmak için Model Maker'ı kullanabilirsiniz. MediaPipe ile kullanılan özel modeller TensorFlow Lite biçiminde olmalı ve modelin işletim parametrelerini açıklayan belirli meta verileri içermelidir. Kendi modelinizi oluşturmadan önce, bu görev için verilen modelleri değiştirmek amacıyla Model Maker'ı kullanmayı düşünmelisiniz.