Sujet : définition d'un outil d'annotations structurées permettant de naviguer dans un ensemble d'informations


Encadrant

Phil. REITZ.


Objectif

Il s'agit de définir et mettre un oeuvre un outil d'annotations permettant de retrouver facilement des informations dans un gros volume d'informations. Le travail se focalisera en particulier sur le problème du raffinement d'une recherche.

Hypothèses de travail

Pour fixer les idées, posons que l'élément d'information minimal soit un fichier. Dans le système d'information, chaque fichier est donc caractérisé par :

L'objectif d'un utilisateur est donc de retrouver un fichier parmi un grand ensemble de fichiers, afin d'agir comme bon lui semble sur son contenu. L'outil à définir doit faciliter ce travail de recherche. Comme il est peu probable que l'utilisateur trouve immédiatement le fichier qui l'intéresse, il devra donc formuler une série de requêtes.

Un langage de requête

Un premier langage de requête imaginable, concrétisé sur le Web par des moteurs de recherche pionniers comme Altavista, mais connu depuis longtemps dans le monde de la recherche documentaire, s'appuie sur des opérateurs du calcul booléen ; si Pi désigne un prédicat portant soit sur une catégorie, soit sur une valeur, soit sur une annotation, alors une requête sera une expression booléenne dans laquelle des prédicats seront composés via des conjonctions (Pi and Pj), des disjonctions (Pi or Pj) ou des négations (not Pi).

Démarche d'une recherche d'information

Dans un langage de requête idoine, la recherche d'information peut se présenter comme un processus itératif dont le cycle élementaire est :

  1. Utilisateur : soumission d'une requête au système
  2. Système : filtrage puis production de la liste des éléments satisfaisant la requête
  3. Utilisateur : analyse de la réponse puis élaboration de la prochaine requête si la recherche n'a pas abouti

Dans la phase de production de la liste des fichiers satisfaisant la requête, une solution communément adoptée consiste à attribuer une note aux fichiers retenus, puis à en présenter une liste par note décroissante, en affichant pour chaque fichier un sous-ensemble de ses annotations supposées être intéressantes pour affiner par la suite la requête.

Travail demandé

Le TER a pour objectif de proposer des solutions à ce problème de raffinement : après avoir filtré une liste de fichiers via une première requête, comment suggérer à l'utilisateur les annotations qui ont le plus de chance de lui garantir que sa recherche convergera rapidement.

Cette réflexion peut s'appuyer simplement sur les annotations effectivement présentes sur les fichiers retenus, ou exploiter des relations sur les annotations en général :

Notons que ces relations peuvent elles-mêmes être spécifiées une fois pour toute dans le système d'annotations, ou simplement inférées (par abduction ou induction) en observant des ensembles de fichiers annotés.


Annexe

Une idée à étudier : supposons que la requête précédente ait produit une liste L de n fichiers. Le système suggérera à l'utilisateur de raffiner sa requête en précisant la valeur v à donner à une catégorie k, choisie de telle façon que la liste L soit partitionnée en m partitions Qi (disjointes, donc), sachant que :

Cette stratégie exploite le principe d'information maximum (ou entropie minimum). Elle est exploitée par exemple dans des outils d'apprentissage automatique (machine learning) ou de fouilles de données (data mining), dont l'un des pionniers fut ID3, de J.R. Quinlan.