Web için metin yerleştirme kılavuzu

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.