Tekstgeneratie en -vertaling

Machinevertaling

Voor het vertalen van de ene taal naar de andere gebruiken automatische vertaalalgoritmen een zogenaamd neuraal netwerk. Over neurale netwerken las je in een vorig onderdeel al. Het neurale netwerk wordt getraind met behulp van grote hoeveelheden gegevens, waaronder zinnenparen in verschillende talen. Het programma kan bijvoorbeeld worden getraind op miljoenen zinnen in het Engels en hun overeenkomstige vertalingen in het Spaans.

Het programma probeert dan de patronen en regels te leren die bepalen hoe woorden en zinnen van de ene taal naar de andere worden vertaald. Het doet dit door een wiskundig model van de gegevens te maken, dat is als een set regels of instructies die het programma volgt om vertalingen te maken.

Wanneer het programma een nieuwe zin krijgt om te vertalen, splitst het de zin op in kleinere delen, tokens genaamd, zoals individuele woorden. Vervolgens gebruikt het het wiskundige model dat het tijdens de training heeft geleerd om de meest waarschijnlijke vertaling van elk token te achterhalen, gebaseerd op de patronen en regels die het heeft geleerd.

Tot slot voegt het programma alle vertaalde tokens samen om een volledige vertaling van de originele zin te maken. 

De stappen van een vertaalalgoritme:

  1. Leren van Voorbeelden: Alles begint met een trainingsset van voorbeelden. In het geval van vertaalalgoritmen gaat het om een grote dataset van zinnenparen. Het gaat bijvoorbeeld om een aantal zinnen in het Nederlands en hun corresponderende vertaling in een andere taal zoals bijvoorbeeld het Russisch. Vaak gebruik je dus een supervised leertechniek!  Tijdens het trainingsproces leert het automatische vertalingsalgoritme de inputzinnen in kaart te brengen naar hun overeenkomstige outputvertalingen door de interne parameters (die vaak worden voorgesteld als neurale netwerkgewichten) aan te passen. Het algoritme doet dit door het minimaliseren van een verliesfunctie die meet hoe goed de vertalingen overeenkomen met de gewenste output.

  2. Patroondetectie: Net zoals kinderen onbewust grammaticale regels en taalpatronen leren door blootstelling, probeert het neurale netwerk patronen, regels en relaties tussen verschillende talen te ontdekken. Het leert bijvoorbeeld hoe bepaalde woorden of zinsstructuren in de ene taal overeenkomen met die in een andere taal.

  3. Toepassing van het geleerde:  Als het automatische vertaalmodel eenmaal is getraind op een grote dataset van invoer/uitvoer-voorbeelden, kan het worden gebruikt om nieuwe zinnen te vertalen die het nog niet eerder heeft gezien. Het model past de geleerde mapping-functie toe op de nieuwe invoerzinnen om hun vertalingen te genereren.  Wanneer een neurale netwerkvertaler een nieuwe zin tegenkomt, gebruikt hij de kennis die hij tijdens de training heeft opgedaan om deze zin te vertalen. Dit proces omvat het opsplitsen van de zin in "tokens" (Zie: transformatoren ), en alle andere stappen uit het geleerde model.  

  4. Complexe modellen: Een vertaalalgoritme is niet eenvoudig uit te leggen. Het gebruikt geavanceerde wiskundige functies en algoritmen om de complexiteit van menselijke taal te kunnen hanteren.

  5. Voortdurende verbetering: Net als kinderen die hun taalvaardigheden blijven verbeteren naarmate ze meer blootgesteld worden aan de taal, kunnen neurale netwerken verder worden verbeterd en aangepast naarmate ze toegang krijgen tot meer vertaaldata.

Machinevertaling maakt meestal gebruik van supervised learning-methoden, wat betekent dat het algoritme wordt getraind met behulp van paren van input/output-voorbeelden. In het geval van machinevertaling zijn de inputvoorbeelden zinnen in de ene taal en de outputvoorbeelden hun vertalingen in een andere taal.   

Supervised learning is slechts één benadering van machinevertaling, en er zijn ook andere methoden, zoals unsupervised learning en semi-supervised learning. Maar leren onder supervisie is momenteel de meest gebruikte aanpak voor automatische vertaling, omdat is aangetoond dat het state-of-the-art prestaties levert op veel benchmark datasets.

Tekstgeneratie

Machinevertaling maakt meestal gebruik van gesuperviseerd leren, waarbij het model wordt getraind op input-/outputvoorbeelden, terwijl ChatGPT gebruikmaakt van ongesuperviseerd leren, waarbij het model leert van ongelabelde gegevens zonder expliciete input-/outputvoorbeelden.

In het geval van ChatGPT wordt het model getraind om het volgende woord in een reeks woorden te voorspellen op basis van de woorden die ervoor kwamen. Dit wordt gedaan door de waarschijnlijkheid van het volgende woord te maximaliseren gegeven de voorgaande woorden, wat een vorm van leren zonder toezicht is die taalmodellering wordt genoemd.

Als het ChatGPT-model eenmaal is getraind op een grote dataset met tekst, kan het worden gebruikt voor verschillende taken, waaronder het genereren van tekst, het beantwoorden van vragen en het vertalen van taal. Het is echter mogelijk dat de prestaties op deze taken niet zo goed zijn als modellen die specifiek voor die taken zijn ontworpen (zoals automatische vertaalmodellen voor taalvertaling).

ChatGPT en leren zonder toezicht

In het geval van ChatGPT wordt het model getraind om het volgende woord in een reeks woorden te voorspellen op basis van de woorden die ervoor kwamen. Dit wordt gedaan door de waarschijnlijkheid van het volgende woord te maximaliseren gegeven de voorgaande woorden, wat een vorm van leren zonder toezicht is die taalmodellering wordt genoemd.

Als het ChatGPT-model eenmaal is getraind op een grote dataset met tekst, kan het worden gebruikt voor verschillende taken, waaronder het genereren van tekst, het beantwoorden van vragen en het vertalen van taal. De prestaties op deze taken kunnen echter minder goed zijn dan modellen die speciaal voor deze taken zijn ontworpen (zoals automatische vertaalmodellen voor taalvertaling).

Volgende pagina