Het probleem is omschakelen, niet vertalen
Omschakelen en vertalen worden voortdurend door elkaar gehaald, en het zijn niet dezelfde problemen.
Vertalen maakt van wat je zei iets in een andere taal. Een apart soort product, en een ander probleem.
Tweetalig inspreken betekent dat er correct wordt opgeschreven welke taal je toevallig sprak, zonder dat je het systeem eerst iets vertelt. Je zegt een zin in het Nederlands, er komt Nederlands. Tien minuten later zeg je er een in het Engels, er komt Engels. Er wordt niets omgezet; het systeem hoeft alleen te herkennen welke taal het hoort.
Er zit verschil tussen twee talen kennen en in twee talen leven. Wie op school een tweede taal geleerd heeft, haalt die er af en toe bij en met aandacht. Wie erin leeft wisselt naar gelang met wie hij praat, en niet volgens een plan: een bericht aan familie in de ene taal, een antwoord aan een collega in de andere, en een zoekopdracht in weer de eerste. ## Waarom de meeste programma’s dit slecht doen
Klassieke spraakinvoer gaat uit van één taal tegelijk, vooraf gekozen.
Die aanname is redelijk voor iemand die altijd maar in één taal schrijft. Voor alle anderen levert hij meerdere uitstapjes naar de instellingen per dag op, en dat uitstapje is precies de reden dat mensen ophouden met inspreken. Niemand gaat een menu langs om een bericht van twee regels te beantwoorden.
Wat er misgaat als je het vergeet, is bovendien ongewoon onbehulpzaam. Het systeem meldt niet dat het iets anders hoort dan het verwachtte. Het doet zijn best om de taal te horen die het moest verwachten en produceert zelfverzekerde onzin: een bericht vol woorden die je nooit gezegd hebt, keurig gespeld in de verkeerde taal. Een foutmelding waar je iets mee kunt, krijg je er niet bij.
Systemen die een pakket per taal binnenhalen krijgen er een tweede probleem bij: elke taal die je toevoegt kost ruimte, en omschakelen kan betekenen dat je op een download staat te wachten voordat je verder kunt.
De taal uit de opname halen
De betere aanpak is om het per opname uit de audio af te leiden en daarnaar te handelen.
LocalType doet dat over achttien talen met één meertalig model, dus er valt niets te kiezen voordat je praat en er is niets per taal binnen te halen. Begin een bericht in de ene taal en het volgende in de andere, en de tekst volgt je stem. Je moeder in de ene taal antwoorden, je collega in de andere, een formulier in een derde, zonder een instelling aan te raken. De volledige lijst en de details over hoe de instelling zich gedraagt staan op de talenpagina.
Aan de rest van de app verandert de taal waarin je zit niets. Het model draait op je telefoon, dus inspreken werkt met de verbinding uit, en dat telt juist voor iemand die tweetalig is omdat hij verhuisd is en nu tussen twee landen heen en weer reist. Om internet wordt één keer gevraagd, voor het ophalen van het model. Er is geen account, geen reclame, geen tracking binnen het product, geen archief van je opnames, en de gegevens van de app blijven buiten de back-up van Android. Het modelbestand staat in de eigen opslag van de app, die alleen de app kan lezen, en de microfoon zet zichzelf uit in wachtwoordvelden.
Er zijn drie maten: 60, 190 en 539 MB. De middelste is het startpunt. Blijf je fouten zien die je niet met eigen toegevoegde woorden kunt verhelpen, dan is de grote de volgende stap, en op een telefoon die krap in het geheugen zit is de kleine de verstandige keuze.
De plekken waar het herkennen vastloopt
Heel korte uitingen. Eén of twee woorden geven het systeem bijna niets om een taal aan te herkennen, dus bij een losse naam of een “ja, morgen” zit de gok er het vaakst naast. Hele zinnen zijn veel betrouwbaarder, en bij een kort antwoord is de oplossing goedkoop: zeg niet “ja”, maar “ja, prima, ik ben er om acht uur”. Een paar woorden extra geven het model iets om op af te gaan.
Talen die op elkaar lijken. Nauw verwante talen delen klanken en structuren, en een korte zin in de ene kan als de andere geloofwaardig ogen.
Zinnen met allebei erin. Het herkennen gebeurt per opname en niet per woord, dus een zin die twee talen echt door elkaar mengt moet aan een van beide worden toegewezen. Een Engels leenwoord in een Nederlandse zin is prima, want de zin is nog steeds Nederlands. Half om half niet.
Ongelijke nauwkeurigheid tussen talen. Spraakmodellen zijn per taal op heel verschillende hoeveelheden materiaal geoefend, dus de uitkomsten zijn niet gelijk over de achttien. Veelgesproken talen komen er het best uit.
De indeling beweegt niet mee
Dit is het stuk waar mensen op stuklopen, en het is beter te begrijpen dan te bevechten.
Zet je een bepaalde taal, dan schuift alles samen mee: de toetsenbordindeling, het woordenboek dat de autocorrectie gebruikt, en de taal van het inspreken. Die inrichting past bij een middag die je in één taal doorbrengt, omdat typen en inspreken het dan met elkaar eens zijn.
Laat je hem op automatisch staan, dan volgt het inspreken je stem maar blijft de indeling waar hij stond. Dat moet ook, want de indeling staat op het scherm voordat je iets gezegd hebt. Een toetsenbord kan onmogelijk weten welke taal je zo gaat spreken.
Praktisch betekent dat het volgende. Staat je toetsenbord op Nederlands en spreek je een Engelse zin in, dan komt er Engelse tekst op een Nederlandse indeling te staan. Lezen en versturen kan gewoon. Ga je er daarna met de hand in verbeteren, dan kijkt de Nederlandse autocorrectie mee en haalt die je Engelse woorden weer onderuit. Op dat moment loont het om de taal alsnog om te zetten.
Het advies luidt dus: automatisch op dagen waarop je veel inspreekt en voortdurend wisselt, en een vaste taal wanneer je in een van de twee net zoveel gaat typen als praten.
Een routine voor een tweetalige dag
Zet een taal vast als je erin gaat zitten werken. Is je hele middag in één taal, kies hem dan met de hand. Je bespaart jezelf de correcties die een woordenboek uit de andere taal in je zinnen aanbrengt.
Laat hem op automatisch als je tussen gesprekken heen en weer gaat. Bij korte antwoorden aan verschillende mensen kost een uitstapje naar het menu je meer tijd dan een enkele zin die je overdoet.
Zeg hele zinnen, en houd elke opname in één taal. Daarmee vang je het merendeel van de vier fouten hierboven af, en het kost je niets.
Voeg namen uit allebei de talen één keer toe. Een tweetalig leven zit vol eigennamen die bij de ene taal horen en in de andere gebruikt worden: familienamen, straatnamen, de naam van je werkgever. Die toevoegingen blijven op je telefoon en gaan als context naar het spraakmodel, zodat ze goed uit de bus komen ongeacht welke taal eromheen staat.
Lees de eerste regel terug voordat je verstuurt. Een zin die in de verkeerde taal is opgeschreven ziet er verzorgd uit, want de woorden zijn correct gespeld; alleen zijn het niet jouw woorden. Eén blik is genoeg om dat te zien.
Doe dat toevoegen voordat je de app beoordeelt. De fouten die je in de eerste dagen het meest opvallen zijn bijna allemaal eigennamen die van de ene taal naar de andere oversteken, en die kun je zelf verhelpen.