Metin yerleştirme kılavuzu

Cümlelerdeki her kelimenin karşılık gelen içe yerleştirmelerini dizi olarak gösteren iki örnek cümle.

MediaPipe metin yerleştirme görevi, metin verilerinin anlamsal anlamını yakalamak için sayısal bir temsili oluşturmanıza olanak tanır. Bu işlev, kosinüs benzerliği gibi matematiksel karşılaştırma tekniklerini kullanarak iki metnin semantik benzerliğini karşılaştırmak için sıklıkla kullanılır. Bu görev, makine öğrenimi (ML) modeli ile metin verileri üzerinde çalışır ve metin verilerinin sayısal bir temsilini, kayan nokta veya kesirli biçimde, yerleştirme vektörleri olarak da bilinen yüksek boyutlu özellik vektörlerinin listesi olarak döndürür.

Deneyin.

Başlayın

Hedef platformunuzla ilgili bu uygulama kılavuzlarından birini uygulayarak bu görevi kullanmaya başlayın. Platforma özel bu kılavuzlar, önerilen bir model ve önerilen yapılandırma seçenekleriyle birlikte 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şturmayı destekler.
  • Embedding benzerlik hesaplaması: İki özellik vektori arasındaki kosinüs benzerliğini hesaplamak için yerleşik yardımcı program işlevi.
  • Nicemleme: Özellik vektörleri için skaler nicelemeyi destekler.
Görev girişleri Görev çıkışları
Metin Yerleştirici, aşağıdaki giriş veri türünü kabul eder:
  • Dize
Metin Gömücü, aşağıdakilerden oluşan bir gömülü metin listesi döndürür:
  • Yerleştirme: Özellik vektörünün kendisi, kayan noktalı biçimde veya skaler olarak kesikli.
  • Baş dizini: Bu yerleştirmeyi oluşturan başlığın dizini.
  • Başlık adı (isteğe bağlı): Bu yerleştirmeyi oluşturan başlığın 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
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 halihazırda doğal bir L2_NORMALIZATION TFLite Op içermiyorsa kullanın. Çoğu durumda bu durum geçerlidir ve L2 normalleştirmesi, bu seçeneğe gerek kalmadan TFLite çıkarımıyla elde edilir. Boolean False
quantize Döndürülen yerleştirmenin skaler kesme işlemiyle baytlara bölünüp bölünmeyeceği. Yerleşimlerin birim normal olduğu varsayılır ve bu nedenle tüm boyutların [-1,0; 1,0] aralığında bir değere sahip olduğu garanti edilir. Aksi takdirde l2_normalize seçeneğini kullanın. Boolean False

Modeller

Bu görevle geliştirmeye başladığınızda varsayılan olarak önerilen bir model sunarız.

Bu model, çift kodlayıcı mimarisi kullanır ve çeşitli soru-cevap veri kümeleriyle eğitilmiştir.

Aşağıdaki cümle çiftlerini inceleyin:

  • ("büyüleyici ve genellikle etkileyici bir yolculuk", "ne kadar harika ve fantastik bir gezi")
  • ("Telefonumu seviyorum", "Telefonumu sevmiyorum")
  • ("Bu restoranın ilgi çekici bir özelliği var", "Planımızın ayrıntılarını tekrar kontrol etmemiz gerekiyor")

İlk iki cümle çiftinde sırasıyla "seyahat duygusu" ve "telefon görüşü" ortak bir konu olduğu için ilk iki çiftteki metin yerleştirmelerinin kosinüs benzerliği, üçüncü çiftteki yerleştirmelerden daha yüksektir. Üçüncü cümle çiftinde ise ortak bir konu yoktur.

İkinci çiftteki iki cümlenin zıt duygulara sahip olmasına rağmen ortak bir konuyu paylaştıkları için benzerlik puanlarının yüksek olduğunu unutmayın.

Model adı Giriş şekli Kesirli sayılaştırma türü Sürümler
Universal Sentence Encoder dize, dize, dize 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
Evrensel Cümle Kodlayıcı 18,21 ms -