Big data et moteurs de recherche : mais comment fonctionnent-ils ? Il est vrai que l’usage quotidien d’outils de recherche occulte la préoccupation du « Comment ça marche ? ». Cet ouvrage, écrit par deux professeurs d’informatique à l’université Joseph-Fourier de Grenoble, est plutôt ardu à lire.
Les auteurs ne sont en effet pas avares de formules mathématiques… Mais au-delà des considérations théoriques, le principe central de la recherche d’information est relativement simple. Il s’agit « de construire un système qui respectera au mieux l’ordre qu’il faut attribuer aux données, du plus pertinent au moins pertinent par rapport à la requête de base ». C’est bien évidemment Internet qui a a bousculé les usages de la recherche d’informations : « Jusqu’au début des années 1990, rappellent les auteurs, le domaine de la recherche d’informations est resté relativement cloisonné au monde professionnel. » Aujourd’hui, elle s’appuie sur des techniques complexes telles que l’apprentissage automatique ou le traitement automatique du langage naturel. En fait, les approches en matière de recherche d’informations se révèlent très puissantes, en particulier pour construire des chaînes d’indexation, indexer des documents stockés sur différents serveurs connectés à Internet, calculer des scores de notoriété de pages, déployer des méthodes d’apprentissage d’ordonnancement à partir des données de clics des utilisateurs, extraire des thèmes à partir d’images ou de documents, ou encore pour réduire la taille du vocabulaire à analyser.
Recherche d’information, applications, modèles et algorithmes, fouille de données, décisionnel et big data, par Massih-Reza Amini et Eric Gaussier, Eyrolles, 2013, 233 pages.
Pour être efficace, la recherche d’informations implique trois préalables. D’abord, il faut segmenter l’information (séparer une suite de caractères en éléments sémantiques) : un type de mots est ainsi la classe de tous les mots ayant la même séquence de caractères. Selon les auteurs, « cette étape est difficile et cruciale puisqu’une mauvaise segmentation a un impact négatif direct sur le résultat de la recherche ». Ensuite, il importe de normaliser, par exemple pour tenir compte des majuscules, de la ponctuation, des accents, des dates (plus complexes à analyser dans le monde anglo-saxon), des chiffres. Cette normalisation permet de regrouper les mots selon leur racine. Enfin, on peut opérer un filtrage par un « antidictionnaire », « liste de mots qui tendent à être présents avec une fréquence élevée dans tous les documents d’une collection et qui n’apportent que peu d’information sur le contenu », définissent les auteurs. Par exemple, dans le Wikipedia français, il y a 42 mots qui sont très fréquents et peu informatifs (de, la, qui, date, sans, pour, par…), la langue française comptant environ 700 000 mots (un dictionnaire contenant environ entre 60 000 et 75 000 entrées).
Il existe deux lois de base en recherche d’information. La première, la loi de Heaps, formulée en 1978, qui stipule que « la taille du vocabulaire croit exponentiellement en fonction du nombre de mots présents dans une collection donnée ». La seconde est la loi de Zipf, édictée en 1935 et qui pose que « la fréquence d’occurrence d’un mot dans une collection de documents est inversement proportionnelle à son rang, le rang étant celui obtenu lorsque l’on trie par ordre décroissant des fréquences de mots ». Selon les auteurs, « cette loi explique pourquoi le filtrage par les 200 mots les plus fréquents diminue si drastiquement la taille des documents ».
On distingue également trois modèles de recherche. D’abord, les modèles booléens, qui ont constitué le cœur des modèles de recherche jusque dans les années 1990. « Ils ont été conçus de façon à répondre exactement aux requêtes formées par des expressions combinant des termes et des opérateurs logiques ET, OU, SAUF », expliquent les auteurs. Ensuite, on trouve les modèles vectoriels, utiles lorsque « dans des très grandes collections de documents, le résultat de recherche pour une requête donnée dépasse généralement la capacité des utilisateurs à examiner tous les documents retournés ». « Obtenir une liste de documents ordonnés (par similarité par rapport à la requête) est ainsi primordial. » Enfin, existent les modèles probabilistes, basés sur la probabilité de pertinence d’un document.
Sur le Web, du fait de l’énorme masse de documents et du langage html, la problématique de recherche est spécifique, avec des robots d’indexation, qui n’indexent d’ailleurs pas la totalité des pages. Celles-ci sont collectées non seulement par rapport à leurs contenus mais également par rapport à d’autres principes tels que la revisite de sites (pour prendre en compte les changements) ou la parallélisation pour maximiser le taux de téléchargement des pages.
La recherche sur le Web est basée sur des scores de similarité avec les requêtes et sur les liens entre les pages. « Les systèmes de recherche actuels calculent, pour une requête donnée, quelques centaines de fonctions de score de base entre cette requête et chaque document, et combinent ces scores avant d’assigner un score final à chacun des documents », expliquent les auteurs. Pour ces derniers, le big data oblige à repenser les approches de recherche d’informations pour prendre en compte des traitements parallèles et distribués, ainsi que le traitement des flux de données.