620 likes | 735 Views
Řečové technologie – výzkum a využití. Honza Černocký BUT Speech @FIT Fakulta informačních technologi í VUT v Brně ZRE #1 , 7.2. 201 1. Agenda. skupina S peech@FIT klasifikace a rozpoznávání vzorů jak to funguje - detekce pohlaví rozpoznávání mluvčího identifikace jazyka
E N D
Řečové technologie – výzkum a využití Honza Černocký BUT Speech@FIT Fakulta informačních technologií VUT v Brně ZRE #1, 7.2.2011
Agenda • skupina Speech@FIT • klasifikace a rozpoznávání vzorů • jak to funguje - detekce pohlaví • rozpoznávání mluvčího • identifikace jazyka • přepis řeči na text • detekce klíčových slov • organisace a projekty ZRE#1, Honza Černocký 7.2.2011
Kdo jsme - Speech@FIT • Fakultní posice • Výzkumníci na projektech • PhD a mladší studenti • Podpora Bosses: Výzkum: Lukáš Burget Management: Honza Černocký Guru: Hynek Heřmanský • Skupina založena v 1997 (1 člověk) • ~20 lidí c 2010 ZRE#1, Honza Černocký 7.2.2011
Speech@FIT funding – ca 14 MKč/rok • Fakulta (fakultní místa, výzkuný záměr, institucionální financování výzkumu) • EU projekty (FP[4567]) • Byly: SpeechDat, SpeeCon, M4, AMI, CareTaker, AMIDA. • Jsou: MOBIO, weKnowIt, DIRAC. • US funding – Air Force EOARD, IARPA, DARPA • České agentury – GAČR, MŠMT, MPO. • Silová ministerstva – obrana, vnitro • Kontrakty s průmyslem • Spin-off– Phonexia ZRE#1, Honza Černocký 7.2.2011
Ocel a software Steel • IBM Blade centers s ~450 CPUs • +Dalších ~400 jader v laboratořích • >120 TB diskového prostoru • Professionální a přátelká administrace Soft • Vývoj na Linuxu • Obecný: HTK, Matlab, QuickNet, SGE • Vlastní: STK, SNet, phnrec, TNet, KALDI ZRE#1, Honza Černocký 7.2.2011
Co děláme ? Automatická extrakce informací ze spontánní řeči Rozpoznávání mluvčího Identita Jan Novák Rozpoznávání pohlaví Pohlaví Mužnebožena Řeč Rozpoznávání jazyka Jazyk Angličtina ? Němčina ? Rozpoznávání řeči Přepis Sejdeme se na Strážišti. Detekce klíčových slov Detekce “Strážiště” ZRE#1, Honza Černocký 7.2.2011
Evaluace • “Úspěšnost 100% ? Jasně!” … pokud si sami definujeme data, podmínky a evaluační metriky. • NIST – agentura vlády USA http://www.nist.gov/speech • Pravidelné „benchmark campaigns“ – evaluace – řečových technologií • Všichni účastníci mají ta samá data a stejný časový rámec na jejich zpracování a zaslání výsledků => objektivní hodnocení • Výsledky a detaily systémů jsou diskutovány na NIST workshopech • BUT Speech@FIT se účastní … • Transcription 2005, 2006, 2007, 2009 • Language ID 2003, 2005, 2007, 2009 • Speaker Verification 1998, 1999, 2006, 2008, 2010 • Spoken term detection 2006 • Proč to děláme? • Porovnání s ostatními, zajištění (občas i definice )„state of the art“ • Nechceme dělat hovadiny, které lidé vyzkoušeli a nefungovaly.
Agenda • skupina Speech@FIT • klasifikace a rozpoznávání vzorů • jak to funguje - detekce pohlaví • rozpoznávání mluvčího • identifikace jazyka • přepis řeči na text • detekce klíčových slov • organisace a projekty ZRE#1, Honza Černocký 7.2.2011
Trochu detailněji – jak se dělá rozpoznávač ? Nasbírat data Zvolit parametry Zvolit model Natrénovat model • Podle obecného receptu z jakékoliv knihy o detekci nebo rozpoznávání … Apriorní znalost problému Evaluaovat klasifikátor nasazení ZRE#1, Honza Černocký 7.2.2011
A co je výsledkem ? Už jste asi viděli … Modely Výpočet příznaků Vyhodnocení pravděpodobností nebo věrohodností (skóre hypotéz) “Dekódování” vstup rozhodnutí ZRE#1, Honza Černocký 7.2.2011
Agenda • skupina Speech@FIT • klasifikace a rozpoznávání vzorů • jak to funguje - detekce pohlaví • rozpoznávání mluvčího • identifikace jazyka • přepis řeči na text • detekce klíčových slov • organisace a projekty ZRE#1, Honza Černocký 7.2.2011
Nejjednodušší případ – rozpoznávání pohlaví (GID) • Nejjednuší aplikace pro implementaci, trénování a nasazení. • … a také nejpřesnější (>96% na reálných kanálech) • Omezení vyhledávacího prostoru na 50%
Jak se dělá ? Gaussian Mixture models – kluci, holky MFCC Vyhodenocení GMM skóre Rozhodnutí vstup kluk, holka ZRE#1, Honza Černocký 7.2.2011
Parametry – Mel frekvenční cepstrální koeficienty • Signál není stacionární => rámce • A slyšení není lineární – banka filtrů a log. ZRE#1, Honza Černocký 7.2.2011
Matice parametrů O – sada čísel každých 10ms ZRE#1, Honza Černocký 7.2.2011
Vyhodenocení skóre kluků a holek • Směs Gaussovek se středními hodnotami, kovariančními maticemi a váhami • Vyhodnocení modelu nad maticí parametrů O: ZRE#1, Honza Černocký 7.2.2011
Rozhodnutí - „dekódování“ ZRE#1, Honza Černocký 7.2.2011
Agenda • skupina Speech@FIT • klasifikace a rozpoznávání vzorů • jak to funguje - detekce pohlaví • rozpoznávání mluvčího • identifikace jazyka • přepis řeči na text • detekce klíčových slov • organisace a projekty ZRE#1, Honza Černocký 7.2.2011
Rozpoznávání mluvčího • Verifikace • Je pan Vopička v nahrávce opravdu pan Vopička ? • Enrollment • Test • Identifikace • Mám nahrávku, kdo to je ? • Search • Najít pana Vopičku v tisících hovorů Identifikace i search se dají převést na N krát verifikaci. ZRE#1, Honza Černocký 7.2.2011
Základní schéma • 2 hypotézy • H0: mluvčí v testovací nahrávce není ten, kterého jsme viděli v enrollmentu. • H1: mluvčí v testovací nahrávce je ten, kterého jsme viděli v enrollmentu. • Log likelihood ratio ZRE#1, Honza Černocký 7.2.2011
Parametry ZRE#1, Honza Černocký 7.2.2011
GMM • Směs Gaussovek se středními hodnotami, kovariančními maticemi a váhami • Vyhodnocení modelu nad maticí parametrů O: ZRE#1, Honza Černocký 7.2.2011
UBM – background model • Na co je ? • Produkuje likelihood hypotézy H0 „toto není cílový mluvčí“ – nutné pro normalizaci. • Adaptuje se z něj model cílového mluvčího, protože pro plné trénování není dost cílových dat. • Jak se trénuje ? • Ideálně na nahrávkách všech >8.000.000.000 lidí, každý z několika různých kanálů. • Reálně na stovkách mluvčích z dostupných databází (LDC, dotrénování na cílová data). ZRE#1, Honza Černocký 7.2.2011
Inter-session variability • Popsaný systém • dokáže postavit průměrně zdatný student s Matlabem za půl dne. • Bude uspokojivě fungovat, pokud bude koherence mezi enrollmentem a testováním. • ALE ONA NENÍ - Inter-session variabilita • Variabilita mluvčího • Jazyk • Emoce, stres, Lombard effect • Zdravotní stav • Obsah promluvy, atd • Variabilita mimo mluvčího • Šum • Přenosový kanál – mikrofon, kodek, záznamové zařízení… • Toto vše snižuje přesnost systému. • Vyhrává ten, kdo • Dokáže lépe popsat DOBROU VARIABILITU (rozdíly mezi mluvčími) • Dokáže lépe zničit ŠPATNOU (inter-session) VARIABILITU ZRE#1, Honza Černocký 7.2.2011
Boj s inter-session variabilitou Feature domain Model domain Score domain Target model Adapt Front-end processing LR score normalization S L Background model • Speaker Model Synthesis • Eigenchannel compensation • Joint Factor Analysis • Nuisance Attribute Projection • Feature Mapping • Eigenchannel adaptation in feature domain 2006 • Noise removal • Tone removal • Cepstral mean subtraction • RASTA filtering • Mean & variance normalization • Feature warping • Z-norm • T-norm • ZT-norm ZRE#1, Honza Černocký 7.2.2011
Princip kompensace ŠPATNÉ variability 1. Příklad: jedna Gaussovka s 2D parametry Model cílového mluvčího UBM Vysoká variabilita mezi mluvčími Vysoká inter-session variabilita 26 ZRE#1, Honza Černocký 7.2.2011
Princip kompensace ŠPATNÉ variability 2. Rozpoznávání: nech oba modely pohybovat ve směru vysoké inter-session variability a nastav je tak, aby dávaly co nejvíce pro testovací data Target speaker model Test data UBM Vysoká variabilita mezi mluvčími Vysoká inter-session variabilita 27 ZRE#1, Honza Černocký 7.2.2011
Boj s inter-session variabilitou Feature domain Model domain Score domain Target model Adapt Front-end processing LR score normalization S L Background model • Speaker Model Synthesis • Eigenchannel compensation • Joint Factor Analysis • Nuisance Attribute Projection • Feature Mapping • Eigenchannel adaptation in feature domain • Noise removal • Tone removal • Cepstral mean subtraction • RASTA filtering • Mean & variance normalization • Feature warping • Z-norm • T-norm • ZT-norm 2008 ZRE#1, Honza Černocký 7.2.2011
Joint Factor Analysis Cíl: Popsat (a kompensovat) ŠPATNOU variabilitu, ale popsat také DOBROU variabilitu malým počtem parametrů (μi může mít 39 x 2048 = 80 tis. parametrů) m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 + μ y1 y2 x1 = + μ + + μ and are fixed. ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 y2 x1 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 y2 x1 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 y2 x1 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 y2 x1 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 y2 x1 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 y2 x1 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 x1 y2 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 y2 = + x1 ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 x1 y2 = + ZRE#1, Honza Černocký 7.2.2011
m1 m2 m1 m2 m1 m2 μ1 μ2 μ1 μ2 μ1 μ2 v11 v12 v21 v22 v11 v12 v21 v22 v11 v12 v21 v22 u13 u23 u13 u23 u13 u23 y1 = + y2 x1 ZRE#1, Honza Černocký 7.2.2011
Od složitého k jednoduchému – total variability i-vectors Zjednodušená verze JFA, s jediným podprostorem, který definuje celkovou variabilitu (nerozlišujeme dobrou a špatnou) Podobně jako u speaker/channel faktorů nám jde o representaci nahrávky pomocí malého počtu parametrů. Už při jednoduchém skórování pomocí skalárního součinu i-vektorů dostáváme výsledky lepší než plná JFA Proč ? 2009-2010 i-vectors ! ZRE#1, Honza Černocký 7.2.2011
Od jednoduchého zase ke složitému - PLDA Probabilistic LDA i-vectors jsou samy modelovány pomocí zjednodušené verze JFA. Inspirace [Prince ’07] PLDA pro verifikaci obličejů Model, který umožňuje Rychlé skórování Nejprve extrakce i-vectoru – “voice/print” Pak jednoduché srovnání Symetrické skórování – enrollment vs. test => skóre pro pár dvou nahrávek Funguje pro krátké nahrávky Velmi zajímavé pro masivní zpracování dat N nahrávek proti M mluvčím, Speaker clustering Dříve: 10ky – 100ky párů nahrávka/model za 1s na 1 CPU Nyní: desetitisíce Dá se ořezat – viz demo na mobilu. ZRE#1, Honza Černocký 7.2.2011
NIST SRE 2006 - STBU • BUT • STBU consortium • BUT • Spescom datavoice • TNO ZRE#1, Honza Černocký 7.2.2011
NIST SRE 2008 ZRE#1, Honza Černocký 7.2.2011
NIST SRE 2010 ABC systém: • Agnitio (Jižní Afrika) • BUT • CRIM (Kanada) ZRE#1, Honza Černocký 7.2.2011
Jak to ? • Umíme teorii klasifikace a rozpoznávání vzorů. • Jsme v kontaktu s lidmi, kteří jsou světovými špičkami – Patrick Kenny, Niko Brümmer, další. • dokážeme rychle implementovat nové nápady, a testovat • Analyzujeme výsledky a přemýšlíme o nich • Dokážeme se dívat mimo obor (uvnitř zpracování řeči – rozpoznávání jazyka, přepis, detekce klíčových slov) i jinde (Prince) a rychle aplikovat nápady. • A máme hodněPOČÍTAČŮ, které FUNGUJÍ ZRE#1, Honza Černocký 7.2.2011
Spolupráce v rozpoznávání mluvčího Komunita • NIST SRE 2010 workshop na FITu. • Odyssey 2010: The Speaker and Language Recognition Workshop také na FITu. • BOSARIS – 5ti týdenní výzkumný workshop v červenci (incl. Patrick Kenny a Niko Brümmer) také na FITu. • Software pro svět: • JFA demo na http://speech.fit.vutbr.cz/software • BOSARIS toolkit http://speech.fit.vutbr.cz/workshops/bosaris2010 • Lidi, co se jezdí naučit JFA, i-vectors, a spol. ZRE#1, Honza Černocký 7.2.2011
Agenda • skupina Speech@FIT • klasifikace a rozpoznávání vzorů • jak to funguje - detekce pohlaví • rozpoznávání mluvčího • identifikace jazyka • přepis řeči na text • detekce klíčových slov • organisace a projekty ZRE#1, Honza Černocký 7.2.2011
Identifikace jazyka - LID LID • Jakým jazykem se mluvilo ZRE#1, Honza Černocký 7.2.2011
Dva hlavní přístupy • Akustika – zase Gaussovky … • Fonotaktika – fonémový rozpoznávač + fonotaktický model. ZRE#1, Honza Černocký 7.2.2011
Na čem trénovat LID ? • Nahrávky (mnoho) daného jazyka. • Možnost automatického získávání • detekce telefonních hovorů v internetových archívech vysílání • Pomoc LDC pro NIST LRE 2008 • Projekt US Air Force EOARD. • Dá se i u klienta na ostrých datech. • Současná práce • JFA, i-vectors a spol. – i v LID je nutné bojovat s inter-session (a tentokrát i s inter-speaker) variabilitou. ZRE#1, Honza Černocký 7.2.2011