ai-center
2021.10
false
AI Center - Guide de l'utilisateur
Automation CloudAutomation SuiteStandalone
Last updated 6 juin 2024

Classification de texte clair

Packages prêts à l'emploi (Out of the Box Packages) > Analyse du langage UiPath (UiPath Language Analysis) > LightTextClassification

Il s'agit d'un modèle générique réentraîné pour la classification de texte. Il prend en charge toutes les langues basées sur des caractères latins, telles que l’anglais, le français, l’espagnol et autres. Ce paquet ML doit être entraîné. S'il est déployé sans entraînement, le déploiement échouera avec une erreur indiquant que le modèle n'a pas été entraîné. Ce modèle fonctionne sur Bag of Words. Ce modèle fournit une explicabilité basée sur les n-grammes.

Détails du modèle

Type d'entrée

JSON et CSV

Description de l'entrée

Texte à classer en tant que string : « J'ai adoré ce film ».

Description de la sortie

JSON avec classe et confiance (entre 0 et 1).

{
    "class": "7",
    "confidence": 0.1259827300369445,
    "ngrams": [
        [
            "like",
            1.3752658445706787
        ],
        [
            "like this",
            0.032029048484416685
        ]
    ]
}{
    "class": "7",
    "confidence": 0.1259827300369445,
    "ngrams": [
        [
            "like",
            1.3752658445706787
        ],
        [
            "like this",
            0.032029048484416685
        ]
    ]
}

Recommander un GPU

GPU non requis.

Formation possible

Par défaut, l'apprentissage est activé.

Pipelines

Ce package prend en charge les trois types de pipelines (formation complète, formation et évaluation). Le modèle utilise des techniques avancées pour trouver un modèle performant à l'aide de la recherche par hyperparamètres. Par défaut, la recherche par hyperparamètres (la variable BOW.hyperparameter_search.enable ) est activée. Les paramètres du modèle le plus performant sont disponibles dans le rapport d'évaluation.

Format d'ensemble de données

Trois options sont disponibles pour structurer votre jeu de données pour ce modèle : JSON, CSV et AI Center au format JSON. Le modèle lira tous les fichiers CSV et JSON dans le répertoire spécifié. Pour chaque format, le modèle attend deux colonnes ou deux propriétés, dataset.input_column_name et dataset.target_column_name Par défaut Les noms de ces deux colonnes et/ou répertoires sont configurables à l'aide de variables d'environnement.

Format de fichier CSV

Chaque fichier CSV peut avoir n'importe quel nombre de colonnes, mais seules deux seront utilisées par le modèle. Ces colonnes sont spécifiées par dataset.input_column_name et dataset.target_column_name paramètres.

Consultez l'exemple et les variables d'environnement suivants pour obtenir un exemple de format de fichier CSV.

text, label
I like this movie, 7
I hated the acting, 9text, label
I like this movie, 7
I hated the acting, 9

Les variables d'environnement de l'exemple précédent seraient les suivantes :

  • dataset.input_format: auto
  • dataset.input_column_name: text
  • dataset.nom_colonne_cible : label

Format de fichier JSON

Plusieurs points de données peuvent faire partie du même fichier JSON.

Consultez l'exemple et les variables d'environnement suivants pour obtenir un exemple de format de fichier JSON.

[
  {
    "text": "I like this movie",
    "label": "7"
  },
  {
    "text": "I hated the acting",
    "label": "9"
  }
][
  {
    "text": "I like this movie",
    "label": "7"
  },
  {
    "text": "I hated the acting",
    "label": "9"
  }
]

Les variables d'environnement de l'exemple précédent seraient les suivantes :

  • dataset.input_format: auto
  • dataset.input_column_name: text
  • dataset.nom_colonne_cible : label

format de fichier ai_center

Il s'agit de la valeur par défaut des variables d'environnement qui peuvent être définies, et ce modèle lira tous les fichiers dans un répertoire fourni avec une extension .json .

Consultez l'exemple et les variables d'environnement suivants pour obtenir un exemple de format de fichier ai_center.

{
    "annotations": {
        "intent": {
            "to_name": "text",
            "choices": [
                "TransactionIssue",
                "LoanIssue"
            ]
        },
        "sentiment": {
            "to_name": "text",
            "choices": [
                "Very Positive"
            ]
        },
        "ner": {
            "to_name": "text",
            "labels": [
                {
                    "start_index": 37,
                    "end_index": 47,
                    "entity": "Stakeholder",
                    "value": " Citi Bank"
                },
                {
                    "start_index": 51,
                    "end_index": 61,
                    "entity": "Date",
                    "value": "07/19/2018"
                },
                {
                    "start_index": 114,
                    "end_index": 118,
                    "entity": "Amount",
                    "value": "$500"
                },
                {
                    "start_index": 288,
                    "end_index": 293,
                    "entity": "Stakeholder",
                    "value": " Citi"
                }
            ]
        }
    },
    "data": {
        "cc": "",
        "to": "xyz@abc.com",
        "date": "1/29/2020 12:39:01 PM",
        "from": "abc@xyz.com",
        "text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."{
    "annotations": {
        "intent": {
            "to_name": "text",
            "choices": [
                "TransactionIssue",
                "LoanIssue"
            ]
        },
        "sentiment": {
            "to_name": "text",
            "choices": [
                "Very Positive"
            ]
        },
        "ner": {
            "to_name": "text",
            "labels": [
                {
                    "start_index": 37,
                    "end_index": 47,
                    "entity": "Stakeholder",
                    "value": " Citi Bank"
                },
                {
                    "start_index": 51,
                    "end_index": 61,
                    "entity": "Date",
                    "value": "07/19/2018"
                },
                {
                    "start_index": 114,
                    "end_index": 118,
                    "entity": "Amount",
                    "value": "$500"
                },
                {
                    "start_index": 288,
                    "end_index": 293,
                    "entity": "Stakeholder",
                    "value": " Citi"
                }
            ]
        }
    },
    "data": {
        "cc": "",
        "to": "xyz@abc.com",
        "date": "1/29/2020 12:39:01 PM",
        "from": "abc@xyz.com",
        "text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."

Pour tirer parti de l'exemple JSON précédent, les variables d'environnement doivent être définies comme suit :

  • dataset.input_format: ai_center
  • dataset.input_column_name: data.text
  • dataset.nom_colonne_cible : annotations.intent.choices

Formation sur GPU ou CPU

Le GPU n'est pas requis pour la formation

Variables de l'environnement

  • dataset.input_column_name
    • Le nom de la colonne d'entrée contenant le texte.
    • La valeur par défaut est data.text.
    • Assurez-vous que cette variable est configurée en fonction de votre fichier JSON ou CSV d'entrée.
  • dataset.target_column_name
    • Le nom de la colonne cible contenant le texte.
    • La valeur par défaut est annotations.intent.choices.
    • Assurez-vous que cette variable est configurée en fonction de votre fichier JSON ou CSV d'entrée.
  • jeu de données.format_entrée
    • Le format d'entrée des données d'entraînement.
    • La valeur par défaut est ai_center.
    • Les valeurs prises en charge sont : ai_center ou auto .
    • Si ai_center est sélectionné, seuls les fichiers JSON sont pris en charge. Assurez-vous également de remplacer la valeur de dataset.target_column_name par annotations.sentiment.choices si ai_center est sélectionné.
    • Si auto est sélectionné, les fichiers CoNLL et JSON sont pris en charge.
  • BOW.hyperparameter_search.enable
    • La valeur par défaut de ce paramètre est True . Si cette option est laissée activée, elle trouvera le modèle le plus performant dans la période donnée et les ressources de calcul.
    • Cela générera également un fichier PDF HyperparameterSearch_report pour présenter les variations des paramètres qui ont été essayés.
  • BOW.hyperparameter_search.timeout
    • Durée maximale d'exécution autorisée en secondes de la recherche d'hyperparamètres.
    • La valeur par défaut est 1800.
  • BOW.explain_inference
    • Lorsqu'il est défini sur True , pendant la période d'inférence lorsque le modèle est utilisé en tant que compétence ML, certains des n-grammes les plus importants seront également renvoyés avec la prédiction.
    • La valeur par défaut est False.

Variables facultatives

Vous pouvez ajouter d'autres variables facultatives en cliquant sur le bouton Ajouter nouveau (Add new). Cependant, si vous définissez la variable BOW.hyperparameter_search.enable sur True , les valeurs optimales de ces variables sont recherchées. Pour que les paramètres facultatifs suivants soient utilisés par le modèle, définissez la variable de recherche BOW.hyperparameter_search.enable sur False :
  • BOW.lr_kwargs.class_weight
    • Les valeurs prises en charge sont : balanced ou None .
  • BOW.plage_ngram
    • Plage de longueurs de séquence de mots consécutifs pouvant être considérés comme des caractéristiques du modèle.
    • Assurez-vous de suivre ce format : (1, x) , où x est la longueur de séquence maximale que vous souhaitez autoriser.
  • ARC.min_df
    • Utilisé pour définir le nombre minimum d'occurrences du n-gramme dans l'ensemble de données à considérer comme une entité.
    • Les valeurs recommandées sont comprises entre 0 et 10 .
  • dataset.text_pp_remove_stop_words
    • Utilisé pour configurer si les mots vides doivent être inclus ou non dans la recherche (par exemple, des mots comme the , or ).
    • Les valeurs prises en charge sont : True ou False .

Artefacts

Le rapport d'évaluation est un fichier PDF contenant les informations suivantes dans un format lisible par l'homme :

  • ngrammes par classe
  • Diagramme de rappel de précision
  • Rapport de classification
  • Matrice de confusion
  • Meilleurs paramètres de modèle pour la recherche d'hyperparamètres
ngrammes par classe

Cette section contient les 10 principaux n-grammes qui affectent la prédiction du modèle pour cette classe. Il existe une table différente pour chaque classe sur laquelle le modèle a été entraîné.

Diagramme de rappel de précision

Vous pouvez utiliser ce diagramme et le tableau pour vérifier la précision, le compromis de rappel, ainsi que les scores f1 du modèle. Les seuils et les valeurs de précision et de rappel correspondantes sont également fournis dans un tableau sous ce diagramme. Ce tableau choisira le seuil souhaité à configurer dans votre workflow afin de décider quand envoyer les données à Action Center pour Human in the loop. Notez que plus le seuil choisi est élevé, plus la quantité de données acheminées vers Action Center pour Human in the loop sera élevée.

Il existe un diagramme de rappel de précision pour chaque classe.

Pour obtenir un exemple de diagramme de rappel de précision, consultez la figure ci-dessous.



Pour obtenir un exemple de table de rappel de précision, consultez le tableau ci-dessous.

PrécisionRappelSeuil
0.80122324159021410.67352185089974290.30539842728983285
0.85053380782918150.61439588688946010.37825683923133907
0.90055248618784530.41902313624678660.6121292357073038
0.95145631067961170.25192802056555270.7916427288647211
Rapport de classification

Le rapport de classification contient les informations suivantes :

  • Libellé - la partie libellée de l'ensemble de tests
  • Précision - l'exactitude de la prédiction
  • Rappel - instances pertinentes qui ont été récupérées
  • Score F1 - la moyenne géométrique entre la précision et le rappel ; vous pouvez utiliser ce score pour comparer deux modèles
  • Prise en charge (Support) - le nombre de fois qu'un certain libellé apparaît dans l'ensemble de tests

Pour obtenir un exemple de rapport de classification, consultez le tableau ci-dessous.

LabelPrécisionRappelScore F1Assistance
0.00.8050.7370.769319
1.00.7310.8120.77389
2,00.7780.7310.754394
3.00.7210.7780.748392
4.00.8550.8440.85385
5.00.9010.8030.849395
Matrice de confusion


Meilleurs paramètres de modèle pour la recherche d'hyperparamètres
Lorsque la variable BOW.hyperparameter_search.enable est définie sur True , les meilleurs paramètres de modèle sélectionnés par l'algorithme sont affichés dans ce tableau. Pour réentraîner le modèle avec des paramètres différents non couverts par la recherche par hyperparamètres , vous pouvez également définir ces paramètres manuellement dans les variables d'environnement. Pour plus d'informations à ce sujet, consultez la section (doc:light-text-classification#environment-variables).

Pour obtenir un exemple de ce rapport, consultez le tableau ci-dessous.

NomValeur (Value)
BOW.plage_ngram(1, 2)
ARC.min_df2
BOW.lr_kwargs.class_weightÉquilibré
dataset.text_pp_remove_stop_wordsVrai

Rapport de recherche d'hyperparamètres

Ce rapport est un fichier PDF généré uniquement si le paramètre BOW.hyperparameter_search.enable est défini sur True . Le rapport contient les meilleures valeurs pour les variables facultatives et un diagramme pour afficher les résultats.


Fichiers JSON

Vous pouvez trouver des fichiers JSON distincts correspondant à chaque section du fichier PDF du rapport d'évaluation. Ces fichiers JSON sont lisibles par machine et vous pouvez les utiliser pour diriger l'évaluation du modèle vers Insights à l'aide du workflow.

Données

Fichier CSV d'évaluation

Il s'agit d'un fichier CSV contenant des prédictions sur l'ensemble de tests utilisé pour l'évaluation. Ce fichier contient également les n-grammes qui ont eu un impact sur la prédiction (indépendamment de la valeur de la variable BOW.explain_inference ).

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.