Entrées de chaîne dans l'apprentissage automatique

8

Plusieurs algorithmes d'apprentissage automatique populaires tels que la régression logistique ou les réseaux de neurones nécessitent que ses entrées soient numériques.

Ce qui m'intéresse, c'est comment vous faites fonctionner ces algorithmes sur des entrées non numériques (telles que des chaînes courtes).

Par exemple, disons que nous construisons un système de classification des e-mails (spam / non spam), où l'une des fonctionnalités d'entrée est l'adresse de l'expéditeur.

Pour pouvoir utiliser un algorithme d'apprentissage, nous devons représenter l'adresse de l'expéditeur sous forme de nombre. Une façon consiste simplement à numéroter les expéditeurs 1..n. Notre ensemble d'entraînement pourrait alors ressembler à ceci:

entrées pour l'apprentissage automatique

Cela ne fonctionnera pas, cependant, car des algorithmes tels que la régression logistique ou les réseaux de neurones apprennent des modèles dans les données d'entrée, tandis que dans notre exemple, la sortie semble totalement aléatoire pour l'algorithme. En effet, une fois en classe universitaire, nous avons essayé de former un réseau neuronal sur un ensemble de données qui ressemblait à ceci et le réseau n'a pu rien apprendre (la courbe d'apprentissage était plate).

Pourriez-vous utiliser la régression logistique ou les réseaux de neurones dans cet exemple? Si oui, de quelle manière? Sinon, quelle serait une bonne façon de classer les e-mails en fonction de l'adresse de l'expéditeur?

Une réponse parfaite serait de discuter de l'exemple de classification des e-mails ainsi que de la gestion des chaînes courtes en ML en général.

Martin Konicek
la source

Réponses:

4

L'un des modèles populaires est le modèle Bag of Words

En outre, vous pouvez modéliser les mots sous forme d'entiers. Ils ont des «mesures de distance relative» pour cela et capturer l'essence même du processus de classification. Cependant, un inconvénient est que l'étape de prétraitement est coûteuse et que vous devez également avoir une certaine connaissance du domaine.

Une mesure de distance assez célèbre est la distance de Levenshtein qui est basée sur le nombre de modifications de caractère unique. par exemple. c'est-à-dire, .(wunelk,tunelk)<(wunelk,plo)

Les métriques dépendent du contexte du processus de classification. Par exemple, votre métrique de distance pour classer les mots rimés sera différente de celles conçues pour classer les synonymes / mots véhiculant des significations similaires. Pour une liste des métriques de chaîne, jetez un œil à cet article de wikipedia .

Vous pouvez également consulter ce document de synthèse.

Subhayan
la source