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.
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.
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
- Mönster med jokertecken
- Mönster med Notation i Regex-format
- Mönster med explicit ersättning
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 zero
och 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:100
och 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 inx. y
(med ett blanksteg mellan.
ochy
) en grammatik skiljetecken. - Skiljetecken som är mitt i ett ord (förutom
zh-cn
ochja-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
ochja-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 virus
anvä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
ochja-JP
nationella inställningar stöds inte engelska svordomsfraser. Engelska svordomar stöds. Svordomsfraser förzh-CN
ochja-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 *** ***