チャットボットは作って終わりじゃない。回答の改善を上げる再学習が大切

この記事を書いた人
北爪 聖也

株式会社pipon代表取締役。 キャリアはADK(広告代理店)でテレビ広告運用をして残業120時間するが、ネット広告では自分の業務がAIで自動化されていることに驚愕する。そこで、機械学習受託会社に転職し、技術力を身につけた後、piponを創業。現在、製薬業界、大手監査法人、EC業界、様々な業界でAI受託開発事業を運営。

はじめに

製薬会社のウェブサイトを見ると、ユーザーからの問い合わせ対応のために、チャットボットを導入している会社があります。ウェブサイトでは基本的な質問から難度の高い質問まで、さまざまな質問に対し、迅速にかつ正確にユーザーに返す必要があります。特に医薬品に関する問い合わせについては、患者の生命にかかわる可能性もあり、精度の高い回答がチャットボットに求められます。
そこで今回は、チャットボットの回答精度をいかに向上させるかを見ていきます。

チャットボットの種類と回答精度向上

チャットボットにはいくつかの種類がありますが、主に、ログ型、選択肢型、辞書型、選択肢型&辞書型の4つに分類できます。選択肢型は事前にシナリオと選択肢を決め、ユーザーが選択肢から聞きたいことを選び、それに対して決められた回答を返す方式ですので、いつも同じ選択肢に対しては同じ回答を返します。従って、最初にいかに正確な回答を登録しておくかがポイントですが、運用開始後に選択肢を見直したり増やしたりすることで、よりユーザーのニーズに近づけられることは可能です。

一方、ログ型はこれまで記録されている会話内容を学習し、ユーザーからの入力に対してその文脈を解釈し、入力にふさわしい回答を返してくれるチャットボットですので、チャットボットに学習させる会話の質と量で回答精度は変わります。
また辞書型は、事前にキーワードと回答の組み合わせを辞書に登録しておき、ユーザーが入力した文章に登録されたキーワードが含まれていれば、辞書から回答を返すので、辞書に登録したキーワードと回答の組合わせの、質と量で回答精度は変わります。
従って、どちらかと言えば、ログ型と辞書型のチャットボットの方が、運用開始後の再学習で、より回答精度が向上する余地がありそうです。

回答精度向上のための具体的な方法

それでは、チャットボットの運用開始後に回答精度を上げるために、具体的に何ができるかを見ていきましょう。

1) ログ型

ユーザーからの幅広い範囲の質問に対応するために、ログ型のチャットボットの採用が進んでいます。ログ型は、事前にユーザーとの会話内容をチャットボットに学習させる必要がありますが、その後の会話からチャットボットが自動で学習を進めるわけではないので、回答精度をさらに上げるためには、人による再学習作業が必要です。ログ型のチャットボットにおける再学習とは、チャットボットに学習させる学習用データの追加や修正を行う作業を指します。
いくら多くのデータを事前にチャットボットに学習させておいても、運用を続けていると、チャットボットが答えられなかったり、誤った回答を返したりすることが起こります。
そこで、チャットボットがうまく回答できなかった質問を人が分析し、返すべき回答を人が作り、そのデータをチャットボットに再学習させる必要があります。
再学習を継続的に行うことで、チャットボットの回答精度は向上しますが、新しい製品を発売したり、新しいサービスを始めたりするなど環境が変化すると、ユーザーからの問い合わせ内容も変化する可能性が高くなります。
従って、このような環境の変化に合わせて、こまめに再学習を行う必要があるため、常に再学習ができる体制を整えておく必要があります。

2) 辞書型

辞書型のチャットボットは、事前にキーワードと回答の組み合わせを、辞書に登録しておく必要がありますが、登録した組み合わせの量がそのまま回答精度につながります。
特に辞書型においては、表記ゆれへの対応が必要となるため、登録すべき組み合わせが非常に多くなります。表記ゆれとは、ある単語が2通り以上の書き方をされることにより、表記にばらつきが生じることを指します。例えば、「組み合わせ、組合わせ、組合せ」のような送り仮名のばらつき、「ねこ、ネコ、猫」のような文字の種類のばらつきなどのことで、これらを同じ意味と認識することができるかがポイントです。1つの質問に対して、1つの回答を登録しておけばよいというものではなく、同じ意味の言い回しを想定して、それらもすべて登録しておく必要があるのです。
したがって、運用開始後もユーザーの問い合わせ内容を監視し、新たな表記ゆれへの対応を常に行うことで、回答精度を上げることができます。

再学習の実践

3項にて再学習の具体的な方法を見ましたが、最終的には、いかに質のよいデータをどれだけ多くチャットボットにインプットするか、に行きつきます。
そこで次に、再学習を実践でどのように進めるかに着目したいと思います。

1) チャットボットの対応範囲を徐々に広げる

再学習には、ユーザーからの問い合わせ内容の分析が必要です。チャットボットを運用しながら回答精度の向上を目指す場合、初めから精度が高くないことがあり、ユーザーの満足度を下げる心配があります。
そのような場合、運用を始める範囲を限定し、徐々にチャットボットの対応範囲を広げるのがよいでしょう。例えば、まずは商品に対する問い合わせのページに限定して運用を始め、回答精度が上がってきたら、商品購入の手続きに範囲を広げるなどです。徐々に精度を高めることで、ユーザーの不満を最小限に抑えることが期待できます。また、対象範囲を広げる際にユーザーに告知し、多くのユーザーをチャットボットに誘導することで、精度向上の機会が増えるでしょう。

2) 有人チャットの併用

有人チャットとは、ユーザーからのチャットでの問い合わせに対して、人が対応することです。コールセンターであれば電話での対応ですが、有人チャットは字の通りチャットでの対応です。
チャットボットの立上げ当初は学習が不十分で、ユーザーからの問い合わせにしっかり対応できないことが考えられます。そこで、チャットボットが答えられない問い合わせに対して、有人チャットで対応するというのも有力な方法です。チャットボットで回答できない場合、コールセンターに誘導すると、ユーザーはすぐに欲しい回答を得られず、不満を感じる可能性があります。そこで、有人チャットでチャットボットをカバーすることでユーザーの満足度を維持しつつ、チャットボットの再学習を進めて回答精度を上げ、徐々に有人チャットの比率を減らしていくことも、再学習の進め方の一つです。

おわりに

チャットボットは、導入したらそこで終わりではありません。チャットボットの回答精度を上げるためには、こまめに再学習を行う必要があります。回答精度を上げることは、ユーザーの満足度に直結するので、再学習を軽視できません。
チャットボット運用時には、運用後の再学習も見据えた体制作りを進めましょう。

参考サイト

AIチャットボット〜教師データの質が回答精度に及ぼす影響〜

学ぼう、チャットボットの基本。導入時の課題や継続利用のポイントまとめ