Kimondott szöveg adatainak módosítása előrejelzés előtt vagy közben
Fontos
A LUIS 2025. október 1-jén megszűnik, és 2023. április 1-től nem hozhat létre új LUIS-erőforrásokat. Javasoljuk, hogy a LUIS-alkalmazásokat a beszélgetési nyelv megértésére migrálja, hogy kihasználhassa a terméktámogatás és a többnyelvű képességek előnyeit.
A LUIS módot kínál a kimondott szöveg módosítására az előrejelzés előtt vagy alatt. Ezek közé tartozik a helyesírás javítása és az előre összeállított datetimeV2 időzónával kapcsolatos problémáinak kijavítása.
Helyesírási hibák javítása a kimondott szövegben
V3-futtatókörnyezet
A szöveg előfeldolgozása a helyesírás-javításokhoz, mielőtt elküldené a kimondott szöveget a LUIS-nak. A helyes helyesírású kimondott szövegeket használva győződjön meg arról, hogy a helyes előrejelzéseket kapja.
A Bing Spell Check használatával kijavíthatja a szöveget, mielőtt elküldené azt a LUIS-nak.
V3-futtatókörnyezet előtt
A LUIS a Bing Spell Check API V7 használatával javítja ki a kimondott szöveg helyesírási hibáit. A LUIS-nak szüksége van a szolgáltatáshoz társított kulcsra. Hozza létre a kulcsot, majd adja hozzá a kulcsot lekérdezési paraméterként a végponton.
A végponthoz két param szükséges a helyesírás-javítások működéséhez:
Param | Érték |
---|---|
spellCheck |
Logikai |
bing-spell-check-subscription-key |
Bing Spell Check API V7 végpontkulcs |
Amikor a Bing Spell Check API V7 hibát észlel, a rendszer visszaadja az eredeti kimondott szöveget és a kijavított kimondott szöveget, valamint a végpont előrejelzéseit.
{
"query": "Book a flite to London?",
"alteredQuery": "Book a flight to London?",
"topScoringIntent": {
"intent": "BookFlight",
"score": 0.780123
},
"entities": []
}
Az engedélyezett szavak listája
A LUIS-ban használt Bing helyesírás-ellenőrző API nem támogatja a helyesírás-ellenőrzési módosítások során figyelmen kívül hagyandó szavak listáját. Ha engedélyeznie kell a szavak vagy mozaikszavak listáját, dolgozza fel a kimondott szöveget az ügyfélalkalmazásban, mielőtt elküldi a kimondott szöveget a LUIS-nak szándék-előrejelzés céljából.
Előre összeállított datetimeV2 entitás időzónájának módosítása
Ha egy LUIS-alkalmazás az előre összeállított datetimeV2 entitást használja, a dátum/idő érték visszaadható az előrejelzési válaszban. A kérés időzónája határozza meg a megfelelő visszatérési dátumot. Ha a kérelem egy robottól vagy egy másik központosított alkalmazástól érkezik, mielőtt a LUIS-ba jut, javítsa ki a LUIS által használt időzónát.
V3 előrejelzési API az időzónák módosításához
A V3-ban a datetimeReference
rendszer határozza meg az időzónák eltolását.
V2 előrejelzési API az időzónák módosításához
Az időzónát úgy korrigálja a rendszer, hogy hozzáadja a felhasználó időzónáját a végponthoz az timezoneOffset
API-verzión alapuló paraméter használatával. A paraméter értékének percekben pozitív vagy negatív számnak kell lennie az idő módosításához.
V2 előrejelzés nyári időszámítási példa
Ha a nyári időszámításhoz a visszaadott előre összeállított datetimeV2 értékre van szüksége, akkor a lekérdezéslánc paramétert a végpontlekérdezéshez percekben megadott +/- értékkel kell használnia.
60 perc hozzáadása:
https://{region}.api.cognitive.microsoft.com/luis/v2.0/apps/{appId}?q=Turn the lights on?timezoneOffset=60&verbose={boolean}&spellCheck={boolean}&staging={boolean}&bing-spell-check-subscription-key={string}&log={boolean}
60 perc eltávolítása:
https://{region}.api.cognitive.microsoft.com/luis/v2.0/apps/{appId}?q=Turn the lights on?timezoneOffset=-60&verbose={boolean}&spellCheck={boolean}&staging={boolean}&bing-spell-check-subscription-key={string}&log={boolean}
A V2 előrejelzési C# kódja határozza meg a paraméter helyes értékét
A következő C#-kód a TimeZoneInfo osztály FindSystemTimeZoneById metódusával határozza meg a megfelelő eltolási értéket a rendszeridő alapján:
// Get CST zone id
TimeZoneInfo targetZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
// Get local machine's value of Now
DateTime utcDatetime = DateTime.UtcNow;
// Get Central Standard Time value of Now
DateTime cstDatetime = TimeZoneInfo.ConvertTimeFromUtc(utcDatetime, targetZone);
// Find timezoneOffset/datetimeReference
int offset = (int)((cstDatetime - utcDatetime).TotalMinutes);