Metin sınıflandırma görev kılavuzu

Giriş olarak olumlu bir film yorumunu, çıkış olarak da beş yıldız ve beğenme simgesini gösteren örnek kullanıcı arayüzü

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.

Deneyin.

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:

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:
  • Dize
Metin sınıflandırıcı, aşağıdakileri içeren bir kategori listesi oluşturur:
  • Kategori dizini: Model çıktılarındaki kategorinin dizini
  • Puan: Bu kategorinin güven puanı. Kayan nokta değeri olarak sıfır ile bir arasında bir olasılık olarak ifade edilir.
  • Kategori adı (isteğe bağlı): Varsa TensorFlow Lite Model Meta Verileri'nde belirtilen kategorinin adı.
  • Kategori görünen adı (isteğe bağlı): TensorFlow Lite model meta verilerinde belirtildiği şekilde, görünen ad yerel ayarları seçenekleri aracılığıyla (varsa) belirtilen dilde kategorinin görünen adı.

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.

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.