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é.
Commencer
Commencez à utiliser cette tâche en suivant l'un des guides d'implémentation suivants pour la plate-forme sur laquelle vous travaillez:
- Android – Exemple de code – Guide
- Python – Exemple de code – Guide
- Web – Exemple de code – Guide
- iOS – Exemple de code – Guide
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:
|
Le classificateur de texte génère une liste de catégories contenant:
|
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.
Modèle de classificateur BERT (recommandé)
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.