← Derniers articles
💬 NLP

Automated Knowledge Component Generation for Interpretable Knowledge Tracing in Coding Problems

Ce papier présente KCGen-KT, un pipeline automatisé basé sur les LLM qui génère et étiquette des composants de connaissances pour des problèmes de codage ouverts, démontrant par une évaluation approfondie que ces composants générés par l'IA surpassent les composants traditionnels rédigés par des humains dans la prédiction des performances des étudiants et la modélisation des courbes d'apprentissage.

Auteurs originaux : Zhangqi Duan, Nigel Fernandez, Arun Balajiee Lekshmi Narayanan, Mohammad Hassany, Rafaella Sampaio de Alencar, Peter Brusilovsky, Bita Akram, Andrew Lan

Publié 2026-05-19
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Zhangqi Duan, Nigel Fernandez, Arun Balajiee Lekshmi Narayanan, Mohammad Hassany, Rafaella Sampaio de Alencar, Peter Brusilovsky, Bita Akram, Andrew Lan

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous êtes un enseignant essayant de déterminer exactement avec quoi un étudiant éprouve des difficultés dans un cours de programmation. Autrefois, vous deviez écrire manuellement une liste de compétences spécifiques (comme « savoir utiliser une boucle » ou « comprendre comment additionner des nombres »), puis examiner chaque problème de devoir pour étiqueter quelles compétences il évaluait. C'est comme un bibliothécaire écrivant manuellement un catalogue de cartes pour chaque livre d'une immense bibliothèque ; cela prend une éternité, est sujet aux erreurs humaines et est incroyablement ennuyeux.

Ce papier présente une nouvelle méthode automatisée pour y parvenir en utilisant l'Intelligence Artificielle (spécifiquement, les Grands Modèles de Langage ou LLM), mais avec une particularité : elle fonctionne pour des problèmes de programmation ouverts, où les étudiants écrivent leur propre code à partir de zéro, plutôt que de simplement choisir des réponses dans une liste à choix multiples.

Voici une décomposition de ce qu'ils ont fait, en utilisant des analogies simples :

1. Le Problème : Le chaos « ouvert »

Dans les questions à choix multiples, il n'y a qu'une seule bonne réponse, il est donc facile de deviner quelle compétence était évaluée. Mais en programmation, les étudiants peuvent résoudre le même problème de dix manières différentes. Un étudiant pourrait utiliser une « boucle for », tandis qu'un autre utilise des « expressions régulières ». Tous deux obtiennent la bonne réponse, mais ils ont utilisé des compétences différentes.

  • L'analogie : Imaginez demander à des gens de construire une niche à oiseaux. Si vous leur donnez un quiz à choix multiples, vous savez exactement ce qu'ils ont appris. Mais si vous leur demandez de construire la niche, une personne pourrait utiliser un marteau et des clous, tandis qu'une autre utiliserait de la colle et du bois. Déterminer exactement quelles compétences chaque personne a utilisées simplement en regardant la niche finie est très difficile.

2. La Solution : Le « Détective de compétences » de l'IA

Les auteurs ont construit un pipeline automatisé en trois étapes pour agir comme un « Détective de compétences » :

  • Étape 1 : L'enquête (Génération) : Ils donnent à l'IA un problème de programmation et un ensemble de différentes solutions d'étudiants (correctes et incorrectes). L'IA agit comme un détective, lit le code et dit : « Ah, pour résoudre cela, il fallait savoir utiliser une « instruction If » et savoir faire des « Mathématiques avec des valeurs absolues ». » Elle crée une liste de ces compétences (appelées Composantes de Connaissance, ou KC).
  • Étape 2 : Le Chapeau de tri (Clustering) : L'IA peut générer 100 noms légèrement différents pour la même compétence (par exemple, « If-Else », « Logique conditionnelle », « Prise de décision »). Le système regroupe ces idées similaires, comme trier un tas de chaussettes mélangées en paires.
  • Étape 3 : L'étiqueteuse (Résumé) : Enfin, l'IA examine chaque groupe de compétences similaires et leur donne un nom clair et lisible par l'homme (comme « Logique conditionnelle »). Elle étiquette ensuite chaque problème avec ces nouvelles étiquettes propres.

3. Le Résultat : Un tuteur plus intelligent (KCGen-KT)

Une fois que l'IA a ces étiquettes de compétences, ils ont construit un nouveau système de « Traçage des Connaissances » (une façon de suivre l'apprentissage des étudiants dans le temps) appelé KCGen-KT.

  • Comment ça marche : Au lieu de simplement deviner si un étudiant aura raison ou tort à la prochaine question, ce système examine l'historique de l'étudiant avec des compétences spécifiques. Il se demande : « Cet étudiant éprouve-t-il des difficultés avec les « Boucles » mais excelle-t-il avec les « Variables » ? »
  • La Magie : Le système traduit le niveau de compétence de l'étudiant en un « jeton doux » (un signal numérique) que l'IA peut lire. Cela permet à l'IA de prédire non seulement si l'étudiant échouera, mais à quoi ressemblera son prochain morceau de code.

4. La Preuve : Est-ce que ça a marché ?

Les chercheurs ont testé cela sur deux ensembles de données réels contenant des milliers de soumissions de code d'étudiants (un en Java, un en Python).

  • Mieux que les humains : Étonnamment, les étiquettes de compétences générées par l'IA ont aidé à prédire la performance des étudiants mieux que les étiquettes rédigées par des experts humains.
  • Mieux que l'ancienne IA : Le nouveau système a surpassé les modèles d'IA de pointe précédents qui n'utilisaient pas ces étiquettes de compétences spécifiques.
  • Le contrôle de la « Courbe d'apprentissage » : Ils ont vérifié si le système suivait la « Loi de la Pratique » (l'idée que les gens s'améliorent plus ils pratiquent). Les compétences générées par l'IA ont montré un motif clair : à mesure que les étudiants pratiquaient une compétence spécifique, leur taux d'erreur diminuait. Cela a prouvé que l'IA identifiait de vraies compétences significatives.
  • Approbation humaine : Lorsqu'ils ont montré le travail de l'IA à de véritables enseignants en informatique, ceux-ci ont convenu que les descriptions de compétences de l'IA étaient claires, compréhensibles et précises.

Résumé

En bref, ce papier dit : « Nous avons enseigné à une IA comment déterminer automatiquement exactement quelles compétences les étudiants utilisent dans leurs devoirs de programmation. Nous avons ensuite utilisé ces étiquettes de compétences générées par l'IA pour construire un système plus intelligent qui prédit comment les étudiants se débrouilleront à l'avenir. Cela fonctionne mieux que les experts humains et mieux que les méthodes d'IA précédentes, et cela nous aide à comprendre l'apprentissage des étudiants d'une manière claire et interprétable. »

Ce qu'ils n'ont PAS affirmé :

  • Ils n'ont pas affirmé que cela remplace les enseignants ; ils déclarent explicitement que c'est destiné à les soutenir.
  • Ils n'ont pas encore testé cela sur des problèmes de mathématiques ou de sciences (seulement de la programmation).
  • Ils n'ont pas affirmé que c'est parfait ; ils ont noté que parfois l'IA manque des compétences partagées entre les problèmes car elle les analyse un par un.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →