Word2vec — continuation

En 4ème année à la HEAR, j’avais réalisé des expérimentations avec l’algorithme de Word2vec, que j’avais publié sur mon blog. Il s’agit d’un algorithme de machine learning par apprentissage non supervisé. On donne à l’algorithme de large corpus de textes. Puis par similarité de contexte il associe à chaque mots du corpus un vecteur. les termes au contexte similaire ont des vecteurs similaires.

J’ai réalisé une démonstration ou pour un terme donné l’algorithme va chercher les termes les plus proches et les spatialiser. un algorithme de Principal Component Analysis (ou PCA) va ensuite pour les termes proches réduire leur dimension vectorielles de 128 à deux pour les positionner sur l’écran.

L’api du serveur est en python avec comme framework flask, pour le REST api serveur, gensim pour l’algorithme de word2vec, et Sklearn pour l’algorithme de PCA. Coté client uniquement du vanilla js.

Voilà des extraits de l’interface réalisé :

Puis une déclinaison inscrit la distance dans un affichage des points de la typo variable tiny de jckfa : plus un terme est éloigné plus ces points seront réduits rendant la lisibilité du termes plus complexe.

Il s’agit d’une première approche avec l’algorithme de Word2vec, une reprise de travaux effectués il y a deux ans qui étaient restés dans un stade de recherche.

J’avais aussi en tête de travaillé sur l’espace vectoriel : comment affiché une translation entre deux termes dans l’espace ?