クイック スタート:Bing Spell Check REST API と Python を使用してスペルをチェックする

警告

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

このクイック スタートを使用して、Bing Spell Check の REST API を呼び出してみましょう。 このシンプルな Python アプリケーションは、API に要求を送信して、一連の修正候補を返します。

このアプリケーションは Python で記述されていますが、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 またはエディターで新しい Python ファイルを作成し、次の import ステートメントを追加します。

    import requests
    import json
    
  2. スペル チェックの対象となるテキスト、サブスクリプション キー、Bing Spell Check エンドポイントに使用する変数を作成します。 次のコードのグローバル エンドポイントを使用するか、Azure portal に表示される、対象のリソースのカスタム サブドメイン エンドポイントを使用することができます。

    api_key = "<ENTER-KEY-HERE>"
    example_text = "Hollo, wrld" # the text to be spell-checked
    endpoint = "https://api.cognitive.microsoft.com/bing/v7.0/SpellCheck"
    

要求のパラメーターを作成する

  1. text をキーとし、対象のテキストを値とする新しいディクショナリを作成します。

    data = {'text': example_text}
    
  2. 要求のパラメーターを追加します。

    1. = 演算子を使用して、mkt パラメーターに市場コードを割り当てます。 市場コードは、要求の送信元となる国/地域のコードです。

    2. & 演算子を使用して mode パラメーターを追加し、スペルチェック モードを割り当てます。 モードは proof (スペルまたは文法のほとんどのエラーが検出されます)、または spell (スペル ミスはほとんど検出されますが、文法エラーの検出数は相対的に少なくなります) のいずれかにすることができます。

    params = {
        'mkt':'en-us',
        'mode':'proof'
        }
    
  3. Content-Type ヘッダーと、Ocp-Apim-Subscription-Key ヘッダーにサブスクリプション キーを追加します。

    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Ocp-Apim-Subscription-Key': api_key,
        }
    

要求を送信して応答を読み取ります。

  1. 要求ライブラリを使用して POST 要求を送信します。

    response = requests.post(endpoint, headers=headers, params=params, data=data)
    
  2. JSON 応答を取得して出力します。

    json_response = response.json()
    print(json.dumps(json_response, indent=4))
    

アプリケーションの実行

コマンド ラインを使用している場合は、次のコマンドを使用してアプリケーションを実行します。

python <FILE_NAME>.py

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

次のステップ