NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006. Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden

Relevanta dokument
NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006. Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden

Vanliga frågor för VoiceXpress

ASR3 Språkmodeller Talgrammatiker

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Avkodning ASR prestanda

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll

ASR3 Språkmodeller Taligenk änningsgrammatiker

TUTORIAL: SAMLING & KONSOLL

Välkomna till kursen i grundläggande programmering DVGA08, ISGA04

Administratörsrättigheter i Windows krävs för att genomföra installationen.

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Introduktion till datormiljön och Python

Manual TorTalk version 1.3

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll

Föreläsning 3. Programmering, C och programmeringsmiljö

Installation av Butiksdata

Avslutning. Kapitel Komprimering av filer

Objektorienterad programmering i Java I

Simulera med ModelSim

Övningar för del I av kursen

PM Dokumentation

INSTALLATIONSHANDBOK

Introduktion till användning av linux-servern sledge och några övningsuppgifter

TDP005 Projekt: Objektorienterat system

Föreläsning 2 Verktyg m.m.

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

NetBeans 5.5. Avsikt. Projektfönster

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Objektorienterad programmering D2

Ladda ned appen Plickers till din surfplatta eller mobiltelefon och logga in med samma konto som du skapade ovan. Appen är gratis.

SF1672, Linjär Algebra med Matlab för F1 Lab0

Programsnickaren. Grunderna för hur du kommer igång och arbetar med Programsnickaren till Micro Rolltalk. Habilitering & Hjälpmedel

Tips och Trix kring konvertering och filmredigering (för vana datoranvändare)

Bilaga B Specifik programinformation

Föreläsning 3. Programmering, C och programmeringsmiljö

Spara filer eller mappar från ett kursrums filhanterare i Blackboard 9.1

Kort-kort om utdelade användarkonton och datormiljön på NADA

Instruktionsmanual Poddar, hemsidan, appen och marknadsföring

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Ordning och reda i datorn. Såhär?

Voic i FirstClass

Programinstallation Datorbaserat handsmörjningssystem

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

Dagens lektion. Dagens Litteratur. WER: Human vs machines. Taligenkänning mskiner/mskor. Mänsklig igenkänning Talteknologi och DialogSystem

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

Installationsanvisning för Su Officemallar 2007 För PC

Motivet finns att beställa i följande storlekar

Taligenkänning i PMO

Uppstart av ipad och konfigurering av itunes konto.

Kom igång med Denna korta manual hjälper dig med att komma igång med programmen Vital och ViTex.

Outlook Axxell Utbildning Ab

Bygg din egen verktygslåda till PC-DMIS. Workshop, PC-DMIS dagar 2015

Lab5 för prgmedcl04 Grafik

Statistiska språkmodeller med klass

Migrera till Word 2010

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

Pressmeddelande Skriv med rösten - det lönar sig*

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

TDDD78, TDDE30, 729A Grafik: Att "rita" egna komponenter

Laboration 10 - NetBeans

AutoCAD LT 2012 ANVÄNDARVÄNLIGHET. Ribbon. Anpassa ribbon UCS. Ann-Sofie Lundström. Håll Dig uppdaterad

Publicera PowerPoint presentationer med berättarröst i din Ping Pong sida

Introduktion till programmering, hösten 2011

Eclipse. Kort genomgång

Installationsanvisning för kursens programvara på egen dator

GitHub for Windows och GitShell

IT-körkort för språklärare. Modul 3: Ljud, del 1

Simulering med ModelSim En kort introduktion

NetBeans 7. Avsikt. Projektfönster

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

Laboration 10 - Eclipse

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Språkets struktur och funktion, 7,5 hp

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

E-tentavakt - Invigilator

Publicera material i Blackboard

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.

Administrationsmanual ImageBank 2

Handbok Sam. Peter H. Grasch

LäsFlyt Metodhandledning

de uppgifter i) Under m-filerna iv) Efter samlade i en mapp. Uppgift clear clc Sida 1 av 6

Enkla inspelningsverktyg PowerPoint

Att ladda ner från legimus.se

Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning

Manual till Båstadkartans grundläggande funktioner

ANVÄNDARGUIDE VITAL & TALANDE TANGENTBORD

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Automatisk start. Anne-Marie Mahfouf Översättare: Stefan Asserhäll

Uppdateringsguide v4 SR-3

Spela in och spara din PowerPointpresentation

Arbeta med rutter i Tracker MyWay och andra program.

Anpassa uttal i Infovox desktop Pro

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

Transkript:

NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006 Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden Laboration 3 börjar med en Nuance-tutorial som först och främst går ut på att lära sig lite hur Nuance fungerar och vilka program som finns. Större delen av den här tutorial innebär att utveckla en språkmodell för klockslag med de verktyg taligenkänningssystemet Nuance ger för att på så sätt få kännedom om Nuances vanligaste kommandon och om hur man skriver och utvärderar grammatiker och språkmodeller. Som utgångspunkt har labgrupperna en korpus med klockslag (som vi kan tacka Karin Cavallin för ) samt en zip-fil med inspelningar. Dessa två filer kan laddas ned från kurshemsidan. Laborationen är en separat del där ni väljer en av de föreslagna dialogsystemsdomänerna som ni utvecklar en taligenkänningsgrammatik för som ska klara yttranden som framtida användare av system kan komma att säga (Separat labpm om denna del kommer lämnas ut!). Alla fil/regel-namn som innehåller sekvensen NAMN i LabPM står för ett namn som ni själva sätter till filen, regeln eller biblioteket. DEL 1 Skapa en Språkmodell med Nuance 1. Börja med att ladda ner korpusen klockkorpus från kurshemsidan. 2. Ta en titt på korpusen 3. Sätt igång Nuance license manager i ett nytt terminalfönster a. $NUANCE /run_nlm 4. Gör en språkmodell med Nuance. a. Ställ er i biblioteket med filen klockkorpus b. Skriv train-slm help och titta på de alternativ som finns, discounting etc. c. Programmet generar default en trigrammodell med good-turing-discounting. d. Skriv: train-slm corpus klockkorpus slm ModellNAMN e. Vad ger programmet för output? Hur många trigram fick ni? f. Som resultat får ni en pfsg-fil och en slm-fil (NAMN.pfsg och NAMN.slm) som är er språkmodell i två olika format. 5. Skriv en grammatik som inkluderar språkmodellen a. Skapa en fil med filtyp.grammar t ex GramNAMN.grammar b. Skriv följande i filen där namnet på regeln måste vara med stor bokstav:.top RegelNamn RegelNamn:slm ModellNAMN.pfsg 6. Kompilera grammatiken ni skapat (GramNAMN.grammar) a. Skriv: nuance-compile och ta en koll på vad det här kommandot gör b. Skriv: nuance-compile GramNAMN.grammar Swedish o PaketNAMN

auto_pron dont_flatten i. Swedish står för det val av akustiska modeller som ska användas ii. auto_pron skapar uttal för de ord som inte finns i Nuances uttalslexikon c. Som resultat av nuance-compile får ni flera olika filer i biblioteket PaketNAMN som ni kan ta en titt på. d. Uttal med Nuance i. Med kommandot pronounce kan ni kolla uttalet för ett ord eller en fras i språkpaketen, pröva lite olika fraser och ord. 1. pronounce Swedish tjugo 2. pronounce Swedish fem minuter över tio 3. pronounce English.America enough 7. Sätt igång taligenkänningsservern i ett nytt terminalfönster a. Skriv: recserver package PaketNAMN lm.addresses=localhost 8. Sätt igång applikationen JSCApp för att köra taligenkänning i ett nytt terminalfönster a. Skriv: java JSCApp package PaketNAMN lm.addresses=localhost b. Ni får då upp en javaapplikation c. Se till att ert headset är inkopplat och tryck på recognize samt på knappen på headsetet och säg ett klockslag d. Låt alla i gruppen pröva olika klockslag och se hur taligenkänningen fungerar e. Finns det några klockslag som den inte klarar? f. Pröva också följande fraser: i. 27 minuter i 12 ii. 3 minuter över halv 12 iii. Kvart över fem iv. 15 minuter över fem 9. Ta fram perplexiteten på er språkmodell med process-slm a. Kopiera filen klocktest till ert labbkonto: i. cp../../klocktest. b. Titta på filen klocktest: det är en fil med klockslagsfraser c. process-slm ModellNAMN -ppl-corpus klocktest d. Vad får ni för värden? Vad betyder de? DEL 2 Skapa en klassbaserad språkmodell Nu när ni har sett hur taligenkänning med Nuance går till, vet vilka steg som tas för skapa en språkmodell utifrån en korpus och sedan sett hur man använder den språkmodellen i taligenkänningen, är tanken att ni ska modifiera den korpus ni har för att skapa en språkmodell som fungerar lite bättre än den ni har. Som ni kanske märkte fungerade inte en del klockslag. Detta beror på att de inte finns med i korpusen. Korpusen täcker inte allt. Det finns två sätt att lägga till saker: direkt i korpusen eller så skapar man klasser och lägger till definitioner i en klass. 1. Vi väljer att lägga till en klass a. Kvart finns inte med i korpusen, bara motsvarigheten 15 minuter b. Vi skapar klassen Kvart (med stor bokstav) som motsvarar 15 minuter samt kvart i en taggningsgrammatik: TagGramNAMN.tagging.grammar.Tagging Kvart

Kvart [ kvart (femton minuter)] c. Skapa ett taggningspaket med: 1. nuance-compile TagGramNAMN.tagging.grammar Swedish 2. vi får biblioteket TagGramNAMN.tagging som output d. Tagga korpusen med nl-tag-tool med klassen Kvart: 1. nl-tag-tool -package TagGramNAMN.tagging -grammar.tagging -no_output <klockkorpus >klockkorpus.tagged 2. Vi får filen klockkorpus.tagged 3. Öppna den och sök på Kvart e. Träna upp en ny språkmodell med den taggade korpusen 1. train-slm corpus klockkorpus.tagged slm TAGLMNAMN f. Skapa en ny grammatik TagNAMN.grammar som inkluderar den taggade grammatiken TagGramNAMN.tagging.grammar.Top Klockslag Klockslag:slm "TAGLMNAMN.pfsg" #include "TagGramNAMN.tagging.grammar" g. Kompilera grammatiken: 1. nuance-compile TagNAMN.grammar Swedish o TAGPAKETNAMN -auto_pron -dont_flatten 2. Innan vi kör igång en ny igenkänning se till att ni fortfarande har licensmanagern igång och stäng den gamla recservern samt javaapplikationen JSCApp. 3. Kör igång recserver med det nya paketet (motsv. TAGPAKETNAMN) och kör sedan igång JSCApp med följande kommando (se till att ni inte står i paketbiblioteket): a. java JSCApp package TAGPAKETNAMN lm.addresses=localhost rec.numnbest=3 rec.donbest=true b. Pröva taligenkänningen för er nya modell, ni kommer nu få en n-bästa lista från taligenkänningen när den känner igen. Gör gui:n lite större och om ni tar expand på mappen där ni tidigare fick igenkänningen kommer ni nu se flera alternativ med olika konfidenstal (som representerar taligenkänningens konfidens på dess val). c. Pröva de klockslag ni lagt till, t ex kvart i fem 4. Ta fram perplexiteten på er nya språkmodell med process-slm med samma testset som innan a. process-slm TAGLMNAMN -ppl-corpus klocktest b. Vad får ni för värden? Jämför med värden för modell del1 DEL 3 Skapa talgrammatiker med Nuance Nu är tanken att ni ska fortsätta att utvidga språkmodellen till att klara av inte bara klockslag utan hela svar på frågor såsom: Vad är klockan?, När vill du åka? Vilken tid vill du spela in filmen? När börjar mötet? D v s vi tänker oss att den ska användas som en delspråkmodell i olika dialogsystem (t ex videodomänen, resebyrå, väckarklocka, kalender). Detta gör vi genom att skapa en grammatik som anropar språkmodellen.

1. Skapa en ny grammatik KlockslagNAMN.grammar som anropar Klockslagsspråkmodellen enligt följande:.top TalaOmTidREGELNAMN TalaOmTidREGELNAMN [ (klockan Klockslag)] Klockslag:slm "TAGLMNAMN.pfsg" #include "TagGramNAMN.tagging.grammar" 2. Den här grammatiken har en regel som definieras av exempeluttrycket klockan Klockslag. Grammatiken anropar vår taggade språkmodell samt vår taggningsgrammatik. 3. Nu kan man säga saker som klockan fem. Fundera ut och lägg till fler TalaOmTidyttranden än klockan KLOCKSLAG som en användare kan tänkas svara till ovannämnda frågor (enligt NuanceSyntaxen). 4. Kompilera grammatiken med nuance-compile (som i del 1 uppg 6b med dont_flatten) till ett nytt igenkänningspaket och testa igenkänning av era tillagda TalaOmTid-fraser, starta JCSApp med paketet och n-bästa parametrar. (OBS! glöm inte stänga er gamla recserver och JSCApp, kör igång dem på nytt med det nya paketet och se till att run_nlm fortfarande är igång). 5. Testa om de yttranden ni tänkte på när ni utvidgade grammatiken verkligen fungerar: a. parse-tool package PAKETNAMN grammar.top b. skriv in de yttranden ni tror grammatiken bör kunna parsa eller inte Del 4 Utvärdering av en talgrammatik eller språkmodell Taligenkänning utvärderas genom att testa systemet med inspelningar och dess motsvarande transkriberingar. Taligenkänningens resultat jämförs mot transkriberingarna och antal ordfel som begåtts beräknas. Nuance använder sig av kommandot batchrec för att göra detta. Vi behöver en talgrammatik eller en språkmodell konverterat till ett taligenkänningspaket samt inspelningar av yttranden och transkriptioner för varje yttrande. På kurskontot finns filerna klocktestset och klocktransset som motsvarar dessa. Utvärdera era språkmodellspaket (SLM eller KLASSSLM). Kopiera från kurskontot filerna klocktestset och klocktransset (cp /../X). Hämta också biblioteket klockyttranden därifrån (cp r). Ni har ett antal inspelade yttranden samt dess transkriptioner till godo. Utvärdering görs med kommandot batchrec. 1. Ta en titt på filerna klocktestset och klocktransset. 2. batchrec package PAKETNAMN testset klocktestset transcriptions klocktransset rec.donbest=true rec.numnbest=10 rec.confidencerejectionthreshold=0 3. Vad får ni för WER-rate för de olika filerna samt totalt? 4. Jämför Paketet från Del 1 och Del2 5. Vad verkar gå fel? Finns rätt kandidat längre ned i N-Bästa Listan? Del 5 Xwavedit

Kör igång Xwavedit och pröva att spela in egna ljudfiler som kan användas för testning. Spela in de yttranden som finns transkriberade i filen klocktranset och testa hur bra igenkänningen fungerar för era röster. Får ni bättre resultat än Del4?