• Aucun résultat trouvé

Avec la venue de systèmes informatiques puissants, bon marchés et interconnectés, il est devenu possible et de manière aisée, de distribuer électroniquement à grande échelle le contenu des bases de données à tra-vers le monde. L’élément essentiel et le problème majeur est situé, de nos jours, dans la manière de pouvoir interroger ces bases de données de ma-nière efficace. Le but principal de l’indexation par similarité (similarity indexing), est le même que les autres méthodes de recherche: minimiser le temps moyen requis pour effectuer une requête à la base de données.

De plus, les structures qui supportent dynamiquement l’insertion (ou la suppression) de nouveaux éléments ainsi que les systèmes qui ont une im-plémentation optimale du point de vue accès disques sont préférables à d’autres méthodes. En effet, les bases de données multimédias font appel à de larges bases de données et l’efficacité d’opérations telles que le ra-jout, la modification ou la suppression de données est primordiale (cha-pitre 3).

L’efficacité d’une requête dépend de sa formulation, c’est-à-dire la manière d’introduire la requête, de l’interface mise à disposition, du temps d’exécution de la recherche, du mode de représentation des don-nées retrouvées et de la relevance des dondon-nées retourdon-nées.

Du point de vue de l’utilisateur, il y a plusieurs possibilités de formu-ler une expression pour rechercher une donnée [127][126]:

• Recherche directe (direct access ou query-by-properties): l’utilisa-teur connaît exactement ce qu’il recherche et sait aussi comment le système a stocké les données ainsi que les relations entre les don-nées, c’est-à-dire les indices utilisés, les primitives extraites durant la phase d’analyse, les points d’accès, etc. Une telle expression peut être directement exprimée en utilisant un langage de dialogue avec la base de données, tel que SQL [35]. C’est en réalité la manière la plus simple d’exprimer une requête et la plus rapide, par exemple en demandant directement d’afficher l’image ayant pour nom por-sche.gif. Une requête simple serait typiquement du genre: "se-lect name from database where color=’red’ and type=’porsche’". C’est le moyen d’accès qui demande le plus de connaissance de la part de l’utilisateur. Généralement, ce moyen

d’accès est retenu par l’informaticien expérimenté, mais pas par les utilisateurs qui ne connaissent pas les liens physiques attachés aux données ainsi que le langage d’interrogation de la base de données.

• Recherche par association (query-by-association): cela signifie qu’il existe un lien entre les items ayant des caractéristiques com-munes. L’utilisateur a ainsi la possibilité de suivre un lien à partir d’un item déjà trouvé et de se “promener” (surfer) en utilisant les différents liens d’items en items. Cela signifie aussi que l’agence-ment et l’organisation des élél’agence-ments de la base de données doivent être préparés d’avance. Cette organisation demande beaucoup de travail manuel de la part du gestionnaire de la base. De plus, la base de données est généralement construite de manière statique (peu d’évolution): l’insertion de nouveaux éléments ou d’une nouvelle classe de données s’effectue manuellement. Par exemple, les bases de données comportant des images de toutes natures, dénommées ImageSurfer [141], ou WebSeek [154], sont construites selon ce modèle.

• Le classement similaire (similarity join): cette opération consiste à effectuer la requête suivante: ''Trouve toutes les paires d’items qui sont similaires". Cette opération permet essentiellement de pouvoir réaliser un classement de toute la base de données et de pouvoir déterminer si un partitionnement optimum en différentes classes peut effectivement être créé [79][108]. Il n’y a pas dans ce cas de recherche précise d’un élément, mais une clas-sification automatique de l’ensemble des éléments de la base de données en vue d’une partition optimale des données.

• Recherche par l’exemple (query-by-example, query-by-similarity):

la recherche d’items suivant un exemple ne peut être possible que si la définition de similarité entre items est elle-même définie. Pour les données uniquement textuelles, une mesure de concordance de textes est utilisée. Une autre notion de recherche par l’exemple est fournie par la notion de classification des items (ou de parties d’items). Dans ce cas, chaque item est placé dans une ou plusieurs classes suivant ses caractéristiques. Pour la recherche d’images par l’exemple, le cas typique est d’effectuer une recherche du genre:

"Retrouve les images qui sont similaires à ce

modèle". La plupart des moteurs de recherche sur le Web four-nissent cette possibilité. Le terme "similaire" doit donc être défini clairement et produire des résultats attendus par l’utilisateur. Dans ce cas, le modèle utilisé est une image se trouvant dans la base de données.

L’opération de sélection similaire (similarity selection) est très im-portante, car elle permet de se déplacer dans la base de données (browsing the content) de manière très efficace. Elle permet aussi de pouvoir exploiter les différents algorithmes de similarité. Cette requête peut être considérée comme analogue à une opération de sé-lection effectuée sur une base de données relationnelle. Par contre, cette requête ne spécifie pas le nombre d’items que le système doit retourner. Il y a alors deux possibilités: soit le système retourne les p items les plus similaires; soit tous les items sont retournés dont la mesure de similarité est inférieure à un certain seuil, noté k, fixé préalablement.

• Recherche par pictogrammes (query by pictorial example): la créa-tion d’une requête consiste à séleccréa-tionner des icones prédéfinies et de construire ainsi son image-modèle. Ce principe est surtout utilisé par les bases de données géographiques où les pictogrammes repré-sentent des routes, maisons, arbres, etc [16].

• Recherche par esquisse (sketch-query): ce type de recherche s’ap-plique plus particulièrement sur des images (malgré qu’une es-quisse vocale puisse être, par exemple, une phrase parlée par l’utilisateur avec un accent particulier dans le cas d’une base de données sonore). Une esquisse est tracée à la main par l’utilisateur, et peut représenter une forme particulière qu’il désire retrouver par-mi toutes les images contenues dans la base de données. Les contours peuvent être définis par des polygones [17] ou par des splines [18] pour les images de type clip-art ou par les gradients pour les images en couleurs [56]. Si des caractéristiques colorimé-triques ont été définies, il est aussi possible de tracer des zones de différentes couleurs [49]. La texture peut aussi être déterminée gra-phiquement avec une interface appropriée [66]. Les images possé-dant les même caractéristiques sont alors retournées par le système.

nécessite que très peu d’information a priori. Mais en contrepartie, le temps de calcul pour la recherche devient plus important et les ré-sultats produits ne peuvent être qu’approximatifs. Ce type de re-cherche n’est pour le moment disponible que sur peu de dispositifs.

Sur le Web, notre prototype est l’un des rares systèmes actuelle-ment disponible permettant une requête au moyen d’une esquisse dessinée par l’utilisateur.

Pour l’opération de recherche par similarité et par esquisse, il arrive souvent que le meilleur item retrouvé par le système ne corresponde pas exactement à ce qui est attendu, car les méthodes informatiques utilisées ne correspondent pas exactement à ce que l’utilisateur espère. Les me-sures de similarité de l’ordinateur ne sont pas forcément équivalentes à celles d’un être humain. La similarité entre l’esquisse (le modèle) et les données doit être définie de manière à fournir les résultats escomptés par l’utilisateur.

Si un score peut être donné qui représente une mesure de proximité entre les items, alors le système trie les items suivant cette mesure et l’uti-lisateur a ainsi la possibilité d’examiner en premier les items retrouvés les plus intéressants. Ce principe est intéressant pour les grandes bases de données. En outre, si plusieurs critères de recherche sont appliqués, le score final doit alors regrouper les différents scores partiels.

Du point de vue pratique, l’opération de sélection d’items similaires retourne toujours les p objets les plus similaires au modèle de référence.

Ils sont de plus triés dans l’ordre décroissant de mesure de similarité k.

Dans le cas où de multiple items possèdent la même mesure de similarité avec le modèle, le nombre d’éléments retournés est indéfini. C’est pour cela que deux seuils doivent être précisés: le seuil p permettant de spéci-fier le nombre maximum d’items retournés et le seuil k spécifiant la valeur minimale de similarité qu’une requête doit vérifier. Si le seuil k est au maximum, alors la requête retourne tous les items avec un niveau de si-milarité en dessous de ce seuil. Si le seuil p est mis au maximum, alors le système retourne les k items les plus similaires.

La différence essentielle entre l’indexation par similarité et les autres types d’indexation de base de données est située sur le type de données à manipuler. Les données ou les objets devant être indexés sont représentés

par un vecteur multidimensionnel, usuellement constitué de 5 à 100 di-mensions, voire même davantage. La plupart des structures d’indexation ne sont pas prévues pour manipuler des données possédant une dimensio-nalité si élevée. Le rôle des arbres d’indexation est de fournir un méca-nisme de bas niveau pour l’indexation dynamique dans le cas de recherche de données par similarité (voir le chapitre 3).