Met deze exercitie hoop ik de ingebouwde (semantische?) betekenis van de woorden te behouden door uit te gaan van codering van letters in plaats van de gangbare codering van woorden, Dat is enigzins succesvol maar haalt het nog bij lange na niet bij de resultaten die met woordcoding worden gehaald. Een belangrijke missende factor is de embedding ofwel word2vec methodiek. Hierbij wordt dus de betekenis van woorden in hun onderlinge relatie in de zinnen geleerd.
Ik had stiekum gehoopt dat dit, door de manier van aanbieden van de data, 'meegeleerd' zou worden. Omdat ik nog niet precies snap hoe het algoritme zelf in detail in elkaar steekt is het versterken van het model met een eigengebouwde 'char2vec' oplossing nog geen optie. Gelukkig vind ik anderen die zich met dezelfde problematiek hebben bezig gehouden.
Met een eenvoudige import van de python 'chars2vec' module (en wat gepruts aan het programma) kan ik de eerder gebruikte documenten omzetten naar voorgetrainde vectoren. Er is keuze uit verschillende voorgetrainde formaten dus uiteraard 😁kies ik eerst de grootste (300). Dat leidt tot een memory error dus ik besluit de nacht te gebruiken voor een hertraining met het (kleinste) 50 vectoren formaat.
En succes!
We schieten omhoog van 66% test accuracy naar ruim 80%. Wow!!
Met een F1 van ook bijna 80: (0.7999).
Dat is nog eens vooruitgang! Nog niet de streefwaarde van 85 testacc of meer maar we komen in ieder geval behoorlijk in de buurt.
Geen opmerkingen:
Een reactie posten