パール木本のPerlテックブログ

世界的プロジェクトに携わるPerlプログラマー「パール木本」のテックブログ。書籍「業務に役立つPerl」,ユーチューバー, 木本システム代表取締役社長。

検索型チャットボットの作り方の流れを解説 - チャットボットってAIなの?

検索型チャットボットの作り方の流れを解説してみます。

チャットボットってAIなの?

でもそのまえに、チャットボットってAIなの?という質問に答えておきたいと思います。

結論から言うと、チャットボットは、小さな部分的な要素としてAI(ニューラルネットワーク)技術を使うことは可能ですが、主要な要素ではないし、使わないほうが開発効率や応答結果の精度が高いと思います。

検索型チャットボットとは?

社内にすでにドキュメントがあって、Web化されているとします。ただし、イントラ的なものなので、googleなどの検索エンジニとはつながっていません。

ですので、項目を見つけるのが大変だという場合に、チャットで、「顧客対応の方法を教えて」と入力すると、そのページについて「顧客対応の方法は、〇〇のページを見てください」とボットが応答してくれるというものです。

検索エンジンのチャットによる自動応答インターフェース

本質は、検索エンジンだということを、しっかりと意識してください。人やキャラクターが応答しているのでAIのように錯覚させられますが、AIの技術ではなく、検索の結果をどうみせるかということによる自動応答インターフェースであるということです。

検索エンジン

検索エンジンは、キーワードの組み合わせを見て、最も関連性の高く有用な記事を上位から順番に並べてくれるというものです。チャットボットは、このうちの1番目を教えたり、3番目までを教えたりすることができるでしょう。

検索エンジンについては、仕組みが深すぎて、ここでは、解説しきれませんので、全文検索エンジンで、検索すると、いろいろとわかると思います。

Webコンテンツのクローリング

社内文書がWeb化されている場合は、まず最初に、社内文書のクローリングから始めます。インターネット全体を探すわけではないので、ドメインがマッチしているかどうかを、見ていけばよいので、サイト全体をクロールするアルゴリズムを作るのは、そこまで難しくはないでしょう。

再帰的にたどっていって、同じものを発見したら、戻ってくるようなものが考えられますね。

形態素解析

「顧客対応の方法を教えて」を「顧客」「対応」「の」「方法」「を」「教え」「て」に分割するような方法を形態素解析といいます。

文章を単語の単位にするときに使います。助詞など余分なものを除いて、単語の組み合わせが作れます。

この単語の組み合わせに対して、関連度が最も高い、コンテンツを発見して、人やキャラクターが応答しているような会話調にしてあげればよい。

あいまい検索ができる全文検索エンジンに登録するのが簡単かな

あいまい検索ができる全文検索エンジンに登録するのが簡単かなとも思います。このエンジンは、作られ方次第ですが、AIが使われているものもあります。

ただし、AIの場合は、学習させないといけないので、コストや運用を考えると、ビジネス分野では、使いにくい感じはしますね。ですので、AIを使わない検索エンジンが、選択されやすいのではないでしょうか。

APIで自動応答

Lineなどを使う場合は、APIを使って、メッセージを投稿できます。

ざっくりと、書いてきましたが、総合して組み合わせると、検索型チャットボットが完成する予感がしますね。

システム開発で、サービスを見た時に、どんな要素で組み合わせて作られているか見抜く基礎教養を身に着けたいならPerlゼミ プログラミングちゃんねるに登録


Perlゼミの爆速プログラミングちゃんねる 紹介動画