Hét taalkundige artikel dat de laatste tijd waarschijnlijk het meest besproken is door taalkundigen heet One model for the learning of language van Yuan Yang en Steven Piantadosi. Op de sociale media, in de koffiekamers, op Zoom, overal heb ik al over dit artikel gehoord. Tegelijkertijd heeft volgens mij geen niet-taalkundige over het artikel gehoord: er is geen nieuwsmedium, geen wetenschapswebsite en geen populair-wetenschappelijk tijdschrift dat erover geschreven heeft.
De bevinding van het artikel is dan ook nogal technisch: De auteurs maakten een computerprogramma dat een zeer groot aantal talen vrij moeiteloos kon leren. Je gaf het een aantal voorbeelden in de taal en vervolgens kon het ook over nieuwe voorbeelden die het niet eerder had gezien correct zeggen of ze wel of niet tot die taal behoorden.
Op het eerste gezicht zijn die talen tamelijk absurd. In één zo’n taal zijn de volgende zinnen bijvoorbeeld grammaticaal: a b c; aa bb cc; aaa bbb ccc; aaaa bbbb cccc. De volgende zinnen zijn niet grammaticaal: a bb c of aa b cccc. Ik neem aan dat u eigenlijk nu al weet dat aaaaa bbbbb ccccc ook een zin is van deze taal, maar aaa bbbbb cccc niet. Iedere zin in deze taal bestaat uit een aantal a’s, b’s en c’s, en wel precies hetzelfde aantal.
Blauwdruk
Er is geen menselijke taal die ook maar bij benadering die eigenschap heeft, maar het is een soort speelgoedversie voor iets dat talen wel hebben: lange afstandsrelaties. In ‘honden die luid blaffen, rennen door de tuin’ staan honden, blaffen en rennen allemaal in het meervoud; in De hond die luid blaft, rent door de tuin staan hond, blaft en rent allemaal in het enkelvoud. Je kunt die vormen niet mengen (honden die luid blaft, rennen door de tuin): als je op plaats 1 in de zin een bepaalde keuze maakt, moet je op plaats 2 en 3 dezelfde keuze maken. Precies als in de a b c-taal.
Yang en Piantadosi laten in hun artikel zien dat speelgoedtalen met een groot aantal bekende ingewikkelde eigenschappen van zinsbouw in echte talen echt geleerd konden worden, en wel door computers die weinig achtergrondkennis hebben. Dat is, zeggen Yang en Piantadosi, een belangrijk argument in een van de heftigste discussies in de taalwetenschap: de vraag of mensen geboren worden met een specifieke verzameling talenten om taal te leren, een soort aangeboren blauwdruk voor hoe taal eruit zal zien. Als een computer taal kan leren zonder zo’n blauwdruk, dan kunnen kinderen dat misschien ook.
Speelgoedtaaltjes
Nu kon je dat argument al maken op basis van de gigantische taalmodellen die Google bijvoorbeeld gebruikt voor Google Translate. Want ook die maakt over het algemeen grammaticale nieuwe zinnen in talen die het niet kent en die het ook zonder blauwdruk geleerd heeft. Alleen hebben die modellen onwaarschijnlijke hoeveelheden voorbeelden uit de te leren taal nodig: volgens sommige berekeningen net zoveel als een mens in tachtig jaar tijd te horen krijgt. Bovendien vreten ze energie. De vraag is dan dus of het niet efficiënter kan.
Het programma van Yuang en Piantadosi heeft meestal maar een paar honderd voorbeelden nodig om een taal in de vingers te krijgen. Nu zijn al die talen dus wel wat simpeler dan bestaande talen, die een heleboel complicaties combineren. Maar het onderzoek biedt wel een duidelijk vooruitzicht op een systeem dat het echt zal kunnen. Dat is de oorzaak van de felle discussies: weten we door deze speelgoedtaaltjes nu echt dat een computer, en dus een mens, echte talen kan leren?
Handiger
Ik heb de indruk dat de discussie door artikelen als dit langzamerhand verlegd wordt naar andere gebieden. Er is in ieder geval naar mijn idee een heel ander type argument voor het aangeboren taalvermogen: dat talen, hoe verschillend ze ook zijn, toch zo op elkaar lijken. Dat er bijvoorbeeld geen aaa bbb ccc-talen zijn in de echte wereld. Met andere woorden: dat computers eigenlijk meer en ingewikkelder talen kunnen leren dan mensen.
Dat argument is wat ingewikkelder – je moet dan vaststellen dat er inderdaad eigenschappen zijn die alle talen met elkaar delen en daar is lang niet iedereen het over eens. Vervolgens moet je ook nog eens alternatieve verklaringen – talen hebben dingen met elkaar gemeen omdat ze een gemeenschappelijke oorsprong hebben of omdat sommige eigenschappen nu eenmaal handiger zijn dan andere – uitsluiten en dat is niet bepaald gemakkelijk.
Berthold van Maris zegt
“Een computerprogramma dat een zeer groot aantal talen vrij moeiteloos kon leren?”
Is dat niet wat al te fors geformuleerd?
Marc van Oostendorp zegt
Lees het oorspronkelijke artikel.
JamesSjaalman zegt
Die aabbcc – talen zijn inderdaad iets te symplistisch. Waarom niet (dialecten van) computertalen nemen als proefkonijn? Die liggen kwa eigenschappen ietsje dichter bij natuurlijke taal. Kennen zelfs recursie en een soort van PoS (datatypes! Keywords! Literals! Demiters! Operators!). En de resulterende semantische constraints.
Marc van Oostendorp zegt
Computationeel gezien zijn computertalen over het algemeen nogal eenvoudig. Dat is ook logisch, want je wil als programmeur natuurlijk niet de computer belasten met onnodige complexiteit vanwege de taal die je gebruikt. Het lijkt mij dat een computer alle bestaande programmeertalen eigenlijk wel zou moeten kunnen leren.
JamesSjaalman zegt
Vergelijkbaar met de aabbcc – constructie is bijvoorbeeld het SQL-construct:
INSERT INTO foo(a,b,c)
SELECT x,y,x FROM bar;
Ook hier moeten de lijsten {a,b,c} en {x,y,z} overeenstemmen in kartinaliteit (en type).
Maar er zitten wel twee tokens tussen, en bovendien kunnen x,y,z expressise zijn, of zelfs scalaire subqueries.
Echte parsers stellen deze check uit tot de semantische analyse of de codegeneratie.
Maar dit automatisch -zonder voorkennis- afleiden (uit een corpus van valide programmaas) lijkt me iets lastiger dan het aabbcc-voorbeeld.
Berthold van Maris zegt
He Sjaalman,nog altijd actief! Ook in de Stichtse Taveerne?
Berthold van Maris zegt
Ooo nnn zzz iii nnn.