Code-switching: hoe technologie leert schakelen tussen talen
Stel je iemand voor die in de trein tegen een vriendin zegt: "Ik moet nog even mijn planning checken, but I think we're good for tomorrow." Binnen één zin springt de spreker moeiteloos van het Nederlands naar het Engels en weer terug. Dat verschijnsel heet code-switching: het afwisselen van twee of meer talen binnen één gesprek, zin of zelfs woordgroep. Voor mensen die meertalig zijn opgegroeid is dit doodnormaal en vaak onbewust — het is geen teken dat iemand een taal niet goed beheerst, maar juist een vaardigheid om vloeiend tussen taalsystemen te schakelen.
Voor kunstmatige intelligentie is dat schakelen allesbehalve vanzelfsprekend. Spraakherkenners, chatbots en vertaalapps zijn van oudsher gebouwd op de aanname dat een gesprek in één taal plaatsvindt. Zodra iemand halverwege een zin overschakelt, kan een systeem in de war raken: het herkent woorden verkeerd, vertaalt de verkeerde taal, of geeft rare uitkomsten. Omdat code-switching wereldwijd de norm is voor miljoenen meertalige sprekers — denk aan Marokkaans-Nederlandse jongeren, Indiase kantoormedewerkers die Hindi en Engels mengen, of Spaans-Engelse gemeenschappen in de Verenigde Staten — is dit een van de hardnekkigere obstakels op weg naar taaltechnologie die iedereen goed bedient.
Wat is het precies?
Taalkundigen onderscheiden een paar vormen. Bij intersententiële code-switching wisselt de spreker van taal tussen twee hele zinnen door. Bij intrasententiële code-switching gebeurt de wisseling middenin een zin, soms zelfs binnen één woordgroep. Er is ook tag-switching, waarbij losse uitroepen of stopwoorden ("you know", "toch?") uit een andere taal worden ingevoegd. Voor AI-systemen maakt dit nogal wat uit: hoe fijnmaziger de wisseling, hoe lastiger te detecteren.
Voor een taalmodel of spraakherkenner is code-switching in feite een voorspelprobleem op meerdere niveaus tegelijk. Eerst moet het systeem herkennen welke taal er op elk moment wordt gesproken of geschreven — dit heet language identification (taalidentificatie), en idealiter gebeurt dat per woord, niet per hele zin. Bij gesproken taal komt daar een akoestische laag bovenop: klanken en uitspraak van twee talen kunnen sterk overlappen, waardoor de herkenner niet goed kan bepalen in welke taal een klank moet worden geïnterpreteerd. Tot slot moet het taalmodel — het onderdeel dat voorspelt welk woord waarschijnlijk volgt — zijn voorspellingen kunnen aanpassen aan een grammatica die soms half uit de ene en half uit de andere taal bestaat.
Klassieke spraaktechnologie loste dit nooit goed op, omdat de verwerkingspijplijn (de opeenvolgende stappen: geluid herkennen, omzetten naar tekst, taal bepalen) een vaste taal per opname veronderstelde. Moderne neurale netwerken, met name transformer-modellen, pakken het anders aan. Ze werken met subword-tokenisatie: in plaats van hele woorden knippen ze tekst op in kleine tekstbrokjes die talen overstijgen. Als zo'n model wordt getraind op grote hoeveelheden gemengde tekst, leert het impliciet — dus zonder dat iemand het expliciet programmeert — wanneer een taalwisseling waarschijnlijk is.
Wat wil men ermee bereiken?
Het achterliggende doel is eenvoudig te omschrijven, ook al is de techniek dat niet: taaltechnologie moet werken zoals mensen daadwerkelijk praten, niet zoals leerboeken veronderstellen. Een ruime meerderheid van de wereldbevolking is meertalig, en code-switching komt in vrijwel elke meertalige gemeenschap voor. Spraakassistenten, ondertitelingssoftware, callcenter-transcriptie en vertaalapps die alleen overweg kunnen met brave, eentalige zinnen, sluiten grote groepen gebruikers buiten of leveren simpelweg slechte resultaten.
Daarnaast is er een economisch belang. Bedrijven die spraakherkenning of klantenservice-automatisering verkopen in meertalige markten — India, Singapore, delen van Afrika, migrantengemeenschappen in Europa — hebben er baat bij dat hun producten robuust zijn tegen code-switching. Een callcentersysteem dat vastloopt zodra een klant "ja, das goed, thank you" zegt, levert frustratie en gemiste omzet op.
Er is ook een meer wetenschappelijke drijfveer: onderzoekers gebruiken code-switching als venster op hoe meertaligheid cognitief werkt, in de hoop dat inzichten daaruit modellen in het algemeen beter maken in het combineren van kennis uit verschillende talen — iets dat ook nuttig is voor talen waarvoor weinig trainingsdata beschikbaar is.
Voorbeelden uit de praktijk
Sinds ongeveer 2014 organiseert de onderzoeksgemeenschap rond computationele taalkunde de workshopreeks CALCS (Computational Approaches to Linguistic Code-Switching), doorgaans gekoppeld aan grote taaltechnologieconferenties zoals ACL. Binnen CALCS zijn herhaaldelijk shared tasks georganiseerd: wedstrijden waarbij onderzoeksteams wereldwijd dezelfde gemengde datasets gebruiken — bijvoorbeeld Spaans-Engels of Arabisch met een lokaal dialect — om systemen voor taalidentificatie en naamherkenning onderling te vergelijken.
Rond 2020 bracht een onderzoeksgroep verbonden aan de University of Houston de LinCE-benchmark (Linguistic Code-switching Evaluation) uit: een verzameling taken en datasets die code-switching-prestaties van modellen meetbaar en onderling vergelijkbaar maakt, met taalparen als Spaans-Engels, Hindi-Engels en Nepalees-Engels. Zulke benchmarks zijn belangrijk omdat ze onderzoekers een gedeelde meetlat geven, in plaats van dat iedereen op eigen, onvergelijkbare data test.
India is een belangrijk praktijkgebied vanwege de wijdverspreide mix van Hindi en Engels, ook wel "Hinglish" genoemd. Onderzoeksgroepen zoals Microsoft Research India publiceren al jaren over spraak- en teksttechnologie die met deze mix overweg kan.
Ook grote taalmodellen die niet specifiek voor code-switching zijn gebouwd, laten er iets van zien. OpenAI's spraakherkenningsmodel Whisper (2022) is getraind op een enorme, uiteenlopende verzameling audio van het internet, waaronder vermoedelijk ook natuurlijk voorkomende taalwisselingen. Gebruikers en onderzoekers melden wisselend succes: soms herkent Whisper een taalwisseling probleemloos, in andere gevallen "vertaalt" het per ongeluk de anderstalige fragmenten of maakt het fouten. Een uitgebreide, officiële benchmark van OpenAI specifiek over code-switching is er vooralsnog niet, wat het lastig maakt hier harde uitspraken over te doen.
Hoe ver is de techniek?
De afgelopen tien jaar is er duidelijk vooruitgang geboekt, vooral dankzij meertalige taalmodellen zoals mBERT (2019) en XLM-R (2020), die zijn getraind op tientallen talen tegelijk en daardoor beter zijn geworden in het overbrengen van kennis tussen talen. Dat helpt indirect ook bij code-switching-taken, omdat zulke modellen al gewend zijn aan meerdere taalsystemen naast elkaar.
Toch blijft er een meetbaar prestatiegat: op benchmarks zoals LinCE presteren modellen op gemengde tekst en spraak doorgaans slechter dan op keurig eentalige data, zeker bij taalparen met weinig beschikbare trainingsdata. Het grootste obstakel is data-schaarste. Natuurlijk voorkomende code-switching ontstaat meestal in informele, persoonlijke gesprekken — precies het soort spraak dat moeilijk en privacygevoelig is om op grote schaal te verzamelen en te labelen. Onderzoekers proberen dit soms te omzeilen door kunstmatig gemengde zinnen te genereren, bijvoorbeeld door delen van vertaalde zinnen samen te voegen, maar dat is een noodoplossing die niet volledig benadert hoe mensen echt spreken.
Bij gesproken taal is de opgave groter dan bij tekst, omdat uitspraak en accent van de ene taal doorwerken in de andere en de foutmarge — het percentage verkeerd herkende woorden, ook wel word error rate genoemd — bij taalwisselingen meetbaar oploopt. Er is dus geen sprake van een "opgelost" probleem, eerder van gestage maar ongelijkmatige vooruitgang die sterk verschilt per taalpaar: Spaans-Engels en Hindi-Engels zijn relatief goed onderzocht, veel andere combinaties nauwelijks.
Wie werken eraan?
Academisch zijn er een paar herkenbare zwaartepunten. In de Verenigde Staten doet onder meer Carnegie Mellon University, via het Language Technologies Institute, onderzoek naar meertalige spraak- en taaltechnologie, en bouwde een team van de University of Houston de LinCE-benchmark. In India zijn instituten als IIIT Hyderabad en IIT Bombay actieve onderzoekscentra op het gebied van Hindi-Engelse en andere Indiase taalcombinaties. In Singapore wordt onderzoek gedaan naar code-switching met het lokale Engels ("Singlish"), onder meer aan de Nanyang Technological University.
Aan de industriekant investeren Microsoft Research, Google Research en Meta AI in meertalige spraak- en taalmodellen waarbinnen code-switching een aandachtspunt is, al wordt het zelden als apart product in de markt gezet — het schuilt meestal binnen bredere spraakherkennings- en vertaaldiensten. Onderzoek verschijnt via conferenties als ACL, EMNLP en Interspeech (dat laatste specifiek gericht op spraaktechnologie), en via de CALCS-workshop, die inmiddels geldt als vast trefpunt voor dit deelgebied.
Landen met grote, van nature meertalige bevolkingen — vooral India, maar ook delen van Afrika en Zuid-Amerika — vormen zowel de belangrijkste testomgeving als de belangrijkste bron van onderzoekers op dit gebied, simpelweg omdat code-switching daar dagelijkse realiteit is in plaats van een randgeval.