Indexation automatique de documents
L’indexation automatique de documents est un domaine de l'informatique et des sciences de l'information et des bibliothèques qui utilise des méthodes logicielles pour organiser un ensemble de documents et faciliter ultérieurement la recherche de contenu dans cette collection. La multiplicité des types de documents (textuels, medias, audiovisuels, Web) donne lieu à des approches très différentes, notamment en termes de représentation des données. Elles reposent néanmoins sur un socle de théories communes, telles que l'extraction de caractéristiques, le partionnement de données (ou clustering), la quantification, et plus généralement la recherche d'information.
En revanche, les fichiers séquentiels indexés constituent une technique d'usage très général en informatique, pour le stockage de données numériques (Voir Fichier (informatique)).
Un index est, en toute généralité, une liste de descripteurs à chacun desquels est associée une liste des documents et/ou parties de documents auxquels ce descripteur renvoie. Ce renvoi peut être pondéré. Lors de la recherche d'information d'un usager, le système rapprochera la demande de l'index pour établir une liste de réponses. En amont, les méthodes utilisées pour constituer automatiquement un index pour un ensemble de documents varient considérablement avec la nature des contenus documentaires à indexer.
Motivation
L'indexation de données essaye de répondre à la question suivante : comment organiser au mieux une collection de documents afin de pouvoir plus tard retrouver facilement celui qui m'intéresse ?
Une réponse classique consiste à annoter manuellement chaque document d'une série de métadonnées (titre, catégorie(s), date de parution, auteur etc.). Cette approche a l'avantage d'être facile à mettre en œuvre, et de fournir des renseignements de qualité (selon l'expertise de la personne chargée de l'annotation). Cependant, cette solution est ambiguë (un même document pouvant se décrire de plusieurs façons ; on pensera par exemple à l'ambiguïté entre genres musicaux), elle est coûteuse (puisqu'il faut payer un annotateur pour qu'il prenne en charge tout nouveau document dans notre collection), et ne permet de répondre qu'à des requêtes textuelles (à l'inverse d'une requête par image similaire, par exemple).
Pour pallier ces défauts, une solution consiste en l'utilisation d'un vocabulaire contrôlé d'indexation organisé sous la forme d'un thésaurus documentaire. Les thésaurus peuvent être créés de façon collaborative pour assurer une cohérence dans la classification des documents. Un thésaurus définit non seulement les termes d'indexation, mais aussi les liens entre ceux-ci de façon normalisée. Cela offre la possibilité d'une part, de rechercher des sources documentaires en signifiant plusieurs conditions de liens lors d'une recherche (de façon sémantique donc). Et d'autre part, de s'abstraire des restrictions tel que la synonymie ou le multilinguisme (dans le cas de thésaurus multilingue).
Les collections qui sont indexés avec des thésaurus sont aussi aisément inter-opérables, puisqu'il suffit de fusionner les thésaurus d'indexation. L'indexation manuelle reste donc nécessaire dans certains secteurs spécialisés notamment multilingues, et doit être vu comme complémentaire de l'indexation automatique.
Face au problème du déluge de données et de l'hétérogénéité croissante des documents que doivent traiter les moteurs de recherche, l'indexation automatique est une nécessité. Elle se base directement sur le contenu, dans le but d'obtenir des résultats univoques et cohérents. En représentant les documents sous forme de vecteurs de descripteurs, il devient possible de les comparer, de mesurer leurs distances les uns des autres, et de répondre à des requêtes de différentes natures.
Les descripteurs de données sont très dépendants du type de média, de même que les algorithmes de recherche par similarité. La prochaine section présente les différentes approches d'indexation en fonction du type des documents à indexer.
Indexation par type de document
Indexation de textes
Pour un texte, un index très simple à établir automatiquement est la liste ordonnée de tous les mots apparaissant dans les documents avec la localisation exacte de chacune de leurs occurrences ; mais un tel index est volumineux et surtout peu exploitable.
L'indexation automatique tend donc plutôt à rechercher les mots qui correspondent au mieux au contenu informationnel d'un document. On admet généralement qu'un mot qui apparaît souvent dans un texte représente un concept important. Ainsi, la première approche consiste à déterminer les mots représentatifs par leur fréquence. Cependant, on s'aperçoit que les mots les plus fréquents sont des mots fonctionnels (ou mots outils, mots vides). En français, les mots « de », « un », « les », etc. sont les plus fréquents. En anglais, ce sont « of », « the », etc.
Il est évident que l’on ne peut pas garder ces mots à haute fréquence mais peu porteur de sens en terme. C’est pourquoi on introduit dans les moteurs de recherche des opérations de filtrage de ces mots. Ces listes de mots sont appelées anti-lexiques ou plus fréquemment stoplist[1].
Une autre opération est ensuite couramment appliquée lors de l'indexation. Elle consiste à effacer les terminaisons (flexions de nombre, genre, conjugaison, déclinaison) afin de retrouver les racines des mots. Cette opération est appelée racinisation (une autre solution voisine appelée lemmatisation conduit globalement au même résultat). Ce procédé permet de relever les fréquences en cumulant les nombres d'occurrence des variations des mêmes mots.
Chaque unité documentaire (chaque document ou chaque passage de document) peut alors faire l'objet d'une représentation vectorielle : les coordonnées représentent les fréquences des mots non vides. Lorsque l'on effectue cette opération pour un corpus de documents ou de pages web on obtient une matrice dont les colonnes représentent un document et les coordonnées la fréquence des termes.
Les moteurs de recherche de première génération s'appuient sur des formules de pondération, généralement pour affecter un poids élevé aux termes non-distribués uniformément au sein du corpus. Il existe un grand nombre de formules de pondération dont le but est de distribuer le poids pour contribuer à la différenciation informationnelle des documents. Certaines formules de pondération harmonisent les poids en fonction de la longueur des documents où la fréquence des termes est globalement plus élevée, d'autres formules s'appuient sur la fréquence maximale des termes afin de concilier l'aspect multi-thématique d'un document avec des documents mono thématiques. Les formules de pondération les plus connues sont TF-IDF[2] (term frequency . inverse document frequency).
Les moteurs de seconde génération s'appuient non seulement sur la fréquence des termes pour indexer les pages web mais aussi sur la popularité des sources. En naviguant de lien en lien, les robots indexent les termes utilisés par une page web pour décrire une autre page web. À chaque fois qu'un utilisateur suit ce lien, il « vote » la pertinence des descripteurs utilisés. Le page-ranking est ensuite calculé selon la popularité des descripteurs et un coefficient de similarité issu de la modélisation vectorielle.
Indexation d'images
On peut réaliser l'indexation des images de deux façons. Soit les images sont indexées par leurs métadonnées (EXIF, IPTC, XMP...) et il s'agit d'une indexation textuelle. Soit l'indexation est réalisée sur le contenu graphique de l'image, c'est-à -dire les formes, les couleurs, les textures et il s'agit d'une indexation d'image par le contenu (en anglais : Content Based Image Retrieval ou CBIR). Ces deux types d'indexation d'images peuvent être couplées.
L'indexation d'images par le contenu consiste, après analyse de tous les pixels ou d'une partie réduite (masque), de transformer l'information des pixels en un autre type d'information de telle sorte que la recherche d'image (à l'identique, ou de même catégorie) soit facilitée (en termes informatiques, taille compacte, vitesse, tout en conservant une sémantique proche de l'utilisateur). Les premiers systèmes d'indexation des images ont utilisé la couleur (système QBIC IBM), plus tard l'analyse des couleurs par histogramme s'est à la fois améliorée et diversifiée. Plusieurs modèles de représentations des couleurs ont été utilisés, des raffinements de l'histogramme global primitif ont été introduits. Les améliorations de l'histogramme couleur ont surtout porté sur l'ajout d'informations spatiales à l'origine totalement absentes. Les meilleurs algorithmes actuels de reconnaissance utilisent une dérivée de l'image. Seule une partie des points plus importants que d'autres sont analysés précisément. Il n'existe pas de système connu permettant d'égaler les performances humaines. On peut toutefois affirmer qu'il existe des solutions industrielles (univers restreint) qui sont économiquement viables. La méthode des SIFT de David G. Lowe fait souvent référence en matière de description multi échelle invariante par rotation et translation.
Introduite depuis fin 2008 dans Picasa 3.5 [3], outil grand public de gestion de fonds photographiques, la reconnaissance de visages permet d'établir de manière semi-automatique, un index des personnes apparaissant sur ces photos.
Notes et références
- (en) C. J. Van Rijsbergen, Information Retrieval, Butterworth-Heinemann, Newton, MA, 1979.
- (en) G. Salton et M. J. McGill, Introduction to modern information retrieval, McGraw-Hill, 1983, (ISBN 0070544840).
- Romain Heuillard, « Reconnaissance automatique des visages pour Picasa », sur clubic.com, (consulté le ).