Het artikel bespreekt de grammaticale regel voor het gebruik van de onbepaalde lidwoorden a en an in de Engelse taal. De auteur legt uit dat de keuze niet wordt bepaald door de geschreven letter, maar door de gesproken klank; zo wordt a unicorn gebruikt (medeklinkerklank) en an hour (klinkerklank).
Om een functie te bouwen voor procedurele tekstgeneratie, heeft de auteur een dataset van 32.455 woorden geanalyseerd. De resultaten tonen aan dat slechts 129 woorden uitzonderingen vormen op de basisregel. De auteur reflecteert tot slot op het proces en geeft toe dat het gebruik van een LLM de ontwikkeling had kunnen versnellen, omdat er onnodig veel tijd is besteed aan het parsen van data en het maken van visualisaties met d3.js.
Engels: a versus an
Bij het procedureel genereren van tekst wil ik een functie aoran("apple") die mij vertelt welk lidwoord ik moet gebruiken. Dat lijkt eenvoudig: we kunnen de eerste letter controleren om te zien of het een klinker is. Maar dat zou betekenen dat we an unicorn zouden genereren in plaats van a unicorn.
De eigenlijke regel is niet of het geschreven woord begint met een klinkerletter, maar of het gesproken woord begint met een klinkerklank. Het woord unicorn begint met een klinkerletter (u) maar met een medeklinkerklank (cmudict Y, ipa /j/). Het woord hour begint met een medeklinkerletter (h) maar met een klinkerklank (cmudict AW, ipa /aʊ/).
Visualisatie die laat zien of de eerste twee letters van een woord voldoende zijn om te bepalen of het "a" of "an" moet hebben
Ik was benieuwd hoe vaak deze uitzonderingen voorkwamen en of ze gegroepeerd konden worden. Daarom heb ik een dag besteed aan het analyseren van de data en het maken van enkele visualisaties, waarvan ik de resultaten heb uitgeschreven. Ik was verrast dat slechts 129 van de 32.455 woorden in mijn lijst uitzonderingen nodig hadden.
LLM-notitie: Ik heb geen LLM's gebruikt om deze code te schrijven, maar achteraf gezien had ik dat moeten doen. Dit is eenmalige code om een vraag te beantwoorden. Het hoeft niet schoon of onderhoudbaar te zijn; het moet alleen correct zijn. Ik had meer tijd moeten besteden aan het algoritme voor de vereenvoudiging van de trie en minder tijd aan het parsen van cmudict en het opnieuw leren van d3.js.
Engels: a versus an
Bij het procedureel genereren van tekst wil ik een functie aoran("apple") die mij vertelt welk lidwoord ik moet gebruiken. Dat lijkt eenvoudig: we kunnen de eerste letter controleren om te zien of het een klinker is. Maar dat zou betekenen dat we an unicorn zouden genereren in plaats van a unicorn.
De eigenlijke regel is niet of het geschreven woord begint met een klinkerletter, maar of het gesproken woord begint met een klinkerklank. Het woord unicorn begint met een klinkerletter (u) maar met een medeklinkerklank (cmudict Y, ipa /j/). Het woord hour begint met een medeklinkerletter (h) maar met een klinkerklank (cmudict AW, ipa /aʊ/).
Visualisatie die laat zien of de eerste twee letters van een woord voldoende zijn om te bepalen of het "a" of "an" moet hebben
Ik was benieuwd hoe vaak deze uitzonderingen voorkwamen en of ze gegroepeerd konden worden. Daarom heb ik een dag besteed aan het analyseren van de data en het maken van enkele visualisaties, waarvan ik de resultaten heb uitgeschreven. Ik was verrast dat slechts 129 van de 32.455 woorden in mijn lijst uitzonderingen nodig hadden.
LLM-notitie: Ik heb geen LLM's gebruikt om deze code te schrijven, maar achteraf gezien had ik dat moeten doen. Dit is eenmalige code om een vraag te beantwoorden. Het hoeft niet schoon of onderhoudbaar te zijn; het moet alleen correct zijn. Ik had meer tijd moeten besteden aan het algoritme voor de vereenvoudiging van de trie en minder tijd aan het parsen van cmudict en het opnieuw leren van d3.js.