BE1022627B1 - Methode en apparaat voor het automatisch genereren van feedback - Google Patents

Methode en apparaat voor het automatisch genereren van feedback Download PDF

Info

Publication number
BE1022627B1
BE1022627B1 BE2014/5103A BE201405103A BE1022627B1 BE 1022627 B1 BE1022627 B1 BE 1022627B1 BE 2014/5103 A BE2014/5103 A BE 2014/5103A BE 201405103 A BE201405103 A BE 201405103A BE 1022627 B1 BE1022627 B1 BE 1022627B1
Authority
BE
Belgium
Prior art keywords
feedback
computer
implemented method
classes
features
Prior art date
Application number
BE2014/5103A
Other languages
English (en)
Other versions
BE1022627A1 (nl
Inventor
Brecht Stubbe
Ruben Lagatie
Original Assignee
Televic Education Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Televic Education Nv filed Critical Televic Education Nv
Application granted granted Critical
Publication of BE1022627A1 publication Critical patent/BE1022627A1/nl
Publication of BE1022627B1 publication Critical patent/BE1022627B1/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

De uitvinding betreft een methode om een statistisch classificatiemodel te creëren om automatisch feedback te genereren uitgaande van een set kenmerken die mogelijke fouten beschrijven en een set eenheden met ruwe gegevens, waarbij elke eenheid met ruwe gegevens ten minste een antwoord, correctie en feedback omvat. De methode omvat: a) omzetten van eenheden met ruwe gegevens in voorbeelden samengesteld uit één of meerdere verschillen verkregen door vergelijking van antwoord en correctie, alzo een waarde toewijzend aan kenmerken uit genoemde set met kenmerken, b) afleiden van een set met klassen uit genoemde feedback van de eenheden met ruwe gegevens, c) reduceren van het aantal klassen in de set gebaseerd op overeenkomsten tussen klassen, d) labelen van elk voorbeeld met één van de klassen van de gereduceerde set, en e) samenstellen van het statistisch classificatiemodel via een classificatiemiddel voor machinaal leren, gebruik makend van de gelabelde voorbeelden als trainingsgegevens.

Description

Methode en apparaat voor het automatisch genereren van feedback Gebied van de uitvinding [0001] De onderhavige uitvinding heeft betrekking op het vakgebied van artificiële intelligentiesystemen om automatisch feedback over fouten te geven aan cursisten van bijv. een talencursus.
Achtergrond van de uitvinding [0002] Feedback is een essentieel element in het leerproces van een student. Gepaste feedback leveren aan de student over de kwaliteit van zijn/haar antwoord, zowel wat betreft grammatica als communicatieve geschiktheid is een hoofdvereiste van eender welke stimulerende CALL-omgeving (Computer Assisted Language Learning). Bovendien moet het creatief gebruik van taal in een communicatief relevante omgeving worden aangemoedigd. Het invullen van een van deze twee vereisten is eenvoudig. De combinatie van de twee, bijv. bij het evalueren van het antwoord van een student op een zogeheten open vraag, is echter erg moeilijk. De reden daarvoor is dat de mogelijke fouten die een student in een dergelijke situatie kan maken, nagenoeg eindeloos zijn. Het is algemeen geweten dat het erg moeilijk is om een systeem te bouwen dat vrije tekstinvoer mogelijk maakt en op hetzelfde moment gedetailleerde feedback geeft aan studenten over hun taalfouten.
[0003] Het uiteindelijke doel van elk CALL-systeem is om op een robuuste manier het cognitieve gedrag van mensen in een specifieke sociale rol te modelleren, bijvoorbeeld die van een talenleerkracht. Om dit te verwezenlijken moeten belangrijke aspecten van menselijke cognitieve vaardigheden worden nagebootst in een machine. Wanneer men dat doet, spreekt men van zogeheten intelligente CALL-systemen. Dergelijke systemen maken gebruik van artificiële intelligentie (Al) en technieken voor natuurlijke taalverwerking (NLP) om de intelligentie te introduceren die nodig is om menselijke lesgevers na te bootsen. Een van de manieren om intelligentie te verkrijgen is door middel van parseren, m.a.w. een techniek die een computer in staat stelt om complexe grammaticale kennis te coderen, zoals mensen dat doen om zinnen samen te stellen, fouten te herkennen en correcties aan te brengen.
[0004] Moderne oplossingen kunnen worden gecategoriseerd in twee types: parsergebaseerde CALL of statistische CALL.
In parsergebaseerde CALL worden parsers gebruikt om het antwoord van de student te analyseren. Traditionele parsers zijn niet in staat om met foutieve invoer om te gaan, dus moeten ze worden aangepast zodat ze robuuster zijn. Om feedback te geven moet informatie over de fouten bovendien worden opgeslagen en vervolgens gebruikt worden om een geschikt feedbackbericht samen te stellen. Dit wordt soms sensitive parsing genoemd. Er zijn enkele welbekende beperkingen aan parsers: - parsers zijn niet onfeilbaar: sommige fouten detecteren ze niet en ze verwerpen sommige zinnen die grammaticaal wel correct zijn, - parsers gaan zelden verder dan syntax: ze zijn meestal niet in staat om semantische of pragmatische fouten te detecteren, - sensitive parsers zijn erg duur: er werden enkele methoden gebruikt zoals foutregels en versoepeling van de beperkingen, maar beide vereisen het aanmaken van gedetailleerde grammaticaregels of (gewogen) beperkingen voor foutieve constructies en ze wijzigen vaak de interne werking van de parser, waarbij procedurele methoden worden geïntroduceerd in een inherent declaratief algoritme. - parsers zijn taal- en contextafhankelijk: de woordenschat en alle grammaticaregels, foutregels en beperkingen die zo zorgvuldig zijn ontworpen, kunnen alleen worden gebruikt voor een specifieke taal en een specifiek domein, - sensitive parsing is rekenkundig complex: wegens de inherente dubbelzinnigheid van een taal en het groot aantal manieren waarop een fout kan worden gemaakt, moeten de meest gevoelige "sensitive parsing"-technieken methodes aanwenden om een buitensporige rekenlast te vermijden, waarbij de algemene nauwkeurigheid en betrouwbaarheid worden verlaagd.
[0005] Ondanks hun complexiteit en kosten, zijn sensitive parsers nog steeds niet in staat om willekeurige ongrammaticale invoer te parseren. Daarom concentreert de onderzoekswereld zich de laatste tijd steeds meer op statistische CALL-technieken. Dergelijke methoden hebben alleen gegevens nodig, bij voorkeur geannoteerde gegevens, en leren zelf taalpatronen. Ze zijn goedkoop om te ontwikkelen en maken vaak gebruik van direct verkrijgbare classificatiealgoritmes om de invoer, m.a.w. (delen van) het antwoord van een student, te classificeren. Er werden een aantal verschillende classificatiemiddelen gebruikt, zoals Bayesiaanse classificatiemiddelen, beslissingslijsten, beslissingsbomen, transformatiegebaseerde leermiddelen, SVM's (Support Vector Machines) en classificatiemiddelen met maximale entropie.
[0006] De keuze van classificatiemiddel heeft geen significante invloed op de efficiëntie. Belangrijker is de keuze van te gebruiken klassen en kenmerken. Classificatie kan op twee verschillende manieren worden uitgevoerd. Ten eerste kan een binaire classificatie worden gebruikt om een model te bouwen dat een specifiek type fout detecteert. De kenmerken kunnen vervolgens worden gekozen zodat ze relevant zijn voor het fouttype in kwestie. Om een variëteit aan fouten te detecteren, moet voor elk fouttype een model worden gecreëerd. Ten tweede is het ook mogelijk om classificatie met meerdere klassen te gebruiken door aan elk fouttype een klasse toe te wijzen en één enkel model samen te stellen dat zinnen classificeert in één van de opgegeven klassen. Beide methoden hebben enkele nadelen.
[0007] Het grootste probleem met binaire classificatie is dat het detecteren van meerdere fouten meerdere opeenvolgende classificaties vergt en dit er vaak toe leidt dat complexere fouten niet correct worden gedetecteerd. Het geheugengebruik is ook minder efficiënt aangezien dezelfde kenmerken vaak in meerdere modellen aanwezig zijn, zoals de woordsoort (POS) van het woord. Classificatie met meerdere klassen presteert beter, maar het opnemen van alle kenmerken in één enkel model leidt er vaak toe dat kenmerken relevant zijn voor sommige fouttypes en irrelevant voor andere. Dit leidt er vaak toe dat het classificatiemodel foutieve patronen leert.
[0008] De laatstgenoemde methode werd toegepast in de paper "Automatic Error Détection in the Japanese learners' English spoken data" (Izumi et al., ACL '03 Proceedings 41st Annual Meeting on Association for Computational Linguistics, pp.145-148, juli 2003). Ze beschrijven een methode om grammaticale en lexicale fouten te detecteren van Japanse studenten die Engels leren. De set met kenmerken omvat een woordsoort, een grammaticaal/lexicaal systeem en een gecorrigeerde vorm. Speciale tags worden voorzien voor sommige fouten die in geen enkele woordklasse kunnen worden gecategoriseerd.
[0009] Met voldoende opgeschoonde gegevens zijn statistische CALL-systemen relatief eenvoudig en goedkoop om te bouwen, maar hun nauwkeurigheid is te laag om van nut te zijn in de praktijk. Ze detecteren doorgaans slechts de helft van de aanwezige fouten in een tekst en ongeveer 30% van de fouten die ze detecteren zijn eigenlijk helemaal geen fout. Bovendien maken systemen die fouten kunnen identificeren, een foutieve classificatie in ongeveer 50% van de gevallen. Ook het systeem dat wordt voorgesteld in de bovenvermelde Izumi-paper heeft te kampen met deze slechte prestatiecijfers. De belangrijkste oorzaak van deze ondermaatse prestatie is de keuze van kenmerken. Er werd veel aandacht en geld besteed aan het zoeken naar betere kenmerken.
[0010] Een eenvoudige manier om feedback te genereren is door de antwoorden opnieuw voor te leggen aan de gebruiker en te markeren waar, en mogelijk welke, letters (of woorden) ontbreken, redundant zijn of verkeerd zijn. Dit is een voorbeeld van herhalingsfeedback met markeringen. Deze aanpak werd gebruikt in de implementatie van de LISC-toepassing (Language Independent Sequence Comparison) die, zoals de naam doet vermoeden, taalonafhankelijk is omdat ze alleen is gebaseerd op approximate string matching.
[0011] Om in staat te zijn een betekenisvolle feedback te geven aan studenten die een taal leren door te oefenen, moet men niet alleen vermelden wat er fout is, maar ook waarom het fout is. Voor een grammaticale fout houdt dit in dat men in staat moet zijn om feedback te geven waarin de relevante grammaticaregel wordt uitgelegd. Dit wordt soms metalinguïstische feedback genoemd. Metalinguïstische informatie geeft in het algemeen ofwel een vorm van grammaticale metataal die verwijst naar de aard van de fout of een woorddefinitie in het geval van lexicale fouten.
[0012] Metalinguïstische feedback voorstellen in parsergebaseerde CALL is eenvoudig, men voegt simpelweg een feedbackbericht toe aan elke foutregel waarin een fout wordt beschreven. Een groot aantal regels kan worden gedefinieerd waarbij feedbackberichten worden toegevoegd aan een set van bewerkingen. Het spreekt voor zich dat men geen regels kan definiëren voor alle mogelijke fouten. Zelfs als dit haalbaar zou zijn, zouden de regels te complex en te abstract zijn om dit manueel uit te voeren, de bewerkingen zijn niet direct gelinkt aan de grammaticaregels. Een oplossing hiervoor kan worden gevonden in het domein van machinaal leren.
[0013] Bijgevolg is er behoefte aan een verbeterde tooi om een leersysteem te helpen creëren dat in staat is om automatisch feedback te genereren.
Samenvatting van de uitvinding [0014] Het is een doelstelling van uitvoeringsvormen van de onderhavige uitvinding om een door een computer geïmplementeerde methode te voorzien voor het creëren van een classificatiemodel om automatisch feedback te genereren op basis van machinaal leren.
[0015] Het bovenstaande doel wordt verwezenlijkt door de oplossing volgens de onderhavige uitvinding.
[0016] In een eerste aspect heeft de uitvinding betrekking op een door een computer geïmplementeerde methode om een statistisch classificatiemodel te creëren om automatisch feedback te genereren, uitgaande van een set kenmerken die mogelijke fouten beschrijven en een set eenheden met ruwe gegevens, waarbij elke eenheid met ruwe gegevens ten minste een antwoord, correctie en feedback omvat. De methode omvattende de stappen van: a) het omzetten van eenheden met ruwe gegevens in voorbeelden die zijn samengesteld uit één of meerdere verschillen die worden verkregen door het antwoord te vergelijken met de correctie, dus het toewijzen van een waarde aan kenmerken uit genoemde set met kenmerken, b) het afleiden van een set met klassen uit genoemde feedback van genoemde eenheden met ruwe gegevens, c) het reduceren van het aantal klassen in genoemde set op basis van overeenkomsten tussen klassen, d) het labelen van elk voorbeeld met één van genoemde klassen van genoemde gereduceerde set, en e) het samenstellen van genoemd statistisch classificatiemodel om automatisch feedback te genereren door middel van een classificatiemiddel voor machinaal leren, gebruik makende van genoemde gelabelde voorbeelden als trainingsgegevens.
[0017] De voorgestelde methode levert inderdaad een classificatiemodel op dat in staat is om automatisch feedback te leveren. Aanvankelijk is een set met kenmerken beschikbaar die mogelijke fouten beschrijven, evenals een hoeveelheid eenheden met ruwe gegevens omvattende een antwoord, correctie en een feedbackgedeelte. Door antwoord en correctie te vergelijken voor elke eenheid met ruwe gegevens, worden één of meerdere verschillen vastgesteld zodat een waarde kan worden toegekend aan kenmerken uit de set met kenmerken voor de verschillende eenheden met ruwe gegevens. Op basis van de feedback in de eenheden met ruwe gegevens, wordt een aantal klassen afgeleid. Vervolgens wordt het aantal klassen gereduceerd op basis van overeenkomsten tussen klassen. Deze reductiestap is nodig omdat semantisch identieke, maar verschillend geformuleerde feedback een negatief effect heeft op de performantie en nauwkeurigheid. De beste nauwkeurigheid wordt verwezenlijkt wanneer elke fout op unieke wijze wordt geïdentificeerd door één enkel feedbackbericht. In een labelstap worden de verschillende voorbeelden vervolgens toegewezen aan een klasse uit genoemde gereduceerde set met klassen. Het initiële feedbackbericht dat wordt toegewezen aan de eenheid met ruwe gegevens wordt gebruikt om het correcte feedbackbericht te identificeren. Deze stap varieert in complexiteit van een eenvoudige één-op-ééntoewijzing van feedbackberichten aan klassen, tot een complexe categorisatie van fouten, afhankelijk van de informatie in het resulterende feedbackbericht. Vervolgens gebruikt een classificatiemiddel voor machinaal leren de gelabelde voorbeelden als trainingsgegevens om het classificatiemodel om automatisch feedback te genereren samen te stellen.
[0018] In een voorkeursuitvoeringsvorm komen de één of meerdere verschillen overeen met bewerkingen die nodig zijn om het antwoord om te zetten in de correctie.
[0019] Wanneer de eenheden met ruwe gegevens worden omgezet in voorbeelden, wordt bij voorkeur gebruik gemaakt van approximate string matching.
[0020] In een voordelige uitvoeringsvorm is het classificatiemiddel voor machinaal leren een classificatiemodel met beslissingsboom. Bij voorkeur is het classificatiemodel met beslissingsboom een C4.5-classificatiemodel dat is aangepast om voorbeelden te ondersteunen die meerdere bewerkingen omvatten.
[0021] In een voorkeursuitvoeringsvorm zijn de kenmerken afgeleid van linguïstische kennis. In één uitvoeringsvorm wordt de linguïstische kennis opgehaald bij een lemmatizer of een woordsoort tagger.
[0022] In een andere uitvoeringsvorm is de stap van het reduceren van het aantal klassen gebaseerd op overeenkomsten op het vlak van Levenshteinafstand of reguliere expressies.
[0023] In bepaalde uitvoeringsvormen van de uitvinding bepalen de kenmerken audio-eigenschappen of hebben ze betrekking op wiskundige berekeningen.
[0024] In een uitvoeringsvorm is de stap van het reduceren van het aantal klassen gebaseerd op externe informatie. De externe informatie wordt voordeligerwijze afgeleid van de verkeerde classificaties uit vorige trainingsfasen.
[0025] In een ander aspect heeft de uitvinding betrekking op een programma dat uitvoerbaar is op een programmeerbaar apparaat dat instructies bevat die, wanneer ze worden uitgevoerd, de methode uitvoeren zoals ze hierboven werd beschreven.
[0026] Om de uitvinding en de verwezenlijkte voordelen ten opzichte van de stand van de techniek samen te vatten, werden bepaalde doelen en voordelen van de uitvinding hierboven beschreven. Het spreekt uiteraard voor zich dat alle dergelijke doelen of voordelen niet noodzakelijk worden verwezenlijkt volgens één specifieke uitvoeringsvorm van de uitvinding. Derhalve zullen personen die geschoold zijn in deze materie bijvoorbeeld erkennen dat de uitvinding kan worden belichaamd of uitgevoerd op een manier die één voordeel of groep van voordelen verwezenlijkt of optimaliseert zoals hierin beschreven, zonder noodzakelijk andere doelen of voordelen te verwezenlijken die hierin worden beschreven of gesuggereerd.
[0027] De bovenstaande en andere aspecten van de uitvinding zullen duidelijk worden en nader toegelicht worden met verwijzing naar de uitvoeringsvorm(en) die hierna worden beschreven.
Korte beschrijving van de tekeningen [0028] De uitvinding zal nu verder worden beschreven, bij wijze van voorbeeld, met verwijzing naar de bijgaande tekeningen, waarbij gelijke referentiecijfers verwijzen naar gelijke elementen in de verschillende figuren.
[0029] Fig.l illustreert een flowchart van een uitvoeringsvorm van de methode volgens de uitvinding.
[0030] Fig.2 illustreert een voorbeeld van een beslissingsboom.
Gedetailleerde beschrijving van illustratieve uitvoeringsvormen [0031] De onderhavige uitvinding zal worden beschreven met betrekking tot specifieke uitvoeringsvormen en verwijzend naar bepaalde tekeningen, doch de uitvinding is hiertoe niet beperkt, maar wordt alleen beperkt door de conclusies.
[0032] Bovendien worden de termen eerste, tweede, enzovoort in de beschrijving en in de conclusies gebruikt om een onderscheid te maken tussen soortgelijke elementen en niet noodzakelijk voor het beschrijven van een volgorde, hetzij in de tijd, in de ruimte, wat betreft belang of op eender welke andere manier. Het moet worden begrepen dat de gebruikte termen onderling verwisselbaar zijn onder de juiste omstandigheden en dat de uitvoeringsvormen van de uitvinding die hierin worden beschreven in staat zijn om te werken in andere volgordes dan hierin beschreven of geïllustreerd.
[0033] Het moet worden opgemerkt dat de term "omvattende" zoals gebruikt in de conclusies niet mag worden geïnterpreteerd als beperkt tot de middelen die daarna zijn opgegeven; het sluit geen andere elementen of stappen uit. Het moet dus worden geïnterpreteerd als een specificatie van de aanwezigheid van de vermelde kenmerken, eenheden, stappen of onderdelen waarnaar wordt verwezen, maar het sluit de aanwezigheid of toevoeging van één of meerdere andere kenmerken, eenheden, stappen of onderdelen of groepen daarvan niet uit. Daarom mag het bereik van de uitdrukking "een apparaat omvattende middelen A en B" niet worden beperkt tot apparaten die alleen bestaan uit onderdelen A en B. Het betekent dat met betrekking tot de onderhavige uitvinding, de enige relevante onderdelen van het apparaat A en B zijn.
[0034] Verwijzingen in deze specificatie naar "één uitvoeringsvorm" of "een uitvoeringsvorm" betekenen dat een bepaalde eigenschap, structuur of kenmerk beschreven in samenhang met de uitvoeringsvorm is inbegrepen in ten minste één uitvoeringsvorm van de onderhavige uitvinding. Vermeldingen van de frase "in één uitvoeringsvorm" of "in een uitvoeringsvorm" op verschillende plaatsen in deze specificatie verwijzen niet noodzakelijk allemaal naar dezelfde uitvoeringsvorm, maar het is wel mogelijk. Verder kunnen de specifieke kenmerken, structuren of karakteristieken op eender welke geschikte manier in één of meerdere uitvoeringsvormen worden gecombineerd, zoals voor de gemiddelde vakman duidelijk zal zijn uit deze openbaarmaking.
[0035] Op een soortgelijke manier moet worden opgemerkt dat in de beschrijving van voorbeelduitvoeringsvormen van de uitvinding verschillende kenmerken van de uitvinding soms worden gegroepeerd in een enkele uitvoeringsvorm, figuur of beschrijving daarvan om de openbaarmaking te stroomlijnen en het begrip van een of meer van de verschillende inventieve aspecten te vergemakkelijken. Deze methode van openbaarmaking mag echter niet worden geïnterpreteerd als een uiting van een intentie dat de geclaimde uitvinding meer kenmerken vereist dan uitdrukkelijk vermeld in elke conclusie. Zoals weergegeven in de volgende conclusies, liggen de inventieve aspecten in minder dan alle kenmerken van een enkele voorgaande geopenbaarde uitvoeringsvorm. Derhalve worden de conclusies die volgen op de gedetailleerde beschrijving hierbij expliciet opgenomen in deze gedetailleerde beschrijving, waarbij elke conclusie op zichzelf staat als een afzonderlijke uitvoeringsvorm van deze uitvinding.
[0036] Bovendien, aangezien sommige uitvoeringsvormen die hierin worden beschreven sommige, maar niet andere kenmerken bevatten die zijn opgenomen in andere uitvoeringsvormen, zijn combinaties van kenmerken van verschillende uitvoeringsvormen bedoeld om te vallen binnen het bereik van de uitvinding en verschillende uitvoeringsvormen te vormen, zoals zal worden begrepen door iemand die geschoold is in dit vakgebied. Zo kan bijvoorbeeld in de volgende conclusies eender welke van de geclaimde uitvoeringsvormen worden gebruikt in eender welke combinatie.
[0037] Het moet worden opgemerkt dat het gebruik van bepaalde terminologie bij het beschrijven van bepaalde aspecten van de uitvinding niet impliceert dat de terminologie hierin wordt geherdefinieerd om te worden beperkt tot eender welke specifieke eigenschappen van de kenmerken of aspecten van de uitvinding waarmee die terminologie is geassocieerd.
[0038] In de beschrijving die hier wordt gegeven, worden talrijke specifieke details uiteengezet. Het wordt echter begrepen dat uitvoeringsvormen van de uitvinding kunnen worden uitgewerkt zonder deze specifieke details. In andere gevallen werden goed gekende methoden, structuren en technieken niet in detail weergegeven om het begrip van deze beschrijving niet te belemmeren.
[0039] De onderhavige uitvinding beschrijft een door een computer geïmplementeerde methode om een computer te leren om een classificatiemodel af te leiden om een feedbackgedeelte te genereren wanneer de computer gegevens ontvangt die doorgaans worden ingevoerd door een student. Voor het afleiden van het model gaat men uit van een set met kenmerken die mogelijke fouten beschrijven en gegevenseenheden omvattende een antwoord, een correctie en een feedbackgedeelte, zoals hieronder beschreven.
[0040] In de benadering volgens de uitvinding wordt metalinguïstische feedback voorzien gebruik makende van machinaal leren. Een systeem kan zo worden gebouwd dat het leert welk feedbackbericht geschikt is voor een bepaalde fout op basis van vorige ervaringen. In wezen leert het systeem van en biedt het ondersteuning aan lesgevers die in het verleden manueel feedback gaven.
[0041] De voorgestelde aanpak is van toepassing op een brede waaier aan leeromgevingen. Een van de belangrijkste toepassingsdomeinen is het leren van een (vreemde) taal. Hieronder wordt het geval van het leren van een taal als voorbeeld genomen om de uitvinding technisch gedetailleerd te beschrijven. Het wordt echter benadrukt dat het leren van een taal slechts één mogelijk toepassingsgebied is. Een ander toepassingsgebied is het aanleren van wiskunde. Dit en een paar andere alternatieven worden in meer detail beschreven aan het einde van deze beschrijving.
[0042] De voorgestelde aanpak gebruikt betere, meer gedetailleerde kenmerken om de fouten te beschrijven die worden geëxtraheerd door het combineren van benaderende string matching en technieken voor natuurlijke taalverwerking om de antwoorden van studenten te vergelijken met bekende, correcte oplossingen. In heel wat toepassingen, zoals vertaaloefeningen, is het mogelijk om de correcte oplossingen te geven. Als alternatief is het soms mogelijk om automatisch de oplossingen te genereren, bijvoorbeeld gebruik makende van machinevertaling in het geval van vertaaloefeningen of een wiskundig redeneersysteem voor wiskundeoefeningen.
[0043] In de uitvinding is het doel om een computer te leren om taalfouten te herkennen en feedback over de fouten te geven. Taalfouten worden dus voorgesteld door de computer de foute zin en de correctie te laten zien. Voor elke dergelijke fout wordt de computer verteld welke feedback getoond zou worden aan de student. Het systeem zou dan in staat moeten zijn om diezelfde feedback te leveren voor soortgelijke fouten. Veronderstel dat de computer de volgende fout te zien krijgt:
en aan de computer wordt verteld dat de feedback de volgende is
Dan is het objectief dat, als de student een soortgelijke fout maakt als deze:
de computer dit herkent als dezelfde fout en in staat is om dezelfde feedback te geven.
[0044] Zoals hierboven vermeld, analyseren moderne algoritmes om feedback te genereren de invoer van de student om feedback te detecteren en te leveren voor een waaier aan taalfouten. Al deze methoden verwezenlijken deze doelstelling door de zin in kwestie te vergelijken met een vooraf bepaald taalmodel waarin correct taalgebruik wordt beschreven. Voor elke structurele afwijking tussen de invoer en het model, wordt de betekenis afgeleid die meest waarschijnlijk wordt bedoeld. Door hetzelfde algoritme te gebruiken, worden de vereiste wijzigingen om de invoer te transformeren naar de correctie vervolgens voorgesteld als feedback.
Een logische eerste stap van eender welke algoritme om feedback te genereren, is het vinden van de correctie die het dichtste bij ligt. In veel toepassingen, zoals post-editing en tekstverwerkers, is er echter geen indicatie of een zin correct is of niet, noch is de correctie van een dergelijke foute zin beschikbaar. Bijgevolg is er geen alternatief dan het gebruik van een complex taalmodel als vergelijking.
[0045] In leeromgevingen beantwoorden studenten echter vaak specifieke vragen, zoals vertaal- of invuloefeningen. In dit geval kan de lesgever niet alle mogelijke foute antwoorden voorspellen die de studenten geven, maar het is wel mogelijk om de juiste oplossingen op een dergelijke vraag te geven. Aangezien de oplossingen beschikbaar zijn, is het bijgevolg mogelijk om meer gedetailleerde kenmerken te definiëren die worden afgeleid van het verschil tussen de fout en de correctie.
[0046] Deze aanpak verschilt op significante wijze van de huidige stand van de techniek. Ten eerste hoeft het systeem de zin niet te parsen om de juistheid te bepalen. Het kan eenvoudigweg de invoer vergelijken met de oplossing. Ten tweede kunnen gedetailleerde kenmerken worden afgeleid op basis van de transformaties die nodig zijn om het antwoord om te zetten in de correctie. Ten derde, omdat deze kenmerken gebaseerd zijn op bewerkingen en omdat elke fout kan worden vertaald in dergelijke bewerkingen, zijn de kenmerken universeel en in staat om elke mogelijke fout te beschrijven. Tot slot kunnen de bewerkingen worden beschreven zonder eender welke linguïstische informatie, bijvoorbeeld door middel van de stringbewerking, wat resulteert in een taalonafhankelijke oplossing.
[0047] In tegenstelling tot elke andere methode om feedback te genereren, modelleert de voorgestelde aanpak de correcte of incorrecte patronen van een taal niet. Het probeert ook niet om een dergelijk model te gebruiken om te bepalen of een bepaalde zin correct is of niet. Omdat de correcties beschikbaar zijn, kunnen de bewerkingen worden gemodelleerd die nodig zijn om de fouten te corrigeren. Samengevat beschrijft het model dat in deze uitvinding wordt toegepast geen taalstructuren, maar transformaties. Elke transformatie kan vervolgens worden geclassificeerd als (een deel van) een fout en overeenkomstig feedbackbericht.
[0048] Bij wijze van voorbeeld zal de benadering voor het bouwen van een dergelijk model worden uitgelegd uitgaande van een verzameling van taalfouten. Dezelfde aanpak kan echter worden gevolgd om feedback te leveren in andere toepassingsgebieden, zoals wiskunde, wetenschap, enz. Fig.l illustreert een blokdiagram op hoog niveau van de voorgestelde aanpak. De verschillende blokken van het schema worden in de onderstaande beschrijving gedetailleerd uitgelegd.
[0049] Elk classificatiemodel wordt gebouwd op basis van trainingsgegevens. In het geval van gesuperviseerd leren, waarbij altijd informatie nodig is om een model te trainen, wordt elk trainingsvoorbeeld geannoteerd met zijn bijbehorende klasse. Op basis hiervan kan het classificatiemiddel patronen leren die kunnen identificeren tot welke specifieke klasse een voorbeeld behoort. Het is deze verzameling van patronen (vaak geïmplementeerd als regels) die het classificatiemodel maken. De patronen specificeren deze relaties door specifieke kenmerken van een voorbeeld te vergelijken. Neem bijvoorbeeld een classificatiesysteem dat, op basis van een beeld van een dier, de klasse van het dier probeert te identificeren (ongewervelde, vis, amfibie, ...). Een dergelijk systeem zou relevante kenmerken moeten vergelijken, zoals kleur, vorm, afmeting, enz.
[0050] De verzameling van trainingsgegevens is in wezen een tabel met n rijen, een voor elk voorbeeld, en k+1 kolommen met een waarde voor elk van de k kenmerken en de overeenkomstige klasse. Dit betekent dat zowel de kenmerken als de klassen vooraf moeten worden gedefinieerd. Zoals hierboven vermeld, probeert de aanpak volgens de uitvinding de verschillen tussen de incorrecte en de correcte zin te classificeren in een fout of de uitleg ervan. Een belangrijk onderdeel van deze uitvinding heeft daarom betrekking op de vergelijking van invoer en correctie, en de daaropvolgende transformatie naar kenmerken.
[0051] In het geval van taalfouten is een mogelijke vergelijkingstechniek de approximate string matching (ASM). Deze techniek berekent de overeenkomst van twee strings op basis van de bewerkafstand, die is gedefinieerd als het aantal stringbewerkingen dat nodig is om één string om te zetten in de andere. Afhankelijk van welke bewerkingen in overweging worden genomen, werden verschillende bewerkafstanden gedefinieerd. De Hammingafstand laat alleen vervanging toe en is dus alleen van toepassing op strings met dezelfde lengte. De langste gemeenschappelijke substring houdt rekening met invoegingen en verwijderingen. De Levenshteinafstand voorziet in de drie basisbewerkingen voor strings: vervanging, invoeging en verwijdering.
Een voorbeeld ter verduidelijking: de Levenshteinafstand tussen string ADF en AFE is twee, omdat de zin kan worden getransformeerd door D te wissen en E toe te voegen. Merk op dat het ook mogelijk is om D door F te vervangen en F door E, wat resulteert in dezelfde afstandswaarde. Dus, hoewel de afstandswaarde deterministisch is, zijn de bewerkingen erachter dat niet.
[0052] Het algoritme om de Levenshteinafstand tussen twee strings te berekenen, maakt gebruik van dynamisch programmeren door continu het probleem te reduceren tot het berekenen van de afstand tussen kleinere substrings tot de substrings een lengte hebben van 1, waardoor de berekening triviaal wordt: de afstand tussen twee tekens is 0 als ze gelijk zijn, anders is de afstand 1. De resultaten van de subberekeningen worden opgeslagen in een matrix n x m, waarbij in wezen elk van de n elementen van de eerste string wordt vergeleken met de m elementen van de tweede.
[0053] De Levenshteinafstand is eenvoudigweg een nummer en kan in wezen worden gebruikt als een kenmerk in het classificatiemodel. Het is echter onmogelijk om alle mogelijke taalfouten te differentiëren alleen op basis van het aantal bewerkingen dat ze produceren. Gelukkig kan hetzelfde algoritme worden gebruikt om de individuele bewerkingen te berekenen. Dit levert veel gedetailleerdere kenmerken op.
[0054] De matrix die wordt samengesteld door de dynamische programmeermethode kan nadien van achter naar voor worden gevolgd om de eigenlijke bewerkingen te vinden. Dit algoritme wordt twee keer uitgevoerd, een keer op het niveau van woorden en een tweede keer op het niveau van letters. De eerste stap berekent de woorden die moeten worden toegevoegd, verwijderd of vervangen, en voor elke vervanging vergelijkt men beide woorden om na te gaan welke letters moeten worden toegevoegd, verwijderd of vervangen.
[0055] Een bewerking kan worden voorgesteld als een tupel (letter van, letter naar). In het geval van een toevoeging, is de letter van leeg en in het geval van een verwijdering, is de letter naar leeg. Dus voor beide bovenstaande voorbeelden, zou men de volgende kenmerkwaarden hebben:
Deze set met kenmerken, hoewel meer gedetailleerd dan de afstand, is echter nog steeds niet genoeg. Neem bijvoorbeeld de volgende fout:
Deze erg verschillende fout resulteert uiteraard in dezelfde kenmerkwaarden als hierboven. Zelfs als de relatieve positie van de bewerking in het woord zou worden opgenomen, zou men nog steedse dezelfde waarden hebben (beide zijn toegevoegd aan het einde van het woord). Het is duidelijk voordelig om informatie over het woord op te nemen.
[0056] Een eenvoudige oplossing zou zijn om het woord van en het woord naar op te nemen als kenmerken (waardoor de letterbewerkingen redundant worden). Het toevoegen van deze kenmerken heeft echter een beperkend effect. Niet alleen is er een grote hoeveelheid correcte woorden (woord naar) in elke taal, het aantal fouten (woord van) is zelfs nog groter. Erg gedetailleerde kenmerken kunnen het classificatiemiddel helpen, maar de kans is groot dat ze niet vaak zullen worden gebruikt. Ze zijn alleen nuttig wanneer veel waarden aanwezig zijn in de trainingsset.
[0057] Het is beter om een nominaal kenmerk toe te voegen met minder mogelijke waarden. Een mogelijkheid is om het lemma van het woord te gebruiken in plaats van het woord zelf. Op die manier worden alle vervoegingen in kaart gebracht op hetzelfde lemma, wat de hoeveelheid mogelijke waarden effectief reduceert. Er zijn echter nog altijd veel mogelijke lemmata. Nog een ander, meer beperkend kenmerk is het gebruik van de woordsoort (POS of part-of-speech) van het woord in kwestie. Traditioneel zijn er in het Engels acht woordsoorten: werkwoord, zelfstandig naamwoord, voornaamwoord, bijvoeglijk naamwoord, bijwoord, voorzetsel, voegwoord en tussenwerpsel.
[0058] Om de POS van een woord te bepalen, is een zogeheten POS-tagger nodig. Die wijst een tag toe aan elk woord in de zin. Er zijn veel meer tags dan POS omdat een tag vaak meer informatie bevat, bijvoorbeeld de werkwoordstijd, het meervoud van het zelfstandig naamwoord, enz. Er zijn verschillende technieken mogelijk om een zin te taggen, maar elke techniek gebruikt classificatie en ze zijn allemaal getraind op een geannoteerd corpus. Enkele vaak gebruikte voorbeelden zijn n-gram taggers (m.a.w. veralgemeende unigramtaggers die naar het individuele woord in het corpus kijken en rekening houden met n-1 omliggende woorden, en de meest frequente geassocieerde tag opslaan), de Brill-tagger (die een tagger, bijv. een unigramtagger of een n-gram tagger, gebruikt voor initialisatie, maar vervolgens een aantal transformatieregels leert die de tagger verbeteren), taggers die verborgen Markov-modellen (HMM) gebruiken en het Viterbi-algoritme.
[0059] De kenmerken kunnen nu worden uitgebreid met deze POS-tags. Het is zinvol om zowel de tag van het woord naar als de tag van het woord van op te nemen. Eenvoudige grammaticafouten zoals tijd of meervoudsfouten kunnen vervolgens eenvoudig worden gedetecteerd. Spelfouten kunnen resulteren in een poging om een niet-bestaand woord te taggen, maar deze woorden worden in kaart gebracht op zelfstandig naamwoord en vormen dus geen echt probleem. De exacte waarden van de kenmerken zijn niet echt belangrijk, zolang als dezelfde kenmerken dezelfde fout beschrijven.
[0060] Een geschikte set met kenmerken is bijvoorbeeld: {Letter van, Letter naar, Positie in woord, Positie in zin, Woord van, Woord naar, Lemma van, Lemma naar, POS-tag van, POS-tag naar}. Een andere nuttige kenmerk is de relatieve index van de bewerking in de zin en in het woord. De lijst met kenmerken die hier wordt vermeld is niet exclusief. Andere kenmerken kunnen worden toegevoegd om de nauwkeurigheid te verbeteren.
[0061] Nu een set met kenmerken werd verkregen, is de volgende stap het omzetten van eenheden met ruwe gegevens in een gegevenset als trainingsinvoer voor het classificatiemiddel. In het geval van het leren van een taal, worden de invoer- en correctiezinnen eerst met POS getagd, vervolgens wordt een Levenshteinalgoritme op woordniveau gebruikt om de woordbewerkingen te zoeken en tot slot worden de letterbewerkingen geëxtraheerd voor elke woordvervanging. In elke volgende stap wordt een verwijzing behouden naar het overeenkomstige woord en de POS-tag ervan.
[0062] Het traversaal Levenshteinalgoritme wordt aangepast zodat het rekening houdt met de lemmata en POS-tag om eventuele dubbelzinnigheden op te lossen. Neem bijvoorbeeld de vergelijking tussen “They gave her flowers" en "They have given her flowers". De transformatie kan op twee manieren worden uitgevoerd, met hetzelfde aantal letterbewerkingen. Het algoritme kan ofwel "gave" vervangen door "have" en "given" toevoegen, of "have" toevoegen en "gave" vervangen door "given". Door linguïstische informatie zoals de POS en de lemmata te gebruiken, kan de voorkeur worden gegeven aan de tweede transformatie.
Het volgende voorbeeld wordt beschouwd:
De resulterende trainingsgegevens zouden dan de volgende zijn
waarbij VBP, VBD en VBN respectievelijk wijzen op een werkwoord in de niet-3e persoon enkelvoud tegenwoordige tijd, de verleden tijd van het werkwoord en het voltooid deelwoord van het werkwoord. Als er voldoende dergelijke gegevens zijn, zou het classificatiemiddel leren dat deze feedback moet worden gegeven wanneer een werkwoord in het verleden wordt toegevoegd en een ander werkwoord in het verleden wordt gewijzigd naar een voltooid deelwoord. Het moet mogelijk ook leren dat het lemma van het eerste werkwoord "have" moet zijn en dat het lemma van het tweede werkwoord hetzelfde moet blijven.
Andere kenmerken kunnen worden toegevoegd als deze regels nog steeds onvoldoende zijn om alle feedbackberichten te differentiëren. De positie in de zin kan worden toegevoegd zodat dergelijke feedback alleen van toepassing is wanneer het eerste werkwoord in de onmiddellijke nabijheid van het tweede staat. Bovendien, zoals reeds hierboven vermeld, kan men ook de individuele letterbewerkingen toevoegen die nuttig zijn om orthografische fouten, zoals accenten, te detecteren.
[0063] Op basis van het bovenstaande voorbeeld is het duidelijk dat er vaak meerdere trainingsvoorbeelden zijn voor één enkele fout. Bij het classificeren van een fout resulteert dit in meerdere klasseverdelingen. De meest waarschijnlijke klasse kan dan worden gevonden door het product te nemen van de mogelijkheden van elke klasse. Deze methode veronderstelt, soortgelijk aan een Naïve Bayes-aanpak dat de voorbeelden onafhankelijk zijn van elkaar. Maar zoals ook het geval is voor Naïve Bayes, is een dergelijke veronderstelling, zelfs indien ze incorrect is, vaak nuttig.
[0064] Het is mogelijk om afhankelijkheden te introduceren door de set met kenmerken van elke bewerking te herhalen, zoals weergegeven in de onderstaande tabel. Dit zorgt ervoor dat er maar één voorbeeld is voor elke fout en houdt rekening met het gelijktijdig voorkomen van bewerkingen en de volgorde. Voor taalfouten is het aantal bewerkingen en hun volgorde echter niet consistent; dezelfde fout kan op verschillende manieren worden geproduceerd en er kunnen meerdere afzonderlijke fouten zijn in het antwoord van een student.
[0065] Een andere voordelige aanpak is het wijzigen van het classificatiealgoritme om in staat te zijn om voorbeelden te classificeren die zijn samengesteld uit meerdere bewerkingen. Deze aanpak zal worden geïllustreerd door middel van de C4.5-beslissingsboom.
[0066] Een classificatiemiddel met beslissingsboom heeft een aantal essentiële voordelen. Ten eerste is dit in staat om kenmerken te negeren die de prestaties van het classificatiemiddel zouden verlagen. Ten tweede is het resulterende model makkelijk te begrijpen, zelfs door mensen. Bijgevolg is het in staat om uit te leggen waarom het een bepaalde voorspelling doet. Ten derde is het algoritme relatief eenvoudig te implementeren, en belangrijker, eenvoudig aan te passen.
[0067] Een voorbeeld van een eenvoudige beslissingsboom wordt weergegeven in Fig. 2. Elk knooppunt in de boom stelt een beslissingspunt voor, gebaseerd op een kenmerk. Voor elke mogelijke waarde van genoemd kenmerk, verdeelt een subboom de gegevens verder onder. Het algoritme neemt daarom op inherente wijze kenmerkafhankelijkheden in overweging, in tegenstelling tot een Naïve Bayes-aanpak. De klasseverdelingen van de trainingsgegevens worden opgeslagen in de bladeren.
[0068] Het C4.5-algoritme traint zijn beslissingsboom in twee fasen. Eerst bouwt het een boom die de trainingsgegevens perfect in kaart brengt. Dit resulteert in een overfitting: de boom voorspelt de trainingsgegevens perfect, maar presteert slecht op nieuwe testgegevens. Om dit tegen te gaan, snoeit het algoritme deze boom om te specifieke takken te verwijderen.
[0069] Het C4.5-algoritme kan worden aangepast om subvoorbeelden te ondersteunen door een beslissing te baseren op het kenmerk van één van zijn bewerkingen. De selectie van deze bewerking moet deterministisch zijn over voorbeelden heen. Een eenvoudig selectiecriterium kan bijvoorbeeld zijn om de nde bewerking te selecteren gerangschikt op zijn positie in de zin. Dit is identiek aan de aanpak die hierboven is beschreven waar de kenmerken worden herhaald in het trainingsvoorbeeld. Zoals hierboven vermeld, gaat dit ervan uit dat de aanwezigheid van taalfouten altijd resulteert in hetzelfde aantal en dezelfde volgorde van bewerkingen.
[0070] In het geval van het leren van een taal zou het een betere aanpak zijn om een bewerking te selecteren op basis van een van zijn kenmerken. Dit zou een ander type beslissing introduceren die een bewerking selecteert op basis van een kenmerkwaarde en die opslaat in een register. Subknooppunten kunnen dan verder een beslissing baseren op een kenmerkwaarde van dezelfde bewerking. Neem ter illustratie het voorbeeld met de fout tegen de werkwoordstijd die hierboven werd uitgelegd. Het gebruik van de verkeerde werkwoordstijd resulteert in twee woordbewerkingen. De beslissingsboom, of ten minste een deel ervan, kan lijken op die in Fig. 3.
[0071] In de vorige delen werden de kenmerken beschreven, evenals hoe ze opgebouwd moeten worden en mogelijke manieren om het classificatiealgoritme aan te passen om met meerdere bewerkingen om te gaan. Zoals hierboven vermeld, wordt elk voorbeeld van de trainingsgegevens geannoteerd door een klasse. In deze uitvinding komt deze klasse overeen met een feedbackbericht voor de fout in kwestie. Dit kan zo eenvoudig zijn als een één-op-éénovereenkomst, maar meer geavanceerde technieken kunnen ook worden gebruikt.
[0072] Afhankelijk van de ruwe gegevens, vermoedelijk verzameld via lesgevers die feedback geven voor specifieke fouten, wordt aan dezelfde fout een verschillend feedbackbericht gegeven. De reden daarvoor is tweeledig. Ten eerste kunnen er meerdere lesgevers zijn en is het onwaarschijnlijk dat twee lesgevers altijd identieke feedback geven voor dezelfde fouten. Ten tweede kan de feedback meer specifiek zijn en informatie bevatten over de context van de fout.
[0073] Een van de noodzakelijke voorwaarden van elk classificatiealgoritme is dat er voldoende kenmerken moeten zijn om het onderscheid te maken tussen klassen. In dit geval kan er echter een verschillend feedbackbericht zijn voor exact dezelfde set bewerkingen. Dit heeft een negatieve invloed op de nauwkeurigheid en moet dus worden vermeden. In de onderhavige uitvinding kan dit probleem worden opgelost door extra kenmerken toe te voegen, zoals de identiteit van de lesgever. Feedback wordt ook vaak gepersonaliseerd voor de student, dus voordeligerwijze worden details over de student mee opgenomen, bijv. leeftijd, geslacht, niveau, enz.
[0074] Trainingsgegevens hebben aangetoond dat vaak verschillende feedback werd gegeven voor dezelfde fout aan dezelfde gebruiker en er waren geen duidelijke kenmerken die konden verklaren waarom. Daarom wordt een voorverwerkingsstap toegevoegd die een algoritme voor benaderende string matching gebruikt om bijna identieke feedbackberichten te identificeren en duplicaten te verwijderen. Complexere technieken kunnen ook worden gebruikt, gaande van een eenvoudige reguliere expressie tot gespecialiseerde systemen.
[0075] Neem bijvoorbeeld deze twee feedbackberichten: "Let op de werkwoordsvervoeging!" en "U heeft het werkwoord verkeerd vervoegd". Beide berichten gaan over dezelfde fout, maar worden anders uitgedrukt. Om dergelijke soortgelijke feedbackberichten te identificeren, kan men bijvoorbeeld technieken voor stringvergelijking gebruiken om te ontdekken dat beide strings "werkwoord" bevatten en de tweede string een woord bevat dat lijkt op "vervoeging" (vervoegd). Ook reguliere expressies kunnen worden gebruikt die dergelijke overeenkomsten beschrijven.
[0076] Een meer geavanceerde aanpak is om het bovenstaande classificatiemiddel iteratief te trainen en de incorrect geclassificeerde voorbeelden te onderzoeken. Op basis hiervan kan een lijst met feedbackberichten worden verkregen die het systeem vaak fout classificeert. Dit kan nuttig zijn om potentiële overeenkomsten tussen klassen te helpen identificeren.
[0077] Hieronder worden enkele andere toepassingsgebieden van de uitvinding kort beschreven. Ten eerste werd aangetoond hoe het systeem kan worden gebruikt om feedback te geven voor natuurlijke taalfouten, maar het kan ook makkelijk worden toegepast om feedback te geven voor programmeertalen of zelfs wiskundige berekeningen. Programmeertalen hebben minder dubbelzinnigheid en volgen minder en minder complexe regels. Hetzelfde geldt voor wiskundige berekeningen, hoewel de taal abstracter is en soms een numerieke benadering vergt. Neem bijvoorbeeld deze fout bij het ontbinden in factoren: ny2 + 4y2 = 4ny2, wat uiteraard moet zijn: ny2 + 4y2 = (4 + n)y2. De invoer kan dan worden vergeleken met de correctie en de feedback kan worden voorgesteld als "De coëfficiënten moeten worden opgeteld, aangezien het gemeenschappelijke element uit de som moet worden gafactoriseerd." Op een soortgelijke manier zou het onvoldoende zijn om slechts één stringvergelijking in overweging te nemen. Andere geavanceerde kenmerken zijn nodig die de hele formule in overweging nemen.
[0078] Een tweede toepassing is die van het leveren van feedback op vragen die specifieke kennis over het vakgebied vergen, bijvoorbeeld aardrijkskunde en geschiedenis. Neem bijvoorbeeld de vraag: "Wat is de hoofdstad van België?". Als de student "Parijs" antwoordt, zou geschikte feedback zijn: "Parijs is de hoofdstad van Frankrijk, de hoofdstad van België is Brussel". Deze feedback alleen geven op basis van het feit dat er een transformatie is van het woord Parijs naar Brussel is onvoldoende, tenzij alle oefeningen te maken hebben het identificeren van hoofdsteden. Anders kan een kenmerk worden toegevoegd aan de set met kenmerken die de pedagogische taken van de vraag identificeert. Men kan zelfs kenmerken van domeinkennis opnemen die soortgelijk zijn aan de POS-tag of de functie. In dit geval kan een kenmerk als "hoofdstadVan", om het land aan te geven waarvan het element de hoofdstad is, worden gebruikt om fouten tegen hoofdsteden te onderscheiden van andere fouten.
[0079] Een laatste toepassing is die van het corrigeren van opgenomen spraak of zelfs muziek, zoals pianospel. De invoer van de student kan worden vergeleken met die van de lesgever door audiogolven te vergelijken, waarbij mogelijk toonhoogte, snelheid en niveauverschillen worden genegeerd. Vervolgens kunnen kenmerken uit deze vergelijking worden geëxtraheerd. Neem bijvoorbeeld de pianospelende student die een foute noot speelt terwijl hij Für Elise van Beethoven brengt. Als dit een vaak voorkomende fout is, kan geschikte feedback worden gegeven gebruik makende van hetzelfde algoritme.
[0080] Hoewel de uitvinding werd geïllustreerd en in detail werd beschreven in de tekeningen en voorgaande beschrijving, moeten dergelijke illustraties en beschrijvingen als illustratie of voorbeeld worden beschouwd en niet als zijnde restrictief. De voorgaande beschrijving verklaart bepaalde uitvoeringsvormen van de uitvinding in detail. Het moet echter worden opgemerkt dat hoe gedetailleerd het voorgaande ook in de tekst is opgenomen, de uivinding op vele manieren kan worden uitgevoerd. De uitvinding is niet beperkt tot de geopenbaarde uitvoeringsvormen.
[0081] Andere variaties op de geopenbaarde uitvoeringsvormen kunnen worden begrepen en uitgevoerd door personen die geschoold zijn in dit domein en door de geclaimde uitvinding in de praktijk te brengen, door een studie van de tekeningen, de openbaarmaking en de bijgevoegde conclusies. In de conclusies sluit het woord "omvattende" geen andere elementen of stappen uit en het onbepaald lidwoord "een" sluit geen meervoud uit. Een enkele processor of andere eenheid kan de functies van verschillende items in de conclusies vervullen. Alleen al het feit dat bepaalde maatregelen worden opgesomd in onderling verschillende afhankelijke conclusies, betekent niet dat een combinatie van die maatregelen niet kan worden gebruikt om voordeel te halen. Een computerprogramma kan worden opgeslagen/verdeeld op een geschikt medium, zoals een optisch opslagmedium of halfgeleidermedium geleverd met of als onderdeel van andere hardware, maar kan ook worden verdeeld in andere vormen, zoals via het internet of andere bekabelde of draadloze telecommunicatiesystemen. Eventuele verwijzingen in de conclusies mogen niet worden opgevat als een beperking van de reikwijdte.

Claims (12)

  1. CONCLUSIES
    1. Een door een computer geïmplementeerde methode om een statistisch classificatiemodel te creëren om automatisch feedback te genereren voor een toepassing in een leeromgeving, omvattende de stappen van: * het nemen van een set eenheden met ruwe gegevens die betrekking hebben op genoemde toepassing in genoemde leeromgeving, waarbij elke eenheid met ruwe gegevens ten minste een eerste portie data omvat die een antwoord voorstelt, een tweede portie data die een correctie voorstelt en een derde portie data die feedback voorstelt, en een set kenmerken die mogelijke fouten beschrijven in genoemde eerste porties data, * het omzetten van eenheden met ruwe gegevens in voorbeelden die zijn samengesteld uit één of meerdere verschillen die worden verkregen door genoemde eerste portie data die het antwoord voorstelt, te vergelijken met genoemde tweede portie data die de correctie voorstelt, alzo een waarde toewijzend aan kenmerken uit genoemde set met kenmerken, * het afleiden van een set met klassen uit genoemde derde portie data die feedback voorstelt van genoemde eenheden met ruwe gegevens, * het reduceren van het aantal klassen in genoemde set op basis van overeenkomsten tussen klassen, * het labelen van elk voorbeeld met één van genoemde klassen van genoemde gereduceerde set, en * het samenstellen van genoemd statistisch classificatiemodel om automatisch feedback te genereren door middel van een classificatiemiddel voor machinaal leren, gebruik makende van genoemde gelabelde voorbeelden als trainingsgegevens.
  2. 2. Een door een computer geïmplementeerd methode om een statistisch classificatiemodel te creëren volgens conclusie 1, waarbij genoemde één of meerdere verschillen overeenkomen met bewerkingen die nodig zijn om genoemde eerste portie data die genoemd antwoord voorstelt, te transformeren in genoemde tweede portie data die genoemde correctie voorstelt.
  3. 3. Een door een computer geïmplementeerde methode om een statistisch classificatiemodel te creëren volgens conclusie 1 of 2, waarbij in de stap van het transformeren van genoemde eenheden met ruwe gegevens naar voorbeelden, gebruik gemaakt wordt van approximate string matching.
  4. 4. Een door een computer geïmplementeerd methode volgens één van de conclusies 1 tot en met 3, waarbij genoemd classificatiemiddel voor machinaal leren een classificatiemodel met beslissingsboom is.
  5. 5. Een door een computer geïmplementeerde methode volgens conclusie 4, waarbij genoemd classificatiemodel met beslissingsboom een C4.5-classificatiemodel is dat is aangepast om voorbeelden te ondersteunen omvattende meerdere bewerkingen.
  6. 6. Een door een computer geïmplementeerde methode volgens één van de voorgaande conclusies, waarbij genoemde kenmerken worden afgeleid van linguïstische kennis.
  7. 7. Een door een computer geïmplementeerd methode volgens conclusie 6, waarbij genoemde linguïstische kennis wordt opgehaald van een lemmatizer of een woordsoort tagger.
  8. 8. Een door een computer geïmplementeerd methode volgens één van de voorgaande conclusies, waarbij genoemde stap van het reduceren van genoemd aantal klassen gebaseerd is op overeenkomsten op basis van Levenshteinafstand of reguliere expressies.
  9. 9. Een door een computer geïmplementeerde methode volgens één van de voorgaande conclusies, waarbij genoemde kenmerken audio-eigenschappen karakteriseren of te maken hebben met wiskundige berekeningen.
  10. 10. Een door een computer geïmplementeerd methode volgens één van de voorgaande conclusies, waarbij genoemde stap van het reduceren van genoemd aantal klassen gebaseerd is op externe informatie.
  11. 11. Een door een computer geïmplementeerd methode volgens conclusie 10, waarbij genoemde externe informatie wordt afgeleid van verkeerde classificaties van vorige trainingsfasen.
  12. 12. Een programma, uitvoerbaar op een programmeerbaar apparaat, omvattende instructies die, wanneer uitgevoerd, de methode uitvoeren volgens één van de conclusies 1 tot 11.
BE2014/5103A 2013-12-10 2014-12-04 Methode en apparaat voor het automatisch genereren van feedback BE1022627B1 (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13196364.7 2013-12-10
EP13196364.7A EP2884434A1 (en) 2013-12-10 2013-12-10 Method and device for automatic feedback generation

Publications (2)

Publication Number Publication Date
BE1022627A1 BE1022627A1 (nl) 2016-06-20
BE1022627B1 true BE1022627B1 (nl) 2016-06-20

Family

ID=49765334

Family Applications (1)

Application Number Title Priority Date Filing Date
BE2014/5103A BE1022627B1 (nl) 2013-12-10 2014-12-04 Methode en apparaat voor het automatisch genereren van feedback

Country Status (2)

Country Link
EP (1) EP2884434A1 (nl)
BE (1) BE1022627B1 (nl)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6770709B2 (ja) * 2016-09-08 2020-10-21 富士ゼロックス株式会社 機械学習用モデル生成装置及びプログラム。
CN110245265B (zh) * 2019-06-24 2021-11-02 北京奇艺世纪科技有限公司 一种对象分类方法、装置、存储介质及计算机设备
US11481421B2 (en) 2019-12-18 2022-10-25 Motorola Solutions, Inc. Methods and apparatus for automated review of public safety incident reports

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166789A (ja) * 1999-12-10 2001-06-22 Matsushita Electric Ind Co Ltd 初頭/末尾の音素類似度ベクトルによる中国語の音声認識方法及びその装置
JP5643430B2 (ja) * 2011-06-28 2014-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 主観的な階層クラスタリングにおける特徴量ごとの重みを求める情報処理装置、方法、およびプログラム

Also Published As

Publication number Publication date
BE1022627A1 (nl) 2016-06-20
EP2884434A1 (en) 2015-06-17

Similar Documents

Publication Publication Date Title
KR102640564B1 (ko) 질의 응답 시스템의 훈련 장치 및 그것을 위한 컴퓨터 프로그램
JP7089330B2 (ja) 適応可能な処理コンポーネント
Heilman Automatic factual question generation from text
US9342499B2 (en) Round-trip translation for automated grammatical error correction
KR102199835B1 (ko) 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법
US7412385B2 (en) System for identifying paraphrases using machine translation
US8321220B1 (en) System and method of semi-supervised learning for spoken language understanding using semantic role labeling
Sukkarieh et al. Automarking: using computational linguistics to score short ‚free− text responses
CN115269857A (zh) 一种基于文档关系抽取的知识图谱构建方法和装置
Shaalan et al. Analysis and feedback of erroneous Arabic verbs
CN111428104A (zh) 基于观点型阅读理解的癫痫病辅助医疗智能问答方法
Chandiok et al. CIT: Integrated cognitive computing and cognitive agent technologies based cognitive architecture for human-like functionality in artificial systems
BE1022627B1 (nl) Methode en apparaat voor het automatisch genereren van feedback
US20220019737A1 (en) Language correction system, method therefor, and language correction model learning method of system
Hana et al. Building a learner corpus
Mudge The design of a proofreading software service
Hughes Automatic inference of causal reasoning chains from student essays
Becerra-Bonache et al. Linguistic models at the crossroads of agents, learning and formal languages
Panchal et al. Automatic question generation and evaluation
Varol et al. Estimation of quality of service in spelling correction using Kullback–Leibler divergence
Mahlaza Foundations for reusable and maintainable surface realisers for isiXhosa and isiZulu
Chen et al. A new template-template-enhanced ICALL system for a second language composition course
Xiao et al. Automatic generation of multiple-choice items for prepositions based on word2vec
Xie et al. Building a Parallel Corpus for English Translation Teaching Based on Computer-Aided Translation Software
Vecchi et al. Transferring multiple text styles using CycleGAN with supervised style latent space