Příprava dat pro službu Custom Speech
Při testování přesnosti rozpoznávání řeči od Microsoftu nebo školení vašich vlastních modelů budete potřebovat zvuková a textová data. Na této stránce se zabýváme typy dat, které jsou potřeba pro vlastní modely řeči.
Rozmanitost dat
Text a zvuk, který se používá k otestování a výukě vlastního modelu, musí zahrnovat ukázky z nejrůznějších mluvčích a scénářů, které budete potřebovat pro rozpoznávání vašeho modelu. Vezměte v úvahu tyto faktory při shromažďování dat pro testování a školení vlastních modelů:
- Data zvukového a hlasového zvuku musí pokrývat typy ústních příkazů, které budou vaši uživatelé dělat při interakci s modelem. Například model, který vyvolává a snižuje požadavky na teplotu v prohlášeních, které můžou lidé udělat, si tyto změny vyžádají.
- Vaše data musí zahrnovat všechny odchylky řeči, které váš model bude potřebovat pro rozpoznávání. Mnohé faktory se můžou lišit v rozpoznávání řeči, včetně akcentů, dialektů, rozbalování jazyků, stáří, pohlaví, hlasové rozteči, úrovně zatížení a denního času.
- Musíte zahrnout ukázky z různých prostředí (vnitřního, venkovního a silničního hluku), kde se bude model používat.
- Zvuk se musí shromažďovat pomocí hardwarových zařízení, která bude produkční systém používat. Pokud váš model potřebuje identifikovat rozpoznávání řeči zaznamenané na záznamovém zařízení s proměnlivou kvalitou, musí také tyto různé scénáře představovat zvuková data, která zadáte pro vedení modelu.
- Později můžete do modelu přidat další data, ale je třeba dbát na to, aby datová sada byla různorodá a reprezentativní pro potřeby vašich projektů.
- Zahrnutí dat, která nejsou obsažena v rámci vašich požadavků na rozpoznávání vlastního modelu, může způsobit poškození kvality rozpoznávání, takže neobsahují data, která model nemusí přepisovat.
Model vyškolený v podmnožině scénářů může v těchto scénářích provádět pouze dobře. Pečlivě si vyberte data, která představují kompletní rozsah scénářů, které budete potřebovat pro rozpoznávání vlastního modelu.
Tip
Začněte s malými sadami ukázkových dat, která se shodují s jazykem, a akustickým využitím modelu. Například zaznamenejte malý, ale reprezentativní vzorek zvuku na stejném hardwaru a ve stejném akustickém prostředí, ve kterém bude model Hledat v produkčních scénářích. Malé datové sady reprezentativních dat můžou vystavovat problémy předtím, než budete investovat do shromažďování mnohem větších datových sad pro školení.
Pokud chcete rychle začít, zvažte použití ukázkových dat. ukázkové Custom Speech data najdete v tomto GitHubovém úložišti.
Typy dat
Tato tabulka obsahuje seznam povolených datových typů, kdy se má použít každý datový typ a doporučené množství. Pro vytvoření modelu není vyžadován každý datový typ. Požadavky na data se budou lišit v závislosti na tom, zda vytváříte testovací nebo školicí model.
| Datový typ | Používá se pro testování. | Doporučené množství | Používá se pro školení. | Doporučené množství |
|---|---|---|---|---|
| Jenom zvuk | Yes Použito pro vizuální kontrolu |
5 zvukových souborů | No | – |
| Audio + přepisy s popiskem | Yes Používá se k vyhodnocení přesnosti. |
0,5 – 5 hodin zvukového přenosu | Yes | 1-20 hodin zvukového přenosu |
| Prostý text | No | Není k dispozici | Yes | 1-200 MB souvisejícího textu |
| Strukturovaný text (Public Preview) | No | Není k dispozici | Yes | Až 10 tříd s až 4000 položkami a až 50 000 školicích vět |
| Výslovnost | No | Není k dispozici | Yes | 1 KB-1 MB textu výslovnosti |
Soubory by měly být seskupené podle typu do datové sady a nahrané jako soubor .zip. Každá datová sada může obsahovat pouze jeden datový typ.
Tip
Při učení nového modelu začněte s prostými textovými daty nebo strukturovanými textovými daty. Tato data budou zlepšit rozpoznávání speciálních pojmů a frází. Trénování s využitím textu je mnohem rychlejší než trénování s využitím zvuku (řádově minuty místo dnů).
Poznámka
Ne všechny základní modely podporují školení se zvukem. Pokud základní model ho nepodporuje, služba řeči bude používat jenom text z přepisů a zvuk bude ignorovat. Seznam základních modelů, které podporují školení se zvukovými daty, najdete v tématu jazyková podpora . I v případě, že základní model podporuje školení se zvukovými daty, může služba použít jenom část zvuku. Pořád bude používat všechny přepisy.
V případech, kdy změníte základní model používaný pro školení a máte zvuk v datové sadě školení, vždy ověřte, zda nový vybraný základní model podporuje školení se zvukovými daty. Pokud dřív použitý základní model nepodporoval školení se zvukovými daty a datová sada pro školení obsahuje zvuk, může se výrazně zvýšit doba školení s novým základním modelem a může se stát, že budete moct snadno přejít z několika hodin na několik dní. To platí hlavně v případě, že vaše předplatné služby Speech není v oblasti s vyhrazeným hardwarem pro školení.
Pokud se setkáte s problémem popsaným v předchozím odstavci, můžete rychle zkrátit dobu školení tím, že snížíte velikost zvuku v datové sadě nebo zcela odeberete a necháte jenom text. Tato možnost se důrazně doporučuje, pokud vaše předplatné služby Speech není v oblasti s vyhrazeným hardwarem pro školení.
V oblastech s vyhrazeným hardwarem pro školení bude služba řeči používat až 20 hodin zvukového školení. V jiných oblastech bude používat jenom až 8 hodin zvuku.
Poznámka
Školení se strukturovaným textem se podporuje jenom pro tato národní prostředí: en-US, EN-UK, en-IN, de-DE, fr-FR, fr-CA, ES-ES, ES-MX a musíte pro tato národní prostředí použít nejnovější základní model.
Pro národní prostředí, která nepodporují školení se strukturovaným textem, bude služba přebírat jakékoli školicí věty, které neodkazují na žádné třídy jako součást školení s prostými textovými daty.
Nahrání dat
Pokud chcete nahrát data, přejděte do sady Speech Studio. po vytvoření projektu přejděte na kartu Speech data sets a kliknutím na Upload data spusťte průvodce a vytvořte svou první datovou sadu. Vyberte pro datovou sadu datový typ řeč a nahrajte data.
Poznámka
Pokud velikost souboru datové sady překračuje 128 MB, můžete ji nahrát jenom pomocí možnosti Azure Blob nebo Shared Location . Pro nahrání datové sady libovolné povolené velikostimůžete použít také Převod řeči na text REST API v 3.0 . Podrobnosti najdete v další části .
Nejdřív je potřeba určit, jestli se má datová sada používat pro školení nebo testování. Existuje mnoho typů dat, které lze nahrát a použít pro školení nebo testování. Každou datovou sadu, kterou odešlete, musí být před nahráním správně naformátována a musí splňovat požadavky na zvolený datový typ. Požadavky jsou uvedené v následujících oddílech.
Po nahrání datové sady máte několik možností:
- Můžete přejít na kartu vlastní modely výuky a naučit se vlastní model.
- Můžete přejít na kartu testovací modely pro vizuální kontrolu kvality s využitím zvukového data nebo vyhodnocení přesnosti pomocí zvuku a dat přepisu, který je označený jako přepis.
Upload dat pomocí převodu řeči na text REST API v 3.0
K automatizaci operací souvisejících s vašimi vlastními modely můžete použít Převod řeči na text REST API v 3.0 . Konkrétně ho můžete použít k nahrání datové sady. To je užitečné hlavně v případě, že váš soubor datové sady překračuje 128 MB, protože soubory, které se dají uložit, nejde nahrát pomocí možnosti místní soubor v studiu řeči. (Můžete také použít možnost Azure Blob nebo sdílené umístění v nástroji Speech Studio pro stejný účel, jak je popsáno v předchozí části.)
K vytvoření a nahrání datové sady použijte požadavek Create DataSet .
REST API datových sad a Speech Studio projektů
Datová sada vytvořená pomocí převodu řeči na text REST API v3.0 nebude připojena k žádnému z projektů Speech Studio, pokud v textu požadavku není zadaný speciální parametr (viz níže). Připojení k projektu Speech Studio se nevyžaduje pro žádné operace přizpůsobení modelu, pokud jsou prováděny prostřednictvím REST API.
Když se přihlásíte k Speech Studio, jeho uživatelské rozhraní vás upozorní, když se našly všechny nepřipojené objekty (například datové sady nahrané přes REST API bez odkazu na projekt) a nabídne připojení těchto objektů k existujícímu projektu.
Pokud chcete novou datovou sadu připojit k existujícímu projektu v Speech Studio během nahrávání, použijte možnost Vytvořit datovou sadu a vyplňte text požadavku v následujícím formátu:
{
"kind": "Acoustic",
"contentUrl": "https://contoso.com/mydatasetlocation",
"locale": "en-US",
"displayName": "My speech dataset name",
"description": "My speech dataset description",
"project": {
"self": "https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.0/projects/c1c643ae-7da5-4e38-9853-e56e840efcb2"
}
}
Adresu PROJECT požadovanou pro project element lze získat pomocí požadavku Get Projects.
Zvuk a člověkem označená data přepisu pro trénování/testování
Pro účely trénování i testování je možné použít data přepisu označená lidmi a zvukem. Pokud chcete vylepšit akustické aspekty, jako jsou drobné doplňky, styly řeči, šum na pozadí nebo měření přesnosti převodu řeči na text od Microsoftu při zpracování zvukových souborů, musíte pro porovnání zadat přepisy označené člověkem (slovo po slovu). I když je přepis označený člověkem často časově náročný, je potřeba vyhodnotit přesnost a vytrénovat model pro vaše případy použití. Mějte na paměti, že vylepšení rozpoznávání budou stejně dobrá jako poskytnutá data. Z tohoto důvodu je důležité, aby se nahrávaly jenom vysoce kvalitní přepisy.
Zvukové soubory mohou mít ticha na začátku a konci nahrávky. Pokud je to možné, před a za řeč v každém ukázkovém souboru zahrnovat alespoň půl sekundy ticha. Zvuk s nízkým objemem záznamu nebo rušivým šumem na pozadí není užitečný, ale váš vlastní model by neměl uškodit. Před shromážděním zvukových ukázek vždy zvažte upgrade mikrofonů a hardwaru pro zpracování signálů.
| Vlastnost | Hodnota |
|---|---|
| Formát souboru | RIFF (WAV) |
| Vzorkovací frekvence | 8 000 Hz nebo 16 000 Hz |
| Kanály | 1 (mono) |
| Maximální délka na zvuk | 2 hodiny (testování) / 60 s (trénování) |
| Formát ukázky | PCM, 16 bitů |
| Formát archivu | .zip |
| Maximální velikost souboru ZIP | 2 GB |
Výchozí formát streamování zvuku je WAV (16 kHz nebo 8 kHz, 16 bitů a mono PCM). Níže uvedené komprimované formáty vstupu, které jsou mimo zvuk WAV/PCM, jsou podporovány také pomocí GStreamer.
- MP3
- OPUS/OGG
- FLAC
- ALAW v kontejneru WAV
- MULAW v kontejneru WAV
- JAKÉKOLI (ve scénáři, kde není známý formát média)
Poznámka
Při nahrávání trénovací a testovací data nesmí .zip velikost souboru větší než 2 GB. Testovat můžete pouze z jedné datové sady, nezapomeňte ji ponechat v odpovídající velikosti souboru. Kromě toho nesmí každý trénovací soubor překročit 60 sekund, jinak dojde k chybě.
K řešení problémů, jako je odstranění slova nebo nahrazení, se k vylepšení rozpoznávání vyžaduje značné množství dat. Obecně se doporučuje poskytovat přepisy slov po slovech pro 1 až 20 hodin zvuku. Ke zlepšení výsledků rozpoznávání ale může pomoct i 30 minut. Přepisy všech souborů WAV by měl obsahovat jediný soubor prostého textu. Každý řádek souboru s přepisem by měl obsahovat název jednoho zvukového souboru a za ním odpovídající přepis. Název souboru a přepis by měly být oddělené tabulátorem (\t).
Například:
speech01.wav speech recognition is awesome
speech02.wav the quick brown fox jumped all over the place
speech03.wav the lazy dog was not amused
Důležité
Přepis by měl být kódovaný ve formátu UTF-8 BOM (značka pořadí bajtů).
Přepisy se budou normalizovat, aby je mohl systém zpracovat. Existuje však několik důležitých normalizací, které je třeba provést před nahráním dat do Speech Studio. Informace o vhodném jazyce, který můžete použít při přípravě přepisů, najdete v tématu Vytvoření přepisu označeného člověkem.
Jakmile shromáždíte zvukové soubory a odpovídající přepisy, zabalte je jako jeden soubor .zip před nahrání do Speech Studio . Níže je příklad datové sady se třemi zvukovými soubory a souborem přepisu označeným člověkem:

Seznam doporučených oblastí pro předplatná služby Speech najdete v tématu Nastavení účtu Azure. Nastavení předplatných služby Speech v jedné z těchto oblastí zkrátí dobu trénování modelu. V těchto oblastech může trénování zpracovat přibližně 10 hodin zvuku za den v porovnání s pouhými 1 hodinou denně v jiných oblastech. Pokud trénování modelu nelze dokončit do týdne, model se označí jako neúspěšný.
Ne všechny základní modely podporují trénování se zvukovými daty. Pokud ho základní model nepodporuje, bude služba zvuk ignorovat a bude ho trénovat jenom s textem přepisů. V tomto případě bude trénování stejné jako trénování se souvisejícím textem. Seznam základních modelů, které podporují trénování se zvukovými daty, najdete v tématu Podpora jazyků.
Data prostého textu pro trénování
K vylepšení přesnosti při rozpoznávání názvů produktů nebo žargonu specifického pro konkrétní obor můžete použít věty související s doménou. Do jednoho textového souboru zadejte věty. Pokud chcete zvýšit přesnost, použijte textová data, která jsou blíže očekávaným mluvenou promluvám.
Trénování pomocí prostého textu obvykle trvá několik minut.
Pokud chcete vytvořit vlastní model pomocí vět, budete muset zadat seznam ukázkových protterance. Promluvy nemusí být úplné ani gramaticky správné, ale musí přesně odrážet mluvený vstup, který očekáváte v produkčním prostředí. Pokud chcete, aby určité termíny zvýšily váhu, přidejte několik vět, které obsahují tyto konkrétní termíny.
Obecně platí, že přizpůsobení modelu je nejúčinnější, když je trénovací text co nejvíce blízko skutečnému textu očekávanému v produkčním prostředí. Do trénování textu by se měl zahrnout žargon a fráze specifické pro doménu, na které cílíte. Pokud je to možné, zkuste na samostatném řádku řídit jednu větu nebo klíčové slovo. Klíčová slova a fráze, které jsou pro vás důležité (například názvy produktů), můžete několikrát zkopírovat. Mějte ale na paměti, že moc nekopírujte – může to mít vliv na celkovou míru rozpoznávání.
Pomocí této tabulky se ujistěte, že je váš soubor se souvisejícími daty pro výroky správně naformátovaný:
| Vlastnost | Hodnota |
|---|---|
| Kódování textu | UTF-8 BOM |
| Počet promluv na řádek | 1 |
| Maximální velikost souboru | 200 MB |
Kromě toho byste měli zohlednit následující omezení:
- Neopakujte znaky, slova nebo skupiny slov více než třikrát. Příklad: „aaaa“, „jo, jo, jo, jo“ nebo „to je ono, to je ono, to je ono, to je ono“. Služba Speech může řádky s příliš mnoha opakováními zahodit.
- Nepoužívejte speciální znaky ani znaky UTF-8 nad
U+00A1. - Identifikátory URI se zamítnou.
- U některých jazyků (například japonštiny nebo korejštiny) může import velkých objemů textových dat trvat velmi dlouho nebo může trvat delší dobu. Zvažte rozdělení nahraných dat do textových souborů po 20 000 řádcích.
Strukturovaná textová data pro trénování (Public Preview)
Očekávané protterance často dodržují určitý vzor. Jedním z běžných vzorů je, že se protterance liší pouze slovy nebo frázemi ze seznamu. Příkladem může být "Mám dotaz ohledně product ",", kde product je seznam možných produktů. Nebo "Make object color that", kde object je seznam geometrických tvarů color a je seznam barev. Pro zjednodušení vytváření trénovacích dat a lepší modelování uvnitř vlastního jazykového modelu můžete použít strukturovaný text ve formátu Markdown k definování seznamů položek a pak na tyto položky odkazovat uvnitř trénovacích protterance. Kromě toho formát markdownu také podporuje zadání výslovnosti slov. Soubor Markdown by měl mít .md příponu . Syntaxe markdownu je stejná jako syntaxe z obchodních Language Understanding, zejména entit seznamu a příkladů protterance. Další informace o úplné syntaxi markdownu najdete v Language Understanding markdownu.
Tady je příklad formátu markdownu:
// This is a comment
// Here are three separate lists of items that can be referenced in an example sentence. You can have up to 10 of these
@ list food =
- pizza
- burger
- ice cream
- soda
@ list pet =
- cat
- dog
@ list sports =
- soccer
- tennis
- cricket
- basketball
- baseball
- football
// This is a list of phonetic pronunciations.
// This adjusts the pronunciation of every instance of these word in both a list or example training sentences
@ speech:phoneticlexicon
- cat/k ae t
- cat/f i l ai n
// Here are example training sentences. They are grouped into two sections to help organize the example training sentences.
// You can refer to one of the lists we declared above by using {@listname} and you can refer to multiple lists in the same training sentence
// A training sentence does not have to refer to a list.
# SomeTrainingSentence
- you can include sentences without a class reference
- what {@pet} do you have
- I like eating {@food} and playing {@sports}
- my {@pet} likes {@food}
# SomeMoreSentence
- you can include more sentences without a class reference
- or more sentences that have a class reference like {@pet}
Podobně jako prostý text i trénování se strukturovaným textem obvykle trvá několik minut. Také příklady vět a seznamů by měly odrážet typ mluveného vstupu, který očekáváte v produkčním prostředí. Položky výslovnosti najdete v popisu univerzální sady Telefon.
Následující tabulka uvádí limity a další vlastnosti formátu markdownu:
| Vlastnost | Hodnota |
|---|---|
| Kódování textu | UTF-8 BOM |
| Maximální velikost souboru | 200 MB |
| Maximální počet příkladů vět | 50,000 |
| Maximální počet tříd seznamu | 10 |
| Maximální počet položek ve třídě seznamu | 4 000 |
| Maximální počet položek speech:phoneticlexicon | 15 000 |
| Maximální počet výslovností na slovo | 2 |
Data výslovnosti pro trénování
Pokud existují neobvyklé termíny bez standardní výslovnosti, se kterými se uživatelé setkávají nebo používají, můžete poskytnout vlastní soubor výslovnosti pro zlepšení rozpoznávání. Seznam jazyků, které podporují vlastní výslovnost, najdete v tématu Výslovnost ve sloupci Vlastní nastavení v tabulce Převod řeči na text.
Důležité
Ke změně výslovnosti běžných slov se nedoporučuje používat vlastní soubory výslovnosti.
Poznámka
Tento typ souboru výslovnosti nelze kombinovat s daty pro trénování strukturovaného textu. U strukturovaných textových dat použijte funkci předpovědí, která je součástí formátu markdown strukturovaného textu.
Zadejte výslovnost v jednom textovém souboru. To zahrnuje příklady mluvené promluvy a vlastní výslovnost pro každou z nich:
| Rozpoznaný/zobrazený formulář | Mluvený formulář |
|---|---|
| 3CPO | three c p o |
| CNTK | c n t k |
| IEEE | i triple e |
Mluvený tvar je napsaná v phonetické sekvenci. Může se skládat z písmen, slov, slabiek nebo kombinace všech tří.
Pomocí následující tabulky se ujistěte, že je váš související datový soubor pro výslovnost správně naformátovaný. Soubory výslovnosti jsou malé a měly by mít velikost pouze několik kilobajtů.
| Vlastnost | Hodnota |
|---|---|
| Kódování textu | UTF-8 BOM (ANSI se také podporuje pro angličtinu) |
| # of pro výslovnost per line | 1 |
| Maximální velikost souboru | 1 MB (1 kB pro úroveň Free) |
Zvuková data pro testování
Zvuková data jsou optimální pro testování přesnosti základního modelu převodu řeči na text od Microsoftu nebo vlastního modelu. Mějte na paměti, že zvuková data se používají ke kontrole přesnosti řeči s ohledem na výkon konkrétního modelu. Pokud chcete kvantifikovat přesnost modelu, použijte zvuk a přepisy označené člověkem.
Custom Speech vyžaduje zvukové soubory s těmito vlastnostmi:
| Vlastnost | Hodnota |
|---|---|
| Formát souboru | RIFF (WAV) |
| Vzorkovací frekvence | 8 000 Hz nebo 16 000 Hz |
| Kanály | 1 (mono) |
| Maximální délka na zvuk | 2 hodiny |
| Formát ukázky | PCM, 16 bitů |
| Formát archivu | .zip |
| Maximální velikost archivu | 2 GB |
Výchozí formát streamování zvuku je WAV (16 kHz nebo 8 kHz, 16 bitů a mono PCM). Níže uvedené komprimované formáty vstupu, které jsou mimo zvuk WAV/PCM, jsou podporovány také pomocí GStreamer.
- MP3
- OPUS/OGG
- FLAC
- ALAW v kontejneru WAV
- MULAW v kontejneru WAV
- JAKÉKOLI (ve scénáři, kde není známý formát média)
Poznámka
Při nahrávání trénovací a testovací data nesmí .zip velikost souboru větší než 2 GB. Pokud pro trénování potřebujete více dat, rozdělte je do několika .zip souborů a nahrajte je samostatně. Později se můžete rozhodnout pro trénování z více datových sad. Testování ale můžete udělat jenom z jedné datové sady.
Pomocí SoX můžete ověřit vlastnosti zvuku nebo převést existující zvuk na odpovídající formáty. Níže najdete několik příkladů příkazů SoX:
| Aktivita | Příkaz SoX |
|---|---|
| Kontrola formátu zvukového souboru | sox --i <filename> |
| Převod zvukového souboru na jeden 16bitový kanál s 16 kHz | sox <input> -b 16 -e signed-integer -c 1 -r 16k -t wav <output>.wav |