Exercices Projets guidés Calcul IDF (Inverse Document Frequency)
🎉

Bravo!

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

Calcul IDF (Inverse Document Frequency)

Cinquieme étape : l'IDF (Inverse Document Frequency). C'est ce qui differencie un moteur de recherche intelligent d'une simple recherche par mot-cle.

L'idee : un mot comme 'est' ou 'le' apparait dans presque tous les documents. Il n'est donc pas utile pour distinguer un document d'un autre. En revanche, un mot comme 'quantique' est rare et tres discriminant.

L'IDF penalise les mots communs et valorise les mots rares.

Formule : IDF(mot) = log(N / df) ou :
N = nombre total de documents
df = nombre de documents contenant ce mot
log = logarithme naturel (math.log)

Exemple avec 3 documents ou 'python' est dans 2 docs et 'est' dans 3 :
IDF('python') = log(3/2) = 0.405 environ
IDF('est') = log(3/3) = 0 (dans tous les docs, pas discriminant)

Écris une fonction calculer_idf(documents) qui retourne un dictionnaire {mot: idf}.

Tests (2/4)

IDF calcule
import math
docs = ['python est rapide', 'python est simple', 'java est verbeux']
idf = calculer_idf(docs)
assert abs(idf['python'] - math.log(3/2)) < 0.01
IDF mot commun plus bas
docs = ['python est rapide', 'python est simple', 'java est verbeux']
idf = calculer_idf(docs)
assert idf['est'] < idf['python']

+ 0 tests cachés

Indices (3 disponibles)

solution.py