Python 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, Python ile Metin Yerleştirme.

Ö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 görebilir. Bu kod, görevi test etmenize ve kendi metin yerleştirdiğinizi oluşturmaya başladı. Verileri görüntüleyebilir, çalıştırabilir ve Metin Yerleştirme örneği kod Google Colab ile yalnızca web tarayıcınızı kullanarak. Şu öğenin kaynak kodunu görüntüleyebilirsiniz: bu örneği şurada bulabilirsiniz: GitHub'a gidin.

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ı platform sürümü gereksinimleri hakkında daha fazla bilgi için Python'da kullanılabilir.

Paketler

Metin Yerleştirme aracı, mediapipe pip paketini kullanır. Bağımlılığı yükleyebilirsiniz şunlar:

$ python -m pip install mediapipe

İçe aktarılanlar

Metin Yerleştirme görev işlevlerine erişmek için şu sınıfları içe aktarın:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

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, ardından bu modeli yerel bir dizinde depolayın. Tekliflerinizi otomatikleştirmek ve optimize etmek için önerilen UniversalSentenceEncoder modeli.

model_path = '/absolute/path/to/universal_sentence_encoder.tflite'

Aşağıda gösterildiği gibi, model_asset_path parametresi içinde modelin yolunu belirtin:

base_options = BaseOptions(model_asset_path=model_path)

Görevi oluşturma

MediaPipe Metin Yerleştirme görevi,create_from_options görevi görebilir. create_from_options işlevi, yapılandırma için değerleri kabul eder seçeneklerini ayarlayın. Görevi başlatmak için create_from_model_path fabrika işlevi. create_from_model_path işlevi eğitilen model dosyasının göreli veya mutlak yolunu kabul eder. Daha fazla daha fazla bilgi için bkz. 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.

import mediapipe as mp

BaseOptions = mp.tasks.BaseOptions
TextEmbedder = mp.tasks.text.TextEmbedder
TextEmbedderOptions = mp.tasks.text.TextEmbedderOptions

# For creating a text embedder instance:
options = TextEmbedderOptions(
    base_options=BaseOptions(model_asset_path=model_path),
    quantize=True)
text_embedder = TextEmbedder.create_from_options(options)

Yapılandırma seçenekleri

Bu görev, Python uygulamaları için aşağıdaki yapılandırma seçeneklerini içerir:

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 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 l2_normalize seçeneğini kullanın. Boolean False

Verileri hazırlama

Metin Yerleştirme aracı, metin (str) verileriyle çalışır. Görev, veri girişini işler ön işleme dahil edilir.

Tüm ön işlemler, embed işlevi içinde gerçekleştirilir. Gerek yok ek ön işleme yöntemini kullanabilirsiniz.

input_text = "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.

# Perform text embedding on the provided input text.
embedding_result = text_embedder.embed(input_text)

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.cosine_similarity işlevi. Aşağıdaki kodu inceleyerek örneğine bakalım.

# Compute cosine similarity.
similarity = TextEmbedder.cosine_similarity(
  embedding_result.embeddings[0],
  other_embedding_result.embeddings[0])