Fermer

février 17, 2023

Système de classification des billets | AU NOUVEAU Blog

Système de classification des billets |  AU NOUVEAU Blog


1. Introduction

Avec l’augmentation du nombre d’utilisateurs mobiles, les clients contactent les entreprises via une variété de canaux, y compris les sites de médias sociaux, les sites Web d’examen, les e-mails et les chats en direct à tout moment de la journée, ce qui augmente le nombre de demandes et de plaintes générées. Lorsqu’un problème ou une demande d’assistance arrive à l’outil ITSM Ticketing, il doit d’abord être traité, catégorisé et traité en priorité. Ces tickets sont ensuite acheminés selon leur catégorie et leur priorité. Par conséquent, le ticket doit être correctement catégorisé pour éviter de perdre du temps et des ressources lors de son acheminement.

Lorsque les tickets sont classés manuellement, il y en a généralement trop à étiqueter et trop de catégories à sélectionner, ce qui ralentit l’ensemble du processus d’acheminement car beaucoup de temps est perdu à traiter ces tickets mal marqués. Il existe également une forte possibilité d’erreurs manuelles dans la catégorisation du ticket. C’est l’une des raisons fondamentales pour lesquelles la classification automatisée des tickets est si importante.

Nous avons décidé d’automatiser la classification des tickets comme approche de résolution des problèmes. Sur la base des données de description des tickets précédents, notre système applique des techniques d’apprentissage automatique pour anticiper la catégorie, la sous-catégorie, le groupe de problèmes et la priorité appropriés. Sa capacité à prendre des décisions sans intervention humaine est un avantage.

2. Méthodologie et analyse

Nous aborderons les points suivants pour vous aider à comprendre comment notre système de classification des tickets est mis en œuvre :

  • Le jeu de données utilisé dans ce projet.
  • Mesures prises pour nettoyer les données.
  • Algorithme appliqué pour ce système.
  • Le déploiement suit les conclusions du modèle de classification en production.

2.1. Base de données

Nous avons collecté un ensemble de données d’environ 10 000 tickets de problème étiquetés sur divers problèmes à partir de l’outil ITSM Ticketing pour exécuter notre expérience. Les champs Description du ticket, catégorie, identifiant coché, heure de création, heure de fermeture, sous-catégorie, groupe de problèmes et priorité sont inclus dans chaque ticket émis. La description de chaque ticket est donnée sous forme de texte libre en langage naturel. Cette étude prédit la catégorie, la sous-catégorie, le groupe de problèmes et la priorité appropriés à l’aide de la description du ticket. Les autres attributs, tels que l’identifiant coché, l’heure de création et l’heure de fermeture, ne sont pas pris en compte.

2.2. Prétraitement des données

Nous pouvons observer qu’un jeu de données comporte 55 colonnes, dont 6 sont significatives. De plus, des champs de texte spécifiques dans les données incluent des espaces supplémentaires, des non-caractères, des signes de ponctuation, etc. Les algorithmes tels que l’apprentissage automatique ne peuvent pas être utilisés directement sur les données textuelles. Ils doivent donc être traduits au format vectoriel avant d’être intégrés dans les pipelines d’apprentissage automatique. Puisqu’il n’y a qu’un petit nombre de champs avec des valeurs ‘nan’, la meilleure stratégie pour gérer ce petit nombre de champs est d’exclure les lignes avec des champs ‘nan’.

Dans un premier temps, nous avons implémenté des stratégies de nettoyage de texte de base telles que le filtrage des colonnes requises, la gestion des valeurs nulles, l’ignorance de la casse, la ponctuation et des termes souvent utilisés appelés mots vides qui ne fournissent pas beaucoup d’informations. Utilisation d’algorithmes de radicalisation et de lemmatisation pour corriger les mots mal orthographiés et réduire les mots à leur radical.

2.3. Algorithme appliqué

Cela explique l’approche de la demande et comment elle a été évaluée. Nous avons choisi d’utiliser le BERT et l’apprentissage zéro coup pour notre modèle de classification afin de faciliter la formulation des objectifs du présent énoncé de problème et d’influencer les résultats. L’identification d’un ensemble d’objectifs est la première étape méthodologique importante. Les objectifs doivent être établis de manière à permettre leur évaluation puisqu’il s’agit d’entités qui doivent être évaluées. La deuxième étape consiste à déterminer les paramètres qui seront utilisés pour évaluer l’application. Nous fixons d’abord des objectifs, chacun d’entre eux répondant à un problème distinct soulevé par notre modèle de classification :

  • Pour créer un modèle de classification qui utilise la description du ticket pour prédire la catégorie, la sous-catégorie, le groupe de problèmes et la priorité appropriés.
  • La précision avec laquelle le modèle de classification prédit correctement la catégorie, le groupe de problèmes et la priorité.
  • À quelle fréquence le modèle identifie-t-il le bon cessionnaire lorsque certaines distributions de catégories, de groupes de problèmes et de priorités ne sont pas équilibrées.
  • Pour créer le code générique afin que le modèle continue de fonctionner même si de nouvelles catégories, catégories de problèmes et priorités sont ajoutées.

Un ensemble de données est d’abord récupéré, après quoi le prétraitement des données (la suppression des données indésirables) a lieu. L’étape suivante consiste à diviser l’ensemble de données en deux ensembles, l’un pour la formation et l’autre pour les tests. Les données sont divisées de sorte que le volume de tickets des 15 derniers jours soit utilisé comme données de test et les tickets restants comme données de formation. Les ensembles de données d’apprentissage et de test sont représentés par les quatre variables x train, y train, x test et y test. Le fractionnement des données est effectué afin de tester les performances du classificateur sur un nouvel ensemble de données qui n’a jamais été utilisé auparavant.

La deuxième étape consiste à créer le pipeline d’apprentissage automatique du modèle de classification. Nous avons entraîné les données d’entraînement avec l’algorithme BERT pour prédire la catégorie, la sous-catégorie, le groupe de problèmes et la priorité. Le modèle sélectionnera les 3 premières classifications de la catégorie, de la sous-catégorie, du groupe de problèmes et de la priorité en fonction du nombre de chaque classification, et les classifications restantes seront regroupées sous le nom « autres ». Une fois le classificateur formé, le même modèle de classification est appliqué à l’ensemble de données de test et les résultats prédits sont notés. Une fois les résultats prédits, nous avons traité les tickets que le modèle BERT avait classés comme appartenant au groupe « autres » en utilisant l’apprentissage zéro coup. Le modèle essaie d’intégrer la phrase et d’identifier tous les noms de classification possibles dans leurs représentations latentes respectives. Le modèle utilise l’ensemble d’apprentissage pour apprendre une projection linéaire afin d’aligner les représentations vectorielles continues d’étiquettes. Cette approche tente de faire correspondre la phrase incorporée lors des tests et prédit la catégorie, la sous-catégorie, le compartiment de problèmes et la priorité appropriés. Par conséquent, en utilisant cette stratégie, nous pourrions classer les billets pour certaines classifications avec un faible nombre avec un bon score de précision.

La dernière étape consiste à spécifier les mesures de performance qui seront utilisées pour évaluer la prédiction de notre modèle de classification. La performance de classification d’un modèle peut être évaluée à l’aide d’un certain nombre d’indicateurs. Un groupe de métriques adaptées à l’objectif actuel doit être déterminé car les données utilisées traitent d’un problème de multi-classification. Dans ce cas, les modèles de classification multi-classes sont évalués à l’aide de la matrice de confusion, de la précision, du rappel et du score f1.

2.3.1. Matrice de confusion

La matrice de confusion est l’une des mesures largement utilisées pour évaluer les modèles de classification. Chaque cellule de la matrice de données c[i, j] représente une occurrence mal affectée au label j alors qu’elle appartient réellement au label i. Chaque ligne de la matrice représente le nombre de tickets classés en fonction des étiquettes réelles, et chaque colonne de la matrice représente le nombre de tickets classés en fonction des prédictions du modèle. Le nombre de billets du nombre de billets correctement classés pour chaque groupe est représenté par les éléments diagonaux, c[i, I]et les éléments hors diagonale représentent les tickets mal classés.

La matrice de confusion illustre plusieurs erreurs de classification. La liste des erreurs courantes commises par les classificateurs est fournie ci-dessous :

2.3.2. Précision

Une mesure de la pertinence des résultats est la précision. Il s’agit du pourcentage de tickets correctement identifiés comme pertinents par rapport à l’ensemble des tickets classés comme pertinents.

Précision = TP / TP + FP

2.3.3. Rappel

Le rappel mesure la proportion de tickets pertinents qui ont été précisément identifiés comme tels. Il peut être calculé à l’aide de la formule ci-dessous.

Rappel = TP / TP + FN

2.3.4. F1 – Note

La moyenne harmonique de la précision et du rappel est connue sous le nom de score f1. Il offre un score d’optimisation équilibré qui tient compte à la fois du rappel et de la précision. Le calcul est le suivant :

F1 – Score = 2*Précision * Rappel / Précision + Rappel

4. Application de déploiement et de conteneurisation

4.1. Docker et AWS ECS

La combinaison de Docker et Amazon ECS permet aux programmeurs de passer rapidement et facilement d’un contexte local à un contexte cloud et d’exécuter des applications à l’aide de fichiers Compose sur Amazon ECS. Cela permet aux développeurs d’utiliser l’interface de ligne de commande Docker Compose pour configurer un contexte AWS dans une seule commande Docker. Après avoir exécuté l’image docker en tant que conteneur une fois l’image docker construite, voici la configuration AWS pour notre application : –

  • Le modèle a été stocké dans un conteneur de stockage AWS S3.
  • La fonction lambda fournit la procédure d’intégration pour le flux de bout en bout, qui vérifie l’authentification.
  • Pour intégrer le flux, le pipeline Jenkins a été développé.
  • Le front et le backend ont été implémentés à l’aide d’instances EC2 avec des processeurs CPU.
  • Les clusters ECS d’AWS sont utilisés pour le déploiement de modèles.
  • Les modèles ont été recyclés à l’aide d’AWS Sagemaker.

5. Conclusion

Cet article décrit un modèle de classification basé sur des algorithmes d’apprentissage automatique supervisé et d’apprentissage en profondeur pour l’attribution automatique des tickets. Le modèle de classification est entraîné à l’aide d’un ensemble de données de tickets préalablement classés. Le temps consacré à la procédure de classement des tickets doit être diminué. Le travail de routine est impliqué dans le tri manuel des tickets, et il faut plusieurs jours pour acheminer des milliers de tickets d’assistance. Notre moteur de classification efficace a réduit le temps nécessaire pour classer chaque ticket de quelques minutes à quelques secondes. Il y a eu de nombreuses expériences sur l’ensemble de données d’entraînement ; cependant, il ressort clairement des résultats que le BERT avec la classification de texte d’apprentissage Zero-Shot fonctionne bien et a un bon score f1 dans tous les groupes. Pour évaluer les performances du modèle sur des tickets réels, il est déployé en production à l’aide d’AWS. Deux semaines de tickets réels sont utilisées pour évaluer le modèle. Les résultats du modèle pour la catégorie, la sous-catégorie, le groupe de problèmes et la priorité ont tous obtenu des scores f1 élevés.




Source link