words = ['cat', 'catfish', 'catering','catt', 'kat','dog', 'dogfood',
'hounddog','computer', 'computation', 'compiling',
'mouse','mousetrap', 'mousewire','random']
Met het standaard model 50 doet hij dit:
Hmmm. Dat ziet er zo op het eerste gezicht niet zo best uit. Als we inzoomen is er gelukkig wel verschil:
Bijzonder dat ik uiteindelijk toch die 80% valacc haal hiermee. Ik test of het aan mijn hoofdletter toevoeging ligt met alternatieve charset of wellicht aan de gebruikte dataselectie.
Hmmm. Beide zo te zien. Weliswaar liggen de woorden nu iets beter uit elkaar maar de schaal is nog steeds klein vergeleken met de originele modellen.
Een ander probleem blijft de de grote datasets en meerdere tussenstappen die ik moet maken om tot het gewenste resultaat te komen.
Even ter herinnnering: Ik wil karakter input laten meespelen om woorden met een vergelijkbare stam een vergelijkbare betekenis mee te geven. Daarnaast moet ook de betekenis van woorden uit hun omgeving mee gaan tellen (word2vec).
Wellicht is de training te combineren. Door een karakter woord als input te geven en de omliggende woorden als te voorspellen krijg ik wellicht gecombineerde woordvectoren. Zeker als ik ook mutaties op de woorden mee ga trainen. Ik maak dus voor de input een onehot op basis van de karakters en voor de output een onehot op basis van de (omliggende) woorden.
Uitdaging!!!