Träna och testa datauppsättningar

I ett anpassat talprojekt kan du ladda upp datauppsättningar för träning, kvalitativ inspektion och kvantitativ mätning. Den här artikeln beskriver de typer av tränings- och testdata som du kan använda för anpassat tal.

Text och ljud som du använder för att testa och träna en anpassad modell bör innehålla exempel från en mängd olika talare och scenarier som du vill att din modell ska känna igen. Tänk på dessa faktorer när du samlar in data för testning och träning av anpassade modeller:

  • Inkludera text- och ljuddata för att täcka de typer av verbala instruktioner som användarna gör när de interagerar med din modell. En modell som till exempel höjer och sänker temperaturen behöver tränas på instruktioner som personer kan göra för att begära sådana ändringar.
  • Inkludera alla talavvikelser som du vill att din modell ska känna igen. Många faktorer kan variera tal, inklusive accenter, dialekter, språkblandning, ålder, kön, rösthöjd, stressnivå och tid på dagen.
  • Ta med exempel från olika miljöer, till exempel inomhus, utomhus och vägbrus, där din modell används.
  • Spela in ljud med maskinvaruenheter som produktionssystemet använder. Om din modell måste identifiera tal som registrerats på enheter av varierande kvalitet måste de ljuddata som du tillhandahåller för att träna din modell också representera dessa olika scenarier.
  • Håll datamängden varierande och representativ för dina projektkrav. Du kan lägga till mer data i din modell senare.
  • Inkludera endast data som din modell behöver transkribera. Att inkludera data som inte ingår i den anpassade modellens igenkänningskrav kan skada igenkänningskvaliteten totalt sett.

Datatyper

I följande tabell visas godkända datatyper, när varje datatyp ska användas och den rekommenderade kvantiteten. Alla datatyper krävs inte för att skapa en modell. Datakraven varierar beroende på om du skapar ett test eller tränar en modell.

Datatyp Används för testning Rekommenderas för testning Används för träning Rekommenderas för träning
Endast ljud Ja (visuell kontroll) 5+ ljudfiler Ja (förhandsversion för en-US) 1–20 timmars ljud
Audio + human-märkta transkriptioner Ja (utvärdering av noggrannhet) 0,5–5 timmars ljud Ja 1–20 timmars ljud
Oformaterad text Nej Inte tillämpligt Ja 1–200 MB relaterad text
Strukturerad text Nej Inte tillämpligt Ja Upp till 10 klasser med upp till 4 000 objekt och upp till 50 000 träningsdomar
Uttal Nej Inte tillämpligt Ja Uttalstext på 1 TILL 1 MB
Visningsformat Nej Inte tillämpligt Ja Upp till 200 rader för ITN, 1 000 rader för omskrivning, 1 000 rader för svordomsfilter

Träningen med oformaterad text eller strukturerad text avslutas vanligtvis inom några minuter.

Dricks

Börja med oformaterade data eller strukturerade textdata. Dessa data förbättrar igenkänningen av särskilda termer och fraser. Träning med text är mycket snabbare än att träna med ljud (minuter jämfört med dagar).

Börja med små uppsättningar med exempeldata som matchar språket, akustiken och maskinvaran där din modell ska användas. Små datamängder med representativa data kan exponera problem innan du investerar i att samla in större datamängder för träning. Exempel på anpassade taldata finns i den här GitHub-lagringsplatsen.

Om du tränar en anpassad modell med ljuddata väljer du en Speech-resursregion med dedikerad maskinvara för att träna ljuddata. Mer information finns i fotnoter i regionstabellen. I regioner med dedikerad maskinvara för anpassad talträning använder Speech-tjänsten upp till 20 timmar av dina ljudträningsdata och kan bearbeta cirka 10 timmars data per dag. I andra regioner använder Speech-tjänsten upp till 8 timmar av dina ljuddata och kan bearbeta cirka 1 timme data per dag. När modellen har tränats kan du kopiera modellen till en annan region efter behov med Models_CopyTo REST API.

Överväg datauppsättningar efter scenario

En modell som tränas på en delmängd scenarier kan bara fungera bra i dessa scenarier. Välj noggrant data som representerar hela omfattningen av scenarier som du behöver din anpassade modell för att känna igen. I följande tabell visas datauppsättningar att tänka på för vissa scenarier för taligenkänning:

Scenario Oformaterade data och strukturerade textdata Audio + human-märkta transkriptioner Nya ord med uttal
Kundtjänst Marknadsföringsdokument, webbplats, produktrecensioner relaterade till callcenteraktivitet Call center-samtal transkriberade av människor Termer som har tvetydiga uttal (se Xbox-exemplet i föregående avsnitt)
Röstassistent Listor över meningar som använder olika kombinationer av kommandon och entiteter Inspelade röster som talar kommandon till enheten, transkriberas till text Namn (filmer, låtar, produkter) som har unika uttal
Diktering Skriftliga indata, till exempel snabbmeddelanden eller e-postmeddelanden Liknar föregående exempel Liknar föregående exempel
Video stängd bildtext TV-programskript, filmer, marknadsföringsinnehåll, videosammanfattningar Exakta transkriptioner av videor Liknar föregående exempel

Information om vilken datauppsättning som ska användas för att lösa dina problem finns i följande tabell:

Användningsfall Datatyp
Förbättra igenkänningsprecisionen för branschspecifik vokabulär och grammatik, till exempel medicinsk terminologi eller IT-jargong. Oformaterad text eller strukturerade textdata
Definiera den fonetiska och visade formen av ett ord eller en term som inte har standard uttal, till exempel produktnamn eller förkortningar. Uttalsdata eller fonetisk uttal i strukturerad text
Förbättra igenkänningsprecisionen för talstilar, accenter eller specifika bakgrundsbrus. Audio + human-märkta transkriptioner

Audio + human-märkta transkriptionsdata för träning eller testning

Du kan använda audio + human-märkta transkriptionsdata för både tränings- och testningsändamål . Du måste ange transkriptioner med mänsklig etikett (ord för ord) för jämförelse:

  • För att förbättra de akustiska aspekterna som små accenter, talstilar och bakgrundsljud.
  • För att mäta noggrannheten i Microsofts tal till textnoggrannhet när, bearbetas dina ljudfiler.

En lista över basmodeller som stöder träning med ljuddata finns i Språkstöd. Även om en basmodell stöder träning med ljuddata kan tjänsten endast använda en del av ljudet. Och den använder fortfarande alla avskrifter.

Viktigt!

Om en basmodell inte stöder anpassning med ljuddata används endast transkriptionstexten för träning. Om du byter till en basmodell som stöder anpassning med ljuddata kan träningstiden öka från flera timmar till flera dagar. Ändringen i träningstiden skulle vara mest märkbar när du byter till en basmodell i en region utan dedikerad maskinvara för träning. Om ljuddata inte krävs bör du ta bort dem för att minska träningstiden.

Ljud med mänskligt märkta transkriptioner ger de största noggrannhetsförbättringarna om ljudet kommer från målanvändningsfallet. Exemplen måste omfatta hela talomfånget. Till exempel skulle ett callcenter för en butik få flest samtal om badkläder och solglasögon under sommarmånaderna. Se till att ditt exempel innehåller det fullständiga omfånget för tal som du vill identifiera.

Tänk på den här informationen:

  • Träning med ljud ger mest fördelar om ljudet också är svårt att förstå för människor. I de flesta fall bör du börja träna med hjälp av endast relaterad text.
  • Om du använder ett av de mest använda språken, till exempel amerikansk engelska, är det osannolikt att du skulle behöva träna med ljuddata. För sådana språk ger basmodellerna redan bra igenkänningsresultat i de flesta scenarier, så det räcker förmodligen att träna med relaterad text.
  • Anpassat tal kan endast avbilda ordkontext för att minska ersättningsfel, inte infognings- eller borttagningsfel.
  • Undvik exempel som innehåller transkriptionsfel, men som innehåller en mångfald av ljudkvalitet.
  • Undvik meningar som inte är relaterade till din problemdomän. Orelaterade meningar kan skada din modell.
  • När avskriftskvaliteten varierar kan du duplicera exceptionellt bra meningar, till exempel utmärkta transkriptioner som innehåller nyckelfraser, för att öka deras vikt.
  • Speech-tjänsten använder automatiskt avskrifterna för att förbättra igenkänningen av domänspecifika ord och fraser, som om de lades till som relaterad text.
  • Det kan ta flera dagar innan en träningsåtgärd slutförs. För att förbättra träningshastigheten måste du skapa din Speech-tjänstprenumeration i en region med dedikerad maskinvara för träning.

En stor träningsdatauppsättning krävs för att förbättra igenkänningen. I allmänhet rekommenderar vi att du tillhandahåller transkriptioner ord för ord för 1 till 20 timmars ljud. Men även så lite som 30 minuter kan hjälpa till att förbättra igenkänningsresultaten. Även om det kan ta tid att skapa transkription med mänsklig etikettering är förbättringar av igenkänningen bara lika bra som de data som du tillhandahåller. Du bör bara ladda upp högkvalitativa avskrifter.

Ljudfiler kan ha tystnad i början och slutet av inspelningen. Inkludera om möjligt minst en halv sekunds tystnad före och efter tal i varje exempelfil. Även om ljud med låg inspelningsvolym eller störande bakgrundsbrus inte är till hjälp bör det inte begränsa eller försämra din anpassade modell. Överväg alltid att uppgradera mikrofoner och maskinvara för signalbearbetning innan du samlar in ljudexempel.

Viktigt!

Mer information om bästa praxis för att förbereda avskrifter med mänskliga etiketter finns i Mänskliga avskrifter med ljud.

Anpassade talprojekt kräver ljudfiler med följande egenskaper:

Viktigt!

Det här är krav för träning och testning av avskrifter som är märkta med Ljud + människa. De skiljer sig från dem för endast ljudträning och testning. Om du bara vill använda träning och testning av ljud kan du läsa det här avsnittet.

Property Värde
File format RIFF (WAV)
Exempelfrekvens 8 000 Hz eller 16 000 Hz
Kanaler 1 (mono)
Maximal längd per ljud Två timmar (testning) /60 s (träning)

Träning med ljud har en maximal ljudlängd på 60 sekunder per fil. För ljudfiler som är längre än 60 sekunder används endast motsvarande transkriptionsfiler för träning. Om alla ljudfiler är längre än 60 sekunder misslyckas träningen.
Samplingsformat PCM, 16-bitars
Arkivformat .zip
Maximal zip-storlek 2 GB eller 10 000 filer

Oformaterade data för träning

Du kan lägga till oformaterade text meningar av relaterad text för att förbättra igenkänningen av domänspecifika ord och fraser. Relaterade text meningar kan minska ersättningsfel relaterade till felrekognition av vanliga ord och domänspecifika ord genom att visa dem i kontext. Domänspecifika ord kan vara ovanliga eller påbyggda ord, men deras uttal måste vara enkelt att känna igen.

Ange domänrelaterade meningar i en enda textfil. Använd textdata som är nära de förväntade talade yttrandena. Yttranden behöver inte vara fullständiga eller grammatiskt korrekta, men de måste korrekt återspegla de talade indata som du förväntar dig att modellen ska känna igen. När det är möjligt kan du försöka få en mening eller ett nyckelord styrt på en separat rad. Om du vill öka vikten för en term, till exempel produktnamn, lägger du till flera meningar som innehåller termen . Men kopiera inte för mycket – det kan påverka den övergripande igenkänningsfrekvensen.

Kommentar

Undvik relaterade text meningar som innehåller brus, till exempel oigenkännliga tecken eller ord.

Använd den här tabellen för att se till att datauppsättningsfilen för oformaterad text är korrekt formaterad:

Property Värde
Textkodning UTF-8 BOM
Antal yttranden per rad 1
Maximal filstorlek 200 MB

Du måste också följa följande begränsningar:

  • Undvik att upprepa tecken, ord eller grupper av ord mer än tre gånger. Använd till exempel inte "aaaa", "ja ja ja ja" eller "det är det som är det som är det som är det.". Speech-tjänsten kan släppa rader med för många upprepningar.
  • Använd inte specialtecken eller UTF-8-tecken över U+00A1.
  • URI:er avvisas.
  • För vissa språk, till exempel japanska eller koreanska, kan det ta lång tid att importera stora mängder textdata eller överskrida tidsgränsen. Överväg att dela upp datamängden i flera textfiler med upp till 20 000 rader i varje.

Strukturerade textdata för träning

Kommentar

Strukturerade textdata för träning är i offentlig förhandsversion.

Använd strukturerade textdata när dina data följer ett visst mönster i vissa yttranden som endast skiljer sig från ord eller fraser från en lista. För att förenkla skapandet av träningsdata och för att möjliggöra bättre modellering i modellen anpassat språk kan du använda en strukturerad text i Markdown-format för att definiera listor över objekt och fonetiska uttal av ord. Du kan sedan referera till dessa listor i dina träningsyttranden.

Förväntade yttranden följer ofta ett visst mönster. Ett vanligt mönster är att yttranden endast skiljer sig från ord eller fraser från en lista. Exempel på det här mönstret kan vara:

  • " Jag har en fråga om product", var product finns en lista över möjliga produkter.
  • "Gör det objectcolor", där object är en lista över geometriska former och color är en lista över färger.

En lista över basmodeller och nationella inställningar som stöds för träning med strukturerad text finns i Språkstöd. Du måste använda den senaste basmodellen för dessa nationella inställningar. För nationella inställningar som inte stöder träning med strukturerad text tar tjänsten alla tränings meningar som inte refererar till några klasser som en del av träningen med oformaterade data.

Filen structured-text ska ha ett .md-tillägg. Den maximala filstorleken är 200 MB och textkodningen måste vara UTF-8 BOM. Syntaxen för Markdown är samma som från Language Understanding-modellerna, särskilt listentiteter och exempelyttranden. Mer information om den fullständiga Markdown-syntaxen finns i Language Understanding Markdown.

Här är viktig information om Markdown-format som stöds:

Property beskrivning Gränser
@list En lista över objekt som kan refereras till i en exempel mening. Högst 20 listor. Högst 35 000 objekt per lista.
speech:phoneticlexicon En lista över fonetiska uttal enligt Universal Telefon Set. Uttalet justeras för varje instans där ordet visas i en lista eller tränings mening. Om du till exempel har ett ord som låter som "katt" och du vill justera uttalet till "k ae t", lägger du till - cat/k ae t i speech:phoneticlexicon listan. Maximalt 15 000 poster. Högst två uttal per ord.
#ExampleSentences En pundsymbol (#) avgränsar ett avsnitt med exempel meningar. Avsnittsrubriken får bara innehålla bokstäver, siffror och understreck. Exempel på meningar bör återspegla det talintervall som din modell bör förvänta sig. En träningsdom kan referera till objekt under en @list med hjälp av omgivande vänster- och höger klammerparenteser ({@list name}). Du kan referera till flera listor i samma tränings mening, eller ingen alls. Maximal filstorlek på 200 MB.
// Kommentarer följer ett dubbelt snedstreck (//). Inte tillämpligt

Här är ett exempel på en strukturerad textfil:

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

Uttalsdata för träning

Specialiserade eller pågjorda ord kan ha unika uttal. Dessa ord kan identifieras om de kan delas upp i mindre ord för att uttala dem. Om du till exempel vill känna igen "Xbox" uttalar du den som "X box". Den här metoden ökar inte den övergripande noggrannheten, men kan förbättra igenkänningen av detta och andra nyckelord.

Du kan ange en anpassad uttalsfil för att förbättra igenkänningen. Använd inte anpassade uttalsfiler för att ändra uttalet av vanliga ord. En lista över språk som stöder anpassat uttal finns i språkstöd.

Kommentar

Du kan använda en uttalsfil tillsammans med andra träningsdatauppsättningar förutom strukturerade textträningsdata. Om du vill använda uttalsdata med strukturerad text måste den finnas i en strukturerad textfil.

Det talade formuläret är den fonetiska sekvensen som stavas ut. Den kan bestå av bokstäver, ord, stavelser eller en kombination av alla tre. Den här tabellen innehåller några exempel:

Formulär som visas känns igen Talat formulär
3CPO tre c p o
CNTK c n t k
IEEE i triple e

Du anger uttal i en enda textfil. Inkludera det talade yttrandet och ett anpassat uttal för var och en. Varje rad i filen bör börja med det identifierade formuläret, sedan ett fliktecken och sedan den blankstegsavgränsade fonetiska sekvensen.

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

Se följande tabell för att se till att uttalsdatauppsättningsfilerna är giltiga och korrekt formaterade.

Property Värde
Textkodning UTF-8 BOM (ANSI stöds också för engelska)
Antal uttal per rad 1
Maximal filstorlek 1 MB (1 KB för den kostnadsfria nivån)

Ljuddata för träning eller testning

Ljuddata är optimala för att testa noggrannheten i Microsofts baslinjetal till textmodell eller en anpassad modell. Tänk på att ljuddata används för att kontrollera talprecisionen när det gäller en specifik modells prestanda. Om du vill kvantifiera noggrannheten för en modell använder du avskrifter med ljud + mänskliga etiketter.

Kommentar

Endast ljuddata för träning är tillgängliga i förhandsversionen för språkvarianten en-US . Om du vill träna med ljuddata för andra språk måste du även tillhandahålla avskrifter som är märkta med människor.

Anpassade talprojekt kräver ljudfiler med följande egenskaper:

Viktigt!

Dessa krav gäller endast för träning och testning av ljud. De skiljer sig från dem för Audio + human-märkt transkription utbildning och testning. Om du vill använda utbildning och testning av avskrifter med ljud + mänskliga etiketter kan du läsa det här avsnittet.

Property Värde
File format RIFF (WAV)
Exempelfrekvens 8 000 Hz eller 16 000 Hz
Kanaler 1 (mono)
Maximal längd per ljud Två timmar
Samplingsformat PCM, 16-bitars
Arkivformat .zip
Maximal arkivstorlek 2 GB eller 10 000 filer

Kommentar

När du laddar upp tränings- och testdata får .zip filstorlek inte överstiga 2 GB. Om du behöver mer data för träning delar du upp dem i flera .zip filer och laddar upp dem separat. Senare kan du välja att träna från flera datauppsättningar. Du kan dock bara testa från en enda datauppsättning.

Använd SoX för att verifiera ljudegenskaper eller konvertera befintligt ljud till rätt format. Här är några exempel på SoX-kommandon:

Aktivitet SoX-kommando
Kontrollera ljudfilformatet. sox --i <filename>
Konvertera ljudfilen till en enda kanal, 16-bitars, 16 KHz. sox <input> -b 16 -e signed-integer -c 1 -r 16k -t wav <output>.wav

Formateringsdata för anpassad visningstext för träning

Läs mer om hur du förbereder visningstextformateringsdata och visar textformatering med tal till text.

Visningsformatet för automatisk taligenkänning är viktigt för underordnade uppgifter och en storlek passar inte alla. Genom att lägga till regler för anpassat visningsformat kan användarna definiera sina egna lexikala formatregler för att förbättra taligenkänningstjänstens kvalitet ovanpå Microsoft Azure Custom Speech Service.

Det gör att du kan anpassa visningsutdata helt, till exempel lägga till omskrivningsregler för att kapitalisera och omformulera vissa ord, lägga till svordomsord och mask från utdata, definiera avancerade ITN-regler för vissa mönster som siffror, datum, e-postadresser; eller bevara vissa fraser och hålla dem från alla visningsprocesser.

Till exempel:

Anpassad formatering Visningstext
Ingen Mitt finansiella nummer från contoso är 8BEV3
Versalisera "Contoso" (via #rewrite regel)
Formatera finansiellt nummer (via #itn regel)
Mitt finansiella nummer från Contoso är 8B-EV-3

En lista över basmodeller och nationella inställningar som stöds för träning med strukturerad text finns i Språkstöd. Filen Visningsformat ska ha ett .md-tillägg. Den maximala filstorleken är 10 MB och textkodningen måste vara UTF-8 BOM. Mer information om hur du anpassar regler för visningsformat finns i Bästa praxis för visningsformateringsregler.

Property beskrivning Gränser
#ITN En lista över regler för inverterad textnormalisering för att definiera vissa visningsmönster, till exempel tal, adresser och datum. Maximalt 200 rader
#rewrite En lista över omskrivningspar som ersätter vissa ord av orsaker som versaler och stavningskorrigering. Maximalt 1 000 rader
#profanity En lista över oönskade ord som kommer att maskeras ****** från visa och maskerade utdata, ovanpå Microsofts inbyggda svordomslistor. Maximalt 1 000 rader
#test En lista över enhetstestfall för att kontrollera om visningsreglerna fungerar som förväntat, inklusive indata i lexikalformat och förväntade visningsformatutdata. Maximal filstorlek på 10 MB

Här är ett exempel på en visningsformatfil:

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

Nästa steg