【AIチャットボットのメンテナンス方法を伝授】<2>回答精度向上


前回の記事でチャットボットを使い続けるにはメンテナンスが大切だという話をさせていただきましたが、今回は具体的に目的別のメンテナンス、またメンテナンスの効果について解説します。

前回の記事はこちら



今回は回答精度向上を具体的に解説していきます。


ログの分析において、まず行わなければならないのは、ユーザーが入力した質問に対して有効か無効かを分析することです。


AIチャットボットでは学習データのバランスがとても重要で、無効な質問はAIの機械学習にとって必要のないデータのため、除去をしていきます。


しかし、この分析を自動で行うことは現状では難しく、人の目で確認するのが一般的です。


質問の有効無効分析ポイント

ここで、無効質問として判断が難しいものもあります。

例えば、

誤字

(具体的には「人事異動」の異動が正しいが、場所を移すという意味の移動として誤変換されたデータが入っていたとき)

雑談(「こんにちは」などのあいさつも含む)

単語(退職)、単語続き(退職 希望 手続き とスぺースなどで一続きになった文章)

がそれに該当します。

誤字に関しては多くのユーザーが入力しない場合、無効質問として振分をして問題ないと思いますが、多くのユーザーが入力しそう、かつ出現頻度が高い質問に対しては誤字でも学習データに追加します。

雑談に関しては、キャラクター性を持ったチャットボットであれば、有効質問として振分ける。

または、雑談に関するFAQ追加を検討すると利用率向上につながります。


単語や単語続きのログに関しては、その単語がこのチャットボットに必要なキーワードか

または、単語だけでも質問の意図がわかるかどうかで判断するとよいかと思います。


もし有効か無効かの判断が難しい場合は、「「退職」を含む回答は下記です」のように

単語が含まれる選択肢を提示する。

または、「もう一度別の言い方で入力してみてください」など、違う言い回しで再検索してもらえるよう促す、という方法が良いでしょう。

上記のように有効無効、というのは使い方によって異なることが多いため、振り分ける作業を行うスタッフ間で基準を共有しておくことが大切です。

そうしなければ、あるスタッフでは有効だが、違うスタッフでは無効と振り分けてしまうなど、一貫性がなくなってしまいます。


ログの分類(グルーピング)

有効質問かつ誤った回答に導かれたログに対し、原因を分析しグルーピングを行ないます。

誤った回答となった原因については、おおむね下記の5つに分類されます。

それでは、この5パターンごとのチューニング方法について紹介します。


①学習データにキーワードとなる 単語が存在しない場合

まず、そもそもキーワードが学習データにないパターン。

このパターンの基本的な対応は、キーワードとなる単語を含んだ質問のバリエーションを作成し、学習データに追加することで精度の向上が見込めます。


また、最近のAIチャットボットプラットフォームには類義語を登録できる辞書機能がついているものが多くあります。

そのため、キーワードの言い回しだけ学習データに存在しない場合は、辞書登録をすることで簡単に精度の向上が見込めます。

この時、他のFAQにも同じキーワードが存在する場合はその回答に引き寄せられる可能性がありますので、その点は気を付けなければいけません。



②学習データに共通する言い回しが含まれる場合

次は、学習データに共通した言い回しが含まれるため、誤った回答に引き寄せられたパターンです。

誤った回答となった質問で使用しているキーワードと共通の言い回しを含めた質問を

正しい回答の学習データに追加し、学習データの量を増やすことで、精度の向上が見込めます。

例えば、「賞与は給与口座に入るのでしょうか」という質問をしたら「給与口座変更」の回答が表示されたとします。

正しい回答の「賞与の入金」の学習データと 

誤った回答の「給与口座変更」の学習データにて、キーワードとなる「給与口座」の数を見ると 誤った回答の学習データの方が多くあります。

このような場合、正しい回答の学習データにキーワードの「給与口座」を含んだ学習データを追加します。



③質問文がどちらの回答にも分類でき、類似回答が多い場合

さて、3つ目は質問文がどちらの回答にも分類でき、似た回答が多いパターンです。

それぞれの回答に対する質問では、 意図がほぼ同一となるため、相互に引き合いやすい回答であると考えられます。


例えば、「産休の取り方」という回答と「育休の取り方」という回答が存在している場合、

「妊娠をしたので、お休みが欲しい」という質問だとどちらの回答にも分類することができます。

その他にも、妊娠/育児に関する休暇についての回答が多い場合は、それらを選択肢として設定することで精度の向上が見込めます。


イメージとしては「妊娠/育児については、下記から選んでください」という大カテゴリーが表示され、その選択肢に「産休の取り方」「育休の取り方」があるという感じです。



④質問文がどちらの回答にも分類でき、類似回答が少ない場合

4つは、こちらも それぞれの回答に対する質問では、意図がほぼ同一となるため、相互に引きあいやすい回答であるパターンです。

3つ目のパターンと何が違うかというと 似た回答が少ない という点です。

 引きあっている回答同士を統合し、一つの回答とすることで精度の向上が見込めます。


⑤該当する回答がなく、類似する質問が多い場合

最後のパターンは現時点で存在していない回答について、質問が多くみられる場合は、新規回答の追加を検討します。


最近であれば、テレワークに関する(在宅勤務の手続きについて教えてください など)チャットボット導入時には想定していなかった問い合わせが増えている場合ですね。


以上のように、どうして誤った回答が導かれたのか、分析結果をもとに、新規追加する回答について学習データを作成していきます。


ここで追加する学習データの量は、使用しているAIやプラットフォーム、既存の学習データの量により異なります。


ここまでが、回答精度を上げるための工程になります。


おわかりいただけましたでしょうか?

このように多くの工程を経て回答精度をあげていきます。


これ以外にもメンテナンスでおさえる点が2点あります。

次回は、そちらをご紹介していきますのでぜひご覧ください。