Travail dirigé de Martin Sévigny, ©1996 Section précédente | Section suivante | Page d'accueil |

6. Les fonctions d'aide à la recherche

6.1 Idée générale

ERIS, le logiciel conçu dans le cadre de ce projet de recherche a pour objectif de permettre la recherche dans une base de documents structurés, notamment en utilisant la structure des documents comme critères de recherche. Mais l'exploitation de la structure à des fins de recherche peut se réaliser à condition que l'usager connaisse cette structure, ou au moins certaines parties de la structure. Toute la section "aide à la recherche" du logiciel est destinée à donner des informations à l'usager au sujet de la base de documents qu'il consulte, à la fois sur sa structure mais aussi, bien entendu, sur son contenu.

Ce module du logiciel a pour objectif de permettre à l'usager de réaliser ces grandes tâches:

6.1.1 Dictionnaires de données

Donner des informations sur la structure dans un logiciel d'interrogation de documents structurés peut sembler normal et essentiel, mais il est intéressant de réaliser que cela remplit une fonction que l'on retrouve dans plusieurs systèmes de gestion de bases de données textuelles. En effet, ces derniers permettent habituellement de savoir quels sont les champs (ou les index) que l'on peut interroger, de même que le contenu textuel de ces champs ou index, par la présence de fichiers inversés que l’usager peut consulter.

Un bel exemple est donné par le serveur de bases de données Knight-Ridder DIALOG. Pour interroger efficacement une de ces bases, l'usager doit connaître certaines informations: la couverture de la base, les champs et les index disponibles, les politiques d'indexation, les règles d'écriture, etc. Certaines informations concernent avant tout la base dans son ensemble, ses objectifs. D'autres concernent plutôt sa structure, comme les champs, les index, les règles d'écriture, etc. Avec Knight-Ridder DIALOG, l'usager peut connaître ces informations avec les "database chapters", qui décrivent chaque base, ou encore les "blue sheets", qui consistent en un résumé des chapitres et qui sont également accessibles en ligne.

En fait, toutes ces informations constituent le dictionnaire de données pour la base de données. Ce dictionnaire doit nécessairement être connu de ceux qui font la saisie et ceux qui gèrent la base, mais il devrait aussi être connu de ceux qui l'interrogent, car leur interrogation n'en sera que plus productive.

6.1.2 Le dictionnaire de données d'une base de documents structurés

Pour une base de données de documents structurés, l'approche doit être la même. Mais quel est le dictionnaire des données d'un ensemble de documents structurés? Afin de répondre à cette question et ainsi concevoir le module d'aide à la recherche du prototype, nous avons pris comme point de départ le fonctionnement d'un système d'édition électronique utilisant SGML. De plus, pour bien marquer la distinction et l'importance du dictionnaire de données dans le contexte de documents structurés, nous ferons appel au terme de "méta-information sur la base de documents".

Les DTD sont au coeur de tout système utilisant SGML pour la gestion de documents structurés. La DTD contient toutes les règles de structure que doivent respecter les documents, de même que certaines règles d'écriture élémentaires pour les valeurs d'attributs SGML.

Comme une DTD doit prévoir toutes les structures possibles pour un certain type de documents, il y a souvent "surabondance" d'éléments. Par conséquent, chaque document individuel n’utilisera que certains éléments de la DTD, un sous-ensemble.

Ainsi, une approche régulièrement utilisée avec SGML est de créer des DTD qui sont suffisamment souples pour permettre l'édition d'un grand nombre de documents parfois très différents (même si on les considère implicitement de même "type"). Les DTD TEI (pour "Text Encoding Initiative") et "Docbook" utilisée dans ce travail sont de bons exemples: elles permettent une grande variété dans la définition des documents, et même très grande dans le cas de TEI, puisque tous les genres littéraires peuvent s'y retrouver.

Une approche possible pour présenter la structure d'une base de documents structurés consisterait à présenter la DTD à laquelle elle se conforme, d'une façon intelligible par le public cible. Mais le contexte décrit précédemment nous amène à utiliser une autre approche, soit la présentation de la structure réalisée par la base de documents, le sous-ensemble de la DTD réellement utilisé par les documents.

En prenant cette approche, nous évitons à l'usager une masse importante d'informations dont il n'a peut-être pas besoin, et lui permettons ainsi d'arriver plus rapidement à l'information qui se retrouve effectivement dans la base. Par contre, nous perdons l'information sur ce qui ne se retrouve pas dans la base, et cette information peut s'avérer intéressante dans certains cas. En effet, prenons par exemple un usager qui cherche des citations d'auteurs célèbres dans une base de documents. S'il peut consulter la DTD et qu'il réalise qu'il y a un identificateur générique "citation" dont l'objectif est justement de contenir des citations, il serait intéressé à le savoir même si cet élément n'est pas utilisé. En effet, s'il existe mais n'est pas utilisé, soit l'auteur n'a pas suivi les règles ou soit qu'il les a suivies et qu'il n'y a tout simplement pas de citations dans la base. Dans ce dernier cas, l'usager sait dès lors qu'il doit chercher ailleurs.

Malgré tout, nous avons évalué, en comparant les avantages et inconvénients des deux méthodes (présenter la DTD ou la structure réalisée) qu'il valait mieux présenter la structure réalisée plutôt que la DTD. Un autre système pourrait en décider autrement, ou encore mieux, présenter les deux.

6.1.3 Règles d'écriture et index

Il faut réaliser que ni la structure possible (DTD) ni la structure réalisée ne donne toutes les informations nécessaires à une interrogation efficace d'une base de documents structurés. En effet, elle offre peu en matière de règles d'écritures, ou du moins leur équivalent pour les documents structurés.

Lorsqu'un auteur "rédige" un document structuré, il effectue une tâche intellectuelle qui consiste à assigner à des bouts de texte des identificateurs génériques, et cette assignation se fait en fonction de règles d'écritures et de structure. Les règles de structure concernent toutes les directives relatives aux éléments pouvant se retrouver dans les différents contextes. Mais dans ce cas-ci, la marche à suivre est habituellement dictée de façon formelle.

Les règles d'écriture donnent tout le contexte logique autour de l'utilisation des éléments: pour quelle raison utiliser tel élément plutôt que tel autre, que signifie tel identificateur générique, etc. Ces informations sont une mine d'or pour le chercheur d'information; les connaître signifie un gain de productivité en recherche car il peut savoir si le contenu logique qu'il cherche est déjà identifié dans le texte.

Ces informations se retrouvent habituellement à deux endroits: dans la DTD elle-même, sous forme de commentaires, et principalement de règles de structure. Ensuite, on retrouve habituellement un guide accompagnant la DTD et qui contient les règles d'écriture. Ces deux sources d'information sont très importantes. Dans le but de donner tous les outils nécessaires à l'usager pour effectuer des recherches intéressantes, le logiciel lui fournira ces informations contenues dans les règles d'écriture.

Finalement, reste la question des index, ou de l'aperçu du vocabulaire contenu dans le document. Nous avons opté pour la présentation de ces index en fonction des identificateurs génériques. L'usager peut donc consulter l'index des titres, des annexes, des tableaux, etc. Bien entendu, il peut aussi consulter le vocabulaire au complet, soit l'index de la base de documents.

Afin de décrire notre approche, nous avons utilisé la terminologie propre à SGML, mais les concepts sous-jacents sont universels dans le monde de l'information structurée (base de données). En effet, il devrait toujours exister de la méta-information, et par le fait même des règles d'écriture et de structure. L'endroit où on retrouve l'information importe peu, mais plus elle est accessible à l'usager, plus fructueuses seront ses recherches.

Dans ERIS, ces informations seront présentées de différentes façons, soit avec le guide détaillé de la structure, le guide sommaire de la structure, la description des identificateurs génériques ou noms d'attribut, de même que la présentation des index. Les prochaines sections présentent ces grandes fonctions individuellement.

6.2 Guide sommaire de la structure

6.2.1 Objectifs

Un usager qui effectue des recherches dans une base de documents structurés dont il connaît déjà la structure sera intéressé par un guide sommaire de la structure. Ce guide lui servira d'aide-mémoire pour composer ses requêtes. Nous croyons que ce guide devrait répondre aux objectifs suivants:

Comme ce guide est destiné à aider l'usager dans la composition de ses requêtes, il ne peut occuper un espace important à l'écran; de plus, il doit être relativement dynamique et pouvoir être mis à jour rapidement, c'est-à-dire changer l'élément qui est décrit. Finalement, il doit permettre une certaine intégration avec les autres fonctions du logiciel.

6.2.2 Éléments d'interface

Pour atteindre ces objectifs, nous avons décidé d'utiliser une fenêtre compacte présentant, pour un élément donné, les informations suivantes (voir Figure 4: fenêtre du guide sommaire de la structure, page 162):

Pour afficher ces informations, nous avons choisi d'utiliser une fenêtre étroite mais haute, qui donne ainsi un indice visuel des concepts "au-dessus" et "au-dessous". Les ancêtres sont présentés en haut, suivis des parents, de l'identificateur générique décrit et de ses attributs, puis des enfants et enfin des descendants. L'identificateur générique décrit est mis en évidence par l'utilisation de couleurs et de reliefs distincts.

Cette fenêtre peut être activée par un item du menu "Informations", de même que par un bouton de commande situé sur tous les bordereaux. Lorsqu'on l'active une première fois, l'élément décrit est le premier en ordre alphabétique. Par la suite, on peut consulter le contexte des autres identificateurs génériques de différentes façons:

Deux opérations sont possibles à partir de la fenêtre présentant le guide sommaire de la structure. On peut d'abord consulter l'index particulier d'un identificateur générique. On réalise cette fonction en sélectionnant d'abord un nom d'identificateur générique dans une des listes de la fenêtre, y compris la liste déroulante de l'élément décrit, puis on active le bouton de commande "Index".

L'autre opération consiste à consulter la description d'un identificateur générique ou d'un nom d'attribut. Pour y arriver, on procède de la même façon que pour l'index, soit en sélectionnant un identificateur générique ou un nom d'attribut puis en activant le bouton "Description".

Il faut noter qu'on a choisi de présenter les ancêtres et les parents, de même que les enfants et les descendants. Les parents forment nécessairement un sous-ensemble des ancêtres, de même que les enfants forment un sous-ensemble des descendants. Nous avons choisi de dupliquer ainsi l'information parce qu'il semble que le parent ou l'enfant immédiat sera d'une utilité particulière en recherche. Ainsi, l'information sur les parents et les enfants sera utile.

Une idée d'interface à explorer serait de donner des listes d'ancêtres jusqu'à un certain niveau, et la même chose pour les descendants. Par exemple, on pourrait faire afficher tous les ancêtres mais d'au plus trois niveaux d'un identificateur générique, de même que tous ses descendants jusqu'à un maximum de deux niveaux. Cette souplesse pourrait être appréciée dans le cas de recherches spéciales, mais nous n'avons pas cru bon de l'implanter dans cette version d'ERIS.

Mentionnons également que les liens hypertextuels ne sont pas présentés par ce guide sommaire de la structure. Nous avons voulu le restreindre à la structure hiérarchique pour le garder simple et facile d’utilisation pour les usagers qui effectuent des recherches. De plus, la question des liens hypertextuels sera traitée très différemment par le modèle par rapport à SGML, et nous avons préféré attendre. Si l’usager veut en savoir plus sur les liens hypertextuels, il doit pour l’instant utiliser le guide détaillé de la structure.

6.3 Guide détaillé de la structure

6.3.1 Objectifs

Le guide sommaire de la structure tel que décrit dans la section précédante peut s'avérer utile comme aide-mémoire, lorsque l'usager connaît déjà relativement bien la structure de la base. Toutefois, cette connaissance initiale doit être acquise à un moment, et nous avons cru bon d'implanter un guide plus détaillé de la structure, qui utilisera des éléments d'interface différents.

Les objectifs de ce guide détaillé sont les suivants:

Ce guide détaillé de la structure devrait permettre à l'usager de tout connaître sur cette structure, de façon agréable et simple. Cet objectif n'est pas nécessairement facile à atteindre, notamment à cause de la complexité que peut atteindre la structure d'une base de documents, et parvenir à la présenter efficacement sur un seul écran d'ordinateur présente un certain défi.

Le guide détaillé de la structure doit permettre à l'usager d'identifier des "patrons" de structure, soit des ensembles quelconques d'éléments qui présentent une ou des caractéristiques communes. Par exemple, ce pourrait être le même niveau hiérarchique, le même parent, le même identificateur générique, etc. Idéalement, ces patrons ou ensembles devraient pouvoir être utilisés à d'autres fins, notamment pour la recherche ou pour la consultation.

6.3.2 Éléments d'interface et fonctions

Afin de présenter le guide détaillé de la structure, nous avons utilisé une fenêtre (voir Figure 5: fenêtre du guide détaillé de la structure, page 163) ainsi qu’un nouveau menu. Ce menu, appelé "Structure", est présent dans la barre de menu principale seulement lorsque la fenêtre du guide détaillé de la structure est ouverte. Il permet de lancer les différentes opérations possibles dans le guide détaillé.

La fenêtre du guide détaillé présente plusieurs éléments d’interface intéressants. Avant de les passer en revue, il est bon de mentionner que l’unité d’information principale de ce guide est l’ensemble, soit un regroupement d’un certain nombre d’éléments présentant une ou des caractéristiques communes. Tous les autres éléments d’interface sont plus ou moins reliés à cette notion d’ensemble.

Les éléments sont regroupés en un ensemble lorsqu’ils partagent deux caractéristiques communes:

La première caractéristique est simple à comprendre, mais la deuxième mérite qu’on s’y attarde. En effet, il faut comprendre que chaque ensemble est généré à partir d’un autre ensemble, que l’on peut appeler son ensemble parent. Cette génération se fait toujours en descendant (d’un point de vue hiérarchique) et en fonction de certains paramètres, qui sont les suivants

Ainsi, générer des ensembles à partir d’un ensemble parent avec les paramètres par défaut consiste à prendre tous les enfants hiérarchiques de tous les éléments de l’ensemble parent, puis regrouper ces éléments enfants par identificateur générique. Il y aura autant de nouveaux ensembles qu’il y a d’identificateurs génériques différents. Les ensembles porteront un nom, qui sera simplement celui de l’identificateur générique qui les décrit, puisqu’il s’agit d’une caractéristique commune.

Il existe quatre façons de créer des ensembles. Nous avons mentionné précédemment que tout ensemble devait être généré à partir d’un ensemble parent. Cela amène le problème du premier ensemble, que nous avons résolu de deux façons. Tout d’abord, lorsque la fenêtre du guide détaillé de la structure est ouverte, il existe un premier ensemble défini seulement avec l’élément hiérarchique supérieur, soit l’élément "base de documents". On peut ainsi définir de nouveaux ensembles à partir de la racine de la base.

De plus, on peut créer un nouvel ensemble "supérieur" en choisissant la commande "Nouvelle hiérarchie..." du menu Structure. Cela nous amène une fenêtre de dialogue (voir Figure 6: fenêtre de dialogue pour la création d'une nouvelle hiérarchie, page 164) permettant de choisir un nouvel ensemble supérieur. L’usager fait son choix entre un des ensembles déjà définis, ou encore un des identificateurs génériques présents dans la base de documents. Le choix de l’un de ces identificateurs génériques aura pour effet de constituer un ensemble comprenant tous les éléments qui ont cet identificateur générique.

Maintenant que nous avons un ensemble supérieur, il existe deux autres façons de générer des ensembles. On peut cliquer deux fois sur un ensemble présenté à l’écran, ce qui enclenchera la génération des ensembles enfants avec les valeurs par défaut des paramètres (liens hiérarchiques, un seul niveau). Ou encore, on peut choisir l’item du menu Structure "Étendre..." qui permet à l’usager de choisir les valeurs des paramètres à l’aide d’une fenêtre de dialogue (voir Figure 7: fenêtre de dialogue pour le choix d'une cible, page 164).

La présentation des ensembles ainsi définis se fait à l’intérieur d’une seule fenêtre (voir Figure 5: fenêtre du guide détaillé de la structure, page 163). Cette fenêtre est divisée en deux grandes parties: une section graphique présentant la hiérarchie courante, et un panneau d’information situé dans le bas de la fenêtre. La section graphique permet de "voir" les ensembles définis préalablement. Pour y arriver, les éléments visuels suivants sont utilisés:

Le panneau d’information situé dans le bas de la fenêtre donne de l’information sur l’ensemble sélectionné dans la fenêtre. Ces informations sont variées:

Pour bien manipuler ces éléments d’interface, quatre fonctions sont disponibles. Nous avons déjà discuté de la fonction "Étendre..." disponible à l’aide du menu ou encore à l’aide d’un double-clique. Même chose pour la fonction "Nouvelle hiérarchie" du menu Structure. Ajoutons à cela la fonction "Supprimer les enfants" qui permet à l’usager de faire un peu de place à l’écran en supprimant tous les ensembles enfants de l’ensemble sélectionné.

La quatrième fonction est celle qui permet de consulter la liste des attributs associés aux éléments d’un ensemble, que l’on active à l’aide d’un petit bouton de commande situé tout juste à côté de l’information sur les attributs dans le panneau. Une fenêtre est alors présentée (voir Figure 8: fenêtre de présentation des listes d'attributs, page 164), et elle contient la liste des noms d’attribut associés aux éléments de l’ensemble et le nombre d’occurrences. À côté de chaque nom d’attribut, un petit bouton permet d’activer la fenêtre de description des identificateurs génériques ou des noms d'attribut pour en connaître la signification.

Tous ces éléments d’interface et toutes ces fonctions permettent à l’usager d’explorer à fond les particularités de la base de documents qu’il consulte. On peut espérer que les connaissances acquises lors d'une telle exploration lui permettront de faire des recherches plus fructueuses.

6.4 Description des identificateurs

6.4.1 Objectifs

Parmi tous les éléments d'information que l'on désire présenter à l'usager, les règles d'écriture et de choix des identificateurs génériques et des noms d’attribut (que nous regroupons sous le vocable "identificateurs" dans cette partie) sont d'une grande importance. Une fenêtre de description des identificateurs fut intégrée à ce logiciel, et cette fenêtre poursuit les objectifs suivants:

Ces informations, combinées avec celles sur la structure dont on a parlé précédemment, viendront compléter les connaissances de l'usager au sujet de la structure logique de la base de documents. Avec ces éléments d'interface et une page de description des objectifs de la base (qui serait à développer), nous pouvons considérer que la méta-information sur la base de documents est accessible en ligne. L'usager pourra connaître un peu mieux le contenu en consultant le vocabulaire utilisé dans les différentes parties de la base (voir section suivante).

6.4.2 Éléments d'interface

La présentation des identificateurs ne nécessite pas d'éléments d'interface particuliers. Tout d'abord, l'usager doit pouvoir choisir l'identificateur générique ou nom d'attribut qu'il désire, et cela est réalisé à l'aide d'une fenêtre de dialogue (voir Figure 9: fenêtre de dialogue pour le choix d'un élément, page 165) où l'usager choisit parmi une liste (voir Figure 10: fenêtre de description des identificateurs, page 165).

Ensuite, une fenêtre permet de présenter les informations suivantes:

La présence de ces dernières informations, soit la description de l'identificateur, constituent la raison d'être de cette fenêtre. Il s'agit de la seule façon de les obtenir dans le logiciel.

Mentionnons qu’afin de rendre le prototype plus complet, nous avons librement rédigé une description de chaque identificateur. Cette description est tirée de la DTD, du guide d’utilisation de la DTD, ainsi que de notre expérience avec la base de documents. Ces descriptions ne sont pas formelles et aucunement parfaites, mais elles permettent à l’usager de se faire une bonne idée de la signification des identificateurs, et surtout, elles permettent à l’interface d’atteindre ses objectifs.

6.4.3 Fonctions

Plusieurs opérations peuvent être effectuées depuis la fenêtre de description des identificateurs. On peut bien sûr choisir un autre identificateur, mais également consulter le guide sommaire de la structure pour un certain identificateur, de même que l'index particulier à un identificateur.

Le choix des autres identificateurs à présenter peut se faire de trois façons, S'il s'agit d'un identificateur de même type (nom d'attribut ou identificateur générique) que celui en cours, on peut utiliser le contrôle de défilement des items dans le bas de la fenêtre, ce qui a pour effet de les défiler dans l'ordre alphabétique. On peut également utiliser le bouton de commande "Autres [éléments][attributs]" qui nous remontre la fenêtre de dialogue pour choisir un autre identificateur de même type (voir Figure 9: fenêtre de dialogue pour le choix d'un élément, page 165). Enfin, s'il s'agit d'un identificateur de type différent de celui présenté, on peut choisir le bouton de commande intitulé "[Attributs][Éléments]" qui nous montre la même fenêtre de dialogue. Pour consulter l'index particulier à un identificateur, on n'a qu'à choisir le bouton de commande "Index".

6.5 Présentation des index

6.5.1 Objectifs

Les sections précédentes nous ont montré que l'usager peut se renseigner de différentes façons sur la structure de la base et que ces renseignements peuvent lui être fort utiles en recherche. Toutefois, il ne faut pas négliger les informations sur le contenu de la base qui peuvent être d'un grand secours. Dans la plupart des systèmes, on peut obtenir ces informations en consultant les index qui sont une représentation des fichiers inversés servant à la recherche. Ces index sont habituellement associés à des champs, donc à des éléments de structure. Des index peuvent couvrir plusieurs champs (et même tous les champs), et inversement certains champs peuvent ne pas être indexés.

Ces index remplissent deux rôles importants, soit de simplifier la saisie des requêtes, par l'insertion automatique de termes de l'index dans les requêtes de recherche, et de fournir des informations sur le contenu de la base et de ses différentes parties. Ces deux rôles ont guidé la conception du module de présentation des index pour ERIS.

La présentation des index permettra à l'utilisateur de:

Pour arriver à réaliser ces tâches, une fenêtre de présentation des index fut conçue (voir Figure 11: fenêtre de présentation des index, page 166), et on peut la visualiser à partir du menu "Informations" ou encore à l'aide d'un bouton de commande "Index" situé sur chaque fenêtre de bordereau. De cette façon, on présente à l'usager une fenêtre de dialogue lui permettant de choisir la partie de la base dont il veut consulter l'index (voir Figure 12: fenêtre de dialogue pour le choix d'un index, page 166).

De plus, on peut consulter un index à partir du guide sommaire de la structure, en activant le bouton de commande "Index". À ce moment, l'index de l'identificateur générique ou du nom d'attribut sélectionné sera présenté à l'usager. Même principe depuis la fenêtre de description des identificateurs.

6.5.2 Éléments d'interface et fonctions

Un index est d'abord et avant tout constitué d'une liste de mots. À cette liste de mots, nous avons voulu ajouter la fréquence d'utilisation, donc une liste correspondante de nombres entiers. Afin de présenter ces deux éléments d'information ensemble, nous avons choisi d'utiliser une liste à deux colonnes. Cette liste contient en première colonne le terme de l'index, et en deuxième colonne son nombre d'occurrences.

La consultation de longs index pouvant s'avérer fastidieuse à l'aide des ascenseurs seulement, nous avons permis la recherche dans l'index. Ainsi, lorsque l’usager entre des caractères dans une petite zone prévue à cette fin, le logiciel effectue une recherche incrémentale, ce qui a pour effet de dynamiquement sélectionner le premier terme de l'index commençant par les lettres inscrites.

Cette liste à deux colonnes et à recherche incrémentale constitue la seule véritable idée d'interface de cette fenêtre. On y retrouve de plus des boutons de commande qui permettent d'effectuer les tâches désirées. Le bouton "Insérer" permet d'insérer le terme sélectionné dans le bordereau de recherche en cours. À noter que ce bouton est actif seulement si un bordereau est ouvert. De plus, il fonctionne seulement avec le bordereau de mode commande et le bordereau simple pour l'instant. Ensuite, le bouton de commande "Autre index..." permet de présenter la fenêtre de dialogue du choix d'un index et ainsi afficher l’index d'une autre partie de la base de documents.


Travail dirigé de Martin Sévigny, ©1996 Section précédente | Section suivante | Page d'accueil |