Actions

Un vecteur one-hot

From Algolit

Type: Exploration algolittéraire
Technique: plongement lexical
Développé par: Algolit

Un vecteur d'encodage one-hot est une technique de représentation de mots qui utilise la similitude distributionelle afin de trouver des motifs dans des phrases à base de co-occurence. En général, les vecteurs d'encodage one-hot sont des matrices larges de zéros, composées d'autant de rangées et de colonnes qu'il y a des mots uniques dans la phrase. Un texte composé de 500 mots uniques sera représenté par une matrice de 500x500. En utilisant cette matrice comme outil principal, le script voyagera à travers toutes les phrases du jeu de données et comptera combien de fois un mot apparaît en compagnie d'un autre mot.

Recette pour un vecteur d'encodage one-hot

Si ceci est notre phrase d’exemple ...

"Les explorateurs algolittéraires ont découvert un paysage multidimensionnel fait de mots déguisés en nombres."

... nous travaillons avec les 15 mots suivants...

algolittéraires
de
découvert
déguisés
en
explorateurs
fait
Les
mots
multidimensionnel
nombres
ont
paysage
un
.

... un seul vecteur dans un vecteur unique ressemble à ceci ...

 [0 0 0 0 0 0 0 0 0 0 0 0 0 0] 

... et une matrice complète de quinze dimensions à ceci...

 [[0 0 0 0 0 0 0 0 0 0 0 0 0 0]  algolittéraires
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  de
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  découvert
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  déguisés
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  en
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  explorateurs
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  fait
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  Les
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  mots
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  multidimensionnel
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  nombres
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  ont
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  paysage
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  un
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]] .

... avec un 0 pour chaque mot unique dans un vocabulaire et une ligne pour chaque mot unique.

L'étape suivante consiste à compter combien de fois un mot apparaît à côté d'un autre ...

"Les explorateurs algolittéraires ont découvert un paysage multidimensionnel fait de mots déguisés en nombres."

 [[0 0 0 1 0 0 0 0 1 0 0 0 0 0]  algolittéraires
  [0 0 0 0 0 1 0 0 0 0 0 1 0 0]  de
  [0 0 0 0 1 0 0 0 0 1 0 0 0 0]  découvert
  [1 0 0 0 0 1 0 0 0 0 0 0 0 0]  déguisés
  [0 0 1 0 0 0 0 0 0 0 0 0 1 0]  en
  [0 1 0 1 0 0 0 0 0 0 0 0 0 0]  explorateurs
  [0 0 0 0 0 0 0 1 1 0 0 0 0 0]  fait
  [0 0 0 0 0 0 1 0 0 0 1 0 0 0]  Les
  [1 0 0 0 0 0 1 0 0 0 0 0 0 0]  mots
  [0 0 1 0 0 0 0 0 0 0 0 0 0 1]  multidimensionnel
  [0 0 0 0 0 0 0 1 0 0 0 0 1 0]  nombres
  [0 1 0 0 0 0 0 0 0 0 0 0 0 0]  ont
  [0 0 0 0 1 0 0 0 0 0 1 0 0 0]  paysage
  [0 0 0 0 1 0 0 0 0 0 1 0 0 0]  un
  [0 0 0 0 0 0 0 0 0 1 0 0 0 0]] .

(NDLT: Le tableau ci-dessus est une simulation pour donner une idée du processus, et ne représente donc pas les valeurs réelles pour la phrase en français).

Les scripts de vecteurs d'encodage one-hot d’Algolit

Deux scripts ont été créés lors d'une des sessions d'Algolit, créant la même matrice mais de manière différente. Pour les télécharger et les exécuter, utilisez les liens suivants: one-hot-vector_gijs.py & one-hot-vector_hans.py

A noter

«Les mots sont représentés une fois dans un vecteur, donc les mots avec des significations multiples, comme 'banque', sont plus difficiles à représenter. Une recherche existe autour des multivecteurs pour un mot, pour qu'il ne finisse pas au milieu.»(Richard Socher, idem.)]

Pour plus de notes sur cette conférence, visitez http://pad.constantvzw.org/public_pad/neural_networks_3