今回はAzureで簡単にチャットボットが出来るQnA Makerを試してみました。
設定手順
QnA serviceにアクセス
QnA Makerにアクセスすると、画像のような画面が出るのでこの中の上部にある「Create a knowledge base」をクリックします。あとはステップ1から5までを順に行います。
ステップ1
Azureにアクセスし、新たにAzure QnA serviceを作成します。(すでに作成している場合はスキップできます)
今回はお試しなので、Management pricing tierとSearch pricing tireはフリープランを選択しました。リソースグループは新規で追加もできますし、既存のリソースグループから選択もできます。今回はサービス名を「testbot」とします。
ステップ2
作成したら、Create a knowledge baseに戻りページをリフレッシュすると、作成したQnA サービスの名前をステップ2で選択出来るようになるので、先ほど作成したQnAサービスとknowledge baseをコネクトします。

ステップ3
これから読み込むknowledge baseの名前を決めます。とりあえず、testkbとしましょう。名前はいつでも変更できます。
ステップ4
学習させるデータを読み込みます。サイトのFAQのリンクを追加することもできますし、自分で用意したFAQのデータをインポートできます。また、自分のファイルを使用する場合は.tsv, .pdf, .doc, .docx, .xlsxのいずれかに対応しています。(.csvも使えるようになってほしい...)。また、このknowledge baseに新たに自分でFAQの組み合わせを足したり編集することもできます。
というわけで今回はせっかくなのでマイクロソフトによく寄せられる質問を教師データにします。
ステップ5
それでは作成したデータを学習させます。「Create your KB」をクリックすればデータベースを学習させます。

学習が終わると、質問と回答の一覧が表示されます。

実際に試してみた
上の画像のTestボタンをクリックすると、実際に学習させたデータでやり取りを出来るのか試せます。実際にやってみました。
このようにプロダクトキーと入力すると近い回答を入力します。

文章で入力すると、より的確な回答を出力できます。(当たり前のことですが…)
あとはknowledge baseのページからPublishタブを選んでパブリッシュを行うと、HTTP requestが生成されます。これで自分で学習させたデータを使ってチャットボットを作ることができます。