PCM-artikel juli/augustus 1999

Bij spraakherkenning wordt een analoog spraaksignaal dat via de microfoon binnenkomt ongeveer honderd keer per seconde gesampled en vervolgens door middel van speciale filters omgezet in een frequentiespectogram. Het idee hierachter is dat stemgeluid is op te delen in gedeelten met hoge en lage frequentie. Is er eenmaal een Op basis van dit frequentiespectogram voorhanden, dan dient er te moet worden vastgesteld uit welke basisgeluiden spraakklanken ofwel fonemen de input is opgebouwd. Dit geschiedt met behulp van zogenoemde Hidden Markov Models (HMM), een verzameling statistische methoden modellen die de kans kunnen berekenen dat we met een bepaald foneem te maken hebben berekenen. Voor elke spraakklank of foneem – in totaal tussen de veertig en vijftig per taal - heb je een HMM. In principe kan worden volstaan met het moduelleren van alle Nederlandse spraakklanken. Je zou ook per woord kunnen moduelleren, maar erg handig is dat niet, want dan kom je bij het gemiddelde spraakherkenningspakket al gauw aan de 30.000 modellen.

Vervolgens moet worden vastgesteld met welk woord(en) de foneemhypothesenhet spectogram zouden kunnen corresponderen. Hier komt opnieuw de statistiek om de hoek kijken: op verschillende wijzen er wordt berekend wat de kans op bepaalde woorden en woordopeenvolgingen is, waarna de meest waarschijnlijke optie uit de bus rolt.

Niet bij syntaxis alleen

Vanuit taalkundig oogpunt staan we dan pas aan het begin, en stuiten we op struikelblokken die ook vertaalprogramma’s parten spelen. Want voor een echt goede interpretatie is een semantische analyse en (daaraan verwant) een pragmatische analyse nodig: in welke context is de bewuste uiting gedaan? En hoe zit het met de zogenoemde ‘kennis van de wereld’, voor een mens vanzelfsprekend, maar voor een computer niet?

Over deze en aanverwante problemen, de utopie van een honderd procent herkenning en de akoestische modellen en taalmodellen die aan spraakherkenning ten grondslag liggen spreken we met de medewerkers Steven Krauwer en Gerrit Bloothooft van het Utrechtse Onderzoeksinstituut voor Taal en Spraak (UiL-OTS).

Modellen

De kwaliteit van een spraakherkenningsprogramma staat of valt volgens Bloothooft met die van het achterliggende taalmodel en akoestische model. Een taalmodel bekijkt aan de hand van ingesproken rapporten en andere teksten de kans op opeenvolging van woorden.

"Een corpus van 30.000 à 60.000 woorden is vrij standaard voor een dicteersysteem. Het gaat erom de kans op woordcombinaties te berekenen. Gaan we uit van dertigduizend woorden, dan heb je al ongeveer een miljard mogelijke woordcombinaties. Gaat het om combinaties van drie of meer woorden, dan wordt oneindig zijn het er onwerkbaar veel.

Voor je überhaupt iets kunt zeggen over de kans op bepaalde woorden moet je echter hypothesen over woorden hebben, en die zijn vastgelegd in het zogenoemde akoestische model. Er zijn bijvoorbeeld modellen die beschrijven hoe de letter A spraakklank 'aa' eruit kan zietn, qua frequentiespectrum, qua componenten. Iedere menselijke stem heeft zijn eigen klankkleur en uitspraak, en dat betekent dat er veel training over verschillende sprekers vereist is om een redelijk basismodel te krijgen. Tijdens de ‘bijleerfase’ daarna hoeft alleen rekening te worden gehouden met de variatie van de stem van de gebruiker. Maar aAls het basismodel al niet goed is – omdat te weinig mensen hebben ingesproken bijvoorbeeld, dan wordt het nooit wat. Verder moet de samenstelling van de sprekers uitgebalanceerd zijn. Dus goed onderverdelen naar bevolkingsgroepenherkomst, leeftijd, sociale klassen etcetera. En daarna is het een kwestie van het wegstrepen van mogelijkheden."

Krauwer: "De kunst van het spraakherkennen is snoeien, in feite."

Bloothooft: "De hypothesen wordent dus in eerste instantie vanuit de akoestiek gegenereerd, waarna er een taalmodel op wordt losgelaten voor de inperking. Hier is nog geen linguïst aan te pas gekomen. Louter signaalverwerkers, fonetici en statistici. De huidige systemen kijken eigenlijk alleen naar woordvolgorde. Na een lange pauze wordt het voorafgaande als een afgerond geheel beschouwd."

Keuze te over

Krauwer: "Het is gebleken dat je op basis van hele naïeve taalmodellen, statistische opeenvolgingsmodellen al een aardig resultaat kunt boeken. Van syntactische analyse is dan nog geen sprake. Toch heb je een zekere mate van syntactische analyse nodig, als je wilt kunnen uitmaken of het ‘hij word’ of ‘hij wordt’ is. Wat is het onderwerp, hoe is de zin opgebouwd? Welke zin je ook verzint, er zijn altijd tientallen analyses mogelijk. Je kunt niet tegen zo’n systeem zeggen: hier heb je twintig analyses, kies er maar de goede uit. En dan ben je er nog niet: voor een echt goede interpretatie zijn kennis van de wereld plus statistische kennis onontbeerlijk. Maar er is enorm veel materiaal nodig om goede statistische gegevens over taalgebruik te verkrijgen. Als ik zeg: ‘De soldaten schoten op de vrouwen. Ze vielen dood neer’, dan begrijpen wij op wie die ‘ze’ terugslaan, op basis van onze kennis van de wereld. Een vertaal- of spraakherkenningsprogramma niet, en ik zou absoluut niet weten hoe je zoiets op een systematische manier zou kunnen coderen.

Bloothooft: "Een mens kiest vaak de goede hypothese op het juiste moment. Maar uit welke hypothesen moet een systeem kiezen? Was het nou het ‘thee’ of ‘twee’? Levert een statistische opeenvolging van woorden in die omgeving mij voldoende informatie op om te kiezen voor een van de twee?"

Krauwer: "Maar we schetsen het nu alsof het een hopeloos probleem is. Zo somber zie ik het ook weer niet. Ambiguïteiten lopen drastisch terug in aantal als je meer weet over het domein waarin een uiting wordt gedaan. Een paard kan een beest zijn, een stuk op een schaakbord of een toestel in de gymzaal. Maar zodra we het over gymnastiek hebben, is er geen twijfel meer over de betekenis van het woord paard.

Bloothooft: "En ingewikkelde woorden zijn juist gemakkelijk te herkennen, omdat ze veel meer aanknopingspunten bevatten. Daarentegen kun je bij een dicteerprogramma voor de consument heel wat domeinen aanspreken."

Krauwer: "Als ik zo’n programma gebruik om een brief aan Tante Miep te dicteren, en een bezwaarschrift aan de Belastingdienst… het zou me verbazen als een systeem daar altijd de juiste keuze maakt. Naarmate domeinen groter en gevarieerder worden, zullen systemen moeizamer functioneren."

En dat betekent dat de software extra training behoeft om tot een goed resultaat te komen. Zijn mensen wel bereid uren of zelfs dagen werk daarin te steken?

Bloothooft: "Wat is acceptabel? Een half uurtje heb je al gauw bij elkaar gekletst."

Krauwer: "Het is niet zozeer wat het kost, maar wat je ervoor terugkrijgt. Mensen zijn bereid om veel geld en tijd in autorijlessen te steken. Ze doen dat omdat wat ze ervoor terugkrijgen heel prettig is. En dat geldt ook voor mensen voor wie een spraakherkenningsprogramma echt een uitkomst is, zoals gehandicapten."

Hoofd- en bijzaken

Is honderd procent herkenning dan een utopie?

Krauwer: "Als je honderd taalkundigen om een syntactische analyse van een willekeurige Nederlandse zin vraagt zijn ze het in grote lijnen met elkaar eens. Vraag je diezelfde groep om een semantische analyse, dan krijg je honderd verschillende antwoorden. Er bestaat namelijk geen universele semantische representatietheorie. Maar die is ook niet echt nodig. Als je bijvoorbeeld een dialoogsysteem voor treininfo wilt maken dan is een goede syntactische of semantische analyse totaal onbelangrijk. Een dergelijk systeem hoeft slechts de kernwoorden eruit te halen. En het systeem van de Spoorwegen is mij eigenlijk meegevallen.

Bloothooft is een stuk sceptischer: "Het aantal manieren om informatie te vragen gaat eenieders fantasie te boven, en dat moet dus getest worden. Aan de ene kant moet zou het systeem gebruiksvriendelijk moeten zijn en de gebruiker veel vrijheid van spreken moeten laten, maar vooralsnog wordt het beste resultaat bereikt door moet de klant gestructureerd vragen te stellenworden gesteld. En dat kost weer veel tijd."

Krauwer: "Ach, ook in het dagelijks leven gaat er wel eens iets mis en verstaan we elkaar niet altijd. Veel belangrijker is of de transacties we willen plegen tot stand komen. Of we elkaar helemaal begrijpen, doet er niet zo veel toe. Mijn adagium is: als mensen al onderhandelend via een vertaalsysteem of spraakherkenningssysteem tot de juiste transactie komen, dan is dat systeem succesvol. Of het perfect werkt is helemaal geen interessante vraag. Ik ben er eigenlijk heel optimistisch over."