MinDocSize
ThresholdValue
MaxCandidates


Dit programma probeert de taal van een tekst te raden. Het gebruikt hiervoor een heel simpele methode die al begin jaren negentig werd bedacht, zie (1). De methode kijkt alleen naar frequente letters, en frequente combinaties van letters. Toch werkt deze methode al vrij goed voor wat langere teksten, zoals je zelf kunt uitproberen. De demo gebruikt de implementatie van (2). Het kan deze 178 talen herkennen:

lijst met bekende talen

Het algoritme levert altijd een winnaar, ook als de invoer een taal is die het helemaal niet kent. Hoe betrouwbaar is het resultaat? Om de betrouwbaarheid te kunnen beïnvloeden kun je de volgende parameters instellen.

Er moet voldoende tekst zijn om een gok op te baseren. Is de tekst korter dan MinDocSize dan wordt er geen poging gewaagd.

Wanneer de taal met de op een na beste score vrijwel even goed scoort als de winnaar, dan zou dat wel eens de juiste gok kunnen zijn. Wat zijn de kanshebbers? Dat wordt bepaald door ThresholdValue. Is die waarde 1.03, en de beste score is 100, dan worden alle talen met een score tot 103 (1.03 keer 100) als mogelijkheid gegeven. (Lagere scores zijn beter dan hogere scores.)

Als er te veel talen zijn die goed scoren (onder ThresholdValue), dan heb je er niks aan. Daarom mogen er maximaal MaxCandidates zijn, anders zegt het programma "Kan taal niet raden".


Op het web is natuurlijk nog veel meer informatie over taalraders te vinden, zoals bijvoorbeeld op Wikipedia (3). De taalcodes die in onze demo worden getoond, verwijzen naar de website (4). Meer informatie over de meer dan 6000 talen van de wereld vind je in (5) en (6). 


  1. paper van William B. Cavnar en John M. Trenkle waarin het algoritme wordt uitgelegd: N-Gram-Based Text Categorization (PDF)
  2. de implementatie die gebruikt is voor deze demonstratie: textcat
  3. een artikel over Language identification op Wikipedia
  4. ISO 639 Code Tables
  5. The World Atlas of Language Structures
  6. wereldkaart van talen bij Phoible

gemaakt door P. Kleiweg