Benchmarks & Résultats
Résultats détaillés des tests comparatifs réalisés sur chaque module de la pipeline THOR avec les données réelles du projet.
Méthodologie des tests
Glossaire des métriques
Métriques STT (Speech-to-Text)
Taux d'erreur au niveau des mots. Mesure le pourcentage de mots incorrects (substitutions, insertions, suppressions) par rapport à la transcription de référence.
↓ Plus bas = meilleur. Un WER de 0% = transcription parfaite.
Taux d'erreur au niveau des caractères. Plus granulaire que le WER, utile pour détecter les petites erreurs d'orthographe.
↓ Plus bas = meilleur. Généralement inférieur au WER.
Métriques NLP (Classification/NER)
Parmi toutes les prédictions positives du modèle, combien sont correctes ? Mesure la fiabilité des prédictions.
Ex: Sur 100 villes prédites, 92 sont correctes → Precision = 92%
Parmi toutes les vraies instances positives, combien ont été trouvées ? Mesure la capacité à ne rien manquer.
Ex: Sur 100 villes réelles, 85 sont détectées → Recall = 85%
Moyenne harmonique de la Precision et du Recall. Équilibre entre les deux métriques, idéal quand on veut optimiser les deux à la fois.
↑ Plus haut = meilleur. F1 de 1.0 = parfait. F1 de 0.5 = médiocre.
Exemple concret
Pour la phrase "Je veux aller de Paris à Lyon" :
Speech-to-Text
Comparaison des métriques
"Je veux voyager de Toulouse à Bordeaux.""je veux voyager de toulouse à bordeaux"Verdict : Whisper
WER 19% inférieur à Vosk (29.1% vs 48.1%). Malgré une latence 3x plus élevée, la qualité de transcription justifie ce choix pour éviter les erreurs en cascade.
Natural Language Processing
| Modèle | F1-Score | Origine | Destination | Les deux | Status |
|---|---|---|---|---|---|
| spaCy (fine-tuné) | 0.621 | 94.98% | 83.90% | 83.68% | Choisi |
| regex_advanced | 0.430 | 80.82% | 29.57% | 27.05% | Testé |
| spaCy (base) | 0.407 | 72.60% | 42.24% | 40.75% | Testé |
| dummy (baseline) | 0.230 | 79.91% | 57.08% | 50.00% | Non retenu |
| transformers | Erreur | — | — | — | Non retenu |
Comparaison F1-Score
Impact du fine-tuning
Le fine-tuning de spaCy sur notre dataset améliore le F1-Score de +52.7% (0.407 → 0.621). La précision sur la destination passe de 42.24% à 83.90%, soit un gain de +98.6%.
Verdict : spaCy fine-tuné
Le modèle fine-tuné surpasse tous les autres avec un F1 de 0.621. Regex échoue sur les destinations (29.57%), Transformers n'a pas pu être évalué (erreur de chargement).
Pathfinding
Dijkstra (temps réels)
Exemple de route
{
"steps": [
"Toulouse Matabiau",
"Bordeaux Saint-Jean"
],
"total_time": 143 min (2h23),
"total_distance": 209.5 km,
"type_train": "TGV",
"nb_trains_jour": 17
}Verdict : Dijkstra avec temps pondérés
100% de précision sur les gares identifiées. Le taux de 50% de routes trouvées s'explique par des gares manquantes dans le dataset de test (gares étrangères, TER locaux).
Pipeline End-to-End
Test complet : Audio → Itinéraire
Audio: "Je veux voyager de Toulouse à Bordeaux"{
"transcript": "Je veux voyager de Toulouse à Bordeaux.",
"origin": "Toulouse",
"destination": "Bordeaux",
"is_valid": true,
"confidence": 0.70,
"route": {
"steps": ["Toulouse Matabiau", "Bordeaux Saint-Jean"],
"total_time": 143 min,
"total_distance": 209.5 km,
"type_train": "TGV",
"trains_par_jour": 17
}
}Récapitulatif des choix
| Module | Choix | Métrique clé | vs Alternative |
|---|---|---|---|
| STT | Whisper | WER 29.1% | -19% vs Vosk |
| NLP | spaCy (fine-tuné) | F1 0.621 | +53% vs base |
| Pathfinding | Dijkstra | 100% précision | Seul testé |
Latence totale de la pipeline
387ms (STT) + 10ms (NLP) + 5ms (Pathfinding) = temps de réponse quasi-instantané