Fondamentaux de l’IA

Comment fonctionne la classification de texte ?

mm
Ajouter Unite.AI à vos sources prÃĐfÃĐrÃĐes sur Google

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.

Blogueur et programmeur avec des spÃĐcialitÃĐs en Machine Learning et Deep Learning sujets. Daniel espÃĻre aider les autres à utiliser le pouvoir de l'IA pour le bien social.