Zelflerende spraakherkenning via matrix-factorisatie

Alexander
Bertrand

Zelflerende spraakherkenning: artificiële intelligentie in zijn puurste vorm

 

De manier waarop baby’s spraak leren begrijpen is hoogst opmerkelijk. Pasgeborenen weten niet wat de opgevangen impulsen betekenen of hoe ze deze moeten interpreteren. Toch kunnen ze na enige tijd spraak begrijpen. Dit geeft aan dat het menselijk brein in staat is om een structuur te ontdekken in de massale hoeveelheid spraaksignalen die het te verwerken krijgt.

 

Maar kan een computer dit ook? Is het mogelijk om een artificieel intelligent systeem te ontwikkelen dat ‘in den beginne’ geen enkele notie heeft van spraak of taal, en toch spraak leert herkennen, enkel en alleen door het analyseren van spraakopnames? De experimenten die in het kader van dit eindwerk werden uitgevoerd geven hiervoor een eerste aanzet.

 

1) Zelflerend?

 

Een computerprogramma dat spraak moet herkennen krijgt daarvoor steeds de nodige kennis aangeboden door de ontwikkelaar ervan. Het systeem weet welke de verschillende spraakklanken zijn, op basis van welke eigenschappen ze kunnen onderscheiden worden en hoe ze tot woorden en zinnen gecombineerd worden. Ingenieurs hebben samen met linguïsten, audiologen en logopedisten jarenlang gezwoegd om al deze informatie te verzamelen en een systeem te ontwikkelen dat min of meer gesproken taal kan herkennen.

 

Een spraakherkenningssysteem zou ‘zelflerend’ zijn als het in staat is om spraak te herkennen na een zelfstandige analyse van spraakopnames, zonder dat hierbij extra kennis in het systeem wordt ingebracht. Het gaat hier uiteraard niet om het eigenlijke ‘begrijpen’ van wat er gezegd wordt - zoals een baby doet - maar wel om het zoeken naar een structuur om klanken en woorden te herkennen en te classificeren. Een baby krijgt namelijk ook niet-akoestische informatie en feedback van zijn omgeving, wat in dit experiment niet het geval is. Er wordt dus enkel nagegaan welke structuren de computer ontdekt in spraaksignalen en hoe deze aangewend kunnen worden om de huidige technieken voor spraakherkenning te verfijnen of zelfs te vervangen.

 

In dit artikel ligt de focus op één bepaald aspect van het onderzoek in het kader van dit eindwerk: het herkennen van klanken. De resultaten van dit experiment zijn niet alleen interessant voor de spraaktechnologie, maar ze leiden ook tot interessante biologische inzichten. Om het doel van het experiment duidelijk te maken gaan we eerst wat dieper in op de werking van een spraakherkenningssystemen.

 

2) Features

 

Al jarenlang zijn onderzoekers op zoek naar kenmerken of features in spraaksignalen op basis van dewelke een computer klanken van elkaar kan onderscheiden. De ‘luidheid’ of ‘loudness’ van een klank kan bijvoorbeeld een feature zijn. De getalwaarde die de geluidssterkte van de klank aangeeft, geeft namelijk informatie over de klank. Dit getal zal hoger zijn voor een stemhebbende klank - bijvoorbeeld ‘a’- dan voor een stemloze klank - bijvoorbeeld ‘h’.

 

Voor elke 30 milliseconden spraakgeluid wordt er een compacte set van feature-getallen gegenereerd die informatie geven over de klank die wordt uitgesproken. Op basis van deze set getallen moet de computer de klanken kunnen classificeren. Er zal nooit een klank wegvallen tijdens deze analyse omdat 30 milliseconden de minimale tijd is dat ons stemkanaal nodig heeft om van de ene klank naar de andere over te gaan. Het spreekt voor zich dat deze classificatie beter werkt naarmate er meer features gebruikt worden. Echter, omwille van de beperkte rekencapaciteit van een computer kan een featureset slechts een twintigtal getallen bevatten.

 

Het probleem met de eerder als voorbeeld genoemde loudness-feature, is dat deze getalwaarde sterk sprekerafhankelijk is. Bovendien kan eenzelfde spreker soms luid of stil praten. Er is empirisch aangetoond dat de zogenaamde ‘spectrale features’ veel beter bestand zijn tegen dergelijke variabiliteit . Dit zijn features die worden bepaald op basis van het frequentiespectrum van het geluid. Het frequentiespectrum geeft aan wat de samenstelling van geluidsgolven is bij het uitspreken van een bepaalde klank. Het blijkt dat deze samenstelling gelijkaardig is bij verschillende sprekers die eenzelfde klank uitspreken. 

 

Uit het frequentiespectrum van een spraaksegment van 30 milliseconden kunnen oneindig veel verschillende spectrale features gegenereerd worden. Om te bepalen welke nuttig zijn voor het herkennen van de klank hebben wetenschappers zich geïnspireerd op het menselijk gehoor. Het membraan dat zich in het slakkenhuis van het oor bevindt doet namelijk ook een frequentieanalyse van de geluidsgolven die het oor binnenkomen. Door intensief onderzoek op basis van gehoortesten heeft men een ruw beeld verkregen van de manier waarop het gehoororgaan frequenties analyseert. Dit heeft men nagebootst in spraakherkenningsystemen om features te genereren. Deze features noemt men ook wel Mel-features, afgeleid van het woord ‘melody’. 

 

3) Op zoek naar nieuwe features



Tot op heden werden nog geen features gevonden die klanken aan eenzelfde rekensnelheid kunnen classificeren met een kleiner foutenpercentage dan de Mel-features. In dit experiment is het de bedoeling om de computer zelf features te laten zoeken in plaats van hem deze aan te reiken. De computer mag hierbij net zoals een pasgeborene enkel gebruik maken van voorbeeldspraak. De computer heeft dus geen notie van Mel-features of  spraakklanken. Hij moet dus zelf een structuur zoeken in de spraakopnames, en op basis daarvan het concept ‘spraakklank’ opbouwen. Dit is mogelijk dankzij de speciale structuur  en de hoge graad van voorspelbaarheid van spraaksignalen. Via complexe wiskundige technieken, die gebaseerd zijn op stellingen uit de informatietheorie en de statistiek, is het mogelijk een computer te laten zoeken naar features met een optimale informatie-inhoud om spraakklanken van elkaar te onderscheiden.

 

4) Conclusie: spraak en het gehoor, twee handen op een buik

 

De features die via dit experiment werden gevonden blijken heel sterk te gelijken op de Mel-features, die in bijna alle spraakherkenningsystemen worden gebruikt. Zoals reeds aangegeven zijn deze Mel-features gebaseerd op de werking van het menselijk gehoor. Uit de experimentele resultaten blijkt dus dat de wiskunde ongeveer dezelfde features kiest voor het herkennen van spraak.  Het is bovendien opmerkelijk dat een analyse van het menselijk gehoor enerzijds en een analyse van menselijke spraak anderzijds, quasi identieke features opleveren. Dit betekent dat beiden heel sterk aan elkaar zijn aangepast: wij produceren onze spraak op een zodanige manier dat het oor zoveel mogelijk informatie kan extraheren die nodig is om klanken te onderscheiden. Dit experiment ondersteunt de hypothese dat het spraakproductiesysteem en het gehoororgaan in de loop van de evolutie van de mensheid sterk aan elkaar aangepast zijn, waardoor menselijke spraak tot een heel efficiënt communicatiemiddel is uitgegroeid.

Download scriptie (1.52 MB)
Universiteit of Hogeschool
KU Leuven
Thesis jaar
2007