• home
  • >
  • sAI Chat
  • >
  • AIチャットボットが会話して学習する仕組みを非エンジニアにもわかりやすく解説します!
  • AIチャットボットが会話して学習する仕組みを非エンジニアにもわかりやすく解説します!

    最終更新日:2019年6月6日

    このブログはAIを活用したチャットボット『sAI Chat』を提供する、株式会社サイシードが作成しています。
    最新の事例や企業での活用方法を紹介していきますので、ぜひ参考にしてみてください!

    代表 中村
    こんにちはサイシード代表の中村です。
    先日今流行の『名探偵ピカ〇ュウ』を見てまいりました。中身がいわゆるおっさんでも、見た目が可愛ければ全て許される、というのがよく分かりました。
    最近可愛い見た目を目指して『しわしわのピ〇チュウ』のマネをインターン生の前でしているのですが、先日「代表、なんか拾い食いしてお腹でも壊したんですか?」と言われてしまいました。
    見た目はキュート、頭脳はクールな代表を目指しているんですが、なかなか難しいですね。
    今回は外からでは、中身の仕組みが分かりづらいチャットボットについて詳しく解説させて頂きます。この記事は5分程度で読める記事ですので、是非最後までご覧くださいね!また、記事の最後では「2019年度版『チャットボットベンダー』徹底比較集」をプレゼントいたしますので、是非ご活用下さい!

    今回はチャットボットを大きく『人工知能ありのチャットボット(=AIチャットボット)』と、『人工知能のないチャットボット(=人工無能チャットボット)』の2種類に分けて、それぞれの会話の仕組みと、AIチャットボットの学習方法について紹介していきます。

    学習においては、機械学習やディープラーニングなど、AIの技術的な面についてもわかりやすく説明しますので、是非最後までお付き合いくださいね!

    チャットボットが会話する仕組み

    次に、これらの2つのチャットボットがそれぞれどんな仕組みでユーザーと会話するかについて解説します。

    AI無しチャットボットはシナリオに沿って会話する

    人工無能チャットボットの会話の仕組みは「シナリオ型」あるいは「ルールベース型」とも呼ばれています。
    具体的な回答の仕組みは次の2つです

    ①条件分岐
    ユーザーにツリー状の選択肢を選択してもらいながら、会話を進めていく方法です。ここに学習という概念は存在しませんが、この選択肢による条件分岐を指す「シナリオ(ルール)」の改善をすることで回答精度が向上します

    ②キーワード応答
    質問文に、(1つまたは複数の)特定キーワードが含まれている場合、回答を出すという仕組みです。表記ゆれなどの単語の違いや異なる言い回しなど、複雑な条件は設定できないので、回答できる幅は数十パターンになります。

    AIありチャットボットはキーワード応答を大幅に強化したもの

    AIが搭載されたチャットボットは、先述の「①条件分岐」という回答法に加え、ユーザーが入力した自由な文章による質問(自然文)を分析し、理解することができます。
    これは、質問文を単語に分けていき、この単語が用意されたFAQの各質問文とどの程度一致しているか計算し、一致度が高いFAQの回答文を出力しています。

    この際に、単純なキーワード応答とは違い、
    ・似た意味の単語を理解できるので、異なる聞き方でもヒットする
    ・単語の完全一致ではなく、一致度を計算しているので、0件ヒットがない
    ので、ユーザーの質問に対し適切な回答を案内できる確率が高まります

    AIありのチャットボットはAIなしに比べ機能面では完全に上位互換です。ただし、何が何でもAIありを選べば良いということではありません
    当然費用が大幅に変わってくるので、人工無能のチャットボットで対応できるに越したことはありません。
    人工無能で対応できるのは、1つの商品しか扱わないECサイトなど、ユーザーからの問い合わせのパターンが数十件程度の場合にはわざわざAIありの人工知能を導入する必要はありません。
    一方で、取り扱う商品が多い、あるいは問い合わせ内容が多岐にわたる場合には、AIチャットボットを検討することをオススメします。

    AIチャットボットが学習する仕組み

    AIチャットボットが様々な質問を理解して、適切な回答ができる裏には、機械学習やディープラーニングなどのアルゴリズムに支えられている「学習」というプロセスが有り、その「学習」には人間の介入が必要です。勝手に賢くなっていく訳ではないんですね。
    ここからは、AIチャットボットが学習する仕組みについて解説していきます。

    FAQの登録

    AIが質問(FAQなど)に回答するには、まず人間の手で質問と回答をあらかじめ入力しておく必要があります。そして様々な種類の質問に答えられるように、各質問文にレパートリーを登録する必要があります。

    上記の画像のように、1つの質問文につき精度が高まるまでに登録する必要があるレパートリーは200~300件程度です。実際に顧客に提供する前に、ある程度の学習を済ませておくと、使ってもらいやすくなります。

    回答への評価

    続いて導入後の運用で必要な作業です。
    新しい質問文に対してAIが回答を出したあと、それが正しかったか間違っていたか、評価する必要があります。「正しかった」と押してあげることで、先程と同じようにチャットボットが提示した質問文のレパートリーとして登録されます。
    「正しくなかった」が押された場合、学習は走りません

    一般にAIの学習については、この「回答への評価」を利用するユーザーに任せるケースが多いので、自動で学習しているように見えているだけです。
    (ユーザーに評価を任せるやり方は、実際はあまり良くないのですが・・・)

    FAQの追加登録

    先程「正しくなかった」が押された場合、学習は走りませんと述べました。しかし、ここで何もしなければAIは「学習」しません。
    ここでは、オペレーターが正しいFAQのレパートリーに登録し直してあげるというフローが必要です。
    また、今までのFAQに登録されていない新しい質問が来た場合、新たな回答データを追加する必要があります。これによって、チャットボットが対応できる質問の幅がどんどん広がっていくわけです。

    チャットボットの裏のアルゴリズムはどうなってる?

    最後に、AIチャットボットが質問文の一致スコアを計算するロジックについて触れておきたいと思います。
    基本的な考え方として、質問文の単語をFAQが含んでいたら「加点」をしていくと考えていくとわかりやすいです。

    例えば、先程の「PC/の/電源/が/入らない」という質問文を例に取り、次の2つのFAQとの一致度を計算してみましょう。

    A,パソコン/が/起動/しない
    B,プレステ/の/電源/が/入らない

    Aには、パソコン=PCが入っているので1点
    Bには、電源と入らないが入っているので2点
    という具合に、値が計算されていきます。

    ただし、人間が見ればAの方が一致度が高いのに、このままだとBの方がスコアが高くなります。
    このようなスコアの差をどのように乗り越えているのでしょうか?

    一見難しいように見えますが、これは単語毎に重要度順に点数付けをしている、というシステムになっています。
    具体的には、今回は「パソコン」に関するトラブルなので重要度が高いため、重み1、「電源」はまぁまぁ重要なので0.5、「入らない」はあまり重要でないから、重み0.3というように加算しています。

    そうすると、
    Aは、1点
    Bは、0.3点+0.5点=0.8点
    となり、Aの方が点数が高く、結果的にAIは正しい回答をユーザーに表示できるという仕組みになります。

    機械学習とは

    機械学習が便利なところは、データが増えていくに従ってこの単語の重みを自動的に調整してくれる点です。

    上記の画像の左側のように、単語の重要度は登場するFAQに含まれる単語によって相対的に変化します。
    FAQが増えれば計算し直されるのですが、これを自動的に行なってくれるのが機械学習です。画像の右側での単語の重要度を、左側のようなロジックで処理してくれます。
    チャットボットはこのロジックのおかげで賢くなっていきます

    ディープラーニングとは

    また、「ディープラーニング(深層学習)」といわれる機械学習の一部のロジックについて聞いたことある方もいるのではないでしょうか?こちらについても触れておきます。

    実は機械学習をする上で、人間はシステムにヒントを与えています。それは「どの単語」に対して重みを計算させるのかという指定です。
    それに対してディープラーニングは、一切ヒントを与えずにシステムに、対象の単語から計算させるシステムです。
    その場合、少なくとも100万件のデータが必要なので、チャットボットの領域で使われるロジックではありません。(それほどの問い合わせデータ量の収集と、レパートリーとしての紐付けを行うことが難しいということです。)

    まとめ

    代表 中村
    今回はチャットボットを「人工無能型」のチャットボットと、人工知能搭載型のチャットボットの二つに大別し、それぞれ学習、回答の仕組みについてご紹介しました。
    それぞれの仕組みを理解することで、自社に必要なチャットボットはどんなチャットボットなのか?そしてそのチャットボットを導入するのに必要なコストがどれくらいか?というのがご理解いただけたかと思います。
    人工知能搭載型のチャットボットは、幅広い問い合わせに対応可能ですが、導入にはFAQデータの整備をはじめ、様々なハードルを越えなければなりません。

    弊社サイシードでは、AIに必要なFAQデータの整備から、初期に必要な学習までサポートさせて頂きます。チャットボット導入を検討の場合には是非お気軽にお問い合わせくださいね!

    また、今回お問い合わせいただいた方には、もれなく「2019年度版『チャットボットベンダー』徹底比較集」をプレゼントいたします。導入の際の各ベンダー比較に是非ご利用ください!

    2019年度版『チャットボットベンダー』徹底比較集

    2019年度版『チャットボットベンダー』徹底比較集

    こちらの比較集では、数多あるチャットボットベンダーを自社開発AI/OEM型AI/人工無脳に分類し、それぞれのメリットとデメリットを解説しています。
    さらに、自社開発AIについては各社の導入事例を元に定量的な性能評価を行っているので、チャットボット導入を検討中の方はぜひ参考にしてみてください。



    自動・半自動に対応するハイブリットチャットボット『sAI Chat』概要資料

    自動・半自動に対応する
    ハイブリットチャットボット『sAI Chat』概要資料
    実際のUIや事例、料金をまとめた概要資料です。