Iedereen wil een perfecte
spellingscontrole. Beter dan de software erachter nu kan presteren. Maar dat is
niet zo eenvoudig, legt Sander van Geloven uit. De Nederlandse ICT’er kreeg
onlangs subsidie om de wereldwijd gebruikte spellingscontrole Hunspell te
verbeteren.
Correct gespelde woorden die de
spellingscontrole afkeurt omdat hij ze niet kent. Fouten die hij laat staan
omdat de spelling in een andere betekenis wél goed is. Het ontbreken van suggesties
ter verbetering. Een soms onlogische volgorde van suggesties. Enzovoorts.
Sander van Geloven begrijpt dat spellingscontrole een slecht imago heeft.
‘Grote Nederlandse dagbladen publiceren bijna elk jaar een stuk waarin de
auteur er tegen tekeer gaat, al gaat de helft van de klachten over grammaticale
fouten en niet over spelfouten.’
Maar hebben mensen enig idee hoe
ingewikkeld het is om een goede spellingscontrole te krijgen? De zelfstandig
ICT-consultant zeker. Hij werkt al jaren aan deze software. Onlangs kregen een
Macedoniër en hij 95.000 dollar subsidie van Mozilla Open Source Support – een
fonds van het gelijknamige softwarebedrijf – om een geheel nieuwe versie van
Hunspell te schrijven. Geld dat volledig opgaat aan de vele, vele uren arbeid die
beiden erin moeten steken.
‘Je zou bijvoorbeeld ook een
tussencategorie willen. Spellingscontrole geeft alleen aan of de spelling goed
of fout is – of eigenlijk: goed en let op, hier is wat mee. Met een
tussencategorie kun je aangeven bij een woord als “fijt”: het is correct
gespeld, want het woord voor een ontsteking aan je vingertop, maar wellicht
bedoel je “feit”. Daarnaast kun je zo alternatieven aangeven die beter
Nederlands zijn zoals “beeldscherm” voor “monitor” en “ontspannen” voor
“chill”. Of woorden die meer of minder formeel zijn. Zo’n tussencategorie kun
je niet op een zondagmiddag ontwikkelen en invoeren.’
Hongaarse
wortels
De naam Hunspell zal bij weinig
mensen een belletje doen rinkelen. En dat terwijl vrijwel iedereen in Nederland
het gebruikt – en door nog een miljard mensen over de hele wereld. De
spellingscontrole is geïntegreerd in browsers als Firefox, Safari en Chrome. In
Adobe-producten. In officeproducten als LibreOffice. En nog veel meer.
Eigenlijk zit Hunspell verwerkt in bijna alles wat geen Microsoftproduct is.
Deze softwaregigant gebruikt zijn eigen spellingscontrole.
‘Hunspell is twintig jaar geleden
ontwikkeld door de Hongaar László Németh’, vertelt Van Geloven. ‘Vandaar de
naam. Hij vond de bestaande opensource spellingscontrole niet goed werken voor
zijn taal en schreef een verbeterde versie. Dat bleek goed te werken voor
meerdere talen. Ook voor het Nederlands. In 2010 is Németh naar Nederland
gehaald om voor een paar duizend euro een aantal essentiële functies die misten
voor onze taal in de spellingscontole aan te passen.’
Inmiddels worden ongeveer zeventig
talen in 130 verschillende varianten door Hunspell ondersteund. ‘Voor het
Nederlands zijn de eisen voor samenstellingen een van de zwaarste. Je kunt
ongelofelijk veel woorden aan elkaar koppelen. Nog moeilijker dan het Duits,
mede omdat wij andere klinkerbotsingen hebben en ook woorden met
verbindingsstreepje: re-integratie, aspirant-lid. Németh heeft dat zeven jaar
geleden gefikst. Dat de spelling van die woorden niet spaak loopt met de regels
voor afbreking.’
De Stichting OpenTaal, waar Van
Geloven ook bij betrokken is, levert voor de Nederlandse versie de
noodzakelijke bestanden aan: woordenlijsten en regels voor vervoegingen en
samenstellingen. ‘Vooral dat laatste bestand is voor het Nederlands zeer groot.
Onlangs hebben we een nieuwe versie van de woordenlijst ingeleverd bij de
Taalunie: 500.000 woorden groot tegen 350.000 in de vorige versie. Als die het
Keurmerk Spelling heeft gekregen, komt die beschikbaar voor gebruikers.’
Beter,
veiliger, sneller
Inmiddels is het tijd om Hunspell
vanaf nul opnieuw op te bouwen. In al die jaren is het organisch gegroeid
volgens de wetten van opensource software. Dan brengt de ene
softwareontwikkelaar een paar verbeteringen aan – tot hij bijvoorbeeld door de
geboorte van een kind geen tijd meer heeft. Dan zet een bedrijf er een paar
ontwikkelaars op om een paar dingen te veranderen zodat de software beter
geschikt is voor hun werk. De Macedoniër en Van Geloven maken er opnieuw een
coherent geheel van.
Hunspell moet zo beter, veiliger en
sneller worden. ‘Neem de veiligheid. Hunspell is geschreven in C++, een
relatief lage softwaretaal. Het voordeel daarvan is de snelheid. Lange woorden
als “goederentreinwagondeuren” kunnen dan toch snel genoeg worden gevonden. Als
het langer dan een paar milliseconden duurt, stopt de computer met zoeken omdat
het natuurlijk niet de bedoeling is dat je minuten wacht tot je tekst is
gecontroleerd. Lange woorden worden dan onterecht afgekeurd.’
Een bijkomstigheid van een lage
softwaretaal is wel dat je veilig moet ontwikkelen. ‘Juist bij gebruik in
webbrowsers wil je voorkomen dat makers van malware en ransomware je software
kunnen misbruiken’, zegt Van Geloven. 'Voor de huidige versie van Hunspell zijn
verschillende stijlen van C en C++ gebruikt. In versie 2.0 straks alleen versie
14 van C++ – én een codestijl zonder handmatige geheugenallocaties, zodat er
minder kans is op security exploits
zoals buffer overflows. Enfin, dit
wordt een beetje technisch.'
Betere
suggesties
Het is nadrukkelijk niet de
bedoeling dat de gebruiker iets merkt van deze verbeteringen. ‘Ondanks de
relatieve onbekendheid van spellingscontrole zou niemand zonder willen,’ aldus
Van Geloven. ‘Niemand laat een sollicitatiebrief de deur uitgaan zonder die
eerst te controleren op spelling. Ze weten daarbij dat woorden als “creëren” en
“provinciën” worden verbeterd, maar zelf moeten nagaan of het “de” of “het”
moet zijn. Die betrouwbaarheid moet absoluut gehandhaafd worden.’
Pas in een volgende fase willen de
ontwikkelaars Hunspell ook voor de gebruiker merkbaar verbeteren – als ze daar
opnieuw financiering voor weet te vinden. ‘Behalve het invoeren van een
tussencategorie wil we ook links toevoegen naar taaladviessites. Spellingscontrole
heeft een lerend effect: na een keer of wat dezelfde fout te hebben gemaakt
weet je dat provinciën met één e is. Dat effect kan zo worden versterkt. Online
is heel veel beschikbaar, maar mensen weten dat nu niet te vinden of het is te
veel werk om zelf op te zoeken.’
Ook wil hij de suggesties
verbeteren. ‘Soms is de beste suggestie de vierde optie. Dan staan daarboven
woorden die veel lijken op het fout gespelde woord, maar nooit bedoeld kunnen
zijn. De computer weet dat niet. Microsoft en Google kijken mee en verbeteren
zo hun lerend algoritme. Hunspell niet, omdat wij absoluut niet met de
gebruikers willen meekijken. Wij zijn afhankelijk van wat mensen ons laten
weten. Er kan dus wel een systeem komen dat mensen automatisch vraagt om
informatie door te geven – zonder dat wij hun documenten inzien.’
Grammaticacontrole
En dan willen gebruikers eigenlijk
ook grammaticacontrole, zoals uit de reguliere klacht in dagbladen blijkt. Van
Geloven: ‘Dat heb je bijvoorbeeld nodig om uitdrukkingen met spaties – “o pair”
of “au pair?” – op te sporen. Hunspell kan alleen losse aaneengeschreven
woorden controleren. Een oplossing daarvoor is LanguageTool, dat ook helpt om
foute verwijzingen als “het hondje die” te corrigeren. Maar het detecteren van
onjuist spatiegebruik staat daar nog in de kinderschoenen.’
(Eerder gepubliceerd op Taalunie:Bericht)
Geen opmerkingen:
Een reactie posten