Megjelenítési szövegformátum betanítási adatainak előkészítése egyéni beszédhez
Az Azure AI Speech szolgáltatás két összetevőként tekinthető meg: a beszédfelismerés és a szövegformázás megjelenítése. A beszédfelismerés a hangokat lexikális szöveggé alakítja át, majd a lexikális szöveg szöveggé alakul át.
Ezek a területi beállítások támogatják a megjelenítési szövegformátum funkciót: 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-Standard kiadás, tr-TR, zh-CN, zh-HK.
Alapértelmezett megjelenítési szövegformázás
A megjelenítendő szövegfolyamatot a megjelenítési formátumszerkesztők sorozata alkotja. Minden szerkesztő megfelel egy megjelenítési formátummal kapcsolatos feladatnak, például az ITN-nek, a nagybetűsítésnek és a trágárság szűrésének.
- Inverz szöveg normalizálása (ITN) – A beszélt űrlapszámok szövegének átalakítása megjelenítési formává. Például:
"I spend twenty dollars" -> "I spend $20"
- Nagybetűsítés – Nagybetűs entitásnevekre, betűszavakra vagy egy mondat első betűjére. Például:
"she is from microsoft" -> "She is from Microsoft"
- Trágárság szűrése – A trágár szavak maszkolása vagy eltávolítása egy mondatból. Tegyük fel például, hogy az "abcd" egy trágár szó, akkor a szót trágár maszkolással maszkolja:
"I never say abcd" -> "I never say ****"
A Microsoft az általános célú megjelenítési feldolgozási feladatokhoz fenntartja a megjelenítési szöveg folyamatának alapkészítőit. A Speech szolgáltatás használatakor alapértelmezés szerint lekérheti az alapkészítőket. A beépített formázásról további információt a Szövegformátum megjelenítése című témakörben talál.
Egyéni megjelenítési szövegformázás
A Microsoft által karbantartott alapszerkesztők mellett egyéni megjelenítési szövegformázási szabályokat is meghatározhat, amelyekkel testre szabhatja a megjelenítési szövegformázási folyamatot az adott forgatókönyvekhez. Az egyéni megjelenítési szövegformázási szabályok egy egyéni megjelenítési szövegformázási fájlban vannak definiálva.
- Egyéni ITN – Az alap ITN funkcióinak kiterjesztése egy szabályalapú egyéni ITN-modell alkalmazásával az ügyféltől.
- Egyéni átírás – Egy kifejezés átírása egy másikra az ügyféltől származó szabályalapú modell alapján.
- Egyéni trágárságszűrés – Trágárságkezelés végrehajtása az ügyfél profanitás szólistája alapján.
A megjelenített szövegformázási folyamat sorrendjét ebben a diagramban szemléltetjük.
Egyéni ITN
A mintaalapú egyéni ITN filozófiája, hogy megadhatja a megtekinteni kívánt végső kimenetet. A Speech szolgáltatás kitalálja, hogyan lehet kimondani a szavakat, és megfelelteti az előrejelzett beszélt kifejezéseket a megadott kimeneti formátumra.
Az egyéni ITN-modell itn-szabályok készletéből épül fel. Az ITN-szabály egy reguláris kifejezés, például mintasztring, amely a következőket írja le:
- A bemeneti sztring egyező mintája
- A kimeneti sztring kívánt formátuma
Először a Microsoft által megadott alapértelmezett ITN-szabályokat alkalmazza a rendszer. A rendszer az alapértelmezett ITN-modell kimenetét használja az egyéni ITN-modell bemeneteként. Az egyéni ITN-modellben található egyező algoritmus kis- és nagybetűket nem érzékelyítő.
A minta négy kategóriája egyezik az egyéni ITN-szabályokkal.
- Minták literálokkal
- Minták helyettesítő karakterekkel
- Minták Regex stílusú jelöléssel
- Mintázatok explicit helyettesítéssel
Minták literálokkal
Előfordulhat például, hogy egy fejlesztő rendelkezik egy alfanumerikus formával JO:500
elnevezett elemmel (például egy termékkel). A Speech szolgáltatás rájön, hogy a felhasználók kimondhatják a betűrészt J O
, vagy azt is mondhatják joe
, hogy a szám rész mint five hundred
vagy five zero zero
five oh oh
vagy five double zero
, majd létrehoznak egy modellt, amely megfelelteti JO:500
ezeket a lehetőségeket (beleértve a kettőspont beszúrását).
A minták párhuzamosan is alkalmazhatók, ha a megjelenített szövegformázási fájlban soronként egy szabályt ad meg. Íme egy példa egy megjelenítendő szövegformázási fájlra, amely két szabályt határoz meg:
JO:500
MM:760
Minták helyettesítő karakterekkel
Alfanumerikus elemek egész sorozatára hivatkozhat (például JO:500
, JO:600
), anélkül, JO:700
hogy minden lehetőséget többféleképpen kellene leírnia.
A karaktertartományok megadhatók a jelöléssel [...]
, így JO:[5-7]00
három minta írásával egyenértékű.
A helyettesítő karaktereket is használhatja. Ezek egyike, \d
ami bármilyen számjegyet jelent. Így JO:\d00
fedi le JO:000
, JO:100
és mások fel JO:900
.
A reguláris kifejezéshez hasonlóan több előre definiált karakterosztály is létezik egy ITN-szabályhoz:
\d
- egy számjegyet '0'-ról '9'-re egyeztetni, és közvetlenül ki kell adni\l
- egyezik egy betűvel (a kis- és nagybetűk nem érzékenyek), és kisbetűsre módosítja\u
- egyezik egy betűvel (a kis- és nagybetűk nem érzékenek), és nagybetűsre fordítja\a
- egy betű (kis- és nagybetűk megkülönböztetése) egyeztetése és közvetlen kimenete
Léteznek olyan feloldókifejezések is, amelyek máskülönben speciális szintaktikai jelentéssel rendelkező karakterekre hivatkoznak:
\\
- a karakter egyeztetése és kimenete\
\(
és\)
\{
és\}
\|
\+
és és\?
\*
Minták regex stílusú jelöléssel
A mintaírás rugalmasságának növelése érdekében támogatottak a kifejezések alternatív megoldásokkal és Kleene-lezárással történő rendszeres kifejezésszerű felépítései.
- A kifejezés zárójelekkel van jelölve, például
(...)
: A zárójelek nem számítanak szó szerint a egyeztetendő karaktereknek. - A kifejezésen belül a következő karakterrel
|
jelölhet alternatívákat: például(AB|CDE)
. - Egy kifejezés utótaggal
?
jelezheti, hogy nem kötelező,+
jelezheti, hogy megismételhető, vagy*
mindkettőt jelezheti. Csak utótagkifejezéseket használhat ezekkel a karakterekkel, egyéni karaktereket nem (ami korlátozóbb, mint a legtöbb reguláris kifejezés-implementáció).
Egy olyan minta, amely (AB|CD)-(\d)+
olyan szerkezeteket jelöl, mint az "AB-9" vagy a "CD-22", és kiterjeszthető az olyan kimondott szavakra, mint A B nine
és C D twenty two
(vagy C D two two
).
Mintázatok explicit helyettesítéssel
Az általános filozófia a "megmutatod nekünk, hogyan kell kinéznie a kimenetnek, és a Speech service kitalálja, hogyan mondják az emberek." Ez azonban nem mindig működik, mert egyes helyzetekben előfordulhat, hogy a beszédszolgáltatás háttérszabályai nem feltétlenül kiszámíthatatlan módon mondják el a dolgokat, vagy a Speech service háttérszabályai nem feltétlenül működnek. Lehetnek például köznyelvi kiejtések a monogramokhoz és a betűszókhoz – ZPI
ez lehet kimondva.zippy
Ebben az esetben nem valószínű, hogy egy ilyen ZPI-\d\d
minta működik, ha egy felhasználó azt mondja zippy twenty two
. Az ilyen helyzetekben megjelenik egy megjelenítendő szövegformátum jelölése {spoken>written}
. Ez a konkrét eset kiírható {zippy>ZPI}-\d\d
.
Ez hasznos lehet olyan dolgok kezeléséhez, amelyeket a Beszédleképezési szabályok még nem támogatnak. Írhat például egy mintát\d0-\d0
, amely arra számít, hogy a rendszer megérti, hogy a "-" tartományt jelenthet, és ki kell ejtenito
, mint a .twenty to thirty
De talán nem. Így explicitebb mintát írhat, és \d0{to>-}\d0
elmondhatja, hogyan várhatja el a kötőjel olvasását.
A következő írásos űrlapot is kihagyhatja >
, hogy olyan szavakat jelöljön, amelyeket fel kell ismerni, de figyelmen kívül kell hagyni. Tehát egy olyan minta, mint {write} (\u.)+
a felismerés write A B C
és a kimenet A.B.C
- elveti az alkatrészt write
.
Egyéni ITN-példák
Számjegyek csoportosítása
Ha két csoportba szeretné csoportosítani a 6 számjegyet, és egy "-" karaktert szeretne felvenni közéjük:
ITN-szabály:
\d\d\d-\d\d\d
Minta:"cadence one oh five one fifteen" -> "cadence 105-115"
Filmnév formázása
Space: 1999 egy híres film, hogy támogassa:
ITN-szabály:
Space: 1999
Minta:"watching space nineteen ninety nine" -> "watching Space: 1999"
Minta csere
ITN-szabály:
\d[05]{ to >-}\d[05]
Minta:fifteen to twenty -> 15-20
Egyéni átírás
Általánosságban elmondható, hogy egy bemeneti sztring esetében az átírási modell megpróbálja lecserélni a original phrase
bemeneti sztringet az egyes átírási szabályok megfelelőire new phrase
. Az átírási modell átírási szabályok gyűjteménye.
- Az átírási szabály két kifejezésből áll: az eredeti és egy új kifejezésből.
- A két kifejezést tabulátor karakter választja el egymástól. Például:
original phrase
{TAB}new phrase
. - Az eredeti kifejezés egyezik (a kis- és nagybetűk nem érzékenyek), és az új (kis- és nagybetűket megkülönböztető) kifejezésre cseréli. Az eredeti kifejezés nyelvhelyességi írásjeleit a rendszer figyelmen kívül hagyja az egyezés során.
- Ha bármilyen újraírási szabály ütközik, a rendszer azt használja egyezésként, amelyik hosszabb
original phrase
.
Az átírási modell alapértelmezés szerint támogatja a nyelvtani nagybetűsítést, amely a mondat első betűjének nagybetűit nagybetűssé teszi a hasonló területi beállításokhoz en-US
. Ki van kapcsolva, ha a szövegformázás nagybetűsítése ki van kapcsolva egy beszédfelismerési kérelemben.
Nyelvtani írásjelek
A nyelvtani írásjelek egy mondat vagy kifejezés elválasztására szolgálnak, és tisztázzák a mondatok vagy kifejezések olvasásának módját.
. , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ،
A nyelvtani írásjelek szabályai a következők:
- A támogatott írásjelek nyelvtani írásjelek, ha szóközzel vagy egy mondat vagy kifejezés elején vagy végén vannak követve. A be (
x. y
és között szóközzely
.
) például.
nyelvtani írásjel. - A szó közepén (kivéve
zh-cn
ésja-jp
) lévő írásjelek nem nyelvtani írásjelek. Ebben az esetben ezek hétköznapi karakterek. A beadásx.y
például.
nem nyelvtani írásjel. ja-jp
Azzh-cn
írásjelek írásjele mindig nyelvtani írásjelként használatos, még akkor is, ha karakterek között vannak. A beadás中.文
például.
nyelvtani írásjel.
Példák egyéni átírására
Helyesírás-javítás
A név COVID-19
felismerhető a következőként covered 19
: . Ha meg szeretné győződni arról, hogy COVID-19 is a virus
ez nem covered 19 is a virus
jelenik meg, használja az alábbi újraírási szabályt:
#rewrite
covered 19{TAB}COVID-19
Név nagybetűsítése
Gottfried Wilhelm Leibniz német matematikus volt. Ha meg szeretné győződni arról, hogy ez Gottfried Wilhelm Leibniz
nagybetűs, használja az alábbi újraírási szabályt:
#rewrite
gottfried leibniz{TAB}Gottfried Leibniz
Egyéni trágárság
Az egyéni trágársági modell ugyanúgy működik, mint az alapszintű trágársági modell, kivéve, ha egyéni trágár kifejezéslistát használ. Emellett az egyéni trágársági modell megpróbálja egyezni a megjelenítendő szövegformázási fájlban definiált összes trágár kifejezésével (kis- és nagybetűk érzéketlen).
- A trágár kifejezések egyeznek (kis- és nagybetűk érzéketlenek).
- Ha bármilyen trágár kifejezés ütközik, a rendszer a leghosszabb kifejezést használja egyezésként.
- Ezek az írásjelek nem támogatottak egy trágár kifejezésben:
. , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ،
. - Az
zh-CN
angol trágár kifejezések ésja-JP
területi beállítások nem támogatottak. Az angol trágár szavak támogatottak. A trágár kifejezésekzh-CN
ésja-JP
a területi beállítások támogatottak.
A beszédfelismerési kérés beállításaitól függően a rendszer eltávolítja vagy maszkolja a trágárságot.
Miután hozzáadta a trágárságot a megjelenítési szövegformátum szabályfájljában, és az egyéni modell betanítása megtörtént, a rendszer a kötegelt beszéd és a valós idejű szöveghez való beszéd alapértelmezett kimenetéhez használja.
Egyéni trágár példák
Íme néhány példa arra, hogyan maszkolhatja a trágár szavakat és kifejezéseket a megjelenítendő szövegformázási fájlban.
Egyetlen trágár szó maszkolása – példa
Tegyük fel xyz
, hogy egy trágár szó. A hozzáadáshoz:
#profanity
xyz
Íme egy tesztminta: Turned on profanity masking to mask xyz -> Turned on profanity masking to mask ***
Maszk trágár kifejezés
Tegyük fel abc lmn
, hogy egy trágár kifejezés. A hozzáadáshoz:
#profanity
abc lmn
Íme egy tesztminta: Turned on profanity masking to mask abc lmn -> Turned on profanity masking to mask *** ***