Quality assurance · Production

Duolingo uses machine learning to prioritize learner-submitted course fix reports

The problem

About 90% of learner-submitted translation fix reports contain errors, making it difficult for contributors to efficiently identify the roughly 10% that are valid and require action.

First attempt

The previous approach of sorting reports by how often each answer was submitted (wisdom of the crowd) performed only slightly above random, achieving an AUC of about 0.59.

Workflow diagram · grounded in source
1
Learner submits report
trigger
“we ask for learners' help finding the ones we missed, using the "Report" flag that appears after you check your answer. Each report learners submit shows up in the Duolingo Incubator backend for our staff and contributors to review”
2
ML scoring of report
ai_action
“logistic regression takes a collection of features of the report, assigns a score to every feature indicating how much the feature is characteristic of good reports, and adds up the scores to figure out how likely it is overall that the …”
3
Reports ranked for human review
routing
“the system is used to rank reports for human review”
4
Staff and contributor review
human_review
“when staff and contributors look at a report, they mark whether they ended up accepting the suggested answer”
5
Accept/reject feeds training
feedback_loop
“Both accepted and rejected answers are sent to the system to teach it what to look for”
Reported outcome

The ML ranking system outperformed the frequency-based approach on every single course, including low-resource languages, and enabled new courses such as Arabic, Latin, and Scottish Gaelic to reach stable low problem-report rates within weeks of launch.

Reported metrics
Valid reports requiring a fix10%
Reports containing mistakes90%
previous frequency-based system AUC0.59
ML system vs previous strategydid better than the previous strategy on every single course
Reported stack
logistic regressionDuolingo Incubator
Source
https://blog.duolingo.com/how-machine-learning-helps-duolingo-prioritize-course-improvements/
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

The ML ranking system outperformed the frequency-based approach on every single course, including low-resource languages, and enabled new courses such as Arabic, Latin, and Scottish Gaelic to reach stable low problem-…

What tools did this team use?

logistic regression, Duolingo Incubator.

What results were reported?

Valid reports requiring a fix: 10%; Reports containing mistakes: 90%; previous frequency-based system AUC: 0.59; ML system vs previous strategy: did better than the previous strategy on every single course (source-reported, not independently verified).

What failed first in this deployment?

The previous approach of sorting reports by how often each answer was submitted (wisdom of the crowd) performed only slightly above random, achieving an AUC of about 0.59.

How is this quality assurance AI workflow structured?

Learner submits report → ML scoring of report → Reports ranked for human review → Staff and contributor review → Accept/reject feeds training.