• Aucun résultat trouvé

Nous nous intéressons maintenant au problème de la construction d’une représentation pour les instances de relations implicites à partir des représentations de mots présentées précédem- ment, c’est-à-dire la combinaison des vecteurs représentant chaque mot en un vecteur composite représentant l’instance.

Les représentations que nous utilisons pour les paires de segments discursifs diffèrent selon trois dimensions. D’abord, nous comparons l’utilisation d’un seul mot par segment, approximativement les deux verbes principaux, et l’utilisation de tous les mots composant les segments. Ensuite, nous comparons des représentations éparpillées et denses, nous opposons donc un encodage one-hot et une représentation de basse dimensionnalité. Comme nous l’avons évoqué, les clusters Brown constituent un cas un peu spécial puisqu’ils permettent de réduire le nombre de dimensions mais correspondent toujours à un encodage one-hot. Enfin, nous utilisons deux types de combinaison à partir des vecteurs représentant les segments pour construire une représentation pour une instance : la concaténation et le produit de Kronecker. Nous comparons donc plus de configurations que dans (RUTHERFORDet XUE, 2014), ces auteurs ne considérant qu’une représentation utilisant tous

les mots des arguments à partir des clusters Brown.

5.3.1

Notations

Nos instances de classification sont des paires de segments textuels, les deux arguments de la relation à prédire. On note S1={w11, . . . , w1n} l’ensemble des n mots qui constituent le premier

segment et S2={w21, . . . , w2m} les m mots qui composent le second segment. Nous considérons donc chaque segment comme un sac de mots. On note toujours V le vocabulaire de mots, c’est- à-dire l’ensemble de tous les mots qui apparaissent dans les segments discursifs. Nous pourrons éventuellement nous référer à un sous-ensemble spécifique de V. On note head(·) la fonction qui extrait la tête d’un argument, nous détaillerons cette extraction dans la section 5.4.1.1, et Vh✓ V

l’ensemble des mots têtes.

Comme notre objectif est de comparer différentes représentations pour les paires de segments dis- cursifs, nous définissons une fonction de représentation générique qui retourne la représentation à d dimensions, un vecteur à valeur réelle, d’une paire de segments :

: Vn

⇥ Vm

! Rd

(S1, S2)7! (S1, S2)

Le but de l’apprentissage en binaire est de construire une fonction de classification fw(·) paramétrée

par un vecteur w 2 Rdqui associe (S

1, S2) à une classe c2 { 1, +1}.

Nous avons déjà posé w, le vecteur à d dimensions correspondant à un encodage one-hot pour

un mot w 2 V. Nous utilisons de plus les symboles et ⌦ pour représenter la concaténation et le produit de Kronecker, respectivement. Le produit de Kronecker entre deux vecteurs est équivalent à l’application du produit extérieur (outer product) uv>2 Rm⇥n. On transforme ensuite la matrice

de taille m ⇥ n obtenue en un vecteur de taille mn ⇥ 1 en emboîtant ses colonnes à l’aide de l’opérateur vec(·).

5.3.2

Représentations fondées sur les têtes des arguments

L’une des représentations les plus simples que l’on peut construire pour une paire de segments (S1, S2) consiste à ne prendre en compte que les têtes de ces segments : h1 = head(S1) et

h2 = head(S2). Dans cette configuration simple, il faut encore répondre à deux questions : (i)

quelle représentation utilise-t-on pour h1et h2, et (ii) comment combine-t-on ces représentations.

Rappelons que l’ordre dans lequel les mots apparaissent est important, on veut donc que les combinaisons conservent cette information.

5.3.2.1 Représentation one-hot

Le cas le plus simple est d’utiliser un encodage de type one-hot pour les deux mots têtes, donc les vecteurs h1 pour la tête de l’argument 1 et h2pour la tête de l’argument 2. On combine ensuite ces vecteurs par concaténation ou en utilisant le produit de Kronecker. Nous définissons donc les deux fonctions de représentation suivantes :

h, , (S1, S2) = h1 h2

h, ,⌦(S1, S2) = vec( h1⌦ h2)

Avec ces définitions, on a h, , (S1, S2)2 {0, 1}2|Vh|et h, ,⌦(S1, S2)2 {0, 1}|Vh|

2

. La seconde représentation correspond à assigner un composant de valeur 1 à chaque paire de mots dans Vh⇥ Vh. C’est la représentation la plus éparpillée que l’on peut définir à partir des mots têtes.

Dans un certain sens, c’est aussi la plus expressive puisque l’on apprend un paramètre pour chaque paire de mots, on capture donc les interactions entre les mots sur les segments. Au contraire,

h, , (S1, S2) ne modélise pas explicitement ces interactions puisqu’elle traite chaque mot d’un

segment donné par une dimension distincte. De plus, le produit de Kronecker est une opération non commutative, contrairement par exemple à la multiplication par dimension ou à la somme, ce qui permet de différencier les cas selon l’ordre des arguments (GREFENSTETTEet SADRZADEH,

2011).

On obtient le même type de représentation en utilisant les clusters Brown, la seule différence est que le vocabulaire est plus petit puisqu’il correspond au nombre de clusters différents.

5.3.2.2 Représentation dense

Une autre manière de représenter les mots têtes consiste à utiliser les vecteurs de basse dimen- sionnalité et à valeur réelle fournis par des représentations distributionnelles ou distribuées. Pour simplifier la notation, on appelle plongement un tel vecteur. On note M une matrice réelle de dimension n ⇥ p où la ieligne correspond au plongement de dimension p du iemot de V

h, avec

p⌧ |Vh|. Pour l’instant, on suppose que n = Vhce qui n’est pas tout à fait vrai, nous discuterons du

cas de mots inconnus en section 5.4.1.1. Avec cette matrice, nous pouvons dériver le plongement pour les mots têtes h1 et h2 à partir de leur représentation one-hot en utilisant une multiplica-

tion matricielle, respectivement M>

h1 et M

>

h2. En utilisant à nouveau la concaténation et le produit de Kronecker, on obtient deux nouvelles fonctions de représentation :

h,M , (S1, S2) = M> h1 M > h2 h,M ,⌦(S1, S2) = vec(M> h1⌦ M > h2)

Ces représentations correspondent à un espace de plus basse dimensionnalité, on a h,M , (S1, S2)2

R2pet

h,M ,⌦(S1, S2)2 Rp

2 .

5.3.3

Représentations fondées sur tous les mots des arguments

Les représentations présentées pour les paires de mots têtes peuvent être généralisées au cas où l’on conserve tous les mots dans chacun des segments. La difficulté supplémentaire réside dans la combinaison des vecteurs représentant les différents mots de chaque argument et dans la normalisation qui devient ici nécessaire. Nous choisissons une solution simple pour le premier problème en représentant chaque segment par la somme sur les vecteurs représentant chaque mot. De nombreuses autres formes de combinaison sont possibles pour construire une représentation vectorielle pour une phrase, notamment pour prendre en compte les liens syntaxiques entre les mots des arguments, leur ordre et leur importance (MITCHELLet LAPATA, 2010 ; BLACOEet LAPATA,

2012). Il est également possible de construire directement des représentations pour les phrases (LE

et MIKOLOV, 2014).

5.3.3.1 Représentation one-hot

En suivant cette approche, nous pouvons donc construire les représentations one-hot pour les paires de segments de la façon suivante, avec n le nombre de mots dans le premier argument S1et

m le nombre de mots dans le second S2:

all, , (S1, S2) = n X i m X j w1i w2j

all, ,⌦(S1, S2) = n X i m X j vec( w1i ⌦ w2j)

Lorsque ces représentations sont utilisées sans aucune forme de filtre, elles correspondent à un espace de très grande dimensionnalité. On a all, , (S1, S2)2 Z2|V|0 et all, ,⌦(S1, S2)2 Z|V|

2

0 . La

fonction de représentation all, , (S1, S2) correspond à la représentation traditionnelle des paires

de segments utilisée dans les études sur l’identification des relations depuis (MARCUet ECHIHABI,

2002).

De même que pour le cas où l’on utilisait seulement la tête des arguments, on a les mêmes fonctions de représentation en utilisant les clusters Brown, la différence résidant dans le fait que l’on a un espace de moins grande dimensionnalité qui ne dépend pas ici du nombre de mots mais du nombre de clusters.

5.3.3.2 Représentation dense

On peut utiliser les mêmes opérations de composition aux représentations denses. On aboutit aux fonctions de représentations suivantes :

all,M , (S1, S2) = n X i m X j M> w1i M> w2j all,M ,⌦(S1, S2) = n X i m X j vec(M> w1i ⌦ M> w2j)

Ces fonctions de représentation sont dans le même espace que celles définies pour les représenta- tions sur les têtes, h,M , (S1, S2) et h,M ,⌦(S1, S2), puisque la somme ne modifie pas la dimension-

nalité des vecteurs que l’on combine. On a donc all,M , (S1, S2)2 R2pet all,M ,⌦(S1, S2)2 Rp

2

5.3.3.3 Normalisation des vecteurs

Il existe différentes façons de normaliser les vecteurs construits pour les paires de segments discursifs. La normalisation est importante ici car les vecteurs composites non normalisés sont sensibles au nombre de mots dans les arguments. Le premier type de normalisation que l’on considère consiste à simplement convertir les représentations vectorielles en vecteurs unitaires, ce que l’on obtient en divisant chaque vecteur par sa norme.

Concernant la représentation par concaténation, l’inversion des opérations de concaténation et de somme permet également d’obtenir une forme de régularisation. En effet, si l’on considère, par exemple, la fonction de représentation pour le cas one-hot que nous avons présenté précédemment, on peut la décomposer de la manière suivante :

all, , (S1, S2) = n X i m X j w1i w2j = m n X i w1i n m X j w2j

On a ici une forme de pondération de chacune des sommes, représentant chacune un argument, par le nombre de mots présents dans l’autre argument. On peut donc utiliser la version non pondérée

suivante qui consiste en une normalisation sur le nombre de mots, version que l’on peut construire pour toutes les fonctions présentées utilisant la concaténation :

0 all, , (S1, S2) = n X i w1i m X j w2j

On peut bien sûr combiner cette forme de normalisation à celle correspondant au vecteur unitaire.