🎓 Projet : Recherche Sémantique d’Avis Étudiants

(BM25 + BERT dans le cadre du cours de NLP)


🧾 Contexte pédagogique

Ce projet a été réalisé dans le cadre du cours de Natural Language Processing (NLP).
L’objectif pédagogique était de concevoir un système de recherche d’information performant combinant :

👉 Le sujet nous invitait à proposer une solution hybride capable de mieux interpréter le sens des phrases, en particulier dans le cadre d’une application concrète.


🎯 Sujet du projet

Nous avons choisi de travailler sur le traitement des avis d’étudiants sur leurs cours.
Ces avis sont souvent :

Notre mission :

Concevoir un moteur de recherche capable de retrouver automatiquement les avis les plus similaires à une phrase saisie, en comprenant le sens, pas uniquement les mots.


🧠 Les outils que nous avons utilisés

🔤 BERT : un modèle de langage contextuel

BERT (Bidirectional Encoder Representations from Transformers) est un modèle de langage développé par Google.
Il comprend les phrases en tenant compte du contexte des mots (avant et après).

🔎 Exemple :

“Ce cours manque de pratique” ≠ “C’est un cours très pratique”


🧠 Sentence Transformers : l’encodage de phrases

Nous avons utilisé la librairie sentence-transformers et le modèle :
📌 distiluse-base-multilingual-cased

Ce modèle transforme une phrase en vecteur numérique (embedding), ce qui permet ensuite de :


🔎 BM25 : la recherche classique dans les documents

BM25 est un algorithme utilisé par les moteurs de recherche (notamment via Elasticsearch).

Il fonctionne en :

📌 C’est rapide et efficace… mais ça ne comprend pas le sens !


🔀 La solution hybride que nous avons construite

Notre système combine :

  1. BM25, pour une première sélection rapide d’avis pertinents
  2. Embeddings BERT, pour reclasser les résultats selon leur proximité sémantique réelle

Étapes :


💬 Cas d’usage

Requête étudiante Résultats retournés
“Le cours était trop théorique” “Il manque de pratique”
“Je n’ai rien compris aux explications” “Les explications étaient trop rapides”
“Bon professeur” “Très pédagogue et clair”

✅ Les résultats sont pertinents même quand les mots sont différents, car le sens est compris.


📊 Résultats obtenus

Pour chaque requête, le système affiche :

Plus le score est proche de 1, plus l’avis est pertinent par rapport à la requête.


🧪 Exemple de requêtes testées

Le prof n’explique pas bien
Le cours est trop théorique
Pas assez d’exemples
Trop de pratique
Manque de structure
Contenu bien expliqué


🔮 Perspectives d’évolution


👥 Membres du groupe

Ce projet a été conçu et réalisé par notre groupe dans le cadre du cours de NLP :


🔗 Lien vers le dépôt GitHub

➡️ https://github.com/codeangel223/npl---BERT-BM25


Merci pour votre attention 🙏
Ce projet illustre l’intérêt des approches hybrides en NLP pour mieux comprendre le langage humain dans des contextes réels.