Sur quels principes fonctionne un module de recherche textuelle ?
Sommaire
- Moteur de recherche grand public, moteur de recherche professionnel, quelles différences ?
- Quelles sont les techniques utilisées par un moteur de recherche industriel ?
- Qu’est-ce qu’un mot outil ?
- Index inversé, comparaison de documents, avantages et inconvénients ?
- Quelles sont les trois phases de la recherche d’information ?
Moteur de recherche grand public, moteur de recherche professionnel, quelles différences ?
Les moteurs de recherche du Web sont devenus des outils du quotidien, et ces moteurs ont beaucoup évolué depuis les premiers moteurs historiques tels que Archie ou AltaVista. Les moteurs de recherche sont également très utiles en entreprise. Les moteurs grand public et professionnels ont des caractéristiques différentes : volume de données traitées, mode de collecte de l’information et critères de classement notamment.
Volume de données traitées
Selon le site Live Stats, le nombre de sites Internet actuellement en ligne et que les grands moteurs visent à indexer est proche de 2 milliards , ce qui pose évidemment des contraintes en termes d’indexation ( volume et fraîcheur d’index…), et d’accès à l’information (vitesse d’accès, classement…). Les volumes sont rarement commensurables en entreprise.
Collecte de l’information
Les moteurs de recherche grand public et les moteurs de recherche professionnels répondent à des contraintes très différentes en termes d’accès à l’information. Les moteurs grand public doivent parcourir le Web pour collecter l’information et indexer un maximum de sites Internet. Les moteurs de recherche professionnels doivent collecter et indexer des documents dans des formats multiples et conservés dans des espaces de stockages variés. L’indexation peut être manuelle, un opérateur, professionnel ou non, ajoutant et indexant explicitement le document à la base documentaire, ou bien automatique.
Dans certains cas, les documents sont déjà indexés dans des systèmes de gestions documentaires hétérogènes, il est alors nécessaire de mettre en œuvre des connecteurs entre le moteur de recherche et la gestion documentaire.
Critères de classement
Les moteurs de recherche industriels et les moteurs de recherche grand public répondent à des critères de classement différents.
Les moteurs de recherches industriels proposent généralement des classements en fonction des propriétés intrinsèques des documents : pertinence par rapport à la requête, fraîcheur de l’information (tri par date) ou autres critères telles que les métadonnées.
Les moteurs de recherche grand public prennent en compte de nombreux facteurs intrinsèques (présence des mots, graisse, titraille…) mais également extrinsèques (maillage interne ou externe, référencement auprès de sites de confiance…) qui font le quotidien des spécialistes de l’optimisation du référencement Internet (SEO).
Les deux types de moteurs de recherche offrent également des fonctions de filtres de recherche qui permettent de n’afficher que les documents d’un certain type.
Quelles sont les techniques utilisées par un moteur de recherche industriel ?
Si la plupart des moteurs de recherche reposent sur un index inversé, certaines solutions font appel à des algorithmes de comparaison de documents.
Qu’est-ce qu’un index inversé ?
Dans le cas d’un index inversé, la phase d’indexation consiste à stocker la liste des termes présents dans chaque document, et de conserver pour chacun de ces termes l’identifiant des documents, voire les positions dans chaque document – on parle alors d’index inversé positionnel – où se trouve ce terme.
Par exemple, les textes
- Document A: « Comment fonctionne un index inversé ? »
- Document B;« Qu’est-ce qu’un index inversé positionnel ? »
correspondent à l’index inversé suivant, où les nombres indiquent la position dans le texte :
ce | B3 |
Comment | A1 |
est | B2 |
fonctionne | A2 |
index | A4;B6 |
inversé | A5;B7 |
positionnel | B8 |
qu | B1;B4 |
un | A3;B5 |
On peut remarquer :
- à partir de l’entrée d’un mot (par exemple index) on obtient immédiatement l’identifiant du document et la position du terme correspondants (4ème position dans le document A, 6ème position dans le document B);
- il est possible de reconstruire chaque texte à partir de l’index, d’où le nom d’index inversé;
- certains mots n’ont pas de grande pertinence pour la recherche, on parle alors de mot outil.
Qu’est-ce qu’un mot outil ?
La loi de ZIpf est une propriété de la distribution des termes de la langue. Elle énonce qu’un nombre limité de mots apparaissent souvent dans un corpus et, à l’opposé, qu’un corpus contient peu d’hapax. Cette loi est généralement présentée sous la forme d’une courbe, avec à l’abscisse la fréquence d’un terme, et à l’ordonné le nombre de termes dans le corpus:
On le voit, les termes très fréquents, parce qu’ils apparaissent dans tous les textes, ne sont pas discriminants pour la recherche, c’est d’ailleurs le principe de base utilisé pour le clustering. De plus, ces termes encombrent l’index positionnel. C’est pourquoi ces termes, souvent appelés mots outils, ne sont pas indexés.
Qu’est-ce que la recherche d’information par comparaison de documents ?
La recherche d’information par comparaison de documents repose sur le même principe que le clustering. L’idée sous-jacente est de construire un espace vectoriel, dans lequel on positionne chaque document.
Les modes de calcul de ces vecteurs varient. Ils peuvent être basés sur les mots qui forment le document (considérés comme des « sacs de mots » en vrac) ou obtenus via des techniques de plongement, issus de l’apprentissage profond, qui permettent de mieux capter le contexte des mots.
L’une des méthodes les plus populaires pour positionner des documents dans un espace vectoriel repose sur deux facteurs qui traduisent quelques intuitions simples :
- plus un terme est fréquent dans un document, plus il est probable que ce document concerne le concept correspondant à ce terme,
- plus un terme est fréquent dans l’ensemble du corpus, moins il est discriminant pour la recherche d’information.
Techniquement, ces principes se traduisent par deux facteurs :
- la fréquence d’apparition du terme dans le document considéré
- la fréquence d’apparition du terme dans l’ensemble du corpus
Afin de mettre en équation, on écrit
- text frequency (tf) pour la fréquence d’apparition dans le document considéré.
- tf = fréquence du terme dans le document / nombre de mots dans le document
- Invert document frequency(IdF) pour la fréquence d’apparition dans l’ensemble du corpus
- Idf = log(nombre de documents / nombre de documents contenant le terme au moins une fois)
Le positionnement d’un document dans cet espace vectoriel consiste à calculer tf*idf pour chaque mot du document. L’espace vectoriel aura ainsi autant de dimensions qu’il y a de mots différents dans le corpus.
La recherche d’information par comparaison de documents consiste alors à positionner la requête dans cet espace vectoriel et de trouver les documents les plus proches mathématiquement.
Index inversé, comparaison de documents, avantages et inconvénients ?
L’avantage de l’approche par comparaison de documents réside dans le fait que la requête peut être longue, voire un document entier, ce qui est plus difficile dans le cas d’un moteur de recherche basé sur un index inversé. En revanche, l’index inversé pourra s’avérer plus efficace pour des requêtes courtes.
Quelles sont les trois phases de la recherche d’information ?
On considère habituellement que la recherche d’information comprend trois phases :
- une phase de collecte
- une phase d’indexation
- une phase de recherche
La collecte
La collecte consiste à récupérer les documents à indexer. Ce peut être, comme on l’a vu, au moyen d’un crawler ou bien via des connecteurs à des bases documentaires ou des espaces de stockage.
L’indexation
L’indexation consiste à construire l’index, c’est à dire à structurer le mode d’accès interne à l’information. L’index peut être un index inversé ou un espace vectoriel ou une version hybride des deux.
La recherche
La recherche est la phase qui consiste à comparer la requête de l’utilisateur avec le contenu de l’index.
Dans le cas d’un index inversé, il s’agira, une fois les mots outils filtrés, de récupérer tous les documents correspondant aux termes de la requête. Un algorithme de classement pourra se baser sur le nombre de termes communs et/ou aux fréquences d’apparition.
Dans le cas d’une approche par comparaison de documents, la première étape consiste à positionner la requête dans l’espace vectoriel construit. L’algorithme de classement se basera alors sur la distance, au sens vectoriel, entre la requête et les documents de la base documentaire.