Hızlı Başlangıç: Bing Yazım Denetimi REST API'siyle yazım denetimi yapma ve Node.js
Uyarı
30 Ekim 2020'de Bing Arama API'leri Azure AI hizmetlerinden Bing Arama Hizmetleri'ne taşındı. Bu belgeler yalnızca başvuru için sağlanır. Güncelleştirilmiş belgeler için Bing arama API'sinin belgelerine bakın. Bing araması için yeni Azure kaynakları oluşturma yönergeleri için bkz. Azure Market aracılığıyla Bing Arama kaynağı oluşturma.
Bing Yazım Denetimi REST API'sine ilk çağrınızı yapmak için bu hızlı başlangıcı kullanın. Bu basit JavaScript uygulaması API'ye bir istek gönderir ve önerilen düzeltmelerin listesini döndürür.
Bu uygulama JavaScript ile yazılmış olsa da, API çoğu programlama diliyle uyumlu bir RESTful Web hizmetidir. Bu uygulamanın kaynak kodu GitHub'da kullanılabilir.
Önkoşullar
- Node.js 6 veya üzeri.
Azure kaynağı oluşturma
Aşağıdaki Azure kaynaklarından birini oluşturarak Bing Yazım Denetimi API'sini kullanmaya başlayın:
- Kaynağı silene kadar Azure portalı üzerinden kullanılabilir.
- Hizmeti denemek için ücretsiz fiyatlandırma katmanını kullanın ve daha sonra üretim için ücretli bir katmana yükseltin.
- Bing Yazım Denetimi API'si, Bing Search v7 kaynağının bazı katmanlarında da sunulur.
- Kaynağı silene kadar Azure portalı üzerinden kullanılabilir.
- Birden çok Azure AI hizmeti genelinde uygulamalarınız için aynı anahtarı ve uç noktayı kullanın.
Proje oluşturma ve başlatma
Sık kullandığınız IDE veya düzenleyicide yeni bir JavaScript dosyası oluşturun. Katılığı ayarlayın ve öğesini gerekli kılar
https
. Ardından API uç noktanızın konağı, yolu ve abonelik anahtarınız için değişkenler oluşturun. Aşağıdaki kodda genel uç noktayı kullanabilir veya kaynağınız için Azure portalında görüntülenen özel alt etki alanı uç noktasını kullanabilirsiniz.'use strict'; let https = require ('https'); let host = 'api.cognitive.microsoft.com'; let path = '/bing/v7.0/spellcheck'; let key = '<ENTER-KEY-HERE>';
Arama parametreleriniz ve denetlemek istediğiniz metin için değişkenler oluşturun:
Market kodunuzu
mkt
işleciyle parametresine atayın=
. Pazar kodu, isteği yaptığınız ülkenin/bölgenin kodudur.parametresini
mode
işleciyle&
ekleyin ve yazım denetimi modunu atayın. Mod (çoğu yazım/dil bilgisi hatasını yakalar) veyaspell
(çoğu yazım hatasını yakalar, ancak çok fazla dil bilgisi hatası yakalamaz) olabilirproof
.
let mkt = "en-US"; let mode = "proof"; let text = "Hollo, wrld!"; let query_string = "?mkt=" + mkt + "&mode=" + mode;
İstek parametrelerini oluşturma
Yöntemiyle POST
yeni bir nesne oluşturarak istek parametrelerinizi oluşturun. Uç nokta yolunuzu ve sorgu dizenizi ekleyerek yolunuzu ekleyin. Ardından abonelik anahtarınızı üst bilgisine Ocp-Apim-Subscription-Key
ekleyin.
let request_params = {
method : 'POST',
hostname : host,
path : path + query_string,
headers : {
'Content-Type' : 'application/x-www-form-urlencoded',
'Content-Length' : text.length + 5,
'Ocp-Apim-Subscription-Key' : key,
}
};
Yanıt işleyici oluşturma
API'den JSON yanıtını alıp yazdırmak için adlı response_handler
bir işlev oluşturun. Yanıt gövdesi için bir değişken oluşturun. kullanılarak response.on()
bir data
bayrak alındığında yanıtı ekleyin. Bayrak end
alındıktan sonra JSON gövdesini konsola yazdırın.
let response_handler = function (response) {
let body = '';
response.on ('data', function (d) {
body += d;
});
response.on ('end', function () {
let body_ = JSON.parse (body);
console.log (body_);
});
response.on ('error', function (e) {
console.log ('Error: ' + e.message);
});
};
İsteği gönderme
İstek parametrelerinizle ve yanıt işleyicinizle kullanarak https.request()
API'yi çağırın. Metninizi API'ye yazın ve isteği sonlandırın.
let req = https.request (request_params, response_handler);
req.write ("text=" + text);
req.end ();
Uygulamayı çalıştırma
Projenizi derleyin ve çalıştırın.
Komut satırını kullanıyorsanız, uygulamayı derlemek ve çalıştırmak için aşağıdaki komutu kullanın:
node <FILE_NAME>.js
Örnek JSON yanıtı
Başarılı yanıt, aşağıdaki örnekte gösterildiği gibi JSON biçiminde döndürülür:
{
"_type": "SpellCheck",
"flaggedTokens": [
{
"offset": 0,
"token": "Hollo",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "Hello",
"score": 0.9115257530801
},
{
"suggestion": "Hollow",
"score": 0.858039839213461
},
{
"suggestion": "Hallo",
"score": 0.597385084464481
}
]
},
{
"offset": 7,
"token": "wrld",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "world",
"score": 0.9115257530801
}
]
}
]
}