# Recherche plein texte

La recherche (en) plein texte (appelée aussi recherche en texte intégral ou recherche de texte libre) est une technique de recherche dans un document électronique ou une base de données textuelles, qui consiste pour le moteur de recherche à examiner tous les mots de chaque document enregistré et à essayer de les faire correspondre à ceux fournis par l'utilisateur.
Les techniques de recherche sont devenues fréquentes dans les bases de données bibliographiques en ligne dans les années 1970. La plupart des sites Web et des programmes applicatifs (tels que les logiciels de traitement de texte) fournissent des fonctionnalités de recherche plein texte. Des moteurs de recherche dans le Web, comme AltaVista, emploient des techniques de recherche plein texte, alors que d'autres n'indexent qu'une partie des pages Web examinées par son système d'indexation.
L'approche la plus fréquente dans la recherche plein texte est de générer un index complet ou une concordance pour tous les documents pouvant être recherchés. Pour chaque mot (sauf les mots-outils qui sont trop fréquents pour être utiles) on crée une entrée qui liste la position exacte de chaque occurrence du mot dans la base de données de documents. Il est relativement simple de récupérer à l'aide d'une telle liste tous les documents qui correspondent à une requête, sans avoir à scanner chaque document. Bien que pour des corpus de très petits documents la recherche plein texte puisse être faite par parcours séquentiel, l'indexation est la méthode préférée pour presque toutes les recherches plein texte.

## Le problème des faux positifs

Comme quiconque a effectué une recherche plein texte le reconnaîtra, la recherche plein texte est susceptible de récupérer beaucoup de documents qui ne sont pas pertinents par rapport à la question posée. De tels documents sont appelés faux positifs. La récupération de documents non pertinents est souvent provoquée par l'ambiguïté inhérente au langage naturel ; par exemple, le mot avocat désigne aussi bien un fruit qu'une profession, et les documents traitant de l'un ne sont pas pertinents pour le chercheur qui s'intéresse à l'autre.

## Compromis entre précision et retour

En raison des ambiguïtés du langage naturel, une recherche plein texte produit typiquement une liste de récupération qui a une faible précision : la plupart des éléments récupérés ne sont pas pertinents. La recherche avec un vocabulaire contrôlé cherche à résoudre ce problème en étiquetant les documents de telle manière que les ambiguïtés soient éliminées. Cependant, cette méthode peut laisser échapper des documents pertinents qu'une recherche plein texte aurait inclus.

## Améliorer la performance de la recherche plein texte

Les insuffisances de la recherche plein texte ont été traitées de deux manières : en fournissant aux utilisateurs des outils qui leur permettent d'exprimer leurs requêtes plus précisément, et en développant de nouveaux algorithmes de recherche qui améliorent la précision des récupérations.

### Outils de requête améliorés

* Mots clés. On demande aux créateurs de documents (ou aux indexeurs formés) de fournir une liste de mots qui décrivent le sujet du texte, incluant des synonymes des mots qui décrivent ce sujet. Les mots clés améliorent le retour, particulièrement lorsque la liste de mots clés inclut un mot de recherche qui n'est pas dans le document texte.
* La recherche restreinte au champ. Des moteurs de recherche permettent aux utilisateurs de limiter les recherches plein texte à un champ particulier dans un enregistrement de données, comme "Titre" ou "Auteur."
* Les requêtes booléennes. Les recherches qui utilisent des opérateurs booléens (par exemple, "encyclopédie" ET "en ligne" SAUF "Encarta") peuvent accroître considérablement la précision d'une recherche plein texte. L'opérateur ET dit, en effet, "Ne récupère un document que s'il contient chacun de ces termes." L'opérateur SAUF dit, en effet, "Ne récupère pas un document qui contient ce mot." Si la liste de récupération retourne trop peu de documents, l'opérateur OU peut être utilisé pour accroître les retours ; considérons, par exemple, "encyclopédie" ET "en ligne" OU "Internet" SAUF "Encarta". Cette recherche récupérera des documents sur les encyclopédies en ligne qui utilisent le terme "Internet" à la place de "en ligne."
* Recherche d'expression. Une recherche d'expression ne récupère que les documents qui contiennent une expression spécifiée, comme "Wikipedia, l'encyclopédie libre."
* Recherche de proximité. Une recherche d'expression qui ne récupère que les documents qui contiennent, par exemple, deux mots séparés par un nombre spécifié de mots ; une recherche pour "Wikipedia" AVEC2 "libre" récupérerait seulement les documents dans lesquels les mots "Wikipedia" et "libre" apparaissent séparés de deux mots au plus.
* Recherche floue. Une recherche floue va récupérer les documents qui contiennent les termes de la requête ou des variations de ceux-ci (en utilisant par exemple une distance d'édition comme la distance de Levenshtein pour définir le concept de proximité).
* Expression rationnelle. Une expression rationnelle emploie une syntaxe de requête complexe mais puissante qui peut être utilisée pour spécifier des conditions de recherche avec précision.

### Algorithmes de recherche améliorés

Les avancées technologiques ont beaucoup amélioré les performances de la recherche plein texte. Par exemple, l'algorithme PageRank de Google fournit plus d'importance aux documents qui sont pointés, au travers de liens hypertextes, par un grand nombre d'autres pages Web. Cet algorithme améliore considérablement la perception de la précision de recherche par les utilisateurs, ce qui explique sa popularité chez les utilisateurs d'Internet. Voir moteur de recherche pour davantage d'exemples.