Bloothooft, G. (1989). 'Automatische spraakherkenning', Informatie 31, 724-730.


Automatische spraakherkenning

 

dr.ir. G. Bloothooft

Onderzoeksinstituut voor Taal en Spraak
Rijksuniversiteit Utrecht

1. Inleiding

Het is de verwachting dat de computer in de nabije toekomst een 'mond' en een 'oor' zal krijgen. Daarmee zal een mens-machine interaktie gerealiseerd kunnen worden die dicht staat bij de manier waarop mensen met elkaar communiceren door te spreken en te verstaan. Van de sprekende computer en de computer die spraak verstaat is de sprekende computer op dit moment duidelijk reeds verder ontwikkeld. Het is namelijk eenvoudiger om spraak te maken dan om spraak te verstaan en te begrijpen. In dit artikel zal geprobeerd worden om de problemen van het automatisch herkennen van spraak uiteen te zetten, en de oplossingen aan te geven die daarvoor worden aangedragen. Alhoewel mensen doorgaans met het grootste gemak spraak verstaan, zelfs bij aanwezigheid van veel omgevingslawaai, is het automatisch herkennen van spraak een uiterst complexe taak. Zo complex dat er wel eens wordt beweerd dat het probleem van artificiële intelligentie is opgelost als de computer in staat is natuurlijke spraak te herkennen en te begrijpen.

Waar kunnen systemen voor automatische spraakherkenning worden gebruikt? Een uiterst belangrijke commerciële toepassing is de ontwikkeling van de spraakgestuurde schrijfmachine en spraakgestuurde invoer van gegevens. Via spraak kan zeer snel informatie worden overgedragen, sneller dan er getypt kan worden. Ruim een jaar geleden werd het eerste wetenschappelijke artikel gepubliceerd dat volledig via automatische spraakherkenning was ingevoerd (door Janet Baker met de Dragon VoiceScribe(TM)-1000). Ook computerprogramma's kunnen via spraak ingevoerd worden. Dit is eigenlijk zelfs een vrij eenvoudige taak, gezien het beperkte lexicon en de beperkte, eenduidige grammaticale structuur van computertalen. Een ander belangrijk aspekt van automatische spraakherkenning is dat mondelinge instructies de handen vrijlaten voor andere taken. Bij complexe manipulatietaken (bijvoorbeeld bij een microscoop, of bij de besturing van een vliegtuig) kan dit aantrekkelijk zijn. Ook wanneer men in de auto van de autotelefoongebruik wil maken is het uitspreken van de woorden 'telefoneer' en 'Lubbers' een veilige manier om een verbinding tot stand te brengen. De computer kent en 'draait' het telefoonnummer van Lubbers en de handen blijven vrij om te sturen. Ook voor sorteertaken wordt automatische spraakherkenning al gebruikt. Daarbij wordt materiaal mechanisch gesorteerd volgens gesproken commando's. Telefonische informatiediensten kunnen gebruik maken van automatische spraakherkenning. Het Nederlandse AUDITEL project van de PTT is daar een voorbeeld van. Via een eenvoudig dialoogsysteem waarbij de aanvrager steeds de mogelijkheid heeft om uit een klein aantal alternatieven een letterlijk uitgesproken keuze te maken wordt het systeem snel naar de gewenste informatie geleid. Verdere toekomstvisies zijn bijvoorbeeld automatische geld- of girotransacties per telefoon. Daar komt overigens het beveiligingsaspekt om de hoek kijken: niet alleen de boodschap maar ook de spreker zal herkend moeten worden, of de pincode moet kloppen.

Tien jaar geleden was de wetenschappelijke wereld nog vrij sceptisch over de mogelijkheid om op korte termijn een bruikbaar commercieel systeem te ontwikkelen, bijvoorbeeld zoiets als een spraakgestuurde schrijfmachine. Toch lijken de ontwikkelingen daarna sneller gegaan te zijn dan indertijd mogelijk leek. In het bijzonder de vlucht van het gebruik van impliciete kennis technieken, zoals de verderop te bespreken Hidden Markov Modellen en Neurale Netten, hebben tot grote verbeteringen in de resultaten geleid. Een keerzijde van deze ontwikkeling is echter dat het onderzoek naar automatische spraakherkenning een sterk technologisch en abstract karakter heeft gekregen. De toegankelijkheid van de onderzoeksresultaten is daar in het algemeen niet mee bevorderd. Het inzicht in de precieze fonetische betekenis van allerlei aspekten van de technieken trouwens ook niet.

Deze ontwikkeling heeft wel tot gevolg gehad dat er nu systemen voor automatische spraakherkenning commercieel verkrijgbaar zijn. Meestal gaat het om sprekerafhankelijke systemen die enige duizenden los uitgesproken woorden kunnen herkennen (Marconi, Kurzweil, Dragon, Speech Systems, Voice Processing, etc.). Ook zijn er voor minder dan $1000 zogenaamde spraakkaarten voor de Personal Computer (van het AT type) verkrijgbaar waarop zowel een spraaksynthese- als een spraakherkenningscomponent (voor enige honderden woorden) aanwezig zijn. De indruk bestaat dat men met name voor de herkenningscomponent niet te hoge verwachtingen moet hebben. De gebruikszekerheid van deze spraakkaarten lijkt vooralsnog niet erg groot.

Een systeem voor automatische spraakherkenning bestaat in grote lijnen uit 1) een module voor de representatie van het spraaksignaal, 2) opgeslagen akoestisch/fonetische en linguïstische kennis over de te herkennen woorden en 3) een module die, op basis van opgeslagen kennis, hypothesen stelt over de gesproken tekst. Deze aspekten worden in het volgende behandeld.


2. De representatie van het spraaksignaal

2.1. Parametrisatie

Spraak bestaat uit kleine drukveranderingen rond de atmosferische druk die met behulp van een microfoon worden omgezet in een equivalent elektrisch signaal. Om niet te veel last te hebben van omgevingslawaai wordt in de praktijk meestal gewerkt met een zogenaamde close talking microfoon. Het elektrisch signaal wordt via een analoog-digitaal (A/D) conversie als een getallenreeks in de computer opgeslagen voor verdere analyses. De A/D conversie heeft een bemonsteringsfrequentie van 10 tot 20 kHz. Nu zijn 20.000 getallen per sekonde (van 12 bits, dus een bit rate van 240.000 bits/sekonde) wel wat veel om een spraaksignaal bestaande uit 15 spraakklanken per sekonde te beschrijven. Het moet dus mogelijk zijn om tot een reductie te komen in de hoeveelheid gegevens. Nu geeft het getal van 15 spraakklanken per sekonde aan dat spraak relatief langzaam varieert. Het blijkt dat het voldoende is om het spraaksignaal 100 keer per sekonde te beschrijven (elke 10 ms). Er kan dan beschreven worden of het signaal ruisachtig of harmonisch is, welke geluidsintensiteit en welk spektrum het heeft. Vooral dat laatste aspect is belangrijk omdat het iets zegt over de klankkleur en daarmee de identiteit van de spraakklank (of foneem). De signaalanalyse biedt tal van mogelijkheden om het spektrum van een signaal te parametriseren. Veel gebruikt worden 10 á 14 Lineaire Predictie coëfficiënten of cepstrum coëfficiënten. Voor de waarneming van een spraaksignaal door de mens geldt echter dat niet alle spektrale kenmerken een even groot gewicht hebben, zoals in de standaard signaalanalysetechnieken wel wordt verondersteld. Spektrale pieken zijn voor de menselijke geluidwaarneming belangrijker dan spektrale dalen, en voor het identificeren van spraakklanken zijn spectrale verschillen tussen een 'doffe' en een 'scherpe' klankkleur (een steile respectievelijk een vlakke spectrale helling) niet erg belangrijk. Er zijn daarom ook analysesystemen ontwikkeld waarin karakteristieken van de menselijke geluidwaarneming zijn ingebouwd. Een 1/3-octaaf filterbank wordt veel gebruikt, maar ook een bank van (een groot aantal) auditieve filters is in zwang. Als voordelen van de auditief gerichte aanpak worden genoemd 1) dat belangrijke kenmerken van spraak beter gerepresenteerd worden en 2) dat omgevingsruis onderdrukt wordt. Na een parametrisatie van het spraaksignaal is de bit rate gereduceerd tot 11.200 bits/sekonde (100 spektra van 14 getallen die ieder met 8 bits worden beschreven) .


2.2 Vektorkwantisatie

Door eigenschappen van de stembanden en artikulatie kan een spraakspektrum niet alle vormen aannemen. Daarnaast leert de ervaring dat veel spraakspektra zoveel op elkaar lijken dat ze voor spraak dezelfde informatie vertegenwoordigen. Het zou dus handig zijn om een bepaalde verzameling spektra, die alle ongeveer dezelfde betekenis hebben, te vervangen door één representatief spektrum (of vektor). Dit noemen we het principe van vektorkwantisatie. Meestal komt men tot een totaal van 200 à 300 representatieve spektra. Het probleem van vektorkwantisatie is uiteraard het bepalen van de representatieve vektoren en de grenzen van de verzameling spektra die tot één vektor gerekend worden. Aangezien we 256 representatieve gecodeerde spektra met 8 bits kunnen beschrijven, wat we 100 keer per sekonde doen, is de bit rate na vektorkwantisatie gereduceerd tot 800 bits/sekonde.


3. Akoestische en linguïstische kennis

Bij de akoestische analyse van spraak is men het in het algemeen wel over de voordelen van een auditief georiënteerde aanpak eens. De wijze echter van gebruik van kennis van akoestische en linguïstische eigenschappen van woorden toont de belangrijke verschillen tussen de diverse systemen.

Een belangrijk onderscheid is er tussen systemen die gebruik maken van impliciete kennis en systemen die gebruik maken van expliciete kennis. Met impliciete kennis bedoelen we dat er een of ander mathematisch model bestaat dat in staat is om akoestische, fonetische en linguïstische eigenschappen van een woord of een reeks woorden mathematisch optimaal te beschrijven zonder dat we ons druk maken om de akoestisch/fonetische of linguïstische relevanties van die beschrijving. Met expliciete kennis bedoelen we dat er informatie gebruikt wordt die gerelateerd kan worden aan fonetisch relevante beschrijvingen of linguïstische theorieën.


3.1 Systemen met impliciete kennis

3.1.1 Vergelijking met referentiewoorden

Eén van de eerste systemen voor het automatisch herkennen van geïsoleerde woorden werkte volgens een vergelijking met referentiewoorden: van elk te herkennen woord wordt een referentie gemaakt die in een bibliotheek wordt opgeslagen. Een onbekend woord wordt met elk van deze referenties vergeleken en het referentiewoord dat het meest overeenkomt met het onbekende woord wordt gekozen. Alhoewel dit eenvoudig klinkt zijn er in dit proces tal van fundamentele problemen die samenhangen met a) tijd- en sprekernormalisaties en b) de definitie van 'overeenkomen' van het testwoord en het referentiewoord.


3.1.1.1 Tijdnormalisatie

Bij het vergelijken met referentiewoorden is sprake van impliciete kennis: een woord wordt opgevat als een reeks spektra waarbij geen nadere onderverdeling in spraakklanken wordt aangebracht. Het feit dat een woord met verschillende snelheden kan worden uitgesproken, noopt tot tijdnormalisatie. Het meest gebruikt is hierbij de techniek van Dynamic Time Warping (DTW), een dynamische programmeertechniek waarbij de tijdas van een onbekend woord lokaal zodanig wordt gekrompen en gerekt dat er een optimale spektrale overeenkomst tussen het onbekende woord en een referentiewoord ontstaat. Uiteraard worden er grenzen gesteld aan de mogelijke krimp en rek. Een probleem is echter dat sommige duurverschillen in spraak betekenisonderscheidend zijn maar desalniettemin weggenormaliseerd worden.


3.1.1.2 Sprekernormalisatie

In diverse toepassingen van automatische spraakherkenning zouden we graag willen dat het spraakherkenningssysteem niet afhankelijk is van de spreker die het gebruikt. Het systeem moet in zo'n geval dus kunnen abstraheren van de persoonlijke kenmerken van de spraak van een spreker. Dat is het probleem van de sprekernormalisatie.

Een eenvoudige benadering van het probleem gaat er vanuit dat belangrijke verschillen tussen sprekers veroorzaakt worden door een lengteverschil van de mond-keelholte. Bij vrouwen is die bijvoorbeeld gemiddeld 10% korter dan bij mannen. Dat resulteert in een eenvoudige algemene procentuele verschuiving van spektrale pieken. Dat is echter een ruwe eerste orde benadering. Naast anatomische verschillen in de mond-keelholte zijn ook karakteristieken van de stembandtrilling medebepalend voor de persoonlijke klankkleur van spraak. Verder zou een meer realistische benadering van sprekerverschillen ook gericht moeten zijn op de uitspraak van individuele spraakklanken. Dat probleem is nog lang niet opgelost.

Meestal gaat sprekeronafhankelijkheid in een systeem voor automatische spraakherkenning dan ook samen met een sterke vereenvoudiging van de omvang van de herkenningstaak waarbij het liefst ook nog zo verschillend mogelijke woorden worden gebruikt. Dat betekent een grote reductie van het te herkennen lexicon (bijvoorbeeld 20 á 200 woorden in plaats van 10.000 woorden in commerciële systemen, en 1000 woorden in het laboratorium).

Naast systemen die direct in staat zijn spraak van verschillende sprekers te herkennen worden er ook systemen ontwikkeld die zich zo snel mogelijk aanpassen aan de spraak van een bepaalde gebruiker (door een analyse van een aantal testzinnen). Deze sprekeradaptatie gaat ook door tijdens het echte gebruik van het systeem.

Tenslotte zijn er ook veel toepassingen denkbaar waar slechts één enkele gebruiker van het systeem verwacht kan worden. Hier kan dan door een eenmalige, wat langduriger training van het systeem een optimalisatie plaatsvinden voor deze ene gebruiker, maar het systeem is wel volledig sprekerafhankelijk. Er zijn dan veel minder beperkingen met betrekking tot de omvang van het gebruikte lexicon.


3.1.1.3 Spektrale overeenkomst

Om de overeenkomst tussen twee spektra te beschrijven hebben we een maat nodig. We spreken meestal van een afstandsmaat. Daarbij stellen we een spektrum (beschreven met 14 getallen) voor als een punt in een 14-dimensionale ruimte, waarbij elk getal de coördinaatwaarde van het spektrum langs een dimensie weergeeft. Een verschil tussen spektra is dan niets anders dan de afstand tussen de met de spektra corresponderende punten in die ruimte. Een eenvoudige ruimte is de Euclidische, maar complexere (gekromde) ruimtes zijn denkbaar. De tendens is om te zoeken naar een afstandsmaat die een grote overeenkomst vertoont met door de mens waargenomen verschillen in spektra.


3.1.1.4. Beperkingen

Een systeem op basis van vergelijking met referentiewoorden heeft als nadeel dat het vergelijkingsproces voor grote lexica een onaantrekkelijke opgave wordt als een onbekend woord met alle woorden in het lexicon zou moeten worden vergeleken. Daarom wordt deze aanpak vooral voor herkenningstaken van kleine omvang gebruikt en is men gaan zoeken naar andere technieken waarbij dit probleem minder optreedt (Hidden Markov Models, hieronder). Overigens zijn recent algoritmes voorgesteld die het aantal vergelijkingen met referentiewoorden met 94% kunnen reduceren via een eenmalige voorberekening van de spektrale afstanden tussen de woorden die in het lexicon zijn opgeslagen.


3.1.2 Hidden Markov Models

Spraak kan worden beschouwd als een proces dat bestaat uit een reeks toestanden (denk aan afzonderlijke spraakklanken of onderdelen daarvan). Deze reeks wordt gekenmerkt door een begintoestand en overgangen van de ene toestand naar een volgende, met een tijdstap van 10 ms. Nu treedt de begintoestand op met een bepaalde waarschijnlijkheid. Zo is de kans dat een woord begint met de klank /ng/ nul, met de klank /f/ klein en met de klank /a/ groter. Verder wordt de overgang van een teostand naar de volgende toestand gekarakteriseerd door een bepaalde overgangswaarschijnlijkheid. Een toestand kan overigens ook in zichzelf overgaan, om te modelleren dat een bepaalde klank wordt aangehouden. De bovengeschetste variabelen zijn de ingrediënten van een wiskundige beschrijving die Markov model heet (en breed toepasbaar is; niet alleen op spraak). Met behulp van een eenvoudig Markov Model kunnen bijvoorbeeld de uitspraakvarianten van een woord gemodelleerd worden, zoals we hieronder zien voor het woord politie (correct uitgesproken als /politsi/, maar bijvoorbeeld /p¶lisi/ kan ook; ¶ is de spraakklank 'schwa', als in 'de', /d¶/):)

 

p o l i t s i

Het hier geschetste proces (op foneemnivo) is een 1e-orde Markov proces omdat de overgangswaarschijnlijkheid naar de volgende toestand slechts van de huidige toestand en niet van de vorige toestanden afhangt.

We moeten echter nog een stap verder, van het foneemnivo naar het akoestische nivo. Daarbij moeten we bedenken dat een toestand (een spraakklank) akoestische niet constant is maar beschreven wordt door spektrale variaties met statistische eigenschappen. Omgekeerd: als van een onbekend spraaksignaal op een bepaald moment een spektrum (een observatie) wordt gemeten dan is onbekend met welke toestand (foneem) dit spektrum verbonden is, anders gezegd: de toestand is verborgen. Het model dat het totale proces beschijft (toestanden plus de te verwachten spektrale fluctuatie per toestand) noemen we daarom een Hidden Markov Model (HMM). Via een HMM kunnen we achteraf van een onbekend gesproken woord de kans uitrekenen dat het gelijk is aan een woord in het lexicon. Hierbij wordt gebruik gemaakt van de regel van Bayes:

P(W|A) = P(A|W) x P(W) / P(A)

In woorden: de kans P(W|A) dat gemeten akoestische gegevens A een woord (of foneem) W representeren is gelijk aan de kans P(A|W) dat dat woord gerepresenteerd wordt door de gegevens A, vermenigvuldigd met de kans P(W) op het optreden van dat woord, gedeeld door de kans P(A) op het optreden van de akoestische gegevens. De laatst genoemde kans is woordonafhankelijk en kan gezien worden als een schaalfactor die genegeerd kan worden. Het woord waarvoor de hoogste kans P(W|A) optreedt wordt als kandidaat gekozen.

Om voor elk woord de waarschijnlijkheid van de begintoestand, de overgangswaarschijnlijkheden tussen toestanden en de fluctuatie van (gecodeerde) spektra per toestand te kennen, moet het HMM getraind worden. Daar zijn bepaalde efficiënte technieken voor (Baum-Welch of forward-backward algoritme).

Als een spraakherkenningssysteem met uitgesproken teksten te maken krijgt dan kan een Markov model tenslotte ook gebruikt worden om een zinmodel te maken. Daarbij gaat het om de overgangswaarschijnlijkheden tussen woorden in een taal. Veelal wordt gebruik gemaakt van zogenaamde trigrammen: de overgangswaarschijnlijkheid tussen woorden hangt af van twee voorafgaande woorden. Voor de training van zo'n model is heel veel tekst nodig om redelijke schattingen te maken van de overgangswaarschijnlijkheden, ook voor weinig voorkomende woordovergangen. De orde van grootte van trainingsteksten is vaak meer dan 20 miljoen woorden (wat theoretisch nog veel te weinig is). Merk op dat de syntactische en semantische verschijnselen van de taal op deze wijze impliciet via overgangswaarschijnlijkheden in een Markov Model opgenomen worden. Alhoewel deze aanpak voor de meeste linguïsten zeer verwerpelijk is, zijn er nog weinig aanwijzingen dat linguïstische kennis van de taal de resultaten van deze brute aanpak kan verbeteren.

Binnen een aanpak van automatische spraakherkenning met Markovmodellen is een architectuur van drie lagen modellen nodig. Een Hidden Markovmodel om de akoestische informatie te transformeren naar spraakklanknivo, een Markovmodel voor de constructie van woorden, en tenslotte het Markov zinmodel.


3.1.3 Neurale netten

Een recente aanpak, met overigens nog niet altijd evidente voordelen, is modellering van spraak met behulp van neurale netten (parallel distributed processing, connectionisme). De ontwerpers van deze methode zijn geïnspireerd door de wijze van informatieverwerking in de hersenen van de mens.

 

Output cellen

weegfuncties

Verborgen cellen

weegfuncties

Input cellen

 

Een neuraal net (bijvoorbeeld een multilayer perceptron, zie bovenstaande figuur) bestaat meestal uit een aantal lagen van (modelmatige) cellen. Op de inputlaag wordt het spraaksignaal gerepresenteerd, bijvoorbeeld via een binaire representatie van een gecodeerd spektrum. Vervolgens zijn er één of meer verborgen lagen en tenslotte is er een outputlaag waarop het uitgangssignaal wordt gerepresenteerd. Er zijn tal van architecturen van de verbindingen tussen cellen en van het aantal lagen mogelijk. Er wordt voor spraak nogal eens gewerkt met één verborgen (hidden) laag, waarbij elke cel is verbonden met alle cellen van de volgende laag maar niet met de cellen van de eigen laag. De outputwaarde van elke cel is een gewogen functie van de verschillende inputs, gecombineerd met een bepaalde drempel. De vorm van de weegfunctie (bijvoorbeeld een stap- of S-vorm) kan verschillen bij diverse net-architecturen.

Het gaat erom de weegfactoren, door een training, zodanig te bepalen dat de gewenste input/output relatie ontstaat. Daartoe wordt elk woord een groot aantal keer aangeboden aan het net en worden via een iteratieve procedure de weegfactoren bijgesteld (bijv. backward error propagation algoritme).

Alhoewel de training een langdurige zaak kan zijn (en het proces meer geschikt is voor parallel processing) is de uiteindelijke werking van het systeem snel. Een zekere ongevoeligheid voor ingangsruis wordt geclaimd.

Tal van input/output relaties zijn met neurale netten te modelleren. Daarbij kan zelfs gedacht worden aan het spraaksignaal als input en woord als output. Hoe complexer echter de input/output relaties, des te meer cellen er nodig zijn en des te langduriger de training (zelfs op supercomputers) zal zijn. Eigenlijk gaat het bij het gebruik van een neuraal net bij automatische spraakherkenning om het onderscheiden van bepaalde typen ingangspektra. Er kan dan worden aangetoond dat voor spraak met één verborgen laag cellen de gewenste discriminatie kan worden gemodelleerd.

Het is een probleem voor fonetici dat moeilijk duidelijk gemaakt kan worden hoe fonetisch relevante informatie precies in een neuraal net wordt gerepresenteerd. Het zou interessant zijn als we van een neuraal netwerk zouden kunnen leren om expliciete fonetische kennis te formuleren, bijvoorbeeld op welke akoestische gronden bepaalde spraakklanken optimaal van elkaar onderscheiden zouden kunnen worden.


3.2 Systemen met expliciete kennis

3.2.1 Het verzamelen van kennis

In systemen voor automatische spraakherkenning waarbij gebruik wordt gemaakt van expliciete akoestisch/fonetische en linguïstische informatie, wordt het verzamelen van deze kennis niet geleid via mathematische modellen maar door observaties en experimenten van de onderzoeker. Daarbij is een grote hoeveelheid spraakmateriaal nodig. Om dit materiaal ordelijk en systematisch te kunnen onderzoeken is de laatste jaren veel aandacht gegeven aan de ontwikkeling van spraakdatabases. Omdat veel werk daarbij niet automatisch kan gebeuren, zoals bijvoorbeeld het labelen van spraakklanken, is de opbouw van een spraakdatabase een enorm karwei. Daarbij moet dan gehoopt worden dat de meeste relevante spraakuitingen in de database zijn opgenomen (uitspraakvarianten, sprekerverschillen, alle typen van coarticulatie, assimilatie en dergelijke, tempovariatie, los uitgesproken woorden en continue spraak, voorgelezen en spontane spraak, etc.). Door van elke spraakklank te analyseren wat de akoestische kenmerken zijn (afhankelijk van context en spreker) en deze kenmerken in basisgegevens en regels onder te brengen wordt expliciete akoestisch/fonetische kennis verzameld.

Om expliciete akoestisch/fonetische kennis te verkrijgen en om er achter te komen hoe die kennis in automatische processen gebruikt kan worden, wordt ook wel gebruik gemaakt van een fonetisch expert. Er wordt dan aan een expert, die in staat is op grond van een reeks spektra een uiting te reconstrueren, gevraagd om zijn of haar redeneerstappen volledig expliciet te maken. Deze wijze van redeneren kan vervolgens in een expertsysteem worden ondergebracht.

De bovenstaande kennis omvat vooral spektrale en temporele kenmerken van spraak. In het algemeen wordt informatie over de intonatie van woorden en zinnen (de zinsmelodie) nog zeer weinig gebruikt in systemen voor automatische spraakherkenning (alhoewel de mens deze informatie zeker zal gebruiken).


3.2.2 Segmentatie

Om het spraaksignaal te confronteren met de opgeslagen kennis van spraakklanken is het nodig om het spraaksignaal te segmenteren. Daarbij kan gebruik worden gemaakt van correlatie-achtige technieken van spektra van naastliggende samples. Als spektra immers snel variëren is er meestal sprake van een overgang van de ene naar de andere spraakklank. De correlatie tussen naastliggende spektra zal dan gering zijn en er is sprake van een grens tussen spraakklanken. Wanneer de spraakklank stabiel is, is er weinig verschil tussen spektra en is de correlatie tussen naastliggende spektra hoog.


3.2.3 Toepassen van kennis

Het moment en de wijze waarop verschillende kennisbronnen worden geconfronteerd met het onbekende spraaksignaal wordt bepaald door de architectuur van het herkenningssysteem. Deze bepaalt wanneer akoestische, fonetische en linguïstische kennis aktief gebruikt gaat worden in het herkenningsproces. Daarbij kan voor een hiërarchische structuur gekozen worden waarbij in een strikte volgorde de akoestische, fonetische en linguistische kennis wordt gebruikt. Fouten die echter op een bepaald nivo worden gemaakt zijn later moeilijk herstelbaar. Ook is een blackboard model mogelijk waarbij alle kennisbronnen verbonden zijn met een centrale besturingseenheid. Een efficiënte organisatie is dan een probleem. Veelbelovend lijkt een systeem dat opgebouwd is uit een aantal expertsystemen (één voor akoestisch/fonetische kennis, één voor syntactische kennis en één voor semantische kennis). Elk expertsysteem heeft een korte termijn geheugen (op basis van analyse van de spraak die recent binnenkwam) en een lange termijn geheugen (de opgeslagen kennis) en staat in verbinding met de andere expertsystemen.

Het gaat hier te ver om details van het gebruik van kennis in het proces van spraakherkenning uit te werken. Er zijn echter twee voorbeelden, die we hieronder behandelen, die enerzijds een aardig beeld geven van de mogelijkheden van combinatie van kennis en anderzijds van de ambiguïteiten waarmee we geconfronteerd worden.


3.2.4 Brede fonetische klassen

In automatische spraakherkenning wordt meestal een beperkt lexicon gebruikt. Met 400 woorden kan al 65% van de redactionele kolommen van een krant worden beschreven, met 20.000 woorden is al zeer veel tekst te produceren en Shakespeare gebruikte in zijn totale oeuvre niet meer dan 30.000 woorden. Onze woordenschat is meer dan een factor 10 groter, maar het gaat dan om zeer zeldzaam gebruikte woorden of samenstellingen van woorden. Nu hebben de woorden in het lexicon geen willekeurige structuur. Daarom is het nuttig om woorden op te delen in groepen met een vergelijkbare klankstructuur. Het staat vrij om de fijnheid van die klankstructuur te kiezen, maar in het begin van het herkenningsproces kan het beste gestart worden met een ruwe indeling van spraakklanken (die echter een relatief goede kans biedt op een nauwkeurige identificatie in een eerste akoestische analyse). Zo'n indeling bestaat bijvoorbeeld uit de fonetische klassen: Klinkers (bijv. a,oe,i), Nasalen (n,m,ng), Frikatieven (f,v,s,z), Plosieven (p,t,k,b,d) en Overigen (bijv. l,r,w,j). Het woord 'politie' heeft de klankvorm /politsi/ en de labeling 'Plosief-Klinker-Overigen-Klinker-Plosief-Frikatief-Klinker'. Als een onbekend woord in een aantal segmenten met dergelijke labels kan worden omgezet dan blijkt de lexicale zoekruimte ruwweg met een factor 1000 te verkleinen (van 10.000 tot 10 woorden). Met een gerichte nadere akoestische analyse zou dan tot identificatie van het woord kunnen worden gekomen. Zo is het genoemde voorbeeld van 'politie' reeds uniek geïdentificeerd als na globale klassifikatie de eerste, beklemtoonde /i/ als zodanig wordt herkend. Een nadere identificatie van de moeilijke /p/, /l/ en /t/ is dan helemaal niet nodig. Het is overigens nog onduidelijk hoeveel akoestische detailinformatie er in totaal verder nodig is om tot een unieke identifikatie van alle woorden in een lexicon te komen. Bovendien vereist deze vroege interaktie van akoestische informatie met het lexicon dat het woordbegin en woordeinde bekend zijn, terwijl ook allerlei uitspraakvarianten in het lexicon opgeslagen moeten zijn.


3.2.5 Van fonemen naar grafemen

Als niet direct gebruik wordt gemaakt van lexicale eigenschappen dan resulteert het herkenningsproces per woord in een reeks spraakklanken (fonemen), waarbij vaak voor elke spraakklank een aantal alternatieve hypothesen wordt gegeven. Op zichzelf zouden zulke gegevens geschikt zijn om met behulp van Markov Modellen geanalyseerd te worden. Een andere mogelijkheid is dat de spraakklanken op een bepaald moment worden omgezet tot een lettersymbool. Er zijn wel aanzetten gegeven tot het ontwikkelen van regels hiervoor, alhoewel diverse ambiguïteiten blijven bestaan (bijvoorbeeld in het uitgesproken woord /hart/ is het niet uit te maken of het om het geschreven woord hart of hard gaat. Deze ambiguïteit tussen hart en hard laat zich pas op syntactisch nivo oplossen.

In het algemeen zal een spraakherkenningssysteem van een gesproken zin per woord door akoestische en linguïstische ambiguïteiten en onzekerheden een reeks alternatieven genereren. Als echter voor elk woord van een korte zin van tien woorden 5 alternatieven worden gegenereerd dan zijn er in principe al 105 mogelijke zinnen te construeren. Hier kan een Markov taalmodel een oplossing bieden, maar ook kunnen via parsing (ontleding) de syntactisch correcte zinnen gevonden worden. In het laatste geval laten de computationele problemen zich trouwens al voorzien. Bovendien moet er eigenlijk nog rekening mee worden gehouden dat natuurlijke spraak vaak niet grammatikaal is.


4. Evaluatie

Het evalueren van de prestaties van een systeem voor automatische spraakherkenning staat nog in de kinderschoenen. In het algemeen moeten de eigen mededelingen van onderzoekers en fabrikanten over de prestaties van hun systeem kritisch beschouwd worden. Aan objectieve procedures, waarbij ook gesynthetiseerde spraak als regelbare input een belangrijke rol zal spelen, wordt momenteel gewerkt.


5. Tenslotte

Dit artikel beoogde slechts in vogelvlucht aan te geven in welke richtingen het onderzoek naar automatische spraakherkenning zich begeeft. Tal van detail-vraagstukken die met de verschillende technieken verbonden zijn, maar ook de belangrijke problematiek van het onderverdelen van continue spraak in woorden, het storend effect van omgevingslawaai en de hanteerbaarheid van grote lexica zijn nauwelijks aan de orde gekomen. Ook over de verschillende toepassingsmogelijkheden van de diverse aanpakken valt nog veel te zeggen (alhoewel de state-of-the-art op papier vaak rooskleuriger wordt voorgesteld dan in de praktijk blijkt). Vooralsnog lijkt het erop dat de aanpak via Hidden Markov Modellen het gaat winnen als het om commerciële toepassingen gaat. Of dit op langere termijn bij toepassingen met complexe herkenningstaken zo blijft is echter nog een open vraag. Wellicht wint dan een combinatie van akoestisch/fonetisch en linguïstisch inzicht en brute statistische en computationele kracht.

Enige literatuur:

J.N. Holmes (1988) Speech synthesis and recognition, Van Nostrand Reinhold (UK).

L.R. Rabiner and B.H. Yuang (1987) An introduction to Hidden Markov Models, IEEE-ASSP Magazine 3, 4-16.

R.P. Lippmann (1987) An Introduction to Computing with Neural Nets, IEEE-ASSP Magazine, april, 4-22.

R. de Mori (1983) Computer models of speech using fuzzy algorithms, Plenum Press, New York.