このページの本文へ

前へ 1 2 3 次へ

誰でもAIが使える!「Azure Cognitive Services」をみんなで学ぶ 第2回

FAQ(よくある質問)を登録すればチャットボットが質問応答に対応する

Azureの質問応答ボットサービス「QnA Maker」を理解する

2021年04月22日 08時00分更新

文● 堀 広三朗/FIXER 編集●大塚/TECHASCIIjp

  • この記事をはてなブックマークに追加
  • 本文印刷

回答精度を高める「アクティブラーニング」

 ここからは、QnAMakerの回答精度を高める方法を紹介していきます。

 ボットをもっと賢くしようと、QnA Makerに質問と回答をどんどん追加していっても、回答精度の向上にはなかなかつながりません。ユーザーからの質問形式は多種多様であり、あらゆるパターンの質問を考え、追加していくことは非常に困難だからです。

 ここでQnA Makerの「アクティブラーニング」という機能を利用すると、システムが「ナレッジベースに追加したほうがいい質問」を提案してくれるようになります。

 たとえば、QnA Makerがユーザーから受けた質問の意図を理解できず回答できなかった場合、通常はそのやり取りのログやテレメトリを見て、ナレッジベースを更新するかどうかを検討しなければなりません。アクティブラーニングを使えば、システムが必要な情報を自動収集してくれますので、管理者はシステムからの提案を採用するかどうかだけを検討して、必要であればナレッジベースを更新すればよくなります。

 このアクティブラーニングには、管理者に対する2種類のフィードバック機能があります。

暗黙的なフィードバック

 QnAMakerでは回答として正しいかどうかを「Confidence Score」というスコアで計算しています。ユーザーからの質問に対して複数の回答候補があり、それぞれのConfidence Scoreが非常に近しい場合、ユーザーからの質問をフィードバックとして提案してくれます。簡単に言えば、「今回は回答1を返したけど、実際には回答2、回答3の可能性もありますよ」と管理者に教えてくれる機能です。

明示的なフィードバック

 今度は、ユーザーからの質問に対して正しく回答できるバリエーションがほとんどなかった場合を考えてみましょう。この場合は「あなたの質問は次の3つのうちどれに近いですか? 選択してください」といった形で、ユーザーに質問の意図を聞き返します。これはAIの学習(トレーニング)を行うTrain APIを用いて実現されており、ユーザーの質問文や選択した意図は、フィードバックとしてアクティブラーニングの学習要素に追加されます。

 このように、QnAMakerで作成したチャットボットは学習をさせればさせるほど正確な回答をすることができるようになります。逆に言うと、ある程度の情報がないと正しく回答することができません。さらに、AIは人間のように臨機応変かつ柔軟な対応をすることはできません。機械学習(今回で言うところのアクティブラーニング)を繰り返すことで、知識を蓄え、対応の幅を広げることができます。

■今回のポイントまとめ!

  • AIを活用すると人間がする仕事を減らすことができる
  • 豊富な知識や経験がなくてもAIを持ったチャットボットが簡単に作成できる
  • AIには機械学習を繰り返すことで賢くなっていく

FIXER Inc. 堀 広三朗

 (ほり こうざぶろう)楽しいを追及して!日々前進していきます!

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事