30 points par xguru 2021-04-05 | 1 commentaires | Partager sur WhatsApp

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

  1. Préparer les données en créant un objet Abstract

  2. 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...)

  1. Créer une recherche de base

  2. Ajouter une fonction de pertinence : Term Frequency (à quelle fréquence ce mot est utilisé dans le résumé)

  3. Ajouter l’Inverse Document Frequency : le nombre d’autres documents liés à ce document

Code : https://github.com/bartdegoede/python-searchengine

1 commentaires

 
xguru 2021-04-05

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é.

SQLite dispose d’une extension distincte pour la recherche en texte intégral.