• Aucun résultat trouvé

2.6 Traitement des requˆetes

2.6.1 Mod`ele vectoriel ´etendu

Dans les approches issues du mod`ele vectoriel, une mesure de similarit´e de chaque ´el´ement `a la requˆete est calcul´ee, et ce `a l’aide de mesures de distance dans un espace vectoriel. Les ´el´ements sont repr´esent´es par des vecteurs de termes pond´er´es. Pour ce faire, la plupart des approches indexent des sous- arbres imbriqu´es (section2.4.2.1), c’est `a dire propagent les termes des noeuds feuilles dans l’arbre du document. Les ´el´ements sont renvoy´es `a l’utilisateur par ordre d´ecroissant de pertinence.

On trouve dans [79] une des premi`eres adaptations du mod`ele vectoriel. La similarit´e d’un noeud n `a une requˆete q = {t1, t2, ...tT} est exprim´ee selon

l’´equation 2.1 : sim(q, n) = α(T )cosm(q, n) + s X k=1 cosm(q, nk) βk−1 (2.1)

o`u α(T ) est un facteur permettant de prendre en compte le type du noeud, s est le nombre de noeuds enfants nk de n, et β est un param`etre permettant

d’assurer que le nombre d’enfants n’introduit pas un biais dans la formule. La fonction cosm est d´efinie de la fa¸con suivante :

cosm(q, n) = T X i=1 wiq∗ win |n| (2.2) avec wiq et wn

i respectivement le poids du terme tidans la requˆete q et dans le

noeud n, et |n| le nombre de termes dans le noeud n.

la pertinence des noeuds descendants.

Le mod`ele peut ˆetre g´en´eralis´e en permettant le traitement des requˆetes orient´ees contenu et structure. L’id´ee de base est l`a encore d’appliquer le mod`ele r´ecursive- ment `a chaque sous-arbre de la hi´erarchie pour ensuite effectuer un agr´egat des scores.

Schlieder et Meuss [186] int`egrent la structure des documents dans la me- sure de similarit´e du mod`ele vectoriel. Leur mod`ele de requˆete est bas´e sur l’inclusion d’arbres : cela permet de formuler des requˆetes sans connaˆıtre la structure exacte des donn´ees.

Les auteurs proposent la notion de terme structurel, d´efinie comme un arbre ´etiquet´e. book[author], book[Bradley, title[XML]], author[Bradley], ... sont des exemples de termes structurels.

Les notions de tf et idf sont adapt´ees au processus de recherche dans des do- cuments structur´es. Soit E un ´el´ement de type t. Le poids wt

T,E d’un terme

structurel T dans E est d´efini par : wt

T,E = tfT,E.idfTt =

f reqT(E)

maxf req(E).(log( |Et|

nT

) + 1) (2.3)

avec f reqT(E) le nombre d’occurrences de T dans E, maxf req(E) le nombre

maximal d’´el´ements de la collection poss´edant la mˆeme ´etiquette que E, |Et|

le nombre d’´el´ements de type t et nT le nombre d’´el´ements contenant T .

Les auteurs combinent ainsi le mod`ele vectoriel et le ”tree matching” afin de r´epondre `a des requˆetes orient´ees contenu et structure. Dans le mod`ele pro- pos´e, seuls les ´el´ements (c’est `a dire les sous-arbres) qui ont une structure qui peut ˆetre r´eduite `a celle de la requˆete (c’est `a dire qu’en supprimant certains ´el´ements du sous-arbre, on peut arriver `a la requˆete) ont un score de pertinence non nul.

Dans [90], Grabs et Scheck proposent d’´evaluer l’importance d’un terme dans un ´el´ement donn´e en fonction de l’importance du terme dans les ´el´ements du mˆeme type.

Lorsque la requˆete est compos´ee d’une condition sur le type d’un ´el´ement (on nommera cat ce type) ainsi que d’une condition sur le contenu de cet ´el´ement (requˆete orient´ee contenu et structure), la similarit´e d’un ´el´ement e de type cat `a la requˆete q est calcul´ee selon l’´equation2.4 :

RSV (e, q) = X

t∈terms(q)

tf (t, e).iefcat(t)2.tf (t, q) (2.4)

o`u tf (t, e) est la fr´equence du terme t dans l’´el´ement e et iefcat = logefNcatcat(t),

avec Ncat le nombre d’´el´ements du type cat et efcat(t) la fr´equence du terme t

dans les ´el´ements du type cat.

Soit SE(e) l’ensemble des descendants de e incluant e. ∀ se ∈ SE(e), l ∈ path(e, se) est une ´etiquette appartenant au chemin reliant e `a se, c’est `a dire un type d’´el´ement. Soit enfin awl ∈ [0, 1] un facteur mod´elisant l’importance de

l’´etiquette l. La similarit´e d’un ´el´ement e `a une requˆete q compos´ee de simples mots-cl´es est d´efinie de la fa¸con suivante :

RSV (e, q) = X se∈SE(e) X t∈terms(q) tf (t, se)( Y l∈path(e,se) awl).iefcat(se)(t)2.tf (t, q) (2.5) Cette approche a ´et´e ´evalu´ee dans la campagne d’´evaluation INEX 2002 et les r´esultats ont cependant ´et´e peu convainquants.

Le mod`ele JuruXML [137, 135] propose d’indexer les ´el´ements selon leur type (un index par type d’´el´ement) et d’appliquer ensuite le mod`ele vectoriel pour la pond´eration des ´el´ements.

Les requˆetes orient´ees contenu sont ´evalu´ees sur chacun des index et les r´esultats, qui ont ´et´e normalis´es, sont ensuite fusionn´es afin de fournir `a l’utilisateur une liste unique de r´esultats.

Une requˆete structur´ee est quant `a elle ´evalu´ee en trois phases. Tout d’abord, la requˆete originale est d´ecompos´ee en ensemble de conditions de la forme (chemin, terme). Ensuite, une correspondance vague entre les chemins est cal- cul´ee. Soit cqi la condition de chemin pour le terme ti et cei le XPath du terme ti

dans l’´el´ement e. La fonction de similarit´e entre les deux chemins est exprim´ee selon l’´equation 2.6 : cr(cqi, c e i) =    1+|cqi| 1+|ce i|si c q

i est une sous − sequence de cei

0 sinon (2.6)

Par exemple, cr(article/bibl, article/bm/bib/bibl/bb) = 3/6 = 0.5. On a enfin : RSV (e, q) = P (t,cqi)∈q P (t,ce i)∈ewq(t) ∗ we(t) ∗ cr(c q i, cei) |q| ∗ |e| (2.7)

o`u wq(t) et we(t) sont les poids du terme t dans q et e, et |q| et |e| sont les

nombres de termes dans q et e.

Cette derni`ere approche, ´evalu´ee dans le cadre de la campagne INEX 2004 permet d’obtenir de bons r´esultats par rapport `a l’ensemble des participants.

Le moteur de recherche XXL [201] est lui aussi bas´e sur le mod`ele vectoriel et utilise une fonction de tri bas´ee sur tf et idf. XXL offre des fonctionnalit´es pour la recherche orient´ee-pertinence de chemins, c’est `a dire que la recherche est effectu´ee avec des conditions de chemins vagues. XXL repose sur une syntaxe SQL (select-from-where).

On trouvera d’autres exemples d’adaptation du mod`ele vectoriel dans [12, 53,