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.

Diagram of the flow of speech recognition to lexical to display 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.

Diagram of the display format builders.

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

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 zeronebo 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:700aniž 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:100a 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 . in x. y (s mezerou mezi . a y) je gramatická interpunkce.
  • Interpunkční znaky, které jsou uprostřed slova (kromě zh-cn a ja-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 a ja-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 a ja-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ů pro zh-CN národní prostředí a ja-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 *** ***

Další kroky