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–100 hodin zvuku |
Audio + přepisy označené člověkem | Ano (vyhodnocení přesnosti) | 0,5–5 hodin zvuku | Ano | 1–100 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ž 100 hodin trénovacích dat zvuku a může zpracovávat přibližně 10 hodin 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 |
Skryté titulky videa | 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řepis slov po slovech po dobu 1 až 100 hodin zvuku (až 20 hodin u starších modelů, které se neúčtují za trénování). 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í) / 40 s (školení) Trénování pomocí zvuku má maximální délku zvuku 40 sekund na soubor (až 30 sekund pro přizpůsobení šeptu). U zvukových souborů delších než 40 sekund se pro trénování používá pouze odpovídající text ze souborů přepisu. Pokud jsou všechny zvukové soubory delší než 40 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
," kdeproduct
je seznam možných produktů. - "Vytvořit to
object
color
", kdeobject
je seznam geometrických obrazců acolor
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 telefonních čísel. 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