Tor Sigvardson. Handledare: Rolf Carlson. Godkänt den 11 december 2002
|
|
- Viktoria Abrahamsson
- för 7 år sedan
- Visningar:
Transkript
1 Datadrivna metoder för parametersyntes beskrivning av ett system och experiment med CART-analys Tor Sigvardson Handledare: Rolf Carlson Godkänt den 11 december 2002 Examinator: Rolf Carlson... (underskrift) Stockholm december 2002 ([DPHQVDUEHWHLWDONRPPXQLNDWLRQ TT &HQWUXPI UWDOWHNQRORJL Institutionen för tal, musik och hörsel Kungliga Tekniska Högskolan Stockholm
2
3 ([DPHQVDUEHWHLWDONRPPXQLNDWLRQ,QVWLWXWLRQHQI UWDO PXVLNRFKK UVHO Datadrivna metoder för parametersyntes beskrivning av ett system och experiment med CART-analys Tor Sigvardson *RGNlQW Examinator Rolf Carlson Handledare Rolf Carlson Sammanfattning Det har visats att naturligheten i traditionell regelbaserad talsyntes kan förbättras med hjälp av datadrivna metoder inspirerade av tekniker från konkateneringssyntes. Denna examensarbetesrapport beskriver ett försök att undersöka dessa möjligheter närmare. Ett flexibelt system där regelbaserad formantsyntes integreras med konkateneringssyntesens användande av enhetsval (eng. XQLWVHOHFWLRQ) kommer att byggas upp och utvärderas. Till skillnad från traditionell konkateneringssyntes, där enheter av akustiska inspelningar används, använder systemet som beskrivs här enheter med parametervärden. I förväg specificerade parametrar från det regelbaserade syntessystemet läses från fil och ersätts med parametervärden från ett enhetsbibliotek. Rapporten innehåller också en undersökning av möjligheten att bygga ett större enhetsbibliotek genom CART-klustring av en taldatabas. För CART-klustringen krävs en algoritm som kan hantera flerdimensionella beroendevariabler och implementationen av en sådan algoritm beskrivs. Även resultatet av ett klustringsförsök på enheten HQredovisas och utvärderas.
4
5 0DVWHU V7KHVLVLQ6SHHFK&RPPXQLFDWLRQ 'HSDUWPHQWRI 6SHHFK0XVLF DQG+HDULQJ Data-driven Methods for Parameter Synthesis Description of a System and Experiments with CART-Analysis Tor Sigvardson $SSURYHG Examiner Rolf Carlson Supervisor Rolf Carlson Abstract It has been shown that the perception of naturalness in traditional rule based speech synthesis can be improved by the use of data-driven methods inspired by unit selection techniques. This Master s thesis describes an effort to investigate these possibilities further. A flexible system, where a rule based formant synthesis system is integrated with unit selection, will be built and evaluated. As opposed to the use of recorded speech-units in traditional unit selection the system described here uses a library of parameter-units. Specified parameters from the rule based speech system are read from file and replaced by parameter values found in a unit library. The report also describes an exploration of the possibility to build up a large unit library by use of the CART-clustering method on a corpus. For this clustering, a CART-algorithm that can handle multidimensional dependent variables is needed and the implementation of such an algorithm is described. The result from an attempt to cluster the unit HQ is also shown and evaluated.
6
7 ,QQHKnOOVI UWHFNQLQJ g9(56,.7g9(55$33257(1 1.1 EXAMENSARBETETS MÅL I KORTHET RAPPORTENS DELAR (25, 2.1 TALSYNTES DATADRIVNA ANALYSMETODER CART-TRÄD, HISTORIK (.7(76*(120)g5$1'( 3.1 BAKGRUND, FÖRUTSÄTTNINGAR OCH MÅL PROJEKTETS HUVUDDELAR VERKTYG '$7$'5,9(13$5$0(7(56<17(6 4.1 SYSTEMET I ÖVERSIKT ENHETSBIBLIOTEKET OCH SÖKNING DURATIONSANPASSNING SAMMANSLAGNING OCH INTERPOLATION... 32,03/(0(17$7,21$9'$7$'5,9(13$5$0(7(56<17(6 5.1 KLASSER I DDPS BIBLIOTEKETS UPPBYGGNAD EFFEKTIVITET OCH FELHANTERING UTVÄRDERING AV DET IMPLEMENTERADE SYSTEMET... 40,03/(0(17$7,21$9&$57$/*25, ANALYSMATERIALETS FLERDIMENSIONELLA STRUKTUR DEFINITION AV IMPURITY ALGORITMEN GRUNDERNA FÖR IMPLEMENTATIONEN STOPPVILLKOR ÖVRIGA KLUSTRINGSVAL FELKLASSIFICERINGSKVOT OCH PRUNING VISUALISERING VERIFIERING &$57$1$/<62&+833%<**1$'$9(77(1+(76%,%/,27(. 7.1 PRINCIP FÖR UPPBYGGNAD AV ENHETSBIBLIOTEKET FÖRBEREDELSER INFÖR KLUSTRINGEN CART-KLUSTRING AV ENHETEN ( VERIFIERING AV CART-RESULTATET NÅGRA IAKTTAGELSER UNDER CART-KLUSTRINGEN SLUTSATSER OCH FÖRSLAG INFÖR NYA FÖRSÖK... 62
8 6$00$1)$771,1* 7$&. /,77(5$785)g57(&.1,1* %,/$*$,''36,03/(0(17$7,21 %,/$*$,,&$57,03/(0(17$7,21 %,/$*$,,,25'/,67$
9 gyhuvlnw YHUUDSSRUWHQ Denna rapport beskriver ett examensarbete, för filosofie magisterexamen i datalogi, utfört på institutionen för tal, musik och hörsel (TMH) på Kungliga tekniska högskolan i Stockholm. Rapporten är framlagd vid institutionen för numerisk analys och datalogi (Nada), Stockholms universitet. ([DPHQVDUEHWHWVPnOLNRUWKHW Examensarbetet utgörs av tre viktiga steg för att skapa grunderna till ett system som på automatisk väg och med datadrivna metoder skall kunna förbättra naturligheten i ett regelbaserat parametriskt talsyntessystem. Det första av dessa steg, eller delmål, är att skapa ett flexibelt experimentellt system som knyter samman TMH:s regelbaserade syntessystem med ett enhetsbibliotek av uppmätta formantvärden. Det sista, tredje delmålet, utgörs av en undersökning av möjligheterna att med klusteranalys av inspelat tal skapa ett bra enhetsbibliotek. Denna uppgift kommer att kräva ett klustringsverktyg med flerdimensionell funktionalitet. Skapandet av ett sådant verktyg utgör därför i sig självt ytterligare ett delmål, nämligen det andra. En grundligare presentation av hur arbetet är upplagt och dess delmål presenteras i avsnitt DSSRUWHQVGHODU Rapporten består av sex huvuddelar. I kapitel 2 behandlas de teoretiska grunderna för projektet. Kapitel 3 ger baserat på de teoretiska grunderna i kapitel 2 en noggrann översikt över hur arbetet är upplagt och vilka mål som satts upp. I kapitel 4 beskrivs den teoretiska bakgrunden bakom det system för datadriven parametersyntes som sedan byggs upp och utvärderas i kapitel 5. Kapitel 6 innehåller idéerna bakom skapandet av ett CART-program samt en kort översikt över dess implementation. I kapitel 7 används slutligen CART-programmet till att göra klusteranalys av en taldatabas. Kapitlet avslutas med en utvärdering av försöket. Möjligheten att använda klustringsresultatet i det datadrivna syntessystemet undersöks också. Slutligen sammanfattas hela projektet i kapitel 8. Därpå följer tack, litteraturförteckning och bilagor, inklusive en ordlista. 9
10
11 7HRUL I detta kapitel går vi igenom de teoretiska grunderna bakom examensarbetet. Vi börjar med en genomgång av viktiga begrepp inom talsyntesen. Därefter följer en kort sektion om datadrivna analysmetoder som mynnar ut i en mer utförlig beskrivning av CART-analys vilken är den analysmetod som kommer att användas i detta arbete. 7DOV\QWHV Tal är ett fenomen som gör människan unik i förhållande till resten av djurriket. Eftersom det också är en mycket effektiv form av kommunikation (Chapanis 1975) så är det rimligt att anta att tekniska systems användbarhet kan förbättras om man kan utveckla bra talbaserade gränssnitt. Uppgiften att skapa ett gränssnitt för tal kan vi dela in i två ganska självklara kategorier: Tolkning av tal Produktion av tal Till detta tillkommer en mindre uppenbar komponent nämligen GLDORJKDQWHULQJ. Den knyter ihop tolkningen och produktionen så att en meningsfull dialog kan upprättas med användaren av systemet. Denna rapport kommer att beröra produktion av tal. Tittar vi närmare på detta område kan vi göra ytterligare en distinktion: Produktion Reproduktion Ett exempel på reproduktion av tal är att med bandspelare och mikrofon spela in vad en människa säger för att senare spela upp samma yttrande via en högtalare. Vid produktion av tal finns så att säga inget original till det yttrande vi vill spela upp. Vi måste då skapa det på konstgjord väg. Vi måste syntetisera talet, utföra en WDOV\QWHV. 7LGLJDI UV N Försök att på mekanisk väg framställa tal gjordes redan på 1700-talet och de första försöken med elektricitetens hjälp gjordes under första halvan av 1900-talet (Klatt 1987). Runt början av 1960-talet började det teoretiska ramverket för att fysikaliskt beskriva människans talproduktion att ta form i den så kallade NlOODILOWHUPRGHOOHQ. I denna modell delas talproduktionen upp i två huvudkomponenter; dels en källa som producerar någon form av ursprunglig signal, dels ett filter som omformar denna signal. Källan består i allmänhet av antingen stämbandens vibrationer eller turbulensen i en trång passage i munhålan. Filtret består av munhålan som helhet, där tungans position, läpparnas rundning, näshålans öppning bakåt mot svalget, med mera påverkar filtrets egenskaper. Av stor betydelse är här filtrets förmåga att modellera de så kallade IRUPDQWHUQD. Formanter är resonansfrekvenser i munhålan och lite förenklat kan man säga att det är dessa som avgör vilket talljud som produceras. Det vill säga, olika formantvärden leder till olika talljud. Ett illustrativt exempel på detta är de två lägsta formantvärdenas betydelse för vilket vokalljud vi uppfattar (se Figur 1). 11
12 DATADRIVNA METODER FÖR PARAMERSYNTES )LJXU6YHQVNDYRNDOHU) UKnOODQGHWPHOODQDRFKDIRUPDQWHQVSHODUHQDYJ UDQGH UROOI UYnUSHUFHSWLRQDYYRNDOHU'HIRQHWLVNDWHFNQHQlUVNULYQDPHGGHWVN,3$DOIDEHWHW Källa-filter-modellen lade den teoretiska grunden för konstruerandet av den analoga formantsynthesizern. Exempel på tidiga sådana maskiner är PAT och OVE I från 1950-talet. I dag är datorn och den digitala tekniken självklara verktyg för utvecklandet av talsyntes men de moderna varianterna av SDUDPHWULVNUHJHOV\QWHV bygger i princip på samma idéer som de tidiga försöken på 1950-talet. Genom att behandla en given text enligt fastställda regler skapas parametervärden som varierar över tiden. Dessa skickas vidare genom en matematisk modell över talorganen och som utdata erhålles en signal som till exempel kan driva en högtalare. Genom så kallad FRS\V\QWHV har man på detta sätt lyckats att på helt konstgjord väg, det vill säga utan att använda några akustiskt inspelade signaler, producera tal som är mycket likt tal från en människa (Carlson et al. 1991). 3UREOHPPHGJHQHUHOOV\QWHV Tyvärr är det stora problem med att skapa generella metoder för automatisk syntes. En högkvalitativ modell av människans talproduktion kan mycket väl innehålla ett 60-tal olika parametrar (Dutoit 1997). Antalet möjliga kombinationer av parametervärden är följaktligen mycket stort. Att med regler producera godtyckliga yttranden av naturtroget tal på detta sätt har därför visat sig mycket svårt. Den fysikaliska modellen i sig kan mycket väl vara en god approximation av människans talproduktion men hur denna modell till fullo skall kunna styras är inte helt klarlagt. En annan svårighet i detta sammanhang är den så kallade IRQRORJLVNDSDUDGR[HQ eller LQYDULDQVSUREOHPHW(McAllister 1994). Paradoxen består i hur det kommer sig att ett IRQHP 1 ur akustisk synpunkt kan realiseras av en talare på en stor mängd olika sätt, men fortfarande uppfattas som ett och samma fonem av lyssnaren. Dels finns många 1 Ett fonem är den minsta betydelseskiljande enheten i ett språk. Till exempel är E och S två olika fonem i orden ELO och SLO. 12
13 TEORI akustiska varianter av ett fonem, dels kan olika fonem överlappa varandra i akustiskt hänseende utan att det leder till sammanblandning hos lyssnaren. Klart är emellertid att den kontext som fonemet befinner sig i spelar en viktig roll för hur det realiseras och uppfattas (Nord 1986). Det omvända gäller också; nämligen att en bokstav i en text inte har en direkt motsvarighet i något specifikt ljud. Även här är kontexten avgörande. Följaktligen räcker det inte med en modell av människans talorgan för att skapa bra syntetiska text-tilltalsystem. Det krävs också kunskaper om relationen mellan stavning och uttal. 2PVNULYQLQJVUHJOHURFKUHJHOV\QWHV De lingvistiska teorier uppbyggda kring så kallade RPVNULYQLQJVUHJOHU(på engelska: UHZULWHUXOHV) som Noam Chomsky utvecklade på 50-talet har visat sig vara användbara för att formalisera kontextens inverkan på t.ex. fonem (Dutoit 1997). Den grundläggande principen för denna typ av regler är: D EOBU som betyder: D ersätts med E i kontexten (dvs. då den omges av) O och U. Kontexten kan även ha många nivåer: OBUOBU... osv. På engelska kallas detta PXOWLOHYHOUHZULWHUXOHV. Bland annat har omskrivningsregler visat sig vara användbara vid regelsyntes. Poängen med att använda omskrivningsregler är att man steg för steg kan byta ut de vanliga tecknen i en text till parametrar på en form som passar den typ av talsyntessystem man använder. Metoden innebär att man relativt enkelt kan införa nya regler i systemet för att skapa nya talstilar, implementera nya språk med mera (Carlson et al. 1990). Ett av de stora hindren för riktigt bra regelsyntes är svårigheten att skriva uttömmande omskrivningsregler. Kunskaperna om vilka regler som styr talproduktionen är inte tillräckligt heltäckande (Dutoit 1997). $XWRPDWLVNDPHWRGHU Det är uppenbart att skapandet av regler för att syntetisera tal innebär stora problem. Vi kan inte ens vara säkra på att det överhuvudtaget finns några givna kompletta regler som går att upptäcka och formalisera i lingvistiska teorier. Människans tillkortakommande när det gäller att överblicka och organisera stora mängder information spelar här en roll. Ett sätt att ta sig förbi problemet med att formulera regler manuellt kan därför vara att utföra någon slags automatisk analys vars resultat går att implementera i en modell. Denna typ av metoder som vi kallar GDWDGULYQD bygger på idén att automatiskt analysera och formalisera ett stort datamaterial (till exempel en databas med inspelat tal). Exempel på en sådan metod är så kallad NOXVWHUDQDO\V som tas upp i avsnitt RQNDWHQHULQJVV\QWHV Det finns ytterligare ett sätt att komma runt problemet med vår ofullständiga kunskap om talproduktionen. Istället för att med parametrar och regler på syntetisk väg skapa talljuden kan vi plocka ihop bitar av inspelat tal ur en databas med ljudfiler. Denna mer minneskrävande metod kallas NRQNDWHQHULQJVV\QWHV. Denna metod har blivit allt mer populär eftersom priset på lagringsmedia och RAM-minne ständigt sjunker. Tekniken att välja bitar brukar benämnas med en engelsk term: XQLWVHOHFWLRQ. Man 13
14 DATADRIVNA METODER FÖR PARAMERSYNTES kan plocka ihop allt från enstaka ljud fonem till hela meningar. Eftersom det är mycket svårt att göra bra skarvar mellan två isolerade fonem brukar den minsta enheten i konkateneringssyntes vara två fonem tillsammans, så kallade GLIRQHU. Man placerar då skarven mitt i fonemen. Till exempel bildas ordet KXQG av difonerna: _K KXXQQGGB 2 Då man använder enheter med tre fonem WULIRQHU blir det centrala fonemet orört och skarvarna hamnar halvvägs in i de två ytterfonemen. Större enheter kan användas men ett stort problem är att antalet enheter som krävs för ett komplett lexikon ökar dramatiskt med enhetslängden. Andra problem med konkateneringssyntes är att få skarvarna att låta bra, att välja rätt enheter, att hushålla med lagringsutrymme och svårigheten att komplettera ett system i efterhand. För att få en så bra skarv som möjligt mellan två talsegment kan två huvudsakliga metoder användas: Urval välj två segment som är akustiskt lika. Signalbehandling bearbeta segmenten så att de blir akustiskt lika. Eftersom en och samma fonetiska enhet kan realiseras på en rad olika vis brukar man dessutom använda sig av en uppsättning olikljudande versioner av varje enhet. Genom att använda olika urvalskriterier väljer man sedan rätt enhet för sammanhanget. Med flera versioner av samma enhet ökar naturligtvis ytterligare behovet av lagringsutrymme. 8UYDOVPHWRGHUYLGNRQNDWHQHULQJ Vid urvalet av talsegment ur databasen räcker det tyvärr inte bara att ta hänsyn till den akustiska likheten mellan dem. Vi måste också göra ett val av segment som stämmer överens med hur det önskade ordet skall låta. Detta kan ge upphov till en konflikt eftersom två talsegment som är önskvärda utifrån en analys av den text som skall syntetiseras kan komma att passa ihop dåligt i sammanbindningspunkten. En vanlig metod för att skapa en kompromiss i denna konflikt är att införa två kostnader: PnO NRVWQDGoch NRQNDWHQHULQJVNRVWQDG. Målkostnaden stiger då ett segment avviker från vad som önskas utifrån en analys av texten medan konkateneringskostnaden stiger då kvaliteten på skarven mellan segmenten blir dålig. Ur databasen plockar man fram ett antal tänkbara kandidater och väljer sedan den sekvens som ger den minsta sammanlagda kostnaden (Hunt 1996). Att hitta den optimala sekvensen när antalet steg och kandidater är stort medför en mycket stor komplexitet. För att få rimliga exekveringstider måste algoritmer som effektiviserar processen användas. En vanlig sådan sökalgoritm är YLWHUELV NQLQJ. Den används flitigt inom taligenkänning (Ström 1997). Mycket förenklat kan vi säga att metoden där går ut på att finna den mest sannolika vägen i en graf där noderna motsvarar möjliga tolkningar av ett yttrande. Idén kan generaliseras till att användas inom konkateneringssyntes om vi byter ut sannolikhet mot kostnad, se Figur 2. 2 Strecket _ står för den tystnad som föregår det första eller följer det sista fonemet i ett ord. 14
15 TEORI 2 _MÅS_ _M _M MÅ 1 2 MÅ ÅS 1 7 ÅS _M S_ ÅS 3 5 )LJXU6 NQLQJHIWHUGHQYlJLJUDIHQVRPJHUGHQOlJVWDNRVWQDGHQ,GHWWDI UHQNODGH H[HPSHOPHGGLIRQHUILQQVHQNRQNDWHQHULQJVNRVWQDGVLIIURUQDSnOLQMHUQDVRPELQGHU VDPPDQHQKHWHUQDVDPWHWWPnOYlUGHVLIIURUQDXQGHUGHVWUHFNDGHOLQMHUQDLYDUMHHQKHWSHU GLIRQ'H QVNDGHPnOYlUGHQDUHGRYLVDV YHUVWLILJXUHQ.RQNDWHQHULQJVNRVWQDGHUQDRFK DYYLNHOVHUQDIUnQPnOYlUGHWDGGHUDV'HQYlJLJUDIHQVRPJHUOlJVWNRVWQDGKDUPDUNHUDWV 6LJQDOEHKDQGOLQJ För att förbättra skarven mellan två segment kan man också genomföra någon form av signalbehandling. Vi kan urskilja tre huvudsakliga skillnader mellan ljudsegment: Ljudnivå Grundtonsfrekevens Klang Att justera ljudnivån så att två segment stämmer överens är relativt enkelt medan de andra två skillnaderna är svårare att kompensera för. Inte minst eftersom man behöver mäta upp och parametrisera storheterna för att kunna jämföra dem. I allmänhet använder man här precis som i fallet med regelsyntes någon form av modell över talproduktionen för att representera data i det inspelade talmaterialet (Dutoit 1997). 'DWDGULYQDDQDO\VPHWRGHU Det finns inte någon entydig distinktion mellan datadrivna och modellbaserade metoder. Oftast använder man någon form av modell även då man använder datadrivna metoder (Sprent 1998). Inte sällan arbetar man med kombinationer av de två angreppssätten. Datadriven analys kan till exempel användas för att förbättra och vidareutveckla en kausal modell, men också för att komplettera den..oxvwhudqdo\v I och med utvecklingen på datorområdet är det idag möjligt att samla ihop, lagra och söka i stora mängder data. Att detta inte automatiskt innebär att vi kan dra bättre slutsatser är inte så konstigt. För att kunna dra slutsatser måste vi hitta något slags mönster och regelbundenhet i det vi betraktar. En metod att finna sådana mönster är NOXV WHUDQDO\V. Klusteranalys bygger på att man grupperar elementen i en datamängd i delmängder. Man försöker placera element som på något sätt är lika varandra i samma delmängd (Cios et al. 1998). Inom området maskininlärning brukar man skilja på 15
16 DATADRIVNA METODER FÖR PARAMERSYNTES övervakad inlärning VXSHUYLVHGOHDUQLQJ och oövervakad inlärning XQVXSHUYLVHG OHDUQLQJ. I övervakad inlärning vet man i förväg vilken grupptillhörighet objekten har och målet med analysen kan exempelvis vara att skapa metoder för automatisk klassifikation. Oövervakad inlärning liknar i princip regression på så sätt att det handlar om att hitta strukturer i ett okänt material. $YVWnQGVPnWW Definitionen av likhet mellan objekt är komplicerad. Det finns inte någon given definition som passar i alla lägen. Vanligtvis formaliserar man graden av likhet mellan objekt med någon form av DYVWnQGVPnWW. Ett vanligt avståndsmått är generaliseringen till godtycklig dimension Q av vår vardagliga definition av avståndet mellan två punkter i det tredimensionella rummet: & & [ \ = Q L = 1 [ L \ L 2 (2.1) Ovanstående avståndsdefinition är vad vi kallar det HXNOLGLVND avståndet och är ett specialfall av en familj med avståndsdefinitioner som kallas PLQNRZVNLDYVWnQG. Ett annat vanligt förekommande specialfall i denna familj är KDPPLQJDYVWnQGHW & & [ \ = Q = [ L \ L L 1 Figur 3 illustrerar skillnaden mellan (2.1) och (2.2) i två dimensioner. (2.2) P1 b c e 2 e 1 a P2 )LJXU-lPI UHOVHPHOODQWYnDYVWnQGVPnWWI UDYVWnQGHWPHOODQ3RFK3 KDPPLQJDYVWnQGDEHXNOLGLVNWDYVWnQGF.OXVWULQJVPHWRGHU Det finns många metoder för klusteranalys och en viktig samling sådana är de KLHU DUNLVNDNOXVWULQJVPHWRGHUQDDe kan i delas in i DJJORPHUDWLYNOXVWULQJoch GHOQLQJV NOXVWULQJ. Dessa två undergrupper är varandras spegelbilder. Delningsklustring går till så att man steg för steg delar en datamängd i allt mindre delar. I den agglomerativa varianten klumpar man istället stegvis ihop medlemmar i datamängden. Resultatet från en hierarkisk neddelning av en datamängd kan typiskt representeras i form av ett beslutsträd. 16
17 TEORI %HVOXWVWUlG Ett beslutsträd består av noder och grenar och normalt brukar det visualiseras upp och ner, med roten överst. Roten är således trädets översta nod samt dess ingång och från det leder grenar vidare till lägre noder som i sin tur leder vidare till ännu lägre noder och så vidare. Längst ner i det upp- och nedvända trädet återfinns löven, som motsvarar ett beslut. node1 node2 node4 leaf4 node3 leaf1 leaf5 node5 leaf6 leaf7 leaf8 leaf2 leaf3 leaf9 leaf10 leaf11 )LJXU(WWEHVOXWVWUlGGlUQRGHUQDKDUWYnWUHRFKIHPJUHQDU Idén kan generaliseras till att motsvara annat än rena beslut. Att t.ex. klassificera något är ju en form av beslutsfattande. Beslutet vi fattar är i detta fall vilken klasstillhörighet vi skall tilldela ett objekt. Träd kan även användas vid regressionsanalys. Ett beslutsträd är inte lätt att modifiera i efterhand utifrån nya data (Cios et al. 1998) och passar därför inte så bra för inkrementell dataanalys. I och med att uppbyggandet av träd i hög grad kan automatiseras behöver detta inte alltid vara ett problem. Det är ofta enklare att bygga ett nytt träd från grunden istället för att modifiera det man har. &$57WUlGKLVWRULN CART som står för Classification and regression trees är en trädbaserad metod för dataanalys. Trädbaserade analysmetoder är relativt unga och har blivit möjliga främst tack vare datorutvecklingen. Metoderna har sina rötter i de sociala vetenskaperna i USA på 60-talet (Cios et al. 1998). En fördel med trädmetoder är att de är enkla att beskriva och visualisera. Dessutom kan analysresultatet trädet enkelt implementeras och inkorporeras i ett datorprogram i form av ett beslutsträd. CART-metoden har sitt ursprung i arbeten av Breiman och Friedman från början av 70-talet (Breiman et al. 1984) och bygger på binära delningar i varje nod. CART är också namnet på det datorprogram som de utvecklade. Numera finns CART-metoden inkorporerad i ett flertal mjukvarupaket för bland annat statistik och talteknologi. Givet ett träd delar man i varje nod den givna datamängden i två delar med hjälp av en ja/nej-fråga. Den delmängd som besvarar frågan med ett ja leds ner i nodens vänstra 17
18 DATADRIVNA METODER FÖR PARAMERSYNTES gren och den andra delmängden i den högra grenen. På detta vis delas successivt en datamängd i allt mindre delar och ett binärt träd byggs upp, se Figur 5. BETONAD ja nej PLACERING < 16 LÄNGD < 103 ja nej ja nej LÖV 1 LÄNGD < 55 LÖV 4 LÖV 5 ja nej LÖV 2 LÖV 3 )LJXU(WW&$57WUlG-XVWGHWWDWUlGNDQDQYlQGDVWLOODWWGHODXSSGHQYHNWRUPlQJGVRP SUHVHQWHUDVL7DEHOOVLGDQ.ODVVLILFHULQJPHG&$57 CART-metoden kan användas till både klassificering och regression. Vid klassificering konstruerar vi en funktion G[som tilldelar ett heltal (ett klassnummer) till varje [i en given mängd Genom att utgå från en träningsmängd där klasstillhörigheterna redan är kända försöker vi hitta frågor som delar mängden så att kluster med enbart en enda klass vardera bildas i trädets löv. Observera att klassificeringen är entydig även då mer än ett löv motsvarar samma klass. När vi sedan använder det konstruerade CART-trädet för att klassificera nya okända data kommer oftast en hel del element att klassificeras fel. Det är i allmänhet inte möjligt att hitta frågor som skapar helt rena kluster ens för träningsmängden. Det mått som används för att beskriva värdet på felklassificeringens kallas WUXHPLVFODVVLILFD WLRQUDWH. Detta teoretiska värde kan oftast inte bestämmas exakt men det finns olika metoder för att approximera det. 5HJUHVVLRQPHG&$57 Att finna en regressionsmodell kan beskrivas som att finna den funktion\ I[ som förklarar sambandet mellan [och \(Cios et al. 1998) 3. Vid regression med CARTmetoden utgör således själva trädet denna funktion. Skillnaden mellan regression och klassificering är inte helt tydlig. Den mest uppenbara skillnaden är att vid regression har vi inte en diskret mängd klasser att utgå från och vår funktion kan vara reellvärd. Vi har inte heller någon träningsmängd att utgå från. Snarare är det så att vår regression kan ses som en metod för att finna eventuella förekomster av kluster i en okänd 3 I denna rapport kommer fortsättningsvis motsvarigheterna till \ att kallas EHURHQGHYDULDEOHU och motsvarigheterna till [ kommer att kallas REHURHQGHYDULDEOHU. Observera att de beroendevariabler som är sammansatta kommer att kallas IOHUGLPHQVLRQHOOD 18
19 TEORI datamängd 4. Principerna för CART-metoden vid regression och klassificering är relativt likartade (Breiman HWDO1984). &$57PHWRGHQVI URFKQDFNGHODU En av fördelarna med CART liksom med andra trädmetoder är som sagt att de är lätta att tolka, beskriva och implementera. Byggandet av träd går också att automatisera i hög grad. Detta skiljer metoden från en del andra statistiska metoder (Lewis 2000). Ytterligare fördelar med CART-metoden är att man inte i förväg behöver göra några antaganden om den underliggande datamängdens statistiska fördelning, den är inte så känslig visavi valet av metrik (dvs. avståndsdefinition) och användbara resultat kan erhållas även för analysmaterial där data delvis saknas (Breiman et al. 1984). Ytterligare en fördel med CART-metoden är att den tillåter att man blandar numeriska data (i princip reella tal) med kategoriska data (t.ex. ord). Inom talsyntesområdet har CART-metoder visat sig ge bra resultat vid t.ex. automatiserad analys av talmaterial för prediktion av prosodi och duration (Dutoit 1997, Riley 1992). Eftersom metoden är relativt ung är den emellertid inte till fullo utforskad och det råder även brist på expertis inom området (Lewis 2000). Liksom för andra trädmetoder ger inte CART-metoden garanterat den bästa partitionen (den bästa klassificeringen) av ett material. Detta är givetvis en nackdel, men också en fråga om komplexitet. Med dagens datorteknologi är det för ett någorlunda komplext datamaterial i princip inte möjligt att inom rimlig tid konstruera en trädklassificerare som ger det teoretiskt optimala trädet (Breiman et al. 1984). $WWE\JJDHWW&$57WUlG När vi skapar ett CART-träd behöver vi en datamängd som WUlQLQJVPDWHULDO. Denna mängd skall vara av samma typ som den vi senare vill att vårt träd skall kunna klassificera. Trädet bygger vi upp genom att dela träningsmaterialet i allt mindre delar. Varje delning ±SDUWLWLRQeller VSOLW± innebär att en ny nod skapas och målet är att i varje nod hitta en fråga som delar materialet på ett optimalt sätt. De fyra huvudsakliga komponenterna som behövs i denna process är följande: Konstruktion av frågor; en mängd möjliga frågor som kan besvaras med ja eller nej. Godhetsmått; ett mått på hur bra varje tvådelning av materialet är. Stoppvillkor; regler som avgör när vi skall sluta dela mängden. Alltså när vi skall anse att trädet är färdigbyggt. Klasstilldelning; regler som talar om vilken klass ett givet löv representerar. Vi tar en närmare titt på vad dessa fyra punkter innebär..rqvwuxnwlrqdyiunjru Vanligast i CART-metoden är att man ställer frågor på enbart en dimension i taget. I fall där materialets struktur beror av kombinationer av faktorer kan detta emellertid vara ett problem. Vi kanske kan skapa bättre träd genom att istället ställa frågor som täcker in flera dimensioner samtidigt. Två matematiska angreppssätt kan här vara att 4 Observera dock att vi kan tilldela dessa kluster klassnummer och på så sätt kan vi genom regressionen ändå skapa en klassificeringsfunktion! 19
20 DATADRIVNA METODER FÖR PARAMERSYNTES titta på linjärkombinationer eller booleska kombinationer. Komplexiteten i sökandet efter optimala split ökar dock avsevärt när vi tittar på kombinationer. *RGKHWVPnWW Nära relaterad till det generella begreppet avståndsmått i avsnitt är CARTmetodens fråga om hur man optimalt skall dela en mängd i två delar. Vi behöver ett mått på delningens godhet eller vilket går lika bra dess dålighet. Vi kvantifierar detta genom att skapa ett mått för mängdens RUHQKHW, eller LPSXULW\ Principen för att bygga ett optimalt CART-träd är att vid varje ny delning försöka minska summan av hela trädets impurity. Ett vanligt förekommande mått på impurity för diskreta värden är entropin (Cios et al. 1998): Q [ 1, [ 2,..., [ ) S log Q L 1 L 2 H( = = SL (2.3) DärQ är antalet variabler dvs. dimensionen och S L är sannolikheten att finna den LWH variabeln i den aktuella noden 6. Entropin går mot noll ju mer sannolikhetsvärdena samlas kring sina max och min-värden. Om vi tar ett exempel med bara två variabler [ och [ så får vi de lägsta entropivärdena då [ och[ eller då [ och [ Det högsta entropivärdet får vi då [ och[. För kontinuerliga variabler kan inte entropimåttet användas. Här blir det istället aktuellt med någon form av avståndsmått. Till exempel kan variansen kring medelvärdet av avstånden mellan en mängd vektorer användas. Ju lägre denna varians är, desto mer ihopklumpad kan vi säga att vektormängden är. 6WRSSYLOONRURFKSUXQLQJ Ju mer vi delar vår datamängd desto renare blir de olika partitionerna. I fallet med diskreta värden enligt formeln (2.3) ovan blir exempelvis den sammanlagda entropin till slut noll. Detta inträffar då vi har delat upp vår mängd i enskilda element. Det vill säga då vi har ett och endast ett element i varje löv. Detta träd är alltför specialiserat för att kunna användas till andra mängder än våra träningsdata. Vi måste alltså avsluta trädbyggandet på ett tidigare stadium eller i efterhand beskära det på något vis. I det första fallet, så kallad SUHSUXQLQJ definierar vi någon form av stoppvillkor (Cios et al. 1998). Vi kan till exempel anse att den aktuella noden skall bli ett löv då: Vi nått ett minsta antal element för träningsdata i noden. Minskningen av impurity inte blir tillräckligt stor om vi gör ytterligare delningar. Det inte finns någon lämplig fråga att ställa för att dela mängden. När alla noder på den lägsta nivån blivit löv är vårt träd klart. Det andra fallet SRVWSUXQLQJ leder till en mer komplicerad process. Principen bygger på att vi medvetet gör trädet för stort och beskär det i efterhand. Vi kan då exempelvis betrakta alla delträd och välja det delträd som minimerar en så kallad IHO NODVVLILFHULQJVNYRW. 5 Fortsättningsvis kommer det engelska ordet att användas i denna rapport eftersom det svenska ordet är lite svårtolkat och aldrig används i litteraturen. 6 Att finna denna variabel är ekvivalent med att den har värdet 1. 20
21 TEORI.ODVVWLOOGHOQLQJ Enligt Breiman (Breiman et al. 1984) innebär klasstilldelningen normalt inga större problem. Då vi bygger vårt träd med ett träningsmaterial vet vi redan vilken klass varje element har. Det är det som är innebörden av begreppet träningsmaterial. Att element tillhörande samma klass hamnar i två eller flera olika löv är heller inget problem då deras klasstilltillhörighet är känd. Vill vi däremot använda CARTmetoden för att nå kunskap om ett okänt material det vill säga göra en regression blir förhållandet ett annat. CART-metoden ger ingen möjlighet att i detta fall se om flera löv predicerar samma klass. Vi måste använda andra metoder för att avgöra det. Dessa problem utreds inte närmare av Breiman. 21
22
23 3URMHNWHWVJHQRPI UDQGH Utvecklingen inom konkateneringssyntesen går stadigt framåt och dessa system blir allt bättre. Fortfarande har regelsyntesen emellertid en del intressanta fördelar varav en av de främsta är den stora flexibiliteten (Manell 1998). Det finns alltså all anledning att fortsätta att utveckla och förbättra metoder för regelsyntes. %DNJUXQGI UXWVlWWQLQJDURFKPnO Utgångspunkten för föreliggande projekt är att kombinera fördelarna från de två syntesmetoderna. Konkateneringssyntesen har på många sätt en bättre detaljrikedom och överensstämmelse med den akustiska verkligheten, men kombinerar vi denna syntesmetod med regelsyntesen kan vi få ett system som är kompaktare, snabbare och enklare (Carlson et al. 2002). Inte minst kan signalbehandlingen då enheterna skall konkateneras komma att förenklas avsevärt. Vi behåller också möjligheten att använda regler till sådana aspekter av syntesen där detta är att föredra, t.ex. för att generera prosodi. Som vi tidigare sett kan man med copy-syntes på manuell väg ganska väl efterlikna karaktären hos en mänsklig talare i ett regelbaserat parametriskt talsyntessystem. Ett exempel på en sådan syntes gjord med talsynthesizern Glove utfördes på TMH i början av 90-talet och gav en god överensstämmelse med originalinspelningen (Carlson et al. 1991). Det förefaller alltså rimligt att påstå att den fysikaliska modell som används i Glove är tillräckligt bra för att skapa en naturlig och tydlig syntes. Dessutom har två tidigare projekt på TMH (Sjölander 2001, Högberg 1997) visat att det går att överföra formantvärden från akustiskt uppmätt tal till Glove genom metoder liknande dem som används i konkateneringssyntes och få ett förbättrat resultat. 3URMHNWHWVPnO Vi vill alltså skapa ett ramverk för ett regelbaserat parametriskt talsyntessystem som med så liten manuell insats som möjligt skall kunna anpassas till att efterlikna en inspelad mänsklig röst. Den metod vi kommer att använda är inspirerad av konkateneringssyntesens användande av unit selection. Vi använder oss emellertid inte av akustiska ljudenheter utan istället kommer vi att bygga upp ett enhetsbibliotek med formantkurvor och kontextuella värden. Vid syntesen kommer sedan de kontextuella faktorerna i den text som behandlas att avgöra hur vi väljer enheter i enhetsbiblioteket. För att kunna bygga upp ett bra enhetsbibliotek behöver vi göra en analys av inspelat tal. Vi behöver dessutom ett flexibelt system som knyter samman regelsyntessystemet med vårt enhetsbibliotek. Summan av allt detta utgör ett komplett system för datadriven parametersyntes 7 och är en vidareutveckling av idéerna i de två ovan nämna projekten. 7 I denna rapport kommer vi fortsättningsvis att använda uttrycket SDUDPHWHUV\QWHV som kortform för SDUDPHWULVN WDOV\QWHV. Observera att systemet är regelbaserat och datadrivet på samma gång eftersom de två metoderna kombineras. 23
24 DATADRIVNA METODER FÖR PARAMERSYNTES 3URMHNWHWVKXYXGGHODU Projektet verkar sönderfalla i två delar: Uppbyggnad av ett system för datadriven parametersyntes. Uppbyggnad av ett enhetsbibliotek. Som redan antytts i kapitel 1 tillkommer ytterligare en viktig del som består i att utveckla ett verktyg för klusteranalys. Detta verktyg behöver vi för våra försök att bygga upp enhetsbiblioteket. Figur 6 ger en översikt över det tänkta datadrivna parametersyntessystemets funktion och namnen på de olika komponenterna. text text-till-parameter RULSYS parameterkurvor kontext betoning duration.. DDPS enhetssökning konkatenering fråga enhet ENHETS- BIBLIOTEK + formantparametrar formantsyntes GLOVE )LJXU(WWV\VWHPI UGDWDGULYHQSDUDPHWHUV\QWHVRFKKXUGHWLQWHUDJHUDUPHG70+VUHJHO V\VWHP5XOV\VRFKIRUPDQWV\QWKHVL]HUQ*ORYH9LNDQVHDWWGHQYlQVWUDKDOYDQLSULQFLS PRWVYDUDUWUDGLWLRQHOOUHJHOVW\UGIRUPDQWV\QWHVPHGDQGHQK JUDKDOYDQWLOOVWRUDGHODUOLNQDU NRQNDWHQHULQJVV\QWHV9LGVXPPDWLRQVSXQNWHQNRPELQHUDVGHWYnPHWRGHUQDLRFKPHGDWW IRUPDQWYlUGHQIUnQNRQNDWHQHULQJVGHOHQHUVlWWHUGHDYUHJHOV\VWHPHWJHQHUHUDGHYlUGHQD Det grå fältet i Figur 6 utgör det system som vi vill bygga. Vi kallar systemet GDWD GULYHQSDUDPHWHUV\QWHV eller kort och gott ''36. Övriga delar av figuren utgörs av de två system som sedan tidigare finns på TMH, nämligen Rulsys och Glove. Längst till höger i Figur 6 finns ett enhetsbibliotek. Vi kommer att göra ett experiment med CART-klustringsanalys i ett försök att bygga upp detta bibliotek. Varför vi väljer just CART-metoden motiveras i avsnitt
25 PROJEKTETS GENOMFÖRANDE Projektet består alltså av följande tre delar vilka var och en också utgör ett delmål: 1. Implementation av ett system för datadriven parametersyntes. Systemet skall vara så pass flexibelt och utbyggbart att det kan användas till olika format och antal variabler hos såväl kontext som syntesparametrar. Dess biblioteksdel skall kunna hantera godtyckliga längder på enheterna (monofoner, difoner, trifoner eller större). Systemet skall också vara kompatibelt med systemen Rulsys och Glove som redan finns på TMH. 2. Utveckling av ett generellt system för CART-klustringsanalys. Beroendevariabeln skall kunna ha godtycklig dimension (inom rimliga gränser) och de oberoende variablerna skall kunna vara både kategoriska och kontinuerliga (mer om detta i kapitel 6). 3. Undersökning av möjligheten att använda CART-metoden för att analysera en taldatabas så att ett bra enhetsbibliotek till systemet i punkt ett kan byggas upp. 9HUNW\J Här följer en kort beskrivning över de verktyg och det material vi har till hands för vårt arbete. Fyra av verktygen är specifika för TMH, nämligen Glove, Rulsys, Snack och Wavesurfer. Rulsys och Glove är särskilt intressanta i sammanhanget och beskrivs därför lite mer detaljerat i avsnitt respektive Glove Parameterstyrd talsynthesizer. Graphviz 8 Open sourceprogram för visualisering av grafer t.ex. träd. Hcopy & Hlist Dessa två verktyg kan användas för att på olika sätt parametrisera en talvåg. Verktygen ingår i programpaketet HTK som är ett system för taligenkänning utvecklat av det numera nedlagda företaget Entropic. Rulsys Generellt system för omskrivningsregler. Tidningsinläsning En taldatabas bestående av ca 300 svenska meningar med tidningstext upplästa av en manlig talare. Materialet är fonetiskt uppmärkt och har i digital form funnits tillgängligt på TMH till detta projekt. Snack 9 Mjukvarupaket (WRRONLW) med primitiver för ljudbearbetning, ljuduppspelning, ljudvisualisering med mera. Det är avsett att användas för bearbetning av inspelat tal tillsammans med scriptspråk såsom Tcl/Tk eller Python (Sjölander, Beskow 2000). Wavesurfer 10 Generellt ljudprogram som kan användas för att spela upp ljudfiler, studera spektrogram, titta på formant- och grundtonskurvor med mera (Sjölander, Beskow 2000). Wagon CART-klustringsprogram som ingår i The Festival Speech Synthesis system 11. Festival är ett open source-system för flerspråkig talsyntes utvecklat på universitetet i Edinburgh. 8 (Senast besökt ) 9 (Senast besökt ) 10 (Senast besökt ) 11 (Senast besökt ) 25
26 DATADRIVNA METODER FÖR PARAMERSYNTES :DJRQRFKDQGUD&$57P MOLJKHWHU Möjligheten att använda Wagon till klustring har utgjort en av grunderna för projektet. När det visade sig att detta program inte hade den funktionalitet som krävdes ändrades också en del av förutsättningarna för projektet. Implementationen av det nya CARTprogram som beskrivs i kapitel 6 utgör därför en stor del av projektet, något som inte ingick i den ursprungliga planen. Anledningen till att Wagon inte har kunnat användas är att det inte kan klustra på data där beroendevariabeln har mer än en dimension. En andra kandidat till CART-program är Salford Systems 12 som är utvecklat av författarna till standardverket om CART-teorin (Breiman et al. 1984), men att köpa in och driftsätta detta stora kommersiella system bedömdes som för riskabelt. Eventuellt hade det också blivit för dyrt. Eftersom CART-klustringsmomentet är en intressant uppgift ur datalogisk synvinkel gjorde jag valet att ägna en större del av examensarbetet åt en egen CART-implementation. 5XOV\V Rulsys är ett system som konstruerades i mitten av 70-talet på TMH (Carlson et al. 1976). I princip är det en implementation av grammatik av Chomsky typ 3 (Dutoit 1997). Grunden är omskrivningsregler av den typ som beskrivits i avsnitt Symbolerna i Rulsys är objekt som kan bära på olika egenskaper och variabelvärden. På TMH har Rulsys exempelvis använts för text-till-talgenerering. Via en samling fördefinierade regler och lexika låter man Rulsys stegvis skriva om den ursprungliga texten till en fonetisk representation och sedan ersätta denna representation med parameterkurvor för styrning av exempelvis en talsynthesizer. Rulsys är namnet både på systemet och på det programmeringsspråk som detta system använder. En typisk omskrivningsregel: D EOBU blir i Rulsysnotation: $A%/ 5 *ORYH Redan 1953 konstruerade Gunnar Fant formantsynthesizern OVE I med vilken man kunde producera vokallika ljud av varierande tonhöjd och intensitet (Klatt, 1987). OVE I och dess mer avancerade efterföljare OVE II (1962) och OVE III (1968) bygger alla på den källa-filter-modell av människans talproduktion som nämnts i avsnitt I och med datorteknikens framsteg kan numera en talsynthesizer som OVE enkelt implementeras i mjukvara och den senaste versionen av TMH:s talsynthesizer Glove kräver ingen annan extern hårdvara än ett ljudkort för att syntetisera och spela upp tal. Glove, som alltså är en digital vidareutveckling av OVE, styrs av parametervärden som uppdateras med en frekvens på 100 Hz. Syntesen sker genom att Glove läser in parameterkurvor från fil och omvandlar dessa till ljud som antingen sänds direkt ut i högtalare eller skrivs till en ljudfil (Senast besökt ) 26
27 PROJEKTETS GENOMFÖRANDE Glove är en kaskadsynthesizer med olika parallella grenar, se Figur 7. Tillsammans med Rulsys utgör den grunden till det talsyntessystem som använts i detta projekt. Rulsys används dels för att generera parameterkurvor men också för att göra de sökningar på kontext som har varit nödvändiga både vid analys och syntes. De slutliga parameterkurvorna som erhålls efter att formantkurvorna bytts ut mot värden från enhetsbiblioteket syntetiseras i Glove. )LJXU6LJQDOIO GHVGLDJUDPPHGSDUDPHWHUQDPQI UIRUPDQWV\QWKHVL]HUQ*ORYH7LOOYlQVWHU LELOGHQILQQVWYnNlOORUVRPPRWVYDUDUDQWLQJHQVWlPEDQGHQI UYRNDOHURFKQDVDOHUHOOHU EUXVNlOODQKRVNRQVRQDQWHU'HVVDNlOOVLJQDOHUVNLFNDVVHGDQYLGDUHJHQRPROLNDJUHQDUPHG VHULHOOWNRSSODGHILOWHU([HPSHOYLVKDUYLHQVHULHPHGIRUPDQWILOWHUSnDQGUDUDGHQQHGLIUnQ &DUOVRQHWDO 3ODWWIRUP Hela detta projekt är utfört på en Dellmaskin med Intel Pentium 4 (i686), 1,7 GHz klockfrekvens och 256 MB RAM-minne. Operativsystemet är Linux , Red Hat distribution 7.1. De två program som presenteras i denna rapport är båda implementerade i C++ och kompilerade med gcc version
28
29 'DWDGULYHQSDUDPHWHUV\QWHV I detta kapitel beskrivs idéerna bakom det syntessystem vars uppbyggnad utgjort en av projektets huvuddelar. Vi skall se vilka komponenter och funktioner systemet kommer att behöva och hur dessa kan tänkas konstrueras. Vi skall också studera hur systemet kan integreras med det regelsyntessystem som redan finns vid TMH. I kapitel 5 följer sedan en beskrivning av själva implementationen. 6\VWHPHWL YHUVLNW Till vårt system har vi redan två färdiga komponenter. Vi har regelsystemet Rulsys och formantsynthesizern Glove (se avsnitt och 3.3.3). Att bygga in dessa systems funktionalitet i vårt datadrivna parametersyntessystem (DDPS) är ganska opraktiskt. Det vore ett mycket omfattande arbete och dessutom ganska onödigt eftersom det med enkel filhantering går att få alla tre komponenterna Rulsys, Glove och DDPS att tala med varandra. Principen beskrivs i Figur 8. Text RULSYS D Parameterkurvor Kontext betoning duration.. FILSYSTEM FILSYSTEM E modifierade parameterkurvor IN DDPS UT F FILSYSTEM GLOVE Ljud )LJXU''36V\VWHPHWLQWHUDJHUDUPHG5XOV\VRFK*ORYHJHQRPDWWVNULYDRFKOlVDSn ILOV\VWHPHW'HWWDVNHULWUHVWHJ9LOnWHU5XOV\VVN WDGHWI UVWDVWHJHWLWH[WWLOOWDOJHQH UHULQJHQD+lUJHQHUHUDVV\QWHVSDUDPHWUDURFKNRQWH[WXHOODYlUGHQH[WUDKHUDVXUWH[WHQ 5HVXOWDWHWOlVHUYLVHGDQLQRFKI UlQGUDULYnUW''36V\VWHPE9nUDSnGHWWDVlWW I UlQGUDGHSDUDPHWHUNXUYRUVNLFNDVVOXWOLJHQ YHUWLOO*ORYHI UV\QWHVF.RPPXQLNDWLRQHQ PHOODQGHWUHGHODUQDVNHULIRUPDYILOHUVRPOlVHVRFKVNULYVSnILOV\VWHPHW 29
30 DATADRIVNA METODER FÖR PARAMERSYNTES 9DGV\VWHPHWEHK YHUNXQQD I korthet skall vårt DDPS-system kunna utföra följande operationer (se även Figur 6 på sidan 24): 1. Läsa in formantsyntesparametrar. 2. Läsa in en fonetisk transkription och kontextuella parametrar. 3. Söka matchande enheter i enhetsbiblioteket med hjälp av kontext. 4. Anpassa durationen på den matchande sekvensen så att den överensstämmer med formantsyntesens durationer. 5. Smälta samman de i den matchande sekvensen ingående enheterna och samtidigt jämna till skarvarna. 6. Föra över önskade parametrar från den matchande sekvensen till formantsyntesens parameterbeskrivning. Detta skall göras genom att skriva över vissa regelgenererade värden med enligt punkt fyra och fem behandlade värden från enhetsbiblioteket. Bara de värden vi i förväg specificerar skall skrivas över. Notera att i punkt 6 kommer vi inte att ersätta alla parametrar från regelsystemet. Därför behöver vårt system kunna anpassa kurvorna så att de blir lika långa och ligger synkroniserade med varandra. (QKHWVELEOLRWHNHWRFKV NQLQJ Vi börjar med att söka enheter i enhetsbiblioteket. Målet är att hitta den enhet som passar bäst i kontexten. Om enhetsbiblioteket byggts upp med CART-klustring kan CART-träden eventuellt användas som sökträd i detta steg (Figur 9). _MÅS_ steg 1 steg 2 _M MÅ ÅS_ )LJXU6 NQLQJPHG&$57WUlG) UVWV NHUPDQXSSOlPSOLJDHQKHWHU±VWHJ) UYDUMH HQKHWV NHUPDQGlUHIWHUXSSElVWDNDQGLGDWHQLUHVSHNWLYHWUlG±VWHJ 1DFNGHODUYLGV NQLQJPHG&$57WUlG Med ett sökträd är valet av enhet entydigt bestämt. Vill man ta hänsyn till hur väl olika enheter kommer att passa ihop vid konkateneringen kan detta vara en nackdel. En möjlig lösning är att inte använda sökträd, utan istället spara resultaten från klustringen dvs. de val som görs i varje intern nod i trädet tillsammans med själva 30
31 DATADRIVEN PARAMETERSYNTES enheterna och sedan använda dessa resultat som sökparametrar i en annan sökmetod såsom till exempel viterbisökning (se avsnitt 2.1.6). Det är också tänkbart att kombinera trädsökning och viterbisökning och då definiera en speciell kostnad för att välja fel enhet i trädet. Algoritmen för viterbisökning kan hantera olika enhetslängder. Om vi vill ha varierande enhetslängd och använda sökträd vid syntesen blir det dock mer problematiskt. Vi klustrar för en given enhetslängd (t.ex. difon, eller trifon) och måste då på något sätt kombinera de olika typer av sökträd som vi erhåller. Vi går inte djupare in på detta problem utan noterar endast att det måste lösas. 0RGHOOHULQJDYHQKHWVELEOLRWHNHW En central uppgift om vi vill få ett effektivt och optimalt program är att modellera enhetsbiblioteket. Aspekter vi måste ta hänsyn till är: Tillgängligt lagringsutrymme på disk. Tillgängligt RAM-minne. Lagringsformat och relationen till sökträden. Effektivitet vid sökning. Skall det gå att läsa från disk under sökning? Utbyggbarhet av biblioteket. 'XUDWLRQVDQSDVVQLQJ De i enheterna ingående fonemen kommer i allmänhet inte att ha samma längder som de som beräknas av regelsystemet. Enheterna måste därför sträckas eller tryckas ihop för att få samma antal ramar som alla andra parametrar regelsystemet genererar (Figur 10). REGELSYSTEM: ENHETS- BIBLIOTEK: _ M Å S M M Å ÅS_ tid kompression expansion expansion )LJXU(QKHWHUQDIUnQELEOLRWHNHWPnVWHNRPSULPHUDVHOOHUH[SDQGHUDVWLOOVDPPDOlQJG DQWDOUDPDUVRPUHJHOV\QWHVHQKDUJHQHUHUDW I vårt system är utgångspunkten att enbart hämta formantkurvor från enhetsbiblioteket. I ett mer avancerat system kan man mycket väl tänka sig att även hämta durationsvärden från klustringsanalysens prediktioner. I detta fall måste en mer avancerad modell för durationsanpassningen användas och man måste finna en balans mellan regelsystemets durationsval och de som prediceras av klustringen. 31
32 DATADRIVNA METODER FÖR PARAMERSYNTES 6DPPDQVODJQLQJRFKLQWHUSRODWLRQ När enheterna skall slås samman kommer två problem att uppstå. Hur behandlas de överlappande delarna? Hur jämnar man ut ojämnheter vid skarvpunkterna? gyhuodssqlqj Det första problemet är enklast. I vanlig konkateneringssyntes gör man i allmänhet så att man trunkerar den sista halvan av det sista fonemet i den vänstra enheten och tvärtom i den högra, se Figur 11. M Å Å S _ )LJXU.RQNDWHQHULQJDYWYnHQKHWHU'HJUnSDUWLHUQDNDVWDVERUW,QWHUSRODWLRQ För att jämna ut skillnader i skarvpunkten mellan två enheters parameterkurvor behöver vi göra någon slags interpolation. Det går att tänka sig en rad olika metoder för detta. En simpel metod D i Figur 12 är att helt enkelt ta punkter en bit in i varje enhet och interpolera linjärt mellan dem. En lite mer avancerad metod är att göra två separata gradvisa övergångar E i figuren som följer respektive halvas kurvfigur. Ytterligare en variant är att låta enheternas förlängning in i varandra få betydelse F. Notera att den sista metoden kräver att man har båda funktionernas värden för hela interpolationsintervallet. Det finns också mer avancerade implementationsmetoder som till exempel så kallad VSOLQHLQWHUSRODWLRQDenna metod ger mjuka övergångar mellan olika punkter genom att man binder samman dem med separata tredjegradskurvor (Borse 1997). I vårt fall skulle vi behöva enbart en spline (en tredjegradskurva) vars derivata i ändpunkterna sammanfaller med originalkurvorna. En tydlig nackdel med denna metod är att vi helt kommer att kasta bort de ursprungliga formantvärdena i interpolationsintervallet. Men med smala interpolationsintervall kanske ändå den mjuka kurvatur som erhålls är att föredra. Eftersom metoden är relativt komplicerad och kräver att man löser ekvationssystem lämnar vi den därhän och nöjer oss med att konstatera att en sådan metod är en möjlig väg vidare om ingen av de mer enkla varianterna visar sig duga. 6OXWOLJVDPPDQVODJQLQJ Om duration och utjämning gjorts enligt modellen ovan är uppgiften att slå samman enhetsbibliotekets värden med formantsyntesens trivial. Det är bara att skriva över formantsyntesens värden för de aktuella parametrarna. Naturligtvis måste man se till att man använder samma skala som formantsyntesen använder samt att man håller sig inom de gränser som formantsynthesizern kan behandla. 32
Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1
Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4
Läs merOptimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.
Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)
Läs merOptimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.
Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås
Läs merHur bestämmer man vilka fonem ett språk har? Fonologi. Kommutationstest. Hur bestämmer man vilka fonem ett språk har?
Fonologi Mattias Heldner KTH Tal, musik och hörsel heldner@kth.se Hur bestämmer man vilka fonem ett språk har? Hur bestämmer man vilka fonem ett språk har? Fonem = minsta betydelseskiljande ljudenhet i
Läs merArtificiella Neuronnät
Artificiella Neuronnät 2 3 4 2 (ANN) Inspirerade av hur nervsystemet fungerar Parallell bearbetning Vi begränsar oss här till en typ av ANN: Framåtkopplade nät med lagerstruktur 3 4 Fungerar i princip
Läs merBakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
Läs merKällkodning. Egenskaper hos koder. Några exempel
Källkodning Källkodning innebär att vi avbildar sekvenser av symboler ur en källas alfabet på binära sekvenser (kallade kodord). Mängden av alla kodord kalls för en kod. (Man kan förstås tänka sig att
Läs merTal i bråkform. Kapitlet behandlar. Att förstå tal
Tal i bråkform Kapitlet behandlar Test Användning av hälften och fjärdedel 2 Representation i bråkform av del av antal och av del av helhet 3, Bråkform i vardagssituationer Stambråk, bråkuttryck med 1
Läs merVinjetter TDDC91 Datastrukturer och algoritmer
Vinjetter TDDC91 Datastrukturer och algoritmer 17 augusti 2015 2 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer.
Läs merFonologi. Kommutationstest. Minimala par. Hur bestämmer man vilka fonem ett språk har?
Hur bestämmer man vilka fonem ett språk har? Fonologi Mattias Heldner KTH Tal, musik och hörsel heldner@kth.se (Morfem = minsta betydelsebärande enhet i ett språk) Fonem = minsta betydelseskiljande ljudenhet
Läs merText-till-Talsyntes (TTS2)
Text-till-Talsyntes (TTS2) Rebecca Jonson TalTeknologikursen VT 2005 Dagens lektion Lite mer om prosodisk frasering Svar på frågan om svenska sammansättningar Några exempel på system Talsyntes Formant
Läs merEnlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät
Artificiella Neuronnät 1 Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund 2 Begränsningar Träning av enlagersnät 3 Möjliga avbildningar Backprop algoritmen Praktiska problem
Läs merde var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
Läs merDigitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
Läs merKrafts olikhet. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om. 2 l i. 1 i=1
Datakompression fö 2 p.1 Krafts olikhet En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om N 2 l i 1 Bevis: Antag att vi har en trädkod. Låt l max =max{l
Läs merTräd och koder. Anders Björner KTH
27 Träd och koder Anders Björner KTH 1. Inledning. Det är i flera sammanhang viktigt att representera information digitalt (d.v.s omvandla till sviter av nollor och ettor). Beroende på vilka villkor som
Läs merEtt urval D/A- och A/D-omvandlare
Ett urval D/A- och A/D-omvandlare Om man vill ansluta en mikrodator (eller annan digital krets) till sensorer och givare så är det inga problem så länge givarna själva är digitala. Strömbrytare, reläer
Läs merAtt fånga den akustiska energin
Att fånga den akustiska energin När vi nu har en viss förståelse av vad ljud egentligen är kan vi börja sätta oss in i hur det kan fångas upp och efterhand lagras. När en ljudvåg sprider sig är det inte
Läs merSpråkteknologi och Open Source
Språkteknologi och Open Source Erik Edin F01 erikedin@kth.se 15 oktober 2004 1 1 Open Source Open Source är en rörelse som syftar till att skriva datorprogram som släpps fria utan kommersiella intressen.
Läs merLösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl
Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga
Läs merBeräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692
Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...
Läs merFöreläsning 6: Analys och tolkning från insamling till insikt
Föreläsning 6: Analys och tolkning från insamling till insikt FSR: 1, 5, 6, 7 Rogers et al. Kapitel 8 Översikt Kvalitativ och kvantitativ analys Enkel kvantitativ analys Enkel kvalitativ analys Presentera
Läs mer729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap
729G43 Artificiell intelligens (2016) Maskininlärning 2 Marco Kuhlmann Institutionen för datavetenskap Förra gången: Gradientsökning tangentens lutning i punkt θ steglängdsfaktor Översikt Introduktion
Läs merTitel Mall för Examensarbeten (Arial 28/30 point size, bold)
Titel Mall för Examensarbeten (Arial 28/30 point size, bold) SUBTITLE - Arial 16 / 19 pt FÖRFATTARE FÖRNAMN OCH EFTERNAMN - Arial 16 / 19 pt KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP
Läs merInstruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)
Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python) Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Läs merStatistisk mönsterigenkänning
Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011 Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning
Läs merVektorgeometri för gymnasister
Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet 27 augusti 2013 Innehåll Linjära ekvationssystem
Läs mer729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann
729G43 Artificiell intelligens / 2015 Maskininlärning 2 Marco Kuhlmann Förra gången: Linjär regression Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna
Läs merFöreläsning 5: Analys och tolkning från insamling till insikt. Rogers et al. Kapitel 8
Föreläsning 5: Analys och tolkning från insamling till insikt Rogers et al. Kapitel 8 Översikt Kvalitativ och kvantitativ analys Enkel kvantitativ analys Enkel kvalitativ analys Presentera resultat: noggrann
Läs merOptimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken.
Optimal = basta mojliga. Optimeringslara = matematik som syftar till att analysera och nna det basta mojliga. Anvands oftast till att nna ett basta handlingsalternativ i tekniska och ekonomiska beslutsproblem.
Läs merFöreläsninsanteckningar till föreläsning 3: Entropi
Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.
Läs mer2 Dataanalys och beskrivande statistik
2 Dataanalys och beskrivande statistik Vad är data, och vad är statistik? Data är en samling fakta ur vilken man kan erhålla information. Statistik är vetenskapen (vissa skulle kalla det konst) om att
Läs merRegression med Genetiska Algoritmer
Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet
Läs merLösningsförslag till övningsuppgifter, del V
Lösningsförslag till övningsuppgifter, del V Obs! Preliminär version! Ö.1. (a) Vi kan lösa uppgiften genom att helt enkelt räkna ut avståndet mellan vart och ett av de ( 7 ) = 1 paren. Först noterar vi
Läs mer1 Minkostnadsflödesproblem i nätverk
Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa
Läs merAsymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merUpplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)
Binära träd Algoritmer och Datastrukturer Markus Saers markus.saers@lingfil.uu.se Upplägg Binära träd (9) Binära sökträd (0.) Träd Många botaniska termer Träd, rot, löv, gren, Trädets rot kan ha ett antal
Läs merVanliga frågor för VoiceXpress
Vanliga frågor för VoiceXpress 1) Hur stort ordförråd (vokabulär) innehåller VoiceXpress? VoiceXpress innehåller ett mycket omfattande ordförråd, och svaret på frågan varierar en aning beroende på hur
Läs merHMM-baserad talsyntes An HMM-based Text-To-Speech System applied to Swedish
HMM-baserad talsyntes An HMM-based Text-To-Speech System applied to Swedish Anders Lundgren Handledare: Jonas Beskow Godkänd:... Examinator:... Rolf Carlson Examensarbete vid institutionen för Tal, Musik
Läs merFöreläsning 5. Deduktion
Föreläsning 5 Deduktion Hur ett deduktivt system fungerar Komponenter - Vokabulär Ett deduktivt system använder ett visst slags språk som kan kallas för systemets vokabulär. I mindre formella fall är kanske
Läs merUniverse Engine Rapport
1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten
Läs mercampus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning
campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning En rapport från CATD-projektet, januari-2001 1 2 Förstudie Beslutsstöd för operativ tågtrafikstyrning Bakgrund Bland de grundläggande
Läs mer3 differensekvationer med konstanta koefficienter.
Matematiska institutionen Carl-Henrik Fant 17 november 2000 3 differensekvationer med konstanta koefficienter 31 T Med en menar vi en av rella eller komplexa tal varje heltal ges ett reellt eller komplext
Läs merBedömningsanvisningar
Bedömningsanvisningar Exempel på ett godtagbart svar anges inom parentes. Till en del uppgifter är bedömda elevlösningar bifogade för att ange nivån på bedömningen. Om bedömda elevlösningar finns i materialet
Läs merMVE051/MSG Föreläsning 7
MVE051/MSG810 2016 Föreläsning 7 Petter Mostad Chalmers November 23, 2016 Överblick Deskriptiv statistik Grafiska sammanfattningar. Numeriska sammanfattningar. Estimering (skattning) Teori Några exempel
Läs merLAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning
TANA18/20 mars 2015 LAB 3. INTERPOLATION 1 Inledning Vi ska studera problemet att interpolera givna data med ett polynom och att interpolera med kubiska splinefunktioner, s(x), som är styckvisa polynom.
Läs merDAB760: Språk och logik
DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist (leif.gronqvist@msi.vxu.se) Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg
Läs merDet är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Läs merTentamen Datastrukturer D DAT 035/INN960
Tentamen Datastrukturer D DAT 035/INN960 22 december 2006 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser,
Läs mera = a a a a a a ± ± ± ±500
4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att
Läs merRekursiva algoritmer sortering sökning mönstermatchning
Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 6-7 Rekursiva strukturer rekursiva definitioner rekursiva funktioner rekursiva bevis: induktion - rekursion strukturell
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merBedömningsanvisningar
Bedömningsanvisningar NpMab ht 01 Eempel på ett godtagbart svar anges inom parentes. Till en del uppgifter är bedömda elevlösningar bifogade för att ange nivån på bedömningen. Om bedömda elevlösningar
Läs merLaboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08
LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK Laboration 5: Regressionsanalys DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08 Syftet med den här laborationen är att du skall
Läs merSkurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga.
Datakompression fö 4 p1 Skurlängdskodning Ibland har man källor som producerar långa delsekvenser av samma symbol Det kan då vara praktiskt att istället för att beskriva sekvensen som en följd av enstaka
Läs merTillämpad Programmering (ID1218) :00-13:00
ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Läs merAnsiktsigenkänning med MATLAB
Ansiktsigenkänning med MATLAB Avancerad bildbehandling Christoffer Dahl, Johannes Dahlgren, Semone Kallin Clarke, Michaela Ulvhammar 12/2/2012 Sammanfattning Uppgiften som gavs var att skapa ett system
Läs merHitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet
Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig
Läs merInnehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation
Innehåll Föreläsning 11 Trie Sökträd Trie och Sökträd 356 357 Trie Ytterligare en variant av träd. Vi har tidigare sett: Oordnat träd där barnen till en nod bildar en mängd Ordnat träd där barnen till
Läs merVectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.
Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem. Begrepp som diskuteras i det kapitlet. Vektorer, addition och multiplikation med skalärer. Geometrisk tolkning. Linjär kombination av
Läs merVardagssituationer och algebraiska formler
Modul: Algebra Del 7: Kommunikation i algebraklassrummet Vardagssituationer och algebraiska formler Cecilia Kilhamn, Göteborgs Universitet och Jörgen Fors, Linnéuniversitetet En viktig del av algebran
Läs merUppsala Universitet Matematiska Institutionen Thomas Erlandsson
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real
Läs merPRÖVNINGSANVISNINGAR
PRÖVNINGSANVISNINGAR Prövning i Matematik D Kurskod Ma 104 Gymnasiepoäng 100 Läromedel Prov Muntligt prov Inlämningsuppgift Kontakt med examinator Övrigt Valfri aktuell lärobok för kurs Matematik D t.ex.
Läs merOptimering och simulering: Hur fungerar det och vad är skillnaden?
Optimering och simulering: Hur fungerar det och vad är skillnaden? Anders Peterson, Linköpings universitet Andreas Tapani, VTI med inspel från Sara Gestrelius, RIS-SIS n titt i KAJTs verktygslåda Agenda
Läs merPROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Läs merTANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28
TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 26 november 2015 Sida 1 / 28 Föreläsning 6 Minsta kvadrat problem. Polynom. Interpolation. Rötter. Tillämpningar:
Läs merDel A: Digitala verktyg är inte tillåtna. Endast svar krävs. Skriv dina svar direkt på provpappret.
NAN: KLASS: Del A: Digitala verktyg är inte tillåtna. Endast svar krävs. Skriv dina svar direkt på provpappret. 1) a) estäm ekvationen för den räta linjen i figuren. b) ita i koordinatsystemet en rät linje
Läs merLaboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar
LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK DATORLABORATION 4 MATEMATISK STATISTIK, FÖR I/PI, FMS 121/2, HT-3 Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar
Läs merÖvningen vill visa på vikten av valet av datastruktur, trots att de ofta erbjuder samma funktionalitet genom sina gränssnitt.
1 Samlingar 1.1 Frekvenstabell En Integer är icke-muterbar (precis som String, Float, Boolean et.c.). Ickemuterbarhet har många fördelar, men en nackdel är att ett helt nytt objekt måste skapas när ett
Läs merTANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.
TANA09 Föreläsning 8 Kubiska splines Approximerande Splines s s s s 4 B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor. x x x x 4 x 5 Exempel Parametriska Kurvor. Ritprogram. Beziér kurvor.
Läs merAsymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad för att man skall
Läs merVad behövs för att skapa en tillståndsrymd?
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merApproximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.
TANA09 Föreläsning 8 Approximerande Splines B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor. Exempel Parametriska Kurvor. Ritprogram. Beziér kurvor. Design av kurvor och ytor. Tillämpning
Läs merArkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0
Arkitektur och Regelverk Definition av kodverk och klassifikation Version 1.0 Innehållsförteckning 1. Inledning... 3 2. Definitioner... 3 Referenser och underlag... 5 Revisionshistorik Version, datum Författare
Läs merGrafisk visualisering av en spårbarhetslösning
Datavetenskap Opponenter Johan Kärnell och Linnea Hjalmarsson Respondenter Agni Rizk och Tobias Eriksson Grafisk visualisering av en spårbarhetslösning Oppositionsrapport, C-nivå Report 2011:06 1. Generell
Läs merFöreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012
Föreläsning 1 Repetition av sannolikhetsteori Patrik Zetterberg 6 december 2012 1 / 28 Viktiga statistiska begrepp För att kunna förstå mer avancerade koncept under kursens gång är det viktigt att vi förstår
Läs merAtt välja statistisk metod
Att välja statistisk metod en översikt anpassad till kursen: Statistik och kvantitativa undersökningar 15 HP Vårterminen 2018 Lars Bohlin Innehåll Val av statistisk metod.... 2 1. Undersökning av en variabel...
Läs merFöreläsning 12 Inspektionsmetoder. Rogers et al. Kapitel 15
Föreläsning 12 Inspektionsmetoder Rogers et al. Kapitel 15 Inspektionsmetoder Metoder som genomförs utan användare En eller helst flera experter utför en inspektion eller granskning Man utgår ifrån vedertagna
Läs merTrädstrukturer och grafer
Översikt Trädstrukturer och grafer Trädstrukturer Grundbegrepp Binära träd Sökning i träd Grafer Sökning i grafer Programmering tillämpningar och datastrukturer Varför olika datastrukturer? Olika datastrukturer
Läs merInnehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer
Innehåll Datastrukturer och algoritmer Föreläsning 1! Introduktion och begrepp Kurspresentation! - Målsättning! - Kursutvärdering! - Upplägg! - Översikt! Viktiga begrepp "1 "2 Mina målsättningar Alla ska
Läs merBedömningsanvisningar
NpMab vt 01 Bedömningsanvisningar Exempel på ett godtagbart svar anges inom parentes. Till en del uppgifter är bedömda elevlösningar bifogade för att ange nivån på bedömningen. Om bedömda elevlösningar
Läs merTentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl
1 Matematiska Institutionen KTH Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merData på individ/hushålls/företags/organisationsnivå. Idag större datamänger än tidigare
MIKROEKONOMETRI Data på individ/hushålls/företags/organisationsnivå Tvärsnittsdata och/eller longitudinella data o paneldata Idag större datamänger än tidigare Tekniska framsteg erbjuder möjligheter till
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merLösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610 och 5B1118, tisdagen den 7 januari 2014, kl
1 Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610 och 5B1118, tisdagen den 7 januari 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel:
Läs merFöreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna
Läs merFöreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna
Läs merShannon-Fano-Elias-kodning
Datakompression fö 5 p.1 Shannon-Fano-Elias-kodning Antag att vi har en minnesfri källa X i som tar värden i {1, 2,...,L}. Antag att sannolikheterna för alla symboler är strikt positiva: p(i) > 0, i. Fördelningsfunktionen
Läs merDatastrukturer. föreläsning 10. Maps 1
Datastrukturer föreläsning 10 Maps 1 AVL-träd 1 2 5 2 0 4 1 8 3 2 1 11 1 7 Lecture 6 2 Insättning i AVL-träd Sätt först in det nya elementet på samma sätt som i ett vanligt BST! Det nya trädet kan bli
Läs merTDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18
TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
Läs merIntroduktion till statistik för statsvetare
och enkäter "Det finns inget så praktiskt som en bra teori" September 2011 och enkäter Inledning Inledning Om vi vill mäta en egenskap hos en population individer (individer kan vara personer, företag
Läs merÖversikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
Läs merIntroduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1
Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens
Läs merDatastrukturer och algoritmer. Föreläsning 15 Inför tentamen
Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett
Läs merPMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning
PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer
Läs merAnalys/syntes-kodning
Analys/syntes-kodning Många talkodare bygger på en princip som kallas analys/syntes-kodning. Istället för att koda en vågform, som man normalt gör i generella ljudkodare och i bildkodare, så har man parametrisk
Läs merHandledning för konstruktion av tabeller och diagram med Excel
Handledning för konstruktion av tabeller och diagram med Excel 26 APRIL 2013 Inledning Excel är inte konstruerat för att i första hand utföra statistiska beräkningar, men en hel del sådant kan ändå göras.
Läs merFaktorisering med hjälp av kvantberäkningar. Lars Engebretsen
Faktorisering med hjälp av kvantberäkningar Lars Engebretsen 003-11-18 Bakgrund Vanliga datorer styrs av klassiska fysikens lagar. Vanliga datorer kan simuleras av turingmaskiner i polynomisk tid. Kanske
Läs mer