Presentation laddar. Vänta.

Presentation laddar. Vänta.

Nuance Tutorial & Workshop Anders Green KTH/NADA IPLab 2002-06-03.

Liknande presentationer


En presentation över ämnet: "Nuance Tutorial & Workshop Anders Green KTH/NADA IPLab 2002-06-03."— Presentationens avskrift:

1 Nuance Tutorial & Workshop Anders Green KTH/NADA IPLab

2 © Anders Green 2001 Nuance-tutorial 3/ Nuance-tutorial/workshop  Intro till Nuance  Var-finns-och-hur-komma-igång-varför-funkar-det-inte-aha-nuså!  Verktyg —Nuance Grammar Builder —VBuilder  API:er —Java SpeechChannel —C++: RCEngine, VRSAPI —C, RCAPI  Exempel/demo —Nuance -> Java (Prolog) »Prologdelen utgår (tidsbrist/off-topic)  Lunch  (eller när vi vill gå hem)  Diskussionsämnen —Tillämpningar & möjligheter —Begränsningar —Omvägar, genvägar, tips & tricks

3 © Anders Green 2001 Nuance-tutorial 3/ Nuance taligenkänning-varfördå-vardå?  Taligenkänning på svenska  Kostnadsfri utvecklarlicens (1 igenkännare)  Kan hantera telefonikort  Väldokumenterat API  Unix & Windows  Dock ej linux (vad det verkar)   ASR & Verifiering: US/Canadian English, UK English, Australian/New Zealand English, Singapore English, South African English, European French, Canadian French, Latin American Spanish, European Spanish, Brazilian Portuguese, Italian, German/Austrian German, Swiss German, Dutch, Swedish, Norwegian, Danish, Czech, Greek, Hebrew, Turkish, Korean, Japanese, Cantonese (Hong Kong-China), Mandarin Chinese (China, Taiwan), and Arabic (Jordan).  Ladda ner på:   Installera på en maskin med rätt* ljudkort** eller telefonikort*** *) Soundblasterkompatibelt —IBM Thinkpad t22 — Dell Latitude CPt —PC med ett vanligt hederligt kort (inga specialkort) **) Kort som har ESS chipset verkar fungera sämre ***) Till exempel ett DSP-kort som Dialogic

4 © Anders Green 2001 Nuance-tutorial 3/ Varför funkar det inte?  Native-igenkänning funkar inte med ljudkortet i maskinen  Arghh!! Åtgärd, byt maskin, typ  Ej startat licenshanterare  Starta en licenshanterare med rätt licensnummer som du hittar på  Sökväg till grammatikpaket fel  Se till att det finns ett kompilerat grammatikpaket  Ange var servern körs med lm.addresses  Vad kan man inte göra?  Få det att fungera på Linux  Få ut tidsstämplar från igenkänningsresultat direkt från API:t —Omväg finns genom partiella resultat –dock ej via JAVA  Använda för diktering  Köra det på valfri bärbar PC  Fler problem?

5 © Anders Green 2001 Nuance-tutorial 3/ Verktyg V-Builder  IDE  VoiceXML  Nuance SpeechObjectsTM.  Bygger dialoger med hjälp av fördefinierade objekt  Nuance Speech Channel —API:er  Nuance Verifier  Talarverifiering Nuance Grammar Builder  IDE  Skapa, kompilera och testa grammatikpaket I ett BNF-liknande format  Har viss typkonvertering  Semantik (enkel) kan specificeras med hjälp av slottar

6 © Anders Green 2001 Nuance-tutorial 3/ Om API:er  RCEngine:  C++ class that gives you direct access to recognition client functionality, including recognition, recording and playback, and call control. The RCEngine gives you a high level of control over event flow through a set of asynchronous notifications. —Finns tillgängligt som exempel med socket-koppling —Kräver t ex Visual Studio med C++ för att kunna kompilera  VRSAPI:  C++ class that lets you access recognition functionality as if you were communicating directly with the recognition server. —Alternativ till RCEngine (vet ej skillnad)  Java SpeechChannel:  The Java SpeechChannel interface defines methods you can implement to enable access to the Nuance recognition engine on a specific platform, including access to dynamic grammar and speaker verification functionality. —Verkar fungera med jdk 1.3 —Se senare exempel  RCAPI:  Provides functionality similar to the RCEngine via a set of C functions.

7 Design av FootFan (Windows JAVA) Nuance-tutorial

8 © Anders Green 2001 Nuance-tutorial 3/ FotbollFan  Säg namnet på ett lag och du får se lagets resultat  Ex:  “visa nigeria”  “få se england”  “Sverige”  “England” Taligen- känning Dialog hantering Text- generator GameResult DB

9 © Anders Green 2001 Nuance-tutorial 3/ Nuance SpeechChannel  Java Speech Channel  Java API (native-bibliotek)  Något färre funktioner än övriga API:er  Implementerar API till en igenkänningsklient  Server startas med bat-fil (dos) —Grammatiker anges vid start —Grammatiker förkompileras  Nuance licenshanterare (nlm) –Måste vara startad vid kompilering av grammatiker samt vid körning av server –Utvecklingslicensen medger att man kör en klient –”lm.addresses” berättar var serv ern körs (ex lm.addresses=localhost) recserver –package "c:\Fotfan\fotfan\fotfan" lm.Addresses=localhost nlm ntk a-x a1f1ac4 lm.Addresses=localhost start_nlm.bat: start_rec.bat: kodruta

10 © Anders Green 2001 Nuance-tutorial 3/ En minimal klass  Importera Speech Channel  Skapa en konfiguration  med startNuance()  Skapa ett SpeechChannel-objekt  Skapa applikationsspecifika saker  fönsterobjekt, knappar etc  datakopplingar  RunnableRecognition:  Tråd som visar resultatet från en igenkänning (dör sedan)  RecResult  Sätter igång en igenkännare  recognize  Skapar tråden Init private class RunnableRecognition implements Runnable { public void run() { RecResult result; try { //get the result result = recognitionFunction(); displayRecResult(result.getString("results[0].text")); } catch (Exception e) { } } // grammar name is “.FOTFAN” (top grammar) protected RecResult recognitionFunction () throws Exception { return nsc.playAndRecognize(".FOTFAN"); } // called whenever we should recognize stuff void recognize() { new Thread(new RunnableRecognition()).start(); } } // Frame1 end import vcommerce.core.util.*; import vcommerce.core.sc.*; import nuance.core.sc.*; import nuance.core.util.*; public class Frame1 extends JFrame { // Nuance stuff NuanceConfig config; NuanceSpeechChannel nsc; Functions Recognize Result x

11 © Anders Green 2001 Nuance-tutorial 3/ Initialisering  --package:  Säger var den kompilerade grammatiken är  lm.addresses  Talar om för NSC var den kan hitta igenkänningsklienten (recserver)  client.RecordDirectory  Var ska loggarna hamna  client.RecordFilename %NUANCE%\doc\api\index.html %NUANCE%\doc\api\parameters\frame.html Initialize Nuance Speech Channel void startNuance() { // Requires a running recognition server config = new NuanceConfig(); String[] params = { // Grammar location "-package","C:/FotFan/fotfan/fotfan", // Where is the server running "lm.Addresses=localhost", // Name of log-directory "client.RecordDirectory=C:/FotFan/logs", // Fileformat "client.RecordFilename=fotlog%4d" }; try { config.buildFromCommandLine(params); nsc = new NuanceSpeechChannel(config); } catch (Exception e) { System.out.println("Start Nuance failed:" + e); }

12 © Anders Green 2001 Nuance-tutorial 3/ En minimal grammatik Nuance Grammar Builder  Använd Nuance Grammar Builder  Kompilera fotfan_master Swedish.1.2 -o fotfan -auto_pron lm.Addresses=localhost  Glöm inte att starta Nuance licenshantering(nlm)!  Specificera lm.Addresses Grammatik ;kommentarer.FOTFAN [ [öppna visa starta]? COUNTRY:country { } ] COUNTRY [ sverige {return("swe")} england {return("gbr")} nigeria {return("nig")} ] toppgrammatik subgrammatik ”country” är en slot fotfan_master.slot-definitions: country

13 © Anders Green 2001 Nuance-tutorial 3/ Att-göra-lista Java:  (skapa en java-applikation med knappar etc)  Inititera Nuance Speech Channel  NuanceConfig (nsc)  Bygg konfigstränglista (String[]) —Var körs (lm.addresses) —Grammatikens plats (--package) —Logginfo (client. etc)  buildFromCommandLine( )  Skapa trådklass —Deklarera en RecResult i run() metoden —Anropa nsc.playAndRecognize( );  Definiera funktion som skapar en tråd —Recognize()  I Nuance Grammar Builder  Skapa en grammatik  Definiera slottar  Kompilera Dos  Starta NLM  Ange lm.addresses  Starta en recserver med –package  Ange lm.addresses  Starta java-applikationen  Det är möjligt att starta både nlm och recserver inifrån java men det är krångligt att sätta alla nödvändiga parametrar. Förslag emottages…  Prolog  Kan användas  Jasper funkar utmärkt

14 © Anders Green 2001 Nuance-tutorial 3/ Workshop  Diskussionsämnen  Format  Tillämpningar & möjligheter —Göteborg —Robot  Begränsningar  Omvägar, genvägar, tips & tricks —Dialogic —Ljud på andra sätt Voxi X10 Lägga upp -maila ut

15 © Anders Green 2001 Nuance-tutorial 3/ GU

16 GU Göteborg  Ljudkort  Ingen dokumentation för ljudkort  Extigy kanske är lösningen  Barge-in  IP-telefoni kan användas, men svårt pga dålig dokumentation  IP-telefoni —Ophone —Netmeeting —Linux: H323 paket för ip-telefoni  Licens-problem  För få licenser (t ex vid flerspråkighet)  Nlm lämnar inte tillbaka licenser tillräckligt snabbt  Asynkron taligenkänning/talsyntes kräver att man kör två versioner recserver  Auto-generera grammatiker  HPSG, Typteoretiska ramverk  VoiceXML (sun har en teknik preview/early access)  Statistiska språkmodeller  Parallella igenkännare  Global och lokal grammatik  Alt: dynamisk viktning  Flexibel turtagning  Barge-in  Parsning av feedback vs. bidrag  Hålla reda på när användare avbruter (vad var det som sades när avbrott skedde?)  Betoning  Hitta betonade ord  Telefonkort  Telefonkortet  ip-telefoni  Utforska semantik  Nu separat modul  Talarspecifik igenkännng från talaroberoende Frågor:  Erfarenhet av fyllda pauser  (Gabriel->Staffan, David)  GU: Vi har inte gjort några studier, men vi har fått det att funka för demos  Vi vill känna igen fraser


Ladda ner ppt "Nuance Tutorial & Workshop Anders Green KTH/NADA IPLab 2002-06-03."

Liknande presentationer


Google-annonser