Eindwerkvoorstel Eindwerkvoorstellen 2008-2009 2008–2009 http://www.esat.kuleuven.be/psi/spraak/research/08-09/index.php
Optie Multimedia en Signaalverwerking • • • • • •
[multi-02] Accent identificatie met behulp van support vector machines [multi-03] Algorithmes voor niet-negatieve matrixfactorisatie [multi-04] Automatische analyse van spraakdatabanken [multi-05] Interactieve gebruikersinterface voor de SPRAAK herkenner [multi-06] Robuuste spraakdetectie [multi-07] Robuuste spraakherkenning - op naar menselijke performantie
Optie Wiskundige Ingenieurstechnieken • •
Accent identificatie met behulp van support vector machines Algorithmes voor niet-negatieve matrixfactorisatie
multi-02 / wit Eindwerkvoorstel
Accent identificatie met behulp van support vector machines
2008–2009 http://www.esat.kuleuven.be/psi/spraak/research/08-09/accent.php
Mensen kunnen veelal goed en snel het dialect van een andere spreker achterhalen. Zo horen wij al heel snel of iemand van Limburg of West-Vlaanderen afkomstig is. Even zo goed weet een Brit onmiddellijk of iemand van London, Schotland of Wales afkomstig is. Zelfs als iemand heel sterk zijn best doet om beschaafd te spreken, blijven er toch nog gemakkelijk wat dialectische kenmerken doorklinken. Bij goede sprekers kunnen we het dialect enkel nog identificeren door te letten op subtiele uitspraakvariaties en door alle irrelevante elementen in het spraaksignaal te negeren. Het herkennen van dialecten is daarom een combinatie van 2 procedures: eerst het identificeren van de meest relevante klanken en klankverschillen en daarna het classificeren naargelang de verschillende regio’s. In vroeger werk hebben we gefocust op het gebruik van cepstrale parameters, i.e. de parameters die typisch gebruikt worden voor spraakherkenning en die een weergave zijn van de spectrale omhullende van een klank. Eerst wordt bepaald welke spectrale co¨effici¨enten voor welke klank relevant zijn voor dialectherkenning. Daarna wordt de classificatie uitgevoerd met de hulp van Gaussian Mixture Models (GMMs) of Support Vector Machines (SVM). SVMs werken traditioneel goed voor problemen in grote dimensies, en deden het ook voor deze problematiek (dimensies 50-1000) uitstekend. Een belangrijk nadeel van het gebruik van cepstrale co¨effici¨enten is dat ze weinig inzicht geven in de dialectische fenomenen en op welke aspecten de machinale herkenner focust. Als alternatief wordt daarom voorgesteld met a posteriori kansen van fonemen te werken. Voor elke gedetecteerde klank in een signaal wordt de kans berekend dat die klank met elk van de mogelijke fonemen die bestaan in de standaardtaal overeenkomt. Deze parametervoorstelling kan dus specifieke klankverschuivingen aan het licht brengen en sluit daarom nauwer aan bij onze menselijke intu¨ıtie van hoe we aan dialectherkenning doen. Het onderzoek zal uitgevoerd worden op de COGEN en CGN (Corpus Gesproken Nederlands) databanken. Voor een groot deel kan gebruik gemaakt worden van bestaande spraakherkennnings- en classificatiesoftware. Het grootste deel van het programmatiewerk gebeurt dan ook in scripttalen (awk/perl/python/csh) en in MATLAB voor interpretatie van resultaten en visualisatie. Het werk kan uitgevoerd worden door 1 of 2 studenten. Gezien de aard van het onderwerp is een goede achtergrond en interesse in wiskundige technieken (patroonherkenning, statistiek) een pluspunt. Promotor Prof. Dirk Van Compernolle (01.17) en Prof. Marc Van Barel (200A.02.184) Begeleiding Tingyao Wu (02.86), Jacques Duchateau (02.88) Werkverdeling inwerken in het onderwerp - 10 %, inwerken in bestaande tools - 20 %, ontwikkelen nieuwe tools - 30 %, experimenten, evaluatie - 40 % Aantal studenten 2 Assessors Prof. Johan Suykens (01.90) en Prof. Patrick Wambacq (01.19)
multi-03 / wit Eindwerkvoorstel Algorithmes voor niet-negatieve matrixfactorisatie 2008–2009 http://www.esat.kuleuven.be/psi/spraak/research/08-09/PLSA.php Niet-negatieve matrixfactorisatie (NMF) heeft de laatste twee jaren behoorlijk wat aandacht gekregen in het onderzoek van de spraakgroep van PSI. Deze techniek heeft tot meerdere erg vernieuwende toepassingen geleid: het bouwen van leeralgoritmen die net als babies zelf de woorden en fonen (elementaire klanken) in spraak ontdekken, het aanpassen van taalmodellen aan het huidige onderwerp, het adapteren van akoestische modellen aan sprekereigenschappen, het ontdekken van fonemen in woorden, het (her)ontdekken van perceptuele auditieve eigenschappen die o.a. in MP3 coders gebruikt worden. In een NMF-probleem benader je een datamatrix V (met positieve getallen) als een product W*H waarbij de gemeenschappelijke dimensie van W en H kleiner is dan de afmetingen van V en W en H enkel positieve elementen bevatten. De datamatrix bevat typisch kansen of tellingen hoe vaak iets voorkomt. Fysisch betekent deze ontbinding dat je de kolommen van V schrijft als een som van “delen” die elkaar niet kunnen opheffen. Dergelijke delen kunnen bijvoorbeeld voorstellingen van woorden zijn wanneer V zinnen bevat. Deze delen staan in de kolommen van W, het aantal keer het deel voorkomt in een meting (kolom van V) staat in de kolommen van H. Meer bekende matrixfactorisaties als de singuliere waardenontbinding (SVD) leggen geen beperking op de tekens van de factoren op en slagen er daardoor niet in om “delen” terug te vinden. Het berekenen van de ontbinding gebeurt door iteratieve algoritmes, waarvan de globale convergentie niet aangetoond kan worden. Sterker nog, in de praktijk hebben we vaak last van locale minima, wat aanleiding geeft tot suboptimale oplossingen. Een tweede probleem is dat je over alle data V samen moet beschikken om een oplossing te kunnen berekenen. Vaak komt de data in V slechts kolom per kolom ter beschikking en zouden we graag over technieken beschikken die de factorisatie op incrementele manier kunnen berekenen, net zoals dat kan voor de SVD. Beide problemen zijn verwant. Het is dan ook de bedoeling om vertrekkende van een aantal suggesties van mogelijke initialisaties (bijvoorbeeld uitgaande van de SVD) na te gaan of we tot een algoritme kunnen komen dat op een brede waaier van NMF-problemen betere convergentie vertoont. Analoog zullen we een aantal suggesties (stochastic gradient) voor incrementele versies in kaart brengen en op concrete problemen uitproberen. Het aangename is dat je niet meer achter data hoeft aan te lopen. Die testsets liggen gewoon klaar ... Promotoren Prof. Hugo Van hamme (02.84) en Prof. Marc Van Barel (200A.02.184) Begeleiding Kris Demuynck (02.85), Joris Driesen (02.87) Werkverdeling inwerken in het onderwerp - 15 %, inwerken in bestaande tools - 5 %, ontwikkeling - 20 %, experimenten, evaluatie - 60 % Aantal studenten 1 of 2 Assessors Prof. Johan Suykens (01.90) en Prof. Dirk Van Compernolle (01.17)
multi-04 Eindwerkvoorstel Automatische analyse van spraakdatabanken 2008–2009 http://www.esat.kuleuven.be/psi/spraak/research/08-09/SpeechDB.php In samenwerking met Nuance Communications (Merelbeke). Om spraakherkenningssystemen te localiseren naar verschillende talen wordt gebruikt gemaakt van grote hoeveelheden opnames. De kwaliteit van het gegenereerde akoestische model hangt sterk af van de kwaliteit van de data. Daarom beluisteren operatoren deze opnames om de kwaliteit ervan te controleren en de inhoud nauwkeurig te beschrijven. Het doel van het eindwerk is om hulpmiddelen te bouwen die de operator moeten helpen bij zijn taak. Verschillende onderdelen zullen hierbij aan bod komen: •
•
•
Signaalanalyze van elke opname, waarbij allerlei eigenschappen worden bekekend en criteria worden ontwikkeld om de kwaliteit van een opname te beoordelen. Voorbeelden hiervan zijn: afgebroken uitingen, te stille opnames, geclipte signalen, signaal/ruisverhouding. Het gebruik van een spraakherkenner om een eerste evaluatie van de opnames te doen, en de uitingen te classifi¨eren volgens kwaliteitsniveaus: goedgekeurde uitingen, afgekeurde uitingen en uitingen die door een operator moeten beluisterd worden. Transcriptiefouten in lexicons kunnen gedetecteerd worden door met een spraakherkenner grote databestanden te analyseren en systematisch slecht scorende woorden en transcriptiesegmenten te detecteren. Dit kan een handig hulpmiddel zijn om linguisten gericht transcripties te laten verifi¨eren.
Het is de bedoeling om in samenwerking met de projectmanager bij Nuance deze onderdelen mee te helpen specifi¨eren, implementeren en evalueren. De centrale component van het systeem wordt een meertalige spraakherkenner. Hierbij wordt gebruik gemaakt van een bestaande spraakherkenner (software) die met behulp van Linux shell scripts aangestuurd wordt. Nuance is een wereldwijd bedrijf met hoofzetel in Burlington, Massachusetts (VS), actief op het gebied van documentbeheer en is wereldleider op vlak van spraaktechnologie. In de afdeling te Merelbeke wordt gewerkt aan spraakherkennings- en spraaksynthesesystemen voor de markt van mobiele toestellen, vooral voor de automobielwereld. VoCon is Nuance’s merknaam voor de spraakherkenners in dit domein. Promotor Prof. Hugo Van hamme (02.84) Begeleiding Kris Demuynck (02.85) Werkverdeling inwerken in het onderwerp - 10 %, inwerken in bestaande tools - 10 %, ontwikkeling in scripttaal en MATLAB code - 60 %, experimenten, evaluatie - 20 % Aantal studenten 1 of 2 Assessors Prof. Marc Moonen (01.69) en Prof. Patrick Wambacq (01.19)
multi-05 Eindwerkvoorstel
Interactieve gebruikersinterface voor de SPRAAK herkenner
2008–2009 http://www.esat.kuleuven.be/psi/spraak/research/08-09/pyspraak.php
De huidige SPRAAK herkenner bestaat uit een set van native applicaties en python scripts die gebruik maken van een gemeenschappelijke library. Deze applicaties zijn vooral geschikt voor offline gebruik en zijn weinig interactief. Een meer interactieve en visuele interface zou een aantal toepassingen ten goed komen: • • • •
Educatief: maakt het mogelijk om rechtstreeks met de verschillende componenten van een echte spraakherkenner te werken Research: interactief data opvragen en visualiseren Demo: ondersteunt het maken van interactieve demo’s Prototyping: interactief testen van nieuwe extensies
Als basis van de interactieve omgeving gebruiken we de python interpreter gecombineerd met enkele python libraries: numpy/scipy voor matrix en vector rekenen en matplotlib voor het visualiseren van data. Python kan rechtstreeks c-libraries inladen en aanroepen. De interpreter zal dus dezelfde libraries kunnen aanroepen die nu door de verschillende tools van de SPRAAK herkenner gebruikt worden. Er zijn scripts beschikbaar die wrapper python code genereren om het aanroepen van c-libraries te vereenvoudigen. Deze scripts kunnen c header files inlezen en python code genereren die alle publieke data structuren en functies beschrijven. Wat er ontbreekt is een cleane python API die alle beschikbare functionaliteit van de herkenner beschikbaar maakt. Een basis voor zo’n API werd gelegd en kan als een voorbeeld en start dienen voor een meer complete API en implementatie. Een eenvoudige validatie van de API zou kunnen gebeuren door e´ e´ n of meerdere van de bestaande tools te herschrijven naar pure python scripts. Als dit mogelijk is zonder de API te bypassen zijn we op de goede weg. Het zou bijvoorbeeld ook eenvoudig moeten zijn om via de interactieve prompt een audio file in te lezen, wat voorbewerking stappen erop los te laten en de data vervolgens te visualiseren. Promotor Prof. Patrick Wambacq (01.19) Begeleiding Jan Roelens (02.88) Werkverdeling inwerken in het onderwerp - 10 %, inwerken bestaande SPRAAK herkenner - 10 %, inwerken basis omgeving: python + numpy + matplotlib - 10 %, definitie python API - 25 %, implementatie python API - 30 %, validatie: omzetten e´ e´ n of meerder bestaande tools - 15 % Aantal studenten 1 of 2 Assessors Prof. Dirk Van Compernolle (01.17) en Prof. Marc Moonen (01.69)
multi-06 Eindwerkvoorstel Robuuste spraakdetectie 2008–2009 http://www.esat.kuleuven.be/psi/spraak/research/08-09/VAD.php Een belangrijk aantal fouten die een spraakherkenner maakt heeft te maken met spraakdetectie. Zelfs zwakke achtergrondgeluiden voor en na (ook tijdens) de te herkennen spraak geven aanleiding tot insertiefouten, m.a.w. de spraakherkenner probeert het achtergrondgeluid te verklaren als spraak. Dat komt omdat spraakherkenners gebruik maken van vrij nauwkeurige statistische modellen van spraak, terwijl achtergrondgeluid een danig breed begrip is dat het moeilijk nauwkeurig gemodelleerd kan worden. Daardoor zullen de steeds te eenvoudige modellen vaak als onwaarschijnlijk bestempeld worden door de decoder en kunnen spraakmodellen soms een hogere waarschijnlijkheid toebedeeld krijgen met de vermelde insertiefout als gevolg. Daarom bouwt men meestal een spraakdetector die enkel de nuttige spraak overhoudt en naar de spraakherkenner stuurt. Een dergelijke detector kan spraakkenmerken gebruiken die in een spraakherkenner moeilijk te verwerken zijn, zoals harmoniciteit (stemhebbende spraak), duur, pitchverloop, ... Naast het bestrijden van herkenningsfouten heeft een spraakdetector ook nog andere doelen. Wanneer enkel achtergrondgeluid hoorbaar is, zijn er weinig akoestische en grammaticale beperkingen (er zijn heel wat mogelijke woorden aan het begin van een zin !). Daardoor wordt heel wat rekenkracht verstookt wanneer er ... niets ... gezegd wordt ! Dit verschijnsel is des te erger, naarmate er bij een luidere achtergrond gewerkt wordt, die mogelijke spraak kan maskeren. Voor energiezuinige toepassingen (draagbare toestellen) is een spraakdetector dan ook een goede investering. Andere redenen om een goede spraakdetector aan te wenden is het aanpassen van het statistische model van het achtergrondgeluid, teneinde ervoor te kunnen compenseren tijdens de uiting. Het is dan ook de bedoeling om een betrouwbare spraakdetector te bouwen die bovenvermelde signaaleigenschappen (o.a. harmoniciteit) exploiteert. De evaluatie zal gebeuren door na te gaan hoeveel spraak in een databank correct wordt gedetecteerd, en hoeveel ten onrechte genegeerd wordt, en dit voor een waaier aan achtergrondgeluiden. Promotor Prof. Hugo Van hamme (02.84) Begeleiding Jacques Duchateau (02.88), Yujun Wang (02.87) Werkverdeling inwerken in het onderwerp - 10 %, inwerken in bestaande tools - 20 %, ontwikkeling - 50 %, experimenten, evaluatie - 20 % Aantal studenten 1 of 2 Assessors Prof. Marc Moonen (01.69) en Prof. Patrick Wambacq (01.19)
multi-07 Eindwerkvoorstel
Robuuste spraakherkenning - op naar menselijke performantie
2008–2009 http://www.esat.kuleuven.be/psi/spraak/research/08-09/MDT.php
Een van de redenen die een doorbraak van spraakherkenning in het dagdagelijkse leven in de weg staat, is het gebrek aan robuustheid tegen snel veranderende achtergrondruis. In de onderzoeksgroep SPRAAK lopen momenteel 2 projecten (zie iwt-project en MIDAS ) die aan de hand van “missing data theory” (MDT) de ruisrobuustheid van een spraakherkenner trachten te verbeteren. De werking van een spraakherkenner (zie Fig.1 ) is gebaseerd op statistiek: een zoekalgoritme vindt de zinshypothese die de waarschijnlijkheid op de geobserveerde data maximaliseert. Deze data bestaan uit vectoren van kenmerken die op regelmatige tijdstippen (bijvoorbeeld elk honderdste van een seconde) uit het spraaksignaal worden berekend. Een spraakherkenner beschikt over een akoestisch, een lexicaal en een grammaticaal model. Dit laatste modelleert welke woordsequenties meer of minder waarschijnlijk zijn. Het lexicale model legt de fonemen (klanken) vast waaruit een woord is samengesteld en het akoestisch model beschrijft de statistische relatie tussen de fonemen en de waargenomen kenmerkvectoren door een verborgen Markov model (HMM). Deze kansverdeling wordt meestal geparametriseerd door een som van meerdimensionale Gaussiaanse distributies.
Fig 1: Typische setup van een spraakherkenner. Door het toevoegen van ruis of reverberatie kunnen er echter grote veranderingen optreden in de statistieken van de kenmerkvectoren, hetgeen resulteert in een gevoelige degradatie van de performantie van het systeem. De gevolgde aanpak om deze mismatch te vermijden is gebaseerd op MDT. In een korte-tijds-spectrale voorstelling van verstoorde spraak kan men zones vinden waar de stoorsignalen de spraak overheersen, of dus waar de spraakdata ontbreken, het zogenaamde masker. Op die plaatsen wordt het ontbrekende spraaksignaal geschat gebaseerd op het spraakmodel dat volgt uit de door het zoekalgoritme veronderstelde zin (de data imputatie techniek). In Fig.2 vind je een voorstelling van een MDT-gebaseerde herkenner.
Fig 2: Schema van een MDT-gebaseerde spraakherkenner. Twee modificaties: missing data detector (MDD); imputatie techniek (evaluatie akoestisch model) Een kernpunt in deze MDT-systemen is de berekening van het masker (Fig.3 ). In het ideale geval waarbij de ruis op voorhand gekend is, kan je een nagenoeg ‘perfect’ masker opstellen. De performantie van de MDT-gebaseerde herkenner met deze maskers komt erg dicht bij die van menselijke luisteraars. In re¨ele omstandigheden is de ruis echter onbekend en zullen de maskers geschat moeten worden op basis van een model voor de spraak. Hierbij trachten we de kennis van de spraak maximaal te benutten en zo weinig mogelijk veronderstellingen over de ruis te maken.
Fig 3: Boven: spectrogram van een ruisvrij signaal (“one three nine zero”). Midden: spectrogram van het verstoorde signaal. Een analysevenster met een duur van 30ms wordt in stapjes van 10ms over het spraaksignaal geschoven. Bij elke stap wordt het vermogenspectrum berekend. De spectrale intensiteit wordt in de overeenstemmende verticale schijf weergegeven door de kleur (bruin = sterk, blauw is zwak). Onder: ideaal
masker voor het signaal. In de blauwe zones domineert het stoorsignaal en ontbreken meerdere spraakkenmerken. De herkenningsnauwkeurigheid van het MDT-systeem werd al gevoelig verbeterd, maar er is nog steeds een kloof tussen de resultaten bekomen met het ‘perfecte’ masker en praktisch inzetbare technieken. Een “missing data detector” (MDD) die we ontwikkeld hebben, hanteert een spraakmodel dat gebruikt maakt van Vector Quantisatie. Ondanks de mooie resultaten, kunnen we dit model echter nog verder verfijnen (o.a. meer spraakeigenschappen integreren) en uitbreiden (bv. feedback-informatie over de herkenningshypothese). Het is op die manier dat de thesis-student een belangrijke bijdrage kan leveren in de verdere ontwikkeling van de ESAT-herkenner. Promotor Prof. Hugo Van hamme (02.84) Begeleiding Maarten Van Segbroeck (02.86), Yujun Wang (02.87) Werkverdeling inwerken in het onderwerp - 10 %, inwerken in bestaande tools - 20 %, ontwikkeling - 50 %, experimenten, evaluatie - 20 % Aantal studenten 1 of 2 Assessors Prof. Marc Moonen (01.69) en Prof. Dirk Van Compernolle (01.17)