MediaPipe Metin Yerleştirme görevi, anlamsal anlamını yakalamak için metin verilerinin sayısal bir gösterimini oluşturmanıza olanak tanır. Bu işlev, Kosinüs Benzerliği gibi matematiksel karşılaştırma tekniklerini kullanarak iki metin parçasının anlamsal benzerliğini karşılaştırmak için sık sık kullanılır. Bu görev, makine öğrenimi (ML) modeliyle metin verileri üzerinde çalışır ve metin verilerinin, gömme vektörleri olarak da bilinen yüksek boyutlu özellik vektörlerinin listesi olarak kayan nokta veya sayısal biçimde bir sayısal gösterimini üretir.
Başlayın
Hedef platformunuz için bu uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın. Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçenekleriyle birlikte kod örneği dahil olmak üzere, bu görevin temel bir şekilde uygulanmasında size yol gösterir:
- Android - Kod örneği - Kılavuz
- Python - Kod örneği - Kılavuz
- Web - Kod örneği - Kılavuz
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 jetonlama yapılmayan modeller için grafik dışı jetonlandırmayı destekler.
- Benzerlik hesaplaması: İki özellik vektörü arasındaki kosinüs benzerliğini hesaplamak için kullanılan yerleşik yardımcı program işlevi.
- Niceleme: Özellik vektörleri için skalar nicelemeyi destekler.
Görev girişleri | Görev çıkışları |
---|---|
Metin Yerleştirme aşağıdaki giriş verisi türünü kabul eder:
|
Metin Yerleştirme, aşağıdakileri içeren bir yerleştirme 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 |
---|---|---|---|
l2_normalize |
Döndürülen özellik vektörünün L2 normuyla normalleştirilip normalleştirilmeyeceği. Bu seçeneği yalnızca modelde zaten yerel bir L2_NORMALIZATION TFLite Op bulunmuyorsa kullanın. Çoğu durumda bu zaten mevcuttur ve L2 normalleştirmesi, bu seçeneğe gerek olmadan TFLite çıkarımıyla yapılır. | Boolean |
False |
quantize |
Döndürülen yerleştirmenin skalar niceleme kullanılarak baytlara dönüştürülüp ölçülmeyeceği. Yerleştirmelerin açıkça birim norm olduğu varsayılır. Bu nedenle her boyut için [-1,0, 1,0] değerinde bir değer olması garanti edilir. Bu mümkün değilse l2_normalize seçeneğini kullanın. | Boolean |
False |
Modeller
Bu görevle geliştirmeye başladığınızda varsayılan, önerilen bir model sunarız.
Evrensel Cümle Kodlayıcı modeli (önerilir)
İkili kodlayıcı mimarisi kullanan bu model, çeşitli soru-cevap veri kümelerinde eğitilmiştir.
Aşağıdaki cümle çiftlerini düşünün:
- ("sevimli ve genellikle etkileyen bir yolculuk", "ne kadar harika ve muhteşem bir gezi")
- ("Telefonumu seviyorum", "Telefonumdan nefret ediyorum")
- ("Bu restoranın harika bir hilesi var", "Planımızın ayrıntılarını bir kez daha kontrol etmemiz gerekiyor")
İlk iki çiftteki metin yerleştirmeleri, üçüncü çiftteki yerleştirmelerden daha yüksek bir kosinüs benzerliğine sahip olacaktır. Bunun nedeni, ilk iki cümle çiftinin sırasıyla "seyahat hissi" ve "telefon görüşü" ortak konusu, üçüncü cümle çifti ortak bir konuyu paylaşmamasıdır.
İkinci çiftteki iki cümle zıt görüşlere sahip olsa da ortak bir konuyu paylaştığından yüksek bir benzerlik puanına sahip olur.
Model adı | Giriş şekli | Nicelleştirme türü | Sürümler |
---|---|---|---|
Evrensel Cümle Kodlayıcı | dize, dize, dize | 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 |
---|---|---|
Evrensel Cümle Kodlayıcı | 18,21 ms. | - |