Sprekende en luisterende computers |
Title: Sprekende en luisterende computers
Author(s): Helmer Strik & Johan Koolwaaij
Reference: Natuur & Techniek, Natuurwetenschappelijk & Technisch maandblad, 66e jaargang, nr. 9, sept. 1998, pp. 10-19.
Keywords: Speech Recognition
Spraakherkenning en spraaksysnthese zijn voorbeelden van taal- en spraaktechnologie. Uiteindelijk moeten deze technieken een vloeiend gesprek tussen mens en machine mogelijk maken. Zo'n systeem noemt men een gesprokendialoogsysteem. Denk hierbij bijvoorbeeld aan Captain Kirk uit de film Star Trek, die regelmatig met zijn boordcomputer praat. Inmiddels zijn gesproken-dialoogsystemen, die aanvankelijk alleen in science-fictionfilms voorkwamen, werkelijkheid geworden.
Om een dialoog te kunnen voeren moet de computer allereerst in staat zijn de gesproken vraag te herkennen. Uiteraard herkent de computer alleen de woorden die in zijn woordenboek staan. Het nieuwe spraakherkenningssysteem van IBM, ViaVoice, beschikt bijvoorbeeld, afhankelijk van de toepassing, over een woordenschat tot ruim 128.000 woorden. Zo'n woordenboek bevat van ieder woord twee vormen: ten eerste de orthografische vorm, oftewel het woord zoals het wordt geschreven, en ten tweede het woord zoals het wordt uitgesproken. Dit is een reeks van foneemsymbolen, en heet daarom een foneemtranscriptie. Ieder foneemsymbool staat voor een bepaalde klank.
(C) Natuur & Techniek Figuur 1. Het proces van spraakherkenning grafisch weergegeven. Het proces van spraakherkenning grafisch weergegeven: het woord computer'. Op de horizontale as staat steeds de tijd, verticaal van boven naar beneden allereerst het spraaksignaal, vervolgens een spectrale analyse, waarbij paars via rood en oranje tot geel een toenemende energie in het betreffende frequentiegebied aangeeft, daaronder de foneeminterpretatie en onderaan de orthografische interpretatie. |
In de herkenningsfase wordt tot slot geprobeerd een onbekende uiting te herkennen. De spraakherkenner genereert alle mogelijke opeenvolgingen van woorden. Omdat van te voren niet bekend is uit hoeveel woorden een zin bestaat, is het aantal hypothesen gigantisch groot, zeker als de herkenner over een grote woordenschat beschikt. Gelukkig scoort de spraakherkenner alle hypothesen van begin af aan, dat wil zeggen dat het bepaalt hoe waarschijnlijk iedere hypothese is gegeven het binnenkomende (onbekende) signaal. Hiervoor maakt het programma weer gebruik van het Viterbi-algoritme, dat de optimale oplijning en de bijbehorende kans bepaalt. Het merendeel van de hypothesen blijkt dan al na een paar stappen zoveel minder waarschijnlijk te zijn dan de favorieten, dat ze zonder enig gevaar uit de lijst van mogelijke oplossingen kunnen worden geschrapt. Op die manier blijven geheugenbeslag en rekentijd voor het scoren van de hypothesen binnen redelijke grenzen. Dit is belangrijk omdat een spraakherkenner in de praktijk real-time moet werken. Uiteindelijk valt de keuze op de opeenvolging van woorden met de grootste kans zo heeft de computer de aangeboden zin verstaan.
Ofschoon je op deze manier tot de gewenste informatie kunt komen, vinden veel bellers dit een omslachtige en onnatuurlijke manier. Wat je het liefst zou willen zeggen is: "Wat is de waarde van mijn Opel Astra uit 1994?" In dat geval zul je een dialoogstrategie moeten gebruiken die gemengd-initiatiefdialoog genoemd wordt, omdat zowel het systeem als de beller het initiatief kunnen nemen. Dit is dus niet het geval bij een menugebaseerd systeem waar het systeem altijd het initiatief neemt door vragen te stellen waarop de beller alleen zeer specifieke antwoorden kan geven. Het Openbaar Vervoer Informatie Systeem voert een gemengd-initiatiefdialoog.
Het werken met opgenomen boodschappen is ondoenlijk als de hoeveelheid tekst heel groot is. In dat geval biedt de zogenaamde spraaksynthese uitkomst. Een mooi voorbeeld is de elektronisch leesbare krant. Zo verstrekt het Centrum voor Gesproken Lektuur in Grave voor visueel gehandicapten elektronische versies van kranten. De gebruiker haalt via de telefoonlijn de digitale versie op de eigen computer binnen. Via speciale software en spraaksynthese kan hij vervolgens de krant beluisteren.
(C) Natuur & Techniek Tabel 1. Fonemen. Fonemen, of spraakklanken, zijn de bouwstenen van de spraak. OVIS is getraind in bovenstaande 35 fonemen. Links steeds de foneem, rechts een voorbeeld van een woord waarin de klank voorkomt. |
Voor toepassingen in bijvoorbeeld beveiliging is alleen het herkennen van gesproken tekst niet voldoende. De identiteit van de spreker moet ook op basis van zijn spraak worden vastgesteld. Een toepassing die binnenkort zeker gebruikt gaat worden, is telefonisch thuisbankieren. De klant noemt zijn rekeningnummer en pincode, de spraakherkenner herkent dit, weet dan wiens rekening het betreft en controleert of de spraak die van de rekeninghouder is. Een andere toepassing van spraakherkenning en sprekerverificatie is stemgestuurde toegangscontrole: de deur van een ruimte gaat alleen open als de juiste persoon de juiste boodschap uitspreekt.
Bij Openbaar Vervoer Reisinformatie is het OVIS gesproken-dialoogsysteem al operationeel en talrijke andere toepassingen zullen spoedig volgen. In de toekomst zal het steeds vaker gebeuren dat je niet alleen tussen neus en lippen door iets tegen een machine zegt, maar dat hij je ook nog eens begrijpt.
Appendix 1: Praten met een computerReizigers met het openbaar vervoer kunnen voor vertrek- en aankomsttijden bij een informatienummer terecht. Wie wil, kan zich daarbij door een computer te woord laten staan.Wie in Nederland Openbaar Vervoer Reisinformatie belt (0900 9292) krijgt meestal een telefonist(e) van vlees en bloed aan de lijn. Van middernacht tot 6 uur s ochtends en bij wachttijden van meer dan 30 seconden wordt de beller door een computer met spraakherkenning te woord gestaan: het Openbaar Vervoer Informatie Systeem (OVIS). Van de 30.000 tot 35.000 telefoontjes die Openbaar Vervoer Reisinformatie dagelijks te verwerken krijgt, worden er momenteel zo'n 3500 door de computer afgehandeld. Systeem: "Van welk station naar welk station wilt u reizen?" De openingszin is belangrijk. Zou het systeem gewoon "goedemorgen" zeggen, dan zijn mensen geneigd om allerlei lange verhalen te gaan vertellen. Als de dialoog daarentegen begint met een gerichte vraag, geven de bellers vaker een bondig antwoord zoals bijvoorbeeld: Gebruiker: "Ik wil morgen van Maarn naar Amsterdam." De spraakherkenner zet het spraaksignaal om in een woordreeks. De natuurlijke-taalverwerkingsmodule zoekt naar concepten in de herkende woorden. In dit geval vindt hij de concepten morgen', Maarn' en Amsterdam'. De dialoogcontrolemodule slaat deze informatie op en kijkt of er nog iets ontbreekt. In dit geval ontbreekt het tijdstip van vertrek of van aankomst. Omdat de door de beller gegeven informatie nog niet compleet is, moet het systeem om aanvullende gegevens vragen. De dialoogcontrolemodule formuleert de vraag (in tekstvorm). De spraakgenerator zet deze vraag (tekst) om in spraak. Deze gesproken vraag wordt via de telefoon naar de gebruiker gestuurd. Systeem: "Hoe laat wilt u morgen van Maarn naar Amsterdam reizen?" Gebruiker: "Ik wil morgenavond om acht uur vertrekken." De spraakherkenner herkent weer de woorden en de natuurlijke-taalverwerkingsmodule zoekt naar concepten. In dit geval morgenavond' en om 8 uur'. Ofschoon eerder al morgen' herkend was, is het concept morgenavond' toch nog belangrijk, namelijk om te weten of de gebruiker om 8 uur 's morgens of 's avonds wil vertrekken. De dialoogcontrolemodule ziet dat de vraag nu compleet gespecificeerd is, zoekt het antwoord op in het gegevensbestand en formuleert het antwoord (in tekstvorm). De spraakgenerator zet het antwoord weer om in klanken, die via de telefoon naar de gebruiker worden gestuurd. Tenslotte vraagt het systeem of de gebruiker nog andere informatie wil. Als de gebruiker ontkennend antwoordt, bedankt het systeem voor het gebruik en verbreekt het de verbinding. |
Intermezzo: SprekerverificatieAutomatische sprekerverificatie is het door een computer verifiëren van de identiteit van een persoon aan de hand van zijn of haar stemkarakteristieken. Net zoals mensen moet de computer eerst iemands stem leren kennen voordat hij de stem kan herkennen. Tijdens het kennismakingsproces legt de computer de stemkarakteristieken vast in een sprekermodel op basis van een ingesproken tekst. Het model dat de beste prestaties levert bij spraakherkenning, namelijk het statistische hidden Markov model, werkt ook het beste bij sprekerverificatie. Bij sprekerverificatie wordt iedere stemkarakteristiek beschreven door een gemiddelde en een variantie.Is er eenmaal zo'n model, dan is de computer in staat de stem te herkennen. In de herkenningfase claimt een onbekende persoon X de identiteit van A (door bijvoorbeeld zijn rekeningnummer of pin-code te noemen). De computer vergelijkt de spraak van X met het sprekermodel van A en het automatische sprekerverificatiealgoritme geeft dan als output: met een kans van p procent is persoon X dezelfde als A. Omdat de herkenner nooit 100% zeker is moet dan nog een drempelwaarde gekozen worden: bijvoorbeeld als de p groter is dan 80% dan beslist het systeem dat X dezelfde moet zijn als A. Verhogen we de drempelwaarde dan wordt het systeem meer inbraakbestendig, maar tegelijkertijd wordt de kans groter dat gebruikers onterecht worden geweigerd. De instelling van de drempelwaarde wordt grotendeels bepaald door de aard van de toepassing, maar de instelling zou bijvoorbeeld zo kunnen worden gekozen dat het percentage herkenningsfouten wordt geminimaliseerd. In testversies waar sprekerverificatie gebeurt met cijferreeksen (zoals rekeningnummers), is gebleken dat een foutenpercentage van minder dan 3% mogelijk is. Blijkbaar zijn stemkarakteristieken uniek genoeg om in een overtuigende meerderheid van de gevallen een correcte uitspraak te doen over de identiteit van een spreker. Wie het zelf eens wil proberen kan terecht op de spraak-beveiligde internetsite van de afdeling Taal en Spraak van de Katholieke Universiteit Nijmegen: http://lands.let.kun.nl/TSpublic/cave. Ir Johan Koolwaaij is verbonden aan de afdeling Taal & Spraak van de Katholieke Universiteit Nijmegen |