Comment utiliser un mot incorporé pour mapper un document sur un vecteur de caractéristiques approprié pour une utilisation avec apprentissage supervisé?
Un mot incorporant mappe chaque mot à un vecteur , où est un nombre non trop grand (par exemple 500). Les mots les plus utilisés sont Word2vec et Glove .
Je veux appliquer l'apprentissage supervisé pour classer les documents. Je mappe actuellement chaque document à un vecteur de caractéristiques à l'aide de la représentation de sac de mots, puis j'applique un classificateur standard. J'aimerais remplacer le vecteur de fonctionnalité de sac de mots par quelque chose basé sur un incorporation de mots pré-formés existants, afin de tirer parti des connaissances sémantiques contenues dans l'incorporation de mots. Y at-il un moyen standard de le faire?
Je peux imaginer des possibilités, mais je ne sais pas s’il ya quelque chose de plus sensé. Approches du candidat que j'ai envisagées:
Je pouvais calculer le vecteur pour chaque mot du document et faire la moyenne de tous. Cependant, cela semble perdre beaucoup d’informations. Par exemple, avec la représentation en sac de mots, s'il y a quelques mots qui sont très pertinents pour la tâche de classification et que la plupart des mots ne sont pas pertinents, le classificateur peut facilement apprendre cela; si je fais la moyenne des vecteurs pour tous les mots du document, le classificateur n'a aucune chance.
La concaténation des vecteurs de tous les mots ne fonctionne pas, car elle ne conduit pas à un vecteur de caractéristiques de taille fixe. En outre, cela semble être une mauvaise idée car il sera trop sensible au placement spécifique d'un mot.
Je pourrais utiliser le mot imbriqué pour regrouper le vocabulaire de tous les mots en un ensemble fixe de groupes, par exemple, 1 000 groupes, où j'utilise la similarité cosinus sur les vecteurs comme mesure de la similarité des mots. Ensuite, au lieu d'un sac de mots, je pourrais avoir un sac de-grappes: l'offre vecteur caractéristique I du classificateur pourrait être un 1000 vecteur, où les e compte composant le nombre de mots dans le document font partie du groupe i .
Étant donné un mot , ces mots me permettent de calculer un ensemble des 20 mots les plus similaires w 1 , … , w 20 et leur score de similarité s 1 , … , s 20 . Je pourrais adapter le vecteur de caractéristiques de type sac de mots en utilisant ceci. Quand je vois le mot w , en plus d'incrémenter l'élément correspondant au mot w par 1 , je peux également incrémenter l'élément correspondant au mot w 1 par s 1 , incrémenter l'élément correspondant au mot w 2 par , et ainsi de suite.
Existe-t-il une approche spécifique susceptible de bien fonctionner pour la classification des documents?
Je ne cherche pas paragraphe2vec ou doc2vec; ceux qui nécessitent une formation sur un grand corpus de données, et je n'ai pas un grand corpus de données. Au lieu de cela, je veux utiliser un mot existant incorporant.