• Aucun résultat trouvé

ANA+itère sur 3 mécanismes de construction et 1 mécanisme de récession. Les 3 premiers mécanismes sont réalisés à partir des fenêtres, ligne 2 et 3 du pseudo-code 3. La phase d’essaimage est réalisée sur une première collecte de fenêtres. Les 2 autres mécanismes (Expansion et Expression) sont réalisés de manière concurrente à partir d’une seconde collecte de fenêtres (voir pseudo-code 4). L’annexe C présente des constructions instanciées. Cette annexe permet de comprendre par l’exemple les Algorithme 3 ANA+ : mécanisme de construction

1: pour cand in candidates faire

2: lef tW in ← (candi, lemi−1, lemi−2)

3: rightW in ← (candi, lemi+1, lemi+2)

4: win ← win ∪ {lef tW in, rightW in}

5: fin pour

6: validW in ← filter(win)

7: newCands ← count_cases(validW in)

8: candidates ← candidates ∪ newCands

3.2.1 Essaimage

La phase d’essaimage augmente l’entropie du système. Elle fait l’objet d’une collecte de fenêtres dédiées. Les fenêtres valides répondent aux contraintes suivantes :

— Elles contiennent un candidat.

— Elles contiennent éventuellement un linkword.

— Elles sont tronquées par un autre candidat, un stopword ou un emptyword.

Les occurrences des lemmes de toutes les fenêtres valides sont comptées quel que soit le candidat à l’origine de la fenêtre. Trois paramètres influent la validation du lemme : sa position par rapport au candidat (1reou 2eposition) ; l’utilisation systé-

matique d’un même linkword (ou son absence) ; l’association avec un même candidat. Chaque paramètre est indépendant des autres. Une combinaison linéaire donne un score au lemme, au-delà d’un seuil le lemme devient un candidat. Une même fenêtre peut être utilisée plusieurs fois (pour les différents lemmes qu’elle contient).

Essaimage(li) =  α S Fv(li) C(li) +β S Fv(li) L(li)  ×Fv(li) P (li) (2.4) avec

— Fv(li) le nombre de fenêtres valides d’un lemme

— C(li)) le nombre de candidats différents

— L(li) le nombre de types de linkwords différents, l’absence de linkwords est considérée comme un type

— P (li) le cumul des positions occupées dans les fenêtres : 1 pour la position la plus proche du candidat, 2 pour la seconde

position. — S = α + β

— α et β méta-paramètres à fixer par l’utilisateur. Des valeurs indicatives sont α = 10, β = 3. β indique la préférence pour utiliser toujours le même type de linkword ; α indique la préférence pour utiliser toujours le même candidat initial. Le résultat du calcul 2.4 est compris entre 1/2 et Fv(li). Le seuil est fixé en fonction de la longueur du corpus. Pour les corpus

courts (environ 600.103mots) on valide le lemme lilorsque Essaimage(li) > 3 environ ; pour les corpus longs (plus de 3.106

de mots) on valide le lemme lilorsque Essaimage(li) > 15 environ. Il serait possible d’automatiser ce seuil (seuil ≈ mots2.103).

Cette gestion du seuil évite la rigidité des filtre initialement proposés par Enguehard et Pantera (1995) : chaque condition (nombre de candidats différents, nombre de lien-clé différents) indépendamment. La position dans la fenetre est un nouveau paramètre. Cette version augmente le rappel, sans diminuer la précision.

3.2.2 Développement

Après l’essaimage et après une nouvelle collecte de fenêtres autour des nouveaux candidats, la phase de développement augmente la longueur des candidats existants en fusionnant des nouveaux composants. De nouveaux candidats composés de plusieurs mots (MWE) en résultent.

Les expansions sont composées d’un même candidat suivi ou précédé par un même lemme systématiquement. Un lemme peut être ignoré à l’intérieur de la fenêtre (hypothèse skip-gram). Le nombre de motifs [candidat ( lemme) - lemme] est compté. Un seuil d’occurrences valide les expansions. Ce seuil est d’environ 4 pour les petits corpus.

Le mécanisme d’expression est concurrent avec le mécanisme d’expansion. Il fonctionne de la même manière mais les fenêtres doivent contenir 2 candidats pour être valides. C’est à dire que le motif recherché est [candidat- candidat ]. Le nombre de motifs est compté. Un seuil (environ 3 pour les petits corpus) valide les expressions. Les motifs peuvent contenir un lemme ignoré [candidat- lemme - candidat ] à condition que l’inclusion du lemme ne puisse pas former une expansion. Gestion des priorités. 2 cas se présentent, illustrés par des exemples en annexe C.

— En cas d’expansion incluse dans une expression ou une autre expansion, la priorité est donnée à l’expansion incluse. Ce comportement suppose qu’il faut construire les expansions élément par élément en évitant les skip-grams si possible. — Si les expansions sont intriquées : incluses l’une dans l’autre, alors le comportement par défaut donne la priorité à la moins

occurrente avec un comportement sans skip-gram (non-greedy). Ce dernier comportement suppose que l’expansion la plus occurrente pourra toujours se former, même après que certaines occurrences aient été consommées par l’expansion plus rare.

3.2.3 Récession

Cette étape est réalisée après chaque itération d’expression/expansion. Les candidats nouvellement construits « consomment » leurs composants. Ces derniers ne sont plus comptés individuellement. Les candidats occurrant insuffisamment (sous le seuil fixé) sont désactivés et retournent à leur état antérieur (un candidat plus simple ou un lemme). La désactivation limite les récessions en cascade d’un candidat très composé en lemmes simples. La désactivation permet de reformer les candidats rapidement lorsque le nombre de candidats désactivés dépasse le seuil de récession. Par exemple, 15 des 17 occurrences du candidat « knowledge data- base» sont précédées de « failure », alors le candidat « failure knowledge database » est construit et « knowledge database » est

FIGURE2.9 – Cas classique de récession vers un candidat désactivé, puis réactivé, au lieu d’un retour à des lemmes simples.

désactivé, car il n’occurre que 2 fois (en supposant que le seuil est de 3). « knowledge database » revient alors son état précédent « database » et « knowledge ». Mais une prochaine récession vers « knowledge database » pourrait réactiver le candidat. La figure 2.9 montre ce fonctionnement.

Tout développement d’un candidat (activé ou désactivé) détruit l’arbre des occurrences désactivées qui dépendent de lui (voir exemples en annexe C). Les arbres en figure 2.10 illustrent ce propos.

(a) Récession de BCDE jusqu’à des formes stables : le

candidatBC et les lemmes d et e. (b) Développement d’une branche (F → DeF, consommant d, et e en skip-gram), destruction de l’arbre en amont

FIGURE 2.10 – Arbre de récession d’une occurrence de candidat (BCDE) et destruction : en capitale les candidats, en minuscule les formes de simple lemme, en vert les formes stables, en orange les candidats désactivés, en gris les occurrences consommées.

3.3

Organisation et produits d’ANA+