Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Bot Framework のサンプルの QnA Maker の Active Learning をデプロイする方法

$
0
0

最近追加された Active Learning ですが簡単に言うと利用状況を見て、この QA にはこんな質問追加したらいいんじゃないの?っていうのをポータルに出してくれるみたいですね。

docs.microsoft.com

暗黙的フィードバックと明示的フィードバックがあるみたいで明示的フィードバックとかを送るには Train API 叩く必要があるのかな。

ここらへんを叩くためのサンプルが以下になります。

github.com

曖昧な回答が複数件帰ってきたらユーザーに選択肢を出してくれて、ユーザーが質問を選択すると、その内容が Train API に送られます。

こいつをクローンしてデプロイするには以下の手順を踏めば動きました。

  • QnA Maker を適当に準備して発行しておく。EndpointKey とかはメモっておく
  • qnamaker-activelearning.bot の qna の定義の各種設定を自分の QnA Maker のものに書き換える
  • Azure にボットチャンネル登録とWeb Appを準備
  • production の endpoint を追加して上記で作成したものを設定する
  • Startup.cs が production のエンドポイントの定義を探すようになってないので以下のように追加する
privatereadonlybool _isProduction;
public Startup(IHostingEnvironment env)
{
    _isProduction = env.IsProduction();
    // 省略
}

publicvoid ConfigureServices(IServiceCollection services)
{
    // 省略

    services.AddBot<QnAMakerActiveLearningBot>(options =>
    {
        // 省略// Retrieve current endpoint. ここに production のときの考慮のコードも追加
       var service = botConfig.Services.Where(s => s.Type == "endpoint"&& s.Name == (_isProduction ? "production" : "development")).FirstOrDefault();
        // 省略
    });
    // 省略
}

あとはデプロイしてお好きなチャンネルから動作確認で OK


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>