Actions

Difference between revisions of "Un vecteur one-hot"

From Algolit

(Created page with "{| |- | Type: || Exploration algolittéraire |- | Technique: || plongement lexical |- | Développé par: || Algolit |} =Recette pour un vecteur one-hot= Si ceci est notre p...")
 
 
(8 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
 
|}
 
|}
  
=Recette pour un vecteur one-hot=
+
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 ...
 
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 61: 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 67: 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 86: 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).''
 
  
==Les scriptes de vecteurs one-hot d’Algolit==
+
''(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: [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 15: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