質問応答について調べる
注 このラボを完了するには、管理者アクセス権が与えられている Azure サブスクリプションが必要です。
カスタマー サポート のシナリオでは、Web サイトのチャット ウィンドウ、電子メール、または音声インターフェイスを使用して、よく寄せられる質問を解釈して回答できるボットを作成するのが一般的です。 ボット インターフェイスの基になるのは、ボットが適切な応答を検索できる質問と適切な回答のナレッジ ベースです。
カスタム質問応答ナレッジ ベースを作成する
言語サービスの質問応答機能を使用すると、質問と回答のペアを入力するか、既存のドキュメントまたは Web ページからナレッジ ベースをすばやく作成できます。 その後、組み込みの自然言語処理機能を使用して、質問を解釈し、適切な回答を見つけ出します。
-
Azure portal (https://portal.azure.com) を開き、Microsoft アカウントでサインインします。
- [+リソースの作成] ボタンをクリックして、”言語サービス” を検索し、次の設定を使用して言語サービス リソースを作成します。 [リソースの作成を続行する] 、 [追加機能の選択] の順にクリックします。**
- 既定の機能: “既定の機能はそのままにしておきます” **
- カスタム機能: “カスタム質問応答を選択します”。**
- [言語の作成] ページで、次の設定を指定します。
- [サブスクリプション]: お使いの Azure サブスクリプション。
- [リソース グループ]: 既存のリソース グループを選択するか、新しいリソース グループを作成します。**
- 名前: “言語リソースの一意の名前”。**
- 価格レベル: S (1 分あたり 1,000 通話)
- Azure Search のリージョン: “使用可能な任意の場所”。**
- Azure Search の価格レベル: Free F (3 インデックス) (“このレベルを使用できない場合は、Standard S (50 インデックス) を選択します”)**
- このボックスをオンにすることで、責任ある AI 通知の条項を承認し、同意したことを確認します: “選択済み”。**
注 無料レベルの Azure Cognitive Search リソースを既にプロビジョニングしてある場合は、クォータにより、別のリソースを作成できない場合があります。 その場合は、Free F 以外のレベルを選択します。
-
[確認と作成]、[作成] の順にクリックします。 カスタム質問応答ナレッジ ベースをサポートする言語サービスがデプロイされるのを待ちます。
-
新しいブラウザー タブで Language Studio ポータル (https://language.azure.com) を開き、ご利用の Azure サブスクリプションに関連付けられている Microsoft アカウントを使ってサインインします。
- 言語リソースの選択を求めるメッセージが表示されたら、次の設定を選択します。
- Azure ディレクトリ: お使いのサブスクリプションを含む Azure ディレクトリ。
- Azure サブスクリプション: ご利用の Azure サブスクリプション
- 言語リソース: 先ほど作成した言語リソース。
- 言語リソースの選択を求めるメッセージが表示されない場合、原因として、お使いのサブスクリプションに複数の言語リソースが存在していることが考えられます。その場合は、次の操作を行います。
- ページの上部にあるバーで、[設定] (⚙) ボタンをクリックします。
- [設定] ページで、[リソース] タブを表示します。
- 作成したばかりの言語リソースを選択し、[リソースの切り替え] をクリックします。
- ページの上部で、[Language Studio] をクリックして、Language Studio のホーム ページに戻ります。
-
Language Studio ポータルの上部にある [新規作成] メニューで、[カスタム質問応答] を選択します。
-
[リソース (お使いのリソース) の言語設定を選択する] ページで、 [このリソースでプロジェクトを作成するときに言語を選択する] を選択し、 [次へ] をクリックします。**
- [基本情報の入力] ページで、次の詳細を入力し、[次へ] をクリックします。
- 言語リソース: “お使いの言語リソースを選択します”。**
- Azure Search リソース: “お使いの Azure Search リソースを選択します”。**
- 名前: MargiesTravel
- 説明: 簡単なナレッジ ベース
- ソース言語: 英語
- 回答が返されない場合の既定の回答: 回答が見つかりませんでした
-
[確認と終了] ページで、[プロジェクトの作成] をクリックします。
-
[ソースの管理] ページが表示されます。 [+ソースの追加] をクリックし、[URL] を選択します。
- [URL の追加] ボックスで、 [URL の追加] をクリックします。 次のように入力し、 [すべて追加] を選択します。
- URL 名: MargiesKB
- URL:
https://raw.githubusercontent.com/MicrosoftLearning/AI-900-AIFundamentals/main/data/qna/margies_faq.docx
- ファイル構造の分類: “自動検出”**
ナレッジ ベースを編集する
ナレッジ ベースは、FAQ ドキュメントの詳細と事前定義の応答に基づいて作成されます。 カスタムの質問と回答のペアを追加して、これらを補完することができます。
-
左側のパネルで、[ナレッジ ベースの編集] をクリックします。 次に、[+ 質問のペアの追加] をクリックします。
-
[質問] ボックスに 「
Hello
」と入力し、 [変更の送信] をクリックします。 -
[代替フレーズの追加] をクリックし、「
Hi
」と入力し、 [変更の送信] をクリックします。 -
[回答とプロンプト] ボックスに「
Hello
」と入力します。 [ソース] は [編集] のままにしておきます。 -
[送信] をクリックします。 次に、ページの上部にある [変更の保存] をクリックします。 ボタンを表示するには、ウィンドウのサイズを変更しなければならない場合があります。
ナレッジ ベースのトレーニングとテスト
ナレッジ ベースが作成されたので、それをテストできます。
-
ナレッジ ベースをテストするには、ページの上部にある [テスト] をクリックします。
-
テスト ペインの下部にメッセージ 「Hi」 を入力すると、 応答「Hello」が返されるはずです。
-
テスト ペインの下部に フライトを予約したい というメッセージを入力します。 FAQ から適切な応答が返されるはずです。
注 応答には、”短い回答” とより詳細な “回答文節” が含まれています。回答文節には、最も一致する質問の FAQ ドキュメントの全文が表示され、短い回答は文節からインテリジェントに抽出されます。** ** テスト ペインの上部にある [短い回答を表示する] チェック ボックスを使用して、応答から短い回答を得るかどうかを制御できます。
-
「予約をキャンセルする方法は?」などの別の質問を試してみてください。
-
ナレッジ ベースのテストが完了したら、[テスト] をクリックしてテスト ペインを閉じます。
ナレッジ ベース用のボットを作成する
ナレッジ ベースでは、クライアント アプリケーションが何らかの種類のユーザー インターフェイスを介して質問に回答するために使用できるバック エンド サービスが提供されます。 一般に、これらのクライアント アプリケーションはボットです。 ナレッジ ベースをボットで使用するには、HTTP を使用してアクセスできるサービスとして公開する必要があります。 次に、Azure Bot Service を使用して、ナレッジ ベースを使用してユーザーの質問に回答するボットを作成およびホストできます。
-
Language Studio ページの左側にある [ナレッジ ベースのデプロイ] をクリックします。
-
ページの上部にある [デプロイ] をクリックします。 プロジェクトを配置するかどうかを確認するダイアログ ボックスが表示されます。 [デプロイ] を選択します。
-
サービスがデプロイされたら、 [ボットの作成] をクリックします。 これにより、Azure portal が新しいブラウザー タブで開き、お使いの Azure サブスクリプションで Web アプリ ボットを作成できます。
-
Azure portal で Web アプリ ボットを作成します。 (テンプレートのソースが信頼できるかどうかをチェックする警告メッセージが表示される場合があります。 そのメッセージに対してアクションを実行する必要はありません。) 次の設定を更新して続行します。
- プロジェクトの詳細
- [サブスクリプション]:”ご自身の Azure サブスクリプション”
- [リソース グループ] : 言語リソースを含むリソース グループ
- インスタンスの詳細
- リソース グループの場所: “言語サービスと同じ場所“。
- Azure Bot
- [ボット ハンドル] : “ボットの一意の名前” (“事前に設定済み”)
- [料金レベルの選択]
- 価格レベル: Free (F0) ( [プランの変更] の選択が必要な場合があります)
- Microsoft アプリ ID
- 作成の種類: “ [新しいユーザー割り当てマネージド ID の作成] を選択します”
- プロジェクトの詳細
- [次へ: Web アプリ >] を選択して、設定の更新を続行します。
- App Service
- [アプリ名]: ボット ハンドルと同じ名前に .azurewebsites.net が自動的に付加されます
- [SDK 言語]: C# または Node.js を選択します
- App Service プラン
- 作成の種類: “ [新しい App Service プランの作成] を選択します”
- アプリ設定
- 言語リソース キー: “言語リソース キーをコピーし、ここに貼り付ける必要があります。 “
メモ 言語リソース キーに移動するには、https://portal.azure.com を開きます。 ホーム ページで [リソース グループ] をクリックして、言語リソースを作成したリソース グループを見つけます。 言語リソースを選択し、左側のメニューに移動します。 次に、 [キーとエンドポイント] に移動します。 キーのいずれかをコピーします。
-
- 言語プロジェクト名: MargiesTravel
- 言語サービス エンドポイントのホスト名: “言語サービス エンドポイントを使用して事前に設定されています”
- 言語サービスの詳細
- サブスクリプション ID: “サブスクリプション ID を使用して事前に設定されています”
- リソース グループ名: “リソース グループ名を使用して事前に設定されています”
- アカウント名: “リソース名を使用して事前に設定されています”
- App Service
-
[確認および作成] を選択します。
-
ボットが作成されるのを待ちます (待っている間、右上にベルのような通知アイコンが表示されます)。 次に、デプロイが完了したという通知で、[リソースに移動] をクリックします (または、ホーム ページで リソース グループ をクリックし、Web アプリ ボットを作成したリソース グループを開いてクリックします)。
-
ボットの左側のペインで、 [設定] を探し、 [Web チャットでテストする] をクリックして、ボットが Hello and welcome! というメッセージを表示するまで待ちます。(初期化には数秒かかることがあります)。
- テスト チャット インターフェイスを使用して、ボットがナレッジ ベースから期待どおりに質問に回答することを確認します。 たとえば、* 「ホテルをキャンセルしたいです」* を送信してみます。
ボットを使ってみます。 FAQ にある質問に対しては正確に回答できるはずですが、トレーニングされていない質問を解釈する機能は限られています。 いつでも Language Studio ポータルを使用して、ナレッジベースを編集し、改善して、再公開することができます。
詳細情報
- 質問応答サービスの詳細については、こちらのドキュメントを参照してください。
- Microsoft Bot Service の詳細については、Azure Bot Service のページを参照してください。