home > publications > a58b
Contact
Bel James, onze huiscomputer!
Helmer Strik
A2RT, Dept. of Language & Speech, University of Nijmegen
P.O. Box 9103, 6500 HD Nijmegen, The Netherlands

Informer, Officieel verenigingsorgaan van het "NGI, platform voor ICT-professionals", ISSN 1387-2796, nr. 6, juni 1999, blz. 7-9.

Bel James, onze huiscomputer!


Inleiding

Het is plotseling gaan sneeuwen en Monique staat in een lange file. Ze kijkt zenuwachtig op de klok. Opeens roept zij "bel naar huis", en de autotelefoon kiest automatisch het juiste nummer. De telefoon gaat tien keer over, maar niemand neemt op. "Vreemd", denkt ze. "Bel dan James, onze huiscomputer!" "Met James." "Zet de verwarming om acht uur aan, en neem vanavond de film Casablanca op." Als ze om negen uur thuiskomt doet haar man open en zegt tevreden: "Hoi, ik ben ook net thuis. Wat goed dat je de verwarming en de videorecorder al aangezet hebt."

In het bovenstaande verhaal worden twee toepassingen van taal- en spraaktechnologie gebruikt, namelijk een 'handen-vrij telefoon' en een 'gesproken-dialoogsysteem'. "Is dit toekomst of realiteit?", zult u zich wellicht afvragen. Wel, na lezing van dit artikel weet u het antwoord op deze vraag. In dit artikel zal ik eerst een beschrijving geven van een gesproken-dialoogsysteem. Vervolgens wordt uitgelegd hoe automatische spraakherkenning werkt, en enkele toepassingen worden genoemd.



Openbaar Vervoer Informatie Systeem

Op de afdeling Taal en Spraak van de Katholieke Universiteit Nijmegen wordt gewerkt aan de ontwikkeling van een gesproken-dialoogsysteem voor het Nederlands. Als concrete toepassing is in eerste instantie gekozen voor een Openbaar Vervoer Informatie Systeem (OVIS) dat automatisch via de telefoon het grootste gedeelte van de informatie kan verstrekken die in het spoorboekje van de Nederlandse spoorwegen (NS) te vinden is. Veel mensen zijn bekend met het reisinformatieprogramma van de NS (vaak reisplanner genoemd) dat beschikbaar is op floppy en op WWW. Bij dit programma moet je de vragen intypen en krijg je de antwoorden op je beeldscherm te zien. OVIS is de 'gesproken versie' van deze reisplanner omdat je tegen het systeem kunt spreken en de antwoorden te horen krijgt. Omdat je geen toetsenbord en beeldscherm meer nodig hebt, kun je OVIS simpelweg bellen met iedere telefoon.



Figuur 1. Architectuur van het Openbaar Vervoer Informatie Systeem.



De architectuur van OVIS is te zien in figuur 1. De database is vrijwel dezelfde als die van de zojuist genoemde reisplanner. Behalve deze database en een telefooninterface bestaat OVIS uit vier componenten. Hier volgt een voorbeeld van een fictieve dialoog met OVIS. Stel dat iemand OVIS opbelt.

OVIS: "Van welk station naar welk station wilt u reizen?"

De openingszin is belangrijk, want als gewoon 'goedemorgen' gezegd wordt, zijn mensen geneigd om allerlei lange verhalen te gaan vertellen. Als er echter begonnen wordt met een gerichte vraag, geven de bellers vaker een bondig antwoord zoals bijvoorbeeld:

beller: "Ik wil morgen van Nijmegen naar Tilburg."

De spraakherkenner zet het binnenkomende spraaksignaal om in een reeks woorden. De natuurlijke-taalverwerkingsmodule zoekt in de herkende woorden naar concepten, d.w.z. voor de applicatie belangrijke informatie eenheden zoals stationsnamen en tijdstip van vertrek of aankomst. In dit geval zal hij de concepten 'morgen', 'Nijmegen' en 'Tilburg' vinden. De dialoog-controlemodule slaat deze informatie op en kijkt of er nog iets ontbreekt. Bijvoorbeeld in het bovengenoemde antwoord ontbreekt tijdstip van vertrek of aankomst. Omdat de door de beller gegeven informatie nog niet compleet is, zal het systeem om aanvullende gegevens moeten vragen. De dialoog-controlemodule 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.

OVIS: "Hoe laat wilt u morgen van Nijmegen naar Tilburg reizen?"

beller: "Ik wil morgenavond om 8 uur vertrekken."

De spraakherkenner herkent weer 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 dialoog-controlemodule ziet dat de vraag nu compleet gespecificeerd is, zoekt het antwoord op in de database en formuleert het antwoord (in tekstvorm). Dit antwoord wordt met de spraakgenerator weer in spraak omgezet en naar de gebruiker gestuurd. Tenslotte vraagt het systeem of de gebruiker nog andere informatie wil. Als de gebruiker ontkennend antwoordt, bedankt het systeem voor het gebruik en wordt de verbinding verbroken.

Na uitgebreide tests is OVIS inmiddels in gebruik genomen. Wie Openbaar Vervoer Reisinformatie belt (0900-9292), krijgt meestal een persoon van vlees en bloed aan de lijn. Echter van middernacht tot 6 uur 's ochtends en bij wachttijden van meer dan 30 seconden krijgt men OVIS aan de lijn. In het derde kwartaal van 1997 werden van de 2.4 miljoen gesprekken er 200.000 automatisch verwerkt door OVIS. Hierdoor daalde het aantal mensen dat de in-gesprektoon te horen kreeg van 26% naar 17%. Een belangrijk onderdeel van OVIS is spraakherkenning. Hoe dat in zijn werk gaat, wordt hieronder uitgelegd.



Automatische spraakherkenning

De eerste serie spraakherkenners sloegen voor ieder woord dat herkend moest worden een of meerdere voorbeelden op. Voor een binnenkomend (onbekend) woord bepaalden ze de gelijkenis met de opgeslagen voorbeelden, en selecteerden het voorbeeld met de grootste gelijkenis. Deze techniek werkt alleen goed als het aantal te herkennen woorden klein is. Verder moesten de woorden los uitgesproken worden, met een pauze na ieder woord, omdat deze spraakherkenners er anders vaak niet in slaagden om begin en einde van de woorden te vinden. Voor vele hedendaagse applicaties is het echter noodzakelijk dat tienduizenden woorden herkend worden die natuurlijk (dat wil zeggen zonder pauzes) uitgesproken zijn. Bijvoorbeeld OVIS kan ruim 1400 verschillende woorden herkennen. Het is ondoenlijk om voor zoveel woorden modellen op te slaan. Daarom worden tegenwoordig meestal fonemen als basiseenheden gebruikt.

Fonemen, of spraakklanken, zijn de bouwstenen van spraak. Voor ieder foneem is er een symbool (zie tabel 1). Bijvoorbeeld in het woord 'rekenwerk' zitten drie verschillende klanken 'e', die dus alle beschreven moeten worden met een ander foneemsymbool (resp. 'e:', '@' en 'E': 're:k@nwERk'). De 37 basiseenheden die in de spraakherkenner van OVIS gebruikt worden staan in tabel 1. Merk op dat er zowel voor de 'l' als de 'r' twee basiseenheden bestaan, namelijk voor en na een klinker. Dit is gedaan omdat een 'l' en 'r' voor en na een klinker vaak anders uitgesproken worden.





Tabel 1. De 37 gebruikte basiseenheden met per basiseenheid een voorbeeld van een woord waarin de klank voorkomt (de desbetreffende klank is vet en schuin weergegeven).
klinkers
i liep I lip
e: leeg E leg
a: laat A lat
o: boom O bom
y buut Y put
2: deuk @ gelijk
Ei wijs u boek
9y huis Au koud




medeklinkers
p put n nat s sap
b bad l lat z zat
t tak r rat S sjaal
d dak L bal j jas
k kat R bar x licht
N lang f fiets h had
m mat v vat w wat




Een spraakherkenner kan alleen woorden herkennen die in zijn woordenboek staan. Een stukje van het OVIS lexicon staat in tabel 2. In dit lexicon staan voor ieder woord twee vormen. Links de orthografische vorm, oftewel het woord zoals het geschreven wordt. Dit is een reeks van letters. En rechts het woord zoals het uitgesproken wordt. Dit is een reeks van foneemsymbolen, en wordt daarom een foneemtranscriptie genoemd. Voor iedere foneem is een akoestisch model aanwezig. Door fonemen te gebruiken als basiseenheden, kan volstaan worden met het opslaan van 35 modellen, een veel kleiner aantal dan het totaal aantal woorden.





Tabel 2. Een gedeelte van het OVIS lexicon.
orthografie foneemtranscriptie
ravenstein ra:v@nstEin
rechtstreeks rExstre:ks
rechtstreekse rExstre:ks@
reis rEis
reisgelegenheid rEisx@le:x@nhEit
reizen rEiz@
renesse r@nEs@
rest rEst
retour r@tu~R
retourreis r@tu~rEis
retourtje r@tu~Rc@
reuver r2:v@R
rheden re:d@
rhenen re:n@
richting rIxtIN
ridderkerk rId@RkERk


Alvorens een spraakherkenner gebruikt kan worden, moet hij getraind worden. Hiervoor wordt een grote hoeveelheid spraak gebruikt, wat een corpus genoemd wordt. Het corpus bevat voor iedere uiting zowel het spraaksignaal als een beschrijving van de inhoud van die uiting (d.w.z. de woorden die uitgesproken zijn). Een dergelijke verzameling wordt een corpus genoemd. Tijdens training worden voor alle uitingen uit het corpus de woorden opgezocht in het lexicon en wordt ieder woord vervangen door zijn foneemtranscriptie. Zo worden foneemtranscripties voor de uitingen verkregen.

Vervolgens wordt de optimale oplijning tussen het spraaksignaal en de foneemtranscriptie automatisch bepaald met een algoritme dat het Viterbi-algoritme heet. Deze oplijning is in feite een segmentering, d.w.z. in het spraaksignaal worden de grenzen van ieder van de elementen uit de foneemtranscriptie bepaald. Voor de gevonden oplijning berekent het Viterbi-algoritme tevens een kans. Deze kans kan geïnterpreteerd worden als de kans dat het spraaksignaal en de foneemtranscriptie bij elkaar horen. Het Viterbi-algoritme berekent de oplijning met de grootste kans: de optimale oplijning.

In de trainingsfase worden het Viterbi-algoritme en een trainingslexicon gebruikt om een trainingscorpus geheel te segmenteren. Na segmentatie kan voor iedere basiseenheid (foneem) opgezocht worden welke stukken spraaksignaal uit het trainingscorpus hierbij horen. Voor ieder foneem worden alle bijbehorende stukken spraaksignaal statistisch verwerkt en wordt een stochastisch model berekend: een zgn. 'hidden Markov model'. Ieder aldus berekend akoestisch model is een statistische beschrijving van alle bij dat foneem behorende stukken spraaksignaal uit het trainingscorpus.

Daarnaast worden er taalmodellen getraind. De taalmodellen die in het huidige systeem gebruikt worden zijn een unigram (de kans op ieder woord) en een bigram (de kans op een sequentie van twee woorden). Deze taalmodellen worden getraind door in het corpus te tellen hoe vaak ieder woord respectievelijk iedere combinatie van twee woorden voorkomt. Deze waarden worden dan gedeeld door het totaal aantal woorden respectievelijk het totaal aantal woordparen.

Een spraakherkenner bestaat uit de akoestische modellen, de taalmodellen en het herkenningslexicon. In de herkenningsfase wordt geprobeerd een onbekende uiting te herkennen. Dit gaat als volgt. De spraakherkenner genereert alle mogelijke sequenties van woorden. Omdat van te voren niet bekend is uit hoeveel woorden een uiting bestaat, is het aantal hypothesen gigantisch groot, zeker als de herkenner over een groot lexicon beschikt. Gelukkig worden alle hypothesen van begin af aan gescoord, dat wil zeggen dat bepaald wordt hoe waarschijnlijk iedere hypothese is gegeven het binnenkomende (onbekende) signaal. Hiervoor wordt weer het Viterbi-algoritme gebruikt, 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 geschrapt kunnen worden uit de lijst van mogelijke oplossingen. 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 wordt de sequentie van woorden met de grootste kans gekozen, en dit is de herkende zin.



Applicaties

In de inleiding werden twee toepassingen genoemd, namelijk een 'handen-vrij telefoon' en een 'gesproken-dialoogsysteem'. Het wordt nu tijd om antwoord te geven op de vraag: "Is dit toekomst of realiteit?".

Bij een handen-vrij telefoon kies je het nummer met je stem. Dan heb je daarvoor zowel je handen als je ogen niet nodig, en dus kun je die bijvoorbeeld blijven gebruiken om de auto te besturen. Je kunt het nummer kiezen door de getallen uit te spreken. Desgewenst kunnen (veel gedraaide) nummers voorzien worden van een zelf gekozen gesproken label zoals bijvoorbeeld 'thuis' of 'James' (zie de inleiding). Dergelijke telefoons zijn inmiddels te koop.

Gesproken-dialoogsystemen worden inmiddels ook al gebruikt, met name voor het geven van informatie via de telefoon. Het hierboven beschreven OVIS is een voorbeeld van zo'n systeem in Nederland. Wat dat betreft is het realiteit. Deze programma's kun je echter nog niet in de PC-winkel om de hoek kopen. Daar moet nog even op gewacht worden.

Wat in dezelfde PC-winkel wel te koop is, zijn automatische spraakherkenners. Tegenwoordig kun je er al een kopen voor nog geen 100 gulden. Deze spraakherkenners kun je gebruiken om tekst te dicteren (spreken i.p.v. typen) of om je PC te besturen (je roept dan commando's). Als je dan nog een telefooninterface hebt, en je bent een handige knutselaar, dan zou het in principe mogelijk moeten zijn om via de telefoon bij u thuis dingen te besturen, zoals een verwarming of video. Spreekt dat u wel aan, probeer het dan eens uit. Een waarschuwing: bouw wel een beveiliging in. Automatische spraakherkenning is niet perfect; dus als verstaan is "Zet de verwarming op negentig graden" zou het fijn zijn als u duidelijk kunt maken dat het negentien moet zijn.





De auteur

dr Helmer Strik (40) studeerde natuurkunde aan de Katholieke Universiteit Nijmegen en promoveerde in 1994 aan dezelfde universiteit. Op de afdeling Taal & Spraak van deze universiteit verzorgt hij een aantal colleges in het kader van de opleidingen Taal, Spraak & Informatica (TSI) en Spraak- & Taalpathologie (STP). Sinds 1989 doet hij onderzoek naar automatische spraakherkenning. Verder doet hij onderzoek naar intonatie en het functioneren van de stembanden tijdens het spreken. Op dit moment is hij werkzaam als 'fellow' op een post-doctoraal project van de Koninklijke Nederlandse Akademie van Wetenschappen.

E-mail: strik [at] let.ru.nl.





Literatuur

Meer informatie over deze onderwerpen is te vinden in de volgende boeken:

  • J.A. Markowitz. Using speech recognition. New Jersey: Prentice-Hall Inc., 1996.
  • L.R. Rabiner & B.-H. Juang. Fundamentals of speech recognition. New Jersey: Prentice-Hall Inc., 1993.
  • C. Schmandt. Voice communication with computers. New York: van Nostrand Reinhold, 1994.


Of op deze websites:

Last updated on 22-05-2004