Dela via


Så här förbereder du träningsdata för visningstextformat för anpassat tal

Azure AI Speech-tjänsten kan ses som två komponenter: taligenkänning och textformatering. Taligenkänning transkriberar ljud till lexikal text och sedan omvandlas den lexikala texten till att visa text.

Diagram of the flow of speech recognition to lexical to display text.

Det här är de nationella inställningar som stöder funktionen för visningstextformat: da-DK, de-DE, en-AU, en-CA, en-GB, en-HK, en-IE, en-IN, en-NG, en-NZ, en-PH, en-SG, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, sv-SE, tr-TR, zh-CN, zh-HK.

Standardformatering av visningstext

Textpipelinen för visning består av en sekvens med visningsformatbyggare. Varje byggare motsvarar en visningsformataktivitet som ITN, versaler och svordomsfiltrering.

  • Inverterad textnormalisering (ITN) – Konvertera texten i talade formulärnummer till visningsformuläret. Till exempel: "I spend twenty dollars" -> "I spend $20"
  • Versaler – Till versalentitetsnamn, förkortningar eller den första bokstaven i en mening. Till exempel: "she is from microsoft" -> "She is from Microsoft"
  • Svordomsfiltrering – Maskera eller ta bort svordomsord från en mening. Anta till exempel att "abcd" är ett svordomsord, så maskeras ordet av svordomsmaskering: "I never say abcd" -> "I never say ****"

Microsoft underhåller basbyggarna av visningstextpipelinen för de allmänna visningsbearbetningsuppgifterna. Du får basbyggarna som standard när du använder Speech-tjänsten. Mer information om out-of-the-box-formatering finns i Visa textformat.

Anpassad visningstextformatering

Förutom de basbyggare som underhålls av Microsoft kan du definiera anpassade regler för visningstextformatering för att anpassa pipelinen för visningstextformatering för dina specifika scenarier. Formateringsreglerna för anpassad visningstext definieras i en anpassad visningstextformateringsfil.

  • Anpassad ITN – Utöka funktionerna i bas-ITN genom att tillämpa en regelbaserad anpassad ITN-modell från kunden.
  • Anpassad omskrivning – Skriv om en fras till en annan baserat på en regelbaserad modell från kunden.
  • Anpassad svordomsfiltrering – Utför svordomshantering baserat på listan över svordomar från kunden.

Ordningen på pipelinen för visningstextformatering illustreras i det här diagrammet.

Diagram of the display format builders.

Anpassat ITN

Filosofin för mönsterbaserad anpassad ITN är att du kan ange de slutliga utdata som du vill se. Speech-tjänsten beskriver hur orden kan talas och mappar de förutsagda talade uttrycken till det angivna utdataformatet.

En anpassad ITN-modell skapas från en uppsättning ITN-regler. En ITN-regel är ett reguljärt uttryck som mönstersträng, som beskriver:

  • Ett matchande mönster för indatasträngen
  • Önskat format för utdatasträngen

Standardreglerna för ITN som tillhandahålls av Microsoft tillämpas först. Utdata från ITN-standardmodellen används som indata för den anpassade ITN-modellen. Matchningsalgoritmen i den anpassade ITN-modellen är skiftlägeskänslig.

Det finns fyra kategorier av mönstermatchning med anpassade ITN-regler.

Mönster med literaler

En utvecklare kan till exempel ha ett objekt (till exempel en produkt) med namnet med det alfanumeriska formuläret JO:500. Speech-tjänsten räknar ut att användarna kan säga bokstavsdelen som J O, eller så kan de säga joe, och nummerdelen som five hundred eller five zero zero eller five oh oh , five double zerooch sedan skapa en modell som mappar alla dessa möjligheter tillbaka till JO:500 (inklusive att infoga kolonet).

Mönster kan användas parallellt genom att ange en regel per rad i visningstextformateringsfilen. Här är ett exempel på en formateringsfil för visningstext som anger två regler:

JO:500
MM:760

Mönster med jokertecken

Du kan referera till en hel serie alfanumeriska objekt (till exempel JO:500, JO:600, JO:700) utan att behöva beskriva alla möjligheter på flera sätt.

Teckenintervall kan anges med notationen [...], så JO:[5-7]00 motsvarar att skriva ut tre mönster.

Det finns också en uppsättning jokerteckenobjekt som kan användas. En av dessa är \d, vilket betyder vilken siffra som helst. Så JO:\d00 täcker JO:000, JO:100och andra upp till JO:900.

Precis som ett reguljärt uttryck finns det flera fördefinierade teckenklasser för en ITN-regel:

  • \d – matcha en siffra från "0" till "9" och mata ut den direkt
  • \l - matcha en bokstav (skiftlägesokänslig) och omvandla den till gemener
  • \u - matcha en bokstav (skiftlägesokänslig) och omvandla den till versaler
  • \a - matcha en bokstav (skiftlägesokänslig) och mata ut den direkt

Det finns också escape-uttryck för att referera till tecken som annars har särskild syntaktisk betydelse:

  • \\ – matcha och mata ut tecken \
  • \( och \)
  • \{ och \}
  • \|
  • \+och \?\*

Mönster med notation i regex-format

För att öka flexibiliteten i mönsterskrivning stöds reguljära uttrycksliknande konstruktioner av fraser med alternativ och Kleene-stängning.

  • En fras indikeras med parenteser, till exempel (...) – Parenteserna räknas inte bokstavligen som tecken som ska matchas.
  • Du kan ange alternativ i en fras med | tecknet, till exempel (AB|CDE).
  • Du kan suffixa en fras med ? för att indikera att det är valfritt, + för att indikera att det kan upprepas eller * för att indikera båda. Du kan bara suffixfraser med dessa tecken och inte enskilda tecken (vilket är mer restriktivt än de flesta implementeringar av reguljära uttryck).

Ett mönster som skulle representera konstruktioner som (AB|CD)-(\d)+ "AB-9" eller "CD-22" och utökas till talade ord som A B nine och C D twenty two (eller C D two two).

Mönster med explicit ersättning

Den allmänna filosofin är "du visar oss hur utdata ska se ut, och Speech-tjänsten räknar ut hur människor säger det." Men detta fungerar inte alltid eftersom vissa scenarier kan ha udda oförutsägbara sätt att säga saker, eller så kan bakgrundsreglerna för Speech-tjänsten ha luckor. Det kan till exempel finnas talspråkliga uttal för initialer och förkortningar – ZPI kan talas som zippy. I det här fallet är det osannolikt att ett mönster som ZPI-\d\d fungerar om en användare säger zippy twenty two. För den här typen av situation finns det en notation {spoken>written}för visningstextformat . Det här specifika fallet kan skrivas ut {zippy>ZPI}-\d\d.

Detta kan vara användbart för att hantera saker som reglerna för talmappning men ännu inte stöder. Du kan till exempel skriva ett mönster \d0-\d0 som förväntar sig att systemet ska förstå att "-" kan betyda ett intervall och bör uttalas to, som i twenty to thirty. Men det kanske inte gör det. Så du kan skriva ett mer explicit mönster som \d0{to>-}\d0 och berätta hur du förväntar dig att strecket ska läsas.

Du kan också utelämna följande > skriftliga formulär för att ange ord som ska kännas igen men ignoreras. Så ett mönster som {write} (\u.)+ identifierar write A B C och utdata A.B.C- släppa write delen.

Anpassade ITN-exempel

Gruppera siffror

Om du vill gruppera sex siffror i två grupper och lägga till ett "-" tecken mellan dem:

ITN-regel: \d\d\d-\d\d\d Exempel: "cadence one oh five one fifteen" -> "cadence 105-115"

Formatera ett filmnamn

Space: 1999 är en berömd film, för att stödja den:

ITN-regel: Space: 1999 Exempel: "watching space nineteen ninety nine" -> "watching Space: 1999"

Mönster med ersättning

ITN-regel: \d[05]{ to >-}\d[05] Exempel: fifteen to twenty -> 15-20

Anpassad omskrivning

För en indatasträng försöker original phrase omskrivningsmodellen ersätta indatasträngen med motsvarande new phrase för varje omskrivningsregel. En omskrivningsmodell är en samling omskrivningsregler.

  • En omskrivningsregel är ett par av två fraser: den ursprungliga frasen och en ny fras.
  • De två fraserna avgränsas med ett TAB-tecken. Till exempel original phrase{TAB}new phrase.
  • Den ursprungliga frasen matchas (skiftlägesokänslig) och ersätts med den nya frasen (skiftlägeskänslig). Grammatik skiljetecken i den ursprungliga frasen ignoreras under matchning.
  • Om eventuella omskrivningsregler står i konflikt används den med längre original phrase som matchning.

Omskrivningsmodellen har stöd för grammatik med versaler som standard, vilket gör den första bokstaven i en mening versal för en-US liknande språk. Den är inaktiverad om versaler i visningstextformatering är inaktiverad i en begäran om taligenkänning.

Grammatik interpunktion

Grammatik skiljetecken används för att separera en mening eller fras och klargöra hur en mening eller fras ska läsas.

. , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ،

Här är reglerna för grammatik skiljetecken:

  • De skiljetecken som stöds är för grammatik skiljetecken om de följs av blanksteg eller i början eller slutet av en mening eller fras. Till exempel . är in x. y (med ett blanksteg mellan . och y) en grammatik skiljetecken.
  • Skiljetecken som är mitt i ett ord (förutom zh-cn och ja-jp) är inte grammatik skiljetecken. I så fall är de vanliga karaktärer. In är till exempel .x.y inte en grammatik interpunktion.
  • För zh-cn och ja-jp (icke-avståndsvarianter) används skiljetecken alltid som grammatik skiljetecken även om de är mellan tecken. In 中.文 är till exempel . en grammatik skiljetecken.

Exempel på anpassad omskrivning

Stavningskorrigering

Namnet COVID-19 kan kännas igen som covered 19. Om du vill se till att COVID-19 is a virus visas i stället för covered 19 is a virusanvänder du följande omskrivningsregel:

#rewrite
covered 19{TAB}COVID-19

Namn med versaler

Gottfried Wilhelm Leibniz var tysk matematiker. Använd följande omskrivningsregel för att se till att Gottfried Wilhelm Leibniz den är versaliserad:

#rewrite
gottfried leibniz{TAB}Gottfried Leibniz

Anpassade svordomar

En anpassad svordomsmodell fungerar på samma sätt som basmodellen för svordomar, förutom att den använder en anpassad fraslista för svordomar. Dessutom försöker den anpassade svordomsmodellen matcha (skiftlägesokänsliga) alla svordomsfraser som definierats i formateringsfilen för visningstext.

  • Svordomsfraserna matchas (skiftlägesokänsliga).
  • Om några regler för svordomar står i konflikt används den längsta frasen som matchning.
  • Dessa skiljetecken stöds inte i en svordomsfras: . , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ، .
  • För zh-CN och ja-JP nationella inställningar stöds inte engelska svordomsfraser. Engelska svordomar stöds. Svordomsfraser för zh-CN och ja-JP nationella inställningar stöds.

Svordomarna tas bort eller maskeras beroende på inställningarna för din begäran om taligenkänning.

När svordomar har lagts till i regelfilen för visningstextformat och den anpassade modellen har tränats används den för standardutdata i batchtal till text och tal till text i realtid.

Exempel på anpassade svordomar

Här följer några exempel på hur du maskerar ord och fraser för svordomar i formateringsfilen för visningstext.

Maskera ordexempel för enkel svordomar

Anta att xyz det är ett svordomsord. Så här lägger du till den:

#profanity
xyz

Här är ett testexempel: Turned on profanity masking to mask xyz -> Turned on profanity masking to mask ***

Maskera svordomsfras

Anta är abc lmn en svordomsfras. Så här lägger du till den:

#profanity
abc lmn

Här är ett testexempel: Turned on profanity masking to mask abc lmn -> Turned on profanity masking to mask *** ***

Nästa steg