Краткое руководство. Проверка орфографии с помощью 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.

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

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

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