La tâche de l'intégrateur de texte MediaPipe vous permet de créer une représentation numérique de données textuelles pour saisir sa signification sémantique. Ces instructions vous expliquent comment utiliser Outil d'intégration de texte avec Python
Pour en savoir plus sur les fonctionnalités, les modèles et les options de configuration de cette tâche, consultez la section Présentation.
Exemple de code
L'exemple de code pour l'outil d'intégration de texte fournit une implémentation complète de ce dans Python à titre de référence. Ce code vous aide à tester cette tâche et à obtenir vous avez commencé à créer votre propre outil d'intégration de texte. Vous pouvez afficher, exécuter et modifier les Exemple d'outil d'intégration de texte du code en utilisant simplement votre navigateur Web avec Google Colab. Vous pouvez afficher le code source cet exemple sur GitHub
Configuration
Cette section décrit les étapes clés à suivre pour configurer votre environnement de développement projets de code spécifiques pour utiliser l'outil d'intégration de texte. Pour obtenir des informations générales sur configurer votre environnement de développement pour utiliser les tâches MediaPipe, y compris version de la plate-forme requise, consultez le guide de configuration Python.
<ph type="x-smartling-placeholder">Colis
L'outil d'intégration de texte utilise le package Mediapipe pip. Vous pouvez installer la dépendance par les éléments suivants:
$ python -m pip install mediapipe
Importations
Importez les classes suivantes pour accéder aux fonctions de la tâche de l'intégrateur de texte:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text
Modèle
La tâche de l'outil d'intégration de texte MediaPipe nécessite un modèle entraîné compatible avec tâche. Pour en savoir plus sur les modèles entraînés disponibles pour l'outil d'intégration de texte, consultez la section Modèles de la présentation des tâches.
Sélectionnez et téléchargez un modèle, puis stockez-le dans un répertoire local. Vous pouvez utiliser les recommandations UniversalSentenceEncoder dans un modèle de ML.
model_path = '/absolute/path/to/universal_sentence_encoder.tflite'
Spécifiez le chemin d'accès du modèle dans le paramètre model_asset_path
, comme indiqué ci-dessous:
base_options = BaseOptions(model_asset_path=model_path)
Créer la tâche
La tâche de l'outil d'intégration de texte MediaPipe utilise la fonction create_from_options
pour configurer le
tâche. La fonction create_from_options
accepte des valeurs pour la configuration
pour définir les options de l'intégrateur. Vous pouvez également initialiser la tâche à l'aide de la méthode
fonction de fabrique create_from_model_path
. La fonction create_from_model_path
accepte un chemin d'accès relatif ou absolu vers le fichier de modèle entraîné. Pour plus
sur les options de configuration, consultez
Options de configuration.
Le code suivant montre comment compiler et configurer cette tâche.
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)
Options de configuration
Cette tâche comporte les options de configuration suivantes pour les applications Python:
Nom de l'option | Description | Plage de valeurs | Valeur par défaut |
---|---|---|---|
l2_normalize |
Indique s'il faut normaliser le vecteur de caractéristiques renvoyé avec la norme L2. N'utilisez cette option que si le modèle ne contient pas encore d'élément natif L2_NORMALIZATION TFLite Op. Dans la plupart des cas, c'est déjà le cas et La normalisation L2 est ainsi obtenue via l'inférence TFLite sans avoir besoin pour cette option. | Boolean |
False |
quantize |
Indique si la représentation vectorielle continue renvoyée doit être quantifiée en octets via la quantification scalaire. Les représentations vectorielles continues sont implicitement considérées comme étant une norme unitaire Par conséquent, toute dimension aura une valeur comprise dans [-1.0, 1.0]. Utilisez l'option l2_normalize si ce n'est pas le cas. | Boolean |
False |
Préparer les données
L'outil d'intégration de texte fonctionne avec des données textuelles (str
). La tâche gère la saisie des données
le prétraitement, y compris la tokenisation et le prétraitement des Tensors.
L'ensemble du prétraitement est géré dans la fonction embed
. Il n'est pas nécessaire
pour prétraiter davantage le texte d'entrée.
input_text = "The input text to be embedded."
Exécuter la tâche
L'outil d'intégration de texte utilise la fonction embed
pour déclencher des inférences. Texte
cela signifie renvoyer les vecteurs de représentation vectorielle continue pour le texte d'entrée.
Le code suivant montre comment exécuter le traitement avec le modèle de tâche.
# Perform text embedding on the provided input text.
embedding_result = text_embedder.embed(input_text)
Gérer et afficher les résultats
L'intégrateur de texte génère une TextEmbedderResult
contenant une liste de
(à virgule flottante ou scalaire) pour le texte d'entrée.
Voici un exemple de données de sortie de cette tâche:
TextEmbedderResult:
Embedding #0 (sole embedding head):
float_embedding: {0.2345f, 0.1234f, ..., 0.6789f}
head_index: 0
Vous pouvez comparer la similarité sémantique de deux représentations vectorielles continues à l'aide de la fonction
fonction TextEmbedder.cosine_similarity
. Consultez le code suivant pour obtenir
à titre d'exemple.
# Compute cosine similarity.
similarity = TextEmbedder.cosine_similarity(
embedding_result.embeddings[0],
other_embedding_result.embeddings[0])