AIが賢くなる仕組み解説

弊社サイシードでは、自社開発のAIエンジンを搭載した『sAI Chat』『sAI Answer』を提供しております。
AIエンジンを自社で開発しているからこそお伝えできる、「AIってどんな風に賢くなるの?」「AIってどんなことにも対応できるの?」というよくある疑問にお答えしたいと思います。
そもそも、AIは万能ではなく、自分で考えて何かを生み出すことはできません
では、AIは、どのような仕組みでユーザーからの質問に答えているのでしょうか?
そしてどのように賢くなっていくのでしょうか
詳しくご説明したいと思います!

AIが質問に回答する仕組み

AIが人の質問に答えるにはまず、『FAQ』や『QA』と呼ばれる、「こう聞かれたらこう返す」という質問と回答のセットをデータベースに登録しておく必要があります
質問リストにない新しい質問がユーザーから来た場合には、そのデータベースに照らし合わせながら、最も近い質問の回答を提示します。

AIが回答を導き出す手順

例えば、『PCの操作方法に関する質問に回答するBot』があるとすると、AIが回答する手順は下記のとおりです。

  1. 想定されるQAを(人が)データベースに登録しておきます。
  2. Q1:エクセルでセルの書式までコピーされてしまう。
    A1:値の貼り付けで…

    Q2:ネットにつながらないのですが、どうすればいいですか?
    A2:ネットワーク設定を開き…
    Etc…

  3. AIが聞かれた質問を読み取り、データベースの質問文の中から一番一致度が高い質問文を選ぶ
  4. その質問文と紐付いた回答を送る

という流れになっています。

実際にAIを使うには、まずこのQAのセットの整備が必須になります。
過去の問い合わせ対応履歴が時系列順に蓄積されている場合、まずはそこから基本となるFAQを作る必要があるので、地道な整備作業が発生します。

AIが賢くなるために必要な条件

この仕組みで考えると、AIが賢くなるには2つの条件が必要です。

  1. 今までのデータベースにない質問が来た場合は、(人が)QAを追加をすること
  2. 新しい回答を必要とする質問が来た場合には、人がデータベースに追加する必要があります。

  3. AIの回答が合っていたかどうか、評価されること
  4. 回答(=同じ質問文だと認識した結果)が合っていたかどうか、評価が与えられないとAIは賢くなることができません。ユーザーであれオペレーターであれ、正誤の評価を与える必要があります。

AIが学習する仕組み

前述の条件が満たされる前提で、AIがどうやって学習するかを説明していきます。
データベースに下記のQAが登録されているとします。

Q:PCの電源が突然切れる場合の対処法
A:落ちる原因がハードにある場合とソフトにある場合で対処法が異なります。ハードにある場合…

ユーザーはQ&Aに登録されている通りに「PCの電源が突然切れる場合の対処法」と質問するとは限りません。

例えば、

Q1:Windows XPで、利用中に突然電源が消える
Q2:Excelを使っていたら、パソコンの電源が突然落ちた
Q3:デスクトップの画面が急に暗くなったので対処法を教えてください
Q4:ノートパソコンの電源がいきなり切れる
Q5:PCを起動しようとしたら強制終了されます

といったように、同じ回答を求めていても質問の仕方は多様です。
では、AIはどのようにして多様な質問から同一の回答を導き出しているのでしょうか?

『キーワード』による内容の判断

AIはまずこれらの質問文を全て、『キーワード』に分解します。

Q1:Windows XPで、利用中突然電源消える
→Windows XP 利用中 突然 電源 消える
Q2:Excel使っていたら、パソコン電源突然落ちた
→Excel 使って パソコン 電源 突然 落ちた
Q3:デスクトップ画面急に暗くなったので対処教えてください
→デスクトップ 画面 急に 暗く 対処 法 教えて
Q4:ノートパソコン電源いきなり切れる
→ノートパソコン 電源 いきなり 切れる
Q5:PC起動しようとしたら強制終了されます
→PC 起動 しよう 強制 終了

そして、この分解されたキーワードを使って、次の2つのことをしてくれます。

  1. 重要なキーワードのピックアップ
  2. 質問文の単語の中で、登場頻度の低いワードを外していき、頻度の高いワードを重要な「キーワード」として認識していきます。
    (例)高頻度:PC,消える,落ちた←重要
       低頻度:Excel,windows,対処←重要でない

  3. 類義語の認識
  4. 表現が異なっていても同じ意味で使われる言葉を類義語として認識します。

    以下のように、AIに類義語を認識させた場合、

    • PC,デスクトップ,パソコン
    • 消える,落ちる,強制終了,切れる
    • 今までAIにインプットさせてた組み合わせが以下のような形でも、

    • PC,消える
    • デスクトップ,落ちる
    • パソコン,強制終了
    • 実際にこのような組み合わせで入力した場合に、

    • PC,落ちる
    • デスクトップ,強制終了
    • パソコン,消える
    • 同じ意味の質問として認識できるようになります。

    AIが学習する仕組みを簡単な数学で表現

    上記の学習ロジックを簡単なグラフで表現すると、より理解しやすくなります。

    AIは1つ1つの質問文を、横軸に「蓄積された各キーワード」を、縦軸に「各キーワードの出現頻度」をとった、確率分布のグラフで認識しています。
    データが少ない時はなだらかな特徴のないグラフをしていますが、データの蓄積が進むと単語の出現頻度に明確な差が出てくるので、グラフはよりはっきりとした特徴を示すようになります。
    【Before】

    【After】

    新しい質問文がインプットされた時、蓄積されているFAQの波形で一番近い質問文を同じだと認識し、回答しています。
    そして正誤判断が与えられると、新しい質問文も既存のFAQの波形に取り込まれ学習が働くようになります。

    上記のグラフでは単語数が10語程度ですが、実際には横軸は数万語を超えるオーダーになります。それらのオーダーで特徴を出すには、1つのFAQにつき100パターン以上のデータは最低限必要になります。

    AIの学習機能・精度向上の問題点

    一見完璧に思えるAIの学習機能ですが、実は3つの大きな課題を抱えています。

    相当数のデータの蓄積がないと精度の高い回答ができない

    AI稼働直後でデータ数が少ない場合は確率分布のグラフに特徴が現れません。
    グラフではかなり簡略化していますが、横軸のキーワード数は数万後になることもあるので、1つの回答当たり質問文のインプット数は200~300個程度は必要です。

    • それを生成し、正しい回答と紐付けること。
    • そして、それが溜まるまで数ヶ月以上の間、精度の低いAIを使い続けること。
    • が、AI導入の現実的に大きな壁になります。

      キーワードの切り分けが正確でない

      「形態素解析ツール」を使ってテキストを単語に分解していくのですが、例えば「水素水」というキーワードを「水素 水」「水 素水」と分けてしまったり、意図したとおりに分解されないことも多々あります。
      会社に合わせて、業界用語や社内用語を登録していく作業もかなり大変です。

      クラスタリングのミスがある

      機械的に似ている波形を類義語として認識するので、間違った分類も多々発生します。
      「りんご」と「太陽」など意味の違う単語を類義語と判定してしまうと、意図していないQAを呼び出し、回答してしまうことがあります。

      問い合わせが相当多い企業を除いて、1つの回答に数百パターンの質問が来ることもなかったりします。
      このような企業の多様性から、企業ごとに色々なパターンのQAを作成するのも莫大な労力がかかってくるので、自社開発をするのは現実的でない、というのが世間一般的なAIの現状です。

      AIの抱える課題に対するソリューション

      代表 中村
      世間的には「AIならなんでもできる!」といった誤った認識があるので、今回は導入するにあたって現実的な「3つの大きな課題」が存在していることも紹介させていただきました。
      弊社は独特のアプローチでこれらの課題を乗り越えています。
      具体的にどのようなことを行っているのか?
      気になる方は「AIが賢くなる仕組み解説BOOK」をプレゼントいたしますので、ぜひ資料請求してください。