"Siri, hoe is het weer vandaag?" "Oké, Google, zet de muziek zachter!" "Alexa, bestel nog een paar van die blauwe sneakers!". Spraakassistenten met een technologie die reageert op gesproken instructies, maken al lang deel uit van het dagelijks leven. Complexe softwareprocessen draaien op de achtergrond en zorgen ervoor dat de besturing met gesproken instructies zonder problemen verloopt. De juiste interpretatie van gesproken instructies vereist veel voorbereidend werk, krachtige computers en, niet in de laatste plaats, kunstmatige intelligentie.
Een eenvoudig verzoek, een korte zin – het menselijk brein interpreteert gemakkelijk wat er bedoeld wordt, legt de verbinding en zet een bijpassende reactie in gang. Voor een machine ligt dat allemaal veel complexer. Om technische apparaten met spraak te kunnen bedienen, moeten vele individuele stappen worden genomen.
"Geef me een pen!" – een zeer eenvoudige opdracht, die de computer op de achtergrond nogal bezighoudt. Eerst woordt de gesproken zin omgezet in tekst. De spraakherkenningssoftware moet aan de hand van frequentiepatronen herkennen welke woorden in de zin staan. En dat alleen al is een hele uitdaging: onduidelijke uitspraak, identieke woorden met verschillende betekenissen, verschillende accenten of dialecten. Door de vergelijking met uitgebreide databases waarin talloze woordvoorbeelden en hun frequentiepatronen zijn opgeslagen, ontsleutelt de software om welke woorden het gaat.
In de volgende stop moet ook de betekenis van de zin ontsleuteld worden. Daartoe stuurt de software de tekst naar een taalinterface waar deze wordt gecontroleerd op bepaalde sleutelwoorden. Vooraf moet de programmeur alle noodzakelijke termen en bevelen – de zogenaamde intens – en de synoniemen ervan definiëren, en bepalen welke actie achter elk van hen schuilgaat. Bijvoorbeeld, "geef" wordt erkend als het verzoek om een object naar een bepaalde plaats te vervoeren, het woord "me" wordt begrepen als een persoon of als een doel van de actie.
Als de interface de betekenis van de zin heeft herkend, wordt een zogenaamd contextobject uitgegeven: een softwarecode waarmee de besturing van het apparaat kan werken. Om de machine duidelijke instructies voor actie te geven, komt nu "kunstmatige intelligentie" met andere software in het spel. Deze evalueert de inhoud van het contextobject en ontvangt tegelijkertijd van verschillende sensoren informatie over de positie en de omgeving van het apparaat. De software bevat bouwstenen voor verschillende oplossingen die aan specifieke acties zijn toegewezen.
Op basis van al deze informatie construeert het programma een opdracht, bijvoorbeeld over hoe en waar een grijperarm zich moet bewegen en stuurt deze naar controller van het apparaat wordt gestuurd. De sensoren detecteren dus waar de pen op het bureau ligt en welk traject de machine moet volgens om de pen op te pakken en aan een persoon te overhandigen. De software leert geleidelijk aan welke oplossing de beste is voor elke actie en past deze kennis toe op de volgende actie.
Al deze complexe processen moeten in fracties van een seconde plaatsvinden, omdat men verwacht dat de machine snel en vooral correct reageert. Hoewel spraakherkenning na meer dan 30 jaar gebruik al relatief goed werkt, is er nog steeds veel onderzoek en ontwikkeling achter de spraaksturing van machines – totdat we op een gegeven moment net zo natuurlijk met een machine kunnen praten als met onze buren.