• Aucun résultat trouvé

Choix des valeurs de traits pour le filtrage

Partie III Filtrage lexical et coordination 129

6.7 Choix des valeurs de traits pour le filtrage

intersections successives peut ˆetre inf´erieur `a cet entier ?

Le premier probl`eme illustre la technique employ´ee dans les r´eductions suivantes pour compter la longueur d’un tour. La deuxi`eme reprend les id´ees pr´ec´edentes et ajoute une contrainte sur l’ordre d’utilisation des automates. Toute la difficult´e r´eside dans cette deuxi`eme r´eduction. Finalement, la troisi`eme r´eduction n’est qu’une adaptation de la pr´ec´edente o`u une partie de l’automate qui compte la longueur du tour est effac´ee `a chaque intersection.

Le dernier probl`eme est le probl`eme de d´ecision sous-jacent au probl`eme d’optimisation qui nous int´eresse pour le filtrage. En effet, nous voulons connaˆıtre le meilleur ordre dans lequel r´ealiser l’intersection des automates de filtrage. Notre probl`eme est donc au moins aussi difficile que IO3.

6.6.4 NP-Compl´ etude

Nous nous bornons ici `a donner les r´esultats. Les preuves sont donn´ees compl`etement en annexe A.

Proposition 5. (IO1) est NP-complet.

Proposition 6. (IO2) est NP-complet.

Proposition 7. (IO3) est NP-complet.

Ce dernier probl`eme correspond `a notre m´ethode de s´election lexicale. Si le probl`eme de d´ecision (avec une borne B donn´ee) est NP-complet alors trouver la meilleure borne (la plus petite) est encore plus difficile.

6.6.5 Conclusion

Dans cette section ainsi que dans la pr´ec´edente, nous avons montr´e des r´esultats plutˆot n´egatifs :

– d’une part que les automates que nous manipulons sont particuliers. Nous pouvons tirer profit de cette observation et d´evelopper des techniques plus efficaces pour effectuer l’intersection. Cependant, la taille de l’automate r´esultat reste ´elev´ee dans le pire des cas

– que la technique globale qui consiste `a enchaˆıner les intersections est intrins`equement difficile.

Nous avons donc int´erˆet `a d´evelopper des heuristiques qui permettent de r´eduire la taille des automates de filtrages et de r´eduire le nombre d’automates de filtrage. C’est ce que nous allons d´evelopp´e dans la suite.

6.7 Choix des valeurs de traits pour le filtrage

Deux ph´enom`enes rendent difficiles l’intersection de nos automates : la taille de ces automates (section 6.5) et le nombre de ces automates (section 6.6). Nous allons montrer

dans cette section qu’en choisissant soigneusement les valeurs de traits pour construire les automates de filtrage, on peut `a la fois diminuer la taille et le nombre des automates. Il y a ´evidemment un prix `a payer. Le crit`ere de correction sera plus lˆache et des s´elections non satur´ees seront tout de mˆeme retenues.

Pour savoir quels automates de filtrage construire, nous avons propos´e de prendre les valeurs de traits pr´esentes avec les polarit´es → et ← dans les DAP de l’automate de s´elections. Beaucoup de valeurs de traits diff´erentes sont pr´esentes dans cet automate.

Nous cr´eons donc de nombreux automates de filtrages plus ou moins redondants et effec-tuons l’intersection de ces automates. Nous avons donc int´erˆet `a choisir notre ensemble de valeurs qui servira de support au filtrage pour qu’il y ait peu d’automates et que ces automates soient petits. Dans [BLRP06] est propos´e le choix suivant de valeurs de trait.

Ces valeurs sont construites `a partir des valeurs pr´esentes dans l’automate de s´elections.

Nous partons de l’observation suivante : d’apr`es la d´efinition des bilan de polarit´es, pour deux valeurs de traits v1 et v2, si v1 ⊆ v2 alors pour toute DAP D on a pD(v2) ⊆ pD(v1). En effet plus v, l’ensemble de valeurs atomiques que l’on passe en argument de la fonction pD, est grand, plus il y a de chance que D contiennent des traits dont toutes les valeurs appartiennent `a v, ce qui implique que la valeur de pD(v) est un singleton.

A la limite,` pD(?) est un singleton pour toute DAP D. Mais il existe d’autres valeurs interm´ediaires pour lesquelles on obtient aussi des singletons.

Quel est l’int´erˆet d’avoir des singletons ? Supposons que nos intervalles soient tous born´es, qu’il sont tous inclus dans [−K;K] (ce qui est le cas en pratique, 3 semble ˆetre une borne naturelle). Or sur cette partie des entiers [−K, K] il existe ´evidemment moins de singletons (il y en a 2K + 1) que d’intervalles en g´en´eral (il y en a (K + 1)(2K + 1)). Nous avons donc int´erˆet `a choisir des valeurs de traits pour lesquelles les ´etats de l’automates sont des singletons. Les automates seront donc petits, et l’automate r´esultat de l’intersection sera ´egalement petit.

Pour illustrer ce point, consid´erons la figure 6.7. Comparons le bilan de polarit´e pour les valeurs np, n et{np, n}.

– p(np) = [−2;−1] n’est pas un singleton – p(n) = [−1; 0] n’est pas un singleton – p({np, n}) = [−2;−2] est un singleton

On retrouve ces diff´erences au niveau des automates de filtrage des valeurs np, n et {np, n} pour la phrase Jean de qui la femme de Pierre est amoureuse dort. repr´esent´es sur les figures 6.8, 6.9 et 6.10.

L’automate obtenu `a la fin de notre m´ethode de filtrage est identique, que l’on prenne les deux automates A(n) et A(np) ou uniquement l’automate A({n, np}). En revanche, utiliser uniquement le dernier automate permet d’arriver plus vite au r´esultat.

Comment choisir un ensemble de valeurs pour lesquelles bilans de polarit´es seront le plus souvent des singletons et qui permettent de filtrer efficacement n´eanmoins ?

Premi`erement, notre premi`ere observation ci-dessus indique que si des valeurs de traits pr´esentes dans l’automate de s´elections sont ordonn´ees par la relation ⊆alors on peut se contenter de ne garder que l’´el´ement maximal. On r´eduira la taille des intervalles et on aura donc plus de chance d’avoir des singletons. AppelonsSpol le sous-ensemble des valeurs de traits pr´esentes dans l’automate initial avec les polarit´es → et ← dont on ne garde que les valeurs maximales par ⊆. Pour r´eduire encore le nombre de valeurs, consid´erons

6.7. Choix des valeurs de traits pour le filtrage

cat -> s

mood = <1>ind | subj tense = <4>?

cat = v

mood = <1>ind | subj num = <2>sg

mood = <1>ind | subj num = <2>sg pers = <3>1 | 3 tense = <4>?

Figure 6.7 – Une DAP associ´ee `a reste

DProperNoun_10

Figure 6.8 – Automate de filtrage pourn : 22 ´etats, 658560 chemins

DProperNoun_10

Figure 6.9 – Automate de filtrage pour np : 22 ´etats, 76160 chemins

DProperNoun_10

Figure 6.10 – Automate de filtrage pour {np, n}: 20 ´etats, 69940 chemins

6.8. Informations syntaxiques et filtrage : le cas de la coordination