Diep leren om in te grijpen waar het telt

Hoe we een feedbackloop hebben gebouwd om leerveranderingen te optimaliseren

(Marianne Sorba) (14 aug.2018)

Leren is niet eenvoudig. Om het een beetje gemakkelijker te maken, hebben we (In-Course Help) gelanceerd, waarbij we gedrags- en pedagogische duwtjes geven terwijl leerlingen door het cursusmateriaal bladeren. In dit bericht bespreken we ons proces en onze lessen bij het implementeren van een feedbacklus voor machine learning voor het personaliseren en optimaliseren van deze duwtjes.

Bij de eerste implementatie van In-Course Help, alle leerlingen op een bepaald punt in een bepaald cursus – bijvoorbeeld het voltooien van lezing 9 van cursus A, of het niet slagen van quiz 3 van cursus B – hetzelfde bericht ontving. Hierdoor konden we ingrijpen op manieren die gemiddeld nuttig waren, en de naald op het gebied van cursusvoortgang en -retentie zetten.

Maar we zagen ook heterogeniteit van de impact tussen leerlingen en berichten. Dienovereenkomstig, in een wereld waar alle leerlingen op een bepaald punt in een bepaalde cursus het bericht ontvingen, waren we op onze hoede voor het uitrollen van te veel berichten.

Voor de volgende implementatie hebben we een slimme feedbacklus gemaakt om te controleren welke leerlingen elk bericht hebben ontvangen. Het model is een neuraal netwerk dat een breed scala aan functies als invoer heeft, waaronder de volgende:

  • De eerdere klikfrequenties van de leerling voor verschillende berichten
  • Haar demografische gegevens ( bijv. geslacht, leeftijd, land, werkgelegenheidsniveau, opleidingsniveau)
  • Haar gedragsgegevens op het platform (bijv. of de inschrijving is betaald, browsertaal, aantal voltooide cursussen)
  • Kenmerken op cursusniveau (bijv. Domein, moeilijkheidsgraad, beoordeling)

Met behulp van deze functies voorspelt het model hoe waarschijnlijk het is dat een specifieke leerling een bepaald type pop-upbericht nuttig vindt bij een bepaald punt in haar leren. Als het voorspelt dat het bericht een voldoende positieve impact zal hebben, triggert het het bericht; anders houdt het de boodschap tegen. De gewichten van het model en zijn voorspellingen worden elke nacht bijgewerkt terwijl ons data science-team slaapt – een grote verbetering ten opzichte van de basislijn van complexe en langlopende geneste A / B-tests, waarbij het team handmatige aanpassingen aan de interventies doorvoert op basis van de waargenomen resultaten. Het feedbackloopsysteem strekt zich natuurlijk ook uit om ons in staat te stellen te kiezen uit meerdere versies van een bericht die op hetzelfde punt naar dezelfde leerling kunnen worden verzonden, waardoor alleen de versie wordt geactiveerd waarvan wordt voorspeld dat deze het meest positieve resultaat voor de leerling zal hebben.

Tegenwoordig hebben we twee filterniveaus: filtering op cursusitemstatusniveau om te beslissen welke berichten moeten worden bewaard omdat ze voldoende nuttig zijn, en filtering op gebruikerscursusitemstatusniveau om te personaliseren naar welke berichten studenten op een bepaald leermoment.

In het kort, voor elke mogelijke duw in de richting van elke itemstatus in elke cursus, voorspelt het cursus-item-statusniveau model de gemiddelde kans dat een student het bericht vindt nuttig op basis van eerdere interacties met het bericht en gegevens op cursusniveau. Als het model intuïtief voorspelt dat de boodschap niet voldoende nuttig is, houden we die boodschap helemaal tegen op dat triggerpunt (op voorwaarde dat het aantal impressies voldoende groot is). Deze filtering op triggerniveau is vooral handig als we onze berichteninventaris uitbreiden, omdat het automatisch berichten detecteert en eruit filtert die niet nuttig zijn – of niet voor een bepaalde klas of triggerpunt zijn.

Het cursusitem- state level model is gelaagd onder een vergelijkbare feedback loop die filtert op het user-course-item-state-niveau. Neem een ​​eenvoudig voorbeeld: we willen weten of we op een bepaald punt van zijn leertraject een bepaald bericht naar Alan moeten sturen. Beschouw als uiteenzetting een bericht waarvoor we zelfgerapporteerde hulpvaardigheid rechtstreeks van de leerling verzamelen. In de huidige implementatie zijn er drie mogelijkheden.

  1. Alan zou willekeurig gekozen kunnen worden (vandaag met een kans van 10%) om het bericht te ontvangen wat er ook gebeurt ; dit zorgt ervoor dat we voldoende onbevooroordeelde gegevens hebben zodat het model elke nacht kan blijven leren – en verbeteren.
  2. Alan zou willekeurig gekozen kunnen worden (vandaag met een waarschijnlijkheid van 90%) om mogelijk het bericht te ontvangen, maar Alan is een nieuwe leerling en heeft nauwelijks interactie gehad met onze berichten. Omdat we niet voldoende gegevens over hem hebben om een ​​betrouwbare voorspelling te doen, sturen we hem het bericht om gegevens te verzamelen.
  3. Alan kan willekeurig worden gekozen (met dezelfde waarschijnlijkheid 90%) om het bericht mogelijk te ontvangen, en heeft interactie gehad met voldoende ALICE-berichten zodat het model een betrouwbare voorspelling kan doen.Vervolgens geeft het model, op basis van gegevens van Alans leerlingprofiel en zijn eerdere interacties met in-Course Help-berichten, drie waarschijnlijkheden weer: a) de waarschijnlijkheid dat Alan klikt op “Ja, dit was nuttig”; b) de kans dat Alan klikt op “Nee, dit was niet nuttig”; c) de kans dat Alan geen interactie heeft met het bericht.

We verzenden het bericht alleen als a) b) en c) voldoende overschrijdt. Tegenwoordig houdt de feedbacklus ongeveer 30% van de berichten tegen en verhoogt de verhouding tussen nuttige en niet-nuttige rapporten met 43%.

En wat nu?

Allereerst herhalen we de optimalisatiefunctie. In het bovenstaande voorbeeld wordt overwogen om te optimaliseren voor een positieve opname van de call-to-action (het bericht rapporteren was nuttig of doorklikken op de aanbeveling). Voor sommige nudges kan en moet de optimalisatiefunctie echter verder stroomafwaarts zijn. Als we de leerling bijvoorbeeld uitnodigen om belangrijk materiaal te beoordelen, geeft haar klikken op de aangeboden link ons ​​niet voldoende informatie over of dat beoordelingsmateriaal haar leerresultaten daadwerkelijk heeft geholpen – alleen of ze onze aanbeveling heeft opgevolgd. Voor dit soort interventies breiden we de optimalisatiefunctie uit met stroomafwaartse leerresultaten, zoals voltooide items.

Ten tweede zijn we met deze ingebouwde fail-safe aan het brainstormen en lanceren we nieuwe soorten interventies. Omdat het model automatisch kiest welke duwtjes we waar en voor wie blijven rennen, kunnen we nieuwe manieren verkennen om leerlingen te betrekken, in het vertrouwen dat degenen die niet behulpzaam zijn, efficiënt worden tegengehouden.

Geïnteresseerd in solliciteren data science tot onderwijs? Coursera werft aan !

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *