Share via


Tahminden önce veya tahmin sırasında konuşma verilerini değiştirme

Önemli

LUIS 1 Ekim 2025'te kullanımdan kaldırılacak ve 1 Nisan 2023'den itibaren yeni LUIS kaynakları oluşturamayacaksınız. Devam eden ürün desteği ve çok dilli özelliklerden yararlanmak için LUIS uygulamalarınızıkonuşma dili anlayışına geçirmenizi öneririz.

LUIS, tahminden önce veya tahmin sırasında konuşmaları işlemenin yollarını sağlar. Bunlar yazım denetimini düzeltmeyi ve önceden oluşturulmuş datetimeV2 için saat dilimi sorunlarını düzeltmeyi içerir.

Konuşmadaki yazım hatalarını düzeltme

V3 çalışma zamanı

Konuşmayı LUIS'e göndermeden önce yazım denetimi düzeltmeleri için metni ön işleyebilirsiniz. Doğru tahminleri aldığınızdan emin olmak için doğru yazımla örnek konuşmaları kullanın.

Metni LUIS'e göndermeden önce düzeltmek için Bing Yazım Denetimi'ni kullanın.

V3 çalışma zamanından önce

LUIS, konuşmadaki yazım hatalarını düzeltmek için Bing Yazım Denetimi API'sini V7 kullanır. LUIS'in bu hizmetle ilişkilendirilmiş anahtara ihtiyacı vardır. Anahtarı oluşturun, ardından anahtarı uç noktaya sorgu dizesi parametresi olarak ekleyin.

Uç nokta, yazım düzeltmelerinin çalışması için iki parametre gerektirir:

Param Değer
spellCheck boolean
bing-spell-check-subscription-key Bing Yazım Denetimi API'si V7 uç nokta anahtarı

Bing Yazım Denetimi API'si V7 bir hata algıladığında, özgün konuşma ve düzeltilen konuşma uç noktadan gelen tahminlerle birlikte döndürülür.

{
  "query": "Book a flite to London?",
  "alteredQuery": "Book a flight to London?",
  "topScoringIntent": {
    "intent": "BookFlight",
    "score": 0.780123
  },
  "entities": []
}

İzin verilen sözcüklerin listesi

LUIS'te kullanılan Bing yazım denetimi API'si, yazım denetimi değişiklikleri sırasında yoksayılması gereken sözcüklerin listesini desteklemez. Sözcük veya kısaltma listesine izin vermeniz gerekiyorsa, ifadeyi amaç tahmini için LUIS'e göndermeden önce istemci uygulamasındaki ifadeyi işleyin.

Önceden oluşturulmuş datetimeV2 varlığının saat dilimini değiştirme

Luis uygulaması önceden oluşturulmuş datetimeV2 varlığını kullandığında, tahmin yanıtında bir tarih saat değeri döndürülebilir. İsteğin saat dilimi, döndürülecek doğru datetime değerini belirlemek için kullanılır. İstek LUIS'e gitmeden önce bir bottan veya başka bir merkezi uygulamadan geliyorsa LUIS'in kullandığı saat dilimini düzeltin.

Saat dilimini değiştirmek için V3 tahmin API'si

V3'te saat datetimeReference dilimi uzaklığını belirler.

Saat dilimini değiştirmek için V2 tahmin API'si

Saat dilimi, API sürümünü temel alan parametresi kullanılarak timezoneOffset kullanıcının saat dilimini uç noktaya ekleyerek düzeltilir. Parametrenin değeri, zamanı değiştirmek için dakika cinsinden pozitif veya negatif sayı olmalıdır.

V2 tahmin yaz saati uygulaması örneği

Gün ışığından yararlanma saatini ayarlamak için döndürülen önceden oluşturulmuş datetimeV2'ye ihtiyacınız varsa, uç nokta sorgusu için dakika cinsinden +/- değeriyle querystring parametresini kullanmanız gerekir.

60 dakika ekleyin:

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 dakikayı kaldır:

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}

V2 tahmin C# kodu parametrenin doğru değerini belirler

Aşağıdaki C# kodu, sistem zamanına göre doğru uzaklık değerini belirlemek için TimeZoneInfo sınıfının FindSystemTimeZoneById yöntemini kullanır:

// 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);

Sonraki adımlar

Bu öğreticiyle yazım hatalarını düzeltin