- Documents d’API
- CLI
- Guides d'intégration
- Intégration avec l'utilisateur du service Azure
- Intégration avec l'authentification d'application Azure
- Automatisation en temps réel
- Récupérer des données pour Tableau avec Python
- Intégration d'Elasticsearch
- Intégration EWS auto-hébergée
- Infrastructure d'automatisation UiPath
- Activités UiPath Marketplace
- Activités officielles UiPath
- Blog
- Comment les machines apprennent à comprendre les mots : guide d'intégration dans NLP
- Apprentissage basé sur des invites avec des Transformers
- Efficient Transformers II : Dilarisation des connaissances et affinement
- Transformateurs efficaces I : mécanismes d'attention
- Modélisation de l'intention hiérarchique profonde non supervisée : obtenir de la valeur sans données d'entraînement
- Correction du biais d'annotation avec Communications Mining
- Apprentissage actif : de meilleurs modèles d'ML en moins de temps
- Tout est dans les chiffres : évaluer les performances du modèle avec des métriques
- Pourquoi la validation du modèle est importante
- Comparaison de Communications Mining et de Google AutoML pour l'intelligence des données conversationnelles
Correction du biais d'annotation avec Communications Mining
Communications Mining utilise des modèles d'apprentissage automatique pour identifier les modèles dans les données de communication comme les e-mails, les chat et les appels. Les modèles extrapolent ces modèles pour faire des prédictions pour des données similaires à l'avenir, entraînant des processus en aval comme les automatisations et les analyses.
Pour que cette approche fonctionne, les données utilisées pour entraîner un modèle doivent être représentatives des communications sur lesquelles il fera des prédictions. Lorsque ce n'est pas le cas, les modèles font des erreurs qui peuvent avoir réellement un impact sur les performances des systèmes qui reposent sur des prédictions précises.
Pour aider les utilisateurs à créer des modèles robustes et performants, nous avons créé un outil permettant de garantir que les données utilisées pour l'entraînement correspondent toujours à la tâche cible de l'utilisateur. Dans cet article de blog, nous examinons le fonctionnement de cet outil et certains des problèmes que nous avons résolus lors de son développement.
Qu’est-ce que le biais d’annotation ?
Les modèles de Communications Mining sont entraînés sur des données examinées par les utilisateurs. Les utilisateurs créent des libellés pour les sujets qui les intéressent, puis annotent les exemples avec des libellés qui s'appliquent. Un modèle est ensuite automatiquement entraîné sur ces données examinées pour prédire quels libellés s'appliqueront.
L'annotation des données est difficile et longue. Communications Mining s'appuie sur l'apprentissage actif pour accélérer le processus, aidant les utilisateurs à annoter les points de données les plus informatifs dans les plus brefs délais.
Étant donné que l'apprentissage actif sélectionne des points de données spécifiques, il a tendance à se concentrer uniquement sur un sous-ensemble des données sous-jacentes. De plus, passer d’un concept à l’autre s’accompagne d’une charge de frais cognitifs. Les utilisateurs sont encouragés à annoter des groupes d'exemples de sujets similaires en même temps, plutôt que de changer constamment de thème.
Par conséquent, certains sujets apparaissent plus ou moins fréquemment dans les données révisées que dans l'ensemble de données dans son ensemble. Nous appelons cela le biais d'annotation, car les données annotées par les utilisateurs ne représentent plus les données sous-jacentes.
Pourquoi vous en soucier ?
Communications Mining utilise des données examinées lors de la validation pour évaluer les performances du modèle. Si ces données sont biaisées en fonction de certains sujets, les résultats de la validation peuvent être trompeurs.
Prenons une boîte aux lettres partagée pour une banque multi-entité qui contient des e-mails de toute la région EMEA. Les modèles multilingues de Communications Mining peuvent comprendre les données de communication dans plusieurs langues. Cependant, si un utilisateur ne labellisait que les e-mails d'une seule langue, le modèle peut apprendre à se concentrer sur les fonctionnalités spécifiques à cette langue.
Dans ce cas, les scores de validation seraient bons pour ce modèle, car il fonctionne bien sur tous les exemples annotés. D’autre part, les performances des e-mails dans d’autres langues peuvent être inférieures. L’utilisateur ne serait pas au courant, car il n’y a pas d’exemple pour le mettre en évidence dans les données examinées. Cela pourrait entraîner des inefficacités dans tous les processus qui reposent sur le modèle pour des prédictions précises.
Les mathématiques derrière le biais de labellisation
Chacun de ces composants est estimé à partir de certains ou de tous les ensembles de données pendant l'entraînement.
- P(DocumentusLabel) Modélise la plage de documents pour un sujet donné. Le modèle apprend à l'estimer à partir des données annotées, en extrapolant à l'aide de ses connaissances de la langue et du monde.
- P(Document) Modélise les différents types de documents de l'ensemble de données et leurs fréquences relatives. Ceci est indépendant des étiquettes et peut être estimé à partir de tous les exemples (révisés et non révisés).
- P(Label) Modélise la fréquence de différents sujets. Cela ne peut être estimé qu'à partir des données annotées, car il est spécifique à chaque cas d'utilisation.
Les trois parties sont nécessaires pour trouver P(LabelassignDocument). Cependant, P(Label) et P(DocumentmarLabel) dépendent fortement des données annotées. Lorsque le biais d'annotation est présent, ces estimations peuvent ne pas correspondre aux distributions réelles, ce qui entraîne des inexactitudes dans P(Label∔Document).
Étant donné le rôle essentiel que jouent les données révisées dans l'entraînement et la validation des modèles, nous devons détecter les biais d'annotation et avertir les utilisateurs lorsque leurs données ne sont pas représentatives.
Au niveau le plus simple, le biais d'annotation correspond à une différence entre les exemples qui ont été examinés par les utilisateurs et ceux qui ne l'ont pas été. Imaginez qu’une personne soit invitée à vérifier le biais d’annotation dans un ensemble de données. Cette personne peut examiner les thèmes communs qui apparaissent dans les données révisées, puis vérifier la fréquence à laquelle ils apparaissent dans les données non révisées.
Si la personne trouve une règle fiable pour différencier ces deux groupes, nous pouvons être sûrs qu'il existe un équilibre. D'autre part, dans un ensemble de données sans biais d'annotation, une personne ne serait pas en mesure de prédire avec précision si les exemples sont examinés ou non. Les performances prédictives de cette personne mesurent la quantité de biais d'annotation présents dans l'ensemble de données.
Nous avons utilisé cette idée comme point de départ de notre modèle de biais d’annotation.
La tâche de comparaison peut être automatisée avec un modèle d'apprentissage automatique. Ce modèle est différent du modèle de base de Communications Mining, qui prévoit quels libellés ou champs généraux s'appliquent à un document. Au lieu de cela, le modèle est entraîné pour identifier les points de données révisés.
Les scores de validation du modèle montrent avec quelle facilité le modèle peut faire la distinction entre les exemples révisés et non révisés, et donc à quel point le biais d’annotation est présent dans l’ensemble de données.
Classification des exemples examinés
Un modèle de classifieur simple entraîné sur l'ensemble de données synthétique a une précision moyenne supérieure à 80 %. Si l'ensemble de données n'était pas biaisé, nous nous attendrions à ce que le modèle fonctionne mieux que le hasard aléatoire, ce qui correspond au biais que nous pouvons voir dans les données examinées.
Des modèles de classifieurs natifs similaires entraînés sur des ensembles de données réels pourraient également détecter de manière fiable les exemples examinés. Cela suggère qu'un biais d'annotation était présent dans ces ensembles de données, mais que la source exacte était inconnue.
Pour l'ensemble de données synthétique, il est facile de voir l'effet du biais d'annotation dans les données tracées. Ce n'est pas le cas pour un ensemble de données réel, où les données se trouvent dans plus de 2 dimensions et les modèles sont souvent beaucoup plus complexes.
Au lieu de cela, nous pouvons rechercher des modèles dans des exemples dont le modèle est sûr qu'ils n'ont pas été révisés. Cette approche a mis en évidence que les e-mails prédits avec confiance comme étant non révisés contenaient souvent des pièces jointes sans texte. Lorsque ces e-mails étaient présents dans les données, ils étaient généralement sous-représentés dans les exemples examinés.
Cela constitue un biais d'annotation clair et montre la promesse d'un modèle de classifieur.
Le modèle de biais d'annotation est entraîné pour faire la distinction entre les données révisées et non révisées. Dans ce paramètre, le modèle essaie de capturer l'utilisateur en identifiant des modèles dans leurs données annotées. Cette approche accusatoire est un moyen efficace pour inspecter les données révisées, mais pose également deux problèmes intéressants.
Différences triviales
Les différences dans les données examinées et non examinées captées par le modèle devraient avoir un sens pour les utilisateurs. Cependant, lorsque nous avons fourni au modèle de biais natif des entrées détaillées, nous avons trouvé que le modèle se concentre parfois sur des modèles insignifiants.
.jpg
des fichiers avec GOCR
dans le nom étaient prédits en toute confiance comme n’ayant pas été examinés. Il n’y avait pas d’exemples de ce type dans l’ensemble examiné, mais 160 dans l’ensemble non examiné, ce qui représente un petit biais d’annotation.
GOCR
dans les noms de fichiers, et ces exemples n'étaient qu'un sous-ensemble d'e-mails contenant uniquement des pièces jointes dans l'ensemble de données. En fait, tous ces e-mails avaient des prédictions correctes et fiables pour le libellé Auto-Generated
de l'ensemble de données, ce qui signifie que ces fonctionnalités n'avaient également aucune importance pour le modèle d'annotation de Communications Mining. Cependant, le modèle de biais utilisait ces fonctionnalités pour faire des prédictions.
Les utilisateurs ne devraient pas avoir à étiqueter toutes les combinaisons de fonctionnalités sans signification pour obtenir un bon score de biais d’annotation. Pour presque tous les concepts, nous n'avons pas besoin de milliers d'exemples pour capturer entièrement la plage de points de données possibles. Au lieu de cela, le modèle de biais d'annotation ne doit se concentrer que sur les différences qui ont réellement un impact sur les prédictions d'annotation.
Sujets sans importance
Les jeux de données peuvent contenir des points de données qui ne sont jamais annotés par les utilisateurs, car ils ne sont pas pertinents pour leur tâche cible.
En reprenant notre exemple de banque multinative, les équipes ont pu utiliser Communications Mining pour générer des cas d'utilisation spécifiques à chaque pays. Chaque équipe créait un modèle personnalisé en fonction de sa tâche cible, tous les modèles utilisant les e-mails de la boîte aux lettres partagée.
Ces cas d'utilisation sont susceptibles de différer d'une équipe à l'autre. Les pays communautaires souhaiteront peut-être suivre l'effet du Trust dans leurs opérations et créeront un ensemble de libellés à cet effet. D'autre part, les équipes du Moyen-Orient et d' Afrique n'ont peut-être aucun usage des e-mails liés au retrait de l'Orchestrator et les ignoreraient dans leur modèle.
Ne pas annoter les e-mails liés au Trust est un exemple de biais d'annotation. Cependant, il s'agit d'un biais sans importance pour les utilisateurs du Moyen-Orient et en Afrique. Le modèle de biais doit en tenir compte et ne rechercher que le biais d'annotation dans les e-mails que l'équipe juge utiles.
Nous devons rendre plus difficile le labellisation afin de se concentrer sur les petites fonctionnalités, mais guidez-le par ce que l'utilisateur définit comme utile. Pour ce faire, nous pouvons modifier les entrées que nous passons à notre modèle de biais d'annotation.
Saisie de modèle
Les entrées de notre modèle d'annotation de base contiennent une grande quantité d'informations provenant du texte d'entrée. Cela permet au modèle d'apprendre des relations complexes qui influencent les prédictions des libellés. Cependant, pour le modèle de biais d'annotation, cela permet également au modèle de se concentrer sur de petites différences non significatives dans les fonctionnalités telles que les noms de fichiers.
La réduction de la dimensionnalité est un moyen de filtrer les informations tout en conservant les propriétés significatives des entrées d'origine. L'utilisation d'entrées réduites empêche le modèle de biais de se concentrer sur les petites fonctionnalités tout en conservant les informations importantes dans un ensemble de données.
Les utilisateurs ne créent des libellés que pour les sujets qu'ils souhaitent suivre. Par conséquent, l'ajout de libellés lors de la réduction de dimensionnalité signifie que nous conservons les fonctionnalités d'entrée les plus importantes. Avec cette approche, notre modèle de biais d'annotation ne se concentre plus sur les petites fonctionnalités et prend en compte les libellés lors de l'estimation du biais.
Nous utilisons notre modèle de biais d'annotation pour deux tâches principales dans Communications Mining.
Score d'équilibrage
La détection et la résolution des biais d'annotation sont essentielles pour obtenir des scores de validation de modèle fiables. Pour cette raison, nous affichons les performances du modèle de biais d'annotation dans la notation du modèle.
Cela prend la forme d'une mesure de similarité entre les données examinées et non examinées. Un score de similarité faible indique une grande différence entre les données examinées et non examinées, mettant en évidence le biais d'annotation dans l'ensemble de données.
Rééquilibrer
La meilleure façon de créer un ensemble non biaisé de données révisées est d'annotation une sélection aléatoire d'exemples. De cette façon, les libellés révisés correspondront toujours à la distribution sous-jacente. Cependant, cette annotation est inefficace, en particulier pour les concepts rares.
Au lieu de cela, Communications Mining utilise l'apprentissage actif pour accélérer le processus d'annotation en ciblant les exemples les plus utiles. Ces exemples ciblés ne correspondent pas toujours à la distribution des données sous-jacente, ce qui signifie que des biais d'annotation peuvent se développer progressivement au fil du temps.
Il n'est pas garanti que l'apprentissage actif produise un ensemble non biaisé d'exemples révisés. Cependant, lorsqu'un biais d'annotation est détecté, nous pouvons utiliser le modèle de biais d'annotation pour corriger tout décalage. De cette façon, nous bénéficions du temps d'entraînement réduit de l'apprentissage actif et du faible biais d'annotation de l'échantillon aléatoire.
Rebalance
, qui montre que les points de données que le modèle de biais est sûr ne sont pas révisés, et donc sous-représentés dans l'ensemble de données. L'annotation de ces exemples fournit un moyen rapide de résoudre le biais d'annotation dans un ensemble de données.
Pour montrer comment le rééquilibrage améliore les performances de Communications Mining, nous avons simulé des utilisateurs annotant des exemples selon trois stratégies d'apprentissage actif.
- Aléatoire. Annotez une sélection aléatoire des exemples non révisés.
- Standard. Annotez les exemples dont Communications Mining est le plus incertain ou ceux qui présentent l'entropie de prédiction la plus élevée. Il s'agit d'une approche courante de l'apprentissage actif, équivalente à l'utilisation uniquement de la vue
Teach
dans Communications Mining. - Communications Mining Suivez la stratégie d'apprentissage actif de Communications Mining, qui suggère les principales actions de formation pour améliorer le modèle actuel. Cela inclut la vue
Rebalance
.
Nous avons exécuté ces simulations sur l'ensemble de données Report en open source fourni par NLDK, qui contient des articles de presse balisés avec un ou plusieurs de 90 libellés. Pour chaque exécution, le même ensemble initial de 100 exemples sélectionné au hasard a été utilisé. Pour chaque étape de simulation, nous modélisons les utilisateurs en annotant 50 exemples sélectionnés par la stratégie d'apprentissage actif. Communications Mining se réentraîne ensuite, et le processus est répété.
Le graphique ci-dessous montre les performances du modèle d'annotation de Communications Mining sur la tâche GMT à mesure que d'autres exemples sont annotés. Le score d'équilibrage est également affiché, représentant le niveau de biais d'annotation présent dans l'ensemble de données.
La stratégie d'apprentissage actif de Communications Mining produit des scores d'équilibrage similaires à l'échantillon aléatoire, mais nécessite moins d'exemples pour produire les mêmes performances de modèle. Cela signifie que l'apprentissage actif avec Rebalancer donne le meilleur de l'apprentissage actif standard et de l'échantillon aléatoire : des exemples examinés non biaisés et de bonnes performances de modèle en moins de temps.
- Pour obtenir des scores de validation de modèle précis, les données annotées doivent être représentatives de l’ensemble de données dans son ensemble.
- Le modèle de biais d'annotation de Communications Mining compare les données examinées et non examinées pour identifier les sujets sous-représentés dans l'ensemble de données.
- La vue
Rebalance
peut être utilisée pour résoudre rapidement les biais d'annotation dans un ensemble de données. - L'apprentissage actif de Communications Mining entraîne moins de biais d'annotation que les approches standard, et fonctionne mieux que l'échantillon aléatoire seul.