Fondamentaux de lâIA
Comment fonctionne la classification de texte ?
La classification de texte est le processus dâanalyse de sÃĐquences de texte et dâattribution dâune ÃĐtiquette, en les plaçant dans un groupe en fonction de leur contenu. La classification de texte sous-tend presque toutes les tÃĒches dâintelligence artificielle ou dâapprentissage automatique impliquant le traitement automatique du langage naturel (NLP). Avec la classification de texte, un programme informatique peut effectuer une grande variÃĐtÃĐ de tÃĒches diffÃĐrentes comme la reconnaissance de spam, lâanalyse de sentiments et les fonctions de chatbot. Comment la classification de texte fonctionne-t-elle exactement ? Quelles sont les diffÃĐrentes mÃĐthodes de classification de texte ? Nous allons explorer les rÃĐponses à ces questions ci-dessous.
DÃĐfinition de la classification de texte
Il est important de prendre le temps de sâassurer que nous comprenons ce que signifie la classification de texte en gÃĐnÃĐral, avant de plonger dans les diffÃĐrentes mÃĐthodes de classification de texte. La classification de texte est lâun de ces termes qui sâapplique à de nombreuses tÃĒches et algorithmes, il est donc utile de nous assurer que nous comprenons le concept de base de la classification de texte avant de passer à lâexploration des diffÃĐrentes maniÃĻres dont elle peut Être effectuÃĐe.
Tout ce qui implique la crÃĐation de catÃĐgories diffÃĐrentes pour le texte, puis lâÃĐtiquetage dâÃĐchantillons de texte comme ces catÃĐgories, peut Être considÃĐrÃĐ comme une classification de texte. Tant que le systÃĻme effectue ces ÃĐtapes de base, il peut Être considÃĐrÃĐ comme un classificateur de texte, indÃĐpendamment de la mÃĐthode exacte utilisÃĐe pour classer le texte et indÃĐpendamment de la façon dont le classificateur de texte est finalement appliquÃĐ. La dÃĐtection de spam dans les e-mails, lâorganisation de documents par sujet ou titre, et la reconnaissance du sentiment dâune critique de produit sont tous des exemples de classification de texte car ils sont accomplis en prenant le texte comme entrÃĐe et en produisant une ÃĐtiquette de classe pour ce morceau de texte.
Comment fonctionne la classification de texte ?

Photo: Quinn Dombrowski via Flickr, CC BY SA 2.0 , (https://www.flickr.com/photos/quinnanya/4714794045)
La plupart des mÃĐthodes de classification de texte peuvent Être classÃĐes en trois catÃĐgories diffÃĐrentes : les mÃĐthodes basÃĐes sur des rÃĻgles ou les mÃĐthodes basÃĐes sur lâapprentissage automatique.
MÃĐthodes de classification basÃĐes sur des rÃĻgles
Les mÃĐthodes de classification de texte basÃĐes sur des rÃĻgles fonctionnent en utilisant des rÃĻgles linguistiques explicitement conçues. Le systÃĻme utilise les rÃĻgles crÃĐÃĐes par lâingÃĐnieur pour dÃĐterminer à quelle classe un morceau de texte donnÃĐ devrait appartenir, en recherchant des indices sous la forme dâÃĐlÃĐments de texte sÃĐmantiquement pertinents. Chaque rÃĻgle a un motif que le texte doit correspondre pour Être placÃĐ dans la catÃĐgorie correspondante.
Pour Être plus concret, disons que vous vouliez concevoir un classificateur de texte capable de distinguer les sujets de conversation courants, comme la mÃĐtÃĐo, les films ou la nourriture. Pour permettre à votre classificateur de texte de reconnaÃŪtre les discussions sur la mÃĐtÃĐo, vous lui diriez de rechercher des mots liÃĐs à la mÃĐtÃĐo dans le corps du texte. Vous auriez une liste de mots clÃĐs, de phrases et dâautres modÃĻles pertinents qui pourraient Être utilisÃĐs pour distinguer le sujet. Par exemple, vous pourriez lui dire de rechercher des mots comme ÂŦ vent Âŧ, ÂŦ pluie Âŧ, ÂŦ soleil Âŧ, ÂŦ neige Âŧ ou ÂŦ nuage Âŧ. Vous pourriez alors faire en sorte que le classificateur examine le texte dâentrÃĐe et compte le nombre de fois que ces mots apparaissent dans le corps du texte et si ils apparaissent plus frÃĐquemment que les mots liÃĐs aux films, vous classeriez le texte comme appartenant à la catÃĐgorie mÃĐtÃĐo.
Lâavantage des systÃĻmes basÃĐs sur des rÃĻgles est que leurs entrÃĐes et sorties sont prÃĐvisibles et interprÃĐtables par les humains, et ils peuvent Être amÃĐliorÃĐs par intervention manuelle de lâingÃĐnieur. Cependant, les mÃĐthodes de classification basÃĐes sur des rÃĻgles sont ÃĐgalement quelque peu fragiles et ont souvent du mal à gÃĐnÃĐraliser car elles ne peuvent suivre que les modÃĻles prÃĐdÃĐfinis qui ont ÃĐtÃĐ programmÃĐs. Par exemple, le mot ÂŦ nuage Âŧ pourrait faire rÃĐfÃĐrence à lâhumiditÃĐ dans le ciel ou à un nuage numÃĐrique oÃđ les donnÃĐes sont stockÃĐes. Il est difficile pour les systÃĻmes basÃĐs sur des rÃĻgles de gÃĐrer ces nuances sans que les ingÃĐnieurs passent beaucoup de temps à essayer de les anticiper et de les ajuster manuellement.
SystÃĻmes dâapprentissage automatique
Comme mentionnÃĐ ci-dessus, les systÃĻmes basÃĐs sur des rÃĻgles ont des limites, car leurs fonctions et rÃĻgles doivent Être prÃĐdÃĐfinies. En revanche, les systÃĻmes de classification basÃĐs sur lâapprentissage automatique fonctionnent en appliquant des algorithmes qui analysent les ensembles de donnÃĐes pour les modÃĻles associÃĐs à une classe particuliÃĻre.
Les algorithmes dâapprentissage automatique sont alimentÃĐs par des instances prÃĐdÃĐfinies/prÃĐclassifiÃĐes qui sont analysÃĐes pour les fonctionnalitÃĐs pertinentes. Ces instances prÃĐdÃĐfinies sont les donnÃĐes dâentraÃŪnement.
Le classificateur dâapprentissage automatique analyse les donnÃĐes dâentraÃŪnement et apprend les modÃĻles associÃĐs aux diffÃĐrentes classes. AprÃĻs cela, des instances non vues sont privÃĐes de leurs ÃĐtiquettes et alimentÃĐes dans lâalgorithme de classification qui attribue les instances une ÃĐtiquette. Les ÃĐtiquettes attribuÃĐes sont ensuite comparÃĐes aux ÃĐtiquettes dâorigine pour voir à quel point le classificateur dâapprentissage automatique ÃĐtait prÃĐcis, ÃĐvaluant à quel point le modÃĻle a bien appris les modÃĻles qui prÃĐdissent les classes.
Les algorithmes dâapprentissage automatique fonctionnent en analysant les donnÃĐes numÃĐriques. Cela signifie que pour utiliser un algorithme dâapprentissage automatique sur des donnÃĐes de texte, le texte doit Être converti en un format numÃĐrique. Il existe diffÃĐrentes mÃĐthodes pour encoder les donnÃĐes de texte en donnÃĐes numÃĐriques et crÃĐer des mÃĐthodes dâapprentissage automatique autour de ces donnÃĐes. Nous allons couvrir certaines des diffÃĐrentes maniÃĻres de reprÃĐsenter les donnÃĐes de texte ci-dessous.
Sac de mots
Sac de mots est lâune des approches les plus couramment utilisÃĐes pour encoder et reprÃĐsenter les donnÃĐes de texte. Le terme ÂŦ sac de mots Âŧ vient du fait que vous prenez tous les mots des documents et les mettez tous dans un ÂŦ sac Âŧ sans prÊter attention à lâordre des mots ou à la grammaire, en prÊtant attention uniquement à la frÃĐquence des mots dans le sac. Cela donne lieu à un long tableau, ou vecteur, contenant une reprÃĐsentation unique de tous les mots des documents dâentrÃĐe. Donc, si il y a 10 000 mots uniques au total dans les documents dâentrÃĐe, les vecteurs de fonctionnalitÃĐs seront de 10 000 mots de long. Câest ainsi que la taille du sac de mots/vecteur de fonctionnalitÃĐs est calculÃĐe.

Photo: gk_ via Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)
Une fois que la taille du vecteur de fonctionnalitÃĐs a ÃĐtÃĐ dÃĐterminÃĐe, chaque document de la liste des documents totaux reçoit son propre vecteur rempli de nombres qui indiquent combien de fois le mot en question apparaÃŪt dans le document actuel. Cela signifie que si le mot ÂŦ nourriture Âŧ apparaÃŪt huit fois dans un document de texte, le vecteur de fonctionnalitÃĐs/vecteur de fonctionnalitÃĐs correspondant aura un huit à la position correspondante.
Pour le dire autrement, tous les mots uniques qui apparaissent dans les documents dâentrÃĐe sont tous empilÃĐs dans un sac et puis chaque document reçoit un vecteur de mots de la mÊme taille, qui est ensuite rempli avec le nombre de fois que les diffÃĐrents mots apparaissent dans le document.
Les ensembles de donnÃĐes de texte contiennent souvent un grand nombre de mots uniques, mais la plupart dâentre eux ne sont pas utilisÃĐs trÃĻs frÃĐquemment. Pour cette raison, le nombre de mots utilisÃĐs pour crÃĐer le vecteur de mots est gÃĐnÃĐralement limitÃĐ Ã une valeur choisie (N) et le vecteur de fonctionnalitÃĐs aura une dimension Nx1.
FrÃĐquence du terme â FrÃĐquence inverse du document (TF-IDF)
Une autre façon de reprÃĐsenter un document en fonction des mots quâil contient est appelÃĐe FrÃĐquence du terme â FrÃĐquence inverse du document (TF-IDF). Une approche TF-IDF crÃĐe ÃĐgalement un vecteur qui reprÃĐsente le document en fonction des mots quâil contient, mais contrairement au sac de mots, ces mots sont pondÃĐrÃĐs par plus que leur frÃĐquence. TF-IDF prend en compte lâimportance des mots dans les documents, en essayant de quantifier à quel point ce mot est pertinent par rapport au sujet du document. En dâautres termes, TF-IDF analyse la pertinence au lieu de la frÃĐquence et les comptes de mots dans un vecteur de fonctionnalitÃĐs sont remplacÃĐs par un score TF-IDF qui est calculÃĐ en fonction de lâensemble de donnÃĐes dans son ensemble.
Une approche TF-IDF fonctionne en calculant dâabord la frÃĐquence du terme, le nombre de fois que les termes uniques apparaissent dans un document spÃĐcifique. Cependant, TF-IDF prend ÃĐgalement soin de limiter lâinfluence que les mots trÃĻs courants comme ÂŦ le Âŧ, ÂŦ ou Âŧ, et ÂŦ et Âŧ, car ces ÂŦ mots dâarrÊt Âŧ sont trÃĻs courants mais ne transmettent presque aucune information sur le contenu du document. Ces mots doivent Être dÃĐclassÃĐs, ce qui est ce que la partie ÂŦ frÃĐquence inverse du document Âŧ de TF-IDF se rÃĐfÃĻre. Cela est fait car plus un mot spÃĐcifique apparaÃŪt dans les documents, moins il est utile pour le distinguer des autres documents de la liste de tous les documents. La formule que TF-IDF utilise pour calculer lâimportance dâun mot est conçue pour prÃĐserver les mots qui sont les plus frÃĐquents et les plus sÃĐmantiquement riches.
Les vecteurs de fonctionnalitÃĐs crÃĐÃĐs par lâapproche TF-IDF contiennent des valeurs normalisÃĐes qui totalisent un, en attribuant à chaque mot une valeur pondÃĐrÃĐe calculÃĐe par la formule TF-IDF.
Plongement de mots
Plongement de mots sont des mÃĐthodes de reprÃĐsentation de texte qui garantissent que les mots ayant des significations similaires ont des reprÃĐsentations numÃĐriques similaires.
Les plongements de mots fonctionnent en ÂŦ vectorisant Âŧ les mots, ce qui signifie quâils reprÃĐsentent les mots comme des vecteurs à valeurs rÃĐelles dans un espace vectoriel. Les vecteurs existent dans une grille ou une matrice, et ils ont une direction et une longueur (ou magnitude). Lorsque les mots sont reprÃĐsentÃĐs comme des vecteurs, les mots sont convertis en vecteurs composÃĐs de valeurs rÃĐelles. Chaque mot est mappÃĐ Ã un vecteur, et les mots qui sont similaires dans leur signification ont des directions et des grandeurs similaires. Ce type de codage permet à un algorithme dâapprentissage automatique dâapprendre des relations complexes entre les mots.
Les plongements qui reprÃĐsentent diffÃĐrents mots sont crÃĐÃĐs en fonction de la façon dont les mots en question sont utilisÃĐs. Puisque les mots qui sont utilisÃĐs de la mÊme maniÃĻre auront des vecteurs similaires, le processus de crÃĐation de plongements de mots traduit automatiquement une partie de la signification que les mots ont. Une approche de sac de mots crÃĐe des reprÃĐsentations fragiles oÃđ les mots diffÃĐrents auront des reprÃĐsentations dissemblables mÊme sâils sont utilisÃĐs dans des contextes trÃĻs similaires.
Par consÃĐquent, les plongements de mots sont meilleurs pour capturer le contexte des mots dans une phrase.
Il existe diffÃĐrentes algorithmes et approches pour crÃĐer des plongements de mots. Certaines des mÃĐthodes de plongement de mots les plus courantes et les plus fiables incluent : les couches dâintÃĐgration, Word2Vec et GloVe.
Couches dâintÃĐgration
Une façon potentielle dâutiliser les plongements de mots avec un systÃĻme dâapprentissage automatique / dâapprentissage profond est dâutiliser une couche dâintÃĐgration. Les couches dâintÃĐgration sont des couches dâapprentissage profond qui convertissent les mots en plongements qui sont ensuite alimentÃĐs dans le reste du systÃĻme dâapprentissage profond. Les plongements de mots sont appris à mesure que le rÃĐseau sâentraÃŪne pour une tÃĒche de texte spÃĐcifique.

Dans une approche de plongement de mots, les mots similaires auront des reprÃĐsentations similaires et seront plus proches les uns des autres que des mots dissemblables.
Pour utiliser des couches dâintÃĐgration, le texte doit Être prÃĐtraitÃĐ au prÃĐalable. Le texte du document doit Être codÃĐ Ã chaud, et la taille du vecteur doit Être spÃĐcifiÃĐe à lâavance. Le texte à chaud est ensuite converti en vecteurs de mots et les vecteurs sont passÃĐs dans le modÃĻle dâapprentissage automatique.
Word2Vec
Word2Vec est une autre mÃĐthode courante de plongement de mots. Word2Vec utilise des mÃĐthodes statistiques pour convertir les mots en plongements et il est optimisÃĐ pour une utilisation avec des modÃĻles basÃĐs sur des rÃĐseaux de neurones. Word2Vec a ÃĐtÃĐ dÃĐveloppÃĐ par des chercheurs de Google (GOOGL ) et il est lâune des mÃĐthodes de plongement de mots les plus couramment utilisÃĐes, car il produit rÃĐguliÃĻrement des plongements utiles et riches. Les reprÃĐsentations Word2Vec sont utiles pour identifier les similitudes sÃĐmantiques et syntaxiques dans le langage. Cela signifie que les reprÃĐsentations Word2Vec capturent les relations entre des concepts similaires, en ÃĐtant capable de distinguer que la similitude entre ÂŦ Roi Âŧ et ÂŦ Reine Âŧ est la royautÃĐ et que ÂŦ Roi Âŧ implique ÂŦ homme Âŧ tandis que ÂŦ Reine Âŧ implique ÂŦ femme Âŧ.
GloVe
GloVe, ou Vecteur global pour la reprÃĐsentation de mots, sâappuie sur les algorithmes de plongement utilisÃĐs par Word2Vec. Les mÃĐthodes de plongement GloVe combinent des aspects des algorithmes Word2Vec et des techniques de factorisation de matrices comme lâanalyse sÃĐmantique latente. Lâavantage de Word2Vec est quâil peut capturer le contexte, mais en contrepartie, il capture mal les statistiques de texte globales. En revanche, les reprÃĐsentations vectorielles traditionnelles sont bonnes pour dÃĐterminer les statistiques de texte globales mais elles ne sont pas utiles pour dÃĐterminer le contexte des mots et des phrases. GloVe tire parti des meilleures approches, en crÃĐant un contexte de mots basÃĐ sur les statistiques de texte globales.












