• Aucun résultat trouvé

4.5 Mesure de similarit´e

4.5.1 Langage infini

Dans certains cas, on peut ˆetre amen´e `a consid´erer un langage infini, ou trop grand pour ˆetre compl`etement ´evalu´e sur tous les exemples. Dans cette situation, on consid`ere un ´echantillon fini du langage : les clauses sont g´en´er´ees stochastiquement `a l’aide de param`etres, sp´ecifi´es `a l’avance, et permettant de contrˆoler la taille du langage (|L|), la complexit´e des clauses (Plit., Pcontr.) et les poids des domaines (Pdom).

Pour mieux comprendre l’utilit´e de ces param`etres, nous construisons un exemple ad-hoc. On consid`ere dans ce qui suit, un langage constitu´e de trois pr´edicats p, q et r, d’arit´es respectives 1,3 et 3. Pour les arguments de chaque pr´edicat, on pose les domaines suivants :

p(D1) ; q(D1, D2, D3) ; r(D2, D4, D5)

Ainsi, les premiers arguments des pr´edicats, respectivement p et q, sont de mˆeme domaine, tout comme le second argument de q et le premier de r.

Supposons que p(X) repr´esente le concept cible `a d´efinir. Le langage de description que nous allons construire est alors constitu´e de clauses de la forme :

p(X)← l1, l2, . . . , ln, c1, . . . , cm

Dans cette clause, les litt´eraux li sont de la forme q(X, Y, Z) ou r(Y, T, U ) et les cj correspondent `a des contraintes du type T = v, o`u v est une valeur choisie dans le domaine de T13.

Sp´ecification de la taille des clauses du langage

Le param`etre Plit. permet de contrˆoler le nombre de litt´eraux qui seront ajout´es `a une clause. Par exemple, la sp´ecification Plit.(#litt´eraux = 2) = 1 force toutes les clauses du langage `a contenir exactement deux litt´eraux dans leur corps. De mˆeme, la sp´ecification

Plit.(#litt´eraux = 1) = Plit.(#litt´eraux = 2) = Plit.(#litt´eraux = 3) = 1 3

12La pr´ecision par rapport `a un concept cible est calcul´ee par le rapport du nombre d’exemples positifs de ce concepts couverts par la clause sur le nombre total d’exemples.

13On peut ´egalement envisager d’autres formes de contraintes, suivant la nature du domaine (T6= v, T ≥ v, etc).

entraˆınera la construction d’un langage de description dans lequel il devrait y avoir sensi-blement autant de clauses constitu´ees de 1 litt´eral dans le corps, que de clauses constitu´ees de 2 ou de 3 litt´eraux.

Sp´ecification des domaines et ajout de contraintes

L’ajout de contraintes permet de sp´ecialiser une clause et de la rendre ainsi plus dis-criminante. Par exemple, si l’on consid`ere la clause p(X1) ← q(X2, Y, Z) il est probable que cette clause soit peu discriminante pour un ensemble quelconque d’exemples positifs et n´egatifs du concept cible. En revanche, la clause p(X1) ← q(X1, Y, Z), Z = v est une clause sp´ecifique pouvant avoir un int´erˆet pour distinguer des exemples.

Par d´efaut, nous choisissons d’associer syst´ematiquement une contrainte, `a chaque nouveau litt´eral ajout´e. On distingue deux types de contraintes, possibles `a ajouter : les contraintes de liaison (ou unifications) ou les contraintes g´en´eriques (num´eriques ou symboliques). Ces contraintes portent sur des variables et d´ependent donc du type de domaine des variables. On d´ecline alors trois types de domaines : les domaines de liaison forc´ee, les domaines de liaison possible et les domaines de contrainte g´en´erique.

Supposons, dans notre exemple, que :

– D1 soit un domaine de liaison forc´ee (on le note alors Df orce1 ), – D2 un domaine de liaison possible (D2poss.),

– D3, D4 et D5 des domaines de contrainte g´en´erique (Dgener.3 , Dgener.4 , Dgener.5 ). Nous rappelons ici les typages des pr´edicats, en utilisant cette nouvelle notation :

p(D1f orce) ; q(Df orce1 , Dposs.2 , D3gener.) ; r(D2poss., Dgener.4 , Dgener.5 )

Domaine de liaison forc´ee : L’ajout d’un litt´eral dont le domaine de l’une des riables est du type “domaine de liaison forc´ee”, entraˆıne une unification de la va-riable concern´ee avec une vava-riable de mˆeme domaine d´ej`a pr´esente dans la clause. Par exemple, partant de la clause p(X1)←, si on choisit d’ajouter le litt´eral q(X2, Y, Z)14, on oblige l’unification des variables X1et X2 qui sont toutes deux du mˆeme domaine de liaison forc´ee Df orce1 . Dans un premier temps, la clause est alors de la forme

p(X1)← q(X1, Y, Z)

Cette premi`ere contrainte est syst´ematiquement compl´et´ee par une seconde contrainte, parmi les deux autres types de contraintes, associ´ees aux deux autres types de do-maines (liaison possible et contrainte g´en´erique).

Domaine de liaison possible : une contrainte d’unification peut ˆetre ajout´ee, sur une variable d’un domaine de liaison possible. Cette contrainte consiste, lorsque c’est possible, `a unifier cette variable avec une variable d´ej`a pr´esente dans la clause en construction. Par exemple, ´etant donn´ee la clause obtenue pr´ec´edemment (p(X1)← q(X1, Y, Z)), aucune contrainte de ce type ne peut ˆetre ajout´ee. En effet, la seule variable possible `a unifier est Y (de domaine Dposs.2 ), mais aucune autre variable de son domaine n’est pr´esente.

Par contre, si l’on consid`ere la clause suivante en construction : p(X1)← q(X1, Y1, Z), Z = v

et que l’on choisisse d’ajouter le litt´eral r(Y2, T, U ), la variable Y2(de domaine D2poss.) peut ˆetre unifi´ee `a la variable Y1 de mˆeme domaine et d´ej`a pr´esente, pour former la clause

p(X1)← q(X1, Y1, Z), r(Y1, T, U ), Z = v

Domaine de contrainte g´en´erique : une contrainte peut porter sur une variable de domaine de contrainte g´en´erique. Ces contraintes correspondent aux cj de la forme Z = v, Z6= v, Z ≤ v, etc. avec v appartenant au domaine de Z.

Pour r´esumer, lorsqu’un litt´eral est ajout´e `a une clause en construction, on regarde d’abord si une unification est possible sur deux variables d’un mˆeme domaine de liai-son forc´e. Si tel est le cas, l’unification est effectu´ee. Dans tous les cas, une contrainte d’unification ou une contrainte g´en´erique est ensuite ajout´ee.

Pour choisir d’ajouter plutˆot l’une ou l’autre des deux types de contraintes, ainsi que la variable sur laquelle elle doit porter, on se r´ef`ere aux types et aux poids des domaines. En effet, `a chaque domaine Di est associ´e une probabilit´e Pdom.(Di), pouvant ˆetre consid´er´e comme un poids. Le choix du type de contrainte d´epend du type de domaine s´electionn´e (contrainte d’unification pour un domaine Dposs. et contrainte g´en´erique pour un domaine

Dgener.) et la s´election du domaine est effectu´ee en fonction de la distribution Pdom..

Consid´erons, par exemple, la distribution suivante sur les domaines de notre exemple15 :

Pdom.(Dposs.2 ) = 0.25 ; Pdom.(Dgener.3 ) = 0.5

Pdom.(Dgener.4 ) = 0.125 ; Pdom.(D5gener.) = 0.125

Supposons que p(X1) ← q(X1, Y1, Z), Z = v soit la clause en construction et r(Y2, T, U ) le litt´eral `a ajouter. Aucune des variables Y2, T ou U n’appartient `a un domaine de liai-son forc´ee, il n’y a donc pas d’unification “forc´ee” `a effectuer. Par contre, par d´efaut, une contrainte doit ˆetre ajout´ee sur l’une des trois variables Y2, T ou U , de domaines respectifs

Dposs.2 , D4gener. et D5gener.. ´Etant donn´ee la distribution de probabilit´e propos´ee ci-dessus,

le domaine de Y2 a deux fois plus de chance d’ˆetre choisi que les domaines de T ou de U , ainsi, l’une des trois clauses suivantes est construite, avec les probabilit´es associ´ees :

P (p(X1)← q(X1, Y1, Z), r(Y1, T, U ), Z = v) = 2/3 (choix du domaine Dposs.2 ),

P (p(X1)← q(X1, Y1, Z), r(Y2, T, U ), Z = v1, T = v2) = 1/3 (choix du domaine Dgener3 ), P (p(X1)← q(X1, Y1, Z), r(Y2, T, U), Z = v1, U = v2) = 1/3 (choix du domaine D4gener).

Contraintes additionnelles

Un dernier param`etre influant pour la construction des clauses du langage de descrip-tion est le nombre de contraintes addidescrip-tionnelles. En effet, une fois les litt´eraux ajout´es (en nombre sp´ecifi´e), k contraintes sont ajout´ees. Ces contraintes sont g´en´er´es de la mˆeme fa¸con que pr´ec´edemment, en choisissant un domaine relativement `a la distribution Pdom. puis en ajoutant la contrainte li´ee au domaine (unification ou g´en´erique). Le nombre k est, quant `a lui, d´efini par une nouvelle distribution Pcontr..

15Notons qu’il est inutile de poser un poids pour les domaines de liaison forc´ee, pour lesquels l’unification est syst´ematique (e.g. Dposs.1 ).

Par exemple, si on choisit la distribution

Pcontr.(#contraintes = 0) = Pcontr.(#contraintes = 1) = 0.5,

les clauses du langage contiendront au plus 1 contrainte additionnelle et il y aura approxi-mativement autant de clauses qui ne contiennent pas de contrainte additionnelle que de clauses qui en contiennent une.

Nous proposons dans la section suivante, des exp´erimentations avec diff´erents lan-gages sur la base de donn´ees Mutag´en`ese. Nous observons `a cette occasion l’influence des diff´erents param`etres|L|, Pdom. et Plit. du langage, sur la qualit´e de la mesure induite.