Řečové technologie – výzkum a využití Honza Černocký BUT Fakulta informačních technologií VUT v Brně ZRE #1,
ZRE#1, Honza Černocký /30 Agenda skupina 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ý /30 Kdo jsme - Skupina založena v 1997 (1 člověk) ~20 lidí c 2010 Fakultní posice Výzkumníci na projektech PhD a mladší studenti Podpora Bosses: Výzkum: Lukáš Burget Management: Honza Černocký Guru: Hynek Heřmanský
ZRE#1, Honza Černocký /30 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 funding – ca 14 MKč/rok
ZRE#1, Honza Černocký /30 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ý /30 Co děláme ? Automatická extrakce informací ze spontánní řeči Rozpoznávání mluvčího Rozpoznávání pohlaví Rozpoznávání jazyka Rozpoznávání řeči Identita Pohlaví Jazyk Přepis Jan Novák Muž nebo žena Angličtina ? Němčina ? Sejdeme se na Strážišti. Detekce klíčových slov Detekce “Strážiště” Řeč
7/30 Evaluace “Úspěšnost 100% ? Jasně!” … pokud si sami definujeme data, podmínky a evaluační metriky. NIST – agentura vlády USA 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 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.
ZRE#1, Honza Černocký /30 Agenda skupina 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ý /30 Trochu detailněji – jak se dělá rozpoznávač ? Podle obecného receptu z jakékoliv knihy o detekci nebo rozpoznávání … Nasbírat dataZvolit parametryZvolit modelNatrénovat model Evaluaovat klasifikátor Apriorní znalost problému nasazení
ZRE#1, Honza Černocký /30 A co je výsledkem ? Už jste asi viděli … Výpočet příznaků Vyhodnocení pravděpodobností nebo věrohodností (skóre hypotéz) Modely “Dekódování” vstuprozhodnutí
ZRE#1, Honza Černocký /30 Agenda skupina 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
12/30 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%
ZRE#1, Honza Černocký /30 Jak se dělá ? Vyhodenocení GMM skóre MFCC vstup Gaussian Mixture models – kluci, holky Rozhodnutí kluk, holka
ZRE#1, Honza Černocký /30 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ý /30 Matice parametrů O – sada čísel každých 10ms
ZRE#1, Honza Černocký /30 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ý /30 Rozhodnutí - „dekódování“
ZRE#1, Honza Černocký /30 Agenda skupina 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ý /30 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ý /30 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ý /30 Parametry
ZRE#1, Honza Černocký /30 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ý /30 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 > 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ý /30 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ý /30 Boj s inter-session variabilitou Front-end processing Front-end processing Target model Background model Background model LR score normalization LR score normalization Adapt Feature domainModel domainScore domain Noise removal Tone removal Cepstral mean subtraction RASTA filtering Mean & variance normalization Feature warping Speaker Model Synthesis Eigenchannel compensation Joint Factor Analysis Nuisance Attribute Projection Z-norm T-norm ZT-norm Feature Mapping Eigenchannel adaptation in feature domain 2006
ZRE#1, Honza Černocký /30 26 Vysoká inter-session variabilita Vysoká variabilita mezi mluvčími UBM Model cílového mluvčího Příklad: jedna Gaussovka s 2D parametry Princip kompensace ŠPATNÉ variability 1.
ZRE#1, Honza Černocký /30 27 Vysoká inter-session variabilita Vysoká variabilita mezi mluvčími UBM Target speaker model Test data 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 Princip kompensace ŠPATNÉ variability 2.
ZRE#1, Honza Černocký /30 Boj s inter-session variabilitou Front-end processing Front-end processing Target model Background model Background model LR score normalization LR score normalization Adapt Feature domainModel domainScore domain Noise removal Tone removal Cepstral mean subtraction RASTA filtering Mean & variance normalization Feature warping Speaker Model Synthesis Eigenchannel compensation Joint Factor Analysis Nuisance Attribute Projection Z-norm T-norm ZT-norm Feature Mapping Eigenchannel adaptation in feature domain 2008
ZRE#1, Honza Černocký /30 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 y1y2x1y1y2x1 u 13 u 23 u 13 u 23 u 13 u μ μ μ and are fixed. m1m2m1m2m1m2m1m2m1m2m1m2 + 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ů)
ZRE#1, Honza Černocký /30 y1y2x1y1y2x1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 y2x1y2x1 y1y1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 y2x1y2x1 y1y1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 y2x1y2x1 y1y1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 y2x1y2x1 y1y1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 y2x1y2x1 y1y1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 x1 x1 y2y2 y1y1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 y2y2 y1y1 x1x1 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 x1 x1 y1y1 y2y2 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 x1x1 y1y1 y2y2 μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2μ1μ2 = v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 v 11 v 12 v 21 v 22 u 13 u 23 u 13 u 23 u 13 u 23 m1m2m1m2m1m2m1m2m1m2m1m2 +
ZRE#1, Honza Černocký /30 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č ? i-vectors !
ZRE#1, Honza Černocký /30 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ý /30 NIST SRE STBU BUT STBU consortium BUT Spescom datavoice TNO
ZRE#1, Honza Černocký /30 NIST SRE 2008
ZRE#1, Honza Černocký /30 NIST SRE 2010 ABC systém: Agnitio (Jižní Afrika) BUT CRIM (Kanada)
ZRE#1, Honza Černocký /30 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ý /30 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 BOSARIS toolkit Lidi, co se jezdí naučit JFA, i-vectors, a spol.
ZRE#1, Honza Černocký /30 Agenda skupina 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ý /30 Identifikace jazyka - LID Jakým jazykem se mluvilo LID
ZRE#1, Honza Černocký /30 Dva hlavní přístupy Akustika – zase Gaussovky … Fonotaktika – fonémový rozpoznávač + fonotaktický model.
ZRE#1, Honza Černocký /30 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ý /30 Agenda skupina 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ý /30 Přepis řeči na text Voice2text V2T Speech2text S2T Large vocabulary continuous speech recognition LVCSR Výpočet příznaků Vyhodnocení pravděpodobností nebo věrohodností (skóre hypotéz) Akustické modely “Dekódování” vstuprozhodnutí Jazykový model Výslovnostní slovník Rozponávací SÍŤ
ZRE#1, Honza Černocký /30 Rozpoznávací síť
ZRE#1, Honza Černocký /30 Na čem se trénuje V2T ? Závislé na jazyce a na doméně Problémem je fonetická sada a slovník Snaha o přístupy, které budou pracovat automaticky MPO projekt s Lingea s.r.o. Korpus mluvené řeči + textové popisy Fonetická sada, výslovnostní slovník Textový korpus Systém pro rozpoznávání řeči
ZRE#1, Honza Černocký /30 Agenda skupina 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
56/30 Přístupy Akustický KWS Prohledávání výstupu LVCSR Prohledávání výstupu LVCSR s pod-slovními (sub-word) jednotkami Detekce klíčových slov - KWS Co ? Kde ? S jakou konfidencí ? Model klíčového slova vs. anti-model. Volby: Jaký je požadovaný poměr mezi rychlostí a přesností ? Bude se zpracovávat jen jednou (taktické aplikace) nebo prohledávat (intelligence) ? Vadí nám slova mimo slovník - Out of Vocabulary (OOV) words?
ZRE#1, Honza Černocký /30 Akustika není problém s OOVs Indexování není možné až 0.01xRT Nemá sílu jazykového modelu, problém s krátkými slovy. Model klíčového slova proti modelu pozadí Bez modelu jazyka
ZRE#1, Honza Černocký /30 Prohledávání výstupu LVCSR rychlost vyhledávání přesnější na častých slovech limitován slovníkem LVCSR vocabulary – OOV problém LVCSR je složitější a pomalejší než jen akustika. LVCSR, pak vyhledávání V 1-best nebo lattici. Možnost indexování !
ZRE#1, Honza Černocký /30 Prohledávání výstupu LVCSR + sub-words Zachována rychlost vyhledávání Zachována přesnost na častých slovech. Dají se vyhledávat OOV – bez nového zpracování dat! LVCSR a indexoání jsou složitější. LVCSR se slovy a pod- slovními jednotkami Indexování slov i pod- slovních jednotek
ZRE#1, Honza Černocký /30 Agenda skupina 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ý /30 Výzkum, vývoj a produktizace a jejich výstupy Výzkum Vývoj technologií Vývoj produktů Články, reporty, experimentální kód (Matlab, C++, lepidlo ve skriptech), datové soubory Cílem je přesnost Opakovatelnost, stabilita, rychlost, dokumentace Cílem je stabilita (zpracování chyb, verifikace kódu, testování na různých úrovních) Pravidelné výžvojové cykly a plánování Dobře definovaná rozhraní (APIs) Dokumentace Integrace s dalšími technologiemi Zaměření na funkcionalitu integrovaného řešení Uživatelská rozhraní
ZRE#1, Honza Černocký /30 Kompetitivní evaluace Organisace projektů v USA Uživatel, který má problém Agentura – DARPA, IARPA Vypsání projektu – Broad Agency Announcement (BAA) Řešitelé 1 Řešitelé 2 Řešitelé N Kolektor dat - LDC Evaluátor NIST, SAIC Prověřený integrátor