クイック スタート: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 で入手できます。
前提条件
- Python 3.x
Azure リソースを作成する
次のいずれかの Azure リソースを作成して、Bing Spell Check API の使用を開始します。
- ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
- Free 価格レベルを使ってサービスを試用し、後から運用環境用の有料レベルにアップグレードします。
- Bing Spell Check API は、Bing Search v7 リソースのいくつかのレベルでも提供されています。
- ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
- 複数の Azure AI サービス全体で同じキーとエンドポイントをアプリケーションに使用します。
アプリケーションを初期化する
好みの IDE またはエディターで新しい Python ファイルを作成し、次の import ステートメントを追加します。
import requests import json
スペル チェックの対象となるテキスト、サブスクリプション キー、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"
要求のパラメーターを作成する
text
をキーとし、対象のテキストを値とする新しいディクショナリを作成します。data = {'text': example_text}
要求のパラメーターを追加します。
=
演算子を使用して、mkt
パラメーターに市場コードを割り当てます。 市場コードは、要求の送信元となる国/地域のコードです。&
演算子を使用してmode
パラメーターを追加し、スペルチェック モードを割り当てます。 モードはproof
(スペルまたは文法のほとんどのエラーが検出されます)、またはspell
(スペル ミスはほとんど検出されますが、文法エラーの検出数は相対的に少なくなります) のいずれかにすることができます。
params = { 'mkt':'en-us', 'mode':'proof' }
Content-Type
ヘッダーと、Ocp-Apim-Subscription-Key
ヘッダーにサブスクリプション キーを追加します。headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Ocp-Apim-Subscription-Key': api_key, }
要求を送信して応答を読み取ります。
要求ライブラリを使用して POST 要求を送信します。
response = requests.post(endpoint, headers=headers, params=params, data=data)
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
}
]
}
]
}