Actions

Difference between revisions of "Un vecteur one-hot"

From Algolit

 
(5 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
| Type: || Exploration algolittéraire
 
| Type: || Exploration algolittéraire
 
|-
 
|-
| Technique: || plongement lexical  
+
| Technique: || [[Sur le plongement lexical|plongement lexical]]
 
|-
 
|-
 
| Développé par: || Algolit
 
| 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.  
+
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=
+
==Recette pour un vecteur d'encodage one-hot==
  
 
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...
 
+
<pre>
<br>
+
algolittéraires
* algolittéraires
+
de
* de
+
découvert
* découvert
+
déguisés
* déguisés
+
en
* en
+
explorateurs
* explorateurs
+
fait
* fait
+
Les
* Les
+
mots
* mots
+
multidimensionnel
* multidimensionnel
+
nombres
* nombres
+
ont
* ont
+
paysage
* paysage
+
un
* un
+
.
* .
+
</pre>
<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 59:
 
   [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 65:
 
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 83:
 
   [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 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]
  
 
== A noter ==
 
== 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.)]
+
«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
 
Pour plus de notes sur cette conférence, visitez  http://pad.constantvzw.org/public_pad/neural_networks_3

Latest revision as of 17:24, 2 November 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, 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