次の方法で共有


クイック スタート: Bing Spell Check REST API と Node.js を使用してスペル チェックを行う

警告

2020 年 10 月 30 日、Bing Search API は Azure AI サービスから Bing Search Services に移行されました。 このドキュメントは参考用に提供されています。 更新されたドキュメントについては、Bing search API のドキュメントを参照してください。 Bing検索用の新しい Azure リソースを作成する手順については、「Azure Marketplace を使用して Bing Search リソースを作成するを参照してください。

このクイック スタートを使用して、Bing Spell Check REST API を初めて呼び出します。 この単純な JavaScript アプリケーションは、API に要求を送信し、推奨される修正の一覧を返します。

このアプリケーションは JavaScript で記述されていますが、API はほとんどのプログラミング言語と互換性のある RESTful Web サービスです。 このアプリケーションのソース コードは、GitHubで入手できます。

前提条件

Azure リソースを作成する

次のいずれかの Azure リソースを作成して、Bing Spell Check API の使用を開始します。

Bing Spell Check リソース

  • リソースを削除するまで、Azure portal から使用できます。
  • Free 価格レベルを使用してサービスを試し、後で運用環境用の有料レベルにアップグレードします。
  • Bing Spell Check API は、Bing Search v7 リソースの一部のレベルでも提供されます。

マルチサービス リソース

  • リソースを削除するまで、Azure portal から使用できます。
  • 複数の Azure AI サービスで、アプリケーションに同じキーとエンドポイントを使用します。

プロジェクトを作成して初期化する

  1. お気に入りの IDE またはエディターで新しい JavaScript ファイルを作成します。 厳密さを設定し、httpsが必要です。 次に、API エンドポイントのホスト、パス、およびサブスクリプション キーの変数を作成します。 次のコードでグローバル エンドポイントを使用することも、リソースの Azure portal に表示される カスタム サブドメイン エンドポイントを使用することもできます。

    '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,
   }
};

応答ハンドラーを作成する

API から JSON 応答を受け取り、出力する response_handler という関数を作成します。 応答本文の変数を作成します。 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);
    });
};

要求を送信する

要求パラメーターと応答ハンドラーで https.request() を使用して API を呼び出します。 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
            }
         ]
      }
   ]
}

次のステップ