Příprava trénovacích dat formátu textu pro vlastní řeč
Službu Azure AI Speech můžete zobrazit jako dvě komponenty: rozpoznávání řeči a formátování textu. Rozpoznávání řeči přepisuje zvuk na lexikální text a pak se lexikální text transformuje na zobrazený text.
Toto jsou národní prostředí, která podporují funkci formátu zobrazovaného textu: 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.
Výchozí formátování textu pro zobrazení
Textový kanál pro zobrazení se skládá z posloupnosti tvůrce formátů zobrazení. Každý tvůrce odpovídá úloze formátu zobrazení, jako je itn, velká písmena a filtrování vulgárních výrazů.
- Inverzní normalizace textu (ITN) – Převod textu čísel mluvených formulářů na formulář. Příklad:
"I spend twenty dollars" -> "I spend $20"
- Velká písmena – názvy velkých písmen, zkratky nebo první písmeno věty. Příklad:
"she is from microsoft" -> "She is from Microsoft"
- Filtrování vulgárních výrazů – maskování nebo odstranění vulgárních slov z věty. Například za předpokladu, že "abcd" je vulgární slovo, pak se slovo maskuje maskováním vulgárních výrazů:
"I never say abcd" -> "I never say ****"
Microsoft udržuje základní tvůrce zobrazovaného textového kanálu pro úlohy zpracování zobrazení pro obecné účely. Ve výchozím nastavení získáte základní tvůrce při použití služby Speech. Další informace o formátování předefinovaných polí najdete v tématu Formát zobrazovaného textu.
Vlastní formátování textu pro zobrazení
Kromě základních tvůrců spravovaných Microsoftem můžete definovat vlastní pravidla formátování textu pro zobrazení, která přizpůsobí kanál formátování zobrazovaného textu pro konkrétní scénáře. Vlastní pravidla formátování textu pro zobrazení jsou definována ve vlastním souboru formátování textu pro zobrazení.
- Vlastní ITN – rozšíření funkcí základního ITN použitím vlastního modelu ITN založeného na pravidlech od zákazníka
- Vlastní přepis – Přepište jednu frázi na jinou na základě modelu založeného na pravidlech od zákazníka.
- Filtrování vlastních vulgárních výrazů – Zpracování vulgárních výrazů na základě seznamu vulgárních slov od zákazníka
Pořadí kanálu formátování zobrazovaného textu je znázorněno v tomto diagramu.
Vlastní ITN
Filozofie vlastního ITN založeného na vzorech spočívá v tom, že můžete zadat konečný výstup, který chcete zobrazit. Služba Speech zjistí, jak můžou být slova mluvená a mapují předpovězené mluvené výrazy na zadaný výstupní formát.
Vlastní model ITN je sestavený ze sady pravidel ITN. Pravidlo ITN je regulární výraz jako řetězec vzoru, který popisuje:
- Odpovídající vzor vstupního řetězce
- Požadovaný formát výstupního řetězce
Jako první se použijí výchozí pravidla ITN poskytovaná Microsoftem. Výstup výchozího modelu ITN se používá jako vstup vlastního modelu ITN. Odpovídající algoritmus ve vlastním modelu ITN nerozlišuje malá a velká písmena.
Existují čtyři kategorie porovnávání vzorů s vlastními pravidly ITN.
- Vzory s literály
- Vzory se zástupnými cardy
- Vzory s notací ve stylu Regex
- Vzory s explicitním nahrazením
Vzory s literály
Vývojář může mít například položku (například produkt) s názvem alfanumerický formulář JO:500
. Služba Speech zjistí, že uživatelé můžou hlásit písmeno jako J O
, nebo můžou říct joe
, a číselnou část jako five hundred
nebo five zero zero
nebo five oh oh
nebo five double zero
nebo a pak vytvořit model, který mapuje všechny tyto možnosti zpět ( JO:500
včetně vložení dvojtečky).
Vzory lze použít paralelně zadáním jednoho pravidla na řádek v souboru formátování textu zobrazení. Tady je příklad souboru formátování zobrazovaného textu, který určuje dvě pravidla:
JO:500
MM:760
Vzory se zástupnými cardy
Můžete odkazovat na celou řadu alfanumerických položek (například JO:500
, JO:600
), JO:700
aniž byste museli vypsat všechny možnosti několika způsoby.
Rozsahy znaků lze zadat pomocí zápisu [...]
, takže JO:[5-7]00
je ekvivalentní k zápisu tří vzorů.
K dispozici je také sada zástupných znaků, které je možné použít. Jedním z nich je \d
, což znamená libovolnou číslici. Takže JO:\d00
zahrnuje JO:000
, JO:100
a další až .JO:900
Podobně jako u regulárního výrazu existuje několik předdefinovaných tříd znaků pro pravidlo ITN:
\d
- porovná číslici z '0' na '9', a vypíše ji přímo.\l
- porovná písmeno (nerozlišuje velká a malá písmena) a překládá ho na malá písmena.\u
- porovná písmeno (nerozlišuje velká a malá písmena) a přepíše ho na velká písmena.\a
- porovná písmeno (nerozlišuje velká a malá písmena) a vypíše ho přímo.
Existují také řídicí výrazy pro odkazování na znaky, které jinak mají speciální syntaktický význam:
\\
- shoda a výstup znaku\
\(
a\)
\{
a\}
\|
\+
a a\?
\*
Vzory s notací ve stylu regulárního výrazu
Pro zvýšení flexibility psaní vzorů jsou podporovány konstrukce frází podobných regulárním výrazům s alternativami a uzavření Kleene.
- Fráze je označená závorkou, například
(...)
– závorky se nepočítá jako znaky, které se mají shodovat. - Alternativy ve frázi můžete označit znakem
|
, například(AB|CDE)
. - Frázi můžete přidat tak
?
, aby označíte, že je nepovinná,+
můžete ji označit jako opakovanou nebo*
oboje. Fráze přípony s těmito znaky a ne jednotlivé znaky (což je více omezující než většina implementací regulárních výrazů).
Vzor, jako (AB|CD)-(\d)+
by představoval konstruktory, jako je AB-9 nebo CD-22, a rozšířil se na mluvená slova jako A B nine
a C D twenty two
(nebo C D two two
).
Vzory s explicitním nahrazením
Obecná filozofie je "ukážete nám, jak by měl vypadat výstup, a služba Speech zjistí, jak to lidé říkají." To ale vždycky nefunguje, protože některé scénáře můžou mít nepředvídatelné způsoby, jak něco říct, nebo pravidla na pozadí služby Speech můžou mít mezery. Například může existovat výslovnost výslovnosti pro iniciály a zkratky - ZPI
může být mluvená jako zippy
. V tomto případě vzor, jako ZPI-\d\d
je nepravděpodobné, že by fungoval, pokud uživatel říká zippy twenty two
. Pro tuto situaci existuje notace {spoken>written}
formátu zobrazovaného textu . Tento konkrétní případ by mohl být napsán {zippy>ZPI}-\d\d
.
To může být užitečné pro zpracování věcí, které pravidla mapování řeči, ale zatím nepodporují. Můžete například napsat vzor \d0-\d0
, který očekává, že systém pochopí, že "-" může znamenat rozsah a měl by být výrazný to
, jako v twenty to thirty
. Ale možná ne. Můžete tedy napsat explicitnější vzor jako \d0{to>-}\d0
a říct mu, jak očekáváte čtení pomlčky.
Můžete také vynechat >
následující napsaný formulář, který označuje slova, která by měla být rozpoznána, ale ignorována. Takže vzor, jako {write} (\u.)+
je write A B C
rozpoznávání a výstup A.B.C
- --vyřazení write
části.
Vlastní příklady ITN
Číslice skupiny
Pokud chcete seskupit 6 číslic do dvou skupin a přidat mezi ně znak -:
Pravidlo ITN:
\d\d\d-\d\d\d
Ukázka:"cadence one oh five one fifteen" -> "cadence 105-115"
Formátování názvu filmu
Space: 1999 je slavný film, který jej podporuje:
Pravidlo ITN:
Space: 1999
Ukázka:"watching space nineteen ninety nine" -> "watching Space: 1999"
Model s nahrazením
Pravidlo ITN:
\d[05]{ to >-}\d[05]
Ukázka:fifteen to twenty -> 15-20
Vlastní přepsání
Obecně řečeno, pro vstupní řetězec, přepsání modelu se pokusí nahradit original phrase
ve vstupním řetězci odpovídající new phrase
pro každé pravidlo přepsání. Model přepsání je kolekce pravidel přepsání.
- Pravidlo přepsání je dvojice dvou frází: původní fráze a nová fráze.
- Dvě fráze jsou oddělené znakem TAB. Například
original phrase
{TAB}new phrase
. - Původní fráze se shoduje (nerozlišují malá a velká písmena) a nahradí se novou frází (rozlišují se malá a velká písmena). Gramatické interpunkční znaky v původní frázi se během shody ignorují.
- Pokud nějaká pravidla přepisování kolidují, použije se jako shoda ta, která je delší
original phrase
.
Přepsaný model ve výchozím nastavení podporuje gramatické velká písmena, která ve výchozím nastavení zapisuje první písmeno věty jako en-US
národní prostředí. Je vypnutá, pokud je funkce psaní velkých písmen ve formátu zobrazovaného textu v požadavku na rozpoznávání řeči vypnutá.
Interpunkce gramatiky
Gramatické interpunkční znaky slouží k oddělení věty nebo fráze a objasnění způsobu čtení věty nebo fráze.
. , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ،
Tady jsou gramatická interpunkční pravidla:
- Podporované interpunkční znaky jsou pro gramatickou interpunkci, pokud následuje mezera nebo na začátku nebo na konci věty nebo fráze. Například
.
inx. y
(s mezerou mezi.
ay
) je gramatická interpunkce. - Interpunkční znaky, které jsou uprostřed slova (kromě
zh-cn
aja-jp
) nejsou gramatickou interpunkcí. V takovém případě jsou to obyčejné znaky. Například in.
x.y
není gramatická interpunkce. - Pro
zh-cn
aja-jp
(nezaložení národních prostředí) se interpunkční znaky vždy používají jako gramatická interpunkce, i když jsou mezi znaky. Například in.
中.文
je gramatická interpunkce.
Vlastní příklady přepsání
Opravy pravopisu
Název COVID-19
může být rozpoznán jako covered 19
. Pokud chcete zajistit, aby COVID-19 is a virus
se místo toho zobrazovalo covered 19 is a virus
, použijte následující pravidlo přepsání:
#rewrite
covered 19{TAB}COVID-19
Velká písmena názvu
Gottfried Wilhelm Leibniz byl německý matematik. Abyste měli jistotu, že Gottfried Wilhelm Leibniz
je velká písmena, použijte následující pravidlo přepsání:
#rewrite
gottfried leibniz{TAB}Gottfried Leibniz
Vlastní vulgární výrazy
Vlastní vulgární model funguje stejně jako základní vulgární model, s výjimkou použití vlastního seznamu frází vulgárních výrazů. Kromě toho se vlastní model vulgárních výrazů pokusí shodovat (nerozlišují malá a velká písmena) všechny fráze vulgárních výrazů definovaných v souboru formátování zobrazovaného textu.
- Fráze vulgárních výrazů se shodují (nerozlišují malá a velká písmena).
- Pokud některá pravidla vulgárních frází kolidují, použije se nejdelší fráze jako shoda.
- V frázi vulgárních výrazů nejsou podporované tyto interpunkční znaky:
. , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ،
. - Pro
zh-CN
aja-JP
národní prostředí nejsou podporované anglické vulgární fráze. Slova vulgárních výrazů v angličtině jsou podporována. Podporují se fráze vulgárních výrazů prozh-CN
národní prostředí aja-JP
národní prostředí.
Vulgární výraz se odebere nebo zamaskuje v závislosti na nastavení vašeho požadavku na rozpoznávání řeči.
Po přidání vulgárních vulgárních výrazů do souboru pravidla formátu zobrazení a vytrénování vlastního modelu se používá pro výchozí výstup v dávkové řeči na text a řeč na text v reálném čase.
Příklady vlastních vulgárních výrazů
Tady je několik příkladů, jak maskovat vulgární slova a fráze v souboru formátování zobrazovaného textu.
Příklad maskování jednoho vulgárního slova
Předpokládejme xyz
, že je slovo vulgární. Přidání:
#profanity
xyz
Tady je ukázka testu: Turned on profanity masking to mask xyz -> Turned on profanity masking to mask ***
Maskovat frázi vulgárních výrazů
Předpokládejme abc lmn
, že je fráze vulgárního výrazu. Přidání:
#profanity
abc lmn
Tady je ukázka testu: Turned on profanity masking to mask abc lmn -> Turned on profanity masking to mask *** ***