Samenvatting Hoorcollege 12/12/2002 - Spraakproductie en -perceptie
SAMENVATTING HOORCOLLEGE 12/12/2002
SPRAAKPRODUCTIE EN -PERCEPTIE Docent: Bart de Boer
Taakgroep 3: Daniel Kucharski, e-mail
[email protected] Jeroen Schaeken, e-mail
[email protected] Matti Roloux, e-mail
[email protected] Sara De Decker, e-mail
[email protected] Vicky De Neyer, e-mail
[email protected] Wouter Van den Broeck, e-mail mailto:
[email protected]
SPRAAKTECHNOLOGIE: INLEIDING Waarom? De twee belangrijkste redenen waarom men binnen het kader van artificiële intelligentie onderzoek doet op het vlak van spraaktechnologie zijn: 1.
Het verlangen om met machines en dieren te kunnen spreken. Een van de eigenschappen die de mens schijnbaar onderscheiden van de andere diersoorten is onze complexe manier van communicatie door middel van spraak. Spraak is intuïtief, snel en drukt een stempel op elke persoon; iedereen praat tenslotte anders. En het gaat zelfs nog verder dan dat: hele groepen van mensen hebben hun 'eigen' taal, denk maar aan de dialecten en ‘subculture slang’.
2.
Spraak kan ervoor zorgen dat machines makkelijker te besturen worden, en dat ze ook een menselijker gelaat krijgen. Aangezien veel mensen nogal terughoudend staan tegenover computers (of machines in het algemeen), zou een spraakgestuurde interface deze kloof voor een groot deel kunnen dichten. Bovendien worden computers die spraak begrijpen sneller als 'intelligent' beschouwd.
Natural Language Processing Om een volledig spraakbegrijpend systeem te bouwen is Natural Language Processing (NLP) nodig. Dit is een zeer complex probleem. Eerst moet spraak op de een of andere manier worden opgeslagen in een computergeheugen. Hiervoor moet een compacte maar tegelijk ook descriptieve voorstelling worden bedacht (meer hierover later). Daarna moeten de spraaksignalen omgezet worden naar lettertekens, die op hun beurt ten slotte moeten worden geïnterpreteerd om er een betekenis aan te hechten. Spraakherkenning is niet hetzelfde als NLP. Spraakherkenning is enkel (alhoewel zeer complex) het omzetten van gesproken woorden naar zichtbare tekens. Computers zijn hierbij onontbeerlijk. Merk op dat er voor spraakherkenning zeker toepassingen te bedenken zijn. Denk maar aan een spraakgestuurde applicatie die een aantal vaste (gesproken) commando's kent.
Pagina 1/5
Samenvatting Hoorcollege 12/12/2002 - Spraakproductie en -perceptie
Geschiedenis Spraakherkenning Spraakherkenning is geen triviaal probleem; •
• • •
Er bestaan geen 'shortcuts' voor spraakherkenning: hoewel er voor heel wat problemen in de informaticawereld handige trukjes of algoritmes bestaan die allerhande problemen een stuk makkelijker maken, is dit voor spraakherkenning niet het geval. Een spraakcomputer moet op een of andere manier getraind kunnen worden. In spraak zit er heel wat variatie: dialecten, tempoverschillen, ruis op de communicatie tussen spreker en luisteraar, enz. Spraakherkenning moet deze verschillen kunnen wegfilteren. Mensen die praten spreken de meeste woorden na elkaar uit zonder pauze. Hierdoor wordt het voor een computer moeilijk om een onderscheid te maken tussen de verschillende woorden. De mens zelf daarentegen leert dit door ervaring. Veelgebruikte methodes als template matching (voorbeeldwoorden opnemen en proberen te matchen aan de spraak) en dynamic time warping (kan overweg met verschillende spraaksnelheden) werken niet echt goed. Sinds de uitvinding van de Hidden Markov Models (jaren '80) komt er wel wat schot in de zaak.
Spraakproductie De spraakproductie heeft een veel rijkere geschiedenis. Dit heeft veel te maken met het feit dat deze taak eenvoudiger is, en er in zekere zin zelfs geen computer nodig is. De uitspraak van de machine moet immers niet perfect zijn, aangezien de mens zeer bedreven is in het begrijpen van taal. Een belangrijk probleem is echter intonatie. Om te kunnen intoneren moet je natuurlijk de betekenis van een zin kennen. Doorheen de jaren zijn er een aantal machines gebouwd die elk probeerden menselijke spraak na te bootsen. Een overzicht: • • • •
• • •
Von Kempelen (1791): soort blaasbalg en rubberen zakje om in te knijpen. Deze uitvinding was meer een kermisattractie dan een realistische spraakmachine. Faber (1835): voortzetting van Von Kempelen. Kon als een piano bediend worden. The Voder (1939): bedoeld om telefoongesprekken mee samen te kunnen persen. Pattern Playback (1950): belangrijk voor onderzoek naar spraak. Werkte met een doorzichtige folie, waar patronen op geschilderd konden worden. Deze werden gelezen dmv lichtgevoelige cellen, en omgezet in geluidsfrequenties. Het geluid klinkt wel niet realistisch, aangezien er geen intonatie in zit. Fant's Model (1953): kon alleen klinkers produceren, maar met variabele toonhoogte. De kwaliteit van de spraak is een stuk slechter, maar door de intonatie wordt ze wel veel verstaanbaarder Dutoit: (België) houdt zich vooral bezig met het achter elkaar plakken van klanken. Vooral de intonatie is van zeer goede kwaliteit. Het geproduceerde geluid klinkt wel wat metalig. L & H: (België) state of the art. Een zeer geavanceerd (commercieel) model. De artificieel geproduceerde spraak klinkt heel realistisch.
Aspecten van spraakherkenning Binnen de spraakherkenning bestaan er een aantal verschillen in complexiteit. • • •
Geïsoleerde / niet-geïsoleerde woorden: losse woorden herkennen is veel makkelijker dan volledige zinnen. Beperkt / onbeperkt domein: een spraakherkenningssysteem dat enkel het jargon van een bepaald vakgebied begrijpt, of om het even welk onderwerp begrijpt. Sprekerafhankelijk / sprekeronafhankelijk: tussen mensen onderling bestaat er een groot verschil in (uit)spraak.
Een sprekeronafhankelijke machine die op een onbeperkt domein werkt is nagenoeg onmogelijk te bouwen. Met een beperkt domein daarentegen is wel mogelijk. Een voorbeeld hiervan zijn de Nederlandse spoorwegen, die een systeem hebben waarbij je telefonisch aan een machine de dienstregeling van een
Pagina 2/5
Samenvatting Hoorcollege 12/12/2002 - Spraakproductie en -perceptie
trein kan opvragen. Een domeinonafhankelijke, sprekerofhankelijke machine kan ook. Denk maar aan dicteersystemen. Op dit moment staat de spraakherkenning al op een redelijk niveau. Maar, in vergelijking met de mens, staat ze nog nergens. Computers leren namelijk enorm veel trager dan mensen.
Signaalverwerking Spraaksingalen zijn zeer complex. Hoe moeten ze opgeslaan worden in een computer? Eerst moet een frequentieanalyse gemaakt worden. Deze onderzoekt de pieken in een spraaksignaal, ten opzichte van de frequentie. Hiermee kan het signaal gekarakteriseerd worden. Merk op dat deze techniek in de praktijk niet letterlijk gebruikt kan worden, wegens te complex. Voor meer (technische) informatie: zie Russell & Norvig 24.7.
MODELLEN VAN SPRAAKHERKENNING Een akoestisch model is een productiemodel, het doet niets anders dan zeggen welke klank er geproduceerd wordt bij een gegeven woord. Er zijn een aantal technieken om zo’n productiemodel te vormen • Een van de minder goede technieken is het gebruiken van template matching. Deze techniek houdt in dat men de woorden van de input gaat vergelijken met de templates. Templates beschrijven de woorden die al herkenbaar zijn. • Markov model; gaat aan de hand van waarschijnlijkheden gaan berekenen wat de kans van zo’n state is. MM is een van de betere manier om een productiemodel te bouwen. Ze is efficiënt en robuust. De efficiëntie komt door het feit dat het lineair is in het aantal elementen in de tijdsreeks. • Hidden markov Model. Het hidden markov model trekt sterkt op het model hierboven. Het enige verschil is dat men boven op het MM nog eens kansen toevoegt aan de mogelijke uitkomsten. Men spreekt van een HMM omdat de echte state verborgen is voor de gebruiker. M.a.w wanneer je een output krijgt weet je niet zeker uit welke state dit symbool kwam. HMM is snel, efficiënt en robuust. Als het HMM meer getraind wordt dan zullen deze eigenschappen nog verbeteren. Want hoe meer het weet, hoe beter het wordt qua spraak. Men mag echter niet vergeten dat het hidden markov model zeer praktisch is voor spraakherkenning maar geen realistisch model is want de mens organiseert zijn spraak anders. Dit is de oorzaak waarom het leren van woorden bij de mens vlugger gaat dan bij een computer.
HIDDEN MARKOV PROBLEMEN We kunnen 3 basisproblemen en bijhorende algoritmes onderscheiden als gegeven is een HMM en een reeks van symbolen.
Forward algoritme Gegeven een reeks O en de toestanden van HMMθ, wat is dan de waarschijnlijkheid dat hij door een gegeven model is gegenereerd? => Gezocht: P(O|θ)
Werking: Een algoritme vindt alle paden naar een toestand voor een symbool van de reeks te bekomen in het HMM. Hierbij is de waarschijnlijkheid in die toestand dan de som van de waarschijnlijkheden van vorige toestanden maal de overgangswaarschijnlijkheid tussen de 2 toestanden maal de waarschijnlijkheid om de correcte output te genereren in de huidige toestand. Als alle symbolen van de hele reeks gevonden zijn, dan is de totale waarschijnlijkheid om die reeks te genereren de som van (het zijn in) alle (eind)toestanden die de gegeven reeks genereren.
Pagina 3/5
Samenvatting Hoorcollege 12/12/2002 - Spraakproductie en -perceptie
Formule: zie oefeningenles oef 5
Viterbi algoritme Gegeven een reeks O en toestanden van HMMθ, wat is dan het meest waarschijnlijke pad ξ die de reeks O produceert? =>Gezocht: ξ; Argmax P(ξ|O, θ)
Werking: De Markov-eigenschap: “het meest waarschijnlijke pad voor de rest van de reeks hangt enkel af van de toestand van waar hij start, niet van hoe we in die starttoestand zijn gekomen” Het Viterbi algoritme gebruikt de Markov-eigenschap zodat hij dus niet moet kijken naar al de verschillende paden die leiden naar een bepaalde toestand, voor elke toestand, maar enkel het meest waarschijnlijke pad naar die toestand bijhouden. In praktijk zien we dan ook dat in elke toestand maar 1 inkomend pad is(degene met de hoogste waarschijnlijkheid), daarintegen kunnen er natuurlijk wel verschillende paden uit vertrekken. Formule: zie oefeningenles oef 6 Toepassing: Spraakherkenning
Forward-Backward algoritme (Baum-Welch algoritme) Gegeven een reeks O en toestanden van HMM θ, hoe kan je de toestanden verbeteren zodat met de hoogste waarschijnlijkheid de reeks O wordt geproduceerd? =>Gezocht: θ; Argmax (θ|O) Toepassing: trainen van HMM
SPRAAK SYNTHESE Difoonsynthese Een klankpaar, vooral beschouwd wat betreft de overgang van de ene klank in de andere. Bij difoonsynthese wordt niet geprobeerd akoestische elementen af te bakenen maar worden de grenzen juist bij de extremen gelegd. Men knipt signalen op de plaasten waar het spectra het meest constant is. De moeilijkheid is niet het knippen van deze geluidsfragmenten maar met varia fragmenten (samples) natuurlijk klinkend woord bouwen. Twee problematieken die onstaan zijn :
• Hoe plak je ze aan elkaar? • Hoe verander je de duur en intonatie?
Hoe plak je ze aan elkaar? Alvorens deze vraag te beantwoorden is het interessant om de omzetting van analoge recording naar digitale sound processing te behandelen. Geluid is een analoge energiebron, die als deze opgenomen wordt door een microfoon, door middel van een analoog naar digitaal converter (AD convert) in een digitale stroom (van 0 en 1 'nen) wordt omgezet. Het aantal keer (frequentie) dat we naar het signaal kijken per seconde noemt men de sampling rate. Gangbare
Pagina 4/5
Samenvatting Hoorcollege 12/12/2002 - Spraakproductie en -perceptie
vormen zijn 16 Khz (16000 keer per seconde). Tevens is de precisie van het fragment ook belangrijk, de quantization factor genaamd (gangbaar is 8 tot 12 bits). Het probleem van de informatie in huidige vorm is de grote hoeveelheid informatie op een klein tijdsverloop. Dit kan men oplossen door te beginnen met samples te groeperen tot grotere blokken, frames genaamd. Hierdoor kan men makkelijker bepaalde karakteristieken vinden. In zo een frame worden bepaalde karakteristieken naar voren gebracht en in een n dimensionele matrix gezet (per frame), dit noemt men vector quantization. Hierdoor kan de bekomen compacte informatie makkelijker en sneller in realtime worden behandeld. Door bepaalde patronen te analyseren kan men zelf klanken produceren door deze frames aan elkaar te plakken en de informatie analoog (dus eerst door een DA convert) naar speakers te sturen. Geluidsfragmenten kunnen aan elkaar worden geplakt door deze enerzijds aan elkaar plakken, en anderzijds op het klein verbindend gedeelte een wiskundige bewerking op uit te voeren op het energieniveau.
Hoe verander je de duur en intonatie? Een merkwaardig fenomeen in een gesproken klank is dat er vaak een herhaling is van een bepaald patroon (window). Indien men deze herhalende patroon gaat contoureren (waarbij de pieken pitches genaamd worden) verkrijgt men een omvattende "harnas" van het geluidsfragment. Door op basis van dit harnas deze uit te rekken in functie van tijd kan men de geluidsinformatie binnen een window op de juiste basis transformeren en verkrijgt men een langere klank dan voorheen. Tijdens deze transformatie worden dan samples toegevoegd. Door op een klank de windows te vervormen (pieken verhogen / verlagen) kan men de intonatie veranderen.
Pagina 5/5