誰でもAIが使える!「Azure Cognitive Services」をみんなで学ぶ 第2回
FAQ(よくある質問)を登録すればチャットボットが質問応答に対応する
Azureの質問応答ボットサービス「QnA Maker」を理解する
2021年04月22日 08時00分更新
回答精度を高める「アクティブラーニング」
ここからは、QnAMakerの回答精度を高める方法を紹介していきます。
ボットをもっと賢くしようと、QnA Makerに質問と回答をどんどん追加していっても、回答精度の向上にはなかなかつながりません。ユーザーからの質問形式は多種多様であり、あらゆるパターンの質問を考え、追加していくことは非常に困難だからです。
ここでQnA Makerの「アクティブラーニング」という機能を利用すると、システムが「ナレッジベースに追加したほうがいい質問」を提案してくれるようになります。
たとえば、QnA Makerがユーザーから受けた質問の意図を理解できず回答できなかった場合、通常はそのやり取りのログやテレメトリを見て、ナレッジベースを更新するかどうかを検討しなければなりません。アクティブラーニングを使えば、システムが必要な情報を自動収集してくれますので、管理者はシステムからの提案を採用するかどうかだけを検討して、必要であればナレッジベースを更新すればよくなります。
このアクティブラーニングには、管理者に対する2種類のフィードバック機能があります。
暗黙的なフィードバック
QnAMakerでは回答として正しいかどうかを「Confidence Score」というスコアで計算しています。ユーザーからの質問に対して複数の回答候補があり、それぞれのConfidence Scoreが非常に近しい場合、ユーザーからの質問をフィードバックとして提案してくれます。簡単に言えば、「今回は回答1を返したけど、実際には回答2、回答3の可能性もありますよ」と管理者に教えてくれる機能です。
明示的なフィードバック
今度は、ユーザーからの質問に対して正しく回答できるバリエーションがほとんどなかった場合を考えてみましょう。この場合は「あなたの質問は次の3つのうちどれに近いですか? 選択してください」といった形で、ユーザーに質問の意図を聞き返します。これはAIの学習(トレーニング)を行うTrain APIを用いて実現されており、ユーザーの質問文や選択した意図は、フィードバックとしてアクティブラーニングの学習要素に追加されます。
このように、QnAMakerで作成したチャットボットは学習をさせればさせるほど正確な回答をすることができるようになります。逆に言うと、ある程度の情報がないと正しく回答することができません。さらに、AIは人間のように臨機応変かつ柔軟な対応をすることはできません。機械学習(今回で言うところのアクティブラーニング)を繰り返すことで、知識を蓄え、対応の幅を広げることができます。
(ほり こうざぶろう)楽しいを追及して!日々前進していきます!
この連載の記事
-
第6回
TECH
「Text Analytics」で業務日報のテキストを感情分析してみよう! -
第5回
TECH
「Custom Vision Service」と「Power Apps」でAIアプリを完成させる -
第4回
TECH
Custom Vision Serviceで「衣類を画像分類するモデル」を作る -
第3回
TECH
独自の画像識別モデルを作成できる「Custom Vision Service」とは -
第1回
TECH
AIと「Azure Cognitive Services」の基本を理解する - この連載の一覧へ