Multilingvální modely pro rozpoznávání řeči dokumentace k software
Martin Karafiát, František Grézl, Ekaterina Egorova, Miloš Janda a Jan Černocký BUT Speech@FIT, Fakulta informačních technologií VUT v Brně
Brno, srpen 2013
Projekt Ministerstva průmyslu a obchodu České republiky Program: TIP Identifikační číslo: FR-TI1/034
1
Obsah 1
Popis software .................................................................................................................... 3 1.1 Úvod ........................................................................................................................... 3 1.2 Jazyky a fonémové sady ............................................................................................. 3 1.3 Architektura systému.................................................................................................. 3 1.4 Obsah adresářů ........................................................................................................... 4 1.4.1 nn – parametry akustických modelů .................................................................. 4 1.4.2 phn_recode – převod fonémových sad ......................................................... 5 1.4.3 phn_set – fonémová sada rozpoznávače ....................................................... 5 1.4.4 pron – výslovnostní slovník ............................................................................. 6 2 Manuál ................................................................................................................................ 6 3 Návrh licenčních podmínek................................................................................................ 6
2
1 Popis software 1.1
Úvod
Dokumentace náleží k software předanému ze strany VUT v Brně společnosti Lingea s.r.o. v rámci projektu MPO TIP FR-TI1/034 „Multilingvální rozpoznávání a vyhledávání v řeči pro elektronické slovníky“. K běhu SW je zapotřebí: • Operační systém Windows (Windows 2000 nebo novější) nebo Linux (s jádrem 2.6 nebo novějším) • Knihovna BS-CORE verze 2, revision 307. Formální licencování software ze strany VUT společnosti Lingea s.r.o. je v současné době řešeno. 1.2
Jazyky a fonémové sady
Rozpoznávače jsou realizovány pro následující jazyky: • Němčina • Španělština • Turečtina • Angličtina Počty fonémů a fonémových stavů v uvedených jazycích jsou v Tabulce 1. Jazyk Němčina Španělština Turečtina Angličtina
Počet fonémů 42 35 30 40
Počet stavů 126 105 90 120
Tabulka 1: Počty fonémů (včetně „sil“ reprezentujícího ticho) a fonémových stavů pro jednotlivé jazyky.
1.3
Architektura systému
Architektura systému je zobrazena na Obr. 1.
Obrázek 1: Architektura rozpoznávače
Parametrizace řečového signálu probíhá na vstupu se vzorkovací frekvencí 16 kHz v rámcích o 400 vzorcích (25 ms), jejichž posun (frame shift) je 160 vzorků (10 ms). FFT výkonové spektrum je zpracováno bankou 23 Melovských filtrů, z trajektorií v jednotlivých pásmech jsou následně odebrány úseky přes 31 rámců (celkem tedy 300 ms). Tyto trajektorie jsou rozděleny na levou a pravou polovinu (left context – right context, proto je tento systém
3
označován jako LC-RC) a každá je dekorelována pomocí diskrétní cosinové transformace (DCT), z níž je zachováno 11 koeficientů. Parametrizace je řešena knihovnou BS-CORE. Výpočet pravděpodobností jednotlivých stavů fonémů je realizován pomocí trojice neuronových sítí: • Dvě kontextové sítě, každá zpracovávající jednu polovinu kontextu. Počet neuronů ve vstupní vrstvě je 253 (23 pásem krát 11 DCT koeficientů), skrytá vrstva má 1500 neuronů a výstupní vrstva má rozměr odpovídající počtu fonémových stavů dle tabulky 1. Kontextové sítě produkují posteriorní pravděpodobnosti fonémových stavů. • Merger, který výstupy dvou kontextových sítí spojuje do jediné sady posteriorní pravděpodobnosti fonémových stavů. Velikost jeho vstupní vrstvy je dána dvojnásobkem počtu fonémových stavů podle jazyka, skrytá vrstva má opět velikost 1500 neuronů a počet neuronů výstupní vrstvy je dán opět počtem fonémových stavů daného jazyka. Výsledné posteriorní pravděpodobnosti jsou využity v rozpoznávacím systému ve standardním Viterbiho algoritmu, který je opět součástí BS-CORE. 1.4 Obsah adresářů Kořenové adresáře pro jednotlivé jazyky jsou English_final German_final Spanish_final Turkish_final Každý z nich pak obsahuje následující podadresáře: 1.4.1 nn – parametry akustických modelů windows/ band0.window band1.window soubory obsahují koeficienty levé a pravé poloviny Hammingova okna pro vážení levé a pravé poloviny časové trajektorie výstupu jednoho filtru banky filtrů. dct/dct.matrix soubor obsahuje matici počítající diskrétní cosinovou transformaci o rozměrech 11 řádků (počet výstupních koeficientů) x 16 sloupců (počet vstupů – délka poloviny časové trajektorie). norms/ band0.norms band1.norms merger.norms soubor obsahuje střední hodnoty a směrodatné odchylky pro normalizaci vstupů neuronových sítí na globální nulovou střední hodnotu a jednotkovou varianci. Délky vektorů odpovídají velikosti vstupní vrstvy sítě: • u kontextových sítí 11 koeficientů x 15 pásem = 253 • u mergeru je velikost dána dvojnásobkem počtu fonémových stavů (merger míchá výstupy dvou sítí), u angličtiny tedy například 2 x 120 = 240. weights/
4
band0.weights band1.weights merger.weights soubory obsahují parametry natrénovaných neuronových sítí. Všechny neurony jsou standardní perceptrony, ve skryté vrstvě se sigmoidní nelinearitou, ve výstupní vrstvě s normalizační nelinearitou typu „softmax“. Vstupní matice vah kontextových sítí band0.weights a band1.weights propojuje 253 vstupů s 1500 neurony skryté vrstvy, obsahuje tedy 253 x 1500 = 379500 vah. Další matice udává váhy propojující skrytou vrstvu (1500 neuronů) s výstupní vrstvou, jejíž velikost odpovídá počtu fonémových stavů, pro angličtinu tedy 1500 x 120 = 180000. Skrytá vrstva neuronů musí mít dány posuny svých aktivačních funkcí (biases), velikost tohoto vektoru je rovna počtu neuronů, tedy 1500. Stejně tak výstupní vrstva má počet těchto posunutí rovný své velikosti, pro angličtinu tedy 120. Matice vstupních vah mergeru má velikost danou dvojnásobkem počtu fonémových stavů (pro angličtinu 240) x počtem neuronů skryté vrstvy (1500) = 360000. Matice vah mezi skrytou vrstvou a výstupní vrstvou má 1500 x počet fonémových stavů (120) = 180000. Velikosti vektoru s posuny aktivačních funkcí jsou shodné s těmito velikostmi pro kontextové sítě (velikosti skrytých vrstev a výstupních vrstev si odpovídají). 1.4.2
phn_recode – převod fonémových sad
Textový soubor se dvěma sloupci obsahuje převod fonémů používaných v systémech Lingea do fonémové sady použitého rozpoznávače, pro angličtinu např.: aI aU a Q H m h eI e … atd. 1.4.3
aI aU A O _< m h eI E
phn_set – fonémová sada rozpoznávače
Textový soubor obsahuje seznam fonémů rozpoznávače. Je důležitý pro interpretaci výstupů výstupní vrstvy každé neuronové sítě, která na každý foném obsahuje tři stavy. Soubor obsahuje značky fonémů, každou na jednom řádku, např. A D E I N … atd.
5
1.4.4
pron – výslovnostní slovník
Výslovnostní slovník obsahuje pro každé rozpoznávané slovo výslovnost zapsanou pomocí fonémů Lingea. Primární a sekundární přízvuk (značeny ' a ,) nejsou používány. Pro převod na fonémy rozpoznávače je využita tabulka phn_recode. abbreviate E'bri:vI,eIt abbreviated E'bri:vI,eItId abbreviation E,bri:vI'eISEn abdicate 'HbdI,keIt abdication ,HbdI'keISEn abdomen 'HbdEmEn … atd.
2 Manuál Vzhledem k tomu, že se nejedná o software s uživatelským rozhraním, ale popsaný software sestává převážně z parametrů modelů, které musejí být použity s knihovnou BS-CORE, je návod k použití software jednoduchý: 1. Rozbalení software z dodaného balíku pomocí tar -xzf MultilingvalniModely2013.tar.gz Tento příkaz vytvoří adresářovou strukturu popsanou v sekci 1.4 2. Instalace dat na příslušné místo: DST=cesta/k/adresari/aplikace mv Spanish_final $DST/speech/sp mv English_final $DST/speech/en mv Turkish_final $DST/speech/tr mv German_final $DST/speech/ge 3. Binarizace dat: cd $DST export LC_ALL=C ./Pron en & ./Pron ge & ./Pron sp & ./Pron tr & 4. Po nastartování demonstrátorů (při kterém dojde k binarizaci dat) stačí pozavírat jejich okna, nové jazyky jsou připraveny k použití. Při integraci do jiného software budou integrovány již binarizované soubory, takže tento postup už nebude nutný. Testování je důkladně popsáno v technické zprávě k Etapě 5 projektu [TIP5].
3 Návrh licenčních podmínek Návrh podmínek vychází z obdobné smlouvy již uzavřené mezi Vysokým učením technickým v Brně a Lingea s.r.o. v roce 2010. VUT v Brně zde vystupuje jako poskytovatel licence a 6
Lingea s.r.o. jako nabyvatel licence. Návrh licenčních podmínek je ve shodě se Smlouvou o využití výsledků výzkumu a vývoje mezi Lingea s.r.o. a Ministerstvem průmyslu a obchodu, ze dne 29.1.2013. Licence není exkluzivní, příjemce se zavazuje zpřístupnit výsledky řešení projektu všem zájemcům o jejich využití za stejných podmínek. Podmínkami zpřístupnění výsledků řešení jsou: disponování programátorskými a lingvistickými kapacitami pro implementaci a know-how v oblasti systémů pro rozpoznávání řeči s velkým slovníkem. Preambule Vzhledem k tomu, že: a) poskytovatel licence prohlašuje, že je oprávněným majitelem (držitelem) a vykonavatelem majetkových práv autorských k následujícímu autorskému dílu: •
Multilingvální modely pro rozpoznávání řeči v angličtině, španělštině, němčině a turečtině – software
(pro účely této smlouvy uvedené autorské dílo dále také jen jako „VUT-SW“), b) vývoj VUT-SW byl plně financován z účelové podpory projektu FR-TI1/034, projekt ve výzkumu a vývoji podporovaného Ministerstvem průmyslu a obchodu České republiky „Multiligvální rozpoznávání a vyhledávání v řeči pro elektronické slovníky“, c) Vysoké učení technické v Brně a Lingea s.r.o. spolu dne 29.9.2009 uzavřeli Smlouvu o spolupráci na řešení projektu č. FR-TI1/034 ve výzkumu a vývoji podporovaného Ministerstvem průmyslu a obchodu České republiky "Multilingvální rozpoznávání a vyhledávání v řeči pro elektronické slovníky" d) poskytovatel a nabyvatel prohlašují, že jsou plně oprávněni tuto smlouvu uzavřít a převzít všechny závazky z této smlouvy vyplývající, rozhodli se nabyvatel a poskytovatel (dále společně také jen jako „smluvní strany“ a každý z nich jednotlivě dále také jen jako „smluvní strana“) uzavřít tuto smlouvu. Článek 1 – Předmět licence 1.1
Poskytovatel touto smlouvou uděluje v níže uvedeném rozsahu a za dále dohodnutých podmínek nabyvateli svolení (souhlas) k výkonu práva užít (pro účely této smlouvy zejména i rozmnožovat a rozmnoženiny šířit) následující předměty práv duševního vlastnictví: VUT-SW (uvedené autorské dílo pro účely této smlouvy dále jen jako „Software“) a nabyvatel takto udělenou licenci od poskytovatele přijímá.
1.2 Za účelem výše uvedeným poskytovatel licence na základě této smlouvy předává a již předal nabyvateli v 1ks CD-ROM s ukončeným zapisováním obsahující: a)
VUT-SW ve formě datových souborů a dokumentace
7
(pro účely této smlouvy uvedený CD-ROM dále také jen jako „CD-ROM“), kdy nabyvatel převzetí CD-ROM níže připojeným podpisem svého oprávněného zástupce na této smlouvě potvrzuje a stvrzuje. 1.3
Nabyvatel se zavazuje zajišťovat ochranu Software a obsahu CD-ROM po celou dobu trvání této smlouvy a dále pak pět (5) let po skončení její platnosti. Článek 2 – Rozsah a omezení licence
2.1
Licence dle této smlouvy je poskytována jako nevýhradní, bez jakéhokoli územního či množstevního omezení jejího rozsahu a uděluje se na dobu trvání autorských práv autorů k jejich dílům (tj. pro účely této smlouvy na dobu trvání autorských práv autora nebo spoluautorů k VUT-SW).
2.2
Na základě této smlouvy je nabyvatel oprávněn užít Software k následujícím způsobům užití: a) začlenit
Software do svých vlastních softwarových produktů (z oblasti elektronických slovníků, výukového softwaru a jazykových nástrojů) a Software jako součást těchto produktů dále rozmnožovat a rozmnoženiny Software rozšiřovat. b) začlenit Software do softwarových produktů (z oblasti elektronických slovníků, výukového softwaru a jazykových nástrojů) vytvářených nabyvatelem na zakázku pro třetí osoby a poskytovat těmto třetím osobám právo Software jako součást těchto produktů dále rozmnožovat a rozmnoženiny Software rozšiřovat. c) k jakýmkoli způsobům užití nutným pro to, aby mohly být v souladu s touto smlouvou realizovány způsoby užití uvedené výše v písm. a) a b). 2.4
Nabyvatel licence je oprávněn Software pro své potřeby a pro potřeby svých softwarových produktů dle svého uvážení dále měnit a upravovat.
2.5
Nabyvatel není povinen licenci udělenou mu na základě této smlouvy využít.
2.6
Smluvní strana je oprávněna postoupit svá práva a povinnosti z této smlouvy na třetí osobu jen na základě předchozího písemného souhlasu druhé smluvní strany. Z opatrnosti ale smluvní strany prohlašují, že ujednání předchozí věty nikterak neomezuje nabyvatele licence v jeho oprávněních dle článku 2.2 této smlouvy.
2.7
Uzavření této smlouvy nebrání poskytovateli, aby Software samostatně v souladu s obecně závaznými právními předpisy a svými dalšími smluvními závazky nadále dovoleným způsobem užíval.
2.8
Nabyvatel se zavazuje, že nebude s poskytnutým software nakládat způsobem, který by byl v rozporu s podmínkami poskytnuté dotace na projekt ve výzkumu a vývoji podporovaný Ministerstvem průmyslu a obchodu České republiky „Multiligvální rozpoznávání a vyhledávání v řeči pro elektronické slovníky“. Toto ustanovení má přednost před jakýmkoliv jiným ustanovením této smlouvy.
8
Článek 3 – Kontrolní činnost Poskytovatel je oprávněn kdykoli provést kontrolu plnění této smlouvy ze strany nabyvatele, to ať již sk rze jeh o k tomu pověřeného zaměstnance nebo prostřednictvím jím k tomu písemně zmocněné fyzické či právnické osoby. V případě, že osoba pověřená nebo zmocněná poskytovatelem licence k provedení kontroly dle předchozí věty nebude vázána zákonnou povinností mlčenlivosti v souvislosti se svým povoláním či výkonem své funkce, zavazuje se poskytovatel licence takovou osobu před zahájením výkonu kontroly zavázat k mlčenlivosti přinejmenším v rozsahu odpovídajícím tomu dle článku 8.2 této smlouvy. Poskytovatel licence se tímto rovněž zavazuje nezmocnit nebo nepověřit výkonem kontrolní činnosti osobu, jejíž zájmy mohou být nebo jsou v rozporu či střetu s oprávněnými zájmy nabyvatele licence. Článek 4 – Licenční odměna Licence na základě této smlouvy se poskytuje bezúplatně. Článek 5 – Záruka za vady software 5.1
Smluvní strany ujednávají, že licence se uděluje na základě této smlouvy k Software „tak, jak je“ bez záruky jakéhokoliv druhu.
5.2
V dané souvislosti smluvní strany dále ujednávají, že poskytovatel neodpovídá za žádné případné faktické vady Software ani jeho částí. Nabyvatel licence bere na vědomí a souhlasí s tím, že nelze objektivně zaručit, aby byl: a)
Software vhodný pro provozování na jakékoliv cílové platformě, typu CPU, periferii či vstupních datech, b) provoz Software nepřerušený a bezchybný. 6.1
Článek 6 – Odpovědnost za škodu Poskytovatel licence se všemi důsledky z toho vyplývajícími prohlašuje, že mu nejsou známy žádné právní vady Software ani žádné z jeho částí a že on sám není nikterak (např. obecně závazným právním předpisem anebo smlouvou) omezen tuto smlouvu uzavřít. Poskytovatel zejména ubezpečuje nabyvatele, že disponuje všemi právy, oprávnění k jejichž výkonu touto smlouvou poskytuje nabyvateli. Článek 7 – Trvání smlouvy
7.1
Tato smlouva nabývá účinnosti okamžikem jejího podpisu oběma smluvními stranami a její trvání lze ukončit pouze způsoby uvedenými v této smlouvě.
7.2
Poskytovatel licence je oprávněn od této licenční smlouvy odstoupit, jestliže nabyvatel licence tuto smlouvu poruší zvlášť závažným způsobem. Smluvní strany ujednávají, že za zvlášť závažné porušení této smlouvy ze strany nabyvatele licence je považováno: a)
taková svévolná modifikace Software, která by znamenala zhoršení vlastností Software a poškození dobrého jména poskytovatele.
9
b) jestliže nabyvatel poruší ustanovení článku 2.6, tj. postoupí licenci dle této smlouvy třetí osobě bez předchozího písemného souhlasu poskytovatele. 7.3
Poskytovatel licence je oprávněn od této smlouvy odstoupit rovněž v případě, jestliže nabyvatel licence tuto smlouvu poruší nebo bude porušovat jiným způsobem než některým z těch uvedených v předchozím odstavci a i přes písemné upozornění poskytovatele ani ve lhůtě třiceti (30) dní ode dne doručení upozornění od porušování této smlouvy neupustí.
7.4
Nabyvatel je oprávněn od této smlouvy odstoupit v případě, jestliže se prohlášení nebo ubezpečení poskytovatele učiněné v článku 6.1 této smlouvy ukáže nepravdivým nebo nedůvodným.
7.5
Odstoupení od této smlouvy musí být učiněno písemně a vyvolává účinky ke dni jeho doručení druhé smluvní straně v souladu s touto smlouvou (k tomu viz ujednání článku 10.1 této smlouvy).
7.6
I po skončení trvání této smlouvy jsou smluvní strany povinny a oprávněny dostát všem svým závazkům, které ve vztahu ke třetím osobám převzaly přede dnem ukončení trvání této smlouvy. Článek 8 – Další ujednání
8.1
Smluvní strany se dohodly na tom, že nabyvatel licence bude práva z této smlouvy vykonávat s péčí řádného hospodáře.
8.2
Žádná smluvní strana neprozradí žádné osobě, ani nepoužije nebo nevyužije pro jakýkoli účel žádné informace, jež získá nebo již získala při realizaci této smlouvy o druhé straně, pokud by tímto druhé smluvní straně měla nebo mohla vzniknout jakákoli újma na majetku nebo dobrém jméně či pověsti. Obě strany této smlouvy jsou povinny zachovávat mlčenlivost také o všech skutečnostech, jejichž vyzrazení třetí osobě by mohlo druhé smluvní straně, popřípadě třetí osobě s touto stranou jednající ve shodě, nebo jejich zaměstnancům, přivodit újmu.
8.3
Práva a povinnosti nabyvatele licence z této smlouvy přecházejí na jeho právního nástupce i bez předchozího souhlasu poskytovatele licence.
8.4
Nabyvatel licence se zavazuje nepřivodit vlastní činností zánik práv poskytovaných dle této smlouvy ani nepodporovat činnost třetích osob směřující k týmž důsledkům.
8.5
Smluvní strany jsou povinny se vzájemně a bezodkladně informovat, jsou-Ii omezovány ve výkonu práv dle této smlouvy třetími osobami nebo zjistí-li, že třetí osoby práva dle této smlouvy porušují.
8.6
Osobnostní práva autorská zůstávají touto smlouvou nedotčena. Článek 9 – Spory
Smluvní strany ujednávají, že spory mezi nimi budou řešeny v občanském soudním řízení před obecnými soudy.
10
Článek 10 – Závěrečná ujednání 10.1 Smluvní strany se zavazují doručovat si vzájemně písemnosti v souvislosti s touto smlouvou vždy na adresu sídla uvedenou shora, která je pro účely této smlouvy rovněž adresou pro doručování. Jakákoli změna adresy pro doručování u jedné ze smluvních stran vyvolává vůči druhé smluvní straně účinky od okamžiku, kdy je s ní tato druhá smluvní strana písemně (doporučeným dopisem) obeznámena. Smluvní strany výslovně a bezvýhradně ujednávají pro případ, že si smluvní strana, které je (bude) doručována jakákoli písemnost v souvislosti s touto smlouvou, tuto nepřevezme, že se taková písemnost pro účely této smlouvy považuje za doručenou desátý (10.) den následující po dni, v němž byla předána k poštovní přepravě za účelem jejího doručení. 10.2 Nevynutitelnost anebo neplatnost anebo neúčinnost kteréhokoli ujednání této smlouvy neovlivní vynutitelnost anebo platnost anebo účinnost jejích ostatních ujednání. V případě, že by jakékoli ujednání této smlouvy mělo pozbýt platnosti anebo účinnosti, zavazují se tímto smluvní strany zahájit jednání a v co možná nejkratším termínu se dohodnout na přijatelném způsobu provedení záměrů obsažených v takovém ujednání této smlouvy, jež platnosti anebo účinnosti anebo vynutitelnosti pozbylo. 10.3 Tuto smlouvu je možno měnit výlučně písemnými, datovanými a číslovanými dodatky podepsanými oběma smluvními stranami. 10.4 Otázky touto smlouvou výslovně neupravené se řídí zákonem č. 121/2000 Sb., o právu autorském a o právech souvisejících s právem autorským, v platném znění, a dále zákonem č. 513/1991 Sb., obchodním zákoníkem, v platném znění. 10.5 Tato smlouva byla vyhotovena ve dvou (2) stejnopisech s platností originálu, přičemž nabyvatel obdrží jedno (1) a poskytovatel rovněž (1) vyhotovení. 10.6 Smluvní strany závěrem prohlašují, že se s obsahem této smlouvy důkladně seznámily, že tato smlouva je projevem jejich skutečné, vážné, svobodné a určité vůle prosté omylu a není uzavřena v tísni za nápadně nevýhodných podmínek, na důkaz čehož připojují své uvedené podpisy jejich oprávnění zástupci.
11