- Notes de publication
- Avant de commencer
- Démarrage
- Projets
- Jeux de données
- Paquets ML
- Pipelines
- Compétences ML
- Journaux ML
- Document Understanding dans AI Center
- Comment
- Guide de dépannage de base
Classification des textes anglais
Packages du système d'exploitation > Analyse linguistique > EnglishTextClassification
Il s'agit d'un modèle générique et réentraînable pour la classification en anglais. Ce package ML doit être réentraîné ; s'il est déployé sans entraînement préalable, le déploiement échouera en présentant une erreur indiquant que le modèle n'a pas été entraîné.
Ce modèle est une architecture d'apprentissage profond pour la classification des langues. Il est basé sur RoBERTa, une méthode auto-supervisée pour le pré-entraînement des systèmes de traitement des langages naturels. Un GPU peut être utilisé à la fois au moment du service et au moment de l'entraînement. Un GPU permet d'améliorer la vitesse de 5 à 10 fois. Le modèle a été publié en open source par Facebook AI Research.
JSON avec prévision du nom de classe et niveau de confiance relatif à cette prévision de classe (entre 0 et 1).
Exemple :
{
"class": "Positive",
"confidence": 0.9422031841278076
}
{
"class": "Positive",
"confidence": 0.9422031841278076
}
Pipelines
Les trois types de pipelines (complet, entraînement et évaluation) sont pris en charge par ce package.
Pour la plupart des cas d'utilisation, aucun paramètre n'a besoin d'être spécifié ; le modèle utilise des techniques avancées pour trouver un modèle performant. Pour les entraînements subséquents au premier entraînement, le modèle utilise un apprentissage incrémentiel (c'est-à-dire que la version précédemment entraînée sera utilisée à la fin de l'exécution d'un entraînement).
Lecture de plusieurs fichiers
Par défaut, ce modèle lira tous les fichiers disposant d'une extension .csv et .json (récursivement) dans le répertoire fourni.
Format de fichier CSV :
Chaque fichier csv est censé pouvoir disposer de n'importe quel nombre de colonnes, mais seules deux seront utilisées par le modèle. Ces colonnes sont spécifiées par les paramètres input_column (s'il n'est pas défini, la valeur par défaut sera « input ») et target_column (s'il n'est pas défini, la valeur par défaut sera « target »).
Par exemple, un fichier csv unique peut ressembler à ceci :
input,target
I like this movie,positive
I hated the acting,negative
input,target
I like this movie,positive
I hated the acting,negative
Dans l'exemple de fichier ci-dessus, tout type de pipeline peut être déclenché que des paramètres supplémentaires soient ajoutés. Dans l'exemple suivant, les colonnes doivent être spécifiées de façon explicite :
review,sentiment
I like this movie,positive
I hated the acting,negative
review,sentiment
I like this movie,positive
I hated the acting,negative
Tous les fichiers ne disposant pas des colonnes spécifiées par input_column et target_column seront ignorés. Par ailleurs, le délimiteur qui sera utilisé pour analyser le fichier peut être défini en définissant les paramètres csv_delimiter. Par exemple, si votre fichier est séparé par des tabulations, enregistrez-le avec l'extension .csv et définissez le paramètre csv_delimiter sur \t
Format de fichier JSON :
Chaque fichier json peut être associé à un seul point de données ou à une liste de points de données. C'est-à-dire que chaque fichier JSON peut avoir l'un des deux formats suivants : Point de données unique dans un fichier json :
{
"input": "I like this movie",
"target": "positive"
}
{
"input": "I like this movie",
"target": "positive"
}
Points de données multiples dans un fichier json :
[
{
"input": "I like this movie",
"target": "positive"
},
{
"input": "I hated the acting",
"target": "negative"
}
]
[
{
"input": "I like this movie",
"target": "positive"
},
{
"input": "I hated the acting",
"target": "negative"
}
]
Comme pour les fichiers csv, si les paramètres input_column et target_column sont définis, le format remplace "input" par input_column et "target" par target_column.
Tous les fichiers valides (soit tous les fichiers csv et json conformes au format ci-dessus) seront fusionnés.
Lire un fichier unique
Dans certains cas, il peut être utile d'utiliser un seul fichier (même lorsque votre répertoire contient un nombre important de fichiers). Dans ce cas, le paramètre csv_name peut être utilisé. S'il est défini, le pipeline lira uniquement ce fichier. Lorsque ce paramètre est défini, deux autres paramètres supplémentaires sont activés :
- csv_start_index, qui permet à l'utilisateur de spécifier la ligne où commencer la lecture.
- csv_end_index, qui permet à l'utilisateur de spécifier la ligne où terminer la lecture.
Par exemple, vous pouvez disposer d'un fichier volumineux avec 20 000 lignes mais souhaitez peut-être voir rapidement à quoi ressemblerait l'exécution d'un entraînement sur un sous-ensemble de données. Dans ce cas, vous pouvez spécifier le nom du fichier et définir csv_end_index sur une valeur bien inférieure à 20 000 lignes.
- input_column : modifiez cette valeur pour qu'elle corresponde au nom de la colonne d'entrée de votre jeu de données (par défaut « input »)
- target_column : modifiez cette valeur pour qu'elle corresponde au nom de la colonne d'entrée de votre jeu de données (par défaut « target »)
- evaluation_metric : définissez cette valeur pour modifier le renvoi de la mesure par la fonction d'évaluation et réaffichée sur l'IU. Ce paramètre peut être défini sur l'une des valeurs suivantes : "accuracy" (par défaut), "auroc" (zone sous la courbe ROC), “precision”, “recall”, “matthews correlation” (coefficient de corrélation matthews), “fscore”.
- csv_name : utilisez cette variable si vous souhaitez spécifier un fichier csv unique à lire à partir du jeu de données.
- csv_start_index : il permet à l'utilisateur de spécifier la ligne où commencer la lecture. À utiliser en combinaison avec csv_name.
- csv_end_index : il permet à l'utilisateur de spécifier la ligne où terminer la lecture. À utiliser en combinaison avec csv_name.
La fonction Train produit trois artefacts :
- train.csv - Les données utilisées pour entraîner le modèle, enregistrées à des fins de gouvernance et de traçabilité.
- validation.csv - Les données utilisées pour valider le modèle.
learning-rate-finder.png
- La plupart des utilisateurs n'auront jamais à s'en préoccuper. Les utilisateurs avancés pourront trouver cela utile (voir la section avancée). - train-report.pdf : Un rapport contenant des informations récapitulatives sur cette exécution. La première section comprend tous les paramètres spécifiés par l'utilisateur. La deuxième section comprend des statistiques sur les données (le nombre de points de données pour l'entraînement et la validation, ainsi que la somme de contrôle de chaque fichier). La dernière section comprend deux représentations de données :
- Loss Plot : Cette fonction indique les pertes d'entraînement et de validation en fonction du nombre d'époques. La version de sortie du paquet ML sera toujours la version ayant subi la perte de validation minimale (et non le modèle lors de la dernière époque).
- Metrics Plot : Cette fonction indique un certain nombre de mesures relatives à l'ensemble de validation calculées à la fin de chaque époque.
La fonction d'évaluation produit deux artefacts :
- evaluation.csv : Les données utilisées pour évaluer le modèle.
- evaluation-report.pdf - Un rapport contenant des informations récapitulatives sur cette exécution. La première section comprend tous les paramètres spécifiés par l'utilisateur. La deuxième section comprend des statistiques sur les données (le nombre de points de données pour l'évaluation et la somme de contrôle). La troisième section comprend les statistiques de cette évaluation (pour les multi-classes, les métriques sont pondérées). La dernière section comprend un tracé de la matrice de confusion et un calcul par classe de chacun des éléments d'exactitude, de précision, de rappel et de support, ainsi que leurs valeurs moyennes.
Papier
RoBERTa : une approche de pré-entraînement BERT optimisée de manière solide par Yinhan Liu, Myle Ott, et d'autres.