- 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
Guide du développeur Communications Mining
Modélisation de l'intention hiérarchique profonde non supervisée : obtenir de la valeur sans données d'entraînement
Les entreprises fonctionnent grâce à la communication : les clients nous contactent lorsqu'ils veulent quelque chose, et leurs collègues communiquent pour faire du travail. Chaque message compte. Notre mission au sein de Communications Mining est de mettre en évidence la valeur de ces messages et d'aider chaque équipe d'une entreprise à fournir de meilleurs produits et services de manière efficace et à grande échelle.
Dans cet objectif, nous recherchons et développons en permanence notre technologie d'apprentissage automatique et de compréhension des langages naturels. Les modèles d'apprentissage automatique de Communications Mining utilisent le pré-entraînement, l'apprentissage non supervisé, l'apprentissage semi-supervisé et l'apprentissage actif pour fournir une précision de pointe avec un minimum de temps et d'investissement de la part de nos utilisateurs.
Dans ce post de recherche, nous explorons une nouvelle approche non supervisée pour reconnaître automatiquement les sujets et les intentions, ainsi que leur structure de taxonomie, à partir d'un ensemble de données de communications. Il s'agit d'améliorer la qualité des informations que nous fournissons et la vitesse avec laquelle elles sont obtenues.
Les modèles de rubriques sont une classe de méthodes permettant de découvrir les « rubriques » qui apparaissent dans une collection de « documents ». De manière importante, les modèles de rubrique fonctionnent sans avoir à collecter de données d' entraînement annotées. Elles identifient automatiquement les rubriques d'un ensemble de données et les rubriques qui apparaissent dans chaque document.
Un e-mail fictif d’« échec de transaction » et les types de sujets hiérarchisés que nous aimerions déduire automatiquement
Dans ce post :
- Nous expliquons les modèles de rubriques classiques et examinons certaines de leurs failles, par exemple que le nombre de rubriques doit être connu à l’avance, que les relations entre les rubriques ne sont pas capturées, etc.
- Nous organisons les rubriques en une hiérarchie qui est automatiquement déduite en fonction de la structure rubriques de l'ensemble de données. La hiérarchie regroupe les rubriques liées sémantiquement.
- Nous atteignons une hiérarchie de rubriques plus cohérente en incorporant des intégrations basées sur Transformer dans le modèle.
Les modèles de rubrique supposent qu'un ensemble de données (collection de documents) contient un ensemble de rubriques. Une rubrique spécifie la probabilité pour que chaque mot apparaisse dans un document. Chaque document de l'ensemble de données est généré à partir d'un mélange de rubriques. En règle générale, les ensembles de mots qui apparaissent fréquemment ensemble auront une probabilité élevée dans un sujet donné.
Par exemple, imaginons que nous ayons un ensemble de données composé des documents suivants :
- Document 1: « les chiens sont des descendants domestiqués des loups »
- Document 2: « les chats sont des animaux carnirives avec des moustaches et des moustaches rétractables »
- Document 3: « les grands félins sont connus pour attaquant les chien »
- Document 4: "Après avoir été grattés par les exclusivements pointés des chat, certains chien peuvent devenir horrifiés par les chat"
- Document 5: « les Formats de fichiers
Un modèle de sujet entraîné sur ces documents peut apprendre les sujets et les affectations de sujet de document suivants :
Sujet 1 | Sujet 2 |
---|---|
Canaux | Chats |
Masqué | onglets |
loups | moustaches |
... | ... |
Exemples de sujets avec des mots triés par la probabilité la plus élevée.
Sujet 1 | Sujet 2 | |
---|---|---|
Document1 | 100 % | 0% |
Document 2 | 0% | 100 % |
Document 3 | 50 % | 50 % |
Document 4 | 33% | 67% |
Document 5 | 67% | 33% |
Exemples d'affectations de sujet de document.
L'affichage des mots les plus probables pour chaque sujet, ainsi que des sujets auxquels appartient chaque document, fournit un aperçu du texte d'un ensemble de données et des documents qui sont similaires les uns aux autres.
Le modèle de sujet canonique s’appelle Latent Diichlet Allocation (LDA). Il s'agit d'un modèle génératif, entraîné à l'aide d'une estimation de probabilité (approximative). LDA suppose que :
- Il existe K rubriques, chacune indiquant une distribution sur le dictionnaire (l'ensemble de mots dans l'ensemble de données).
- Chaque document (collection de mots) a une distribution sur les sujets.
- Chaque mot d'un document est généré à partir d'un sujet, en fonction de la distribution du document dans les rubriques et de la distribution du sujet dans le dictionnaire.
La plupart des modèles de rubrique modernes sont basés sur LDA ; au départ, nous nous concentrons sur le modèle de sujet intégré (ETM). L'ETM utilise des intégrations pour représenter à la fois les mots et les sujets. Dans la modélisation de sujet traditionnel, chaque sujet est une distribution complète sur le dictionnaire. Dans l'ETM cependant, chaque rubrique est un vecteur dans l'espace d'intégration. Pour chaque sujet, l'ETM utilise l'intégration de sujet pour former une distribution dans le dictionnaire.
Entraînement et inférence
- Échantillonner la représentation latente z de la distribution antérieure : z∼N(0,I).
- Calculez les proportions de la rubrique Ѹ=softmax(z z).
- Pour chaque mot w dans le document :
- Exemple d'affectation de la rubrique la plus récente
- Exemple : mot
- Exemple d'affectation de la rubrique la plus récente
Un goulot gaussien est utilisé pour la distribution d'inférence, dont la moyenne et la variance sont les sorties d'un réseau neuronal qui prend en entrée la représentation du sacs de mots du document.
Grâce à l'objectif d'entraînement ci-dessus, la distribution d'inférence apprend à se rapprocher de la valeur postérieure réelle mais intractable, c'est-à-dire qu'est-cequevous avezdécrit dans le diagramme (z⁝x )≃ p( z ⁝ x ) . Cela signifie qu'une fois le modèle entraîné, nous pouvons utiliser la distribution d'inférence pour trouver les rubriques auxquelles un document a été affecté. Prendre la moyenne de la distribution d'inférence et appliquer la fonctionsoftmax (conformément à l'étape 2 du processus génératif ci-dessus) fournira les proportions de rubriques postérieures approximatives pour un document donné.
Un exemple concret
Nous formons un ETM sur l'ensemble de données des 20 groupes de discussion , qui contient des commentaires des forums de discussion sur 20 sujets hiérarchisés comme suit :
- Calcul : comp.Graphics, comp.os.ms-windows.misc, comp.sys.ibm.PC.hardware, comp.sys.mac.hardware, comp.windows.x
- Activités récréatives : rec.autos, rec.Engreals, rec.port.baseball, rec.port.hockey
- Recherche pour la science : sci.crypt, sci. assemblys, sci.met, sci.space
- Politiques : présentation.policies.misc, dialogue.politiques. Exécutions, informations.politiques. moyen-east
- Religion : informations.religion.misc, alt.atheism, soc.religion. identifiant
- Divers : misc.forsale
À Communications Mining, nous travaillons exclusivement avec des données de communication, qui sont notoirement privées. À des fins de reproductibilité et parce qu'il s'agit de l'ensemble de données de modélisation du sujet le plus couramment utilisé dans la documentation de recherche en apprentissage automatique, nous utilisons ici l'ensemble de données 20 Newsgroups. Ceci est considéré comme le « Bonjour le monde » de la modélisation des sujets.
Nous formons le modèle avec 20 sujets (c'est-à-dire K = 20) car pour cet ensemble de données, nous savons déjà combien il y a de sujets (mais en général, ce ne sera pas le cas). Nous utilisons Clove pour initialiser la matrice d'intégration U.
Vous trouverez ci-après les 10 principaux mots appris pour chaque sujet, et le nombre de documents qui ont chaque sujet comme étant le plus probable :
Les principaux mots appris correspondent généralement aux vrais sujets de l'ensemble de données, par ex. sujet 2 = conversation.policies. triggers, rubrique 13 = sci.space, Etc. Pour chaque document, nous pouvons également afficher les probabilités d'affectation des rubriques ; quelques exemples sont affichés ci-dessous. Certains documents ont une probabilité élevée pour un seul sujet, tandis que d’autres documents sont des mélanges de plusieurs sujets.
Exemple 1
Cela peut paraître simplicité, mais alors que j’ai localisé des éléments tels que tgif qui peut modifier les fichiers gif et divers outils pour convertir vers/depuis le format gif, je n’ai pas pu trouver un programme qui ouvre simplement une fenêtre et affiche un fichier gif dedans. J'ai parcouru divers fichiers FAQ, également sans résultat. Y en a-t-il un qui se trouve dans une archive ? Rien de compliqué ; simplement « afficher la parfaite image » ? Alternativement, si j’ai pu localiser les spécifications du gif, je suppose que ce serait trop difficile de l’écrire moi-même, mais je n’ai aucune idée où commencer à chercher la spécification. (Eh bien, en fait, j'ai une idée - ce newgroup. ;-) Get, xv, version 3.0. Il lit/affiche/ manipule de nombreux formats différents.
Exemple 2
Le but auquel vous faites référence est Clint Malarchuk. Il jouait à ce moment avec les Sabres. Son équipe juste avant était celle des Windows Caps. Bien qu’il ait récupéré et continue de jouer, je ne sais pas où il se trouve actuellement.
Exemple 3
bonjour dans netWorld, Nous avons un lab d'anciens macs (SE et Plus). Nous n'avons pas assez d'argent pour acheter toutes les nouvelles machines, nous envisageons donc d'acheter quelques Superdrives pour nos anciens macs afin de permettre aux utilisateurs possédant des disques haute densité d'utiliser notre matériel. Je me demande quelles sont les expériences (utiles ou non) des utilisateurs avec ce type de mise à niveau. Cloud
Même sans connaître le jeu de données à l'avance, ces résultats montrent qu'il est possible d'avoir rapidement et facilement un aperçu du jeu de données, d'identifier les sujets auxquels appartient chaque document et de regrouper les documents similaires. Si nous voulons également collecter des données annotées pour entraîner une tâche supervisée, les sorties du modèle de rubrique nous permettent de commencer à annoter à partir d'une perspective plus informée.
Même si les modèles de rubriques tels que décrits dans la section précédente peuvent être très utiles, ils présentent certaines limitations :
- Le nombre de rubriques doit être spécifié à l'avance. En général, nous ne saurons pas quel est le nombre correct.
- Bien qu'il soit possible d'entraîner plusieurs modèles avec un nombre différent de sujets et de choisir le meilleur, cela coûte cher.
- Même si nous connaissons le bon nombre de sujets, les sujets appris peuvent ne pas correspondre aux bons, par ex. la rubrique 16 de la figure 1 n'apparaît pas correspondre à l'une des vraies rubriques de l'ensemble de données 20 Newsgroups.
- Le modèle ne capture pas la relation entre les sujets. Par exemple, dans la figure 1, il existe plusieurs sujets sur le calcul, mais l'idée que ceux-ci sont liés n'est pas apprise par le modèle.
En réalité, le nombre de rubriques est généralement inconnu à l'avance, et les rubriques sont liées d'une manière ou d'une autre. Une méthode pour résoudre ces problèmes consiste à représenter chaque rubrique comme un nœud dans une arborescence. Cela nous permet de modéliser les relations entre les sujets ; les sujets connexes peuvent se trouver dans la même partie de l’arborescence. Cela fournirait des sorties beaucoup plus faciles à interpréter. De plus, si le modèle peut apprendre à partir des données combien de sujets il devrait y avoir et comment ils sont liés les uns aux autres, nous n'avons pas besoin de le savoir à l'avance.
Pour ce faire, nous utilisons un modèle basé sur le Modèle de sujet neuronal à structure arborescente (TSNTM). Le processus génératif fonctionne en choisissant un chemin depuis la racine de l'arborescence vers une feuille, puis en choisissant un nœud le long de ce chemin. Les probabilités par rapport aux chemins de l'arborescence sont modélisées à l'aide d'un processus de rupture de barre, qui est paramétré à l'aide d'un réseau neuronal doublement récurrent.
Processus d’arrêt forcé
Le processus de rupture de barre peut être utilisé pour modéliser les probabilités par rapport aux chemins d'un arbre. Intuitivement, cela implique de casser à plusieurs reprises une clé qui est initialement de longueur 1. La proportion de la barre correspondant à un nœud de l'arborescence représente la probabilité pour ce chemin.
Par exemple, prenez l'arborescence de la figure 2, avec 2 couches et 2 enfants à chaque couche. Au niveau du nœud racine, la longueur de clé est de 1. Il est ensuite divisé en deux parties, de longueurs 0,7 et 0,3 respectivement. Chacune de ces pièces est ensuite divisée jusqu'à ce que nous atteignions les feuilles de l'arbre. Étant donné que nous pouvons continuer à casser le joint, l’arbre peut être arbitrairement large et profond.
Réseaux neuronaux doublement récurrents
Un réseau neuronal doublement récurrent (DRNN) est utilisé pour déterminer les proportions de rupture de barre passante. Après avoir initialisé de manière aléatoire l'état caché du nœud racine, h1, pour chaque rubrique k , l'état caché hk est donné par :
où hpar(k) est l'état masqué du nœud parent, et hk-1 est l'état masqué du nœud frères immédiatement précédent (les frères et sœurs sont classés en fonction de leur index initial).
où j∈{1,…,k->1} sont les frères et sœurs précédents du nœud k. Ce sont les valeurs en vert dans la figure 2. La valeur de chaque nœud feuille est la probabilité de ce chemin (il n’y a qu’un seul chemin vers chaque nœud feuille).
Maintenant que nous avons des probabilités sur les chemins de l'arborescence, nous avons besoin de probabilités sur les nœuds de chaque chemin. Ceux-ci sont calculés à l'aide d'un autre processus de rupture de barre. À chaque niveau de l'arborescence, l'état caché gl est donné par :
Cela signifie que tous les nœuds situés au même niveau de l'arborescence ont la même valeur pour gl.
La proportion de la clé restante affectée au niveau l,nl est donnée par :
La probabilité au niveau l, Log est donnée par :
De manière empirique, nous avons parfois constaté que les mots les plus probables pour les nœuds enfants dans l'arborescence n'étaient pas sémantiquement liés à ceux de leurs parents. Pour résoudre ce problème, dans l’équation 2, nous appliquons une température pour atténuer le sigmoid :
Dans nos expériences, nous définissons px=0.1. Cela rend plus probable que lorsqu'un nœud enfant a une masse de probabilité non nulle, ses parents le seront également (réduit le risque que les nœuds enfants ne soient pas liés à leurs parents).
Entraînement et inférence
L'objectif d'entraînement reste le même que dans l'équation 1 ; le seul changement est la façon dont p(xw=vw|z) est spécifié. Ceci est maintenant fourni par :
Mise à jour de la structure d’arborescence
Jusqu’à présent, la structure d’arborescence a été corrigée. Cependant, nous aimerions que cela soit appris sur la base des données. Spécifier la structure exacte de l’arborescence en tant qu’hyperparamètre est beaucoup plus difficile que de simplement spécifier un nombre de rubriques, comme nous le ferions pour un modèle de rubrique plate. Si nous connaissions au préalable la structure générale de l’arborescence, nous n’aurions probablement pas besoin de modéliser les rubriques. Par conséquent, les applications pratiques des modèles de rubriques structurés en arborescence doivent pouvoir apprendre la structure à partir des données. Pour ce faire, deux règles heuristiques sont utilisées pour ajouter et supprimer des nœuds vers et de l'arborescence. Tout d'abord, la masse de probabilité totale à chaque nœud est estimée à l'aide d'un sous-ensemble aléatoire des données d'apprentissage. Au nœud k, cette estimation est :
où d={1,…,D} indexe le sous-ensemble de documents choisi de manière aléatoire, et Nd est le nombre de mots dans le document d. Sur la base de ces estimations, après toutes les I itérations :
- Si pk est supérieur à un seuil, un enfant est ajouté sous le nœud k afin d'affiner la rubrique.
- Si la somme cumulée est inférieur à un seuil, alors le nœud k et ses descendants sont supprimés.
Résultats sur 20 newgroups
Nous exécutons le TSNTM sur le même ensemble de données de 20 Newsgroups utilisé pour l’entraînement de l’ETM ci-dessus. Nous initialisons l'arborescence pour qu'elle ait 2 couches avec 3 enfants à chaque couche. Vous trouverez ci-dessous la structure d'arborescence finale, les 10 premiers mots appris pour chaque sujet et le nombre de documents qui ont chaque sujet comme leur sujet le plus probable :
Par rapport au modèle de rubrique plate, l'approche structurée en arborescence présente des avantages clairs. L'arborescence est automatiquement apprise à partir des données, avec des sujets similaires regroupés dans différentes parties de l'arborescence. Les rubriques de niveau supérieur se trouvent en haut de l'arborescence (par ex. les mots non informatifs qui apparaissent dans de nombreux documents se trouvent à la racine), et les sujets plus affinés/spécifiques se trouvent à la feuille. Cela donne des résultats qui sont beaucoup plus informatifs et plus faciles à interpréter que la sortie du modèle plate de la figure 1.
Des exemples de documents et les probabilités d'affectation de sujets associées apprises par le TSNTM sont donnés ci-dessous :
Exemple 1
Nous venons de recevoir un AppleOne Color Scanner pour notre labellisation. Cependant, j’ai du mal à obtenir une sortie numérisée raisonnable lors de l’impression d’une photo numérisée sur un LabelWriter IIg. J'ai essayé de numériser à une résolution plus élevée et l'affichage à l'écran est très agréable. Cependant, la version imprimée est plate-forme. Cela est-il dû aux capacités de résolution de l'appareil ? Ou y a-t-il des astuces pour obtenir une meilleure qualité ? Ou devrions-nous obtenir quelque chose (comme Photo Shop) pour « publiqueriser » l’image ? J'accueille toutes vos suggestions. Merci d'avance, -Kris
Exemple 2
C'est fini - les Sabers sont revenus sur les Bruins en OT 6-5 ce jour pour effacer la série. Un super but de Attaché au lancer de AD (Lafoltain l’a configuré en s’installant sur la glisse). Fuhr a quitté le jeu avec une étiquette invalide et La SQLontin a également été coché ; cependant, les Sabers obtiendront une semaine de repos, donc les conséquences ne devraient pas être problématiques. Montréal a bordé le Cap-Vert (QueueItems) 3-2 pour exécution au carré, ce qui semble se diriger vers le Match 7. Les Trinulaires ont dominé les deux premières périodes et n’ont pas eu de chance de n’avoir qu’un nul 2-2 après 40 minutes. Cependant, un objectif tôt par Brunet dans le 3e a gagné. Les insulaires ont remporté leur 3e jeu OT de la série sur un but par Ray modifications 4-3 ; les Caps se sont simplement effondrés après avoir pris une avance de 3-0 dans le 2e. Le disque de tous les temps des Jeux d' machines Learning est maintenant de 28-7.
Exemple 3
Dites-moi où je peux obtenir un CD sur le label Wergo Classic pour moins de 20 $.
Les documents qui relèvent clairement d'un sujet spécifique (par exemple le premier) ont une probabilité élevée au niveau du nœud feuille tandis que ceux qui ne relèvent clairement d'aucun des sujets appris (par exemple le troisième) ont une probabilité élevée au nœud racine .
Évaluation relative
Les modèles sujets sont notoirement difficiles à évaluer numériquement. Néanmoins, la mesure la plus populaire pour mesurer la cohérence des sujets est l' information mutuelle normalisée (Normalized Point Bastential Information, NPMI). En prenant les premiers mots M pour chaque sujet, le NPMI sera élevé si chaque paire de mots wi et wj a une probabilité conjointe élevée P(wi,wj) par rapport à leurs probabilités marges P(wi) et P(wj) :
Les probabilités sont estimées à l'aide de nombres factices.
NPMI | |
---|---|
ETM | 0.193 |
TSNTM | 0.227 |
Ces résultats prennent en charge les résultats qualitatifs selon lesquels le TSNTM est un modèle plus cohérent que l’ETM.
Bien que le TSNTM produise des résultats intuitifs et faciles à interpréter, le modèle appris présente toujours des limitations. Par exemple, dans la figure 3, les sujets relatifs à la politique et à l'espace ont été regroupés sous le même nœud parent. Cela n'est peut-être pas déraisonnable, mais leur nœud parent est lié à la réligion, ce qui n'est sans doute pas cohérent. Un autre exemple plus discret est que le Sujet 1.3 regroupe des sujets informatiques liés à la fois au matériel et aux logiciels. peut-être que ceux-ci devraient être séparés.
Nous supposons que ces problèmes sont dus au fait que les modèles entraînés jusqu’à présent sont basés sur des intégrations Cloud (non contextuelles). Il peut alors être difficile de désambiguïser les mots qui ont des significations différentes dans différents contextes. Au cours des dernières années, les modèles basés sur Transformer ont atteint des performances de pointe pour l'apprentissage de représentations informatives et contextuelles du texte. Nous cherchons à incorporer les intégrations de Transformer dans le TSNTM.
all-mpnet-base-v2
de Sentence-BERT (SBERT), car elle permet d'obtenir des scores systématiquement élevés sur un certain nombre de tâches au niveau de la phrase.
Nous formons un modèle qui est sinon identique au TSNTM de la section précédente, sauf que les intégrations SBERT sont ajoutées au modèle d’inférence. Vous trouverez à nouveau les 10 premiers mots appris pour chaque sujet et le nombre de documents qui ont chaque sujet comme leur sujet le plus probable :
Le TSNTM avec les intégrations SBERT semble résoudre certains des problèmes d’incohérence du modèleGlobe uniquement. Les sujets de politique et de chiffrement sont désormais regroupés sous le même sujet parent. Mais contrairement au modèle Excel uniquement, ce parent est désormais un sujet plus générique dont les principaux mots sont liés aux personnes qui expriment des idées. Les rubriques relatives au matériel informatique et aux logiciels sont maintenant divisées, et l’espace est dans sa propre partie de l’arborescence. Le NPMI suggère également que le modèle avec les intégrations SBERT est plus cohérent :
NPMI | |
---|---|
ETM | 0.193 |
TSNTM (GloVe uniquement) | 0.227 |
TSNTM (GloVe + SBERT) | 0.234 |
Nous avons illustré que les modèles de rubrique peuvent être un excellent moyen d'obtenir une compréhension de haut niveau d'un ensemble de données sans avoir à effectuer d'annotation.
- Les modèles de rubrique « plat » sont les plus couramment utilisés, mais présentent des vulnérabilités (par ex. sortie pas plus facile à interpréter, nécessitant de connaître le nombre de rubriques à l'avance).
- Ces failles peuvent être résolues à l'aide d'un modèle arborescent qui regroupe les rubriques connexes et apprend automatiquement la structure de la rubrique à partir des données.
- Les résultats de la modélisation peuvent être encore améliorés en utilisant les intégrations de transformation.
Si vous souhaitez essayer Communications Mining dans votre entreprise, inscrivez-vous pour un essai ou regardez une démo.