Exercices Projets guidés Moteur de recherche complet
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Moteur de recherche complet

Dernière étape : assembler toutes les pieces dans une classe MoteurRecherche.

Tu vas encapsuler tout le pipeline TF-IDF dans une classe avec trois méthodes :

__init__() : initialise une collection vide (liste de documents et IDF vide)

ajouter_document(texte) : ajoute un document a la collection et recalcule l'IDF

rechercher(requête, top_n=5) : retourne les top_n meilleurs documents sous forme de tuples (indice, score, extrait) ou extrait est les 50 premiers caracteres du document. Seuls les documents avec un score strictement positif sont retournes.

Exemple :
m = MoteurRecherche()
m.ajouter_document('python est simple et rapide')
m.ajouter_document('java est verbeux mais robuste')
m.ajouter_document('python machine learning intelligence artificielle')
résultats = m.rechercher('python')
# retourne les documents contenant 'python', tries par pertinence
# chaque résultat est (indice, score, extrait)

Felicitations, tu viens de construire un moteur de recherche from scratch.

Tests (2/4)

Ajout et recherche
m = MoteurRecherche()
m.ajouter_document('python est simple et rapide')
m.ajouter_document('java est verbeux mais robuste')
m.ajouter_document('python machine learning intelligence artificielle')
résultats = m.rechercher('python')
assert len(résultats) >= 1
assert résultats[0][0] in [0, 2]
Extrait inclus
m = MoteurRecherche()
m.ajouter_document('python est simple')
m.ajouter_document('java est verbeux')
résultats = m.rechercher('python')
assert len(résultats) >= 1
assert len(résultats[0]) == 3
assert 'python' in résultats[0][2]

+ 0 tests cachés

Indices (3 disponibles)

solution.py