Exercices Projets guidés Score TF-IDF
🎉

Bravo!

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

Score TF-IDF

Sixieme étape : combiner TF et IDF pour obtenir le score TF-IDF.

TF-IDF(mot, document) = TF(mot, document) x IDF(mot)

Un mot qui apparait souvent dans un document (TF eleve) ET qui est rare dans la collection (IDF eleve) obtient un score tres eleve. C'est ce mot qui caracterise le mieux ce document.

Tu dois écrire deux fonctions :

1. tfidf(document, idf) : retourne un dictionnaire {mot: score_tfidf} pour chaque mot du document.

2. scorer_document(document, requête, idf) : retourne le score total d'un document pour une requête. C'est la somme des scores TF-IDF des mots de la requête presents dans le document.

Exemple : si un document parle beaucoup de 'python' et que 'python' est un mot rare dans la collection, ce document aura un score TF-IDF eleve pour la requête 'python'.

Tests (2/4)

TF-IDF non nul
import math
idf = {'python': math.log(3/2), 'est': 0.1}
doc = 'python python est simple'
scores = tfidf(doc, idf)
assert scores['python'] > scores['est']
Score document
import math
idf = {'python': math.log(3/2), 'simple': math.log(3)}
doc = 'python est simple'
score = scorer_document(doc, 'python simple', idf)
assert score > 0

+ 0 tests cachés

Indices (3 disponibles)

solution.py