• Aucun résultat trouvé

Prédiction globale des déclencheurs événementiels

Que ce soit au niveau inter-phrastique comme nous l’avons déjà exploré dans les précé-

dents chapitres ou au niveau intra-phrastique, il existe une forte interdépendance entre les

occurrences des différents événements au sein d’un document. Il est également possible de

tirer profit des interdépendances entre mentions d’entités et arguments ; mais nous nous

focalisons dans un premier temps sur les déclencheurs. Nous cherchons donc ici à exploi-

ter la probabilité conditionnelle d’observer une mention d’un type d’événement au sein

d’une phrase ou d’un document sachant la présence d’une mention d’un autre événement.

Ce type d’interdépendance peut être formalisé sous forme de règles PSL pour réaliser

une optimisation globale des prédictions. Le nombre d’ancrages à évaluer augmentant de

manière exponentielle avec le nombre de candidats, il n’est pas envisageable d’appliquer

notre modèle à l’ensemble des mots du document. De plus, la représentation sémantique

du candidat et la modélisation fine du contexte local, telle que permise respectivement par

des plongements et des modèles neuronaux, seraient difficilement transposables sous forme

cette section, nous appliquons préalablement un modèle statistique local aux documents.

Chaque mot pour lequel la probabilité de la classe NULLE est inférieure à un seuil p est

conservé comme candidat. La valeur de ce seuil, p = 0, 9, a été déterminée empirique-

ment lors d’analyses préliminaires des données d’entraînement pour permettre de réduire

drastiquement le nombre de candidats à considérer tout en conservant la possibilité de

corriger les faux négatifs du modèle local.

Nous tentons en premier lieu de reproduire une partie des règles proposées par Liu

et al. (2016b) et de les adapter à notre modèle local, différent de celui qu’ils utilisent.

Contrairement à ces travaux, nous ne considérons pas l’utilisation de l’Allocation de Diri-

chlet Latente (LDA) (Blei et al.,2003) pour modéliser les thématiques des documents. Les

règles que nous produisons concernent donc les probabilités conditionnelles entre types

d’événements à l’échelle du document ou de la phrase.

5.3.1

Définition du modèle

Afin de définir un modèle PSL, il est nécessaire d’introduire un certain nombre de

variables, prédicats et règles que nous détaillons ici.

Variables

Bien que PSL n’impose pas de déclarer préalablement de types de variables, nous nous

astreignons à la convention suivante, les variables étant suffixées dans certains prédicats

d’un nombre pour distinguer deux variables du même type (ex : t1, t2 ). Nous utilisons

les variables :

— w : identifiant unique d’un déclencheur/candidat ;

— t : un des types d’événements ou la classe "NULLE" ;

— s : identifiant unique d’une phrase ;

Prédicats

On distingue deux types de prédicats. Les prédicats fermés, ou observables, sont ceux

pour lesquels on fournit une liste exhaustive des instanciations vraies, les autres instan-

ciations étant considérées comme fausses par défaut. Les prédicats blocs sont un type

spécifique de prédicats fermés. À l’inverse, les prédicats ouverts, ou cibles, sont ceux aux-

quels l’inférence doit assigner une valeur de vérité.

Notre modèle PSL est ainsi défini à l’aide des prédicats observables suivants :

— candEvt(w, t ) : probabilité de la classe t attribuée au candidat w par le modèle

local ;

— sentLevel(t1, t2 ) : probabilité d’observer un événement de type t2 sachant la

présence d’un événement de type t1 dans une phrase ;

— docLevel(t1, t2 ) : probabilité d’observer un événement de type t2 sachant la

présence d’un événement de type t1 dans un document ;

ainsi que des prédicats blocs de phrase et de document :

— inSent(w, s) : w appartient à la phrase s ;

— inDoc(w, d ) : w appartient au document d ;

et du prédicat cible suivant :

— isTriggerType(w, t ) : le candidat w est déclencheur d’un événement de type t.

Règles

À partir des prédicats définis précédemment, nous introduisons les règles suivantes :

1. contrainte forte : la somme des probabilités associées aux différentes classes est

égale à 1 pour chaque candidat :

isTriggerType(w, +t) = 1. (5.14)

2. les candidats sont généralement des déclencheurs et non des faux positifs :

3. les prédictions du modèle local sont correctes :

candEvt(w,t) ⇒ isTriggerType(w,t) (5.15)

4. si un déclencheur d’un événement est présent dans une phrase et que l’association

phrastique est forte avec le type d’événement d’un candidat présent dans la phrase,

le candidat est bien un déclencheur du type concerné :

inSent(w1, s) ∧ inSent(w2, s) ∧ sentLevel(t1, t2)

∧ candEvt(w2, t2) ∧ isTriggerType(w1, t1) ⇒ isTriggerType(w2, t2) (5.16)

5. si un déclencheur d’un événement est présent dans un document et que l’association

au niveau document est forte avec le type d’événement d’un candidat présent dans

le document, le candidat est bien un déclencheur du type concerné :

inDoc(w1, d) ∧ inDoc(w2, d) ∧ docLevel(t1, t2)

∧ candEvt(w2, t2) ∧ isTriggerType(w1, t1) ⇒ isTriggerType(w2, t2) (5.17)

5.3.2

Production des données

Afin de procéder à l’inférence du modèle, il est nécessaire de produire la liste exhaustive

des observations des prédicats fermés (candEvt, sentLevel, docLevel, inSent, inDoc) et la

liste des cibles de prédictions pour le prédicat isTriggerType.

Association événement-événement

Concernant les deux prédicats de dépendance entre événements, sentLevel et docLevel,

nous produisons les statistiques sur le jeu d’apprentissage de la manière suivante. Pour

chaque paire de types d’événements, numdoc(t1, t2) et numsent(t1, t2) désignent respective-

ment le nombre de cooccurrences de ces deux événements dans un même document et une

pevt−evt−[doc/sent](t2 | t1) à l’aide des formules suivantes : pevt-evt-sent(t2 | t1) = numsent(t1, t2) P t∈T numsent(t, t1) pevt-evt-doc(t2 | t1) = numdoc(t1, t2) P t∈T numdoc(t, t1)

Les probabilités obtenues sont alors utilisées pour définir les valeurs de vérité des prédicats

correspondants.

A priori locaux

Puisque nous visons à améliorer les performances du modèle local, il est nécessaire

de produire pour chaque candidat les observations candEvt(w,t) et les cibles isTrigger-

Type(w,t) associées à la classe prédite par le modèle local ainsi qu’à d’autres classes. Nous

définissons ainsi un paramètre topPrior spécifiant le nombre de classes renvoyées en plus

de la classe NULLE.

Avec topPrior = j, pour chaque candidat, on ajoute la classe NULLE et les j meilleures

classes non nulles à la liste des cibles (candEvt). On ajoute également des observations du

prédicat candEvt pour ces classes. Pour chacune de ces observations, les valeurs de vérité

correspondent à la probabilité attribuée par le modèle local à cette classe.