Bing リソースを使用してスペルミスのある単語を修正する
重要
LUIS は 2025 年 10 月 1 日に廃止され、2023 年 4 月 1 日から新しい LUIS リソースを作成できなくなります。 継続的な製品サポートと多言語機能のベネフィットを得るために、LUIS アプリケーションを会話言語理解に移行することをお勧めします。
V3 Prediction API で、Bing Spellcheck API がサポートされるようになりました。 要求のヘッダーに Bing 検索リソースのキーを含めることで、アプリケーションにスペル チェックを追加します。 既存の Bing リソースを既に所有している場合はそれを使用できます。または、新規に作成してこのフィーチャーを使用できます。
スペルミスのあるクエリの予測出力の例:
{
"query": "bouk me a fliht to kayro",
"prediction": {
"alteredQuery": "book me a flight to cairo",
"topIntent": "book a flight",
"intents": {
"book a flight": {
"score": 0.9480589
}
"None": {
"score": 0.0332136229
}
},
"entities": {}
}
}
スペル修正は、LUIS ユーザーの発話予測の前に行われます。 応答では、元の発話 (スペルを含む) に対するすべての変更を確認できます。
Bing Search リソースを作成する
Azure portal で Bing Search リソースを作成するには、次の手順に従います。
Azure Portal にログインします。
左上隅の [リソースの作成] を選択します。
検索ボックスに「
Bing Search V7
」と入力し、サービスを選択します。右側に情報パネルが表示され、法的通知などの情報が示されます。 [作成] を選択して、サブスクリプション作成プロセスを開始します。
次のパネルで、サービス設定を入力します。 サービス作成プロセスが完了するまで待ちます。
リソースが作成されたら、左側の [Keys and Endpoint](キーとエンドポイント) ブレードに移動します。
予測要求のヘッダーに追加するキーの 1 つをコピーします。 必要なのは 2 つのキーのうち 1 つだけです。
エンドポイント URL へのキーの追加
スペル修正を適用するクエリごとに、エンドポイント クエリでクエリ ヘッダー パラメーターに渡される Bing Spellcheck リソース キーが必要です。 LUIS を呼び出すチャットボットを使用することも、LUIS エンドポイント API を直接呼び出すこともできます。 エンドポイントがどのように呼び出されたかに関係なく、すべての呼び出しに、スペルの修正が適切に動作するうえでヘッダーの要求に必要な情報が含まれていなければなりません。 mkt-bing-spell-check-key の値をキー値に設定する必要があります。
ヘッダー キー | ヘッダー値 |
---|---|
mkt-bing-spell-check-key |
リソースの [Keys and Endpoint](キーとエンドポイント) ブレードにあるキー |
LUIS への発話のスペルミスの送信
送信する予測クエリに、"その山ままでどのくらいの距離ですか?" などのスペルミスのある発話を追加します。 英語では、
n
が 1 つのmountain
が正しいスペルです。LUIS が、JSON の結果
How far is the mountain?
で応答します。 Bing Spell Check API v7 によってスペル ミスが検出された場合、LUIS アプリの JSON 応答のquery
フィールドには元のクエリが、alteredQuery
フィールドには、LUIS に送信された修正済みクエリが含まれています。
{
"query": "How far is the mountainn?",
"alteredQuery": "How far is the mountain?",
"topScoringIntent": {
"intent": "Concierge",
"score": 0.183866
},
"entities": []
}
スペル ミスの無視
Bing Search API v7 サービスを使用したくない場合は、正しいスペルと正しくないスペルを追加する必要があります。
次の 2 つの解決策があります。
- LUIS が正しいスペルと入力ミスを学習できるように、さまざまなスペルを含んだ発話の例にラベルを付ける。 このラベル付けオプションは、スペル チェックを使用するよりも手間がかかります。
- さまざまなバリエーションの単語を含んだ語句一覧を作成する。 この解決策では、発話の例に含まれる単語のバリエーションにラベルを付ける必要はありません。