Actions

Un vecteur one-hot: Difference between revisions

From Algolit

Line 14: Line 14:
 
Si ceci est notre phrase d’exemple ...
 
Si ceci est notre phrase d’exemple ...
  
<br>
 
 
"Les explorateurs algolittéraires ont découvert un paysage multidimensionnel fait de mots déguisés en nombres."
 
"Les explorateurs algolittéraires ont découvert un paysage multidimensionnel fait de mots déguisés en nombres."
<br>
 
 
  
 
... nous travaillons avec les 15 mots suivants...
 
... nous travaillons avec les 15 mots suivants...
  
<br>
 
 
* algolittéraires
 
* algolittéraires
 
* de
 
* de
Line 37: Line 33:
 
* un
 
* un
 
* .
 
* .
<br>
 
  
 
... un seul vecteur dans un vecteur unique ressemble à ceci ...
 
... un seul vecteur dans un vecteur unique ressemble à ceci ...
  
<br>
+
<pre>
 
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  
 
  [0 0 0 0 0 0 0 0 0 0 0 0 0 0]  
<br>
+
</pre>
  
 
... et une matrice complète de quinze dimensions à ceci...
 
... et une matrice complète de quinze dimensions à ceci...
  
<br>
+
<pre>
 
  [[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]  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]  de
Line 63: Line 58:
 
   [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]  un
 
   [0 0 0 0 0 0 0 0 0 0 0 0 0 0]] .
 
   [0 0 0 0 0 0 0 0 0 0 0 0 0 0]] .
<br>
+
</pre>
  
 
... avec un 0 pour chaque mot unique dans un vocabulaire et une ligne pour chaque mot unique.
 
... avec un 0 pour chaque mot unique dans un vocabulaire et une ligne pour chaque mot unique.
Line 69: Line 64:
 
L'étape suivante consiste à compter combien de fois un mot apparaît à côté d'un autre ...
 
L'étape suivante consiste à compter combien de fois un mot apparaît à côté d'un autre ...
  
<br>
 
 
"Les explorateurs algolittéraires ont découvert un paysage multidimensionnel fait de mots déguisés en nombres."
 
"Les explorateurs algolittéraires ont découvert un paysage multidimensionnel fait de mots déguisés en nombres."
  
<br>
+
<pre>
 
  [[0 0 0 1 0 0 0 0 1 0 0 0 0 0]  algolittéraires
 
  [[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 0 1 0 0 0 0 0 1 0 0]  de
Line 88: Line 82:
 
   [0 0 0 0 1 0 0 0 0 0 1 0 0 0]  un
 
   [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]] .
 
   [0 0 0 0 0 0 0 0 0 1 0 0 0 0]] .
<br>
+
</pre>
  
 
''(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).''
 
''(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==
 
==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: [https://gitlab.constantvzw.org/algolit/algolit/blob/master/algoliterary_encounter/one-hot-vector/one-hot-vector_gijs.py one-hot-vector_gijs.py] & [https://gitlab.constantvzw.org/algolit/algolit/blob/master/algoliterary_encounter/one-hot-vector/one-hot-vector_hans.py one-hot-vector_hans.py]
 
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: [https://gitlab.constantvzw.org/algolit/algolit/blob/master/algoliterary_encounter/one-hot-vector/one-hot-vector_gijs.py one-hot-vector_gijs.py] & [https://gitlab.constantvzw.org/algolit/algolit/blob/master/algoliterary_encounter/one-hot-vector/one-hot-vector_hans.py one-hot-vector_hans.py]
  

Revision as of 22:07, 31 October 2017

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, des 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 son 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