Over valkuil.net

Valkuil.net is een automatische spellingcorrector voor het Nederlands die zowel gewone typefouten als grammaticale fouten en verwarringen tussen bestaande woorden opspoort. Op zoek naar spellingcorrectie voor het Engels? Ga dan naar dan Fowlt.net.

Valkuil.net is gebaseerd op grote hoeveelheden Nederlandse tekst, en niet op taalkundige kennis of een vaste woordenlijst. De meeste modules in valkuil.net zijn contextgebaseerd en statistisch: ze slaan alarm wanneer ze een woord tegenkomen dat ze niet verwachten op basis van de omgeving waarin dat woord staat. Het enthousiasme waarmee ze alarm slaan is instelbaar (klik op 'Toon geavanceerde opties' in het invoerscherm).

Valkuil.net bevat modules voor hele specifieke verwarringen, zoals zei-zij, maar ook voor fouten met vervoegingen zoals de bekende d-t-fout. Valkuil.net doet ook zijn best om vergeten spaties of teveel gezette spaties op te sporen.

Hoe goed is valkuil.net? In het algemeen kan een spellingchecker twee soorten fouten maken: het systeem kan fouten missen en kan vals alarm slaan. Valkuil.net is, in tegenstelling tot de meeste andere spellingcorrectors, ingesteld om niet te veel valse alarmen te genereren. De keerzijde van deze voorzichtigheid is dat valkuil.net bij te grote onzekerheid ervoor kiest om geen alarm te slaan, en zo mist het systeem wel eens fouten. Het streven is om minder dan de helft van alle fouten te missen (en liefst veel minder). We komen in de buurt.

We meten periodiek hoe goed valkuil.net het doet op een groeiende verzameling fouten in context, al meer dan 13 duizend, die door de vrijwilligers van OpenTaal wordt verzameld. Momenteel detecteert valkuil.net het volgende percentage van deze fouten:

     

We meten ook hoeveel van de fouten die valkuil.net denkt te vinden, ook echt fouten zijn. We doen dat op basis van de gebruikers die op het invoerscherm 'Gevonden taalfouten mogen gebruikt worden voor wetenschappelijk onderzoek' aanvinken (bedankt!). Momenteel is het volgende percentage van door valkuil.net gevonden fouten ook echt een fout:

44.1%

gemist: 55.9%

     

62.6%

vals alarm: 37.4%

Wat leren we daarvan? Spellingcorrectie is moeilijk, en is daarom zo'n boeiend onderzoeksonderwerp. Valkuil.net mist meer dan de helft van de fouten en slaat in tweederde van de gevallen vals alarm. De vraag is wat erger is, en of we niet wat meer valse alarmen moeten toelaten zodat we wat meer echte fouten vinden. Wordt vervolgd...

Wat gaat er fout? Van alles, en in deze fouten zitten interessante patronen. Het woord 'word' wordt bijvoorbeeld vaak onterecht verbeterd tot 'wordt'; de andere kant op gaat veel beter, zoals psycholinguïst Dominiek Sandra ook bij mensen ziet gebeuren. Hij verklaart dat als een frequentie-effect: 'wordt' komt veel vaker voor dan 'word', en als we even niet goed opletten dan kiezen we vaak onbewust voor de frequentere vorm. Valkuil.net valt in dezelfde valkuil als mensen. Op basis van dit soort analyses kunnen we valkuil.net verbeteren, niet door taalregels in te voeren, maar door valkuil.net te hertrainen op meer of anders geselecteerde voorbeelden.

Wat zit er onder de motorkap? Data-gedreven, geheugengebaseerde taaltechnologie, gebouwd met onze open-source software Gecco. Ondanks dat de modules zich baseren op honderden miljoenen woorden Nederlandse tekst zijn ze lichtgewicht en snel; ze maken o.a. gebruik van Timbl, een softwarepakket voor geoptimaliseerde geheugengebaseerde classificatie, dat we sinds de jaren '90 in Tilburg ontwikkelen; en van Colibri Core, een systeem om efficiƫnt n-grammen te modelleren. Valkuil/Gecco werkt als een RESTful webservice (CLAM), waarboven een webapplicatie is ontwikkeld. Intern werkt valkuil.net met het XML-formaat FoLiA, dat geschikt is voor de representatie van gedetecteerde fouten, correctiesuggesties, en gekozen correcties.

Kan ik valkuil.net inbouwen in mijn eigen webapplicatie/app/tekstverwerker? Ja, graag! De webservice achter deze website (gebaseerd op CLAM) kan aangeroepen worden door andere software. Zie:

Voor deze en andere van onze webservices is een (gratis) account vereist, registreer je via http://webservices.science.ru.nl/

Binnen de grenzen van wat de service aankan bieden we valkuil.net zonder beperkingen aan; ook zonder garanties over uptime! We helpen je graag verder; stuur een email naar Maarten van Gompel voor meer informatie.

 

Het gebruik van valkuil.net is vrij. Als gebruiker is het goed om je de volgende vragen te stellen:

  • Wat gebeurt er met mijn documenten? - Valkuil.net bewaart geen documenten. Tot 24 uur na de laatste verbetering is de ingevoerde tekst beschikbaar; daarna wordt hij verwijderd.
  • Wat doet de knop 'Gevonden taalfouten mogen gebruikt worden voor wetenschappelijk onderzoek'? - Als je deze knop aanvinkt dan slaan we alle gevonden fouten en je eventuele verbeteringen op. Een fout woord wordt samen met drie woorden links en drie woorden rechts opgeslagen; een kleine 'snippet' dus. Je document wordt nog steeds niet opgeslagen en na een dag verwijderd. Met je verbeteringen kunnen wij valkuil.net evalueren en verbeteren.
  • Kunnen anderen mijn documenten zien? - Nee, tenzij je tijdens je verbeter-sessie de unieke URL doorstuurt naar anderen. 24 uur na je sessie bestaat die URL niet meer.

Heb je een andere vraag, opmerking, of suggestie? stuur een email naar Antal van den Bosch.

 

Een korte demonstratie van valkuil.net:

Download wallpapers van valkuil.net:

 

Valkuil.net werd gemaakt en kwam tot stand door:

met hulp van Peter Berck, Ko van der Sloot, Martin Reynaert, Menno van Zaanen en Herman Stehouwer, en met de steun en suggesties van alle collega's van de ILK onderzoeksgroep van het Tilburg center for Cognition and Communication.

Valkuil.net is tot stand gekomen dankzij financiering van NWO Geesteswetenschappen in het kader van het Vici-project Implicit Linguistics.

Van OpenTaal kregen we de beschikking over hun grote verzameling zinnen die zij op internet verzamelden ten behoeven van hun spellingcorrector. Op dit moment (mei 2012) is valkuil.net getraind op zo'n 3,4 miljard woorden:

  • 566.261.105 woorden Nederlandse krantentekst (landelijke dagbladen);
  • 2.795.679.524 woorden van internet, verzameld door OpenTaal;
  • 129.915.730 woorden van verschillende typen teksten uit het SoNaR-project, zoals de Nederlandse Wikipedia en tijdschriftartikelen.

Opinies van anderen over valkuil.net vind je op Student 2.0, Scientias.nl, Dutch Cowgirls, Automatiseringsgids, en Portaal taal en rekenen mbo.

 

Literatuur

  • Van den Bosch, A., and Berck, P. (2012). Memory-based text correction for preposition and determiner errors. In Proceedings of the 7th Workshop on the Innovative Use of NLP for Building Educational Applications, BEA-2012, Montreal, Canada, pp. 289-294. [pdf]
  • Stehouwer, H. and Van den Bosch, A. (2009). Putting the t where it belongs: Solving a confusion problem in Dutch. In S. Verberne, H. van Halteren, and P.-A. Coppen (Eds.), Computational Linguistics in the Netherlands 2007: Selected Papers from the 18th CLIN Meeting, January 22, 2009, Groningen, pp. 21-36. [pdf]
  • Stehouwer, H., and Van Zaanen, M. (2009). Language models for contextual error detection and correction. In Proceedings of the EACL 2009 Workshop on Computational Linguistic Aspects of Grammatical Inference, Athens, Greece, pp. 41-48. [pdf]
  • Van den Bosch, A. (2006). All-words prediction as the ultimate confusible disambiguation. In Proceedings of the HLT-NAACL Workshop on Computationally hard problems and joint inference in speech and language processing, June 2006, New York City, NY. [pdf]
  • Van den Bosch, A. (2005). Scalable classification-based word prediction and confusible correction. Traitement Automatiques des Langues, 46:2, 39-63. [pdf]

Gerelateerd werk van de ILK-onderzoeksgroep op het gebied van spellingcorrectie en statistische taalmodellering:

  • Stehouwer, H. and Van Zaanen, M. (2010). Using suffix arrays as language models: Scaling the n-gram. In Proceedings of the 22st Benelux Conference on Artificial Intelligence (BNAIC-2010), Luxembourg. [pdf]
  • Reynaert, M. (2010). Character confusion versus focus word-based correction of spelling and OCR variants in corpora. International Journal on Document Analysis and Recognition [DOI 10.1007/s10032-010-0133-5]
  • Van den Bosch, A., and Berck, P. (2009). Memory-based machine translation and language modeling. The Prague Bulletin of Mathematical Linguistics No. 91, pp. 17-26. [pdf]
  • Stehouwer, H., and Van Zaanen, M. (2009). Token merging in language model-based confusible disambiguation. In T. Calders, K. Tuyls, and M. Pechinizkiy (Eds.), Proceedings of the 21st Benelux Conference on Artificial Intelligence (BNAIC-2009), pp. 241-248. [pdf]
  • Reynaert, M. (2009). Parallel identification of the spelling variants in corpora. In Proceedings of The Third Workshop on Analytics for Noisy Unstructured Text Data 2009 (AND-2009), Barcelona, Spain, pp. 77-84. [pdf]
  • Reynaert, M. (2008). Non-interactive OCR post-correction for giga-scale digitization projects. In A. Gelbukh (Ed.), Proceedings of the Computational Linguistics and Intelligent Text Processing 9th International Conference, CICLing 2008. Lecture Notes in Computer Science Vol. 4919/2008, Berlin / Heidelberg: Springer, pp. 617-630. [pdf]
  • Reynaert, M. (2008). All, and only, the errors: More complete and consistent spelling and OCR-error correction evaluation. In Proceedings of the Sixth International Language Resources and Evaluation (LREC'08). Marrakech,Morocco, 2008. [pdf]
  • Van den Bosch, A., and Bogers, T. (2008). Efficient Context-Sensitive Word Completion for Mobile Devices. In MobileHCI 2008: Proceedings of the 10th International Conference on Human-Computer Interaction with Mobile Devices and Services, IOP-MMI special track, pp 465-470. Amsterdam, The Netherlands, September 2008. [pdf]

Op de 2010 European Summer School on Logic, Language, and Information in Kopenhagen gaf Antal van den Bosch een cursus over geheugengebaseerde taalmodellering (Engelstalig cursusmateriaal), de technologie waarop Valkuil is gebaseerd.