Two-person final project for ADSP 32014/ON01 — Bayesian Machine Learning with Generative AI Applications (Summer 2026), by Shane Dunkle & Richard Pollitt. A public-dataset, uncertainty-first project that exercises nearly the entire syllabus. Separate from CulturalLens.

👥 Team: Shane Dunkle & Richard Pollitt · profile. Richard = data engineering / databases / scale & infrastructure / project management · Shane = Bayesian modeling + SLA interpretation. See Team & roles below.

📁 Shared project folder (Google Drive): SLAM project folder

🐙 GitHub repo: ChicagoShane/slam-final-project · live tracker (after Pages is on): https://chicagoshane.github.io/slam-final-project/

🌿 One-paragraph pitch

Using Duolingo's public SLAM dataset (millions of learner exercise responses over each learner's first 30 days), this project predicts when a language learner will make an error — and, crucially, how confident it is — so the tutor can say “I don't know, route to a human / adaptive review” instead of guessing. Three coupled Bayesian components: a hierarchical model (learners nested within native-language groups and skill/format types), Hidden Markov Models for latent acquisition stages across a learner's timeline, and a Bayesian neural network that separates aleatoric (inherent difficulty/noise) from epistemic (not-enough-data) uncertainty. The payoff is a calibrated, interpretable model of second-language learning that knows the limits of its own knowledge.

🎯 Research questions

📦 Data

SLAM 2018 (Duolingo Shared Task; Harvard Dataverse). ~2M+ tokens from ~6,000+ learners over their first 30 days, across three courses (learners of English, Spanish, French). Each token has a binary label (error / correct) plus features: user ID, L1/country, days-in-course, client (web/iOS/Android), session type (lesson/practice/test), exercise format (reverse_translate, reverse_tap, listen), response time, and per-token linguistic features (part-of-speech, morphology, dependency). The task predicts per-token error probability. Top shared-task models reached AUROC ≈ 0.86 (English) — a clear baseline to beat/match while adding calibrated uncertainty.

🧪 Methodology

Part A — Hierarchical Bayesian error model (Bayes nets + hierarchical + MCMC)

Part B — Acquisition stages (Hidden Markov Models)

Part C — Uncertainty & abstention (Bayesian neural network)