Guide des tâches de classification de texte

La tâche de classificateur de texte MediaPipe vous permet de classer du texte dans un ensemble de catégories définies, telles que les sentiments positifs ou négatifs. Les catégories sont définies lors de l'entraînement du modèle. Cette tâche traite des données textuelles avec un modèle de machine learning (ML) en tant que données statiques, et génère une liste de catégories et leurs scores de probabilité.

Essayer

Commencer

Commencez à utiliser cette tâche en suivant l'un des guides d'implémentation suivants pour la plate-forme sur laquelle vous travaillez:

Ces guides spécifiques à la plate-forme vous guident tout au long de l'implémentation de base de cette tâche, avec un modèle et un exemple de code recommandés, ainsi que des options de configuration recommandées.

Détails de la tâche

Cette section décrit les capacités, les entrées, les sorties et les options de configuration de cette tâche.

Caractéristiques

  • Traitement du texte d'entrée : prise en charge de la tokenisation hors graphique pour les modèles sans tokenisation dans le graphique.
  • Plusieurs en-têtes de classification : chaque responsable peut utiliser son propre ensemble de catégories
  • Paramètres régionaux de la carte des libellés : permet de définir la langue à utiliser pour les noms à afficher.
  • Seuil de score : filtre les résultats en fonction des scores de prédiction.
  • Top-k classification results (Résultats de la classification Top K) : filtre le nombre de résultats de détection.
  • Liste d'autorisation et liste de blocage de libellés : spécifiez les catégories détectées.
Entrées des tâches Sorties de tâches
Le classificateur de texte accepte le type de données d'entrée suivant:
  • Chaîne
Le classificateur de texte génère une liste de catégories contenant:
  • Index de catégorie: index de la catégorie dans les sorties du modèle.
  • Score: score de confiance pour cette catégorie, exprimé sous la forme d'une probabilité comprise entre zéro et un sous forme de valeur à virgule flottante.
  • Nom de la catégorie (facultatif): nom de la catégorie, tel que spécifié dans les métadonnées de modèle TensorFlow Lite, le cas échéant.
  • Nom à afficher de la catégorie (facultatif): nom à afficher pour la catégorie, tel que spécifié dans les métadonnées de modèles TensorFlow Lite, dans la langue spécifiée via les options régionales des noms à afficher, le cas échéant.

Options de configuration

Cette tâche comporte les options de configuration suivantes:

Nom de l'option Description Plage de valeurs Valeur par défaut
displayNamesLocale Définit la langue des libellés à utiliser pour les noms à afficher fournis dans les métadonnées du modèle de la tâche, le cas échéant. La valeur par défaut est en pour l'anglais. Vous pouvez ajouter des thèmes localisés aux métadonnées d'un modèle personnalisé à l'aide de l'API TensorFlow Lite Metadata Writer. Code des paramètres régionaux en
maxResults Définit le nombre maximal (facultatif) de résultats de classification les mieux notés à renvoyer. Si la valeur est inférieure à 0, tous les résultats disponibles sont renvoyés. Tout nombre positif -1
scoreThreshold Définit le seuil de score de prédiction qui remplace celui fourni dans les métadonnées du modèle (le cas échéant). Les résultats inférieurs à cette valeur sont refusés. N'importe quelle valeur flottante Non définie
categoryAllowlist Définit la liste facultative des noms de catégories autorisés. S'ils ne sont pas vides, les résultats de classification dont le nom de catégorie ne figure pas dans cet ensemble seront filtrés. Les noms de catégorie en double ou inconnus sont ignorés. Cette option s'exclut mutuellement avec categoryDenylist. L'utilisation des deux résultats génère une erreur. N'importe quelle chaîne Non définie
categoryDenylist Définit la liste facultative des noms de catégorie qui ne sont pas autorisés. S'ils ne sont pas vides, les résultats de classification dont le nom de catégorie figure dans cet ensemble seront filtrés. Les noms de catégorie en double ou inconnus sont ignorés. Cette option s'exclut mutuellement avec categoryAllowlist. L'utilisation des deux entraîne une erreur. N'importe quelle chaîne Non définie

Modèles

Le classificateur de texte peut être utilisé avec plusieurs modèles de ML. Commencez avec le modèle par défaut recommandé pour votre plate-forme cible lorsque vous commencez à développer avec cette tâche. Les autres modèles disponibles font généralement des compromis entre les exigences en termes de performances, de précision, de résolution et de ressources, et incluent, dans certains cas, des fonctionnalités supplémentaires.

Les modèles pré-entraînés sont entraînés pour l'analyse des sentiments et prédisent si le sentiment du texte d'entrée est positif ou négatif. Les modèles ont été entraînés sur l'ensemble de données SST-2 (Stanford Sentiment Treebank), qui est constitué d'avis sur des films étiquetés comme étant positifs ou négatifs. Notez que les modèles ne sont disponibles qu'en anglais. Étant donné qu'ils ont été entraînés sur un ensemble de données de critiques de films, vous constaterez peut-être une qualité réduite du texte couvrant d'autres sujets.

Ce modèle utilise une architecture basée sur BERT (en particulier, le modèle MobileBERT) et est recommandé en raison de sa haute précision. Elle contient des métadonnées qui permettent à la tâche d'effectuer une tokenisation BERT hors graphique.

Nom du modèle Forme de saisie Type de quantification Versions
BERT-classifier [1x128],[1x128],[1x128] Plage dynamique Les plus récents

Modèle de représentation vectorielle continue des mots en moyenne

Ce modèle utilise une architecture de représentation vectorielle continue des mots. Ce modèle offre une taille de modèle plus petite et une latence plus faible, mais avec une précision de prédiction inférieure par rapport au classificateur BERT. Il est également plus rapide de personnaliser ce modèle par le biais d'un entraînement supplémentaire que d'entraîner le classificateur basé sur BERT. Ce modèle contient des métadonnées qui permettent à la tâche d'effectuer une tokenisation d'expression régulière hors graphique.

Nom du modèle Forme de saisie Type de quantification Versions
Représentation vectorielle continue de mots moyens 1 x 256 Aucune (float32) Les plus récents

Benchmarks de tâches

Voici les benchmarks de tâches pour l'ensemble du pipeline, sur la base des modèles pré-entraînés ci-dessus. Le résultat correspond à la latence moyenne sur le Pixel 6 en utilisant le processeur / GPU.

Nom du modèle Latence du processeur Latence du GPU
Moyenne des représentations vectorielles continues de mots 0,14 ms -
Classificateur BERT 57,68 ms -

Modèles personnalisés

Vous pouvez utiliser un modèle de ML personnalisé pour cette tâche si vous souhaitez améliorer ou modifier les fonctionnalités des modèles fournis. Vous pouvez utiliser Model Maker pour modifier des modèles existants ou créer un modèle à l'aide d'outils tels que TensorFlow. Les modèles personnalisés utilisés avec MediaPipe doivent être au format TensorFlow Lite et inclure des métadonnées spécifiques décrivant les paramètres de fonctionnement du modèle. Nous vous conseillons d'utiliser Model Maker pour modifier les modèles fournis pour cette tâche avant de créer les vôtres.