Tugas MediaPipe Text Embedder memungkinkan Anda membuat representasi numerik dari data teks untuk menangkap makna semantiknya. Fungsionalitas ini sering digunakan untuk membandingkan kemiripan semantik dua bagian teks menggunakan teknik perbandingan matematis seperti Cosine Similarity. Tugas ini beroperasi pada data teks dengan model machine learning (ML), dan menghasilkan representasi numerik dari data teks sebagai daftar vektor fitur dimensi tinggi, yang juga dikenal sebagai vektor embedding, dalam bentuk floating point atau bentuk terkuantisasi.
Mulai
Mulai gunakan tugas ini dengan mengikuti salah satu panduan penerapan ini untuk platform target Anda. Panduan khusus platform ini akan memandu Anda dalam menerapkan dasar tugas ini, termasuk model yang direkomendasikan, dan contoh kode dengan opsi konfigurasi yang direkomendasikan:
- Android - Contoh kode - Panduan
- Python - Contoh kode - Panduan
- Web - Contoh kode - Panduan
Detail tugas
Bagian ini menjelaskan kemampuan, input, output, dan opsi konfigurasi tugas ini.
Fitur
- Pemrosesan teks input - Mendukung tokenisasi di luar grafik untuk model tanpa tokenisasi dalam grafik.
- Komputasi kesamaan yang disematkan - Fungsi utilitas bawaan untuk menghitung kemiripan kosinus antara dua vektor fitur.
- Kuantisasi - Mendukung kuantisasi skalar untuk vektor fitur.
Input tugas | Output tugas |
---|---|
Penyemat Teks menerima jenis data input berikut:
|
Penyemat Teks menghasilkan daftar embedding yang terdiri dari:
|
Opsi konfigurasi
Tugas ini memiliki opsi konfigurasi berikut:
Nama Opsi | Deskripsi | Rentang Nilai | Nilai Default |
---|---|---|---|
l2_normalize |
Apakah akan menormalisasi vektor fitur yang ditampilkan dengan norma L2. Gunakan opsi ini hanya jika model belum berisi TFLite Op L2_NORMALIZATION native. Dalam kebanyakan kasus, hal ini sudah terjadi dan normalisasi L2 dicapai melalui inferensi TFLite tanpa memerlukan opsi ini. | Boolean |
False |
quantize |
Apakah embedding yang ditampilkan harus dikuantisasi ke byte melalui kuantisasi skalar. Embedding secara implisit diasumsikan sebagai norma satuan dan oleh karena itu, setiap dimensi dijamin memiliki nilai dalam [-1.0, 1.0]. Gunakan opsi l2_normalize jika tidak demikian. | Boolean |
False |
Model
Kami menawarkan model default yang direkomendasikan saat Anda mulai mengembangkan aplikasi dengan tugas ini.
Model Universal Sentence Encoder (direkomendasikan)
Model ini menggunakan arsitektur encoder ganda dan dilatih pada berbagai set data tanya jawab.
Pertimbangkan pasangan kalimat berikut:
- ("perjalanan yang memikat dan sering memengaruhi", "perjalanan yang luar biasa dan fantastis")
- ("Saya suka ponsel saya", "Saya benci ponsel saya")
- ("Restoran ini punya trik yang bagus", "Kami perlu memeriksa ulang detail rencana kami")
Embedding teks pada dua pasangan pertama akan memiliki kemiripan kosinus yang lebih tinggi daripada embedding pada pasangan ketiga karena dua pasangan kalimat pertama memiliki topik yang sama, yaitu "sensitivitas perjalanan" dan "pendapat telepon", sedangkan pasangan kalimat ketiga tidak memiliki topik yang sama.
Perlu diperhatikan bahwa meskipun dua kalimat pada pasangan kedua memiliki sentimen yang berlawanan, keduanya memiliki skor kesamaan yang tinggi karena memiliki topik yang sama.
Nama model | Bentuk input | Jenis kuantisasi | Versions |
---|---|---|---|
Encoder Kalimat Universal | string, string, string | Tidak ada (float32) | Terbaru |
Tolok ukur tugas
Berikut adalah tolok ukur tugas untuk seluruh pipeline berdasarkan model terlatih di atas. Hasil latensi adalah latensi rata-rata di Pixel 6 yang menggunakan CPU / GPU.
Nama Model | Latensi CPU | Latensi GPU |
---|---|---|
Encoder Kalimat Universal | 18,21 md | - |