Trénování a testování datových sad

Ve vlastním projektu řeči můžete nahrát datové sady pro trénování, kvalitativní kontrolu a kvantitativní měření. Tento článek popisuje typy trénovacích a testovacích dat, která můžete použít pro vlastní řeč.

Text a zvuk, které používáte k testování a trénování vlastního modelu, by měly obsahovat ukázky z různorodé sady mluvčích a scénářů, které chcete, aby model rozpoznal. Při shromažďování dat pro vlastní testování a trénování modelů zvažte tyto faktory:

  • Zahrňte textová a zvuková data, která pokrývají druhy slovních výroků, které uživatelé dělají při interakci s vaším modelem. Například model, který zvyšuje a snižuje teplotu, potřebuje trénování na příkazech, které by lidé mohli provést, aby o takové změny požádali.
  • Zahrňte všechny odchylky řeči, které chcete, aby model rozpoznal. Mnoho faktorů se může lišit v řeči, včetně zvýraznění, dialektů, míchání jazyků, věku, pohlaví, hlasu, úrovně stresu a denního času.
  • Zahrnout vzorky z různých prostředí, například vnitřní, venkovní a silniční hluk, kde se model používá.
  • Záznam zvuku pomocí hardwarových zařízení, která používá produkční systém. Pokud váš model musí identifikovat řeč zaznamenanou na zařízeních s různou kvalitou, zvuková data, která poskytnete k trénování modelu, musí také představovat tyto různorodé scénáře.
  • Udržujte datovou sadu různorodou a reprezentativní požadavky na váš projekt. Do modelu můžete později přidat další data.
  • Zahrnout jenom data, která váš model potřebuje k přepisu. Zahrnutí dat, která nejsou v požadavcích na rozpoznávání vašeho vlastního modelu, může celkově poškodit kvalitu rozpoznávání.

Datové typy

Následující tabulka uvádí přijaté datové typy, kdy se mají použít jednotlivé datové typy a doporučené množství. K vytvoření modelu se nevyžaduje každý datový typ. Požadavky na data se liší v závislosti na tom, jestli vytváříte test nebo trénujete model.

Datový typ Používá se k testování. Doporučeno pro testování Používá se pro trénování Doporučeno pro trénování
Pouze zvuk Ano (vizuální kontrola) 5+ zvukové soubory Ano (Preview pro en-US) 1–20 hodin zvuku
Audio + přepisy označené člověkem Ano (vyhodnocení přesnosti) 0,5–5 hodin zvuku Ano 1–20 hodin zvuku
Prostý text No Nelze použít Ano 1–200 MB souvisejícího textu
Strukturovaný text No Nelze použít Ano Až 10 tříd s až 4 000 položkami a až 50 000 trénovacích vět
Výslovnost No Nelze použít Ano Text výslovnosti 1 kB až 1 MB
Formát zobrazení No Nelze použít Ano Až 200 řádků pro ITN, 1 000 řádků pro přepis, 1 000 řádků pro filtr vulgárních výrazů

Trénování s prostým textem nebo strukturovaným textem se obvykle dokončí během několika minut.

Tip

Začněte s daty ve formátu prostého textu nebo strukturovanými textovými daty. Tato data zlepší rozpoznávání zvláštních termínů a frází. Trénování s textem je mnohem rychlejší než trénování zvukem (minuty a dny).

Začněte s malými sadami ukázkových dat, která odpovídají jazyku, akustice a hardwaru, kde se bude váš model používat. Malé datové sady reprezentativních dat můžou odhalit problémy, než začnete investovat do shromažďování větších datových sad pro trénování. Ukázková vlastní data řeči najdete v tomto úložišti GitHubu.

Pokud vytrénujete vlastní model se zvukovými daty, zvolte oblast prostředků služby Speech s vyhrazeným hardwarem pro trénování zvukových dat. Další informace najdete v tabulce oblastí v poznámkách pod čarou. V oblastech s vyhrazeným hardwarem pro trénování vlastní řeči používá služba Speech až 20 hodin trénovacích dat zvuku a může zpracovávat přibližně 10 hodin dat za den. V jiných oblastech služba Speech využívá až 8 hodin zvukových dat a může zpracovávat přibližně 1 hodinu dat za den. Po vytrénování modelu můžete model podle potřeby zkopírovat do jiné oblasti pomocí rozhraní MODELS_COPYTO REST API.

Zvážení datových sad podle scénáře

Model natrénovaný v podmnožině scénářů může dobře fungovat pouze v těchto scénářích. Pečlivě zvolte data, která představují úplný rozsah scénářů, které potřebujete k rozpoznávání vlastního modelu. Následující tabulka uvádí datové sady, které je potřeba zvážit v některých scénářích rozpoznávání řeči:

Scénář Data ve formátu prostého textu a strukturovaná textová data Audio + přepisy označené člověkem Nová slova s výslovností
Kontaktní středisko Marketingové dokumenty, web, recenze produktů související s aktivitou call centra Call center hovory přepisované lidmi Termíny, které mají nejednoznačné výslovnosti (viz příklad Xboxu v předchozí části)
Hlasový asistent Seznamy vět, které používají různé kombinace příkazů a entit Nahrané hlasy mluvené do zařízení, přepisované na text Názvy (filmy, písně, produkty), které mají jedinečnou výslovnost
Diktování Zapsaný vstup, například rychlé zprávy nebo e-maily Podobné předchozím příkladům Podobné předchozím příkladům
Video zavřené popis Televizní show scripts, movies, marketing content, video summaries Přesné přepisy videí Podobné předchozím příkladům

Pokud chcete zjistit, kterou datovou sadu použít k řešení vašich problémů, projděte si následující tabulku:

Případ použití Datový typ
Zlepšete přesnost rozpoznávání slovníku a gramatiky specifické pro konkrétní odvětví, jako je lékařská terminologie nebo žargon IT. Prostý text nebo strukturovaná textová data
Definujte fonetický a zobrazovaný tvar slova nebo termínu, který má nestandardní výslovnost, například názvy produktů nebo zkratky. Výslovnost dat nebo fonetické výslovnosti ve strukturovaném textu
Vylepšení přesnosti rozpoznávání u stylů, zvýraznění nebo konkrétních šumů na pozadí Audio + přepisy označené člověkem

Zvuková data s přepisem označená člověkem pro trénování nebo testování

Pro účely trénování a testování můžete použít data přepisu s popiskem zvuku a člověka. Pro porovnání musíte zadat přepisy označené člověkem (slovo po slově):

  • Pokud chcete zlepšit akustické aspekty, jako jsou mírné zvýraznění, styly mluvení a šum na pozadí.
  • Pokud chcete změřit přesnost řeči Microsoftu na text, zpracovává vaše zvukové soubory.

Seznam základních modelů, které podporují trénování pomocí zvukových dat, najdete v tématu Podpora jazyků. I když základní model podporuje trénování pomocí zvukových dat, může služba používat jenom část zvuku. A pořád používá všechny přepisy.

Důležité

Pokud základní model nepodporuje přizpůsobení zvukových dat, použije se k trénování jenom text přepisu. Pokud přepnete na základní model, který podporuje přizpůsobení zvukových dat, může se doba trénování prodloužit z několika hodin na několik dní. Změna doby trénování by byla nejvýraznější při přechodu na základní model v oblasti bez vyhrazeného hardwaru pro trénování. Pokud se zvuková data nevyžadují, měli byste je odebrat, abyste zkrátili dobu trénování.

Zvuk s přepisy označenými lidmi nabízí největší vylepšení přesnosti, pokud zvuk pochází z cílového případu použití. Ukázky musí zahrnovat celý rozsah řeči. Například call centrum pro maloobchod by získalo nejvíce volání o plavkách a slunečních brýlích v letních měsících. Ujistěte se, že ukázka obsahuje úplný rozsah řeči, kterou chcete detekovat.

Zvažte tyto podrobnosti:

  • Trénování se zvukem přináší nejvíce výhod, pokud je také obtížné pochopit zvuk pro lidi. Ve většině případů byste měli začít trénovat jenom pomocí souvisejícího textu.
  • Pokud používáte některý z nejčastěji používaných jazyků, jako je angličtina v USA, je nepravděpodobné, že byste museli trénovat pomocí zvukových dat. V takových jazycích už základní modely nabízejí dobré výsledky rozpoznávání ve většině scénářů, takže pravděpodobně stačí trénovat související text.
  • Vlastní řeč může zachytávat kontext slova pouze za účelem omezení chyb nahrazení, nikoli chyb vkládání nebo odstraňování.
  • Vyhněte se ukázkám, které obsahují chyby přepisu, ale zahrnují rozmanitost kvality zvuku.
  • Vyhněte se větám, které nesouvisí s vaší doménou problému. Nesouvisející věty můžou poškodit model.
  • Když se kvalita přepisu liší, můžete duplikovat mimořádně dobré věty, například vynikající přepisy, které obsahují klíčové fráze, aby se zvýšila jejich váha.
  • Služba Speech automaticky používá přepisy ke zlepšení rozpoznávání slov a frází specifických pro doménu, jako by byly přidány jako související text.
  • Dokončení trénovací operace může trvat několik dní. Pokud chcete zrychlit trénování, nezapomeňte vytvořit předplatné služby Speech v oblasti s vyhrazeným hardwarem pro trénování.

K vylepšení rozpoznávání se vyžaduje velká trénovací datová sada. Obecně doporučujeme zadat přepisy slov po slovech po dobu 1 až 20 hodin zvuku. I tak málo než 30 minut ale může pomoct zlepšit výsledky rozpoznávání. I když vytváření přepisu označeného člověkem může nějakou dobu trvat, vylepšení rozpoznávání jsou stejně dobrá jako data, která zadáte. Měli byste nahrát jenom vysoce kvalitní přepisy.

Zvukové soubory můžou mít ticho na začátku a na konci nahrávky. Pokud je to možné, zahrňte do každého ukázkového souboru alespoň půl sekundu ticha před a za řeč. I když zvuk s nízkou hlasitostí nahrávání nebo rušivým šumem na pozadí není užitečný, neměl by omezovat ani snižovat výkon vlastního modelu. Před shromažďováním zvukových ukázek vždy zvažte upgrade mikrofonů a hardwaru pro zpracování signálu.

Důležité

Další informace o osvědčených postupech přípravy přepisů označených člověkem najdete v tématu Přepisy označené člověkem pomocí zvuku.

Vlastní projekty řeči vyžadují zvukové soubory s těmito vlastnostmi:

Důležité

Jedná se o požadavky na trénování a testování přepisu s popiskem zvuku a člověka. Liší se od těch pro trénování a testování pouze zvuku. Pokud chcete použít trénování a testování jenom zvuku, přečtěte si tuto část.

Vlastnost Hodnota
File format RIFF (WAV)
Vzorkovací frekvence 8 000 Hz nebo 16 000 Hz
Kanály 1 (mono)
Maximální délka na zvuk Dvě hodiny (testování) / 60 s (školení)

Trénování pomocí zvuku má maximální délku zvuku 60 sekund na soubor. U zvukových souborů delších než 60 sekund se pro trénování používají pouze odpovídající soubory přepisu. Pokud jsou všechny zvukové soubory delší než 60 sekund, trénování selže.
Formát ukázky PCM, 16bitová verze
Formát archivu .zip
Maximální velikost zipu 2 GB nebo 10 000 souborů

Data ve formátu prostého textu pro trénování

Pokud chcete zlepšit rozpoznávání slov a frází specifických pro doménu, můžete přidat věty souvisejícího textu ve formátu prostého textu. Související textové věty můžou omezit chyby nahrazení související s nesprávným rozpoznáváním běžných slov a slov specifických pro doménu jejich zobrazením v kontextu. Slova specifická pro doménu můžou být neobvyklá nebo vytvořená, ale jejich výslovnost musí být jednoduchá, aby byla rozpoznána.

Zadejte věty související s doménou v jednom textovém souboru. Používejte textová data, která jsou blízko očekávaným mluveným promluvám. Promluvy nemusí být úplné ani gramatické, ale musí přesně odrážet mluvený vstup, který očekáváte, že model rozpozná. Pokud je to možné, zkuste mít jednu větu nebo klíčové slovo řízené na samostatném řádku. Pokud chcete zvýšit váhu termínu, jako jsou názvy produktů, přidejte několik vět, které termín obsahují. S kopírováním to však nepřehánějte – můžete tím ovlivnit celkovou rychlost rozpoznávání.

Poznámka:

Vyhněte se souvisejícím textovým větám, které obsahují šum, jako jsou nerozpoznatelné znaky nebo slova.

Pomocí této tabulky se ujistěte, že je soubor datové sady prostého textu 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

Musíte také dodržovat následující omezení:

  • Neopakujte znaky, slova nebo skupiny slov více než třikrát. Nepoužívejte například "aaaa", "ano ano ano ano", nebo "to je to, že to je to, že to je to, že je to to." Služba Speech může zahodit řádky s příliš mnoha opakováními.
  • Nepoužívejte speciální znaky ani znaky UTF-8 nad U+00A1.
  • Identifikátory URI se zamítnou.
  • U některých jazyků, jako je japonština nebo korejština, může import velkých objemů textových dat trvat dlouho nebo může časový limit trvat. Zvažte rozdělení datové sady na několik textových souborů s až 20 000 řádky v každé z nich.

Strukturovaná textová data pro trénování

Poznámka:

Strukturovaná textová data pro trénování jsou ve verzi Public Preview.

Strukturovaná textová data používejte v případech, kdy se vaše data řídí určitým vzorem v konkrétních promluvách, které se liší pouze slovy nebo frázemi ze seznamu. Pokud chcete zjednodušit vytváření trénovacích dat a umožnit lepší modelování v rámci vlastního jazykového modelu, můžete použít strukturovaný text ve formátu Markdownu k definování seznamů položek a fonetické výslovnosti slov. Na tyto seznamy pak můžete odkazovat uvnitř trénovacích promluv.

Očekávané promluvy se často řídí určitým vzorem. Jedním z běžných vzorů je, že promluvy se liší jenom slovy nebo frázemi ze seznamu. Příklady tohoto modelu můžou být:

  • "Mám dotaz ohledně product," kde product je seznam možných produktů.
  • "Vytvořit to objectcolor", kde object je seznam geometrických obrazců a color je seznam barev.

Seznam podporovaných základních modelů a národních prostředí pro trénování se strukturovaným textem najdete v tématu Podpora jazyků. Pro tato národní prostředí musíte použít nejnovější základní model. U národních prostředí, která nepodporují trénování se strukturovaným textem, služba převezme všechny trénovací věty, které neodkazují na žádné třídy v rámci trénování s daty ve formátu prostého textu.

Strukturovaný textový soubor by měl mít příponu .md. Maximální velikost souboru je 200 MB a kódování textu musí být UTF-8 BOM. Syntaxe Markdownu je stejná jako syntaxe z modelů Language Understanding, zejména entit seznamu a ukázkových promluv. Další informace o úplné syntaxi Markdownu najdete v markdownu Language Understanding.

Tady jsou klíčové podrobnosti o podporovaném formátu Markdownu:

Vlastnost Popis Omezení
@list Seznam položek, na které lze odkazovat v ukázkové větě. Maximálně 20 seznamů. Maximálně 35 000 položek na seznam.
speech:phoneticlexicon Seznam fonetických výslovností podle univerzální sady Telefon. Výslovnost se upraví pro každou instanci, kde se slovo zobrazuje v seznamu nebo ve větě trénování. Pokud máte třeba slovo, které zní jako "kočka" a chcete výslovnost upravit na "k ae t", přidali - cat/k ae t byste do speech:phoneticlexicon seznamu. Maximálně 15 000 položek. Maximálně dvě výslovnosti na slovo.
#ExampleSentences Symbol křížku (#) odděluje oddíl ukázkových vět. Nadpis oddílu může obsahovat jenom písmena, číslice a podtržítka. Ukázkové věty by měly odrážet rozsah řeči, kterou má model očekávat. Trénovací věta může odkazovat na položky pod položkou @list pomocí okolních závorek zleva a doprava složených závorek ({@list name}). Můžete odkazovat na více seznamů ve stejné trénovací větě nebo na žádné. Maximální velikost souboru 200 MB.
// Komentáře se řídí dvojitým lomítkem (//). Nelze použít

Tady je příklad strukturovaného textového souboru:

// This is a comment because it follows a double slash (`//`).

// 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
- fish

@ list sports =
- soccer
- tennis
- cricket
- basketball
- baseball
- football

// List of phonetic pronunciations
@ speech:phoneticlexicon
- cat/k ae t
- fish/f ih sh

// Here are two sections of training sentences. 
#TrainingSentences_Section1
- you can include sentences without a class reference
- what {@pet} do you have
- I like eating {@food} and playing {@sports}
- my {@pet} likes {@food}

#TrainingSentences_Section2
- you can include more sentences without a class reference
- or more sentences that have a class reference like {@pet} 

Data výslovnosti pro trénování

Specializovaná nebo složená slova můžou mít jedinečnou výslovnost. Tato slova lze rozpoznat, pokud je lze rozdělit na menší slova, aby je vyslovovala. Pokud chcete například rozpoznat "Xbox", vyslovte ho jako "X box". Tento přístup nezvýší celkovou přesnost, ale může zlepšit rozpoznávání těchto a dalších klíčových slov.

Pokud chcete zlepšit rozpoznávání, můžete zadat vlastní výslovný soubor. Nepoužívejte vlastní výslovné soubory ke změně výslovnosti běžných slov. Seznam jazyků, které podporují vlastní výslovnost, najdete v tématu podpora jazyků.

Poznámka:

Soubor výslovnosti můžete použít společně s jakoukoli jinou trénovací datovou sadou s výjimkou trénovacích dat strukturovaného textu. Pokud chcete používat výslovná data se strukturovaným textem, musí být v rámci strukturovaného textového souboru.

Mluvený tvar je fonetická sekvence napsaná. Může se skládat z písmen, slov, slabiek nebo kombinace všech tří. Tato tabulka obsahuje několik příkladů:

Rozpoznaný zobrazený formulář Mluvený formulář
3CPO tři c p o
CNTK c n t k
IEEE i triple e

Výslovnost zadáte v jednom textovém souboru. Zahrňte mluvenou promluvu a vlastní výslovnost pro každou z nich. Každý řádek v souboru by měl začínat rozpoznaným formulářem, znakem tabulátoru a potom fonetickou sekvencí odděleným mezerami.

3CPO    three c p o
CNTK    c n t k
IEEE    i triple e

V následující tabulce se ujistěte, že jsou soubory datové sady výslovnosti platné a správně naformátované.

Vlastnost Hodnota
Kódování textu UTF-8 BOM (ANSI je také podporován pro angličtinu)
Počet výslovností na řádek 1
Maximální velikost souboru 1 MB (1 kB pro úroveň Free)

Zvuková data pro trénování nebo testování

Zvuková data jsou optimální pro testování přesnosti základní řeči Microsoftu na textový model nebo vlastní model. Mějte na paměti, že zvuková data se používají ke kontrole přesnosti řeči týkající se výkonu konkrétního modelu. Pokud chcete kvantifikovat přesnost modelu, použijte zvukové a lidské přepisy.

Poznámka:

Pro národní prostředí jsou k dispozici pouze zvuková data pro en-US trénování ve verzi Preview. Pokud chcete vytrénovat zvuková data, musíte také poskytnout přepisy označené lidmi.

Vlastní projekty řeči vyžadují zvukové soubory s těmito vlastnostmi:

Důležité

Toto jsou požadavky pouze na trénování a testování zvuku. Liší se od těch pro trénování a testování přepisu s popiskem zvuku a člověka. Pokud chcete použít trénování a testování přepisu s popiskem zvuku a člověka, přečtěte si tuto část.

Vlastnost Hodnota
File format RIFF (WAV)
Vzorkovací frekvence 8 000 Hz nebo 16 000 Hz
Kanály 1 (mono)
Maximální délka na zvuk Dvě hodiny
Formát ukázky PCM, 16bitová verze
Formát archivu .zip
Maximální velikost archivu 2 GB nebo 10 000 souborů

Poznámka:

Při nahrávání trénovacích a testovacích dat nesmí velikost souboru .zip překročit 2 GB. Pokud pro trénování potřebujete další data, rozdělte je do několika .zip souborů a nahrajte je samostatně. Později se můžete rozhodnout trénovat z více datových sad. Můžete ale testovat pouze z jedné datové sady.

Pomocí SoX ověřte vlastnosti zvuku nebo převeďte existující zvuk do příslušných formátů. Tady je 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

Vlastní data formátování textu pro zobrazení pro trénování

Přečtěte si další informace o přípravě dat formátování textu a zobrazení formátování textu pomocí řeči na text.

Formát zobrazení výstupu automatického rozpoznávání řeči je kritický pro podřízené úlohy a jedna velikost se nevejde do všech. Přidání pravidel vlastního formátu zobrazení umožňuje uživatelům definovat vlastní pravidla formátu lexikálního zobrazení, která zlepšují kvalitu služby rozpoznávání řeči nad službou Microsoft Azure Custom Speech Service.

Umožňuje plně přizpůsobit výstupy zobrazení, jako je přidání přepisů pravidel pro velká písmena a přeformátování určitých slov, přidání vulgárních slov a masky z výstupu, definování pokročilých pravidel ITN pro určité vzory, jako jsou čísla, kalendářní data, e-mailové adresy; nebo zachovat některé fráze a uchovávat je z jakýchkoli procesů zobrazení.

Příklad:

Vlastní formátování Zobrazený text
Nic Moje finanční číslo od contoso je 8BEV3
Velká písmena "Contoso" (prostřednictvím #rewrite pravidla)
Formátování finančního čísla (prostřednictvím #itn pravidla)
Moje finanční číslo od Společnosti Contoso je 8B-EV-3

Seznam podporovaných základních modelů a národních prostředí pro trénování se strukturovaným textem najdete v tématu Podpora jazyků. Soubor Formát zobrazení by měl mít příponu .md. Maximální velikost souboru je 10 MB a kódování textu musí být UTF-8 BOM. Další informace o přizpůsobení pravidel formátu zobrazení naleznete v tématu Doporučené postupy pro pravidla formátování zobrazení.

Vlastnost Popis Omezení
#ITN Seznam pravidel normalizace invertování textu pro definování určitých vzorů zobrazení, jako jsou čísla, adresy a kalendářní data. Maximálně 200 řádků
#rewrite Seznam dvojic přepisů, které nahradí určitá slova z důvodů, jako je velká písmena a oprava pravopisu. Maximálně 1 000 řádků
#profanity Seznam nežádoucích slov, která se budou maskovat jako ****** ze zobrazení a maskovaného výstupu, nad předdefinovanými seznamy vulgárních výrazů Microsoftu. Maximálně 1 000 řádků
#test Seznam testovacích případů jednotek, které ověří, jestli pravidla zobrazení fungují podle očekávání, včetně vstupu lexikálního formátu a očekávaného výstupu formátu zobrazení. Maximální velikost souboru 10 MB

Tady je příklad souboru formátu zobrazení:

// this is a comment line
// each section must start with a '#' character
#itn
// list of ITN pattern rules, one rule for each line
\d-\d-\d
\d-\l-\l-\d
#rewrite
// list of rewrite rules, each rule has two phrases, separated by a tab character
old phrase	new phrase
# profanity
// list of profanity phrases to be tagged/removed/masked, one line one phrase
fakeprofanity
#test
// list of test cases, each test case has two sentences, input lexical and expected display output
// the two sentences are separated by a tab character
// the expected sentence is the display output of DPP+CDPP models
Mask the fakeprofanity word	Mask the ************* word

Další kroky