Краткое руководство. Проверка орфографии с помощью REST API проверки орфографии Bing и Node.js
Предупреждение
30 октября 2020 г. API-интерфейсы Поиск Bing перемещены из служб ИИ Azure в службы Поиск Bing. Эта документация приводится только для справки. Обновленную информацию см. в документации по API Поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.
В этом кратком руководстве показано, как отправить первый вызов к REST API "Проверка орфографии Bing". Это простое приложение JavaScript отправляет запрос к API и возвращает список предлагаемых исправлений.
Хотя приложение написано на JavaScript, API представляет собой веб-службу RESTful, совместимую с большинством языков программирования. Исходный код этого приложения доступен на GitHub.
Предварительные требования
- Node.js 6 или более поздней версии.
Создание ресурса Azure
Чтобы начать работу с API Проверки орфографии Bing, создайте один из следующих ресурсов Azure.
Ресурс проверки орфографии Bing
- доступен на портале Azure до удаления.
- Используйте бесплатную ценовую категорию, чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.
- API Проверки орфографии Bing также предоставляется на некоторых уровнях ресурса Поиска Bing версии 7.
- доступен на портале Azure до удаления.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация проекта
Создайте файл JavaScript в используемой вами интегрированной среде разработки или редакторе. Установите степень строгости и добавьте требование использования протокола
https
. Затем создайте переменные для узла конечной точки API, пути и ключа подписки. Вы можете использовать глобальную конечную точку, указанную в коде ниже, или конечную точку личного поддомена, которая отображается на портале Azure для вашего ресурса.'use strict'; let https = require ('https'); let host = 'api.cognitive.microsoft.com'; let path = '/bing/v7.0/spellcheck'; let key = '<ENTER-KEY-HERE>';
Создайте переменные для параметров поиска и текста, который требуется проверить.
Назначьте код рынка для параметра
mkt
с помощью оператора=
. Код рынка — это код страны или региона, из которого выполняется запрос.Добавьте параметр
mode
с оператором&
и назначьте режим проверки орфографии. Можно указать режимproof
(выявляет большинство орфографических и грамматических ошибок) илиspell
(выявляет большинство орфографических ошибок, но не так много грамматических ошибок).
let mkt = "en-US"; let mode = "proof"; let text = "Hollo, wrld!"; let query_string = "?mkt=" + mkt + "&mode=" + mode;
Создание параметров запроса
Создайте параметры запроса, создав новый объект с использованием метода POST
. Укажите свой путь, объединив путь к конечной точке и строку запроса. Затем добавьте ключ подписки в заголовок Ocp-Apim-Subscription-Key
.
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,
}
};
Создание обработчика ответов
Создайте функцию с именем response_handler
, чтобы вывести ответ JSON, полученный от API. Создайте переменную для текста ответа. Добавьте ответ при получении флага data
с помощью response.on()
. После получения флага end
выведите текст JSON на консоль.
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);
});
};
Отправка запроса
Вызовите API, используя https.request()
с параметрами запроса и обработчик ответов. Запишите текст в API, а затем завершите запрос.
let req = https.request (request_params, response_handler);
req.write ("text=" + text);
req.end ();
Выполнение приложения
Выполните сборку проекта и запустите его.
При использовании командной строки выполните приведенные ниже команды для сборки и запуска приложения.
node <FILE_NAME>.js
Пример ответа в формате JSON
Успешный ответ возвращается в формате JSON, как показано в примере ниже.
{
"_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
}
]
}
]
}