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.