Un article qui explique pas à pas les bases d’un moteur de recherche, sans techniques particulières, à partir de l’ensemble des données titres + résumés de Wikipédia en anglais
-
Préparer les données en créant un objet
Abstract -
Créer l’index : tokenisation et filtrage
→ minuscules
→ racinisation (stemming)
→ exclusion des 25 mots les plus utilisés en anglais (the, be, to, of, a...)
-
Créer une recherche de base
-
Ajouter une fonction de pertinence : Term Frequency (à quelle fréquence ce mot est utilisé dans le résumé)
-
Ajouter l’Inverse Document Frequency : le nombre d’autres documents liés à ce document
1 commentaires
Une recherche floue de chaînes prenant aussi en charge la recherche par consonnes initiales coréennes : https://fr.news.hada.io/topic?id=3631
Même si les bases techniques et l’implémentation sont totalement différentes de cet article, je l’ai trouvé agréable à lire car il explique en détail les notions fondamentales, étape par étape.
Il existe aussi plusieurs bibliothèques Python qui implémentent de façon plus poussée des fonctionnalités liées à la recherche en texte intégral, à la modélisation de sujets, à l’indexation de documents et à la similarité.
Whoosh : https://pypi.org/project/Whoosh/
GenSim : https://github.com/RaRe-Technologies/gensim
SQLite dispose d’une extension distincte pour la recherche en texte intégral.