MediaPipe Metin Yerleştirme görevi, kullanıcılara metin verilerinin sayısal bir temsilini anlamlarını yakalamaya çalışın. Bu talimatlarda, Web ve JavaScript uygulamaları için Metin Yerleştirme aracı.
Özellikler, modeller ve yapılandırma seçenekleri hakkında daha fazla bilgi Bu görev hakkında daha fazla bilgi için Genel Bakış'ı inceleyin.
Kod örneği
Metin Yerleştirme örnek kodu, görevi aşağıda bulabilirsiniz. Bu kod, görevi test etmenize kendi metin yerleştirme uygulamanızı oluşturmaya başlayın. Bu projeleri görüntüleyebilir, çalıştırabilir, değerini değiştirin ve Metin Yerleştirme örnek kodu yalnızca web tarayıcınızı kullanarak.
Kurulum
Bu bölümde, geliştirme ortamınızı ve ayarlarınızı yönetmeyle ilgili Metin Yerleştirme Aracı'nı kullanmak için özel olarak projeleri kodlayın. Şu konularda genel bilgi için: dahil olmak üzere MediaPipe görevlerini kullanmak için geliştirme ortamınızı daha fazla bilgi için Web için kurulum kılavuzu.
JavaScript paketleri
Metin Yerleştirme kodu,
@mediapipe/tasks-text
paketinden yararlanın. Bu kitaplıkları, şurada sağlanan bağlantılardan bulup indirebilirsiniz:
platform
Kurulum kılavuzu.
Yerel hazırlık için gerekli paketleri aşağıdaki kodla yükleyebilirsiniz kullanabilirsiniz:
npm install @mediapipe/tasks-text
Sunucuya dağıtım yapmak istiyorsanız içerik yayınlama yöntemini kullanabilirsiniz. ağ (CDN) hizmeti kullanarak (ör. jsDelivr) aşağıdaki gibi kodu doğrudan HTML sayfanıza ekleyin:
<head>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
crossorigin="anonymous"></script>
</head>
Model
MediaPipe Metin Yerleştirme görevi bu görevi görebilir. Metin Yerleştirme aracı için eğitilen modeller hakkında daha fazla bilgi için bkz. göreve genel bakış Modeller bölümü.
Bir model seçip indirin ve ardından bu modeli proje dizininizde depolayın:
<dev-project-root>/app/shared/models
Görevi oluşturma
Şunları yapmak için Metin Yerleştirme createFrom...()
işlevlerinden birini kullanın:
çıkarımları yapmaya hazır hale getirebilirsiniz. createFromModelPath()
kullanabilirsiniz
işlevi, eğitilen model dosyasına giden göreli veya mutlak bir yolla Kod
aşağıdaki örnekte createFromOptions()
işlevini kullanın. Kullanılabilir yapılandırma seçenekleri hakkında daha fazla bilgi edinmek için
Yapılandırma seçenekleri.
Aşağıdaki kod, bu görevin nasıl oluşturulacağını ve yapılandırılacağını gösterir:
async function createEmbedder() {
const textFiles = await FilesetResolver.forTextTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
textEmbedder = await TextEmbedder.createFromOptions(
textFiles,
{
baseOptions: {
modelAssetPath: `https://storage.googleapis.com/mediapipe-tasks/text_embedder/universal_sentence_encoder.tflite`
},
quantize: true
}
);
}
createEmbedder();
Yapılandırma seçenekleri
Bu görev, Web ve JavaScript için aşağıdaki yapılandırma seçeneklerine sahiptir uygulamalar:
Seçenek Adı | Açıklama | Değer Aralığı | Varsayılan Değer |
---|---|---|---|
l2Normalize |
Döndürülen özellik vektörünün L2 normuyla normalleştirilip normalleştirilmeyeceği. Bu seçeneği yalnızca model zaten yerel bir öğe içermiyorsa kullanın L2_NORMALIZATION TFLite Op. Çoğu durumda bu zaten böyledir Böylece L2 normalleştirmesi, herhangi bir gerek kalmadan TFLite çıkarımıyla gerçekleştirilir bu seçeneği belirleyin. | Boolean |
False |
quantize |
Döndürülen yerleştirmenin skaler nicelemedir. Yerleştirmelerin dolaylı olarak birim normları Bu nedenle, tüm boyutların [-1,0, 1,0] aralığında bir değere sahip olması garanti edilir. Tekliflerinizi otomatikleştirmek ve optimize etmek için l2Normalize seçeneğini kullanın. | Boolean |
False |
Verileri hazırlama
Metin Yerleştirme aracı, metin (string
) verileriyle çalışır. Görev, projenin yürütülmesi sırasında
ve tensör ön işlemesi dahil olmak üzere veri girişi ön işlemesi. Tümü
ön işleme, embed
işlevi içinde işlenir. Gerek yok
ek ön işleme yöntemini kullanabilirsiniz.
const inputText = "The input text to be embedded.";
Görevi çalıştırma
Metin Yerleştirme aracı, çıkarımları tetiklemek için embed
işlevini kullanır. Metin için
yerleştirme, giriş metni için yerleştirme vektörlerinin döndürülmesi anlamına gelir.
Aşağıdaki kod, işlemin görev modeliyle nasıl yürütüldüğünü gösterir.
// Wait to run the function until inner text is set
const embeddingResult = textEmbedder.embed(
inputText
);
Sonuçları işleme ve görüntüleme
Metin Yerleştirme aracı, şunların listesini içeren bir TextEmbedderResult
verir:
giriş metni için yerleştirme (kayan nokta veya skaler miktarlı)
Aşağıda, bu görevdeki çıkış verilerinin bir örneği gösterilmektedir:
TextEmbedderResult:
Embedding #0 (sole embedding head):
float_embedding: {0.2345f, 0.1234f, ..., 0.6789f}
head_index: 0
İki yerleştirmenin anlamsal benzerliğini
TextEmbedder.cosineSimilarity
işlevi. Aşağıdaki kodu inceleyerek
örneğine bakalım.
// Compute cosine similarity.
const similarity = TextEmbedder.cosineSimilarity(
embeddingResult.embeddings[0],
otherEmbeddingResult.embeddings[0]);
Metin Yerleştirme örnek kodu, yerleşik öğenin nasıl görüntüleneceğini gösterir daha fazla bilgi edinmek için kod örneği inceleyebilirsiniz.