Hoewel je het gezien de games op het eerste gezicht niet zou verwachten, draait Kinect, de nieuwe bewegingsbesturing van Microsoft, om meer dan alleen het besturen van games met de armen en benen. Ook spraak speelt een grote rol in het simpeler en knoploos maken van de interactie met de console.  Zo zagen we bij de introductie van Kinect al een demonstratie van Peter Molyneux’ project Milo & Kate, waarin de speler kan praten met een klein jongetje, en werd op de afgelopen E3 getoond hoe het Xbox 360 Dashboard met simpele commando’s als “Xbox Start Game” zonder tussenkomst van een controller volledig aangestuurd kon worden.

Niet alle talen

Jammer genoeg is juist die spraakherkenning een feature waar wij Europeanen, met uitzondering van de Britten, op zullen moeten wachten. Microsoft heeft namelijk besloten om Kinect slechts te voorzien van vier werkende talen, Amerikaans-Engels, Brits-Engels, Japans en Mexicaan-Spaans. Zelfs een normale Spanjaard kan die laatste optie niet gebruiken omdat Mexicaans dusdanig veel verschilt van het normale Spaans dat de spraakherkenning slechts zou werken met een dik aangezet accent. En mocht die Spanjaard dat kunnen nabootsen, dan nog kan hij het niet gebruiken omdat Microsoft heeft besloten de taalmogelijkheden regiogebonden te maken.

Toch is deze kritiek niet geheel terecht. De techniek is er simpelweg niet naar om iedere taal ter wereld out-of-the-box te ondersteunen. Spraakherkenning omzetten naar een andere taal is namelijk veel ingewikkelder dan simpelweg alle woorden vertalen. Spraakherkenning, of feitelijk iedere vorm van automatische taalherkenning, vraagt namelijk meer van computers  dan je op het eerste gezicht zou denken. De manier waarom computers omgaan met informatie is immers anders dan de werking van een menselijk brein. Computers verwachten namelijk exacte data, terwijl taal interpreteren afhankelijk is van context. En dus kan een computer maar met grote moeite de goede betekenis inschatten van een woord dat twee of meer definities heeft.

Corpus en kansberekening

De meeste spraakherkenning bestaat uit twee stappen. Eerst wordt de geluidsopname omgezet in zogenaamde fonemen. Fonemen zijn de kleinste stukjes waaruit menselijke spraak bestaat, vergelijkbaar met de letters in het alfabet. Toch verschillen fonemen van letters De ‘a’ in bakker klinkt bijvoorbeeld anders dan de ‘a’ in baken en is daarom ook een ander foneem. Vervolgens moet een computer getraind worden om de fonemen om te zetten naar echte zinnen. Dat wordt gedaan met behulp van een corpus, een verzameling van duizenden woorden en zinnen en hun betekenis. Dankzij ingewikkelde wiskunde kan een computer zo uit alle fonemen de woorden kiezen die de spreker vermoedelijk heeft gezegd. Om de uitgesproken zinnen begrijpelijk te maken moet de computer ook hele zinnen interpreteren. Hierbij wordt de corpus gecombineerd met grammatica, zodat de spraakherkenning kan bepalen of er sprake is van bijvoorbeeld een werkwoord of een zelfstandig naamwoord. Pas als de hele zin begrepen wordt kan de computer de relevante informatie die erin zit verwerken.

Zelfs met een perfect woordenboek en grammaticaherkenning zitten er echter haken en ogen aan spraakherkenning. Er moet namelijk rekening gehouden worden met het feit dat mensen woorden verbasteren in het snelle uitspreken, soms stopwoorden tussen hun zinnen gebruiken of dat een woord door een achtergrondgeluid niet goed opgenomen kan worden. Een echt goede spraakherkenning kan dan, ook weer met behulp van de corpus en een kansberekening, bepalen welk woord er waarschijnlijk gezegd werd.

Het probleem van spraakherkenning zit hem in het woord waarschijnlijk, want een computer is afhankelijk van de corpus die hij mag gebruiken. En dus moet er voor iedere taal die de spraakherkenning ondersteunt een aparte corpus aangemaakt worden. Omdat het verschil tussen talen bestaat uit een aparte woordenschat, grammatica en vaak zelfs klanken, betekent dit dat een corpus per taal compleet verschilt. Als de corpus van de Nederlandse taal per woord vertaald zou worden, zou de spraakherkenning perfect steenkolenengels aankunnen, maar weinig bruikbaar zijn voor echte Engelssprekenden.

Keuzes

En dus restte Microsoft twee keuzes. Enerzijds had ze bij de ontwikkeling van Kinect kunnen kiezen om voor iedere taal alvast een eigen corpus te gaan ontwikkelen, die niet geoptimaliseerd zou zijn voor Kinect. Anderzijds kon het bedrijf zich specifiek richten op het ondersteunen van één of hooguit een handvol talen en zorgen dat deze optimaal werkten met Kinect. Door voor de tweede keuze te gaan heeft Microsoft meer tijd gehad om Kinect echt te laten werken met spraak, in plaats van slechts gedeeltelijk - zoals de spraakherkenning op mobiele telefoons.

Dat wil overigens niet zeggen dat de uitgever alles optimaal heeft aangepakt. Want hoewel het geen goede keuze zou zijn om Kinect nu nog uit te stellen, totdat alle corpussen voor andere talen beschikbaar zijn, had betere tijdsplanning misschien genoeg ruimte geboden om ook de andere talen tijdig te ondersteunen. Het ontwikkelen van de cameratechnieken van Kinect staat immers los van de ontwikkeling van de spraakherkenning en het mag worden aangenomen dat de eerste techniek meer tijd heeft gekost.

Mag ik dat zeggen?

Bovendien is nog altijd onduidelijk hoe geavanceerd de spraakherkenning van Kinect precies is. We weten dat de microfoon in staat is om van grote afstanden de stemmen van mensen te onderscheiden van andere geluiden, maar over de diepgang van de spraakherkenning is nog weinig bekend. Zo wordt het Dashboard voorlopig alleen nog maar aangestuurd door vaste commando’s, maar kan bijvoorbeeld Milo mogelijk veel meer gespreksopties aan waar echte spraakherkenning voor nodig is. Mocht er enkel sprake zijn van simpele spraakcommando’s dan lijkt het uitstellen van andere talen onnodig. Toch wachten wij liever iets langer op een goede ondersteuning van de Nederlandse taal, want zonder een goede corpus zal mogelijk niemand Milo in beweging kunnen krijgen. En ook al werkt het bij de Britten, met steenkolenengels kom je bij Kinect nergens.