Sur quels principes fonctionne un module de recherche textuelle ?

Moteur de recherche grand public, moteur de recherche professionnel, quelles différences ?

Les moteurs de recherche du Web sont deve­nus des outils du quo­ti­dien, et ces moteurs ont beau­coup évo­lué depuis les pre­miers moteurs his­to­riques tels que Archie ou Alta­Vis­ta. Les moteurs de recherche sont éga­le­ment très utiles en entre­prise. Les moteurs grand public et pro­fes­sion­nels ont des carac­té­ris­tiques dif­fé­rentes : volume de don­nées trai­tées, mode de col­lecte de l’in­for­ma­tion et cri­tères de clas­se­ment notamment. 

Volume de données traitées

Selon le site Live Stats, le nombre de sites Inter­net actuel­le­ment en ligne et que les grands moteurs visent à indexer est proche de 2 mil­liards , ce qui pose évi­dem­ment des contraintes en termes d’in­dexa­tion ( volume et fraî­cheur d’in­dex…), et d’ac­cès à l’in­for­ma­tion (vitesse d’ac­cès, clas­se­ment…). Les volumes sont rare­ment com­men­su­rables en entreprise.

Collecte de l’information

Les moteurs de recherche grand public et les moteurs de recherche pro­fes­sion­nels répondent à des contraintes très dif­fé­rentes en termes d’ac­cès à l’in­for­ma­tion. Les moteurs grand public doivent par­cou­rir le Web pour col­lec­ter l’in­for­ma­tion et indexer un maxi­mum de sites Inter­net. Les moteurs de recherche pro­fes­sion­nels doivent col­lec­ter et indexer des docu­ments dans des for­mats mul­tiples et conser­vés dans des espaces de sto­ckages variés. L’in­dexa­tion peut être manuelle, un opé­ra­teur, pro­fes­sion­nel ou non, ajou­tant et indexant expli­ci­te­ment le docu­ment à la base docu­men­taire, ou bien automatique. 

Dans cer­tains cas, les docu­ments sont déjà indexés dans des sys­tèmes de ges­tions docu­men­taires hété­ro­gènes, il est alors néces­saire de mettre en œuvre des connec­teurs entre le moteur de recherche et la ges­tion documentaire.

Critères de classement

Les moteurs de recherche indus­triels et les moteurs de recherche grand public répondent à des cri­tères de clas­se­ment différents. 

Les moteurs de recherches indus­triels pro­posent géné­ra­le­ment des clas­se­ments en fonc­tion des pro­prié­tés intrin­sèques des docu­ments : per­ti­nence par rap­port à la requête, fraî­cheur de l’in­for­ma­tion (tri par date) ou autres cri­tères telles que les métadonnées.

Les moteurs de recherche grand public prennent en compte de nom­breux fac­teurs intrin­sèques (pré­sence des mots, graisse, titraille…) mais éga­le­ment extrin­sèques (maillage interne ou externe, réfé­ren­ce­ment auprès de sites de confiance…) qui font le quo­ti­dien des spé­cia­listes de l’op­ti­mi­sa­tion du réfé­ren­ce­ment Inter­net (SEO).

Les deux types de moteurs de recherche offrent éga­le­ment des fonc­tions de filtres de recherche qui per­mettent de n’af­fi­cher que les docu­ments d’un cer­tain type.

Quelles sont les techniques utilisées par un moteur de recherche industriel ?

Si la plu­part des moteurs de recherche reposent sur un index inver­sé, cer­taines solu­tions font appel à des algo­rithmes de com­pa­rai­son de docu­ments.

Qu’est-ce qu’un index inversé ?

Dans le cas d’un index inver­sé, la phase d’in­dexa­tion consiste à sto­cker la liste des termes pré­sents dans chaque docu­ment, et de conser­ver pour cha­cun de ces termes l’i­den­ti­fiant des docu­ments, voire les posi­tions dans chaque docu­ment – on parle alors d’index inver­sé posi­tion­nel – où se trouve ce terme.

Par exemple, les textes

  • Docu­ment A: « Com­ment fonc­tionne un index inver­sé ? »
  • Docu­ment B;« Qu’est-ce qu’un index inver­sé posi­tion­nel ? »

cor­res­pondent à l’in­dex inver­sé sui­vant, où les nombres indiquent la posi­tion dans le texte :

ceB3
Com­mentA1
estB2
fonc­tionneA2
indexA4;B6
inver­séA5;B7
posi­tion­nelB8
quB1;B4
unA3;B5
Un index inver­sé positionnel

On peut remarquer :

  • à par­tir de l’en­trée d’un mot (par exemple index) on obtient immé­dia­te­ment l’i­den­ti­fiant du docu­ment et la posi­tion du terme cor­res­pon­dants (4ème posi­tion dans le docu­ment A, 6ème posi­tion dans le docu­ment B);
  • il est pos­sible de recons­truire chaque texte à par­tir de l’in­dex, d’où le nom d’index inver­sé;
  • cer­tains mots n’ont pas de grande per­ti­nence pour la recherche, on parle alors de mot outil.

Qu’est-ce qu’un mot outil ?

La loi de ZIpf est une pro­prié­té de la dis­tri­bu­tion des termes de la langue. Elle énonce qu’un nombre limi­té de mots appa­raissent sou­vent dans un cor­pus et, à l’op­po­sé, qu’un cor­pus contient peu d’ha­pax. Cette loi est géné­ra­le­ment pré­sen­tée sous la forme d’une courbe, avec à l’abs­cisse la fré­quence d’un terme, et à l’or­don­né le nombre de termes dans le corpus: 

Loi de Zipf. Source:: wikimedia 

On le voit, les termes très fré­quents, parce qu’ils appa­raissent dans tous les textes, ne sont pas dis­cri­mi­nants pour la recherche, c’est d’ailleurs le prin­cipe de base uti­li­sé pour le clus­te­ring. De plus, ces termes encombrent l’in­dex posi­tion­nel. C’est pour­quoi ces termes, sou­vent appe­lés mots outils, ne sont pas indexés.

Qu’est-ce que la recherche d’information par comparaison de documents ?

La recherche d’in­for­ma­tion par com­pa­rai­son de docu­ments repose sur le même prin­cipe que le clus­te­ring. L’i­dée sous-jacente est de construire un espace vec­to­riel, dans lequel on posi­tionne chaque document.

Les modes de cal­cul de ces vec­teurs varient. Ils peuvent être basés sur les mots qui forment le docu­ment (consi­dé­rés comme des « sacs de mots » en vrac) ou obte­nus via des tech­niques de plon­ge­ment, issus de l’ap­pren­tis­sage pro­fond, qui per­mettent de mieux cap­ter le contexte des mots.

L’une des méthodes les plus popu­laires pour posi­tion­ner des docu­ments dans un espace vec­to­riel repose sur deux fac­teurs qui tra­duisent quelques intui­tions simples : 

  • plus un terme est fré­quent dans un docu­ment, plus il est pro­bable que ce docu­ment concerne le concept cor­res­pon­dant à ce terme,
  • plus un terme est fré­quent dans l’en­semble du cor­pus, moins il est dis­cri­mi­nant pour la recherche d’information.

Tech­ni­que­ment, ces prin­cipes se tra­duisent par deux facteurs :

  • la fré­quence d’ap­pa­ri­tion du terme dans le docu­ment considéré 
  • la fré­quence d’ap­pa­ri­tion du terme dans l’en­semble du corpus

Afin de mettre en équa­tion, on écrit

  • text fre­quen­cy (tf) pour la fré­quence d’ap­pa­ri­tion dans le docu­ment considéré.
    • tf = fré­quence du terme dans le docu­ment / nombre de mots dans le document
  • Invert docu­ment frequency(IdF) pour la fré­quence d’ap­pa­ri­tion dans l’en­semble du corpus
    • Idf = log(nombre de docu­ments / nombre de docu­ments conte­nant le terme au moins une fois)

Le posi­tion­ne­ment d’un docu­ment dans cet espace vec­to­riel consiste à cal­cu­ler tf*idf pour chaque mot du docu­ment. L’es­pace vec­to­riel aura ain­si autant de dimen­sions qu’il y a de mots dif­fé­rents dans le corpus.

La recherche d’in­for­ma­tion par com­pa­rai­son de docu­ments consiste alors à posi­tion­ner la requête dans cet espace vec­to­riel et de trou­ver les docu­ments les plus proches mathématiquement.

Index inversé, comparaison de documents, avantages et inconvénients ?

L’a­van­tage de l’ap­proche par com­pa­rai­son de docu­ments réside dans le fait que la requête peut être longue, voire un docu­ment entier, ce qui est plus dif­fi­cile dans le cas d’un moteur de recherche basé sur un index inver­sé. En revanche, l’in­dex inver­sé pour­ra s’a­vé­rer plus effi­cace pour des requêtes courtes.

Quelles sont les trois phases de la recherche d’information ?

On consi­dère habi­tuel­le­ment que la recherche d’in­for­ma­tion com­prend trois phases :

  • une phase de collecte
  • une phase d’indexation
  • une phase de recherche

La collecte

La col­lecte consiste à récu­pé­rer les docu­ments à indexer. Ce peut être, comme on l’a vu, au moyen d’un craw­ler ou bien via des connec­teurs à des bases docu­men­taires ou des espaces de stockage. 

L’indexation

L’in­dexa­tion consiste à construire l’in­dex, c’est à dire à struc­tu­rer le mode d’ac­cès interne à l’in­for­ma­tion. L’in­dex peut être un index inver­sé ou un espace vec­to­riel ou une ver­sion hybride des deux.

La recherche

La recherche est la phase qui consiste à com­pa­rer la requête de l’u­ti­li­sa­teur avec le conte­nu de l’index. 

Dans le cas d’un index inver­sé, il s’a­gi­ra, une fois les mots outils fil­trés, de récu­pé­rer tous les docu­ments cor­res­pon­dant aux termes de la requête. Un algo­rithme de clas­se­ment pour­ra se baser sur le nombre de termes com­muns et/ou aux fré­quences d’apparition.

Dans le cas d’une approche par com­pa­rai­son de docu­ments, la pre­mière étape consiste à posi­tion­ner la requête dans l’es­pace vec­to­riel construit. L’al­go­rithme de clas­se­ment se base­ra alors sur la dis­tance, au sens vec­to­riel, entre la requête et les docu­ments de la base documentaire.

Par Alain Couillault
PhD Chargé de Mission Innovation APIL

Études de cas associés

Comment améliorer la recherche sur mon site de vente en ligne ?

CTO d'une société de fournitures électriques pour professionnels, mon service gère la plate-forme B2B et le SRI (Système de Recherche d'Information) derrière le formulaire de recherche produits. Or aujourd'hui, lorsque un client cherche des dominos par exemple, il ne trouve pas les barrettes de connexion. L'indexation des fiches produits et le traitement des requêtes s'appuient pourtant sur un référentiel. Il a été élaboré au fil de l'eau à partir du plan de classement du site et nous ne parvenons pas à le maintenir ou à l'étendre. Comment réorganiser cette ressource rapidement pour améliorer notre fonctionnalité de recherche et l'expérience utilisateurs ?

Repérer et quantifier les effets des traitements ainsi que leur contexte d'apparition

Je suis responsable de la pharmacovigilance au sein d'une structure publique de veille sanitaire. Je souhaite pouvoir exploiter plus largement les sources d'information sur les effets des traitements et garantir une certaine objectivité des analyses à partir des textes libres : l'analyse linguistique automatisée répond-elle à ces objectifs et comment ?

Je souhaite contacter le SAV d'un site de commerce en ligne

Quand je contacte le service client d'un fournisseur, je veux que ma demande soit correctement prise en compte afin d'obtenir rapidement le bon interlocuteur.

Comment identifier la plagiat dans les copies des étudiants de manière simple, rapide et la plus exhaustive possible ?

Enseignant dans l'enseignement supérieur, je dois vérifier que les copies de mes étudiants ne contiennent pas d'extraits traduits d'articles scientifiques disponibles en ligne.

Pousser au client l'information qu'il ne cherche pas encore

Responsable de la commercialisation de plusieurs titres de presse, je dois acquérir ou fidéliser mes abonnés en ligne en leur proposant l’actualité cruciale, voire critique dans leur activité, parmi des masses d’informations quotidiennes. Les mêmes outils de veille constituent un support précieux pour les journalistes de mes publications, à partir de sources externes.

La chasse aux infox, aussi impérieuse que complexe

Je suis directeur de la publication d'un journal d'information généraliste. A l'heure des médias sociaux, tout le monde ou presque peut publier de l'information visible de toute la planète. Cette formidable opportunité est hélas une aubaine pour les rumeurs voire la désinformation délibérée. Ne pas se faire le relais des infox est un devoir des médias désormais inscrit dans la loi. Débusquer et dénoncer la désinformation n'est pas une obligation légale mais un objectif éthique pour les médias.

Mettre à disposition immédiatement les réponses adéquates dans une documentation technique multilingue

Je suis chef de produit dans une entreprise industrielle multinationale et dans un domaine de haute technicité, où l'accès aux notices de maintenance est critique par ses enjeux financiers, environnementaux, ses risques associés en termes de sécurité ou d'image. Comment s'assurer que les équipes de production ou de maintenance trouvent immédiatement la réponse adéquate dans leur langue au sein de la documentation technique des installations et des outils ?

Quelle solution de fact checking pour mon ONG ?

Je suis responsable de la communication pour une ONG dans un domaine où l'information au public est essentielle et controversée et où le lobbying est très actif. Je dois repérer quotidiennement les informations diffusées et relayées sur les réseaux sociaux et dans la presse afin d'ajuster ma stratégie de communication. Existe-t-il des solutions de fact checking pour lutter contre la diffusion des infox (fake news) ?