Быстрое начало: Использование 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 Search версии 7.

Ресурс с несколькими службами

  • Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
  • Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.

Создание и инициализация проекта

  1. Создайте новый файл 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>';
    
  2. Создайте переменные для параметров поиска и текст, который необходимо проверить:

    1. Назначьте код вашего рынка параметру mkt с помощью оператора =. Код рынка — это код страны или региона, от который выполняется запрос.

    2. 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 ();

Запуск приложения

  1. Выполните сборку проекта и запустите его.

  2. Если вы используете командную строку, используйте следующую команду, чтобы создать и запустить приложение:

    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
            }
         ]
      }
   ]
}

Дальнейшие действия