• Aucun résultat trouvé

Critères de recherche au niveau sémantique

IV. Plan de la thèse

3. La recherche et la réutilisation de données 3D

3.1. La recherche

3.1.2. Critères de recherche au niveau sémantique

La recherche des données 3D en utilisant des critères de niveau sémantique peut s’apparier à la recherche à base de mots-clés que nous rencontrons classiquement dans la recherche textuelle. Ceci est dû au fait que la sémantique est associée de manière explicite aux données 3D. Elle est représentée sous forme textuelle soit en utilisant un ensemble de termes décrivant l’entité, soit en utilisant une description plus complexe qui inclut l’utilisation des relations entre termes à la manière de RDF, OWL, MPEG-7 ou autre formalisme de représentation.

La principale barrière à la large adoption dans les systèmes de recherche de données 3D est la difficulté d’automatiser le processus d’extraction de la sémantique à partir des caractéristiques de bas niveau comme la géométrie, l’apparence ou la topologie de données 3D. Cependant, en dépit de la difficulté d’obtenir des informations sémantiques de manière automatique, la plupart des entrepôts de données 3D disponibles sur le Web, tels que 3DWarehouse19, 3DCafe20, mettent à disposition des utilisateurs des moyens de recherche par mots-clés. Ces systèmes encouragent les utilisateurs à décrire les données 3D qu’ils déposent dans les entrepôts. La description se fait suivant un certain nombre de critères sémantiques imposés par le gestionnaire de l’entrepôt. À défaut de fournir ces informations, les données 3D n’ont aucune visibilité et ne sortent jamais dans les résultats de recherche. Cette politique de publication de données 3D au moyen d’entrepôts accessibles depuis le Web, laisse entrevoir une croissance certaine de données 3D qui peuvent être exploitées en considérant les informations sémantiques qui leurs sont associées.

Les propositions de caractérisation sémantique que nous avons présentées à la fin du chapitre précédent stockent explicitement la sémantique dans des documents (RDF, MPEG-7, X3D). Pour interroger la sémantique, des solutions spécifiques à chaque type de document peuvent être implémentées afin de récupérer les objets 3D dont la sémantique satisfait la requête de l’utilisateur. Dans la suite de cette section, nous présentons les principaux langages d’interrogation relatifs à la recherche d’information dans les standards RDF et MPEG-7 sur lesquels la plupart des applications sémantiques reposent.

3.1.2.1. Langages d’interrogation pour RDF

La structuration des documents RDF enrichit les possibilités d’analyse et implicitement d’utilisation des descriptions faites en RDF. Un grand nombre de langages de requêtes qui ont été répertoriés dans [Haase et al., 2004][Hutt, 2005], visent à exploiter les informations représentées en intégrant les concepts du modèle RDF.

XQuery [Boag et al., 2007] étant par excellence le standard d’interrogation des documents XML, qui correspond à la sérialisation des graphes RDF, semble être une bonne

19 http://sketchup.google.com/3dwarehouse/ 20 http://www.altairmodels.com/Free-3D.php

solution pour interroger les documents RDF. Cependant, il n’intègre pas des opérateurs de sélection qui font référence aux concepts utilisés dans RDF et notamment les triplets (sujet, prédicat, valeur). Certains langages, comme XsRQL [Katz, 2004], s’appuient sur l’encodage XML de graphes de descriptions RDF et proposent des langages d’interrogation sous la forme d’une extension de XQuery. D’autres (SPARQL [Prud’hommeaux et al., 2007], RDQL [Seaborne, 2004], et RQL [Karvounarakis et al., 2002]) sont construits autour des concepts et des structures utilisés en RDF. Nous poursuivons en présentant les langages issus de cette deuxième catégorie.

SPARQL [Prud’hommeaux et al., 2007]

SPARQL [Prud’hommeaux et al., 2007] est un langage d’interrogation RDF en cours de standardisation par le consortium W3C. Il peut être utilisé afin de formuler des requêtes portant sur des données provenant de plusieurs sources de données (fichiers RDF distincts, ou bien fichiers contenant des (méta)données exprimées en RDF). SPARQL supporte l’utilisation des patrons de graphes simples (tout triplet terme RDF, prédicat RDF, terme RDF) ou complexes qui incluent l’utilisation de filtres, de conjonctions, de disjonctions et de contraintes optionnelles dans la formulation de requêtes.

Chaque triplet de la requête peut contenir des variables et des valeurs RDF (termes ou URI). Un ensemble de contraintes peut être associé à la requête afin de contrôler les valeurs des variables. Le triplet suivant ( ?x, <http://lig.imag.fr/employe#type>, <http://lig.imag.fr/ doctorant>) représente une requête qui lie la variable x à tous les employés doctorant du LIG (Laboratoire d’Informatique de Grenoble). Le langage peut être également utilisé afin d’inférer de nouvelles connaissances en utilisant des requêtes telles que CONSTRUCT, DESCRIBE, ASK qui permettent respectivement de construire de nouveaux graphes RDF, d’ajouter des nouveaux descripteurs aux données, d’évaluer la validité de certaines expressions. Les requêtes sont formulées en utilisant une écriture de type SQL. Le résultat d’une requête SPARQL sérialisable en XML peut correspondre à un ensemble de valeurs ou bien de graphes RDF.

SPARQL est pour l’instant dans l’état de proposition de standardisation par le consortium W3C. En termes d’implémentation on peut compter sur le serveur Web Joseki21 pour la plate-forme Jena22 dont les bases scientifiques ont été posées dans [Carroll et al., 2004]. D’autres variantes moins complexes (RDF Data Query Language – RDQL) [Seaborne, 2004], Squish [Miller, 2001], Versa [Olson et al., 2004]) mais suffisamment puissantes ont été implémentées dans des systèmes de gestion de données RDF. Ces librairies sont distribuées en tant que projets libre source (Jena, RDFStore23, Sesame24, PHP XML Classes25, 3Store26, RDF Api for PHP27). Compte tenu de la grande ressemblance au sein de cette famille de langages, nous présentons ci-dessous uniquement RDQL [Seaborne, 2004] qui semble jouir d’un grand support étant notamment inclus dans les plates-formes Jena, PHP XML Classes.

RDQL [Seaborne, 2004]

RDQL [Seaborne, 2004] est un langage qui utilise une description de requêtes similaire au langage SQL. RDQL est utilisé exclusivement pour l’extraction de l’information contenue dans les graphes RDF. Une requête RDQL correspond à un patron de graphe exprimé comme 21 http://www.joseki.org 22 http://jena.sourceforge.net/ 23 http://rdfstore.sourceforge.net/ 24 http://sesame.sourceforge.net/ 25 http://rdfxmlclasses.sourceforge.net/ 26 http://3store.sourceforge.net/ 27 http://rdfapi-php.sourceforge.net/

une liste de triplets. Dans la Figure 3.10, nous donnons l’équivalent de la requête formulée plus haut en SPARQL, par l’intermédiaire d’un triplet, pour retrouver les doctorants du LIG.

SELECT ?x WHERE (?x,

<http://lig.imag.fr/employe#type>, <http://lig.imag.fr/doctorant>)

Figure 3.10 Requête RDQL pour retrouver les doctorants du LIG.

La puissance d’expression est moindre qu’en SPARQL mais les nombreuses implémentations démontrent qu’il est suffisamment puissant. Cette implémentation est disponible également sous forme d’une API Java ce qui rend possible son utilisation directement au sein de logiciels ou d’environnements supportant l’exécution dynamique de scripts.

RQL [Karvounarakis et al., 2002]

RQL [Karvounarakis et al., 2002] est un autre langage d’interrogation RDF qui suit une approche fonctionnelle. RQL supporte l’utilisation de chemins génériques en associant des variables aux termes (sujets, propriétés) ainsi qu’aux prédicats. RQL repose sur un modèle formel de graphe qui inclut les primitives de description RDF et permet l’interprétation de ressources externes par utilisation de schémas supplémentaires. Ce choix différencie le plus ce langage des autres langages d’interrogation RDF qui considèrent une approche basée sur des triplets. L’originalité de RQL réside dans sa capacité à combiner l’interrogation des schémas et des données, l’exploitation de taxonomies de termes et de multiples classifications. Dans la Figure 3.11, nous donnons l’équivalent de la requête formulée précédemment pour retrouver les doctorants du LIG.

SELECT x

FROM {x}type{y}

WHERE y=&http://lig.imag.fr/doctorant

Figure 3.11 Requête RQL pour retrouver les doctorants du LIG.

XsRQL [Katz, 2004]

XsRQL (XQuery-style RDF Query Language) [Katz, 2004] est un langage d’interrogation RDF qui s’est fortement inspiré de la syntaxe et du style de requêtes XQuery. XsRQL réutilise tant un grand nombre de concepts (le modèle de données, l’approche fonctionnelle) que la syntaxe proposés dans XQuery. Globalement, les prédicats XPath[Clark et al., 1999] sont remplacés par des critères de sélection portant sur les relations décrites dans RDF. Cette approche permet aux utilisateurs familiers avec les langages XML et XQuery de facilement formuler des requêtes sur les descriptions RDF. Dans la Figure 3.12 nous présentons la syntaxe XsRQL équivalente aux requêtes précédemment présentées dans cette section.

declare prefix lig: = <http://lig.imag.fr/>;

declare datasource membresLIG = <http://lig.imag.fr/users.rdf>;

for $person in membresLIG//*[@lig:employe#type/lig:doctorant ] return $person

3.1.2.2. Interrogation de données MPEG-7

Des langages d'interrogation spécifiques pour MPEG-7 existent [Graves et al., 2002][Liu

et al., 2002][Fatemi et al., 2003] mais ils ciblent plutôt la dimension audio-visuelle du contenu multimédia et, à notre connaissance, ils ne sont généralement pas extensibles. Dans [Hammiche

et al., 2007], toutefois, les auteurs proposent une solution d’interrogation extensible qui s’appuie sur l’utilisation conjointe d’ontologies de domaine et du standard MPEG-7. Nous présentons d’abord la proposition de [Fatemi et al., 2003], car même si elle reste fortement ancrée dans le domaine de l’audio-visuel, les principes et les choix qui ont mené à sa mise en place semblent pertinents et transposables aux données 3D. Ensuite, nous analysons la proposition de [Hammiche et al., 2007].

MPEG-7 est encodé en XML, ce qui fait du langage XQuery un candidat sérieux pour l’interrogation de documents MPEG-7. Toutefois, si un utilisateur veut exploiter directement ce langage, il doit bien connaître la façon dont les informations attributaires, les descripteurs audio-visuels et sémantiques sont organisés au sein du schéma MPEG-7. Afin de faciliter la récupération des informations enfouies dans les documents MPEG-7, il est nécessaire que les requêtes formulées s’appuient sur un modèle abstrait de données qui respecte les besoins des utilisateurs potentiels.

Figure 3.13 Un exemple de requête SVQL d’après [Fatemi et al., 2003].

Dans le cadre d’une étude des besoins professionnels identifiés auprès du personnel de la société Radio Suisse Romande (RSR), [Fatemi et al., 2003] proposent Semantic View Query Language (SVQL), une extension du langage XQuery qui contient des fonctions et prédicats spécifiques qui permettent aux utilisateurs d’extraire l’information en s’affranchissant de la structure complexe des documents MPEG-7. Les prédicats et les fonctions assurent l’exploitation de l’information contenue dans les documents MPEG-7 considérés sous différentes vues (thématique, visuelle, auditive, …). Chaque vue est décrite en utilisant cinq éléments : les entités de base, les descriptions, les intra-relations, les inter-relations et les opérateurs. Ces éléments sont à la base de toute requête SVQL. Comme le langage SVQL suit la syntaxe de XQuery (voir la Figure 3.13), les opérateurs propres à SVQL sont considérés comme des fonctions XQuery qui

traduisent les concepts abstraits des vues en expressions XPATH pointant sur les informations associées dans la structure du document MPEG-7.

Dans la Figure 3.13 nous présentons un exemple de requête SVQL qui recherche des vidéo concernant une intervention d’un supporter français de football en rapport avec le championnat européen EURO 2000. Les auteurs introduisent une série de fonctions spécifiques à l’organisation de leurs descripteurs (fact(), shot(), videoSegment(), speech(), event(), person(), getDescription()) qui cachent la complexité de l’organisation des descripteurs au sein de documents MPEG-7. Une fonction qui contrôle les critères de jointures induites par l’évaluation des fonctions présentées ci-dessus est également implémentée : corresponds.

Dans [Hammiche et al., 2007], les auteurs s’intéressent à l’interrogation des informations sémantiques stockées dans les documents MPEG-7 en utilisant des opérateurs sémantiques qui portent sur les données MPEG-7. Les opérateurs sémantiques sont définis au moyen de règles sémantiques qui exploitent les opérateurs de base liés aux concepts présents dans les documents MPEG-7. Les requêtes comportant des opérateurs autres que ceux de base sont réécrites en utilisant les règles de définition de ces opérateurs. En répétant plusieurs fois le processus de réécriture, la requête est décrite uniquement en utilisant des opérateurs de base, ce qui permet de générer une requête XQuery qui extrait directement les informations sémantiques recherchées. L’intérêt de cette proposition est qu’elle est extensible puisque de nouveaux opérateurs peuvent être construits en s’appuyant sur ceux existants.

Cette section relative à la recherche de contenu 3D nous a permis d’analyser les différents moyens de caractérisation (géométrique, d’apparence, topologique, sémantique) des données 3D en vue de leur réutilisation. Dans la section suivante, nous insistons sur l’exploitation de certains types de critères au sein des applications de recherche de contenus 3D.